From 64a241ba6214006db7069c959734c7d249cb968e Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 19 Oct 2022 08:34:52 +0800 Subject: [PATCH 001/925] translated --- ...to Update Google Chrome on Ubuntu Linux.md | 93 ------------------- ...to Update Google Chrome on Ubuntu Linux.md | 93 +++++++++++++++++++ 2 files changed, 93 insertions(+), 93 deletions(-) delete mode 100644 sources/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md create mode 100644 translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md diff --git a/sources/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md b/sources/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md deleted file mode 100644 index 68c3bb50b4..0000000000 --- a/sources/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md +++ /dev/null @@ -1,93 +0,0 @@ -[#]: subject: "How to Update Google Chrome on Ubuntu Linux" -[#]: via: "https://itsfoss.com/update-google-chrome-ubuntu/" -[#]: author: "Abhishek Prakash https://itsfoss.com/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Update Google Chrome on Ubuntu Linux -====== -So, you managed to install Google Chrome browser on your Ubuntu system. And now you wonder how to keep the browser updated. - -On Windows and macOS, when there is an update available on Chrome, you are notified in the browser itself and you can hit the update option from the browser. - -Things are different in Linux. You don’t update Chrome from the browser. You update it with the system updates. - -Yes. When there is a new update available on Chrome, Ubuntu notifies you via the system updater tool. - -![Ubuntu sends notifications when a new version of Chrome is available][1] - -You just have to click on the Install Now button, enter your account’s password when asked for it and have Chrome updated to a new version. - -Let me tell you why you see the updates on the system level and how you can update Google Chrome in the command line. - -### Method 1: Updating Google Chrome with system updates - -How did you install Chrome in the first place? You got the deb installer file from the [Chrome website][2] and used it to [install Chrome on Ubuntu][3]. - -The thing is that when you do that, Google adds a repository entry into your system’s sources list. This way, your system trusts the packages coming from the Google repository. - -![Google Chrome repository is added to the Ubuntu system][4] - -For all such entries added to your system, the package updates are centralized through the Ubuntu Updater. - -And this is why when there is an update available to Google Chrome (and other installed applications), your Ubuntu system sends you notification. - -![Chrome update available with other applications via System Updater][5] - -**Click the “Install Now” button and enter your password when asked for it**. Soon, the system will install all the upgradeable packages. - -Depending on the update preference, the notification may not be immediate. If you want, you can manually run the updater tool and see what updates are available for your Ubuntu system. - -![Run Software Updater to see what updates are available for your system][6] - -### Method 2: Updating Chrome in the Ubuntu command line - -If you prefer the terminal over the graphical interface, you can update Chrome with commands as well. - -Open a terminal and run the following commands one by one: - -``` -sudo apt update - -sudo apt --only-upgrade install google-chrome-stable -``` - -The first command updates the package cache so that your system is aware of what packages can be upgraded. - -The second command [only updates the single package][7] which is Google Chrome (installed as google-chrome-stable). - -### Conclusion - -As you can see, things are more streamlined in Ubuntu than in Windows. You get Chrome updated along with other system updates. - -On a related note, you may learn about [removing google Chrome from Ubuntu][8] if you are unhappy with it. - -Chrome is a fine browser. You can experiment with it by [using shortcuts in Chrome][9] as it makes the browsing experience even smoother. - -Enjoy Chrome on Ubuntu! - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/update-google-chrome-ubuntu/ - -作者:[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/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2021/06/chrome-edge-update-ubuntu.png -[2]: https://www.google.com/chrome/ -[3]: https://itsfoss.com/install-chrome-ubuntu/ -[4]: https://itsfoss.com/wp-content/uploads/2021/06/google-chrome-repo-ubuntu.png -[5]: https://itsfoss.com/wp-content/uploads/2021/06/chrome-edge-update-ubuntu.png -[6]: https://itsfoss.com/wp-content/uploads/2022/04/software-updater-ubuntu-22-04.jpg -[7]: https://itsfoss.com/apt-upgrade-single-package/ -[8]: https://itsfoss.com/uninstall-chrome-from-ubuntu/ -[9]: https://itsfoss.com/google-chrome-shortcuts/ diff --git a/translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md b/translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md new file mode 100644 index 0000000000..54f15a7e3b --- /dev/null +++ b/translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md @@ -0,0 +1,93 @@ +[#]: subject: "How to Update Google Chrome on Ubuntu Linux" +[#]: via: "https://itsfoss.com/update-google-chrome-ubuntu/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu Linux 上更新 Google Chrome +====== +你设法在你的 Ubuntu 系统上安装了 Google Chrome 浏览器。现在你想知道如何让浏览器保持更新。 + +在 Windows 和 macOS 上,当 Chrome 上有可用更新时,你会在浏览器中收到通知,你可以从浏览器中点击更新选项。 + +Linux 中的情况有所不同。你不会从浏览器更新 Chrome。你要使用系统更新对其进行更新。 + +是的。当 Chrome 上有可用的新更新时,Ubuntu 会通过系统更新工具通知你。 + +![当有新版本的 Chrome 可用时,Ubuntu 会发送通知][1] + +你只需单击立即安装按钮,在被要求时输入你的帐户密码并将 Chrome 更新到新版本。 + +让我告诉你为什么会在系统级别看到更新,以及如何在命令行中更新 Google Chrome。 + +### 方法 1:使用系统更新更新谷歌浏览器 + +你最初是如何安装 Chrome 的?你从 [Chrome 网站][2]获得了 deb 安装程序文件,并使用它来[在 Ubuntu 上安装 Chrome][3]。 + +当你这样做时,谷歌会在你系统的源列表中添加一个仓库条目。这样,你的系统就会信任来自 Google 仓库的包。 + +![Google Chrome 存储库添加到 Ubuntu 系统][4] + +对于添加到系统中的所有此类条目,包更新通过 Ubuntu 更新程序集中进行。 + +这就是为什么当 Google Chrome(和其他已安装的应用)有可用更新时,你的 Ubuntu 系统会向你发送通知。 + +![Chrome 更新可通过系统更新与其他应用一起使用][5] + +**单击“立即安装”按钮并在要求时输入你的密码**。很快,系统将安装所有可升级的软件包。 + +根据更新偏好,通知可能不是立即的。如果需要,你可以手动运行更新程序工具并查看适用于你的 Ubuntu 系统的更新。 + +![运行软件更新程序以查看你的系统有哪些可用更新][6] + +### 方法 2:在 Ubuntu 命令行中更新 Chrome + +如果你更喜欢终端而不是图形界面,你也可以使用命令更新 Chrome。 + +打开终端,并依次运行以下命令: + +``` +sudo apt update + +sudo apt --only-upgrade install google-chrome-stable +``` + +第一条命令更新包缓存,以便你的系统知道可以升级哪些包。 + +第二条命令[仅更新单个包][7],即 Google Chrome(安装为 google-chrome-stable)。 + +### 总结 + +如你所见,Ubuntu 比 Windows 更精简。你会随其他系统更新一起更新 Chrome。 + +顺便一提,如果你对它不满意,你可以了解[从 Ubuntu 中删除 Google Chrome][8]。 + +Chrome 是一款不错的浏览器。你可以通过[使用 Chrome 中的快捷方式][9]来试验它,因为它使浏览体验更加流畅。 + +在 Ubuntu 上享受 Chrome! + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/update-google-chrome-ubuntu/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2021/06/chrome-edge-update-ubuntu.png +[2]: https://www.google.com/chrome/ +[3]: https://itsfoss.com/install-chrome-ubuntu/ +[4]: https://itsfoss.com/wp-content/uploads/2021/06/google-chrome-repo-ubuntu.png +[5]: https://itsfoss.com/wp-content/uploads/2021/06/chrome-edge-update-ubuntu.png +[6]: https://itsfoss.com/wp-content/uploads/2022/04/software-updater-ubuntu-22-04.jpg +[7]: https://itsfoss.com/apt-upgrade-single-package/ +[8]: https://itsfoss.com/uninstall-chrome-from-ubuntu/ +[9]: https://itsfoss.com/google-chrome-shortcuts/ \ No newline at end of file From a4a266a3fade2c5173782f700e034ed2a88a2fcd Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 19 Oct 2022 08:39:57 +0800 Subject: [PATCH 002/925] translating --- ...21012 How to Set Static IP Address on Ubuntu Server 22.04.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md index c29d2621a3..6d4bfadab1 100644 --- a/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md +++ b/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md @@ -2,7 +2,7 @@ [#]: via: "https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/" [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 5fade458eb4ddf3f0fbe5fa25ee0d928e5c6abfd Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 19 Oct 2022 08:50:58 +0800 Subject: [PATCH 003/925] Update 20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md --- ... Troubleshooting -Bash- Command Not Found- Error in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md index 3fd4ae17bb..da03c39dbe 100644 --- a/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md +++ b/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/bash-command-not-found/" [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 27d6e4db9a2f093ff5a1c01063a62c91d8250b3b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 19 Oct 2022 12:45:43 +0800 Subject: [PATCH 004/925] RP @MjSeven https://linux.cn/article-15154-1.html --- ...Microservices Using Flask on Kubernetes.md | 153 +++++++++--------- 1 file changed, 76 insertions(+), 77 deletions(-) rename {translated/tech => published}/20220912 Python Microservices Using Flask on Kubernetes.md (57%) diff --git a/translated/tech/20220912 Python Microservices Using Flask on Kubernetes.md b/published/20220912 Python Microservices Using Flask on Kubernetes.md similarity index 57% rename from translated/tech/20220912 Python Microservices Using Flask on Kubernetes.md rename to published/20220912 Python Microservices Using Flask on Kubernetes.md index 47faa340af..97cd07229d 100644 --- a/translated/tech/20220912 Python Microservices Using Flask on Kubernetes.md +++ b/published/20220912 Python Microservices Using Flask on Kubernetes.md @@ -3,14 +3,14 @@ [#]: author: "Krishna Mohan Koyya https://www.opensourceforu.com/author/krishna-mohan-koyya/" [#]: collector: "lkxed" [#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15154-1.html" -在 Kubernetes 上使用 Flask 的 Python 微服务 +在 Kubernetes 上使用 Flask 搭建 Python 微服务 ====== -![Python 微服务][6] +![](https://img.linux.net.cn/data/attachment/album/202210/19/124429nmw0xmfz3x3mrrf2.jpg) *微服务遵循领域驱动设计(DDD),与开发平台无关。Python 微服务也不例外。Python3 的面向对象特性使得按照 DDD 对服务进行建模变得更加容易。本系列的第 10 部分演示了如何将用户管理系统的查找服务作为 Python 微服务部署在 Kubernetes 上。* @@ -24,17 +24,17 @@ Python 是一种通用编程语言,已经存在了大约 30 年。早期,它是自动化脚本的首选。然而,随着 Django 和 Flask 等框架的出现,它的受欢迎程度越来越高,现在各种领域中都在应用它,如企业应用程序开发。数据科学和机器学习进一步推动了它的发展,Python 现在是三大编程语言之一。 -许多人将 Python 的成功归功于它容易编码。这只是一部分原因。只要你的目标是开发小型脚本,Python 就像一个玩具,你会非常喜欢它。然而,当你进入严肃的大规模应用程序开发领域时,你将不得不处理大量的 if 和 else,Python 变得与任何其他平台一样好或一样坏。例如,采用一种面向对象的方法!许多 Python 开发人员甚至可能没意识到 Python 支持类、继承等功能。Python 确实支持成熟的面向对象开发,但是有它自己的方式 -- Pythonic!让我们探索一下! +许多人将 Python 的成功归功于它容易编码。这只是一部分原因。只要你的目标是开发小型脚本,Python 就像一个玩具,你会非常喜欢它。然而,当你进入严肃的大规模应用程序开发领域时,你将不得不处理大量的 `if` 和 `else`,Python 变得与任何其他平台一样好或一样坏。例如,采用一种面向对象的方法!许多 Python 开发人员甚至可能没意识到 Python 支持类、继承等功能。Python 确实支持成熟的面向对象开发,但是有它自己的方式 -- Pythonic!让我们探索一下! ### 领域模型 -添加服务通过将数据保存到一个 MySQL 数据库中来将用户添加到系统中。查找服务的目标是提供一个 REST API 按用户名查找用户。域模型如图 1 所示。它主要由一些值对象组成,如用户实体的用户名、电话以及 UserRepository。 +`AddService` 通过将数据保存到一个 MySQL 数据库中来将用户添加到系统中。`FindService` 的目标是提供一个 REST API 按用户名查找用户。域模型如图 1 所示。它主要由一些值对象组成,如 `User` 实体的`Name`、`PhoneNumber` 以及 `UserRepository`。 ![图 1: 查找服务的域模型][1] -让我们从用户名开始。由于它是一个值对象,因此必须在创建时进行验证,并且必须保持不可变。基本结构如所示: +让我们从 `Name` 开始。由于它是一个值对象,因此必须在创建时进行验证,并且必须保持不可变。基本结构如所示: -```python +``` class Name: value: str def __post_init__(self): @@ -42,11 +42,11 @@ class Name: raise ValueError("Invalid Name") ``` -如你所见,用户名包含一个字符串类型的值。作为后期初始化的一部分,我们会验证它。 +如你所见,`Name` 包含一个字符串类型的值。作为后期初始化的一部分,我们会验证它。 -Python 3.7 提供了 @dataclass 装饰器,它提供了许多开箱即用的数据承载类的功能,如构造函数、比较运算符等。如下是装饰后的 Name 类: +Python 3.7 提供了 `@dataclass` 装饰器,它提供了许多开箱即用的数据承载类的功能,如构造函数、比较运算符等。如下是装饰后的 `Name` 类: -```python +``` from dataclasses import dataclass @dataclass @@ -57,30 +57,30 @@ class Name: raise ValueError("Invalid Name") ``` -以下代码可以创建一个 Name 对象: +以下代码可以创建一个 `Name` 对象: -```python +``` name = Name("Krishna") ``` -value 属性可以按照如下方式读取或写入: +`value` 属性可以按照如下方式读取或写入: -```python +``` name.value = "Mohan" print(name.value) ``` -可以很容易地与另一个 Name 对象比较,如下所示: +可以很容易地与另一个 `Name` 对象比较,如下所示: -```python +``` other = Name("Mohan") if name == other: print("same") ``` -如你所见,对象比较的是值而不是引用。这一切都是开箱即用的。我们还可以通过冻结对象使对象不可变。这是 Name 值对象的最终版本: +如你所见,对象比较的是值而不是引用。这一切都是开箱即用的。我们还可以通过冻结对象使对象不可变。这是 `Name` 值对象的最终版本: -```python +``` from dataclasses import dataclass @dataclass(frozen=True) @@ -91,9 +91,9 @@ class Name: raise ValueError("Invalid Name") ``` -电话也遵循类似的方法,因为它也是一个值对象: +`PhoneNumber` 也遵循类似的方法,因为它也是一个值对象: -```python +``` @dataclass(frozen=True) class PhoneNumber: value: int @@ -102,9 +102,9 @@ class PhoneNumber: raise ValueError("Invalid Phone Number") ``` -用户类是一个实体,不是一个值对象。换句话说,用户是可变的。以下是结构: +`User` 类是一个实体,不是一个值对象。换句话说,`User` 是可变的。以下是结构: -```python +``` from dataclasses import dataclass import datetime @@ -121,11 +121,11 @@ class User: self.since = datetime.datetime.now() ``` -你能观察到用户并没有冻结,因为我们希望它是可变的。但是,我们不希望所有属性都是可变的。标识字段如 _name 和 _since 是希望不会修改的。那么,这如何做到呢? +你能观察到 `User` 并没有冻结,因为我们希望它是可变的。但是,我们不希望所有属性都是可变的。标识字段如 `_name` 和 `_since` 是希望不会修改的。那么,这如何做到呢? -Python3 提供了所谓的描述符协议,它会帮助我们正确定义 getters 和 setters。让我们使用 @property 装饰器将 getter 添加到 User 的所有三个字段中。 +Python3 提供了所谓的描述符协议,它会帮助我们正确定义 getter 和 setter。让我们使用 `@property` 装饰器将 getter 添加到 `User` 的所有三个字段中。 -```python +``` @property def name(self) -> Name: return self._name @@ -139,9 +139,9 @@ def since(self) -> datetime.datetime: return self._since ``` -电话字段的 setter 可以使用 @<字段>.setter 来装饰: +`phone` 字段的 setter 可以使用 `@<字段>.setter` 来装饰: -```python +``` @phone.setter def phone(self, phone: PhoneNumber) -> None: if phone is None: @@ -149,25 +149,25 @@ def phone(self, phone: PhoneNumber) -> None: self._phone = phone ``` -通过重写 \_\_str\_\_() 函数,也可以为 User 提供一个简单的打印方法: +通过重写 `__str__()` 函数,也可以为 `User` 提供一个简单的打印方法: -```python +``` def __str__(self): return self.name.value + " [" + str(self.phone.value) + "] since " + str(self.since) ``` 这样,域模型的实体和值对象就准备好了。创建异常类如下所示: -```python +``` class UserNotFoundException(Exception): pass ``` -域模型现在只剩下 UserRepository 了。Python 提供了一个名为 abc 的有用模块来创建抽象方法和抽象类。因为 UserRepository 只是一个接口,所以我们可以使用 abc 模块。 +域模型现在只剩下 `UserRepository` 了。Python 提供了一个名为 `abc` 的有用模块来创建抽象方法和抽象类。因为 `UserRepository` 只是一个接口,所以我们可以使用 `abc` 模块。 -任何继承自 abc.ABC 的类都将变为抽象类,任何带有 @abc.abstractmethod 装饰器的函数都会变为一个抽象函数。下面是 UserRepository 的结构: +任何继承自 `abc.ABC` 的类都将变为抽象类,任何带有 `@abc.abstractmethod` 装饰器的函数都会变为一个抽象函数。下面是 `UserRepository` 的结构: -```python +``` from abc import ABC, abstractmethod class UserRepository(ABC): @@ -176,9 +176,9 @@ class UserRepository(ABC): pass ``` -UserRepository 遵循仓储模式。换句话说,它在 User 实体上提供适当的 CRUD 操作,而不会暴露底层数据存储语义。在本例中,我们只需要 fetch() 操作,因为查找服务只查找用户。 +`UserRepository` 遵循仓储模式。换句话说,它在 `User` 实体上提供适当的 CRUD 操作,而不会暴露底层数据存储语义。在本例中,我们只需要 `fetch()` 操作,因为 `FindService` 只查找用户。 -因为 UserRepository 是一个抽象类,我们不能从抽象类创建实例对象。创建对象必须依赖于一个具体类实现这个抽象类。数据层 UserRepositoryImpl 提供了 UserRepository 的具体实现: +因为 `UserRepository` 是一个抽象类,我们不能从抽象类创建实例对象。创建对象必须依赖于一个具体类实现这个抽象类。数据层 `UserRepositoryImpl` 提供了 `UserRepository` 的具体实现: ``` class UserRepositoryImpl(UserRepository): @@ -186,9 +186,9 @@ class UserRepositoryImpl(UserRepository): pass ``` -由于添加服务将用户数据存储在一个 MySQL 数据库中,因此 UserRepositoryImpl 也必须连接到相同的数据库去检索数据。下面是连接到数据库的代码。主要,我们正在使用 MySQL 的连接库。 +由于 `AddService` 将用户数据存储在一个 MySQL 数据库中,因此 `UserRepositoryImpl` 也必须连接到相同的数据库去检索数据。下面是连接到数据库的代码。注意,我们正在使用 MySQL 的连接库。 -```python +``` from mysql.connector import connect, Error class UserRepositoryImpl(UserRepository): @@ -211,9 +211,9 @@ class UserRepositoryImpl(UserRepository): raise e ``` -在上面的片段中,我们使用 root 用户,admin 密码连接到一个名为 mysqldb 的数据库服务器,使用名为 glarimy 的数据库(模式)。在演示代码中是可以包含这些信息的,但在生产中不建议这么做,因为这会暴露敏感信息。 +在上面的片段中,我们使用用户 `root` / 密码 `admin` 连接到一个名为 `mysqldb` 的数据库服务器,使用名为 `glarimy` 的数据库(模式)。在演示代码中是可以包含这些信息的,但在生产中不建议这么做,因为这会暴露敏感信息。 -fetch() 操作的逻辑非常直观,它对 ums_users 表执行 SELECT 查询。回想一下,添加服务正在将用户数据写入同一个表中。如果 SELECT 查询没有返回记录,fetch() 函数将抛出 UserNotFoundException 异常。否则,它会从记录中构造 User 实体并将其返回给调用者。这没有什么特殊的。 +`fetch()` 操作的逻辑非常直观,它对 `ums_users` 表执行 SELECT 查询。回想一下,`AddService` 正在将用户数据写入同一个表中。如果 SELECT 查询没有返回记录,`fetch()` 函数将抛出 `UserNotFoundException` 异常。否则,它会从记录中构造 `User` 实体并将其返回给调用者。这没有什么特殊的。 ### 应用层 @@ -221,9 +221,9 @@ fetch() 操作的逻辑非常直观,它对 ums_users 表执行 SELECT 查询 ![图 2: 添加服务的应用层][2] -众所周知,一个 DTO 只是一个没有任何业务逻辑的数据容器。它主要用于在查找服务和外部服务之间传输数据。我们只是提供了在 REST 层中将 UserRecord 转换为字典以便用于 JSON 传输: +众所周知,一个 DTO 只是一个没有任何业务逻辑的数据容器。它主要用于在 `FindService` 和外部之间传输数据。我们只是提供了在 REST 层中将 `UserRecord` 转换为字典以便用于 JSON 传输: -```python +``` class UserRecord: def toJSON(self): return { @@ -233,9 +233,9 @@ class UserRecord: } ``` -控制器的工作是将 DTO 转换为用于域服务的域对象,反之亦然。可以从 find() 操作中观察到这一点。 +控制器的工作是将 DTO 转换为用于域服务的域对象,反之亦然。可以从 `find()` 操作中观察到这一点。 -```python +``` class UserController: def __init__(self): @@ -253,11 +253,11 @@ class UserController: return None ``` -find() 操作接收一个字符串作为用户名,然后将其转换为 Name 对象,并调用 UserRepository 获取相应的 User 对象。如果找到了,则使用检索到的 User 对象创建 UserRecord。回想一下,将域对象转换为 DTO 是很有必要的,这样可以对外部服务隐藏域模型。 +`find()` 操作接收一个字符串作为用户名,然后将其转换为 `Name` 对象,并调用 `UserRepository` 获取相应的 `User` 对象。如果找到了,则使用检索到的 `User`` 对象创建 `UserRecord`。回想一下,将域对象转换为 DTO 是很有必要的,这样可以对外部服务隐藏域模型。 -UserController 不需要有多个实例,它也可以是单例的。通过重写 \_\_new\_\_,可以将其建模为一个单例。 +`UserController` 不需要有多个实例,它也可以是单例的。通过重写 `__new__`,可以将其建模为一个单例。 -```python +``` class UserController: def __new__(self): if not hasattr(self, ‘instance’): @@ -279,11 +279,11 @@ class UserController: return None ``` -我们已经完全实现了查找服务的模型,剩下的唯一任务是将其作为 REST 服务公开。 +我们已经完全实现了 `FindService` 的模型,剩下的唯一任务是将其作为 REST 服务公开。 ### REST API -查找服务只提供一个 API,那就是通过用户名查找用户。显然 URI 如下所示: +`FindService` 只提供一个 API,那就是通过用户名查找用户。显然 URI 如下所示: ``` GET /user/{name} @@ -294,26 +294,26 @@ GET /user/{name} 我们可以使用 Flask 框架来构建 REST API,它最初的目的是使用 Python 开发 Web 应用程序。除了 HTML 视图,它还进一步扩展到支持 REST 视图。我们选择这个框架是因为它足够简单。 创建一个 Flask 应用程序: -```python +``` from flask import Flask app = Flask(__name__) ``` 然后为 Flask 应用程序定义路由,就像函数一样简单: -```python +``` @app.route('/user/') def get(name): pass ``` -注意 @app.route 映射到 API /user/,与之对应的函数的 get()。 +注意 `@app.route` 映射到 API `/user/`,与之对应的函数的 `get()`。 -如你所见,每次用户访问 API 如 http://server:port/user/Krishna 时,都将调用这个 get() 函数。Flask 足够智能,可以从 URL 中提取 'Krishna' 作为用户名,并将其传递给 get() 函数。 +如你所见,每次用户访问 API 如 `http://server:port/user/Krishna` 时,都将调用这个 `get()` 函数。Flask 足够智能,可以从 URL 中提取 `Krishna` 作为用户名,并将其传递给 `get()` 函数。 -get() 函数很简单。它要求控制器找到该用户,并将其与通常的 HTTP 头一起打包为 JSON 格式后返回。如果控制器返回 None,则 get() 函数返回合适的 HTTP 状态码。 +`get()` 函数很简单。它要求控制器找到该用户,并将其与通常的 HTTP 头一起打包为 JSON 格式后返回。如果控制器返回 `None`,则 `get()` 函数返回合适的 HTTP 状态码。 -```python +``` from flask import jsonify, abort controller = UserController() @@ -326,17 +326,16 @@ else: return resp ``` -最后,我们需要 Flask 应用程序提供服务,可以使用 waitress 服务: +最后,我们需要 Flask 应用程序提供服务,可以使用 `waitress` 服务: -```python +``` from waitress import serve serve(app, host="0.0.0.0", port=8080) ``` -在上面的片段中,应用程序在本地主机的 8080 端口上提供服务。 -最终代码如下所示: +在上面的片段中,应用程序在本地主机的 8080 端口上提供服务。最终代码如下所示: -```python +``` from flask import Flask, jsonify, abort from waitress import serve @@ -358,11 +357,11 @@ serve(app, host="0.0.0.0", port=8080) ### 部署 -查询服务的代码已经准备完毕。除了 REST API 之外,它还有域模型、数据层和应用程序层。下一步是构建此服务,将其容器化,然后部署到 Kubernetes 上。此过程与部署其他服务妹有任何区别,但有一些 Python 特有的步骤。 +`FindService` 的代码已经准备完毕。除了 REST API 之外,它还有域模型、数据层和应用程序层。下一步是构建此服务,将其容器化,然后部署到 Kubernetes 上。此过程与部署其他服务妹有任何区别,但有一些 Python 特有的步骤。 在继续前进之前,让我们来看下文件夹和文件结构: -```bash +``` + ums-find-service + ums - domain.py @@ -373,11 +372,11 @@ serve(app, host="0.0.0.0", port=8080) - kube-find-deployment.yml ``` -如你所见,整个工作文件夹都位于 ums-find-service 下,它包含了 ums 文件夹中的代码和一些配置文件,例如 Dockerfile、requirements.txt 和 kube-find-deployment.yml。 +如你所见,整个工作文件夹都位于 `ums-find-service` 下,它包含了 `ums` 文件夹中的代码和一些配置文件,例如 `Dockerfile`、`requirements.txt` 和 `kube-find-deployment.yml`。 -domain.py 包含域模型,data.py 包含 UserRepositoryImpl,app.py 包含剩余代码。我们已经阅读过代码了,现在我们来看看配置文件。 +`domain.py` 包含域模型,`data.py` 包含 `UserRepositoryImpl`,`app.py` 包含剩余代码。我们已经阅读过代码了,现在我们来看看配置文件。 -第一个是 requirements.txt,它声明了 Python 系统需要下载和安装的外部依赖项。我们需要用查找服务中用到的每个外部 Python 模块来填充它。如你所见,我们使用了 MySQL 连接器、Flask 和 Waitress 模块。因此,下面是 requirements.txt 的内容。 +第一个是 `requirements.txt`,它声明了 Python 系统需要下载和安装的外部依赖项。我们需要用查找服务中用到的每个外部 Python 模块来填充它。如你所见,我们使用了 MySQL 连接器、Flask 和 Waitress 模块。因此,下面是 `requirements.txt` 的内容。 ``` Flask==2.1.1 @@ -386,7 +385,7 @@ mysql-connector-python waitress ``` -第二步是在 Dockerfile 中声明一些必要显示(to 校正:这里不太理解该如何翻译),如下: +第二步是在 `Dockerfile` 中声明 Docker 相关的清单,如下: ``` FROM python:3.8-slim-buster @@ -401,7 +400,7 @@ ENTRYPOINT ["python"] CMD ["/ums/app.py"] ``` -总的来说,我们使用 Python 3.8 作为基线,除了移动 requirements.txt 之外,我们还将代码从 ums 文件夹移动到 Docker 容器中对应的文件夹中。然后,我们指示容器运行 pip3 install 命令安装对应模块。最后,我们向外暴露 8080 端口(因为 waitress 运行在此端口上)。 +总的来说,我们使用 Python 3.8 作为基线,除了移动 `requirements.txt` 之外,我们还将代码从 `ums` 文件夹移动到 Docker 容器中对应的文件夹中。然后,我们指示容器运行 `pip3 install` 命令安装对应模块。最后,我们向外暴露 8080 端口(因为 waitress 运行在此端口上)。 为了运行此服务,我们指示容器使用使用以下命令: @@ -409,7 +408,7 @@ CMD ["/ums/app.py"] python /ums/app.py ``` -一旦 Dockerfile 准备完成,在 ums-find-service 文件夹中运行以下命令,创建 Docker 镜像: +一旦 `Dockerfile` 准备完成,在 `ums-find-service` 文件夹中运行以下命令,创建 Docker 镜像: ``` docker build -t glarimy/ums-find-service @@ -430,7 +429,7 @@ docker push glarimy/ums-find-service 最后一步是为 Kubernetes 部署构建清单。 -在之前的文章中,我们已经介绍了如何建立 Kubernetes 集群、部署和使用服务的方法。我假设仍然使用之前文章中的 manifest 文件来部署添加服务、MySQL、Kafka 和 Zookeeper。我们只需要将以下内容添加到 kube-find-deployment.yml 文件中: +在之前的文章中,我们已经介绍了如何建立 Kubernetes 集群、部署和使用服务的方法。我假设仍然使用之前文章中的清单文件来部署添加服务、MySQL、Kafka 和 Zookeeper。我们只需要将以下内容添加到 `kube-find-deployment.yml` 文件中: ``` apiVersion: apps/v1 @@ -469,9 +468,9 @@ selector: app: ums-find-service ``` -上面 manifest 的第一部分声明了 glarimy/ums-find-service 镜像的查找服务,它包含三个副本。它还暴露 8080 端口。manifet 的后半部分声明了一个Kubernetes 服务作为查找服务部署的前端。请记住,在之前文章中,mysqldb 服务已经是上述清单的一部分了。 +上面清单文件的第一部分声明了 `glarimy/ums-find-service` 镜像的 `FindService`,它包含三个副本。它还暴露 8080 端口。清单的后半部分声明了一个 Kubernetes 服务作为 `FindService` 部署的前端。请记住,在之前文章中,mysqldb 服务已经是上述清单的一部分了。 -运行以下命令在 Kubernetes 集群上部署 manifest: +运行以下命令在 Kubernetes 集群上部署清单文件: ``` kubectl create -f kube-find-deployment.yml @@ -487,7 +486,7 @@ kubectl get services ![图 3: Kubernetes 服务][3] -它会列出集群上运行的所有服务。注意查找服务的外部 ip,使用 curl 调用此服务: +它会列出集群上运行的所有服务。注意查找服务的外部 IP,使用 `curl` 调用此服务: ``` curl http://10.98.45.187:8080/user/KrishnaMohan @@ -495,17 +494,17 @@ curl http://10.98.45.187:8080/user/KrishnaMohan 注意:10.98.45.187 对应查找服务,如图 3 所示。 -如果我们使用添加服务创建一个名为 KrishnaMohan 的用户,那么上面的 curl 命令看起来如图 4 所示: +如果我们使用 `AddService` 创建一个名为 `KrishnaMohan` 的用户,那么上面的 `curl` 命令看起来如图 4 所示: ![图 4: 查找服务][4] -用户管理系统(UMS)的体系结构包含添加服务和查找服务,以及存储和消息传递所需的后端服务,如图 5 所示。可以看到终端用户使用 ums 添加服务的 IP 地址添加新用户,使用 ums 查找服务的 IP 地址查找已有用户。每个 Kubernetes 服务都由三个对应容器的节点支持。还要注意:同样的 mysqldb 服务用于存储和检索用户数据。 +用户管理系统(UMS)的体系结构包含 `AddService` 和 `FindService`,以及存储和消息传递所需的后端服务,如图 5 所示。可以看到终端用户使用 `ums-add-service` 的 IP 地址添加新用户,使用 `ums-find-service` 的 IP 地址查找已有用户。每个 Kubernetes 服务都由三个对应容器的节点支持。还要注意:同样的 mysqldb 服务用于存储和检索用户数据。 ![图 5: UMS 的添加服务和查找服务][5] ### 其他服务 -UMS 系统还包含两个服务:查找服务和日志服务。在本系列的下一部分中,我们将在 Node 平台上设计这些服务,并将它们部署到同一个 Kubernetes 集群,以演示多语言微服务架构的真正魅力。最后,我们将观察一些与微服务相关的设计模式。 +UMS 系统还包含两个服务:`SearchService` 和 `JournalService`。在本系列的下一部分中,我们将在 Node 平台上设计这些服务,并将它们部署到同一个 Kubernetes 集群,以演示多语言微服务架构的真正魅力。最后,我们将观察一些与微服务相关的设计模式。 -------------------------------------------------------------------------------- @@ -514,7 +513,7 @@ via: https://www.opensourceforu.com/2022/09/python-microservices-using-flask-on- 作者:[Krishna Mohan Koyya][a] 选题:[lkxed][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From cf02dce7acdc63277c2519ee8bde0dc634dc8ba7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 19 Oct 2022 16:56:21 +0800 Subject: [PATCH 005/925] RP @geekpi https://linux.cn/article-15155-1.html --- ...0221010 Xubuntu 22.10- Top New Features.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) rename {translated/tech => published}/20221010 Xubuntu 22.10- Top New Features.md (65%) diff --git a/translated/tech/20221010 Xubuntu 22.10- Top New Features.md b/published/20221010 Xubuntu 22.10- Top New Features.md similarity index 65% rename from translated/tech/20221010 Xubuntu 22.10- Top New Features.md rename to published/20221010 Xubuntu 22.10- Top New Features.md index fda1fad5ad..ad19a4da95 100644 --- a/translated/tech/20221010 Xubuntu 22.10- Top New Features.md +++ b/published/20221010 Xubuntu 22.10- Top New Features.md @@ -3,37 +3,38 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15155-1.html" Xubuntu 22.10:热门新功能 ====== -这是 Xubuntu 22.10 Kinetic Kudu 及其新功能的快速总结。 + +> 这是 Xubuntu 22.10 Kinetic Kudu 及其新功能的快速总结。 ![Xubuntu 22.10 桌面][1] -质量需要时间来建立。它适用于生活的所有阶段,包括软件。 +质量需要时间来建立。它适用于生活的各个方面,包括软件。 自 Xfce 4.16 发布以来,Xfce 4.17(开发版)已经被添加了许多新功能。这包括核心 Xfce、原生应用,GNOME 43、MATE 1.26 和 libadwaita。由于 Xfce 也是 GNOME 和 MATE 的组合,正确地合并和测试这些更改需要时间。 在 Xubuntu 22.10 Kinetic Kudu 版本中,你将体验到自 2020 年 12 月以来所做的所有改进:将近两年的错误修复和增强。 -让我们快速查看一下时间表。目前,Xubuntu 22.10 beta 已经发布并正在测试中(本页末尾的 ISO 链接)。最终版本预计于 2022 年 10 月 20 日发布。 +让我们快速查看一下时间表。目前,Xubuntu 22.10 beta 已经发布,并正在测试中(本问末尾提供了 ISO 链接)。最终版本预计于 2022 年 10 月 20 日发布。 ### Xubuntu 22.10 新功能 #### 核心更新和 GNOME 框架 -Xubuntu 22.10 的核心是基于 Ubuntu 22.10 的 Linux Kernel 5.19。另外,Xfce 桌面版是 Xfce 4.17。 +在其核心,Xubuntu 22.10 同其基于的 Ubuntu 22.10 一样,采用 Linux 内核 5.19。另外,Xfce 桌面版本是 Xfce 4.17。 -4.17 版本是一个开发标签,因为它是下一个大版本 Xfce 4.18 的垫脚石,该版本 [计划在今年圣诞节发布][2]。 +4.17 版本是一个开发版,因为它是下一个大版本 Xfce 4.18 的基础,该版本 [计划在今年圣诞节发布][2]。 让我们谈谈 GNOME 和相关应用。 Xubuntu 22.10 中的 Xfce 4.17 首次获得了带有 GNOME 43 更新的 libadwaita。这意味着默认的 GNOME 应用程序可以在 Xfce 桌面下正确呈现。 -话虽如此,GNOME Software 43 在 Xubuntu 22.10 的 Xfce 桌面下看起来很棒。如果你将其与 Xfce 原生外观和带有 CSD/SSD(例如 Disk)的 GNOME 应用进行比较,它们看起来都很整洁。 +这就是说,GNOME 软件应用Software 43 在 Xubuntu 22.10 的 Xfce 桌面下看起来很棒。如果你将其与 Xfce 原生外观和带有 CSD/SSD(例如 “磁盘应用Disk”)的 GNOME 应用进行比较,它们看起来都很顺眼。 -我对 GNOME Software 43 在 Xfce 桌面下的 libadwaita/GTK4 渲染效果如此之好感到惊讶。 +我对 GNOME 软件应用 43 在 Xfce 桌面下的 libadwaita/GTK4 渲染效果如此之好感到惊讶。 ![在 Xubuntu 22.10 中一起使用三种不同的窗口][3] @@ -41,11 +42,11 @@ Xubuntu 22.10 的核心是基于 Ubuntu 22.10 的 Linux Kernel 5.19。另外,X Xfce 桌面带来了自己的原生应用集。在此版本中,所有应用都从 4.16 升级到 4.17 版本。 -值得注意的变化包括 Xfce 面板获得了对任务列表插件的中键单击支持和托盘时钟中的二进制时间模式。pulse 音频插件引入了一个新的录音指示器,可以过滤掉多个按钮按下事件。 +值得注意的变化包括:Xfce 面板获得了对任务列表插件的中键单击支持,和托盘时钟中的二进制时间模式。PulseAudio 插件引入了一个新的录音指示器,可以过滤掉多个按钮按下事件。 -Thunar 文件管理器获得了大量的底层功能和错误修复。如果你将 Thunar 4.16 与 Thunar 4.17 进行比较,它是变化巨大的。更改包括更新的上下文菜单、路径栏、搜索、导航等。你可以在[此处][4]阅读 Thunar 的所有更改日志。 +Thunar 文件管理器获得了大量的底层功能和错误修复。如果你将 Thunar 4.16 与 Thunar 4.17 进行比较,它是变化巨大的。更改包括更新的上下文菜单、路径栏、搜索、导航等。你可以在 [此处][4] 阅读 Thunar 的所有更改日志。 -此外,截屏应用 screenshooter 默认支持 WebP。蓝牙管理器 Blueman 在系统托盘新增配置文件切换器并更新 Catfish 文件搜索工具。 +此外,截屏应用 ScreenShooter 默认支持 WebP。蓝牙管理器 Blueman 在系统托盘新增配置文件切换器,并更新了 Catfish 文件搜索工具。 这是 Xfce 应用版本的更新列表和指向其更改日志的链接(如果你想进一步挖掘)。 @@ -64,30 +65,30 @@ Thunar 文件管理器获得了大量的底层功能和错误修复。如果你 默认的 elementary-xfce 图标集(浅色和深色)得到了更新,带有额外的精美图标,让你的 Xfce 桌面焕然一新。默认的 Greybird GTK 主题对窗口装饰进行了必要的改进,并添加了 Openbox 支持。 -你可能会注意到的重要且可见的变化之一是 ALT+TAB 外观。图标更大一些,眼睛更舒适,可以在深色背景下更快地切换窗口。 +你可能会注意到的重要且可见的变化之一是 `ALT+TAB` 外观。图标更大一些,眼睛更舒适,可以在深色背景下更快地切换窗口。 ![在 Xubuntu 22.10 的 elementary-xfce 中更新的图标集示例][15] ![ALT TAB 有更大的图标][16] -上述更改使默认应用与基础 [Ubuntu 22.10 版本][17]保持一致。以下是 Xubuntu 22.10 中的更改概括。 +上述更改使默认应用与其所基于的 [Ubuntu 22.10 版本][17] 保持一致。以下是 Xubuntu 22.10 中的更改概括。 ### 概括 -* Linux Kernel 5.19 和基于 Ubuntu 22.10 +* Linux 内核 5.19,基于 Ubuntu 22.10 * Xfce 桌面版 4.17 * 原生应用全部更新到 4.17 * 核心与 GNOME 43、libadwaita、GTK4 保持一致 * MATE 应用程序升级到 1.26 -* Mozilla Firefox 网络浏览器 105.0 +* Mozilla Firefox 网页浏览器 105.0 * Thunderbird 邮件客户端 102.3 * LibreOffice 7.4.4.2 ### 总结 -Xfce 桌面作为一个整体最关键的变化是在 4.18 版本中到来的。例如,最初的 Wayland 支持、更新的 glib 和 GTK 包。如果一切顺利,你可以在明年 4 月发布的 Xubuntu 中期待这些最好的变化。 +Xfce 桌面最关键的整体变化将在 4.18 版本中到来。例如,最初的 Wayland 支持、更新的 glib 和 GTK 包。如果一切顺利,你可以在明年 4 月发布的 Xubuntu 中期待这些最好的变化。 -最后,如果你想试用,可以从[这个页面][18]下载 beta 镜像。 +最后,如果你想试用,可以从 [这个页面][18] 下载 Beta 镜像。 -------------------------------------------------------------------------------- @@ -96,7 +97,7 @@ via: https://www.debugpoint.com/xubuntu-22-10-features/ 作者:[Arindam][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/) 荣誉推出 From 26cc02fdbb62afcd4d46175d230a0518e96de17b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 20 Oct 2022 08:13:03 +0800 Subject: [PATCH 006/925] =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Wi-Fi 7 Access Points Are Now Available.md | 38 --------- ...Enable Native Wayland Support for Linux.md | 77 ------------------- 2 files changed, 115 deletions(-) delete mode 100644 sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md delete mode 100644 sources/news/20221013 Blender 3.4 to Enable Native Wayland Support for Linux.md diff --git a/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md b/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md deleted file mode 100644 index bddcb326ed..0000000000 --- a/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md +++ /dev/null @@ -1,38 +0,0 @@ -[#]: subject: "World’s First Open Source Wi-Fi 7 Access Points Are Now Available" -[#]: via: "https://www.opensourceforu.com/2022/10/worlds-first-open-source-wi-fi-7-access-points-are-now-available/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -World’s First Open Source Wi-Fi 7 Access Points Are Now Available -====== -*The first Open source Wi-Fi 7 products in the world will be released by HFCL in conjunction with Qualcomm under its IO product line.* - -The world’s first Open source Wi-Fi 7 Access Points will be introduced by HFCL Limited, the top high-tech enterprise and integrated next-gen communication product and solution provider, in collaboration with Qualcomm Technologies, Inc. on October 1, 2022 at the India Mobile Congress in Pragati Maidan, New Delhi. - -Based on IEEE 802.11be, a ground-breaking Wi-Fi technology that is intended to give Extremely High Throughput (EHT), increased spectrum efficiency, better interference mitigation, and support for Real Time Applications (RTA), HFCL becomes the first OEM to release Open source Wi-Fi 7 Access Points. In order to provide a better user experience while yet using less power, Wi-Fi 7 uses faster connections with 320MHz and 4kQAM, numerous connections with Multi Link operation, and Adaptive Connections for adaptive interference puncturing. - -Wi-Fi 7 promises a significant technological advance above all prior Wi-Fi standards updates, providing a more immersive user experience and paving the way for a more robust digital future. The peak data speeds supported by HFCL’s Wi-Fi 7 APs will exceed 10 Gbps, and they will have latency under 2 ms as opposed to the 5 Gbps and 10 ms of existing Wi-Fi 6 products. - -Technology providers like telecom operators, Internet service providers, system integrators, and network administrators will be able to offer mission-critical and real-time application services and provide a better user experience than ever before thanks to HFCL’s Wi-Fi 7 product line, which is supported by a strong R&D focus. A wide variety of dual band and tri-band indoor and outdoor variations may be found in the new Wi-Fi 7 product portfolio. - -Being the first Wi-Fi 7 Access points in the market to embrace Open standards, all Wi-Fi 7 variations will come pre-installed with open source software. With the goal of providing improved global connectivity and maintaining interoperability in multi-vendor scenarios, open standards support disaggregated Wi-Fi systems delivered as free open source software. - -The introduction of Wi-Fi 7 will primarily support the country’s upcoming 5G rollout, particularly for enhancing inside coverage. Additionally, the technology will make it easier to construct a variety of apps because to its increased throughput, dependable network performance, and lower latency. The Internet of Things (IoT) and Industrial Internet of Things (IIoT) applications including surveillance, remote industrial automation, AV/VR/XR, and other video-based applications will benefit from Wi-Fi 7 technology for businesses. With numerous developments in Cloud/Edge Computing and Cloud gaming, it will also increase the number of remote offices, real-time collaborations, and online video conferencing. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/10/worlds-first-open-source-wi-fi-7-access-points-are-now-available/ - -作者:[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 diff --git a/sources/news/20221013 Blender 3.4 to Enable Native Wayland Support for Linux.md b/sources/news/20221013 Blender 3.4 to Enable Native Wayland Support for Linux.md deleted file mode 100644 index 5c7d0d7da1..0000000000 --- a/sources/news/20221013 Blender 3.4 to Enable Native Wayland Support for Linux.md +++ /dev/null @@ -1,77 +0,0 @@ -[#]: subject: "Blender 3.4 to Enable Native Wayland Support for Linux" -[#]: via: "https://news.itsfoss.com/blender-3-4-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Blender 3.4 to Enable Native Wayland Support for Linux -====== -Blender is bringing in native Wayland support soon. Learn more here. - -![Blender 3.4 to Enable Native Wayland Support for Linux][1] - -Blender is a popular 3D creation suite that many professionals use. - -The developers of Blender have recently added native Wayland support for Linux in the daily builds, and have confirmed adding the support in the upcoming Blender 3.4 release. - -This is probably one of the significant development progress after [Blender 3.0 release][2] last year! - -### Blender With Native Wayland - -[Wayland][3] is a replacement to the X11 [display server][4] that aims to be a simpler and more modern solution. - -Providing native Wayland support has become necessary, mainly because many distros now come with that kind of support out of the box. - -With more Wayland support in the works and users switching to a distro with native support, this move was a given. - -[Linux Laptops - Powered by Open Source][5] - -With the daily builds, the **libdecor** library has made this possible. If you want to test it out, you need to have it installed for Blender to work correctly with native Wayland support. - -While initial support for Wayland was present in Blender since 2020, it was not ready for prime time. It had a lot of issues, such as no tablet support, no NDOF support, no Hi-DPI support, and similar. - -Now, it looks like most of those issues are gone. - -### Expect it With Blender 3.4 - -A blog post by one of Blender's developers *Campbell Barton,* reveals that if all goes well with the daily builds, the Wayland support is coming to Blender 3.4. - -Here's what he mentions: - -> Now Wayland is enabled in our official builds, I hope to validate it for the up coming release. So unless issues arise which we’re unable to resolve, it will be officially supported in Blender 3.4x onward. - -At this point, I can only hope that no significant issues affect its integration. - -Otherwise, it may push back to a later release cycle. - -Blender 3.4 will release in early **December 2022**, with improvements across the board and new features such as headless rendering for Linux, improvements for Sculpt, Intel Open PGL integration, and more. - -> 💡 Blender with Wayland has some technical limitations. You can find more details on that in the [blog post][9]. - -💬*Are you excited to try out native Wayland support on Blender?* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/blender-3-4-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/blender-3-4-release.png -[2]: https://news.itsfoss.com/blender-3-0-release/ -[3]: https://wayland.freedesktop.org/ -[4]: https://itsfoss.com/display-server/ -[5]: https://starlabs.systems/?rfsn=4790429.bdbc07 -[6]: https://starlabs.systems/?rfsn=4790429.bdbc07 -[7]: https://itsfoss.com/open-source-video-editors/ -[8]: https://itsfoss.com/open-source-video-editors/ -[9]: https://code.blender.org/2022/10/wayland-support-on-linux/ From dde86dd9c69e7f02f10507a778313ebda623ff5b Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Thu, 20 Oct 2022 08:47:04 +0800 Subject: [PATCH 007/925] translated --- ...Bash- Command Not Found- Error in Linux.md | 151 ------------------ ...Bash- Command Not Found- Error in Linux.md | 147 +++++++++++++++++ 2 files changed, 147 insertions(+), 151 deletions(-) delete mode 100644 sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md create mode 100644 translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md diff --git a/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md deleted file mode 100644 index da03c39dbe..0000000000 --- a/sources/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md +++ /dev/null @@ -1,151 +0,0 @@ -[#]: subject: "Troubleshooting “Bash: Command Not Found” Error in Linux" -[#]: via: "https://itsfoss.com/bash-command-not-found/" -[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" -[#]: collector: "lujun9972" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Troubleshooting “Bash: Command Not Found” Error in Linux -====== - -_**This beginner tutorial shows how to go about fixing the Bash: command not found error on Debian, Ubuntu and other Linux distributions.**_ - -When you use commands in Linux, you expect to see an output. But sometimes, you’ll encounter issues where the terminal shows ‘command not found’ error. - -![][1] - -There is no straightforward, single solution to this error. You have to do a little bit of troubleshooting on your own. - -It’s not too difficult, honestly. The error gives some hint already when it says “bash: command not found”. Your shell (or Linux system) cannot find the command you entered. - -There could be three possible reasons why it cannot find the command: - - * It’s a typo and the command name is misspelled - * The command is not even installed - * The command is basically an executable script and its location is not known - - - -Let’s go in detail on each possible root cause. - -### Fixing “bash: command not found” error - -![][2] - -#### Method 1: Double check the command name (no, seriously) - -It is human to make mistakes, specially while typing. It is possible that the command you entered has a typo (spelling mistake). - -You should specially pay attention to: - - * The correct command name - * The spaces between the command and its options - * The use of 1 (numeral one), I (capital i) and l (lowercase L) - * Use of uppercase and lowercase characters - - - -Take a look at the example below, where I have misspelled the common ls command. - -![][3] - -So, make double sure what you are typing. - -#### Method 2: Ensure that the command is installed on your system - -This is another common reason behind the command not found error. You cannot run a command if it is not installed already. - -While your Linux distribution comes with a huge number of commands installed by default, it is not possible to pre-install all the command line tools in a system. If the command you are trying to run is not a popular, common command, you’ll have to install it first. - -You can use your distribution’s package manager to install it. - -![You may have to install the missing command][4] - -In some cases, popular commands may get discontinued and you may not even install it anymore. You’ll have to find an alternative command to achieve the result. - -Take the example of ipconfig command. This deprecated command was used for [getting Ip address][5] and other network interface information. Older tutorials on the web still mention using this command but you cannot use it anymore in newer Linux versions. It has been replaced by the ifconfig tool. - -![Some popular commands get discontinued over the time][1] - -Occasionally, your system won’t find even the extremely common commands. This is often the case when you are running a Linux distribution in Docker containers. To cut down on the size of the operating system image, the containers often do not include even the most common Linux commands. - -This is why Docker user stumble across things like [ping command not found error][6] etc. - -![Docker containers often have only a few commands installed][7] - -So, the solution is to either install the missing command or find a tool that could do the same thing you were trying to do with the missing command. - -#### Method 3: Check if it is an executable script with correct path - -This is a common mistake Linux rookies make while [running a shell script][8]. - -Even if you are in the same directory and try to run an executable script just by its name, it will show an error. - -``` -[email protected]:~/scripts# sample --bash: sample: command not found -``` - -You need to either specify the shell interpreter explicitly or its absolute path. - -![][9] - -If you are in some other directory and try to execute the shell script without giving the correct path to the file, it will complain about not finding the file. - -![][10] - -##### Adding it to the PATH - -In some cases, you download the entire software in a tar file, extract it and find an executable file along with other program files. To run the program, you need to run the executable file. - -But for that, you need to be in the same directory or specify the entire path to the executable file. This is tiresome. - -Here, you can use the PATH variable. This variable has a collection of directories and these directories have the binary (executable) files of various Linux commands. When you run a command, your Linux system checks the mentioned directories in the PATH variable to look for the executable file of that command. - -You can check the location of the binary of a command by using the `which` command: - -![][11] - -If you want to run an executable file or script from anywhere on the system, you need to add the location of the file to this PATH variable. - -![][12] - -The PATH variable then needs to be added to the rc file of the shell so that the changes made to PATH variable is permanent. - -You get the gist here. It is important that your Linux system has the knowledge about the location of the executable script. Either you give the path while running it or you add its location to the PATH variable. - -### Did it help you? - -I understand that when you are new to Linux, things could be overwhelming. But when you understand the root cause of the problem, it gradually improved your knowledge. - -Here, there is no straightforward solution possible for the ‘command not found error’. I gave you some hints and pointers and that should help you in troubleshooting. - -If you still have doubt or need help, please let me know in the comment section. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/bash-command-not-found/ - -作者:[Abhishek Prakash][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://itsfoss.com/author/abhishek/ -[b]: https://github.com/lujun9972 -[1]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-command-not-found-error.png?resize=741%2C291&ssl=1 -[2]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-command-not-found-error-1.png?resize=800%2C450&ssl=1 -[3]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/command-not-found-error.png?resize=723%2C234&ssl=1 -[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/command-not-found-debian.png?resize=741%2C348&ssl=1 -[5]: https://itsfoss.com/check-ip-address-ubuntu/ -[6]: https://linuxhandbook.com/ping-command-ubuntu/ -[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/ping-command-not-found-ubuntu.png?resize=786%2C367&ssl=1 -[8]: https://itsfoss.com/run-shell-script-linux/ -[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-script-command-not-found-error-800x331.png?resize=800%2C331&ssl=1 -[10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/script-file-not-found-error-800x259.png?resize=800%2C259&ssl=1 -[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/path-location.png?resize=800%2C241&ssl=1 -[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/adding-executable-to-PATH-variable-linux.png?resize=800%2C313&ssl=1 diff --git a/translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md new file mode 100644 index 0000000000..1127ff2f32 --- /dev/null +++ b/translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md @@ -0,0 +1,147 @@ +[#]: subject: "Troubleshooting “Bash: Command Not Found” Error in Linux" +[#]: via: "https://itsfoss.com/bash-command-not-found/" +[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" +[#]: collector: "lujun9972" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +解决 Linux 中的“Bash: Command Not Found”报错 +====== + +_**本新手教程展示了在 Debian、Ubuntu 和其他的 Linux 发行版上如何解决 Bash: command not found 这一报错。**_ + +当你在 Linux 中使用命令时,你希望得到终端输出的结果。但有时候,你会遇到终端显示“未找到命令(command not found)”这一报错。 + +![][1] + +对于这个问题,并没有直截了当且单一的解决方案。你必须自己做一些故障排除来解决这个报错。 + +老实说,要解决它并不难。该报错信息已经给出了一些提示:“bash: command not found”,这说明你的 shell(或者 Linux 系统)找不到你输入的那条命令。 + +shell(或 Linux 系统)找不到命令,有三个可能的原因: + + * 你将命令的名称拼错了 + * 该命令还没有安装 + * 该命令是一个可执行脚本,其位置未知 + +接下来,我们会详细介绍“bash: command not found”这一报错的每一个原因。 + +### 解决“bash: command not found”报错 + +![][2] + +#### 方法 1:再次检查命令名称有没有写错 + +每个人都会犯错误,尤其是在打字的时候。你输入的命令可能存在错别字(也就是你写错啦)。 + +你应该特别注意: + + * 是否拼对了正确的命令名称 + * 是否在命令与其选项之间加上了空格 + * 是否在拼写中混淆了 1(数字 1)、I(大写的 i)和 l(小写的 L) + * 是否正确使用了大写字母或者小写字母 + +看看下面的示例,因为我写错了 ls 命令,所以会导致“command not found”报错。 + +![][3] + +所以,请再次仔细确认你输入得对不对。 + +#### 方法 2:确保命令已安装在你的系统上 + +这是“命令未找到”错误的另一个常见原因。如果命令尚未安装,则无法运行该命令。 + +虽然在默认情况下,你的 Linux 发行版自带安装了大量命令,但是不会在系统中预装 _所有的_ 命令行工具。如果你尝试运行的命令不是一个流行的常用命令,那么你需要先安装它。 + +你可以使用发行版的软件包管理器来安装命令。 + +![You may have to install the missing command][4] + +有时候,某一常用命令可能也不再能使用了,甚至你也不能够安装这个命令了。这种情况下,你需要找到一个替代的命令,来得到结果。 + +以现已弃用的 ipconfig 命令为例。网络上的旧教程依旧会让你使用 ipconfig 命令,来 [获取本机的 IP 地址][5] 和网络接口信息,但是,在较新的 Linux 版本中,你已经无法使用 ipconfig 了。ipconfig 命令已被 ifconfig 命令所取代。 + +![Some popular commands get discontinued over the time][1] + +有时候,你的系统可能甚至找不到一些非常常见的命令。当你在 Docker 容器中运行 Linux 发行版时,就通常如此。Docker 容器为了缩小操作系统映像的大小,容器中通常不包含那些常见的 Linux 命令。 + +这就是为什么使用 Docker 的用户会碰到 [ping命令未找到][6](ping command not found) 等报错的原因。 + +![Docker containers often have only a few commands installed][7] + +因此,这种情况下的解决方案是安装缺失的命令,或者是找到一个与缺失命令有同等功能的工具。 + +#### 方法 3:检查命令是否是一个路径正确的可执行脚本 + +这是 Linux 新手在 [运行 shell 脚本][8] 时常犯的错误。 + +即使你在同一目录下,仅用可执行脚本的名称,来运行可执行脚本,也会显示错误。 + +``` +[email protected]:~/scripts# sample +-bash: sample: command not found +``` + +因为你需要显式指定 shell 解释器或可执行脚本的绝对路径! + +![][9] + +如果你在其他目录下,在未提供文件正确路径的情况下,运行 shell 脚本,则会有“找不到文件(no such file or directory)”的报错。 + +![][10] + +##### 把可执行文件的路径加到 PATH 变量中 + +有时候,你下载了一个软件的压缩文件(tar 格式),解压这个 tar 文件,然后找到一个可执行文件和其他程序文件。你需要运行可执行文件,来运行那个软件。 + +但是,你需要在可执行文件的同一目录下或指定可执行文件的整个路径,才能运行那个可执行文件。这很令人烦扰。 + +你可以使用 PATH 变量,来解决这个问题。PATH 变量包含了有各种 Linux 命令的二进制(可执行)文件的目录集合。当你运行一个命令时,你的 Linux 系统会检查 PATH 变量中的上述目录,以查找该命令的可执行文件。 + +你可以使用 `which` 命令,来检查某一命令的二进制文件的位置: + +![][11] + +如果你想从系统上的任何地方都能运行可执行文件或脚本,你需要将可执行文件的位置添加到 PATH 变量中。 + +![][12] + +然后,PATH 变量需要添加到 shell 的 rc 文件中,如此对 PATH 变量的更改就是永久性的。 + +这里的要点是:你的 Linux 系统必须了解可执行脚本的位置。要么在运行时给出可执行文件的整个路径,要么将其位置添加到 PATH 变量中。 + +### 以上的内容有帮到你吗? + +我懂得,当你是 Linux 新手时,很多事情可能会让你不知所措。但是,当你了解问题的根本原因时,你的知识会逐渐增加。 + +对于“未找到命令”(command not found)报错来说,没有简单的解决方案。我提供给你了一些提示和要点,我希望这对你的故障排除有帮助。 + +如果你仍然有疑问或需要帮助,请在评论区告诉我吧。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/bash-command-not-found/ + +作者:[Abhishek Prakash][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/lujun9972 +[1]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-command-not-found-error.png?resize=741%2C291&ssl=1 +[2]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-command-not-found-error-1.png?resize=800%2C450&ssl=1 +[3]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/command-not-found-error.png?resize=723%2C234&ssl=1 +[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/command-not-found-debian.png?resize=741%2C348&ssl=1 +[5]: https://itsfoss.com/check-ip-address-ubuntu/ +[6]: https://linuxhandbook.com/ping-command-ubuntu/ +[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/ping-command-not-found-ubuntu.png?resize=786%2C367&ssl=1 +[8]: https://itsfoss.com/run-shell-script-linux/ +[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/bash-script-command-not-found-error-800x331.png?resize=800%2C331&ssl=1 +[10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/script-file-not-found-error-800x259.png?resize=800%2C259&ssl=1 +[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/path-location.png?resize=800%2C241&ssl=1 +[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/adding-executable-to-PATH-variable-linux.png?resize=800%2C313&ssl=1 From a9c163fd3c0c268c42c8f389624a5ebb12cc74f8 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 20 Oct 2022 08:50:22 +0800 Subject: [PATCH 008/925] translated --- ...ay to Open Files as Root in GNOME Files.md | 81 ------------------- ...ay to Open Files as Root in GNOME Files.md | 81 +++++++++++++++++++ 2 files changed, 81 insertions(+), 81 deletions(-) delete mode 100644 sources/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md create mode 100644 translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md diff --git a/sources/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md b/sources/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md deleted file mode 100644 index f97f4a07af..0000000000 --- a/sources/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md +++ /dev/null @@ -1,81 +0,0 @@ -[#]: subject: "Easiest Way to Open Files as Root in GNOME Files" -[#]: via: "https://www.debugpoint.com/gnome-files-root-access/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Easiest Way to Open Files as Root in GNOME Files -====== -Here’s the simplest way to access a file or directory as root in GNOME Files. - -![][1] - -In Windows, you generally get an option to open a file or folder as “Open As Administrator” in the right-click context menu. - -That feature is part of the File manager, i.e. for Windows; it’s part of Windows Explorer. However, it is executed by the operating system and its permission control modules. - -In Linux distributions and file managers, the situation is a little different. The different desktop has their way of handling this. - -Since modifying the files and folders as admin (or root) is risky and may cause a broken system, the feature is not easily available to users via the GUI of file managers. - -For example, KDE Plasma’s default file manager Dolphin recently [added this feature][2] so that when a root privilege is required, it will ask for you with a PolicyKit KDE Agent (polkit) window – as shown below. Not the other way around. You want to open/execute something via root from the file manager. - -It’s worth mentioning that you can not use “sudo dolphin” to run the file manager itself with root privilege. - -![Dolphin root access after KIO with Polkit implementation][3] - -In a way, it saves many unforeseen situations. But advanced users can always use sudo via the terminal to do their job. - -### GNOME Files (Nautilus) and root access to files, directories - -That being said, [GNOME Files][4] (aka Nautilus) has a way to open files and folders via root. - -Here’s how. - -* Open GNOME Files or Nautilus. -* Then click on other locations at the left pane. -* Press CTRL+L to bring up the address bar. -* In the address bar, type in below and hit enter. - -``` -admin:/// -``` - -* It would ask for the admin password; once you authenticate yourself successfully, you get the system open for you as admin. -* Now, here onwards, whatever you do, it’s as admin or root. - -![Enter the location address as admin][5] - -![Give admin password][6] - -![Opening GNOME Files as root][7] - -But, as always, be careful what you do as an admin. It’s often easy to forget after you authenticate yourself as root. - -There’s always a reason why these options are not easily visible to prevent you and many new Linux users from breaking their system. - -Cheers. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/gnome-files-root-access/ - -作者:[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/10/nauroot-1024x576.jpg -[2]: https://www.debugpoint.com/dolphin-root-access/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/02/Dolphin-root-access-after-KIO-with-Polkit-implementation.jpg -[4]: https://wiki.gnome.org/Apps/Files -[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enter-the-location-address-as-admin.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Give-admin-password.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Opening-GNOME-Files-as-root.jpg diff --git a/translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md b/translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md new file mode 100644 index 0000000000..ac5899e9cc --- /dev/null +++ b/translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md @@ -0,0 +1,81 @@ +[#]: subject: "Easiest Way to Open Files as Root in GNOME Files" +[#]: via: "https://www.debugpoint.com/gnome-files-root-access/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在 GNOME 文件中以 Root 身份打开文件的最简单方法 +====== +这是在 GNOME Files 中以 root 身份访问文件或目录的最简单方法。 + +![][1] + +在 Windows 中,你通常可以在右键单击上下文菜单中以“以管理员身份打开”的方式打开文件或文件夹。 + +该功能是文件管理器的一部分,即适用于 Windows。它是 Windows 资源管理器的一部分。但是,它是由操作系统及其权限控制模块执行的。 + +在 Linux 发行版和文件管理器中,情况略有不同。不同的桌面有自己的处理方式。 + +由于以管理员(或 root)身份修改文件和文件夹是有风险的,并且可能导致系统损坏,因此用户无法通过文件管理器的 GUI 轻松使用该功能。 + +例如,KDE Plasma 的默认文件管理器 Dolphin 最近[添加了此功能][2],因此当需要 root 权限时,它会通过 PolicyKit KDE Agent (polkit) 窗口询问你,如下所示。而不是相反的方式。你想在文件管理器中通过 root 打开/执行一些东西。 + +值得一提的是,你不能使用 “sudo dolphin” 以 root 权限运行文件管理器本身。 + +![使用 Polkit 实现 KIO 后的 Dolphin root 访问权限][3] + +在某种程度上,它挽救了许多不可预见的情况。但是高级用户总是可以通过终端使用 sudo 来完成他们的工作。 + +### GNOME Files (Nautilus) 和对文件、目录的 root 访问权限 + +话虽如此,[GNOME Files][4](又名 Nautilus)有一种方法可以通过 root 打开文件和文件夹。 + +以下是方法。 + +* 打开 GNOME Files 或 Nautilus。 +* 然后单击左侧窗格中的其他位置。 +* 按 CTRL+L 调出地址栏。 +* 在地址栏中,输入下面的内容并回车。 + +``` +admin:/// +``` + +* 它会要求输入管理员密码。当你成功验证自己,你就会以管理员身份打开系统。 +* 现在,从这里开始,无论你做什么,它都是管理员或 root。 + +![以管理员身份输入位置地址][5] + +![输入管理员密码][6] + +![以 root 身份打开 GNOME Files][7] + +但是,与往常一样,请小心你作为管理员所做的事情。在你以 root 身份验证自己之后,通常很容易忘记。 + +这些选项不容易看到总是有原因的,以防止你和许多新的 Linux 用户破坏他们的系统。 + +干杯。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/gnome-files-root-access/ + +作者:[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/10/nauroot-1024x576.jpg +[2]: https://www.debugpoint.com/dolphin-root-access/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/02/Dolphin-root-access-after-KIO-with-Polkit-implementation.jpg +[4]: https://wiki.gnome.org/Apps/Files +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enter-the-location-address-as-admin.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Give-admin-password.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Opening-GNOME-Files-as-root.jpg From 4ba76419456a483fc8d350f679d8b8de9ba65ba9 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Thu, 20 Oct 2022 08:51:50 +0800 Subject: [PATCH 009/925] translating by chai001125 --- ...0210629 Try Linux on any operating system with VirtualBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md index ccf231735e..9be0476542 100644 --- a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md +++ b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/try-linux-virtualbox) [#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 4f0f4c21fd1423a09c4fb08059c42932e8247972 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 20 Oct 2022 08:53:22 +0800 Subject: [PATCH 010/925] translating --- ...21013 Enjoy the Classic Snake Game in Your Linux Terminal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md index e1c795958a..cefdd34dd5 100644 --- a/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md +++ b/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/snake-game-linux-terminal/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 0f5a8abe8e5d51aa68262837dfaebbba3b8084f9 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Thu, 20 Oct 2022 08:58:59 +0800 Subject: [PATCH 011/925] Revert "translating by chai001125" This reverts commit 4ba76419456a483fc8d350f679d8b8de9ba65ba9. --- ...0210629 Try Linux on any operating system with VirtualBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md index 9be0476542..ccf231735e 100644 --- a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md +++ b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/try-linux-virtualbox) [#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) [#]: collector: (lujun9972) -[#]: translator: (chai001125) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 29f26c85bc4db36cd08552e0b0044be061af4740 Mon Sep 17 00:00:00 2001 From: MareDevi Date: Thu, 20 Oct 2022 11:21:34 +0800 Subject: [PATCH 012/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Joplin, the open source note-taking app.md | 140 ----------------- ...Joplin, the open source note-taking app.md | 145 ++++++++++++++++++ 2 files changed, 145 insertions(+), 140 deletions(-) delete mode 100644 sources/talk/20220926 The story behind Joplin, the open source note-taking app.md create mode 100644 translated/talk/20220926 The story behind Joplin, the open source note-taking app.md diff --git a/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md b/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md deleted file mode 100644 index ab229e6dba..0000000000 --- a/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md +++ /dev/null @@ -1,140 +0,0 @@ -[#]: subject: "The story behind Joplin, the open source note-taking app" -[#]: via: "https://opensource.com/article/22/9/joplin-interview" -[#]: author: "Richard Chambers https://opensource.com/users/20i" -[#]: collector: "lkxed" -[#]: translator: "MareDevi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -The story behind Joplin, the open source note-taking app -====== -Laurent Cozic sat down with me to discuss how Joplin got started and what's next for the open source note-taking app. - -In this interview, I met up with Laurent Cozic, creator of the note-taking app, Joplin. [Joplin][2] was a winner of the [20i][3] rewards, so I wanted to find out what makes it such a success, and how he achieved it. - -**Could you summarize what Joplin does?** - -[Joplin][4] is an open source note-taking app. It allows you to capture your thoughts and securely access them from any device. - -**Obviously, there are other note-taking apps out there—but apart from it being free to use, what makes it different?** - -The fact that it is open source is an important aspect for many of our users, because it means there is no vendor locking on the data, and that data can be easily exported and accessed in various ways. - -We also focus on security and data privacy, in particular with the synchronization end-to-end encryption feature, and by being transparent about any connection that the application makes. We also work with security researchers to keep the app more secure. - -Finally, Joplin can be customized in several different ways—through plugins, which can add new functionalities, and themes to customize the app appearance. We also expose a data API, which allows third-party applications to access Joplin data. - -**[[ Related read 5 note-taking apps for Linux ]][5]** - -**It's a competitive market, so what inspired you to build it?** - -It happened organically. I started looking into it in 2016, as I was looking at existing commercial note-taking applications, and I didn't like that the notes, attachments, or tags could not easily be exported or manipulated by other tools. - -This is probably due to vendor locking and partly a lack of motivation from the vendor since they have no incentive to help users move their data to other apps. There is also an issue with the fact that these companies usually will keep the notes in plain text, and that can potentially cause issues in terms of data privacy and security. - -So I decided to start creating a simple mobile and terminal application with sync capabilities to have my notes easily accessible on my devices. Later the desktop app was created and the project grew from there. - -![Image of Joplin on Chrome OS.][6] - -Image by: (Opensource.com, CC BY-SA 4.0) - -**How long did Joplin take to make?** - -I've been working on it on and off since 2016 but it wasn't full time. The past two years I've been focusing more on it. - -**What advice might you have for someone setting to create their own open source app?** - -Pick a project you use yourself and technologies you enjoy working with. - -Managing an open source project can be difficult sometimes so there has to be this element of fun to make it worthwhile. Then I guess "release early, release often" applies here, so that you can gauge user's interest and whether it makes sense to spend time developing the project further. - -**How many people are involved in Joplin's development?** - -There are 3-4 people involved in the development. At the moment we also have six students working on the project as part of Google Summer of Code. - -**Lots of people create open source projects, yet Joplin has been a resounding success for you. Could you offer creators any tips on how to get noticed?** - -There's no simple formula and to be honest I don't think I could replicate the success in a different project! You've got to be passionate about what you're doing but also be rigorous, be organized, make steady progress, ensure the code quality remains high, and have a lot of test units to prevent regressions. - -Also be open to the user feedback you receive, and try to improve the project based on it. - -Once you've got all that, the rest is probably down to luck—if it turns out you're working on a project that interests a lot of people, things might work out well! - -**Once you get noticed, how do you keep that momentum going, if you don't have a traditional marketing budget?** - -I think it's about listening to the community around the project. For example I never planned to have a forum but someone suggested it on GitHub, so I made one and it became a great way to share ideas, discuss features, provide support, and so on. The community is generally welcoming of newcomers too, which creates a kind of virtuous circle. - -Next to this, it's important to communicate regularly about the project. - -We don't have a public roadmap, because the ETA for most features is generally "I don't know", but I try to communicate about coming features, new releases, and so on. We also communicate about important events, the Google Summer of Code in particular, or when we have the chance to win something like the 20i FOSS Awards. - -Finally, very soon we'll have an in-person meetup in London, which is another way to keep in touch with the community and collaborators. - -**How does user feedback influence the roadmap?** - -Significantly. Contributors will often work on something simply because they need the feature. But next to this, we also keep track of the features that seem most important to users, based on what we read about on the forum and on the GitHub issue tracker. - -For example, the mobile app is now high priority because we frequently hear from users that its limitations and issues are a problem to effectively use Joplin. - -![Image of Joplin being used on a Desktop.][8] - -Image by: (Opensource.com, CC BY-SA 4.0) - -**How do you keep up to date with the latest in dev and coding?** - -Mostly by reading Hacker News! - -**Do you have a personal favorite FOSS that you'd recommend?** - -Among the less well-known projects, [SpeedCrunch][9] is very good as a calculator. It has a lot of features and it's great how it keeps a history of all previous calculations. - -I also use [KeepassXC][10] as a password manager. It has been improving steadily over the past few years. - -Finally, [Visual Studio Code][11] is great as a cross-platform text editor. - -**I'd assumed that Joplin was named after Janis, but Wikipedia tells me it's Scott Joplin. What made you choose the name?** - -I wanted to name it "jot-it" at first but I think the name was already taken. - -Since I was listening to Scott Joplin ragtime music a lot back then (I was pretty much obsessed with it), I decided to use his name. - -I think the meaning of a product name is not too important, as long as the name itself is easy to write, pronounce, remember, and perhaps is associated with something positive (or at least nothing negative). - -And I think "Joplin" ticks all these boxes. - -**Is there anything you can say about plans for Joplin? An exclusive tease of a new feature, perhaps?** - -As mentioned earlier, we are very keen to make improvements to the mobile app, both in terms of UX design and new features. - -We're also looking at creating a "Plugin Store" to make it easier to browse and install plugins. - -**Thanks for your time Laurent— best of luck with the future of Joplin.** - -*[This interview was originally published on the 20i blog and has been republished with permission.][12]* - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/joplin-interview - -作者:[Richard Chambers][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/20i -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png -[2]: https://joplinapp.org/ -[3]: https://www.20i.com/foss-awards/winners -[4]: https://opensource.com/article/19/1/productivity-tool-joplin -[5]: https://opensource.com/article/22/8/note-taking-apps-linux -[6]: https://opensource.com/sites/default/files/2022-09/joplin-chrome-os.png -[7]: https://opensource.com/article/21/10/google-summer-code -[8]: https://opensource.com/sites/default/files/2022-09/joplin-desktop.png -[9]: https://heldercorreia.bitbucket.io/speedcrunch/ -[10]: https://opensource.com/article/18/12/keepassx-security-best-practices -[11]: https://opensource.com/article/20/6/open-source-alternatives-vs-code -[12]: https://www.20i.com/blog/joplin-creator-laurent-cozic/ diff --git a/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md b/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md new file mode 100644 index 0000000000..cd1954b0a6 --- /dev/null +++ b/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md @@ -0,0 +1,145 @@ +[#]: subject: "The story behind Joplin, the open source note-taking app" +[#]: via: "https://opensource.com/article/22/9/joplin-interview" +[#]: author: "Richard Chambers https://opensource.com/users/20i" +[#]: collector: "lkxed" +[#]: translator: "MareDevi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +开源笔记软件Joplin背后的故事 +====== +Laurent Cozic与我坐下来,讨论了Joplin是如何开始的,以及这个开源笔记软件的下一步计划。 + +在这次采访中,我见到了笔记软件Joplin的创建者Laurent Cozic。[Joplin][2]是[20i][3]奖励的赢家,所以我想了解是什么让它如此成功,以及他如何实现的。 + + +**您能总结一下什么是Joplin吗** + +[Joplin][4]是一个开源的笔记软件。它可以你捕获你的想法并从任何设备安全地访问它们。 + + +**显然,还有很多其他的笔记应用,那么除了免费使用之外,它还有什么不同呢?** + +对我们的许多用户来说,它是开源的这一事实是一个非常重要的方面,因为这意味着没有供应商对数据的封锁,而且数据可以很容易地被导出并以各种方式访问。 + +我们还关注用户的安全和数据隐私,特别是端到端加密同步功能,以及通过对应用的任何连接保持透明。我们还与安全研究人员合作,以保证软件更加安全。 + +最后,Joplin可以通过几种不同的方式进行定制--通过插件(可以添加新的功能)和主题来定制应用程序的外观。我们还公开了一个数据API,它允许第三方应用程序访问Joplin的数据。 + + +**[[相关阅读:5款Linux上的笔记应用]][5]** + +**这是一个竞争非常激烈的市场,那么是什么激发了您创建它的想法?** + +这是有原因的的。我从2016年开始研究它,因为我不喜欢现有的商业记事应用程序:笔记、附件或标签不能轻易被其他工具导出或操作。 + +这主要是由于供应商的封锁,另外还有供应商缺乏动力,因为他们没有动力帮助用户将他们的数据转移到其他应用程序。还有一个问题是,这些公司通常会以纯文本形式保存笔记,而这有可能造成数据隐私和安全方面的问题。 + +因此,我决定开始创建一个简单且具有同步功能的移动和终端应用程序,使我的笔记能够轻松地在我的设备上访问。之后又创建了桌面应用程序,项目从此开始发展。 + + +![Chrome OS上Joplin的图片][6] + +图片来自: (Opensource.com, CC BY-SA 4.0) + +**编写Joplin花了多长时间呢?** + +自2016年以来,我一直在断断续续地工作,但并不是专门去维护。不过在过去的两年里,我更加专注于它。 + +**对于准备创建自己的开源应用的人,你有什么建议?** + +挑选一个你自己使用的项目和你喜欢的技术来工作。 + +管理一个开源项目有时是很困难的,所以必须要有足够的兴趣去让它变得更有价值。那么我想 "早发布,多发布 "在这里也适用,这样你就可以衡量用户的兴趣,以及是否有必要花时间进一步开发这个项目。 + + +**有多少人参与了Joplin的开发?** + +有3-4人参与开发。目前,我们还有6名学生在谷歌代码之夏(Google Summer of Code)项目中工作。 + +**许多人都创建开源项目,但Joplin对您来说是一个巨大的成功。关于如何获得关注,你能否给开发者提供一些建议?** + +没有简单的公式,说实话,我不认为我可以在另一个项目中复制这种成功!你必须对你所做的事情充满热情,但同时也要严谨、有组织、稳步前进,确保代码质量保持高水平,并拥有大量的测试单元以防止倒退。 + +同时,对于你收到的用户反馈保持开放的态度,并在此基础上改进项目。 + +一旦你掌握了这些,剩下的可能就全靠运气了——如果你做的项目让很多人都感兴趣,事情可能会顺利进行! + +**一旦你得到关注,但如果你没有传统的营销预算,你如何保持这种势头?** + +我认为这是在于倾听项目周围的社区。举个例子来说,我从未计划过建立一个论坛,但有人在GitHub上提出了这个建议,所以我创建了一个论坛,它成为了一个分享想法、讨论功能、提供支持等很好的方式。社区也普遍欢迎新人,这形成了一种良性循环。 + +除此以外,定期就项目进行沟通也很重要。 + +我们没有一个公开的路线图,因为大多数功能的ETA通常是 "我不知道",但我试图就即将到来的功能、新版本等进行沟通。我们也会就重要的事件进行沟通,特别是谷歌的代码之夏,或者当我们有机会赢得像20i FOSS奖的时候。 + +最后,我们很快将在伦敦举行一次面对面的聚会,这是与社区和合作者保持联系的另一种方式。 + +**用户的反馈是如何影响路线图的?** + +很明显,贡献者们经常仅仅因为他们需要某个特性而从事某些工作。但除此之外,我们还根据论坛和GitHub问题追踪器上的信息,追踪对用户来说似乎最重要的功能。 + +例如,移动应用程序现在具有很高的优先级,因为我们经常从用户那里听到,它的限制和问题是有效使用Joplin的一个问题。 + +![桌面使用Joplin的图片][8] + +图片来自: (Opensource.com, CC BY-SA 4.0) + +**您如何跟进开发和编写代码的最新进展?** + +主要是通过阅读Hacker News! + +**你有个人最喜欢的自由/开源软件可以推荐吗?** + +在不太知名的项目中,[SpeedCrunch][9]作为一个计算器非常好。它有很多功能,而且很好的是它能保留以前所有计算的历史。 + +我还使用[KeepassXC][10]作为密码管理器。在过去的几年里,它一直在稳步改进。 + +最后,[Visual Studio Code][11]作为一个跨平台的文本编辑器非常棒。 + +**我原以为Joplin是以Janis的名字命名的,但维基百科告诉我来自是Scoot Joplin。你为什么选择这个名字?** + +我起初想把它命名为 "jot-it",但我想的这个名字已经被人取走了。 + +由于我那时经常听斯科特-乔普林的拉格泰姆音乐(我相当痴迷于此),我决定使用他的名字。 + +我认为产品名称的含义并不太重要,只要名称本身易于书写、发音、记忆,并与一些积极的东西(或至少没有消极的东西)有关。 + +我觉得"Joplin"符合所有条件。 + +**关于Joplin的计划,您还有什么可以说的吗?也许是对一个新功能的独家预告?** + +如前所述,我们非常希望在用户体验设计和新功能方面对移动应用进行改进。 + +我们也在考虑创建一个“插件商店”,以便更容易地浏览和安装插件。 + +**感谢Laurent — 祝Joplin的未来好运.** + +*[这篇访谈最初发表在20i博客上,已获得许可进行转载。][12]* + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/joplin-interview + +作者:[Richard Chambers][a] +选题:[lkxed][b] +译者:[MareDevi](https://github.com/MareDevi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/20i +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png +[2]: https://joplinapp.org/ +[3]: https://www.20i.com/foss-awards/winners +[4]: https://opensource.com/article/19/1/productivity-tool-joplin +[5]: https://opensource.com/article/22/8/note-taking-apps-linux +[6]: https://opensource.com/sites/default/files/2022-09/joplin-chrome-os.png +[7]: https://opensource.com/article/21/10/google-summer-code +[8]: https://opensource.com/sites/default/files/2022-09/joplin-desktop.png +[9]: https://heldercorreia.bitbucket.io/speedcrunch/ +[10]: https://opensource.com/article/18/12/keepassx-security-best-practices +[11]: https://opensource.com/article/20/6/open-source-alternatives-vs-code +[12]: https://www.20i.com/blog/joplin-creator-laurent-cozic/ From bbdce3c9019aa2063069a371c4bc0a2efdb23958 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 20 Oct 2022 12:04:50 +0800 Subject: [PATCH 013/925] RP @chai001125 https://linux.cn/article-15157-1.html --- ...mendations from open source enthusiasts.md | 197 ++++++++++++++++++ ...mendations from open source enthusiasts.md | 173 --------------- 2 files changed, 197 insertions(+), 173 deletions(-) create mode 100644 published/20220621 7 summer book recommendations from open source enthusiasts.md delete mode 100644 translated/talk/20220621 7 summer book recommendations from open source enthusiasts.md diff --git a/published/20220621 7 summer book recommendations from open source enthusiasts.md b/published/20220621 7 summer book recommendations from open source enthusiasts.md new file mode 100644 index 0000000000..66784a6b0c --- /dev/null +++ b/published/20220621 7 summer book recommendations from open source enthusiasts.md @@ -0,0 +1,197 @@ +[#]: subject: "7 summer book recommendations from open source enthusiasts" +[#]: via: "https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list" +[#]: author: "Joshua Allen Holm https://opensource.com/users/holmja" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15157-1.html" + +来自开源爱好者的 7 本读物推荐 +====== + +> 社区的成员们推荐这些书籍,涵盖了从有趣的悬疑小说到发人深省的非小说作品的各种类型,你一定能从中找到一本你想看的书! + +![](https://img.linux.net.cn/data/attachment/album/202210/20/115515jsppwzz8s1ssle7p.jpg) + +很高兴能为大家介绍 Opensource.com 的 2022 年暑期阅读清单。今年的榜单包含来自 Opensource.com 社区成员的 7 本精彩的读物推荐。你可以发现各种各样的书籍,涵盖从有趣舒适的谜团到探索发人深省主题的非小说类作品。我希望你能在这个榜单中找到感兴趣的书本。 + +希望你喜欢! + +### 《每个 Java 程序员都应该知道的 97 件事:专家的集体智慧》 + +![Book title 97 Things Every Java Programmer Should Know][4] + +> **《[每个 Java 程序员都应该知道的 97 件事:专家的集体智慧][5]97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts》** + +编辑:Kevlin Henney 和 Trisha Gee + +*[由 Seth Kenlon 推荐][6]* + +这本书是由 73 位在软件行业工作的不同作者共同撰写。它的优秀之处在于它不仅仅适用于 Java 编程。当然,有些章节会涉及 Java,但是也还有一些其他话题,例如了解你的容器环境、如何更快更好地交付软件、以及不要隐藏你的开发工具,这些适用于任何语言的开发。 + +更好的是,有些章节同样适用于生活中的问题。将问题和任务分成小的部分是解决任何问题的好建议;建立多样化的团队对所有合作者都很重要;由从散乱的一块块拼图到拼好的完成品,看起来像是拼图玩家的思路,也适用于不同的工作角色。 + +每章只有几页,总共有 97 个章节,你可以轻松跳过不适用于你自己的章节。无论你是一直在写 Java 代码、或者只是学过一点 Java,亦或是尚未开始学习 Java,对于对代码和软件开发过程感兴趣的极客来说,这都会是一本好书。 + +### 《城市不是计算机:其他的城市智能》 + +![Book title A City is Not a Computer][7] + +> **《[城市不是计算机:其他的城市智能][8]A City is Not a Computer: Other Urban Intelligences》** + +作者:Shannon Mattern + +*[由 Scott Nesbitt 推荐][9]* + +如今,让一切变得智能已经成为一种 *时尚*:我们的手机、家用电器、手表、汽车,甚至是城市都变得智能化了。 + +对于城市的智能化,这意味着传感器变得无处不在,在我们开展业务时收集数据,并根据这些数据向我们推送信息(无论数据有用与否)。 + +这就引出了一个问题,将所有高科技技术嵌入到城市中是否会使得城市智能化呢?在《城市不是计算机》这本书中,作者 Shannon Mattern 认为并不是这样的。 + +城市智能化的目标之一是为市民提供服务和更好的城市参与感。Mattern 指出,但是实际上,智慧城市“希望将技术专家的管理想法与公共服务相融合,从而将公民重新设置为‘消费者’和‘用户’”,然而,这并不是在鼓励公民积极参与城市的生活和治理。 + +第二个问题是关于智慧城市收集的数据。我们不知道收集了什么数据,以及收集了多少数据。我们也不知道这些数据使用在什么地方,以及是谁使用的。收集的数据太多了,以至于处理数据的市政工作人员会不堪重负。他们无法处理所有数据,因此他们专注于短期容易实现的任务,而忽略了更深层次和更紧迫的问题。这绝对达不到在推广智慧城市时所承诺的目标:智慧城市将成为解决城市困境的良药。 + +《城市不是计算机》是一本短小精悍、经过深入研究的、反对拥抱智慧城市的论证。这本书让我们思考智慧城市的真正目的:要让百姓真正受益于城市智能化,并引发我们的思考:发展智慧城市是否必要呢。 + +### 《git sync 谋杀案》 + +![Book title git sync murder][10] + +> **《[git sync 谋杀案][11]git sync murder》** + +作者:Michael Warren Lucas + +*[由 Joshua Allen Holm 推荐][12]* + +Dale Whitehead 宁愿呆在家里,通过他的电脑终端与世界连接,尤其是在他参加的最后一次会议上发生的事情之后。在那次会议上,Dale 扮演了一个业余侦探的角色,解决了一桩谋杀案。你可以在该系列的第一本书《git commit 谋杀案git commit murder》中读到那个案件。 + +现在,Dale 回到家,参加另一个会议,他再次发现自己成为了侦探。在《git sync 谋杀案git sync murder》中,Dale 参加了一个当地科技会议/科幻大会,会议上发现一具尸体。这是谋杀,还是只是一场意外?现在,Dale 是这些问题的“专家”,他发现自己被卷入了这件事,并要亲自去弄清楚到底发生了什么。再多说的话就剧透了,所以我能说《git sync 谋杀案》这本书十分引人入胜,而且读起来很有趣。不必先阅读《git commit 谋杀案》,才能阅读《git sync 谋杀案》,但我强烈推荐一起阅读该系列中的这两本书。 + +作者 Michael Warren Lucas 的《git 谋杀案》系列非常适合喜欢悬疑小说的科技迷。Lucas 写过很多复杂的技术题材的书,这本书也延续了他的技术题材,《git sync 谋杀案》这本书中的人物在会议活动上谈论技术话题。如果你因为新冠疫情,最近没有参加过会议,怀念参会体验的话,Lucas 将带你参加一个技术会议,其中还有一个谋杀之谜以待解决。Dale Whitehead 是一个有趣的业余侦探,我相信大多数读者会喜欢和 Dale 一起参加技术会议,并充当侦探破解谜案的。 + +### 《像女孩一样踢球》 + +![Book title Kick Like a Girl][13] + +> **《[像女孩一样踢球][14]Kick Like a Girl》** + +作者:Melissa Di Donato Roos + +*[由 Joshua Allen Holm 推荐][15]* + +没有人喜欢被孤立,当女孩 Francesca 想在公园里踢足球时,她也是这样。男孩们不会和她一起玩,因为她是女孩,所以她不高兴地回家了。她的母亲安慰她,讲述了有重要影响力的著名女性的故事。《像女孩一样踢球》中详述的历史人物包括历史中来自许多不同领域的女性。读者将了解 Frida Kahlo、Madeleine Albright、阿达·洛芙莱斯Ada Lovelace、Rosa Parks、Amelia Earhart、玛丽·居里Marie Curie(居里夫人)、Valentina Tereshkova、弗洛伦斯·南丁格尔Florence Nightingale 和 Malala Yousafzai 的故事。听完这些鼓舞人心的人物故事后,Francesca 回到公园,向男孩们发起了一场足球挑战。 + +《像女孩一样踢球》这本书的特色是作者 Melissa Di Donato Roos(SUSE 的 CEO,LCTT 译注:SUSE 是一家总部位于德国的软件公司,创立于 1992 年,以提供企业级 Linux 为主要业务)引人入胜的写作和 Ange Allen 的出色插图。这本书非常适合年轻读者,他们会喜欢押韵的文字和书中的彩色插图。Melissa Di Donato Roos 还写了另外两本童书,《美人鱼如何便便How Do Mermaids Poo?》和《魔盒The Magic Box》,这两本书也都值得一读。 + +### 《这是我的!:所有权的潜规则如何控制着我们的生活》 + +![Book title Mine!][16] + +> **《[这是我的!:所有权的潜规则如何控制着我们的生活][17]Mine!: How the Hidden Rules of Ownership Control Our Lives》** + +作者:Michael Heller 和 James Salzman + +*[由 Bryan Behrenshausen 推荐][18]* + +作者 Michael Heller 和 James Salzman 在文章《这是我的!》中写道:“你对所有权的很多了解都是错误的”。这是一种被吸引到开源领域的人不得不接受所有权规则的对抗性邀请。这本书肯定是为开源爱好者而写的,他们对代码、思想、各种知识产权的所有权的看法往往与主流观点和普遍接受的认知不同。在本书中,Heller 和 Salzman 列出了“所有权的隐藏规则”,这些规则管理着谁能控制对什么事物的访问。这些所有权规则是微妙的、强大的、有着深刻的历史惯例。这些所有权规则已经变得如此普遍,以至于看起来无可争议,这是因为“先到先得”或“种瓜得瓜,种豆得豆”的规则已经成为陈词滥调。然而,我们看到它们无处不在:在飞机上,为宝贵的腿部空间而战;在街道上,邻居们为铲好雪的停车位发生争执;在法庭上,陪审团决定谁能控制你的遗产和你的 DNA。在当下的数字时代,所有权的替代理论能否为重新思考基本权利创造空间?作者们认为这是可以的。如果这是正确的,我们可能会回应:在未来,开源软件能否成为所有权运作的模型呢? + +### 《并非所有童话故事都有幸福的结局:雪乐山公司的兴衰》 + +![Book Title Not All Fairy Tales Have Happy Endings][19] + +> **《[并非所有童话故事都有幸福的结局:雪乐山公司的兴衰][20]Not All Fairy Tales Have Happy Endings: The Rise and Fall of Sierra On-Line》** + +作者:Ken Williams + +*[由 Joshua Allen Holm 推荐][21]* + +在 1980 年代和 1990 年代,雪乐山公司Sierra On-Line是计算机软件行业的巨头。这家由 Ken 和 Roberta Williams 夫妻创立的公司,出身并不起眼,但却发布了许多标志性的电脑游戏。《国王密使King's Quest》、《宇宙传奇Space Quest》、《荣耀任务Quest for Glory》、《Leisure Suit Larry》 和 《狩魔猎人Gabriel Knight》 只是该公司几个最大的专属系列中的很小一部分。 + +《并非所有童话故事都有幸福的结局》这本书,涵盖了从雪乐山公司发布第一款游戏 《[神秘屋][22]Mystery House》,到该公司不幸地被 CUC 国际公司收购以及后续的所有内容。雪乐山品牌在被收购后仍存活了一段时间,但 Williams 创立的雪乐山已不复存在。Ken Williams 以一种只有他才能做到的方式,讲述了雪乐山公司的整个历史。雪乐山的历史叙述穿插了一些 Williams 提出的管理和计算机编程建议的章节。虽然 Ken Williams 在写这本书时,已经离开这个行业很多年了,但他的建议仍然非常重要。 + +虽然雪乐山公司已不复存在,但该公司对计算机游戏行业产生了持久的影响。对于任何对计算机软件历史感兴趣的人来说,《并非所有童话故事都有美好的结局》都是值得一读的。雪乐山公司在其鼎盛时期处于游戏开发的最前沿,从带领公司走过那个激动人心的岁月的 Ken Williams 身上,我们可以学到许多宝贵的经验。 + +### 《新机器的灵魂》 + +![Book title The Soul of a New Machine][23] + +> **《[新机器的灵魂][24]The Soul of a New Machine》** + +作者:Tracy Kidder + +*[由 Guarav Kamathe 推荐][25]* + +我是计算机历史的狂热读者。知道这些人们如此依赖(并且经常被认为是理所当然)的计算机是如何形成的,真是令人着迷!我是在 [Bryan Cantrill][27] 的博客文章中,第一次听说 《[新机器的灵魂][26]》这本书的。这是一本由 [Tracy Kidder][29] 编著的非虚构书籍,于 1981 年出版,作者 Tracy Kidder也因此获得了 [普利策奖][30]。故事发生在 1970 年代,想象一下你是负责设计 [下一代计算机][31] 工程团队中的一员。故事的背景是在通用数据公司Data General Corporation,该公司当时是一家小型计算机供应商,正在与美国数字设备公司Digital Equipment Corporation(DEC)的 32 位 VAX 计算机相竞争。该书概述了通用数据公司内部两个相互竞争的团队,都想在设计新机器上一展身手,结果导致了一场争斗。接下来,细致地描绘了随之展开的事件。这本书深入地讲述了相关工程师的思想、他们的工作环境、他们在此过程中面临的技术挑战、他们是如何克服这些困难的、以及压力如何影响到了他们的个人生活等等。任何想知道计算机是怎么制造出来的人都应该阅读这本书。 + +以上就是 2022 年的推荐阅读书目。它提供了很多非常棒的选择,我相信读者们能得到数小时发人深省的阅读时光。想获取更多书籍推荐,请查看我们历年的阅读书目。 + +* [2021 年 Opensource.com 推荐阅读书目][32] +* [2020 年 Opensource.com 推荐阅读书目][33] +* [2019 年 Opensource.com 推荐阅读书目][34] +* [2018 年 Open Organization 推荐阅读书目][35] +* [2016 年 Opensource.com 推荐阅读书目][36] +* [2015 年 Opensource.com 推荐阅读书目][37] +* [2014 年 Opensource.com 推荐阅读书目][38] +* [2013 年 Opensource.com 推荐阅读书目][39] +* [2012 年 Opensource.com 推荐阅读书目][40] +* [2011 年 Opensource.com 推荐阅读书目][41] +* [2010 年 Opensource.com 推荐阅读书目][42] + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list + +作者:[Joshua Allen Holm][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/holmja +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/tea-cup-mug-flowers-book-window.jpg +[2]: https://unsplash.com/@sixteenmilesout?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[3]: https://unsplash.com/s/photos/tea?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[4]: https://opensource.com/sites/default/files/2022-06/97_Things_Every_Java_Programmer_Should_Know_1.jpg +[5]: https://www.oreilly.com/library/view/97-things-every/9781491952689/ +[6]: https://opensource.com/users/seth +[7]: https://opensource.com/sites/default/files/2022-06/A_City_is_Not_a_Computer_0.jpg +[8]: https://press.princeton.edu/books/paperback/9780691208053/a-city-is-not-a-computer +[9]: https://opensource.com/users/scottnesbitt +[10]: https://opensource.com/sites/default/files/2022-06/git_sync_murder_0.jpg +[11]: https://mwl.io/fiction/crime#gsm +[12]: https://opensource.com/users/holmja +[13]: https://opensource.com/sites/default/files/2022-06/Kick_Like_a_Girl.jpg +[14]: https://innerwings.org/books/kick-like-a-girl +[15]: https://opensource.com/users/holmja +[16]: https://opensource.com/sites/default/files/2022-06/Mine.jpg +[17]: https://www.minethebook.com/ +[18]: https://opensource.com/users/bbehrens +[19]: https://opensource.com/sites/default/files/2022-06/Not_All_Fairy_Tales.jpg +[20]: https://kensbook.com/ +[21]: https://opensource.com/users/holmja +[22]: https://en.wikipedia.org/wiki/Mystery_House +[23]: https://opensource.com/sites/default/files/2022-06/The_Soul_of_a_New_Machine.jpg +[24]: https://www.hachettebookgroup.com/titles/tracy-kidder/the-soul-of-a-new-machine/9780316204552/ +[25]: https://opensource.com/users/gkamathe +[26]: https://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine +[27]: https://en.wikipedia.org/wiki/Bryan_Cantrill +[28]: http://dtrace.org/blogs/bmc/2019/02/10/reflecting-on-the-soul-of-a-new-machine/ +[29]: https://en.wikipedia.org/wiki/Tracy_Kidder +[30]: https://www.pulitzer.org/winners/tracy-kidder +[31]: https://en.wikipedia.org/wiki/Data_General_Eclipse_MV/8000 +[32]: https://opensource.com/article/21/6/2021-opensourcecom-summer-reading-list +[33]: https://opensource.com/article/20/6/summer-reading-list +[34]: https://opensource.com/article/19/6/summer-reading-list +[35]: https://opensource.com/open-organization/18/6/summer-reading-2018 +[36]: https://opensource.com/life/16/6/2016-summer-reading-list +[37]: https://opensource.com/life/15/6/2015-summer-reading-list +[38]: https://opensource.com/life/14/6/annual-reading-list-2014 +[39]: https://opensource.com/life/13/6/summer-reading-list-2013 +[40]: https://opensource.com/life/12/7/your-2012-open-source-summer-reading +[41]: https://opensource.com/life/11/7/summer-reading-list +[42]: https://opensource.com/life/10/8/open-books-opensourcecom-summer-reading-list diff --git a/translated/talk/20220621 7 summer book recommendations from open source enthusiasts.md b/translated/talk/20220621 7 summer book recommendations from open source enthusiasts.md deleted file mode 100644 index 0c184ad03e..0000000000 --- a/translated/talk/20220621 7 summer book recommendations from open source enthusiasts.md +++ /dev/null @@ -1,173 +0,0 @@ -[#]: subject: "7 summer book recommendations from open source enthusiasts" -[#]: via: "https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list" -[#]: author: "Joshua Allen Holm https://opensource.com/users/holmja" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -来自开源爱好者的 7 本读物推荐 -====== -Opensource.com 社区的成员推荐这些书籍,涵盖了从有趣的悬疑小说到发人深省的非小说作品的各种类型,你一定能从中找到一本你想看的书! - -![Ceramic mug of tea or coffee with flowers and a book in front of a window][1] - -很高兴能为大家介绍 Opensource.com 的 2022 年暑期阅读清单。今年的榜单包含来自 Opensource.com 社区成员的 7 本精彩的读物推荐。你可以发现各种各样的书籍,涵盖从有趣舒适的谜团到探索发人深省主题的非小说类作品。我希望你能在这个榜单中找到感兴趣的书本。 - -请享受吧! - -![Book title 97 Things Every Java Programmer Should Know][4] - -**[《每个 Java 程序员都应该知道的 97 件事》:专家的集体智慧,作者:Kevlin Henney 和 Trisha Gee][5]** -(97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts, edited by Kevlin Henney and Trisha Gee) - -*[由 Seth Kenlon 推荐][6]* - -这本书是由 73 位在软件行业工作的不同作者共同撰写。它的优秀之处在于它不仅仅适用于 Java 编程。当然,有些章节会涉及 Java,但是也还有一些其他话题,例如了解你的容器环境、如何更快更好地交付软件、以及无论使用哪种语言都不要隐藏适用于开发的工具。 - -更好的是,有些章节同样适用于生活中的问题。将问题和任务分成小的部分是解决任何问题的好建议;建立多元化的团队对所有合作者都很重要;由从散乱的一块块拼图到拼好的完成品中,得到拼图玩家的思想如何应用于不同的工作角色。 - -每章只有几页,总共有 97 个章节,你可以轻松跳过不适用于你自己的章节。无论你是一直在写 Java 代码、或者只是学过一点 Java,亦或是尚未开始学习 Java,对于对代码和软件开发过程感兴趣的极客来说,这都会是一本好书。 - -![Book title A City is Not a Computer][7] - -**[《城市不是计算机:其他的城市智能》,作者:Shannon Mattern][8]** -(A City is Not a Computer: Other Urban Intelligences, by Shannon Mattern) - -*[由 Scott Nesbitt 推荐][9]* - -如今,让一切变得智能已经成为一种 *时尚*:我们的手机、家用电器、手表、汽车,甚至是城市都变得智能化了。 - -对于城市的智能化,这意味着传感器变得无处不在,在我们开展业务时收集数据,并根据这些数据向我们推送信息(无论数据有用与否)。 - -这就引出了一个问题,将所有高科技技术嵌入到城市中是否会使得城市智能化呢?在《城市不是计算机》这本书中,作者 Shannon Mattern 认为并不是这样的。 - -城市智能化的目标之一是为市民提供服务和更好的城市参与感。Mattern 指出,但是实际上,智慧城市希望将技术专家的管理想法与公共服务相融合,从而将公民重新设置为‘消费者’和‘用户’,然而,这并不是在鼓励公民积极参与城市的生活和治理。 - -第二个问题是关于智慧城市收集的数据。我们不知道收集了什么数据,以及收集了多少数据。我们也不知道这些数据使用在什么地方,以及是谁使用的。收集的数据太多了,以至于处理数据的市政工作人员会不堪重负。他们无法处理所有数据,因此他们专注于短期容易实现的任务,而忽略了更深层次和更紧迫的问题。这绝对达不到在推广智慧城市时所承诺的目标:智慧城市将成为解决城市困境的良药。 - -《城市不是计算机》是一篇短小精悍、经过深入研究的、反对拥抱智慧城市的议论文。这本书让我们思考智慧城市的真正目的:要让百姓真正受益于城市智能化,并引发我们的思考:发展智慧城市是否必要呢。 - -![Book title git sync murder][10] - -**[《git sync 谋杀》,作者:Michael Warren Lucas][11]** -(git sync murder, by Michael Warren Lucas) - -*[由 Joshua Allen Holm 推荐][12]* - -Dale Whitehead 宁愿呆在家里,通过他的电脑终端与世界连接,尤其是在他参加的最后一次会议上发生的事情之后。在那次会议上,Dale 扮演了一个业余侦探的角色,要解决一桩谋杀案。你可以在本系列的第一本书《git commit 谋杀(git commit murder)》中阅读这个故事。 - -现在,Dale 回到家,并参加了另一个会议,他再次发现自己成为了侦探。在《git sync 谋杀(git sync murder)》中,Dale 参加了一个当地科技会议,会议上发现一具尸体。这是谋杀,还是只是一场意外?现在,Dale 是这些问题的“专家”,他发现自己被卷入了这件事,并要亲自去弄清楚到底发生了什么。再多说的话就剧透了,所以我能说《git sync 谋杀》这本书十分引人入胜,而且读起来很有趣。不必先阅读《git commit 谋杀(git commit murder)》,才能阅读《git sync 谋杀》,但我强烈推荐一起阅读该系列中的这两本书。 - -作者 Michael Warren Lucas 的“git 谋杀”系列非常适合喜欢悬疑小说的科技迷。Lucas 写过很多复杂的技术题材的书,这本书也延续了他的技术题材,《git sync 谋杀》这本书中的人物在会议活动上谈论技术话题。如果你因为新冠疫情,最近没有参加过会议,错过了参会体验的话,Lucas 将带你参加一个技术会议,其中还有一个谋杀之谜以待解决。Dale Whitehead 是一个有趣的业余侦探,我相信大多数 Opensource.com 的读者会喜欢和 Dale 一起参加技术会议,并充当侦探破解谜案的。 - -![Book title Kick Like a Girl][13] - -**[《像女孩一样踢球》, 作者:Melissa Di Donato Roos][14]**(Kick Like a Girl) - -*[由 Joshua Allen Holm 推荐][15]* - -没有人喜欢被孤立,当女孩 Francesca 想在公园里踢足球时,她也是这样。男孩们不会和她一起玩,因为她是女孩,所以她不高兴地回家了。她的母亲通过讲述有重要影响力的著名女性的故事来安慰她。《像女孩一样踢球》中详述的历史人物包括历史中来自许多不同领域的女性。读者将了解 Frida Kahlo、Madeleine Albright、Ada Lovelace、Rosa Parks、Amelia Earhart、Marie Curie、Valentina Tereshkova、Florence Nightingale 和 Malala Yousafzai 的故事。听完这些鼓舞人心的人物故事后,Francesca 回到公园,向男孩们发起了一场足球挑战。 - -《像女孩一样踢球》这本书的特色是作者 Melissa Di Donato Roos(SUSE(译注:SUSE是一家总部位于德国的软件公司,创立于1992年,以提供企业级Linux为主要业务)的 CEO)引人入胜的写作和 Ange Allen 的出色插图。这本书非常适合年轻读者,他们会喜欢押韵的文字和书中的彩色插图。Melissa Di Donato Roos 还写了另外两本童书,《美人鱼如何便便(How Do Mermaids Poo?)》和《魔盒(The Magic Box)》,这两本书也都值得一读。 - -![Book title Mine!][16] - -**[《这是我的!:所有权的潜规则如何控制着我们的生活》, 作者:Michael Heller 和 James Salzman][17]** -(Mine!: How the Hidden Rules of Ownership Control Our Lives) - -*[由 Bryan Behrenshausen 推荐][18]* - -作者 Michael Heller 和 James Salzman 在文章《这是我的!》中写道:“你对所有权的很多了解都是错误的”。这是一种被吸引到开源领域的人不得不接受所有权规则的对抗性邀请。这本书是为开源爱好者而写的,他们对代码、思想、各种知识产权的所有权的看法往往与主流观点和普遍接受的认知不同。在本书中,Heller 和 Salzman 列出了“所有权的隐藏规则”,这些规则管理着谁能控制对什么事物的访问。这些所有权规则是微妙的、强大的、有着深刻的历史惯例。这些所有权规则已经变得如此普遍,以至于看起来无可争议,这是因为“先到先得”或“种瓜得瓜,种豆得豆”的规则已经成为陈词滥调。然而,我们看到它们无处不在:在飞机上,为宝贵的腿部空间而战;在街道上,邻居们为铲好雪的停车位发生争执;在法庭上,陪审团决定谁能控制你的遗产和你的 DNA。在当下的数字时代,所有权的替代理论能否为重新思考基本权利创造空间?作者认为这是可以的。如果这是正确的,我们可能会回应:在未来,开源软件能否成为所有权运作的模型呢? - -![Book Title Not All Fairy Tales Have Happy Endings][19] - -**[并非所有童话故事都有幸福的结局:雪乐山公司(Sierra On-Line)的兴衰, 作者:Ken Williams][20]** -(Not All Fairy Tales Have Happy Endings: The Rise and Fall of Sierra On-Line) - -*[由 Joshua Allen Holm 推荐][21]* - -在 1980 年代和 1990 年代,雪乐山公司(Sierra On-Line)是计算机软件行业的巨头。这家由 Ken 和 Roberta Williams 创立的公司,出身并不起眼,但却发布了许多标志性的电脑游戏。King's Quest、Space Quest、Quest for Glory、Leisure Suit Larry 和 Gabriel Knight 只是该公司版权中的很小一部分。 - -《并非所有童话故事都有幸福的结局》这本书,涵盖了从雪乐山公司发布第一款游戏 [Mystery House][22],到该公司不幸地被 CUC International 收购以及后续的所有内容。Sierra 品牌在被收购后仍会存活了一段时间,但 Williams 创立的 Sierra 已不复存在。Ken Williams 以只有他能做到的方式,讲述了雪乐山公司的整个历史。Sierra 的历史叙述穿插在 Williams 提出的管理和计算机编程建议的章节之中。虽然 Ken Williams 在写这本书时,已经离开这个行业很多年了,但他的建议仍然非常重要。 - -虽然雪乐山公司已不复存在,但该公司对计算机游戏行业产生了持久的影响。对于任何对计算机软件历史感兴趣的人来说,《并非所有童话故事都有美好的结局》都是值得一读的。雪乐山公司在其鼎盛时期处于游戏开发的最前沿,从带领公司走过那个激动人心的岁月的 Ken Williams 身上,我们可以学到许多宝贵的经验。 - -![Book title The Soul of a New Machine][23] - -**[《新机器的灵魂》, 作者:Tracy Kidder][24]**(The Soul of a New Machine) - -*[由 Guarav Kamathe 推荐][25]* - -我是计算机历史的狂热读者。知道这些人们如此依赖(并且经常被认为是理所当然)的计算机是如何形成的,真是令人着迷!我是在 [Bryan Cantrill][27] 的博客文章中,第一次听说 [《新机器的灵魂》][26] (The Soul of a New Machine)这本书的。这是一本由 [Tracy Kidder][29] 编著的非小说类书籍,于 1981 年出版,作者Tracy Kidder也因此获得了 [普利策奖][30]。故事发生在 1970 年代,想象一下你是负责设计 [下一代计算机][31] 工程团队中的一员。故事的背景是在通用数据公司(Data General Corporation),该公司当时是一家小型计算机供应商,正在与美国数字设备公司(Digital Equipment Corporation,简称DEC)的 32 位 VAX 计算机相竞争。这本书概述了通用数据公司内部的两个都想尝试设计新机器的竞争团队,是如何发生不和的。接下来,细致地描绘了随之展开的事件。这本书深入地讲述了相关工程师的思想、他们的工作环境、他们在此过程中面临的技术挑战、他们是如何克服这些困难的、以及压力如何影响到了他们的个人生活等等。任何想知道计算机是怎么制造出来的人都应该阅读这本书。 - -以上就是2022年的推荐阅读书目。它提供了很多非常棒的选择,我相信 Opensource.com 的读者能得到数小时发人深省的阅读时光。想获取更多书籍推荐,请查看我们历年的阅读书目。 - -* [2021 年 Opensource.com 推荐阅读书目][32] -* [2020 年 Opensource.com 推荐阅读书目][33] -* [2019 年 Opensource.com 推荐阅读书目][34] -* [2018 年 Open Organization 推荐阅读书目][35] -* [2016 年 Opensource.com 推荐阅读书目][36] -* [2015 年 Opensource.com 推荐阅读书目][37] -* [2014 年 Opensource.com 推荐阅读书目][38] -* [2013 年 Opensource.com 推荐阅读书目][39] -* [2012 年 Opensource.com 推荐阅读书目][40] -* [2011 年 Opensource.com 推荐阅读书目][41] -* [2010 年 Opensource.com 推荐阅读书目][42] - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list - -作者:[Joshua Allen Holm][a] -选题:[lkxed][b] -译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/holmja -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/tea-cup-mug-flowers-book-window.jpg -[2]: https://unsplash.com/@sixteenmilesout?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[3]: https://unsplash.com/s/photos/tea?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[4]: https://opensource.com/sites/default/files/2022-06/97_Things_Every_Java_Programmer_Should_Know_1.jpg -[5]: https://www.oreilly.com/library/view/97-things-every/9781491952689/ -[6]: https://opensource.com/users/seth -[7]: https://opensource.com/sites/default/files/2022-06/A_City_is_Not_a_Computer_0.jpg -[8]: https://press.princeton.edu/books/paperback/9780691208053/a-city-is-not-a-computer -[9]: https://opensource.com/users/scottnesbitt -[10]: https://opensource.com/sites/default/files/2022-06/git_sync_murder_0.jpg -[11]: https://mwl.io/fiction/crime#gsm -[12]: https://opensource.com/users/holmja -[13]: https://opensource.com/sites/default/files/2022-06/Kick_Like_a_Girl.jpg -[14]: https://innerwings.org/books/kick-like-a-girl -[15]: https://opensource.com/users/holmja -[16]: https://opensource.com/sites/default/files/2022-06/Mine.jpg -[17]: https://www.minethebook.com/ -[18]: https://opensource.com/users/bbehrens -[19]: https://opensource.com/sites/default/files/2022-06/Not_All_Fairy_Tales.jpg -[20]: https://kensbook.com/ -[21]: https://opensource.com/users/holmja -[22]: https://en.wikipedia.org/wiki/Mystery_House -[23]: https://opensource.com/sites/default/files/2022-06/The_Soul_of_a_New_Machine.jpg -[24]: https://www.hachettebookgroup.com/titles/tracy-kidder/the-soul-of-a-new-machine/9780316204552/ -[25]: https://opensource.com/users/gkamathe -[26]: https://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine -[27]: https://en.wikipedia.org/wiki/Bryan_Cantrill -[28]: http://dtrace.org/blogs/bmc/2019/02/10/reflecting-on-the-soul-of-a-new-machine/ -[29]: https://en.wikipedia.org/wiki/Tracy_Kidder -[30]: https://www.pulitzer.org/winners/tracy-kidder -[31]: https://en.wikipedia.org/wiki/Data_General_Eclipse_MV/8000 -[32]: https://opensource.com/article/21/6/2021-opensourcecom-summer-reading-list -[33]: https://opensource.com/article/20/6/summer-reading-list -[34]: https://opensource.com/article/19/6/summer-reading-list -[35]: https://opensource.com/open-organization/18/6/summer-reading-2018 -[36]: https://opensource.com/life/16/6/2016-summer-reading-list -[37]: https://opensource.com/life/15/6/2015-summer-reading-list -[38]: https://opensource.com/life/14/6/annual-reading-list-2014 -[39]: https://opensource.com/life/13/6/summer-reading-list-2013 -[40]: https://opensource.com/life/12/7/your-2012-open-source-summer-reading -[41]: https://opensource.com/life/11/7/summer-reading-list -[42]: https://opensource.com/life/10/8/open-books-opensourcecom-summer-reading-list From 94dc39ca57540b9325c5ecb6e63defae27454bd4 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Thu, 20 Oct 2022 13:51:35 +0800 Subject: [PATCH 014/925] translating by chai001125 --- ...0210629 Try Linux on any operating system with VirtualBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md index ccf231735e..9be0476542 100644 --- a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md +++ b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/try-linux-virtualbox) [#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 43cd43c6e750aa1d0174bfa19884edeb51dcfb72 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 20 Oct 2022 16:16:55 +0800 Subject: [PATCH 015/925] RP @MjSeven https://linux.cn/article-15158-1.html --- ...ress In Linux And Unix From Commandline.md | 104 +++++++++--------- 1 file changed, 50 insertions(+), 54 deletions(-) rename {translated/tech => published}/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md (66%) diff --git a/translated/tech/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md b/published/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md similarity index 66% rename from translated/tech/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md rename to published/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md index 4947ec0c3a..006378d554 100644 --- a/translated/tech/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md +++ b/published/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md @@ -3,28 +3,26 @@ [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" [#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15158-1.html" -在 Linux 和 Unix 中如何从命令行查找默认网关的 IP 地址 +在 Linux 中如何从命令行查找默认网关的 IP 地址 ====== -Linux 下查找网关或路由器 IP 地址的 5 种方法。 -**网关**是一个节点或一个路由器,当连接到同一路由器时,它允许两个或多个 IP 地址不同的主机相互通信。如果没有网关,它们将无法相互通信。换句话说,网关充当接入点,将网络数据从本地网络传输到远程网络。在本指南中,我们将看到在 Linux 和 Unix 中从命令行找到默认网关的所有可能方法。 +![](https://img.linux.net.cn/data/attachment/album/202210/20/161605f5ispl5jslbpllss.jpg) -#### 内容 +> Linux 下查找网关或路由器 IP 地址的 5 种方法。 -1. 在 Linux 中查找默认网关 1.1 使用 ip 命令查找默认网关 1.2 使用 route 命令显示默认网关 IP 地址 1.3 使用 netstat 命令查看网关 IP 地址 1.4 使用 routel 命令打印默认网关或路由器 IP 地址 1.5 从以太网配置文件中查找网关 -2. 总结 +**网关** 是一个节点或一个路由器,当连接到同一路由器时,它允许两个或多个 IP 地址不同的主机相互通信。如果没有网关,它们将无法相互通信。换句话说,网关充当接入点,将网络数据从本地网络传输到远程网络。在本指南中,我们将看到在 Linux 和 Unix 中从命令行找到默认网关的所有可能方法。 ### 在 Linux 中查找默认网关 -Linux 中有各种各样的命令行工具可用于查看网关 IP 地址。最常用的工具是:**ip**、**ss** 和 **netcat**。我们将通过示例了解如何使用每种工具查看默认网关。 +Linux 中有各种各样的命令行工具可用于查看网关 IP 地址。最常用的工具是:`ip`、`ss` 和 `netcat`。我们将通过示例了解如何使用每种工具查看默认网关。 -#### 1. 使用 ip 命令查找默认网关 +#### 1、使用 ip 命令查找默认网关 -**ip** 命令用于显示和操作 Linux 中的路由、网络设备、接口和隧道。 +`ip` 命令用于显示和操作 Linux 中的路由、网络设备、接口和隧道。 要查找默认网关或路由器 IP 地址,只需运行: @@ -44,7 +42,7 @@ $ ip r $ ip route show ``` -**示例输出:** +示例输出: ``` default via 192.168.1.101 dev eth0 proto static metric 100 @@ -52,34 +50,30 @@ default via 192.168.1.101 dev eth0 proto static metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20 metric 100 ``` -你从输出中看到了 **"default via 192.168.1.101"** 这一行吗?它就是默认网关。我的默认网关是 **192.168.1.101**。 +你从输出中看到了 `default via 192.168.1.101` 这一行吗?它就是默认网关。我的默认网关是 `192.168.1.101`。 -你可以使用 **-4** 参数只**显示 IPv4 网关**: +你可以使用 `-4` 参数只`显示 IPv4 网关`: ``` $ ip -4 route ``` -或者,使用 **`-6`** 参数只**显示 IPv6 网关**: +或者,使用 `-6` 参数只**显示 IPv6 网关**: ``` $ ip -6 route ``` -如你所见,IP 地址和子网详细信息也一并显示了。如果你想只显示默认网关,排除所有其他细节,可以使用 `ip route` 搭配 **`awk`** 命令,如下所示。 - -使用 `ip route` 和 `grep` 查找默认网关 IP 地址,执行命令: - -```(to 校正,此条命令原文无,怀疑是作者忘记加了) -$ ip route | grep default -``` +如你所见,IP 地址和子网详细信息也一并显示了。如果你想只显示默认网关,排除所有其他细节,可以使用 `ip route` 搭配 `awk` 命令,如下所示。 使用 `ip route` 和 `awk` 命令打印网关地址,执行命令: -```(to 校正,译注:wsl1 上无输出结果,正常 Linux 发行版无问题) +``` $ ip route | awk '/^default/{print $3}' ``` +(LCTT 译注:wsl1 上无输出结果,正常 Linux 发行版无问题) + 或者: ``` @@ -88,7 +82,7 @@ $ ip route show default | awk '{print $3}' 这将只列出网关 IP: -**示例输出:** +示例输出: ``` 192.168.1.101 @@ -96,18 +90,20 @@ $ ip route show default | awk '{print $3}' ![使用 ip 命令列出默认网关][1] -你也可以使用 **[grep][2]** 命令配合 `ip route` 对默认网关进行过滤。 +你也可以使用 [grep][2] 命令配合 `ip route` 对默认网关进行过滤。 + +使用 `ip route` 和 `grep` 查找默认网关 IP 地址,执行命令: ``` $ ip route | grep default default via 192.168.1.101 dev eth0 proto static metric 100 ``` -在最新的 Linux 发行版中,`ip route` 是查找默认网关 ip 地址的推荐命令。然而,你们中的一些人可能仍然在使用传统的工具,如 `route` 和 **`netstat`**。旧习难改,对吧?下面的部分将介绍如何在 Linux 中使用 `route` 和 `netstat` 命令确定网关。 +在最新的 Linux 发行版中,`ip route` 是查找默认网关 IP 地址的推荐命令。然而,你们中的一些人可能仍然在使用传统的工具,如 `route` 和 `netstat`。旧习难改,对吧?下面的部分将介绍如何在 Linux 中使用 `route` 和 `netstat` 命令确定网关。 -#### 2. 使用 route 命令显示默认网关 IP 地址 +#### 2、使用 route 命令显示默认网关 IP 地址 -**route** 命令用于在较老的 Linux 发行版中显示和操作路由表,如 RHEL 6、CentOS 6 等。 +`route` 命令用于在较老的 Linux 发行版中显示和操作路由表,如 RHEL 6、CentOS 6 等。 如果你正在使用较老的 Linux 发行版,你可以使用 `route` 命令来显示默认网关。 @@ -119,7 +115,7 @@ default via 192.168.1.101 dev eth0 proto static metric 100 $ dnf provides route ``` -**示例输出:** +示例输出: ``` net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools @@ -133,7 +129,7 @@ Matched from: Filename : /usr/sbin/route ``` -如你所见,net-tools 包提供了 `route` 命令。所以,让我们使用以下命令来安装它: +如你所见,`net-tools` 包提供了 `route` 命令。所以,让我们使用以下命令来安装它: ``` $ sudo dnf install net-tools @@ -145,7 +141,7 @@ $ sudo dnf install net-tools $ route -n ``` -**示例输出:** +示例输出: ``` Kernel IP routing table @@ -157,13 +153,13 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ![使用 route 命令显示默认网关 IP 地址][3] -如你所见,网关 IP 地址是 192.168.1.101。你还将在 Flags 下面看到两个字母 **UG**。字母 **U** 代表接口是 **UP**,**G** 表示网关。 +如你所见,网关 IP 地址是 192.168.1.101。你还将在 Flags 下面看到两个字母 `UG`。字母 `U` 代表接口是 “Up”(在运行),`G` 表示 “Gateway”(网关)。 -#### 3. 使用 netstat 命令查看网关 IP 地址 +#### 3、使用 netstat 命令查看网关 IP 地址 -**Netstat** 会输出 Linux 网络子系统的信息。使用 netstat 工具,我们可以在 Linux 和 Unix 系统中打印网络连接、路由表、接口统计信息、伪装连接和组播成员关系。 +`netstat` 会输出 Linux 网络子系统的信息。使用 `netstat` 工具,我们可以在 Linux 和 Unix 系统中打印网络连接、路由表、接口统计信息、伪装连接和组播成员关系。 -Netstat 是 net-tools 包的一部分,所以确保你已经在 Linux 系统中安装了它。使用以下命令在基于 RHEL 的系统中安装它: +`netstat` 是 `net-tools` 包的一部分,所以确保你已经在 Linux 系统中安装了它。使用以下命令在基于 RHEL 的系统中安装它: ``` $ sudo dnf install net-tools @@ -175,7 +171,7 @@ $ sudo dnf install net-tools $ netstat -rn ``` -**示例输出:** +示例输出: ``` Kernel IP routing table @@ -187,26 +183,26 @@ Destination Gateway Genmask Flags MSS Window irtt Iface ![使用 netstat 命令查看网关 IP 地址][4] -`netstat` 命令与 `route` 命令的输出信息相同。如上输出可知,网关的 IP 地址为 192.168.1.191,UG 表示网关连接的网卡(NIC)是有效的,G 表示网关。 +`netstat` 命令与 `route` 命令的输出信息相同。如上输出可知,网关的 IP 地址为 `192.168.1.191`,`UG` 表示网关连接的网卡是有效的,`G` 表示网关。 -请注意 `netstat` 也已弃用,建议使用 **ss** 命令代替 netstat。 +请注意 `netstat` 也已弃用,建议使用 `ss` 命令代替 `netstat`。 -#### 4. 使用 routel 命令打印默认网关或路由器 IP 地址 +#### 4、使用 routel 命令打印默认网关或路由器 IP 地址 -**routel** 是一个脚本,它以一种漂亮格式的输出路由。routel 脚本的输出让一些人认为比 `ip route` 列表更直观。 +`routel` 是一个脚本,它以一种漂亮格式的输出路由。`routel` 脚本的输出让一些人认为比 `ip route` 列表更直观。 -routel 脚本也是 net-tools 包的一部分。 +`routel` 脚本也是 `net-tools` 包的一部分。 -打印默认网关或路由器 IP 地址,运行 routel 脚本,不带任何参数,如下所示: +打印默认网关或路由器 IP 地址,不带任何参数运行 `routel` 脚本,如下所示: ``` $ routel ``` -**示例输出:** +示例输出: ``` -target gateway source proto scope dev tbl + target gateway source proto scope dev tbl default 192.168.1.101 static eth0 172.17.0.0/ 16 172.17.0.1 kernel linkdocker0 192.168.1.0/ 24 192.168.1.20 kernel link eth0 @@ -241,11 +237,11 @@ $ routel | grep default default 192.168.1.101 static eth0 ``` -#### 5. 从以太网配置文件中查找网关 +#### 5、从以太网配置文件中查找网关 -如果你在 **[Linux 或 Unix 中配置了静态 IP 地址][6],你可以通过查看网络配置文件查看默认网关或路由器 IP 地址。 +如果你在 [Linux 或 Unix 中配置了静态 IP 地址][6],你可以通过查看网络配置文件查看默认网关或路由器 IP 地址。 -在基于 RPM 的系统上,如 Fedora、RHEL、CentOS、AlmaLinux 和 Rocky Linux 等,网络接口卡(简称 **NIC**)配置存储在 **/etc/sysconfig/network-scripts/** 目录下。 +在基于 RPM 的系统上,如 Fedora、RHEL、CentOS、AlmaLinux 和 Rocky Linux 等,网络接口卡配置存储在 `/etc/sysconfig/network-scripts/` 目录下。 查找网卡的名称: @@ -253,7 +249,7 @@ $ routel | grep default # ip link show ``` -**示例输出:** +示例输出: ``` 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 @@ -262,13 +258,13 @@ $ routel | grep default link/ether d2:85:0c:c7:c1:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 0 ``` -网卡名为 **eth0**。所以让我们打开这个 NIC 文件的网卡配置: +网卡名为 `eth0`。所以让我们打开这个网卡文件的网卡配置: ``` # cat /etc/sysconfig/network-scripts/ifcfg-eth0 ``` -**示例输出:** +示例输出: ``` DEVICE=eth0 @@ -283,13 +279,13 @@ DNS1=8.8.8.8 如你所见,网关 IP 为 `192.168.1.101`。 -在 Debian、Ubuntu 及其衍生版中,所有的网络配置文件都存储在 **/etc/network** 目录下。 +在 Debian、Ubuntu 及其衍生版中,所有的网络配置文件都存储在 `/etc/network` 目录下。 ``` $ cat /etc/network/interfaces ``` -**示例输出:** +示例输出: ``` auto ens18 @@ -313,7 +309,7 @@ via: https://ostechnix.com/find-default-gateway-linux/ 作者:[sk][a] 选题:[lkxed][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 088f9f6d79261650397aeca545d0819ff9225a76 Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Thu, 20 Oct 2022 21:47:24 +0800 Subject: [PATCH 016/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Java serverless functions in Kubernetes.md | 267 ------------------ ...Java serverless functions in Kubernetes.md | 267 ++++++++++++++++++ 2 files changed, 267 insertions(+), 267 deletions(-) delete mode 100644 sources/tech/20210604 Optimize Java serverless functions in Kubernetes.md create mode 100644 translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md diff --git a/sources/tech/20210604 Optimize Java serverless functions in Kubernetes.md b/sources/tech/20210604 Optimize Java serverless functions in Kubernetes.md deleted file mode 100644 index 432ef50ae2..0000000000 --- a/sources/tech/20210604 Optimize Java serverless functions in Kubernetes.md +++ /dev/null @@ -1,267 +0,0 @@ -[#]: subject: (Optimize Java serverless functions in Kubernetes) -[#]: via: (https://opensource.com/article/21/6/java-serverless-functions-kubernetes) -[#]: author: (Daniel Oh https://opensource.com/users/daniel-oh) -[#]: collector: (lujun9972) -[#]: translator: (cool-summer-021) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -Optimize Java serverless functions in Kubernetes -====== -Achieve faster startup and a smaller memory footprint to run serverless -functions on Kubernetes. -![Ship captain sailing the Kubernetes seas][1] - -A faster startup and smaller memory footprint always matter in [Kubernetes][2] due to the expense of running thousands of application pods and the cost savings of doing it with fewer worker nodes and other resources. Memory is more important than throughput on containerized microservices on Kubernetes because: - - * It's more expensive due to permanence (unlike CPU cycles) - * Microservices multiply the overhead cost - * One monolith application becomes _N_ microservices (e.g., 20 microservices ≈ 20GB) - - - -This significantly impacts serverless function development and the Java deployment model. This is because many enterprise developers chose alternatives such as Go, Python, and Nodejs to overcome the performance bottleneck—until now, thanks to [Quarkus][3], a new Kubernetes-native Java stack. This article explains how to optimize Java performance to run serverless functions on Kubernetes using Quarkus. - -### Container-first design - -Traditional frameworks in the Java ecosystem come at a cost in terms of the memory and startup time required to initialize those frameworks, including configuration processing, classpath scanning, class loading, annotation processing, and building a metamodel of the world, which the framework requires to operate. This is multiplied over and over for different frameworks. - -Quarkus helps fix these Java performance issues by "shifting left" almost all of the overhead to the build phase. By doing code and framework analysis, bytecode transformation, and dynamic metamodel generation only once, at build time, you end up with a highly optimized runtime executable that starts up super fast and doesn't require all the memory of a traditional startup because the work is done once, in the build phase. - -![Quarkus Build phase][4] - -(Daniel Oh, [CC BY-SA 4.0][5]) - -More importantly, Quarkus allows you to build a native executable file that provides [performance advantages][6], including amazingly fast boot time and incredibly small resident set size (RSS) memory, for instant scale-up and high-density memory utilization compared to the traditional cloud-native Java stack. - -![Quarkus RSS and Boot Time Metrics][7] - -(Daniel Oh, [CC BY-SA 4.0][5]) - -Here is a quick example of how you can build the native executable with a [Java serverless][8] function project using Quarkus. - -### 1\. Create the Quarkus serverless Maven project - -This command generates a Quarkus project (e.g., `quarkus-serverless-native`) to create a simple function: - - -``` -$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ -       -DprojectGroupId=org.acme \ -       -DprojectArtifactId=quarkus-serverless-native \ -       -DclassName="org.acme.getting.started.GreetingResource" -``` - -### 2\. Build a native executable - -You need a GraalVM to build a native executable for the Java application. You can choose any GraalVM distribution, such as [Oracle GraalVM Community Edition (CE)][9] and [Mandrel][10] (the downstream distribution of Oracle GraalVM CE). Mandrel is designed to support building Quarkus-native executables on OpenJDK 11. - -Open `pom.xml`, and you will find this `native` profile. You'll use it to build a native executable: - - -``` -<profiles> -    <profile> -        <id>native</id> -        <properties> -            <quarkus.package.type>native</quarkus.package.type> -        </properties> -    </profile> -</profiles> -``` - -> **Note:** You can install the GraalVM or Mandrel distribution locally. You can also download the Mandrel container image to build it (as I did), so you need to run a container engine (e.g., Docker) locally. - -Assuming you have started your container runtime already, run one of the following Maven commands. - -For [Docker][11]: - - -``` -$ ./mvnw package -Pnative \ --Dquarkus.native.container-build=true \ --Dquarkus.native.container-runtime=docker -``` - -For [Podman][12]: - - -``` -$ ./mvnw package -Pnative \ --Dquarkus.native.container-build=true \ --Dquarkus.native.container-runtime=podman -``` - -The output should end with `BUILD SUCCESS`. - -![Native Build Logs][13] - -(Daniel Oh, [CC BY-SA 4.0][5]) - -Run the native executable directly without Java Virtual Machine (JVM): - - -``` -`$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner` -``` - -The output will look like: - - -``` -__  ____  __  _____   ___  __ ____  ______ - --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ - -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   -\--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/   -INFO  [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native -(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: -INFO [io.quarkus] (main) Profile prod activated. -INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy] -``` - -Supersonic! That's _19_ _milliseconds_ to startup. The time might be different in your environment. - -It also has extremely low memory usage, as the Linux `ps` utility reports. While the app is running, run this command in another terminal: - - -``` -`$ ps -o pid,rss,command -p $(pgrep -f runner)` -``` - -You should see something like: - - -``` -  PID    RSS COMMAND -10246  11360 target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner -``` - -This process is using around _11MB_ of memory (RSS). Pretty compact! - -> **Note:** The RSS and memory usage of any app, including Quarkus, will vary depending on your specific environment and will rise as application experiences load. - -You can also access the function with a REST API. Then the output should be `Hello RESTEasy`: - - -``` -$ curl localhost:8080/hello -Hello RESTEasy -``` - -### 3\. Deploy the functions to Knative service - -If you haven't already, [create a namespace][14] (e.g., `quarkus-serverless-native`) on [OKD][15] (OpenShift Kubernetes Distribution) to deploy this native executable as a serverless function. Then add a `quarkus-openshift` extension for Knative service deployment: - - -``` -`$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"` -``` - -Append the following variables in `src/main/resources/application.properties` to configure Knative and Kubernetes resources: - - -``` -quarkus.container-image.group=quarkus-serverless-native -quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 -quarkus.native.container-build=true -quarkus.kubernetes-client.trust-certs=true -quarkus.kubernetes.deployment-target=knative -quarkus.kubernetes.deploy=true -quarkus.openshift.build-strategy=docker -``` - -Build the native executable, then deploy it to the OKD cluster directly: - - -``` -`$ ./mvnw clean package -Pnative` -``` - -> **Note:** Make sure to log in to the right project (e.g., `quarkus-serverless-native`) using the `oc login` command ahead of time. - -The output should end with `BUILD SUCCESS`. It will take a few minutes to complete a native binary build and deploy a new Knative service. After successfully creating the service, you should see a Knative service (KSVC) and revision (REV) using either the `kubectl` or `oc` command tool: - - -``` -$ kubectl get ksvc -NAME                        URL   [...] -quarkus-serverless-native    True - -$ kubectl get rev -NAME                              CONFIG NAME                 K8S SERVICE NAME                  GENERATION   READY   REASON -quarkus-serverless-native-00001   quarkus-serverless-native   quarkus-serverless-native-00001   1            True -``` - -### 4\. Access the native executable function - -Retrieve the serverless function's endpoint by running this `kubectl` command: - - -``` -`$ kubectl get rt/quarkus-serverless-native` -``` - -The output should look like: - - -``` -NAME                         URL                                                                                                          READY   REASON -quarkus-serverless-native     True -``` - -Access the route `URL` with a `curl` command: - - -``` -`$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello` -``` - -In less than one second, you will get the same result as you got locally: - - -``` -`Hello RESTEasy` -``` - -When you access the Quarkus running pod's logs in the OKD cluster, you will see the native executable is running as the Knative service. - -![Native Quarkus Log][16] - -(Daniel Oh, [CC BY-SA 4.0][5]) - -### What's next? - -You can optimize Java serverless functions with GraalVM distributions to deploy them as serverless functions on Knative with Kubernetes. Quarkus enables this performance optimization using simple configurations in normal microservices. - -The next article in this series will guide you on making portable functions across multiple serverless platforms with no code changes. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/java-serverless-functions-kubernetes - -作者:[Daniel Oh][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/daniel-oh -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ship_captain_devops_kubernetes_steer.png?itok=LAHfIpek (Ship captain sailing the Kubernetes seas) -[2]: https://opensource.com/article/19/6/reasons-kubernetes -[3]: https://quarkus.io/ -[4]: https://opensource.com/sites/default/files/uploads/quarkus-build.png (Quarkus Build phase) -[5]: https://creativecommons.org/licenses/by-sa/4.0/ -[6]: https://quarkus.io/blog/runtime-performance/ -[7]: https://opensource.com/sites/default/files/uploads/quarkus-boot-metrics.png (Quarkus RSS and Boot Time Metrics) -[8]: https://opensource.com/article/21/5/what-serverless-java -[9]: https://www.graalvm.org/community/ -[10]: https://github.com/graalvm/mandrel -[11]: https://www.docker.com/ -[12]: https://podman.io/ -[13]: https://opensource.com/sites/default/files/uploads/native-build-logs.png (Native Build Logs) -[14]: https://docs.okd.io/latest/applications/projects/configuring-project-creation.html -[15]: https://docs.okd.io/latest/welcome/index.html -[16]: https://opensource.com/sites/default/files/uploads/native-quarkus-log.png (Native Quarkus Log) diff --git a/translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md b/translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md new file mode 100644 index 0000000000..2f8a5e4e81 --- /dev/null +++ b/translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md @@ -0,0 +1,267 @@ +[#]: subject: (Optimize Java serverless functions in Kubernetes) +[#]: via: (https://opensource.com/article/21/6/java-serverless-functions-kubernetes) +[#]: author: (Daniel Oh https://opensource.com/users/daniel-oh) +[#]: collector: (lujun9972) +[#]: translator: (cool-summer-021) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +优化 Kubernetes 中的 Java 无服务器函数 +====== + +在 Kubernetes 中以更快的启动速度和更小的内存占用运行无服务器函数 +![Ship captain sailing the Kubernetes seas][1] + +由于运行上千个应用程序集群所耗费的资源多,令它实现较少工作节点和资源占用所需成本也较高,所以在使用 [Kubernetes][2] 时,快速启动和较少的内存占用是至关重要的。在 Kubernetes 平台运行容器化微服务时,内存占用是比吞吐量更重要的考量因素,这是因为: + + * 由于需要持续运行,所以耗费资源更多(不同于 CPU 周期) + * 微服务令管理成本成倍增加 + * 一个庞大的应用程序变为若干个微服务的情况(例如20个微服务占用的存储空间一共有20GB) + + + +这些情况极大影响了无服务器函数的发展和 Java 部署模型。到目前为止,许多企业开发人员选择 Go、Python 或 Node.js 这些替代方案来解决性能瓶颈,直到出现了 [Quarkus][3] 这种基于 kubernetes 的原生 Java 堆栈,才有所改观。本文介绍如何在使用了 Quarkus 的 kubernetes 平台上进行性能优化,以便运行无服务器函数。 + +### 容器优先的设计理念 + +由于 Java 生态系统中传统的框架都要进行框架的初始化,包括配置文件的处理、classpath 的扫描、类加载、注解的处理以及构建元模型,这些过程都是必不可少的,所以它们都比较耗费资源。如果使用了几种不同的框架,所耗费的资源也是成倍增加。 + +Quarkus 通过“向左移动”,把所有的资源开销大的操作都转移到构建阶段,解决了这些 Java 性能问题。在构建阶段进行代码和框架分析、字节码转换和动态元模型生成,而且只有一次,结果是:运行时可执行文件经过高度优化,启动非常快,不需要经过那些传统的启动过程,全过程只在构建阶段执行一次。 + +![Quarkus Build phase][4] + +(Daniel Oh, [CC BY-SA 4.0][5]) + +更重要的是:Quarkus 支持构建原生可执行文件,它具有良好性能,包括快速启动和极小的 RSS 内存占用,跟传统的云原生 Java 栈相比,具备即时扩展的能力和高密度的内存利用。 + +![Quarkus RSS and Boot Time Metrics][7] + +(Daniel Oh, [CC BY-SA 4.0][5]) + +这里有个例子,展示如何使用 Quarkus 将一个 [Java 无服务器][8]项目构建为本地可执行文件。 + +### 1\. 使用 Quarkus 创建无服务器 Maven 项目 + +以下命令生成一个 Quarkus 项目,(例如`quarkus-serverless-native`)以此创建一个简单的函数: + + +``` +$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ +       -DprojectGroupId=org.acme \ +       -DprojectArtifactId=quarkus-serverless-native \ +       -DclassName="org.acme.getting.started.GreetingResource" +``` + +### 2\. 构建一个本地可执行文件 + +你需要使用 GraalVM 为 Java 程序构建一个本地可执行文件。你可以选择 GraalVM 的任何发行版,例如 [Oracle GraalVM Community Edition (CE)][9] 或 [Mandrel][10](Oracle GraalVM CE 的下游发行版)。Mandrel 是为支持 OpenJDK 11 上的 Quarkus-native 可执行文件的构建而设计的。 + +打开 `pom.xml`,你将发现其中的 `native` 设置。你将使用它来构建本地可执行文件。 + + +``` + +    +        native +        +            native +        +    + +``` + +> **注意:** 你可以在本地安装 GraalVM 或 Mandrel 发行版。你也可以下载 Mandrel 容器映像来构建它(像我那样),因此你还需要在本地运行一个容器引擎(例如 Docker)。 + +假设你已经打开了容器运行时,此时需要运行一下 Maven 命令: + +使用 [Docker][11] 作为容器引擎 + + +``` +$ ./mvnw package -Pnative \ +-Dquarkus.native.container-build=true \ +-Dquarkus.native.container-runtime=docker +``` + +使用 [Podman][12] 作为容器引擎 + + +``` +$ ./mvnw package -Pnative \ +-Dquarkus.native.container-build=true \ +-Dquarkus.native.container-runtime=podman +``` + +输出信息结尾应当是 `BUILD SUCCESS`。 + +![Native Build Logs][13] + +(Daniel Oh, [CC BY-SA 4.0][5]) + +不借助 JVM 直接运行本地可执行文件: + + +``` +`$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner` +``` + +输出信息类似于: + + +``` +__  ____  __  _____   ___  __ ____  ______ + --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ + -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   +\--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/   +INFO  [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native +(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: +INFO [io.quarkus] (main) Profile prod activated. +INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy] +``` + +简直是超音速!启动只花了 19 毫秒。你的运行时间可能稍有不同。 + +使用 Linux 的 `ps` 工具检测一下,结果内存占用还是很低。检测的方法是:在应用程序运行期间,另外打开一个终端,运行如下命令: + + +``` +`$ ps -o pid,rss,command -p $(pgrep -f runner)` +``` + +输出结果类似于: + + +``` +  PID    RSS COMMAND +10246  11360 target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner +``` + +该进程只占 11MB 内存。非常小! + +> **注意:** 各种应用程序(包括 Quarkus)的驻留集大小和内存占用,都因运行环境而异,并随着应用程序载入而上升。 + + +你也可以使用 REST API 访问这个函数。输出结果应该是 `Hello RESTEasy`: + +``` +$ curl localhost:8080/hello +Hello RESTEasy +``` + +### 3\. 把函数部署到 Knative 服务 + +如果你还没有创建命名空间,现在就在 [OKD][15] (OpenShift Kubernetes 发行版)[创建一个命名空间][14](例如 `quarkus-serverless-native`),进而把这个本地可执行文件部署为无服务器函数。然后添加 `quarkus-openshift` 扩展: + + +``` +`$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"` +``` + +向 `src/main/resources/application.properties` 文件中添加以下内容,配置 Knative 和 Kubernetes 的相关资源: + + +``` +quarkus.container-image.group=quarkus-serverless-native +quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 +quarkus.native.container-build=true +quarkus.kubernetes-client.trust-certs=true +quarkus.kubernetes.deployment-target=knative +quarkus.kubernetes.deploy=true +quarkus.openshift.build-strategy=docker +``` + +构建本地可执行文件,并把它直接部署到 OKD 集群: + + +``` +`$ ./mvnw clean package -Pnative` +``` + +> **Note:** 提前使用 `oc login` 命令,确保登录的是正确的项目(例如 `quarkus-serverless-native`)。 + +输出信息结尾应当是 `BUILD SUCCESS`。完成一个本地二进制文件的构建并部署为 Knative 服务需要花费几分钟。成功创建服务后,使用 `kubectl` 或 `oc` 命令工具,可以查看 Knative 服务和版本信息: + + +``` +$ kubectl get ksvc +NAME                        URL   [...] +quarkus-serverless-native    True + +$ kubectl get rev +NAME                              CONFIG NAME                 K8S SERVICE NAME                  GENERATION   READY   REASON +quarkus-serverless-native-00001   quarkus-serverless-native   quarkus-serverless-native-00001   1            True +``` + +### 4\. 访问本地可执行函数 + +运行 `kubectl` 命令,搜索无服务器函数的节点: + + +``` +`$ kubectl get rt/quarkus-serverless-native` +``` + +输出信息类似于: + + +``` +NAME                         URL                                                                                                          READY   REASON +quarkus-serverless-native     True +``` + +用 `curl` 命令访问上述信息中的 `URL` 字段: + + +``` +`$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello` +``` + +过了不超过一秒钟,你也会得到跟本地操作一样的结果: + + +``` +`Hello RESTEasy` +``` + +当你在 OKD 群集中访问 Quarkus 运行中的节点的日志,你会发现本地可执行文件正在以 Knative 服务的形式运行。 + +![Native Quarkus Log][16] + +(Daniel Oh, [CC BY-SA 4.0][5]) + +### 下一步呢? + +你可以借助 GraalVM 发行版优化 Java 无服务器函数,从而在 Knative 中使用 Kubernetes 将它们部署为无服务器函数。Quarkus 支持在普通的微服务中使用简易配置进行性能优化。 + +本系列的下一篇文章将指导你在不更改代码的情况下跨多个无服务器平台实现可移植函数。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/java-serverless-functions-kubernetes + +作者:[Daniel Oh][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/daniel-oh +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ship_captain_devops_kubernetes_steer.png?itok=LAHfIpek (Ship captain sailing the Kubernetes seas) +[2]: https://opensource.com/article/19/6/reasons-kubernetes +[3]: https://quarkus.io/ +[4]: https://opensource.com/sites/default/files/uploads/quarkus-build.png (Quarkus Build phase) +[5]: https://creativecommons.org/licenses/by-sa/4.0/ +[6]: https://quarkus.io/blog/runtime-performance/ +[7]: https://opensource.com/sites/default/files/uploads/quarkus-boot-metrics.png (Quarkus RSS and Boot Time Metrics) +[8]: https://opensource.com/article/21/5/what-serverless-java +[9]: https://www.graalvm.org/community/ +[10]: https://github.com/graalvm/mandrel +[11]: https://www.docker.com/ +[12]: https://podman.io/ +[13]: https://opensource.com/sites/default/files/uploads/native-build-logs.png (Native Build Logs) +[14]: https://docs.okd.io/latest/applications/projects/configuring-project-creation.html +[15]: https://docs.okd.io/latest/welcome/index.html +[16]: https://opensource.com/sites/default/files/uploads/native-quarkus-log.png (Native Quarkus Log) From 6661ce6a599e517d16828f209a9e2c9bd73cdcef Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 21 Oct 2022 08:40:09 +0800 Subject: [PATCH 017/925] translated --- ...tatic IP Address on Ubuntu Server 22.04.md | 125 ------------------ ...tatic IP Address on Ubuntu Server 22.04.md | 125 ++++++++++++++++++ 2 files changed, 125 insertions(+), 125 deletions(-) delete mode 100644 sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md create mode 100644 translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md diff --git a/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md deleted file mode 100644 index 6d4bfadab1..0000000000 --- a/sources/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md +++ /dev/null @@ -1,125 +0,0 @@ -[#]: subject: "How to Set Static IP Address on Ubuntu Server 22.04" -[#]: via: "https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/" -[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Set Static IP Address on Ubuntu Server 22.04 -====== -In this post, we will cover how to set static ip address on Ubuntu server 22.04. - -It is highly recommended to have a static ip on linux server because it would be persistent across the reboot. Static IP plays an important role for servers like Mail Server, Web Server and File server etc. - -##### Prerequisites - -* Minimal Installed Ubuntu Server 22.04 -* Regular User with sudo admin rights - -In Ubuntu server 22.04, networking is controlled by netplan utility, so we will use netplan to configure static ip address on Ubuntu server. - -Note: we cannot use [nmcli utiltity][1] as it is not the part of default installation on Ubuntu server. - -### Setting up Static IP address on Ubuntu Server 22.04 - -Login to your Ubuntu server 22.04, look for the netplan configuration file. It is located under /etc/netplan directory. - -``` -$ cd /etc/netplan/ -$ ls -l -total 4 --rw-r--r-- 1 root root 116 Oct 12 04:03 00-installer-config.yaml -$ -``` - -Run below cat command to view the contents of ‘00-installer-config.yaml’ - -Note: Name of configuration file may differ as your per setup. As it is an yaml file, so make sure to maintain the indentation and syntax while editing. - -``` -$ cat 00-installer-config.yaml -``` - -Output, - -![Default-Content-netplan-ubuntu-server][2] - -As per above output, it says that we have ens33 interface and it is getting ip from dhcp server. Alternate way to view interface name is via ip command. - -Now, to configure static ip in place of dhcp, edit netplan configuration file using vi or nano editor and add the following content. - -``` -$ sudo vi 00-installer-config.yaml -# This is the network config written by 'subiquity' -network: -  renderer: networkd -  ethernets: -    ens33: -      addresses: -        - 192.168.1.247/24 -      nameservers: -        addresses: [4.2.2.2, 8.8.8.8] -      routes: -        - to: default -          via: 192.168.1.1 -  version: 2 -``` - -save and close the file. - -![Updated-Netplan-Config-File-Content-Ubuntu-Server][3] - -In the above file we have used following, - -* ens33 is the interface name -* addresses are used to set the static ip -* nameservers used to specify the DNS server ips -* routes used to specify the default gateway - -Note: Change the IP details and interface name as per your environment. - -To make above changes into the effect the apply these changes using following netplan command, - -``` -$ sudo netplan apply -``` - -Run following ip command to view the ip address on interface, - -``` -$ ip addr show ens33 -``` - -To view the default route, run - -``` -$ ip route show -``` - -Output of above commands, - -![ip-addr-route-command-output-ubuntu-server][4] - -Perfect, above commands’ output confirms that static ip and route has been configured successfully. - -That’s all from this post. Kindly do post your queries and feedback in below comments section. - --------------------------------------------------------------------------------- - -via: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/ - -作者:[Pradeep Kumar][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.linuxtechi.com/author/pradeep/ -[b]: https://github.com/lkxed -[1]: https://www.linuxtechi.com/configure-ip-with-nmcli-command-linux/ -[2]: https://www.linuxtechi.com/wp-content/uploads/2022/10/Default-Content-netplan-ubuntu-server.png -[3]: https://www.linuxtechi.com/wp-content/uploads/2022/10/Updated-Netplan-Config-File-Content-Ubuntu-Server.png -[4]: https://www.linuxtechi.com/wp-content/uploads/2022/10/ip-addr-route-command-output-ubuntu-server.png diff --git a/translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md new file mode 100644 index 0000000000..5ea893ddf2 --- /dev/null +++ b/translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md @@ -0,0 +1,125 @@ +[#]: subject: "How to Set Static IP Address on Ubuntu Server 22.04" +[#]: via: "https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/" +[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu Server 22.04 上设置静态 IP 地址 +====== +在这篇文章中,我们将介绍如何在 Ubuntu Server 22.04 上设置静态 IP 地址。 + +强烈建议在 linux 服务器上使用静态 ip,因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。 + +##### 先决条件 + +* 最小安装的 Ubuntu Server 22.04 +* 具有 sudo 管理员权限的普通用户 + +在 Ubuntu Server 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu Server 上配置静态 IP 地址。 + +注意:我们不能使用 [nmcli 程序][1],因为它不是 Ubuntu Server 上默认安装的一部分。 + +### 在 Ubuntu Server 22.04 上设置静态 IP 地址 + +登录到你的 Ubuntu Server 22.04,查找 netplan 配置文件。它位于 /etc/netplan 目录下。 + +``` +$ cd /etc/netplan/ +$ ls -l +total 4 +-rw-r--r-- 1 root root 116 Oct 12 04:03 00-installer-config.yaml +$ +``` + +运行以下 cat 命令以查看 “00-installer-config.yaml” 的内容 + +注意:配置文件的名称可能因你的设置而异。由于它是一个 yaml 文件,因此请确保在编辑时保持缩进和语法。 + +``` +$ cat 00-installer-config.yaml +``` + +输出: + +![Default-Content-netplan-ubuntu-server][2] + +根据上面的输出,它说我们有 ens33 接口,它正在从 dhcp 服务器获取 ip。查看接口名称的另一种方法是通过 ip 命令。 + +现在,要配置静态 ip 代替 dhcp,使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。 + +``` +$ sudo vi 00-installer-config.yaml +# This is the network config written by 'subiquity' +network: + renderer: networkd + ethernets: + ens33: + addresses: + - 192.168.1.247/24 + nameservers: + addresses: [4.2.2.2, 8.8.8.8] + routes: + - to: default + via: 192.168.1.1 + version: 2 +``` + +保存并关闭文件。 + +![Updated-Netplan-Config-File-Content-Ubuntu-Server][3] + +在上面的文件中,我们使用了以下内容, + +* ens33 为接口名称 +* 用于设置静态 ip 的地址 +* nameservers 用于指定 DNS 服务器的 ip +* 用于指定默认网关的路由 + +注意:根据你的环境更改 IP 详细信息和接口名称。 + +要是上述修改生效,请使用以下 netplan 命令应用这些更改: + +``` +$ sudo netplan apply +``` + +运行以下 ip 命令查看接口上的 ip 地址: + +``` +$ ip addr show ens33 +``` + +要查看默认路由,请运行: + +``` +$ ip route show +``` + +上述命令的输出。 + +![ip-addr-route-command-output-ubuntu-server][4] + +完美,以上命令的输出确认静态ip和路由配置成功。 + +这就是这篇文章的全部内容。请在下面的评论部分发表你的问题和反馈。 + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/ + +作者:[Pradeep Kumar][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.linuxtechi.com/author/pradeep/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/configure-ip-with-nmcli-command-linux/ +[2]: https://www.linuxtechi.com/wp-content/uploads/2022/10/Default-Content-netplan-ubuntu-server.png +[3]: https://www.linuxtechi.com/wp-content/uploads/2022/10/Updated-Netplan-Config-File-Content-Ubuntu-Server.png +[4]: https://www.linuxtechi.com/wp-content/uploads/2022/10/ip-addr-route-command-output-ubuntu-server.png From 3c5e85ffd4e504659d27cf42544447bb1388142b Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 21 Oct 2022 08:46:33 +0800 Subject: [PATCH 018/925] translating --- ...all Gedit on Ubuntu 22.10 and Make it Default Text Editor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md b/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md index 23d4fcec3b..321877f0f3 100644 --- a/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md +++ b/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/install-gedit-ubuntu/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 257262e5b9ba6b00091e5b29bc5b62aea0ad8cd1 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 21 Oct 2022 10:02:08 +0800 Subject: [PATCH 019/925] RP @geekpi https://linux.cn/article-15160-1.html --- ...ow to Enable Snap Support in Arch Linux.md | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) rename {translated/tech => published}/20221011 How to Enable Snap Support in Arch Linux.md (64%) diff --git a/translated/tech/20221011 How to Enable Snap Support in Arch Linux.md b/published/20221011 How to Enable Snap Support in Arch Linux.md similarity index 64% rename from translated/tech/20221011 How to Enable Snap Support in Arch Linux.md rename to published/20221011 How to Enable Snap Support in Arch Linux.md index 00398d3f86..f48d40ea70 100644 --- a/translated/tech/20221011 How to Enable Snap Support in Arch Linux.md +++ b/published/20221011 How to Enable Snap Support in Arch Linux.md @@ -3,34 +3,37 @@ [#]: author: "Pranav Krishna https://itsfoss.com/author/pranav/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15160-1.html" 如何在 Arch Linux 中启用 Snap 支持 ====== + +![](https://img.linux.net.cn/data/attachment/album/202210/21/100128gzzqkf3fcg3f6q3n.jpg) + Snap 是由 Ubuntu 的母公司 Canonical 设计的通用包格式。有些人不喜欢 Snap,但它有一些优势。 -通常,某些应用仅以 Snap 格式提供。这为你提供了在 Arch Linux 中启用 snap 的充分理由。 +通常,某些应用仅以 Snap 格式提供。这为你提供了在 Arch Linux 中启用 Snap 的充分理由。 -我知道 AUR 拥有大量应用,但 snap 应用通常直接来自开发人员。 +我知道 AUR 拥有大量应用,但 Snap 应用通常直接来自开发人员。 -如果你希望能够在 Arch Linux 中安装 Snap 应用,你需要先启用 snap 支持。 +如果你希望能够在 Arch Linux 中安装 Snap 应用,你需要先启用 Snap 支持。 有两种方法可以做到: * 使用 AUR 助手启用 Snap 支持(更简单) -* 通过从 AUR 获取包手动启用 Snap 支持 +* 通过从 AUR 获取包,手动启用 Snap 支持 让我们看看怎么做。 -### 方法 1. 使用 AUR 助手启用 Snap +### 方法 1、使用 AUR 助手启用 Snap -Snap 在 Arch 用户仓库中以 *snapd* 包的形式提供。你可以使用 AUR 助手轻松安装它。 +Snap 支持在 Arch 用户仓库中以 `snapd` 包的形式提供。你可以使用 AUR 助手轻松安装它。 -存在[许多 AUR 助手][1],但 *yay* 是我更喜欢的,因为它的语法类似于 [pacman 命令][2]。 +有 [许多 AUR 助手][1],但 `yay` 是我更喜欢的,因为它的语法类似于 [pacman 命令][2]。 -如果你还没有安装 AUR,请使用以下命令安装 Yay(需要事先 git): +如果你还没有安装 AUR,请使用以下命令安装 Yay(需要事先安装 `git`): ``` git clone https://aur.archlinux.org/yay @@ -42,7 +45,7 @@ makepkg -si ![安装 yay][3] -现在 *yay* 已安装,你可以通过以下方式安装 snapd: +现在 `yay` 已安装,你可以通过以下方式安装 `snapd`: ``` yay -Sy snapd @@ -50,11 +53,11 @@ yay -Sy snapd ![使用 yay 从 AUR 安装 snapd][4] -每当你[更新 Arch Linux][5] 系统时,Yay 都会启用 snapd 的自动更新。 +每当你 [更新 Arch Linux][5] 系统时,`yay` 都会启用 `snapd` 的自动更新。 -### 验证 snap 是否有效 +#### 验证 Snap 支持是否有效 -要测试 snap 是否正常工作,请安装并运行 *hello-world* snap 包。 +要测试 Snap 支持是否正常工作,请安装并运行 `hello-world` Snap 包。 ``` sudo snap install hello-world @@ -64,13 +67,13 @@ hello-world sudo snap run hello-world ``` -![hello-world snap 包执行][6] +![hello-world Snap 包执行][6] -如果它运行良好,那么你可以轻松安装其他 snap 包。 +如果它运行良好,那么你可以轻松安装其他 Snap 包。 -### 方法 2. 从 AUR 手动构建 snap 包 +### 方法 2、从 AUR 手动构建 snapd 包 -如果你不想使用 AUR 助手,你仍然可以从 AUR 获取 snap。让我展示详细的过程。 +如果你不想使用 AUR 助手,你仍然可以从 AUR 获取 `snapd`。让我展示详细的过程。 你需要先安装一些构建工具。 @@ -78,9 +81,9 @@ sudo snap run hello-world sudo pacman -Sy git go go-tools python-docutils ``` -![为 snap 安装依赖项][7] +![为 Snap 安装依赖项][7] -完成依赖项安装后,现在可以克隆 AUR 目录,如下所示: +完成依赖项安装后,现在可以克隆 `snapd` 的 AUR 目录,如下所示: ``` git clone https://aur.archlinux.org/snapd @@ -90,17 +93,17 @@ cd snapd ![克隆仓库][8] -然后构建 snapd 包: +然后构建 `snapd` 包: ``` makepkg -si ``` -当它要求安装其他依赖包时输入 yes。 +当它要求安装其他依赖包时输入 `yes`。 ![手动构建 snapd][9] -你已安装 snapd 守护程序。但是,需要启用它以在启动时自动启动。 +你已安装 `snapd` 守护程序。但是,需要启用它以在启动时自动启动。 ``` sudo systemctl enable snapd --now @@ -110,15 +113,15 @@ sudo systemctl enable snapd.apparmor --now #start snap applications sudo ln -s /var/lib/snapd/snap /snap #optional: classic snap support ``` -![启动时启用 snap][10] +![启动时启用 Snap][10] 手动构建包的主要缺点是每次新更新启动时你都必须手动构建。使用 AUR 助手为我们解决了这个问题。 ### 总结 -我更喜欢 Arch Linux 中的 pacman 和 AUR。很少能看到不在 AUR 中但以其他格式提供的应用。尽管如此,在某些你希望直接从源获取它的情况下,使用 snap 可能是有利的,例如 [在 Arch 上安装 Spotify][11]。 +我更喜欢 Arch Linux 中的 pacman 和 AUR。很少能看到不在 AUR 中但以其他格式提供的应用。尽管如此,在某些你希望直接从源获取它的情况下,使用 Snap 可能是有利的,例如 [在 Arch 上安装 Spotify][11]。 -希望本教程对您有所帮助。如果你有任何问题,请告诉我。 +希望本教程对你有所帮助。如果你有任何问题,请告诉我。 -------------------------------------------------------------------------------- @@ -127,7 +130,7 @@ via: https://itsfoss.com/install-snap-arch-linux/ 作者:[Pranav Krishna][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/) 荣誉推出 From d9071f962780783d2da30bb9bc65b40fdad0cdbe Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 21 Oct 2022 11:30:26 +0800 Subject: [PATCH 020/925] RP @MareDevi https://linux.cn/article-15161-1.html --- ...Joplin, the open source note-taking app.md | 141 +++++++++++++++++ ...Joplin, the open source note-taking app.md | 145 ------------------ 2 files changed, 141 insertions(+), 145 deletions(-) create mode 100644 published/20220926 The story behind Joplin, the open source note-taking app.md delete mode 100644 translated/talk/20220926 The story behind Joplin, the open source note-taking app.md diff --git a/published/20220926 The story behind Joplin, the open source note-taking app.md b/published/20220926 The story behind Joplin, the open source note-taking app.md new file mode 100644 index 0000000000..ac3c6e5bf3 --- /dev/null +++ b/published/20220926 The story behind Joplin, the open source note-taking app.md @@ -0,0 +1,141 @@ +[#]: subject: "The story behind Joplin, the open source note-taking app" +[#]: via: "https://opensource.com/article/22/9/joplin-interview" +[#]: author: "Richard Chambers https://opensource.com/users/20i" +[#]: collector: "lkxed" +[#]: translator: "MareDevi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15161-1.html" + +开源笔记软件 Joplin 背后的故事 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/21/112935tfapsvpac06h2sth.jpg) + +> Laurent Cozic 与我坐下来,讨论了 Joplin 是如何开始的,以及这个开源笔记软件的下一步计划。 + +在这次采访中,我见到了笔记软件 Joplin 的创建者 Laurent Cozic。[Joplin][2] 是 [20i][3] 奖励的赢家,所以我想了解是什么让它如此成功,以及他如何实现的。 + +### 你能概述一下什么是 Joplin 吗? + +[Joplin][4] 是一个开源的笔记软件。它可以让你捕获你的想法并从任何设备安全地访问它们。 + +### 显然,还有很多其他的笔记应用,那么除了免费使用之外,它还有什么不同呢? + +对我们的许多用户来说,它是开源的这一事实是一个非常重要的方面,因为这意味着没有供应商对数据的封锁,而且数据可以很容易地被导出并以各种方式访问。 + +我们还关注用户的安全和数据隐私,特别是端到端加密同步功能,以及通过对应用的任何连接保持透明。我们还与安全研究人员合作,以保证软件更加安全。 + +最后,Joplin 可以通过几种不同的方式进行定制 —— 通过插件(可以添加新的功能)和主题来定制应用程序的外观。我们还公开了一个数据 API,它允许第三方应用程序访问 Joplin 的数据。 + +> **[相关阅读:5 款 Linux 上的笔记应用][5]** + +### 这是一个竞争非常激烈的市场,那么是什么激发了你创建它的想法? + +这是有原因的的。我从 2016 年开始研究它,因为我不喜欢现有的商业记事应用程序:笔记、附件或标签不能轻易被其他工具导出或操作。 + +这主要是由于供应商的封锁,另外还有供应商缺乏动力,因为他们没有动力帮助用户将他们的数据转移到其他应用程序。还有一个问题是,这些公司通常会以纯文本形式保存笔记,而这有可能造成数据隐私和安全方面的问题。 + +因此,我决定开始创建一个简单且具有同步功能的移动和终端应用程序,使我的笔记能够轻松地在我的设备上访问。之后又创建了桌面应用程序,项目从此开始发展。 + +![Chrome OS 上 Joplin 的图片][6] + +### 编写 Joplin 花了多长时间呢? + +自 2016 年以来,我一直在断断续续地开发,但并不是专门去维护。不过在过去的两年里,我更加专注于它。 + +### 对于准备创建自己的开源应用的人,你有什么建议? + +挑选一个你自己使用的项目和你喜欢的技术来工作。 + +管理一个开源项目有时是很困难的,所以必须要有足够的兴趣去让它变得更有价值。那么我想 “早发布,多发布” 原则在这里也适用,这样你就可以衡量用户的兴趣,以及是否有必要花时间进一步开发这个项目。 + +### 有多少人参与了 Joplin 的开发? + +有 3、4 人参与开发。目前,我们还有 6 名学生在 谷歌编程之夏Google Summer of Code 中为这个项目工作。 + +### 许多人都在创建开源项目,但 Joplin 对你来说是一个巨大的成功。关于如何获得关注,你能否给开发者提供一些建议? + +没有简单的公式,说实话,我不认为我可以在另一个项目中复制这种成功!你必须对你所做的事情充满热情,但同时也要严谨、有组织、稳步前进,确保代码质量保持高水平,并拥有大量的测试单元以防止回归。 + +同时,对于你收到的用户反馈保持开放的态度,并在此基础上改进项目。 + +一旦你掌握了这些,剩下的可能就全靠运气了 —— 如果你做的项目让很多人都感兴趣,事情可能会顺利进行! + +### 一旦你得到关注,但如果你没有传统的营销预算,你如何保持这种势头? + +我认为这在于倾听项目周围的社区。举个例子来说,我从未计划过建立一个论坛,但有人在 GitHub 上提出了这个建议,所以我创建了一个论坛,它成为了一个分享想法、讨论功能、提供支持等很好的方式。社区也普遍欢迎新人,这形成了一种良性循环。 + +除此以外,定期就项目进行沟通也很重要。 + +我们没有一个公开的路线图,因为大多数功能的 ETA 通常是 “我不知道”,但我会试图就即将到来的功能、新版本等进行沟通。我们也会就重要的事件进行沟通,特别是谷歌编程之夏,或者当我们有机会赢得像 20i FOSS 奖的时候。 + +最后,我们很快将在伦敦举行一次面对面的聚会,这是与社区和合作者保持联系的另一种方式。 + +### 用户的反馈是如何影响路线图的? + +很明显,贡献者们经常仅仅因为他们需要某个特性而从事某些工作。但除此之外,我们还根据论坛和 GitHub 问题追踪器上的信息,追踪对用户来说似乎最重要的功能。 + +例如,移动应用程序现在具有很高的优先级,因为我们经常从用户那里听到,它的限制和缺陷是有效使用 Joplin 的一个问题。 + +![桌面使用Joplin的图片][8] + +### 你是如何跟上最新的开发和编码的发展的? + +主要是通过阅读 Hacker News! + +### 你有个人最喜欢的自由/开源软件可以推荐吗? + +在不太知名的项目中,[SpeedCrunch][9] 作为一个计算器非常好。它有很多功能,而且很好的是它能保留以前所有计算的历史。 + +我还使用 [KeepassXC][10] 作为密码管理器。在过去的几年里,它一直在稳步改进。 + +最后,[Visual Studio Code][11] 作为一个跨平台的文本编辑器非常棒。 + +### 我原以为 Joplin 是以 Janis 的名字命名的,但维基百科告诉我来自是 Scoot Joplin。你为什么选择这个名字? + +我起初想把它命名为 “jot-it”,但我想这个名字已经被人占了。 + +由于我那时经常听 Scoot Joplin 的 拉格泰姆ragtime音乐(我相当痴迷于此),我决定使用他的名字。 + +我认为产品名称的含义并不太重要,只要名称本身易于书写、发音、记忆,并与一些积极的东西(或至少没有消极的东西)有关。 + +我觉得 “Joplin” 符合所有条件。 + +### 关于 Joplin 的计划,你还有什么可以说的吗?也许是对一个新功能的独家预告? + +如前所述,我们非常希望在用户体验设计和新功能方面对移动应用进行改进。 + +我们也在考虑创建一个 “插件商店”,以便更容易地浏览和安装插件。 + +感谢 Laurent — 祝 Joplin 的未来好运。 + +*图片来自: (Opensource.com, CC BY-SA 4.0)* + +*[这篇访谈最初发表在 20i 博客上,已获得许可进行转载。][12]* + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/joplin-interview + +作者:[Richard Chambers][a] +选题:[lkxed][b] +译者:[MareDevi](https://github.com/MareDevi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/20i +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png +[2]: https://joplinapp.org/ +[3]: https://www.20i.com/foss-awards/winners +[4]: https://opensource.com/article/19/1/productivity-tool-joplin +[5]: https://opensource.com/article/22/8/note-taking-apps-linux +[6]: https://opensource.com/sites/default/files/2022-09/joplin-chrome-os.png +[7]: https://opensource.com/article/21/10/google-summer-code +[8]: https://opensource.com/sites/default/files/2022-09/joplin-desktop.png +[9]: https://heldercorreia.bitbucket.io/speedcrunch/ +[10]: https://opensource.com/article/18/12/keepassx-security-best-practices +[11]: https://opensource.com/article/20/6/open-source-alternatives-vs-code +[12]: https://www.20i.com/blog/joplin-creator-laurent-cozic/ diff --git a/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md b/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md deleted file mode 100644 index cd1954b0a6..0000000000 --- a/translated/talk/20220926 The story behind Joplin, the open source note-taking app.md +++ /dev/null @@ -1,145 +0,0 @@ -[#]: subject: "The story behind Joplin, the open source note-taking app" -[#]: via: "https://opensource.com/article/22/9/joplin-interview" -[#]: author: "Richard Chambers https://opensource.com/users/20i" -[#]: collector: "lkxed" -[#]: translator: "MareDevi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -开源笔记软件Joplin背后的故事 -====== -Laurent Cozic与我坐下来,讨论了Joplin是如何开始的,以及这个开源笔记软件的下一步计划。 - -在这次采访中,我见到了笔记软件Joplin的创建者Laurent Cozic。[Joplin][2]是[20i][3]奖励的赢家,所以我想了解是什么让它如此成功,以及他如何实现的。 - - -**您能总结一下什么是Joplin吗** - -[Joplin][4]是一个开源的笔记软件。它可以你捕获你的想法并从任何设备安全地访问它们。 - - -**显然,还有很多其他的笔记应用,那么除了免费使用之外,它还有什么不同呢?** - -对我们的许多用户来说,它是开源的这一事实是一个非常重要的方面,因为这意味着没有供应商对数据的封锁,而且数据可以很容易地被导出并以各种方式访问。 - -我们还关注用户的安全和数据隐私,特别是端到端加密同步功能,以及通过对应用的任何连接保持透明。我们还与安全研究人员合作,以保证软件更加安全。 - -最后,Joplin可以通过几种不同的方式进行定制--通过插件(可以添加新的功能)和主题来定制应用程序的外观。我们还公开了一个数据API,它允许第三方应用程序访问Joplin的数据。 - - -**[[相关阅读:5款Linux上的笔记应用]][5]** - -**这是一个竞争非常激烈的市场,那么是什么激发了您创建它的想法?** - -这是有原因的的。我从2016年开始研究它,因为我不喜欢现有的商业记事应用程序:笔记、附件或标签不能轻易被其他工具导出或操作。 - -这主要是由于供应商的封锁,另外还有供应商缺乏动力,因为他们没有动力帮助用户将他们的数据转移到其他应用程序。还有一个问题是,这些公司通常会以纯文本形式保存笔记,而这有可能造成数据隐私和安全方面的问题。 - -因此,我决定开始创建一个简单且具有同步功能的移动和终端应用程序,使我的笔记能够轻松地在我的设备上访问。之后又创建了桌面应用程序,项目从此开始发展。 - - -![Chrome OS上Joplin的图片][6] - -图片来自: (Opensource.com, CC BY-SA 4.0) - -**编写Joplin花了多长时间呢?** - -自2016年以来,我一直在断断续续地工作,但并不是专门去维护。不过在过去的两年里,我更加专注于它。 - -**对于准备创建自己的开源应用的人,你有什么建议?** - -挑选一个你自己使用的项目和你喜欢的技术来工作。 - -管理一个开源项目有时是很困难的,所以必须要有足够的兴趣去让它变得更有价值。那么我想 "早发布,多发布 "在这里也适用,这样你就可以衡量用户的兴趣,以及是否有必要花时间进一步开发这个项目。 - - -**有多少人参与了Joplin的开发?** - -有3-4人参与开发。目前,我们还有6名学生在谷歌代码之夏(Google Summer of Code)项目中工作。 - -**许多人都创建开源项目,但Joplin对您来说是一个巨大的成功。关于如何获得关注,你能否给开发者提供一些建议?** - -没有简单的公式,说实话,我不认为我可以在另一个项目中复制这种成功!你必须对你所做的事情充满热情,但同时也要严谨、有组织、稳步前进,确保代码质量保持高水平,并拥有大量的测试单元以防止倒退。 - -同时,对于你收到的用户反馈保持开放的态度,并在此基础上改进项目。 - -一旦你掌握了这些,剩下的可能就全靠运气了——如果你做的项目让很多人都感兴趣,事情可能会顺利进行! - -**一旦你得到关注,但如果你没有传统的营销预算,你如何保持这种势头?** - -我认为这是在于倾听项目周围的社区。举个例子来说,我从未计划过建立一个论坛,但有人在GitHub上提出了这个建议,所以我创建了一个论坛,它成为了一个分享想法、讨论功能、提供支持等很好的方式。社区也普遍欢迎新人,这形成了一种良性循环。 - -除此以外,定期就项目进行沟通也很重要。 - -我们没有一个公开的路线图,因为大多数功能的ETA通常是 "我不知道",但我试图就即将到来的功能、新版本等进行沟通。我们也会就重要的事件进行沟通,特别是谷歌的代码之夏,或者当我们有机会赢得像20i FOSS奖的时候。 - -最后,我们很快将在伦敦举行一次面对面的聚会,这是与社区和合作者保持联系的另一种方式。 - -**用户的反馈是如何影响路线图的?** - -很明显,贡献者们经常仅仅因为他们需要某个特性而从事某些工作。但除此之外,我们还根据论坛和GitHub问题追踪器上的信息,追踪对用户来说似乎最重要的功能。 - -例如,移动应用程序现在具有很高的优先级,因为我们经常从用户那里听到,它的限制和问题是有效使用Joplin的一个问题。 - -![桌面使用Joplin的图片][8] - -图片来自: (Opensource.com, CC BY-SA 4.0) - -**您如何跟进开发和编写代码的最新进展?** - -主要是通过阅读Hacker News! - -**你有个人最喜欢的自由/开源软件可以推荐吗?** - -在不太知名的项目中,[SpeedCrunch][9]作为一个计算器非常好。它有很多功能,而且很好的是它能保留以前所有计算的历史。 - -我还使用[KeepassXC][10]作为密码管理器。在过去的几年里,它一直在稳步改进。 - -最后,[Visual Studio Code][11]作为一个跨平台的文本编辑器非常棒。 - -**我原以为Joplin是以Janis的名字命名的,但维基百科告诉我来自是Scoot Joplin。你为什么选择这个名字?** - -我起初想把它命名为 "jot-it",但我想的这个名字已经被人取走了。 - -由于我那时经常听斯科特-乔普林的拉格泰姆音乐(我相当痴迷于此),我决定使用他的名字。 - -我认为产品名称的含义并不太重要,只要名称本身易于书写、发音、记忆,并与一些积极的东西(或至少没有消极的东西)有关。 - -我觉得"Joplin"符合所有条件。 - -**关于Joplin的计划,您还有什么可以说的吗?也许是对一个新功能的独家预告?** - -如前所述,我们非常希望在用户体验设计和新功能方面对移动应用进行改进。 - -我们也在考虑创建一个“插件商店”,以便更容易地浏览和安装插件。 - -**感谢Laurent — 祝Joplin的未来好运.** - -*[这篇访谈最初发表在20i博客上,已获得许可进行转载。][12]* - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/joplin-interview - -作者:[Richard Chambers][a] -选题:[lkxed][b] -译者:[MareDevi](https://github.com/MareDevi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/20i -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png -[2]: https://joplinapp.org/ -[3]: https://www.20i.com/foss-awards/winners -[4]: https://opensource.com/article/19/1/productivity-tool-joplin -[5]: https://opensource.com/article/22/8/note-taking-apps-linux -[6]: https://opensource.com/sites/default/files/2022-09/joplin-chrome-os.png -[7]: https://opensource.com/article/21/10/google-summer-code -[8]: https://opensource.com/sites/default/files/2022-09/joplin-desktop.png -[9]: https://heldercorreia.bitbucket.io/speedcrunch/ -[10]: https://opensource.com/article/18/12/keepassx-security-best-practices -[11]: https://opensource.com/article/20/6/open-source-alternatives-vs-code -[12]: https://www.20i.com/blog/joplin-creator-laurent-cozic/ From 687c32b4b21ab0cde81734ba8f47c6de308b60ac Mon Sep 17 00:00:00 2001 From: Donkey Date: Fri, 21 Oct 2022 12:52:27 +0800 Subject: [PATCH 021/925] translated --- ...o practice open organization principles.md | 142 ----------------- ...o practice open organization principles.md | 143 ++++++++++++++++++ 2 files changed, 143 insertions(+), 142 deletions(-) delete mode 100644 sources/talk/20220616 Using habits to practice open organization principles.md create mode 100644 translated/talk/20220616 Using habits to practice open organization principles.md diff --git a/sources/talk/20220616 Using habits to practice open organization principles.md b/sources/talk/20220616 Using habits to practice open organization principles.md deleted file mode 100644 index ac9fdd2d56..0000000000 --- a/sources/talk/20220616 Using habits to practice open organization principles.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "Using habits to practice open organization principles" -[#]: via: "https://opensource.com/open-organization/22/6/using-habits-practice-open-organization-principles" -[#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland" -[#]: collector: "lkxed" -[#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Using habits to practice open organization principles -====== -Follow these steps to implement habits that support open culture and get rid of those that don't. - -![Selfcare, drinking tea on the porch][1] - -Image by: opensource.com - -Habits are a long-term interest of mine. Several years ago, I gave a presentation on habits, both good and bad, and how to expand on good habits and change bad ones. Just recently, I read the habits-focused book Smart Thinking by Art Markman. You might ask what this has to do with [open organization principles.][2] There is a connection, and I'll explain it in this two-part article on managing habits. - -In this first article, I talk about habits, how they work, and—most important—how you can start to change them. In the second article, I review Markman's thoughts as presented in his book. - -### The intersection of principles and habits - -Suppose you learned about open organization principles and although you found them interesting and valuable, you just weren't in the habit of using them. Here's how that might look in practice. - -Community: If you're faced with a significant challenge but think you can't address it alone, you're likely in the habit of just giving up. Wouldn't it be better to have the habit of building a community of like-minded people that collectively can solve the problem? - -Collaboration: Suppose you don't think you're a good collaborator. You like to do things alone. You know that there are cases when collaboration is required, but you don't have a habit of engaging in it. To counteract that, you must build a habit of collaborating more. - -Transparency: Say you like to keep most of what you do and know a secret. However, you know that if you don't share information, you're not likely to get good information from others. Therefore, you must create the habit of being more transparent. - -Inclusivity: Imagine you are uncomfortable working with people you don't know and who are different from you, whether in personality, culture, or language. You know that if you want to be successful, you must work with a wide variety of people. How do you create a habit of being more inclusive? - -Adaptability: Suppose you tend to resist change long after what you're doing is no longer achieving what you had hoped it would. You know you must adapt and redirect your efforts, but how can you create a habit of being adaptive? - -### What is a habit? - -Before I give examples regarding the above principles, I'll explain some of the relevant characteristics of a habit. - -* A habit is a behavior performed repeatedly—so much so that it's now performed without thinking. -* A habit is automatic and feels right at the time. The person is so used to it, that it feels good when doing it, and to do something else would require effort and make them feel uncomfortable. They might have second thoughts afterward though. -* Some habits are good and extremely helpful by saving you a lot of energy. The brain is 2% of the body's weight but consumes 20% of your daily energy. Because thinking and concentration require a lot of energy, your mind is built to save it through developing unconscious habits. -* Some habits are bad for you, so you desire to change them. -* All habits offer some reward, even if it is only temporary. -* Habits are formed around what you are familiar with and what you know, even habits you don’t necessarily like. - -### The three steps of a habit - -1. Cue (trigger): First, a cue or trigger tells the brain to go into automatic mode, using previously learned habitual behavior. Cues can be things like seeing a candy bar or a television commercial, being in a certain place at a certain time of day, or just seeing a particular person. Time pressure can trigger a routine. An overwhelming atmosphere can trigger a routine. Simply put, something reminds you to behave a certain way. -2. Routine: The routine follows the trigger. A routine is a set of physical, mental, and/or emotional behaviors that can be incredibly complex or extremely simple. Some habits, such as those related to emotions, are measured in milliseconds. -3. Reward: The final step is the reward, which helps your brain figure out whether a particular activity is worth remembering for the future. Rewards can range from food or drugs that cause physical sensations to joy, pride, praise, or personal self-esteem. - -### Bad habits in a business environment - -Habits aren't just for individuals. All organizations have good and bad institutional habits. However, some organizations deliberately design their habits, while others just let them evolve without forethought, possibly through rivalries or fear. These are some organizational habit examples: - -* Always being late with reports -* Working alone or working in groups when the opposite is appropriate -* Being triggered by excess pressure from the boss -* Not caring about declining sales -* Not cooperating among a sales team because of excess competition -* Allowing one talkative person to dominate a meeting - -### A step-by-step plan to change a habit - -Habits don't have to last forever. You can change your own behavior. First, remember that many habits can not be changed concurrently. Instead, find a keystone habit and work on it first. This produces small, quick rewards. Remember that one keystone habit can create a chain reaction. - -Here is a four-step framework you can apply to changing any habit, including habits related to open organization principles. - -##### Step one: identify the routine - -Identify the habit loop and the routine in it (for example, when an important challenge comes up that you can't address alone). The routine (the behaviors you do) is the easiest to identify, so start there. For example: "In my organization, no one discusses problems with anyone. They just give up before starting." Determine the routine that you want to modify, change, or just study. For example: "Every time an important challenge comes up, I should discuss it with people and try to develop a community of like-minded people who have the skills to address it." - -##### Step two: experiment with the rewards - -Rewards are powerful because they satisfy cravings. But, we're often not conscious of the cravings that drive our behavior. They are only evident afterward. For example, there may be times in meetings when you want nothing more than to get out of the room and avoid a subject of conversation, even though down deep you know you should figure out how to address the problem. - -To learn what a craving is, you must experiment. That might take a few days, weeks, or longer. You must feel the triggering pressure when it occurs to identify it fully. For example, ask yourself how you feel when you try to escape responsibility. - -Consider yourself a scientist, just doing experiments and gathering data. The steps in your investigation are: - -1. After the first routine, start adjusting the routines that follow to see whether there's a reward change. For example, if you give up every time you see a challenge you can't address by yourself, the reward is the relief of not taking responsibility. A better response might be to discuss the issue with at least one other person who is equally concerned about the issue. The point is to test different hypotheses to determine which craving drives your routine. Are you craving the avoidance of responsibility? -2. After four or five different routines and rewards, write down the first three or four things that come to mind right after each reward is received. Instead of just giving up in the face of a challenge, for instance, you discuss the issue with one person. Then, you decide what can be done. -3. After writing about your feeling or craving, set a timer for 15 minutes. When it rings, ask yourself whether you still have the craving. Before giving in to a craving, rest and think about the issue one or two more times. This forces you to be aware of the moment and helps you later recall what you were thinking about at that moment. -4. Try to remember what you were thinking and feeling at that precise instant, and then 15 minutes after the routine. If the craving is gone, you have identified the reward. - -##### Step three: isolate the cue or trigger - -The cue is often hard to identify because there's usually too much information bombarding you as your behaviors unfold. To identify a cue amid other distractions, you can observe four factors the moment the urge hits you: - -Location: Where did it occur? ("My biggest challenges come out in meetings.") - -Time: When did it occur? ("Meetings in the afternoon, when I'm tired, are the worst time, because I'm not interested in putting forth any effort.") - -Feelings: What was your emotional state? ("I feel overwhelmed and depressed when I hear the problem.") - -People: Who or what type of people were around you at the time, or were you alone? ("In the meetings, most other people don't seem interested in the problem either. Others dominate the discussion.") - -##### Step four: have a plan - -Once you have confirmed the reward driving your behavior, the cues that trigger it, and the behavior itself, you can begin to shift your actions. Follow these three easy steps: - -1. First, plan for the cue. ("In meetings, I'm going to look for and focus my attention on important problems that come up.") -2. Second, choose a behavior that delivers the same reward but without the penalties you suffer now. ("I'm going to explore a plan to address that problem and consider what resources and skills I need to succeed. I'm going to feel great when I create a community that's able to address the problem successfully.") -3. Third, make the behavior a deliberate choice each and every time, until you no longer need to think about it. ("I'm going to consciously pay attention to major issues until I can do it without thinking. I might look at agendas of future meetings, so I know what to expect in advance. Before and during every meeting, I will ask why should I be here, to make sure I'm focused on what is important." - -##### Plan to avoid forgetting something that must be done - -To successfully start doing something you often forget, follow this process: - -1. Plan what you want to do. -2. Determine when you want to complete it. -3. Break the project into small tasks as needed. -4. With a timer or daily planner, set up cues to start each task. -5. Complete each task on schedule. -6. Reward yourself for staying on schedule. - -### Habit change - -Change takes a long time. Sometimes a support group is required to help change a habit. Sometimes, a lot of practice and role play of a new and better routine in a low-stress environment is required. To find an effective reward, you need repeated experimentation. - -Sometimes habits are only symptoms of a more significant, deeper problem. In these cases, professional help may be required. But if you have the desire to change and accept that there will be minor failures along the way, you can gain power over any habit. - -In this article, I've used examples of community development using the cue-routine-reward process. It can equally be applied to the other open organization principles. I hope this article got you thinking about how to manage habits through knowing how habits work, taking steps to change habits, and making plans to avoid forgetting things you want done. Whether it's an open organization principle or anything else, you can now diagnose the cue, the routine, and the reward. That will lead you to a plan to change a habit when the cue presents itself. - -In my next article, I'll look at habits through the lens of Art Markman's thoughts on Smart Thinking. - --------------------------------------------------------------------------------- - -via: https://opensource.com/open-organization/22/6/using-habits-practice-open-organization-principles - -作者:[Ron McFarland][a] -选题:[lkxed][b] -译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ron-mcfarland -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/coffee_tea_selfcare_wfh_porch_520.png -[2]: https://theopenorganization.org/definition/open-organization-definition/ diff --git a/translated/talk/20220616 Using habits to practice open organization principles.md b/translated/talk/20220616 Using habits to practice open organization principles.md new file mode 100644 index 0000000000..aff844240b --- /dev/null +++ b/translated/talk/20220616 Using habits to practice open organization principles.md @@ -0,0 +1,143 @@ +[#]: subject: "Using habits to practice open organization principles" +[#]: via: "https://opensource.com/open-organization/22/6/using-habits-practice-open-organization-principles" +[#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland" +[#]: collector: "lkxed" +[#]: translator: "Donkey-Hao" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +利用习惯练习开放式组织原则 +====== +你可以按照以下步骤,来养成符合开放文化的习惯,并改掉那些不符合开放文化的习惯。 + +![Selfcare, drinking tea on the porch][1] + +很久以来,我就对习惯很感兴趣。几年前,我做了一次关于习惯利弊的演讲,并且介绍了如何改变坏习惯、养成好习惯。不久前,我阅读了 Art Markman 教授的 《Smart Thinking》一书,这本书主要讨论的也是习惯。或许你会问习惯与 [开放式组织的原则][2] 有什么关系?这其中有一定的联系!我将会分成两篇文章,来解释你可以如何管理你的习惯。 + +在本文中,我们将讨论习惯如何工作的,以及更重要的是你如何去开始改变你的习惯。在下一篇文章中,我们将回顾 Markman 教授在他书中所表达的思想。 + +### 开放式组织原则和习惯的交集 + +设想你学习过开放式组织的原则,尽管你认为它们很有趣并且很有价值,但是你还没有对这些原则形成自己的习惯。以下就是你现实中会表现出来的样子。 + +社区:如果你面对一项重要挑战,但是你不知道如何独自解决它,你很有可能会由于习惯而放弃这项挑战。养成与由志同道合的人组成的社区,共同解决问题的习惯,不是更好吗? + +协作:假设你认为你不善于合作,你喜欢独立完成任务。你知道有一些需要合作才能完成的事情,但是你并没有参与合作的习惯。为了弥补这种情况,你必须养成与他人更多合作的习惯。 + +信息共享:假如说你喜欢将你所做的事以及所知道的东西当作秘密。但是,你知道如果你不共享信息,你也无法从他人那里获取有用的信息。因此,你必须拥有共享信息的习惯。 + +包容性:想象一下,你与你不熟悉的人,或者是在个性、文化还是语言上都与你不同的人一起工作,你会感到不自在。但是,你知道如果你想要成功的话,你必须要和各种各样的人一同工作。那你该如何培养包容的习惯呢? + +适应能力:假设当你所做的事情不再能达到你所希望的结果之后,你往往会拒绝改变。但是,你知道你必须适应这种情况,并重新调整你的努力,那你如何才能养成适应的习惯呢? + +### 习惯是什么? + +在我给出关于上述开放式组织原则的示例之前,我想先解释一下习惯的一些相关特征。 + +* 习惯是重复很多次的行为,最终习惯会成为你下意识的行为。 +* 习惯是自动的并且当时会感觉良好。当一个人在养成习惯后,做习惯行为会使他感觉很好,但是当他跳出习惯做事时,会感到不舒服。或许之后他会再次考虑尝试。 +* 一些习惯是有益的,并且能够节省你很多的能量。大脑只占身体质量的 2%,但是却会消耗 20% 的能量。因为大脑在思考和集中精力上需要消耗很多能量,你可以通过培养下意识的习惯来节省能量。 +* 一些习惯对你有害,因此你渴望改变这些坏习惯。 +* 所有的习惯都会给你回报,即使回报是短暂的。 +* 习惯是基于你熟悉的事情和你知道的东西而形成的,即使你可能并不一定需要这个习惯。 + +### 养成习惯的 3 个步骤 + +1、提示(触发器):首先,提示或者触发器会告诉大脑,进入之前学习的习惯性行为的自动模式之中。这里的提示可以是某件事,比如每天在确定的时间点、在确定的地点,看到一包糖果或者看到电视购物节目,亦或者看到某个特定的人。时间压力会触发你去做例行事项(routine)。在令人崩溃的环境下也会触发例行事项。简而言之,某件事提醒你开始做一些固定的事情。 +2、例行事项(routine):例行事项会被触发。一个例行事项是一系列的身体、心理或者情绪上的表现,可以是非常复杂的,也可以十分简单。诸如与心情相关的一些习惯可以在很短时间内被触发。 +3、奖励:最后一步是奖励,奖励会帮助你的大脑计算一个特定的行为是否值得记住。奖励的范围很广泛,可以是食物或者其他令你感到快乐的东西。 + +### 商业环境中的坏习惯 + +习惯不仅仅是个人行为。所有的组织或多或少都有一些好的坏的制度习惯。然而,一些组织会有先见之明地设计好他们的习惯,而其他组织却不会设计习惯,只是随着竞争或者担心落伍而演变。以下是一些组织的坏习惯示例: + +* 总是晚提交报告 +* 单独工作或者分组合作,然而采用相反的方法才合适 +* 上级对下级施压很大 +* 不关心销售额的下降 +* 由于内卷,销售团队之间不协同合作 +* 让一个健谈的人主导会议 + +### 逐步改变习惯 + +习惯不是一成不变的,你可以改变你的行为习惯。首先,要知道不能一下子改变所有坏习惯。相反,先找到一个关键的习惯进行改变,这会产生小而快速的奖励。请记住,改变了一个关键的习惯后,会产生连锁反应。 + +以下是你可以用来改变任何习惯的四步框架,其中还包括与开放式组织原则相关的习惯。 + +##### 第一步:调整例行事项 + +确定你的习惯循环和例行事项,例如,当面临一件你无法独自解决的重大挑战之时。例行事项(你表现出的行为)最容易确定,所以先从它下手:例如,“在我的组织中,没人愿意和别人讨论问题。大家都会早早地放弃”。决定好你想要调整、改变或者学习的事情:例如:“每次重大挑战到来的时候,我应该和他人讨论一下,并且尝试建立一个志同道合、有能力解决问题的社区。” + +##### 第二步:有奖励的实验 + +奖励是很重要的,因为它会满足你强烈的渴望。但是,我们通常没有意识到强烈的渴望会驱动我们的行为。只有在事后,才会被我们察觉。比方说,开会时很多次你都想尽快离开会议室,避免讨论话题,即使内心清楚你应该弄明白如何解决问题。 + +要了解强烈的渴望是什么,你必须要实验。这可能会花费你几天、几周甚至更久的时间。你必须要感受到触发压力,才能完全识别它。例如,问问你自己当你试图推卸责任时的感受。 + +把你自己当作科学家,进行实验并收集数据。这是你调查研究的步骤: + +1、第一个行为结束后,开始调整后面的行为,看看有没有奖励变化。例如,如果你每次碰到自己无法解决的挑战时都放弃,那么奖励就是不承担责任的解脱。更好的解决方法是与至少一个同样关心该问题的人讨论该问题。关键是要测试不同的假设,以确定哪种渴望驱使你的日常生活。你真的想逃避责任吗? + +2、在经历四至五个不同的例行事项和奖励之后,写下在收到每个奖励后立即想到的前三、四件事。例如,你不会在面对挑战时放弃,而是与其他人讨论这个问题。然后,你决定可以做什么。 + +3、写下你的感受或渴望后,设置一个 15 分钟的计时器。当计时器结束时,问问自己是否依旧渴望。在屈服于渴望之前,请休息一会儿并再考虑一两次这个问题。这会迫使你意识到这一刻,并帮助你稍后回忆起你当时的想法。 + +4、试着记住你在那一刻的想法和感受,然后在例行事项后 15 分钟。如果渴望消失了,你就已经确定了回报是什么。 + +##### 第三步:分析出坏习惯的提示或触发器 + +坏习惯的提示信息很难鉴定,因为通常有太多信息干扰你未定型的行为。要在干扰中鉴别提示,你可以在你的坏习惯出现的时候,观察以下四个因素: + +地点:它在哪里发生?例如:“我最大的挑战在会议中出现。” + +时间:它什么时候出现?例如:“如果我累了,下午的会议就是在浪费时间,因为我没兴趣付出努力。” + +感受:你当时的情绪状态是怎样的?例如:“当我听到这个问题时,我感到压力山大并且很沮丧。” + +人们:当时有谁或者哪一类人在你周围,还是你是独自一人?例如:“在会议上,大多数人似乎对这个问题也不感兴趣。剩下的人主导会议讨论。” + +##### 第四步:制定养成好习惯的计划 + +一旦你确定奖励可以驱动你的行为,某些提示会触发你的坏习惯,那你就可以开始改变你的行动。请跟随以下三个简单的步骤: + +1、首先,规划好习惯的提示。例如:“在会议上,我将发现并将我的注意力集中在重要的问题上。” +2、其次,选择一种能带来相同回报的好行为,但不会遭受你现在坏习惯的惩罚。例如:“我将找到解决这个问题的方法,并考虑我需要哪些资源和技能才能成功。当我创建一个能够成功解决问题的社区时,我会感觉很棒。” +3、最后,让你选择的行为成为深思熟虑的选择,直到你不再需要考虑它,就能下意识地做它了。例如:“我将有意识地关注重要问题,直到我可以不假思索地做到这一点。我会查看近期会议的安排表,这样我就可以提前知道会发生什么。在每次会议开始前和会议期间,我会问自己‘为什么我会来开会’,来确保我集中注意于重要的事情。” + +##### 指定计划来避免忘记必做事项 + +为了成功地开始做你经常忘记的事情,请按照以下步骤: + +1、 计划你想要做什么 +2、 决定何时完成 +3、 将计划分为必要的小任务 +4、 用计时器或者日常计划进行提示,并开始每项任务 +5、 按计划完成每个任务 +6、 按时完成后就奖励自己 + +### 习惯的改变 + +习惯的改变需要很长时间。有时候互助小组会帮助你改变习惯。有时候,在低压力环境中,进行大量的练习和角色预演能够更好地帮助你改变。想要找到有效的奖励,你需要不断的尝试。 + +有时,习惯是更重要、更深层次问题的反映。在这些情况下,你可能需要专业帮助。但是,如果你有改变的愿望,并接受在此过程中会有一些小失败,你就可以控制任何习惯。 + +在本文中,我使用了使用 *提示-例行事项-奖励* 三个过程的社区开发示例。它同样可以应用于其他开放式组织的原则。我希望这篇文章能让你思考如何通过了解习惯如何运作、采取措施改变习惯,以及制定计划避免忘记你想做的事情,来管理习惯。无论是开放式组织原则,还是其他任何东西,你现在都可以判断出提示、常规和奖励。当提示出现时,这将引导你制定改变习惯的计划。 + +在我的下一篇文章中,我将通过 Art Markman 教授在《Smart Thinking》中观点来继续讨论习惯。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/open-organization/22/6/using-habits-practice-open-organization-principles + +作者:[Ron McFarland][a] +选题:[lkxed][b] +译者:[Donkey-Hao](https://github.com/Donkey-Hao) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ron-mcfarland +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/coffee_tea_selfcare_wfh_porch_520.png +[2]: https://theopenorganization.org/definition/open-organization-definition/ From 1d3ca3eb26dd5f1ce7ec90d163b18e7483ad068f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 22 Oct 2022 08:50:51 +0800 Subject: [PATCH 022/925] RP @geekpi https://linux.cn/article-15163-1.html --- ...to Update Google Chrome on Ubuntu Linux.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221010 How to Update Google Chrome on Ubuntu Linux.md (67%) diff --git a/translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md b/published/20221010 How to Update Google Chrome on Ubuntu Linux.md similarity index 67% rename from translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md rename to published/20221010 How to Update Google Chrome on Ubuntu Linux.md index 54f15a7e3b..8c2ee3c263 100644 --- a/translated/tech/20221010 How to Update Google Chrome on Ubuntu Linux.md +++ b/published/20221010 How to Update Google Chrome on Ubuntu Linux.md @@ -3,13 +3,16 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15163-1.html" -如何在 Ubuntu Linux 上更新 Google Chrome +如何在 Ubuntu Linux 上更新谷歌 Chrome ====== -你设法在你的 Ubuntu 系统上安装了 Google Chrome 浏览器。现在你想知道如何让浏览器保持更新。 + +![](https://img.linux.net.cn/data/attachment/album/202210/22/085013gihsi4rtmpkmj4yb.png) + +> 你设法在你的 Ubuntu 系统上安装了谷歌 Chrome 浏览器。现在你想知道如何让浏览器保持更新。 在 Windows 和 macOS 上,当 Chrome 上有可用更新时,你会在浏览器中收到通知,你可以从浏览器中点击更新选项。 @@ -19,17 +22,17 @@ Linux 中的情况有所不同。你不会从浏览器更新 Chrome。你要使 ![当有新版本的 Chrome 可用时,Ubuntu 会发送通知][1] -你只需单击立即安装按钮,在被要求时输入你的帐户密码并将 Chrome 更新到新版本。 +你只需单击“立即安装Install Now”按钮,在被提示时输入你的帐户密码并将 Chrome 更新到新版本。 -让我告诉你为什么会在系统级别看到更新,以及如何在命令行中更新 Google Chrome。 +让我告诉你为什么会在系统级别看到更新,以及如何在命令行中更新谷歌 Chrome。 ### 方法 1:使用系统更新更新谷歌浏览器 -你最初是如何安装 Chrome 的?你从 [Chrome 网站][2]获得了 deb 安装程序文件,并使用它来[在 Ubuntu 上安装 Chrome][3]。 +你最初是如何安装 Chrome 的?你从 [Chrome 网站][2] 获得了 deb 安装程序文件,并使用它来 [在 Ubuntu 上安装 Chrome][3]。 -当你这样做时,谷歌会在你系统的源列表中添加一个仓库条目。这样,你的系统就会信任来自 Google 仓库的包。 +当你这样做时,谷歌会在你系统的源列表中添加一个仓库条目。这样,你的系统就会信任来自谷歌仓库的包。 -![Google Chrome 存储库添加到 Ubuntu 系统][4] +![谷歌 Chrome 存储库添加到 Ubuntu 系统][4] 对于添加到系统中的所有此类条目,包更新通过 Ubuntu 更新程序集中进行。 @@ -37,7 +40,7 @@ Linux 中的情况有所不同。你不会从浏览器更新 Chrome。你要使 ![Chrome 更新可通过系统更新与其他应用一起使用][5] -**单击“立即安装”按钮并在要求时输入你的密码**。很快,系统将安装所有可升级的软件包。 +**单击“立即安装Install Now”按钮并在要求时输入你的密码**。很快,系统将安装所有可升级的软件包。 根据更新偏好,通知可能不是立即的。如果需要,你可以手动运行更新程序工具并查看适用于你的 Ubuntu 系统的更新。 @@ -57,15 +60,15 @@ sudo apt --only-upgrade install google-chrome-stable 第一条命令更新包缓存,以便你的系统知道可以升级哪些包。 -第二条命令[仅更新单个包][7],即 Google Chrome(安装为 google-chrome-stable)。 +第二条命令 [仅更新单个包][7],即谷歌 Chrome(安装为 `google-chrome-stable`)。 ### 总结 如你所见,Ubuntu 比 Windows 更精简。你会随其他系统更新一起更新 Chrome。 -顺便一提,如果你对它不满意,你可以了解[从 Ubuntu 中删除 Google Chrome][8]。 +顺便一提,如果你对它不满意,你可以了解 [从 Ubuntu 中删除 Google Chrome][8]。 -Chrome 是一款不错的浏览器。你可以通过[使用 Chrome 中的快捷方式][9]来试验它,因为它使浏览体验更加流畅。 +Chrome 是一款不错的浏览器。你可以通过 [使用 Chrome 中的快捷方式][9] 来试验它,因为它使浏览体验更加流畅。 在 Ubuntu 上享受 Chrome! @@ -76,7 +79,7 @@ via: https://itsfoss.com/update-google-chrome-ubuntu/ 作者:[Abhishek Prakash][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/) 荣誉推出 From 99753a45cca986809eb63155541b815bdee15b45 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 22 Oct 2022 10:51:00 +0800 Subject: [PATCH 023/925] =?UTF-8?q?=E8=B6=85=E6=9C=9F=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @hwlife @Donkey-Hao --- ...to Install Nvidia Drivers on Linux Mint -Beginner-s Guide.md | 2 +- .../20210530 Complete Guide to Configuring SSH in Ubuntu.md | 2 +- ...220609 A guide to container orchestration with Kubernetes.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/tech/20210307 How to Install Nvidia Drivers on Linux Mint -Beginner-s Guide.md b/sources/tech/20210307 How to Install Nvidia Drivers on Linux Mint -Beginner-s Guide.md index ee23f126fe..2a9a7650f4 100644 --- a/sources/tech/20210307 How to Install Nvidia Drivers on Linux Mint -Beginner-s Guide.md +++ b/sources/tech/20210307 How to Install Nvidia Drivers on Linux Mint -Beginner-s Guide.md @@ -2,7 +2,7 @@ [#]: via: (https://itsfoss.com/nvidia-linux-mint/) [#]: author: (Ankush Das https://itsfoss.com/author/ankush/) [#]: collector: (lujun9972) -[#]: translator: (hwlife) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md index b66a99ec02..1ba15f11d2 100644 --- a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md +++ b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md @@ -2,7 +2,7 @@ [#]: via: (https://itsfoss.com/set-up-ssh-ubuntu/) [#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/) [#]: collector: (lujun9972) -[#]: translator: (hwlife) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20220609 A guide to container orchestration with Kubernetes.md b/sources/tech/20220609 A guide to container orchestration with Kubernetes.md index 3db1778c50..6050ced755 100644 --- a/sources/tech/20220609 A guide to container orchestration with Kubernetes.md +++ b/sources/tech/20220609 A guide to container orchestration with Kubernetes.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/6/container-orchestration-kubernetes" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: "Donkey" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3656495f2c663f5dcc4976b19e2fae69d03bb111 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Sat, 22 Oct 2022 11:34:14 +0800 Subject: [PATCH 024/925] Translated by chai001125 --- ...on any operating system with VirtualBox.md | 325 ------------------ ...on any operating system with VirtualBox.md | 264 ++++++++++++++ 2 files changed, 264 insertions(+), 325 deletions(-) delete mode 100644 sources/tech/20210629 Try Linux on any operating system with VirtualBox.md create mode 100644 translated/tech/20210629 Try Linux on any operating system with VirtualBox.md diff --git a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md b/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md deleted file mode 100644 index 9be0476542..0000000000 --- a/sources/tech/20210629 Try Linux on any operating system with VirtualBox.md +++ /dev/null @@ -1,325 +0,0 @@ -[#]: subject: (Try Linux on any operating system with VirtualBox) -[#]: via: (https://opensource.com/article/21/6/try-linux-virtualbox) -[#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -Try Linux on any operating system with VirtualBox -====== -VirtualBox helps anyone—even a command line novice—set up a virtual -machine. -![Person programming on a laptop on a building][1] - -VirtualBox makes it easy for anyone to try Linux. You don't even need experience with the command line to set up a simple virtual machine to tinker with Linux. I'm kind of a power user when it comes to virtual machines, but this article will show even novices how to virtualize a Linux system. In addition, it provides an overview of how to run and install a Linux system for testing purposes with the open source hypervisor [VirtualBox][2]. - -### Terms - -Before starting, you should understand the difference between the two operating systems (OSes) in this setup: - - * **Host system:** This is your actual OS on which you install VirtualBox. - * **Guest system:** This is the system you want to run virtualized on top of your host system. - - - -Both systems, host and guest, must interact with each other when it comes to input/output, networking, file access, clipboard, audio, and video. - -In this tutorial, I'll use Windows 10 as the _host system_ and [Fedora 33][3] as the _guest system_. - -### Prerequisites - -When we talk about virtualization, we actually mean [hardware-assisted virtualization][4]. Hardware-assisted virtualization requires a compatible CPU. Almost every ordinary x86 CPU from the last decade comes which this feature. AMD calls it **AMD-V,** and Intel calls it **VT-x**. The virtualization feature adds some additional CPU instructions, and it can be enabled or disabled in the BIOS. - -To start with virtualization: - - * Make sure that AMD-V or VT-x is enabled in the BIOS. - * Download and install [VirtualBox][5]. - - - -### Prepare the virtual machine - -Download the image of the Linux distribution you want to try out. It does not matter if it's a 32-bit or 64-bit OS image. You can even start a 64-bit OS image on a 32-bit host system (with limitations in memory usage, of course) and vice versa. - -> **Considerations:** If possible, choose a Linux distribution that comes with the [Logical Volume Manager][6] (LVM). LVM decouples the filesystem from the physical hard drives. This allows you to increase the size of your guest system's hard drive if you are running out of space. - -Now, open VirtualBox and click on the yellow **New** button: - -![VirtualBox New VM][7] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Next, configure how much memory the guest OS is allowed to use: - -![Set VM memory size][9] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -My recommendation: **Don't skimp on memory!** When memory is low, the guest system will start paging memory from RAM to the hard drive, worsening the system's performance and responsiveness extremely. If the underlying host system starts paging, you might not notice. For a Linux workstation system with a graphical desktop environment, I recommend at least 4GB of memory. - -Next, create the hard disk: - -![Create virtual hard disk][10] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Choose the default option, **VDI**: - -![Selecting hard disk file type][11] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -In this window, I recommend choosing **dynamically allocated**, as this allows you to increase the size later. If you choose **fixed size**, the disk will be probably faster, but you won't be able to modify it: - -![Dynamically allocating hard disk][12] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -With a Linux distribution that uses LVM, you can start with a small hard disk. If you are running out of space, you can increase it on demand. - -> **Note**: Fedora's website says [it requires][13] a minimum of 20GB free disk space. I highly recommend you stick to that specification. I chose 8GB here so that I can demonstrate how to increase it later. If you are new to Linux or inexperienced with the command line, choose 20GB. - -![Setting hard disk size][14] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -After creating the hard drive, select the newly created virtual machine from the list in VirtualBox's main window and click on **Settings**. In the Settings menu, go to **System** and select the **Processor** tab. By default, VirtualBox assigns only one CPU core to the guest system. On a modern multicore CPU, it should not be any problem to assign at least two cores, which will speed up the guest system significantly: - -![Assigning cores to guest system][15] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -#### Network adapter setup - -The next thing to take care of is the network setup. By default, VirtualBox creates one NAT connection, which should be OK for most use cases: - -![Network settings][16] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -You can create more than one network adapter. Here are the most common types: - - * **NAT:** The NAT adapter performs a [network address translation][17]. From the outside, it looks like the host and the guest system use the same IP address. You are not able to access the guest system from within the host system over the network. (Although you could define [port forwarding][18] to access certain services.) When your host system has access to the internet, the guest system will have access, too. NAT requires no further configuration. - * _Choose **NAT** if you only need internet access for the guest system._ - * **Bridged adapter:** Here, the guest and the host system share the same physical Ethernet device. Both systems will have independent IP addresses. From the outside, it looks like there are two separate systems in the network, both sharing the same physical Ethernet adapter. This setup is more flexible but requires more configuration. - * _Choose **Bridged adapter** if you want to share the guest system's network services._ - * **Host-only adapter:** In this configuration, the guest system can only talk to the host or other guest systems running on the same host. The host system can also connect to the guest system. There is no internet nor physical network access for the guest. - * _Choose **Host-only adapter** for advanced security._ - - - -#### Assign the OS image - -Navigate to **Storage** and select the virtual optical drive. Click on the **CD icon** on the right, and select **Choose a disk file…**. Then assign the downloaded Linux distribution image you want to install: - -![Assigning OS image][19] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -### Install Linux - -The virtual machine is now configured. Leave the **Settings** menu and go back to the main window. Click on the **Green arrow** (i.e., the start button). The virtual machine will start up and boot from the virtual optical drive, and you will find yourself in your Linux distribution's installer: - -![VirtualBox Fedora installer][20] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -#### Partitioning - -The installer will ask you for partitioning information during the installation process. Choose **Custom**: - -![Selecting Custom partition configuration][21] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -> **Note:** I'm assuming you're creating this virtual machine just for testing purposes. Also you don't need to care about hibernation for your guest system, as this function is implicitly provided by VirtualBox. Therefore, you can omit the swap partition to save disk space on your host system. Keep in mind that you can add a swap partition later if needed. In [_An introduction to swap space on Linux systems_][22], David Both explains how to add a swap partition and choose the correct size. - -Fedora 33 and later offer a [zram][23] partition, a compressed part of the memory used for paging and swap. The zram partition is resized on demand, and it is much faster than a hard disk swap partition. - -To keep it simple, just add these two mount points: - -![Adding mount points][24] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Apply the changes and proceed with the installation. - -### Install VirtualBox Guest Additions - -After you finish the installation, boot from the hard drive and log in. Now you can install VirtualBox Guest Additions, which include special device drivers and system applications that provide: - - * Shared clipboard - * Shared folders - * Better performance - * Freely scalable window size - - - -To install them, click on the top menu in **Devices** and select **Insert Guest Additions CD image…**: - -![Selecting Guest Additions CD image][25] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -On most Linux distributions, the CD image with the Guest Additions is mounted automatically, and they are available in the file browser. Fedora will ask you if you want to run the installation script. Click **Run** and enter your credentials to grant the process root rights: - -![Enabling Guest Additions autorun][26] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -When the installation is finished, reboot the system. - -### LVM: Enlarge disk space - -Creating an 8GB hard disk was a dumb decision, as Fedora quickly starts signaling that it is running out of space: - -![Fedora hard disk running out of space][27] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -As I mentioned, a disk space of 20GB is recommended, and 8GB is the _absolute_ minimum for a Fedora 33 installation to boot up. A fresh installation with no additional software (except the VirtualBox Guest Additions) takes nearly the whole 8GB of available space. Don't open the GNOME Software center or anything else that might download files from the internet in this condition. - -Luckily, I chose to use LVM, so I can easily fix this mishap. - -To increase the filesystem's space within the virtual machine, you must first increase the virtual hard drive on your host system. - -Shut down the virtual machine. If your host system is running Windows, open a command prompt and navigate to `C:\Program Files\Oracle\VirtualBox`. Resize the disk to 12,000MB with the following command: - - -``` -`VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000` -``` - -Boot the virtual machine and open the **Disks** utility. You should see the newly created unassigned free space. Select **Free Space** and click the **+** button: - -![Free space before adding][28] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Now, create a new partition. Select the amount of free space you want to use: - -![Creating a new partition and setting size][29] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -You don't want to create a filesystem or anything else on your new partition, so select **Other**: - -![Selecting "other" for partition volume type][30] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Select **No Filesystem**: - -![Setting "No filesystem" on new partition][31] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -The overview should now look like this: - -![VirtualBox after adding new partition][32] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -There is a new partition device, **/dev/sda3**. Check your LVM volume group by typing `vgscan`: - -![Checking LVM volume group by typing vgscan:][33] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Now you have everything you need. Extend the volume group in the new partition: - - -``` -`vgextend fedora_localhost-live /dev/sda3` -``` - -![vgextend command output][34] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Because the volume group is larger, you can increase the size of the logical volume. The command `vgdisplay` shows that it has 951 free extends available: - -![vgdisplay command output][35] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Increase the logical volume by 951 extends: - - -``` -`lvextend -l+951 /dev/mapper/fedora_localhost--live-root` -``` - -![lvextend command output][36] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -After you increase the logical volume, the last thing to do is to resize the filesystem: - - -``` -`resize2fs /dev/mapper/fedora_localhost--live-root` -``` - -![resize2fs command output][37] - -(Stephan Avenwedde, [CC BY-SA 4.0][8]) - -Done! Check the **Disk Usage Analyzer**, and you should see that the extended space is available for the filesystem. - -### Summary - -With a virtual machine, you can check how a piece of software behaves with a specific operating system or a specific version of an operating system. Besides that, you can also try out any Linux distribution you want to test without worrying about breaking your system. For advanced users, VirtualBox offers a wide range of possibilities when it comes to testing, networking, and simulation. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/try-linux-virtualbox - -作者:[Stephan Avenwedde][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/hansic99 -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_code_programming_laptop.jpg?itok=ormv35tV (Person programming on a laptop on a building) -[2]: https://www.virtualbox.org/ -[3]: https://getfedora.org/ -[4]: https://en.wikipedia.org/wiki/Hardware-assisted_virtualization -[5]: https://www.virtualbox.org/wiki/Downloads -[6]: https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) -[7]: https://opensource.com/sites/default/files/uploads/virtualbox_new_vm.png (VirtualBox New VM) -[8]: https://creativecommons.org/licenses/by-sa/4.0/ -[9]: https://opensource.com/sites/default/files/uploads/virtualbox_memory_size_1.png (Set VM memory size) -[10]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_1.png (Create virtual hard disk) -[11]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_2.png (Selecting hard disk file type) -[12]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_3.png (Dynamically allocating hard disk) -[13]: https://getfedora.org/en/workstation/download/ -[14]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_4.png (Setting hard disk size) -[15]: https://opensource.com/sites/default/files/uploads/virtualbox_cpu_settings.png (Assigning cores to guest system) -[16]: https://opensource.com/sites/default/files/uploads/virtualbox_network_settings2.png (Network settings) -[17]: https://en.wikipedia.org/wiki/Network_address_translation -[18]: https://www.virtualbox.org/manual/ch06.html#natforward -[19]: https://opensource.com/sites/default/files/uploads/virtualbox_choose_image3.png (Assigning OS image) -[20]: https://opensource.com/sites/default/files/uploads/virtualbox_running.png (VirtualBox Fedora installer) -[21]: https://opensource.com/sites/default/files/uploads/virtualbox_partitioning_1.png (Selecting Custom partition configuration) -[22]: https://opensource.com/article/18/9/swap-space-linux-systems -[23]: https://fedoraproject.org/wiki/Changes/SwapOnZRAM -[24]: https://opensource.com/sites/default/files/uploads/virtualbox_partitioning_2.png (Adding mount points) -[25]: https://opensource.com/sites/default/files/uploads/virtualbox_guest_additions_2.png (Selecting Guest Additions CD image) -[26]: https://opensource.com/sites/default/files/uploads/virtualbox_guest_additions_autorun.png (Enabling Guest Additions autorun) -[27]: https://opensource.com/sites/default/files/uploads/virtualbox_disk_usage_1.png (Fedora hard disk running out of space) -[28]: https://opensource.com/sites/default/files/uploads/virtualbox_disks_before.png (Free space before adding) -[29]: https://opensource.com/sites/default/files/uploads/virtualbox_new_partition_1.png (Creating a new partition and setting size) -[30]: https://opensource.com/sites/default/files/uploads/virtualbox_new_partition_2.png (Selecting "other" for partition volume type) -[31]: https://opensource.com/sites/default/files/uploads/virtualbox_no_partition_3.png (Setting "No filesystem" on new partition) -[32]: https://opensource.com/sites/default/files/uploads/virtualbox_disk_after.png (VirtualBox after adding new partition) -[33]: https://opensource.com/sites/default/files/uploads/virtualbox_vgscan.png (Checking LVM volume group by typing vgscan:) -[34]: https://opensource.com/sites/default/files/uploads/virtualbox_vgextend_2.png (vgextend command output) -[35]: https://opensource.com/sites/default/files/uploads/virtualbox_vgdisplay.png (vgdisplay command output) -[36]: https://opensource.com/sites/default/files/uploads/virtualbox_lvextend.png (lvextend command output) -[37]: https://opensource.com/sites/default/files/uploads/virtualbox_resizefs.png (resize2fs command output) diff --git a/translated/tech/20210629 Try Linux on any operating system with VirtualBox.md b/translated/tech/20210629 Try Linux on any operating system with VirtualBox.md new file mode 100644 index 0000000000..cd6b27a477 --- /dev/null +++ b/translated/tech/20210629 Try Linux on any operating system with VirtualBox.md @@ -0,0 +1,264 @@ +[#]: subject: (Try Linux on any operating system with VirtualBox) +[#]: via: (https://opensource.com/article/21/6/try-linux-virtualbox) +[#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +使用 VirtualBox 安装 Linux 虚拟机 +====== +VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。 + +![Person programming on a laptop on a building][1] + +VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要有使用命令行的经验,就可以自己安装一个简单的 Linux 虚拟机。在虚拟机方面,我精通很多东西,但这篇文章将向新手展示如何安装一个 Linux 虚拟机。此外,这篇文章还概述了如何使用开源虚拟机管理程序 [VirtualBox][2] ,来运行以及安装一个测试目的的 Linux 系统。 + +### 一些术语 + +在开始之前,你需要了解在本安装教程中的两个操作系统(OS)之间的区别: + + * **主机系统(host system):** 这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。 + * **访客系统(guest system):** 这指的是你想要在主机系统之上运行的虚拟化系统。 + +在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和访客系统都必须能够交互。 + +在本教程中,我将使用 Windows 10 作为 _主机系统_,[Fedora 33][3] 作为 _访客系统_。 + +### 安装前的准备 + +当我们谈论虚拟化时,实际上,我们指的是 [硬件辅助虚拟化][4]。硬件辅助虚拟化需要兼容的 CPU。过去十年来,几乎每个普通的 x86 CPU 都有这一功能。AMD 公司称这样的 x86 CPU 是具有 **AMD 虚拟化技术(AMD-V)** 的处理器,英特尔公司则称其是具有 **Intel 虚拟化技术(VT-x)** 的处理器。虚拟化功能增加了一些额外的 CPU 指令,你可以在 BIOS 中启用或禁用这些指令。 + +在安装虚拟机之前: + + * 确保在 BIOS 中启用了虚拟化技术(AMD-V 或 VT-x)。 + * 下载并安装好 [VirtualBox][5]。 + +### 准备虚拟机 + +下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统映像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统映像(当然内存的使用会受限),反之亦然。 + +> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6](LVM)的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加访客系统的硬盘驱动器的大小。 + +现在,打开 VirtualBox,然后单击黄色的**新建**按钮: + +![VirtualBox New VM][7] + +接下来,配置访客操作系统允许使用多少内存: + +![Set VM memory size][9] + +我的建议是:**不要吝啬访客操作系统的内存!** +当访客操作系统的内存不足时,访客系统将开始从随机存取存储器(RAM)转换到硬盘驱动器(hard drive),进行内存的分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。 + +接下来,创建虚拟磁盘: + +![Create virtual hard disk][10] + +虚拟磁盘的格式选择默认的选项 **VDI(VirtualBox 磁盘映像)** 就可以了: + +![Selecting hard disk file type][11] + +在以下的窗口中,我建议选择**动态分配**,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了**固定大小**,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了: + +![Dynamically allocating hard disk][12] + +建议你使用附带有逻辑卷管理器(LVM)的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的访客系统的空间快用完了,你可以按需增加磁盘的大小。 + +> **注意**:我选择的访客系统为 Fedora,在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB,以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。 + +![Setting hard disk size][14] + +创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击**设置**。在设置菜单中,点击**系统**,然后选择**处理器**标签。默认情况下,VirtualBox 只向访客系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快访客系统的速度: + +![Assigning cores to guest system][15] + +#### 设置网络适配器 + +接下来,要处理的是网络设置。默认情况下, VirtualBox 会创建一个 NAT 连接,这对于大多数情况来说,是没有问题、不用做其他更改的: + +![Network settings][16] + +你也可以创建多个网络适配器。以下是网络适配器最常见的类型: + * **NAT:** NAT适配器能自动执行 [网络地址转换][17]。从外部看,主机和访客系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问访客系统。(尽管,你也可以通过定义 [端口转发][18],来访问某些服务。)当你的主机系统可以访问互联网时,则你的访客系统也可以访问互联网。NAT 不再需要进一步的配置。 + * _如果你只需要让访客系统接入互联网就可以的话,请选择 **NAT**。_ + * **桥接适配器(Bridged adapter):** 在此配置中,访客系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。 + * _如果你想要共享访客系统的网络服务的话,请选择 **桥接适配器**。_ + * **仅限主机的适配器(Host-only adapter):** 在此配置中,访客系统只能与主机,或在同一主机上运行的其他访客系统,相互通信。主机系统也可以连接到访客系统。但访客系统不能接入互联网或物理网络。 + * _如果你想要获得高安全性,请选择 **仅限主机的适配器**。_ + +#### 分配操作系统映像 + +在设置菜单中,点击**存储**,然后选择虚拟光盘驱动器。单击右侧的 **光盘图标**,然后点击**选择一个磁盘文件...**,然后分配你想要安装的、已下载的 Linux 发行版映像: + +![Assigning OS image][19] + +### 安装 Linux + +现在,就已经配置好了虚拟机。右上角关闭**设置**菜单,返回主窗口。点击**绿色箭头**(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中: + +![VirtualBox Fedora installer][20] + +#### 设置分区 + +安装程序将在安装过程中要求你提供分区信息。选择**自定义(Custom)**: + +![Selecting Custom partition configuration][21] + +> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心访客系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 [Linux 系统交换空间的介绍][22] 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。 + +Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分区可以用于存放分页和交换、并经过压缩过后的硬盘数据。zram 分区可以按需地调整大小,并且它比硬盘交换分区快得多。 + +为了简单,我们只添加以下两个挂载点(mount point): + +![Adding mount points][24] + +保存更改,接下来我们继续安装。 + +### 安装 VirtualBox 增强功能 Guest Additions + +完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 VirtualBox 增强功能,其中包括特殊的设备驱动程序和系统应用程序,他们能提供以下内容: + + * 共享剪贴板 + * 共享文件夹 + * 更好的性能 + * 可自由扩展的窗口大小 + +点击顶部菜单栏的**设备**,然后选择**插入增强功能的CD映像...**,来安装 VirtualBox 增强功能: + +![Selecting Guest Additions CD image][25] + +在大多数 Linux 发行版上,带有增强功能的CD映像会自动挂载,并且能够在 File Browser 文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击**运行**,并授予该安装进程 root 权限: + +![Enabling Guest Additions autorun][26] + +安装完成后,需要重新启动系统。 + +### LVM:扩大磁盘空间 + +我在之前给 Fedora 虚拟机分配了 8GB 硬盘空间,是一个愚蠢的决定,因为 Fedora 很快就会告警空间不足: + +![Fedora hard disk running out of space][27] + +正如我提到的,Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有新安装其他软件(除了 VirtualBox Guest Additions),启动项就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。 + +幸运的是,我选择了附带有 LVM 的 Fedora,这样我就可以用命令行轻松地修复这个问题。 + +要增加虚拟机中文件系统的空间,你必须先增加主机系统上分配的虚拟硬盘驱动器。 + +关闭虚拟机。如果你的主机系统运行的是 Windows,请打开终端,并进入到 `C:\Program Files\Oracle\VirtualBox` 目录下。使用以下命令,将磁盘大小扩大到 12,000MB: + +``` +`VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000` +``` + +然后启动虚拟机,并打开**磁盘**的利用。你可以看到你刚刚新创建且未分配的可用空间。选择**可用空间**,然后单击 **+** 按钮: + +![Free space before adding][28] + +现在,创建一个新的分区。选择你要使用的可用空间的大小: + +![Creating a new partition and setting size][29] + +You don't want to create a filesystem or anything else on your new partition, so select **Other**: +如果你不想在新分区上创建文件系统或任何其他内容,请选择**其他**: + +![Selecting "other" for partition volume type][30] + +选择**无文件系统**: + +![Setting "No filesystem" on new partition][31] + +现在,磁盘空间应该如下图所示: + +![VirtualBox after adding new partition][32] + +虚拟机有了一个新的分区设备:**/dev/sda3**。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 **fedora_localhost_live** 这一LVM 卷组 : + +![Checking LVM volume group by typing vgscan:][33] + +现在,已经万事俱备了。在新分区 **/dev/sda3** 中扩展卷组 **fedora_localhost_live**: + +``` +`vgextend fedora_localhost-live /dev/sda3` +``` + +![vgextend command output][34] + +由于卷组较大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的空闲扩展: + +![vgdisplay command output][35] + +将逻辑卷增加 951 个扩展: + +``` +`lvextend -l+951 /dev/mapper/fedora_localhost--live-root` +``` + +![lvextend command output][36] + +在增加了逻辑卷后,最后一件事就是调整文件系统的大小: + +``` +`resize2fs /dev/mapper/fedora_localhost--live-root` +``` + +![resize2fs command output][37] + +这样磁盘空间就增加完成了!检查**磁盘使用分析器**,你就可以看到扩展空间已经可用于文件系统了。 + +### 总结 + +使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统,软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于高级用户来说,VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/try-linux-virtualbox + +作者:[Stephan Avenwedde][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/hansic99 +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_code_programming_laptop.jpg?itok=ormv35tV (Person programming on a laptop on a building) +[2]: https://www.virtualbox.org/ +[3]: https://getfedora.org/ +[4]: https://en.wikipedia.org/wiki/Hardware-assisted_virtualization +[5]: https://www.virtualbox.org/wiki/Downloads +[6]: https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) +[7]: https://opensource.com/sites/default/files/uploads/virtualbox_new_vm.png (VirtualBox New VM) +[8]: https://creativecommons.org/licenses/by-sa/4.0/ +[9]: https://opensource.com/sites/default/files/uploads/virtualbox_memory_size_1.png (Set VM memory size) +[10]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_1.png (Create virtual hard disk) +[11]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_2.png (Selecting hard disk file type) +[12]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_3.png (Dynamically allocating hard disk) +[13]: https://getfedora.org/en/workstation/download/ +[14]: https://opensource.com/sites/default/files/uploads/virtualbox_create_hd_4.png (Setting hard disk size) +[15]: https://opensource.com/sites/default/files/uploads/virtualbox_cpu_settings.png (Assigning cores to guest system) +[16]: https://opensource.com/sites/default/files/uploads/virtualbox_network_settings2.png (Network settings) +[17]: https://en.wikipedia.org/wiki/Network_address_translation +[18]: https://www.virtualbox.org/manual/ch06.html#natforward +[19]: https://opensource.com/sites/default/files/uploads/virtualbox_choose_image3.png (Assigning OS image) +[20]: https://opensource.com/sites/default/files/uploads/virtualbox_running.png (VirtualBox Fedora installer) +[21]: https://opensource.com/sites/default/files/uploads/virtualbox_partitioning_1.png (Selecting Custom partition configuration) +[22]: https://opensource.com/article/18/9/swap-space-linux-systems +[23]: https://fedoraproject.org/wiki/Changes/SwapOnZRAM +[24]: https://opensource.com/sites/default/files/uploads/virtualbox_partitioning_2.png (Adding mount points) +[25]: https://opensource.com/sites/default/files/uploads/virtualbox_guest_additions_2.png (Selecting Guest Additions CD image) +[26]: https://opensource.com/sites/default/files/uploads/virtualbox_guest_additions_autorun.png (Enabling Guest Additions autorun) +[27]: https://opensource.com/sites/default/files/uploads/virtualbox_disk_usage_1.png (Fedora hard disk running out of space) +[28]: https://opensource.com/sites/default/files/uploads/virtualbox_disks_before.png (Free space before adding) +[29]: https://opensource.com/sites/default/files/uploads/virtualbox_new_partition_1.png (Creating a new partition and setting size) +[30]: https://opensource.com/sites/default/files/uploads/virtualbox_new_partition_2.png (Selecting "other" for partition volume type) +[31]: https://opensource.com/sites/default/files/uploads/virtualbox_no_partition_3.png (Setting "No filesystem" on new partition) +[32]: https://opensource.com/sites/default/files/uploads/virtualbox_disk_after.png (VirtualBox after adding new partition) +[33]: https://opensource.com/sites/default/files/uploads/virtualbox_vgscan.png (Checking LVM volume group by typing vgscan:) +[34]: https://opensource.com/sites/default/files/uploads/virtualbox_vgextend_2.png (vgextend command output) +[35]: https://opensource.com/sites/default/files/uploads/virtualbox_vgdisplay.png (vgdisplay command output) +[36]: https://opensource.com/sites/default/files/uploads/virtualbox_lvextend.png (lvextend command output) +[37]: https://opensource.com/sites/default/files/uploads/virtualbox_resizefs.png (resize2fs command output) From 07fbf6a1a51d61958592c4d5ce6d52640c403822 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 22 Oct 2022 12:00:47 +0800 Subject: [PATCH 025/925] RP @chai001125 https://linux.cn/article-15164-1.html --- ...Bash- Command Not Found- Error in Linux.md | 89 +++++++++++-------- 1 file changed, 51 insertions(+), 38 deletions(-) rename {translated/tech => published}/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md (55%) diff --git a/translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md similarity index 55% rename from translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md rename to published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md index 1127ff2f32..902989fbbc 100644 --- a/translated/tech/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md +++ b/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md @@ -3,36 +3,36 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lujun9972" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15164-1.html" -解决 Linux 中的“Bash: Command Not Found”报错 +解决 Linux 中的 “Bash: Command Not Found” 报错 ====== -_**本新手教程展示了在 Debian、Ubuntu 和其他的 Linux 发行版上如何解决 Bash: command not found 这一报错。**_ +> 本新手教程展示了在 Debian、Ubuntu 和其他的 Linux 发行版上如何解决 “Bash: command not found” 这一报错。 -当你在 Linux 中使用命令时,你希望得到终端输出的结果。但有时候,你会遇到终端显示“未找到命令(command not found)”这一报错。 +当你在 Linux 中使用命令时,你希望得到终端输出的结果。但有时候,你会遇到终端显示“命令未找到command not found”这一报错。 ![][1] 对于这个问题,并没有直截了当且单一的解决方案。你必须自己做一些故障排除来解决这个报错。 -老实说,要解决它并不难。该报错信息已经给出了一些提示:“bash: command not found”,这说明你的 shell(或者 Linux 系统)找不到你输入的那条命令。 +老实说,要解决它并不难。该报错信息已经给出了一些提示:“命令未找到”,这说明你的 shell(或者 Linux 系统)找不到你输入的那条命令。 shell(或 Linux 系统)找不到命令,有三个可能的原因: * 你将命令的名称拼错了 * 该命令还没有安装 - * 该命令是一个可执行脚本,其位置未知 + * 该命令是一个可执行脚本,但其位置未知 -接下来,我们会详细介绍“bash: command not found”这一报错的每一个原因。 +接下来,我们会详细介绍“命令未找到”这一报错的每一个原因。 -### 解决“bash: command not found”报错 +### 解决“命令未找到”报错 ![][2] -#### 方法 1:再次检查命令名称有没有写错 +#### 方法 1:再次检查命令名称有没有写错 每个人都会犯错误,尤其是在打字的时候。你输入的命令可能存在错别字(也就是你写错啦)。 @@ -43,7 +43,7 @@ shell(或 Linux 系统)找不到命令,有三个可能的原因: * 是否在拼写中混淆了 1(数字 1)、I(大写的 i)和 l(小写的 L) * 是否正确使用了大写字母或者小写字母 -看看下面的示例,因为我写错了 ls 命令,所以会导致“command not found”报错。 +看看下面的示例,因为我写错了 `ls` 命令,所以会导致“command not found”报错。 ![][3] @@ -61,19 +61,31 @@ shell(或 Linux 系统)找不到命令,有三个可能的原因: 有时候,某一常用命令可能也不再能使用了,甚至你也不能够安装这个命令了。这种情况下,你需要找到一个替代的命令,来得到结果。 -以现已弃用的 ipconfig 命令为例。网络上的旧教程依旧会让你使用 ipconfig 命令,来 [获取本机的 IP 地址][5] 和网络接口信息,但是,在较新的 Linux 版本中,你已经无法使用 ipconfig 了。ipconfig 命令已被 ifconfig 命令所取代。 +以现已弃用的 `ifconfig` 命令为例。网络上的旧教程依旧会让你使用 `ifconfig` 命令,来 [获取本机的 IP 地址][5] 和网络接口信息,但是,在较新的 Linux 版本中,你已经无法使用 `ifconfig` 了。`ifconfig` 命令已被 `ip` 命令所取代。 ![Some popular commands get discontinued over the time][1] -有时候,你的系统可能甚至找不到一些非常常见的命令。当你在 Docker 容器中运行 Linux 发行版时,就通常如此。Docker 容器为了缩小操作系统映像的大小,容器中通常不包含那些常见的 Linux 命令。 +有时候,你的系统可能甚至找不到一些非常常见的命令。当你在 Docker 容器中运行 Linux 发行版时,就通常如此。Docker 容器为了缩小操作系统镜像的大小,容器中通常不包含那些常见的 Linux 命令。 -这就是为什么使用 Docker 的用户会碰到 [ping命令未找到][6](ping command not found) 等报错的原因。 +这就是为什么使用 Docker 的用户会碰到 [ping 命令未找到][6] 等报错的原因。 ![Docker containers often have only a few commands installed][7] 因此,这种情况下的解决方案是安装缺失的命令,或者是找到一个与缺失命令有同等功能的工具。 -#### 方法 3:检查命令是否是一个路径正确的可执行脚本 +### 方法 3:确保命令是真实的,而不是一个别名 + +我希望你知道 Linux 中的别名概念。你可以配置你自己的较短的命令来代替一个较长命令的输入。 + +一些发行版,如 Ubuntu,会自动提供 `ll`(`ls -l` 的别名)、`la`(`ls -a` 的别名)等命令。 + +![]() + +想象一下,你习惯于在你的个人系统上输入 `ll` 和 `la`,而你登录到另一个 Linux 系统,发现 `ll` 命令并不存在。你甚至不能安装 `ll` 命令,因为它不是一个真正的命令。 + +所以,如果你找不到一个命令,甚至不能安装,你应该尝试在互联网上搜索该命令是否存在。如果不存在,可能是其他系统上的一个别名。 + +#### 方法 4:检查命令是否是一个路径正确的可执行脚本 这是 Linux 新手在 [运行 shell 脚本][8] 时常犯的错误。 @@ -84,39 +96,39 @@ shell(或 Linux 系统)找不到命令,有三个可能的原因: -bash: sample: command not found ``` -因为你需要显式指定 shell 解释器或可执行脚本的绝对路径! +因为你需要显式指定 shell 解释器或可执行脚本的路径! ![][9] -如果你在其他目录下,在未提供文件正确路径的情况下,运行 shell 脚本,则会有“找不到文件(no such file or directory)”的报错。 +如果你在其他目录下,在未提供文件正确路径的情况下,运行 shell 脚本,则会有“找不到文件no such file or directory”的报错。 ![][10] -##### 把可执行文件的路径加到 PATH 变量中 +> **把可执行文件的路径加到 PATH 变量中** +> +> 有时候,你下载了一个软件的压缩文件(tar 格式),解压这个 tar 文件,然后找到一个可执行文件和其他程序文件。你需要运行可执行文件,来运行那个软件。 +> +> 但是,你需要在可执行文件的同一目录下或指定可执行文件的整个路径,才能运行那个可执行文件。这很令人烦扰。 +> +> 你可以使用 `PATH` 变量来解决这个问题。`PATH` 变量包含了有各种 Linux 命令的二进制(可执行)文件的目录集合。当你运行一个命令时,你的 Linux 系统会检查 `PATH` 变量中的上述目录,以查找该命令的可执行文件。 +> +> 你可以使用 `which` 命令,来检查某一命令的二进制文件的位置: -有时候,你下载了一个软件的压缩文件(tar 格式),解压这个 tar 文件,然后找到一个可执行文件和其他程序文件。你需要运行可执行文件,来运行那个软件。 - -但是,你需要在可执行文件的同一目录下或指定可执行文件的整个路径,才能运行那个可执行文件。这很令人烦扰。 - -你可以使用 PATH 变量,来解决这个问题。PATH 变量包含了有各种 Linux 命令的二进制(可执行)文件的目录集合。当你运行一个命令时,你的 Linux 系统会检查 PATH 变量中的上述目录,以查找该命令的可执行文件。 - -你可以使用 `which` 命令,来检查某一命令的二进制文件的位置: - -![][11] - -如果你想从系统上的任何地方都能运行可执行文件或脚本,你需要将可执行文件的位置添加到 PATH 变量中。 - -![][12] - -然后,PATH 变量需要添加到 shell 的 rc 文件中,如此对 PATH 变量的更改就是永久性的。 - -这里的要点是:你的 Linux 系统必须了解可执行脚本的位置。要么在运行时给出可执行文件的整个路径,要么将其位置添加到 PATH 变量中。 +> ![][11] +> +> 如果你想从系统上的任何地方都能运行可执行文件或脚本,你需要将可执行文件的位置添加到 `PATH` 变量中。 +> +> ![][12] +> +> 然后,`PATH` 变量需要添加到 shell 的 rc 文件中,如此对 `PATH` 变量的更改就是永久性的。 +> +> 这里的要点是:你的 Linux 系统必须了解可执行脚本的位置。要么在运行时给出可执行文件的整个路径,要么将其位置添加到 `PATH` 变量中。 ### 以上的内容有帮到你吗? 我懂得,当你是 Linux 新手时,很多事情可能会让你不知所措。但是,当你了解问题的根本原因时,你的知识会逐渐增加。 -对于“未找到命令”(command not found)报错来说,没有简单的解决方案。我提供给你了一些提示和要点,我希望这对你的故障排除有帮助。 +对于“未找到命令”报错来说,没有简单的解决方案。我提供给你了一些提示和要点,我希望这对你的故障排除有帮助。 如果你仍然有疑问或需要帮助,请在评论区告诉我吧。 @@ -127,7 +139,7 @@ via: https://itsfoss.com/bash-command-not-found/ 作者:[Abhishek Prakash][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -145,3 +157,4 @@ via: https://itsfoss.com/bash-command-not-found/ [10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/09/script-file-not-found-error-800x259.png?resize=800%2C259&ssl=1 [11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/path-location.png?resize=800%2C241&ssl=1 [12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/09/adding-executable-to-PATH-variable-linux.png?resize=800%2C313&ssl=1 +[13]: https://itsfoss.com/wp-content/uploads/2022/01/alias-in-ubuntu.png \ No newline at end of file From 409387b5ab638c01d7de5a08b98639f42b507efe Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 22 Oct 2022 12:08:08 +0800 Subject: [PATCH 026/925] R --- ...roubleshooting -Bash- Command Not Found- Error in Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md index 902989fbbc..b9fee2a03b 100644 --- a/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md +++ b/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md @@ -79,7 +79,7 @@ shell(或 Linux 系统)找不到命令,有三个可能的原因: 一些发行版,如 Ubuntu,会自动提供 `ll`(`ls -l` 的别名)、`la`(`ls -a` 的别名)等命令。 -![]() +![][13] 想象一下,你习惯于在你的个人系统上输入 `ll` 和 `la`,而你登录到另一个 Linux 系统,发现 `ll` 命令并不存在。你甚至不能安装 `ll` 命令,因为它不是一个真正的命令。 @@ -113,7 +113,7 @@ shell(或 Linux 系统)找不到命令,有三个可能的原因: > 你可以使用 `PATH` 变量来解决这个问题。`PATH` 变量包含了有各种 Linux 命令的二进制(可执行)文件的目录集合。当你运行一个命令时,你的 Linux 系统会检查 `PATH` 变量中的上述目录,以查找该命令的可执行文件。 > > 你可以使用 `which` 命令,来检查某一命令的二进制文件的位置: - +> > ![][11] > > 如果你想从系统上的任何地方都能运行可执行文件或脚本,你需要将可执行文件的位置添加到 `PATH` 变量中。 From e3d3d352fe1de25b3d6aa9d629de98967d71fe7a Mon Sep 17 00:00:00 2001 From: Donkey Date: Sat, 22 Oct 2022 16:40:39 +0800 Subject: [PATCH 027/925] PR --- .../20210530 Complete Guide to Configuring SSH in Ubuntu.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md index 1ba15f11d2..f7d703762c 100644 --- a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md +++ b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md @@ -2,7 +2,7 @@ [#]: via: (https://itsfoss.com/set-up-ssh-ubuntu/) [#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (Donkey-Hao) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) @@ -220,7 +220,7 @@ via: https://itsfoss.com/set-up-ssh-ubuntu/ 作者:[Chris Patrick Carias Stas][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Donkey-Hao](https://github.com/Donkey-Hao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 33e8ac7a1b1abff3756a06a0053cfa3d90603ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 16:42:58 +0800 Subject: [PATCH 028/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221019-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-GitHub-C?= =?UTF-8?q?opilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s-To-Be-In-Violation-Of-The-Open-Source-Licence.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md diff --git a/sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md b/sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md new file mode 100644 index 0000000000..4a49748487 --- /dev/null +++ b/sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md @@ -0,0 +1,38 @@ +[#]: subject: "GitHub Copilot Appears To Be In Violation Of The Open Source Licence" +[#]: via: "https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +GitHub Copilot Appears To Be In Violation Of The Open Source Licence +====== + +![github-logo-2][1] + +_Since Copilot’s debut, Butterick has voiced criticism of the program._ + +Microsoft paid $7.5 billion buying GitHub in 2018 and has since integrated the code repository into its developer tools while taking a largely hands-off stance. Matthew Butterick, a writer, attorney, and programmer, has some problems with GitHub Copilot, Microsoft’s machine-learning based code helper, and how it appears to be treating open source licences incorrectly. + +GitHub Copilot, a plugin for Visual Studio and other IDEs, operates by providing “suggestions” for code completion as you type. Codex serves as the system’s power source. However, developers like Butterick are having trouble with how the AI is learned, or more specifically, from where it is trained. + +The issue here is that the public repositories on which GitHub is trained are licenced and demand credit when their work is utilised. Although Microsoft has been evasive about its usage of the code, referring to it as fair use, Copilot is able to generate verbatim portions of code in addition to suggestions. + +As per OpenAI, the developers of Codex (which is licensed by Microsoft), “Codex was trained on tens of mil­lions of pub­lic repos­i­to­ries includ­ing code on GitHub. Microsoft itself has vaguely described the train­ing mate­r­ial as bil­lions of lines of pub­lic code”. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/ + +作者:[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/10/github-logo-2-1-696x348.png From 57079802b548948499fbc1a7e9971223329e67e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 16:46:52 +0800 Subject: [PATCH 029/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-GitHub-Copilot-Appears-To-Be-In-Violation-Of?= =?UTF-8?q?-The-Open-Source-Licence.md=20to=2020221019-=E2=AD=90=EF=B8=8F-?= =?UTF-8?q?GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Li?= =?UTF-8?q?cence.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md => 20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md} (100%) diff --git a/sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md b/sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md similarity index 100% rename from sources/news/20221019-⭐️⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md rename to sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md From 5efa79fd2b136eefd7cfd5d643e814dbd56073d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 18:26:03 +0800 Subject: [PATCH 030/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221017-=E2=AD=90=EF=B8=8F-Ubuntu-but-rolling-but-als?= =?UTF-8?q?o-stable-That-s-what-Rhino-Linux-aims-to-be.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o-stable-That-s-what-Rhino-Linux-aims-to-be.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md diff --git a/sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md b/sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md new file mode 100644 index 0000000000..c1f743afa6 --- /dev/null +++ b/sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md @@ -0,0 +1,80 @@ +[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be" +[#]: via: "https://news.itsfoss.com/rhino-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu but rolling but also stable That's what Rhino Linux aims to be +====== + +A rolling-release Ubuntu distribution? Wait, what? Rhino Linux sounds fascinating.. + +![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1] + +Rhino Linux will be the successor of [Rolling Rhino Remix][2]. A Linux distro built by http.llamaz that offered a rolling-release **unofficial** variant of Ubuntu. + +To clarify, the project was never aimed to replace other stable distributions and was purely a passion project made for fun. + +Considering people started using it as a daily driver and expected more from it, the developer has decided to turn this into a serious project. + +Rhino Linux is its next step for it. So, what can you expect? + +### Meet Rhino Linux: The Successor + +The main goal is to provide a stable Ubuntu experience while still providing a rolling-release model. + +The aim remains the same, but the fundamentals for Rhino Linux will receive a complete overhaul. They are potentially making it an impressive rolling-release Ubuntu distribution. + +**Sounds exciting! 🤯** + +At its core, Rhino Linux will be using a slightly modified version of [XFCE][3] as its desktop environment; it was chosen due to its well-known stability and speed. + +The founder of Rhino Linux mentioned the following: + +> Ubuntu as a rolling release is still at the very core of our concept. Rhino Linux is not a depature from Rolling Rhino Remix, but rather re-imagines it as the more stable, mature distribution it should have shipped as originally. + +![xfce 4.14][4] + +Alongside that, [Pacstall][5] will be used as the default package manager on Rhino Linux with one of their repositories. + +> 💡Pacstall is an [AUR][6]-inspired package manager for Ubuntu. + +The development of which is headed by the founder of Pacstall, [_Plasma_][7]. He has also joined as one of the new developers (Deputy Project Lead), and [Sourajyoti Basak][8] as another core member. + +### Moving Forward: Availability and Release + +As of writing, Rhino Linux has not received any specific release date, but you can expect it to release sometime in **2023**. + +What happens to Rolling Rhino Remix? + +The developer clarified that it would continue to be maintained for three months after the release of Rhino Linux. However, it won't have a new release image after its subsequent release on **11.01.2022**. + +You can find out more about Rhino Linux by visiting its [official website][9]. + +_💬 What do you think of Rhino Linux? Can it be a contender for official Ubuntu flavors worth trying?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/rhino-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png +[2]: https://github.com/rollingrhinoremix +[3]: https://www.xfce.org/ +[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png +[5]: https://github.com/pacstall/pacstall +[6]: https://itsfoss.com/aur-arch-linux/ +[7]: https://github.com/Henryws +[8]: https://github.com/wizard-28 +[9]: https://rhinolinux.org/ From 3342b42e5a753c74a651bbb12ad890ea3c845471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 18:29:54 +0800 Subject: [PATCH 031/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221018-=E2=AD=90=EF=B8=8F-Ardour-7-0-Release-Marks-t?= =?UTF-8?q?he-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-?= =?UTF-8?q?Support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ds-Clip-Launching-and-Apple-Silicon-Support.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md diff --git a/sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md b/sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md new file mode 100644 index 0000000000..68d9f07ca9 --- /dev/null +++ b/sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md @@ -0,0 +1,100 @@ +[#]: subject: "Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support" +[#]: via: "https://news.itsfoss.com/ardour-7-0-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support +====== + +Ardour 7.0 is a major upgrade with much-needed improvements. + +![Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support][1] + +[Ardour][2] is a popular open-source digital audio workstation software that audio professionals use. + +Ardour 7.0 has been in development for a little more than a year since the release of 6.9 and has come a long way since Ardour 5.0. + +Let's take a look at the highlights of this release. + +### 🆕 Ardour 7.0: What's New? + +![ardour 7.0][3] + +This release introduces a variety of changes and feature additions, some of the highlights are: + +- **Discontinuation of 32-bit Builds.** +- **Clip Launching feature (similar to what other DAWs provide).** +- **Support for Apple Silicon.** +- **Integration of Loop Library.** +- **Audio sample library support by Freesound.** + +#### Clip Launching + +![ardour 7.0 clip launching][4] + +Similar to many mainstream DAWs like Ableton Live, Ardour now has support for clip launching. + +Users can now play/stop audio clips and adjust the timing to fit the tempo map of a session. Pretty useful for live performances. + +#### Loop Library + +![ardour 7.0 loop library][5] + +In addition to Clip Launching, users can also take advantage of a vast collection of loops sourced from a few hand-picked creators of [looperman][6]. + +Users can choose from any of the royalty-free loops, with more to be added in the near future. + +#### End of 32-bit Builds + +There won't be any further 32-bit builds of Ardour, only a few will remain available on the nightly build channels for now. + +You may want to look around at some of the DAWs available for Linux to see what else might offer a 32-bit build. + +#### Sound Samples Available by Freesound + +![ardour 7.0 freesound integration][7] + +Another feature that complements the Loop Library is the integration with [Freesound][8]. + +With this, users can make use of over 600,000 samples of audio. To do this, users must have a Freesound account linked to their Ardour installation. + +#### 🛠️ Other Changes + +Other notable changes include: + +- **New Themes.** +- **Ripple Editing Modes.** +- **Mixer Scenes.** +- **Improvements to MIDI Editing.** +- **Support for I/O Plugins.** + +You can go through the official [release notes][9] for more details of the release. + +_💬 Are you going to try out Ardour 7.0? Satisfied with the DAW you currently use?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ardour-7-0-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ardour-7-0-release.jpg +[2]: https://ardour.org/ +[3]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0.png +[4]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Clip_Launching.png +[5]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Loop_Library.png +[6]: https://www.looperman.com/ +[7]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Freesound_Integration.png +[8]: https://freesound.org/ +[9]: https://ardour.org/whatsnew.html From 1bf424b77073b85842f6aa2decb9644c4d60b7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:11:29 +0800 Subject: [PATCH 032/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221020-=E2=AD=90=EF=B8=8F-Ubuntu-22-10-Is-Here-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md diff --git a/sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md b/sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md new file mode 100644 index 0000000000..b1a6d1bd8d --- /dev/null +++ b/sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md @@ -0,0 +1,147 @@ +[#]: subject: "Ubuntu 22.10 Is Here!" +[#]: via: "https://news.itsfoss.com/ubuntu-22-10-release/" +[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu 22.10 Is Here! +====== + +Ubuntu 22.10 is an impressive release with new quick toggles, application spread, and more. + +![Ubuntu 22.10 Is Here!][1] + +Ubuntu 22.10 "**Kinetic Kudu**" is here. It brings many significant improvements, notably Linux Kernel 5.19 and the GNOME 43 experience. + +Of course, this is a customized GNOME experience that will be familiar to existing Ubuntu users. + +So, what are all the goodies with Ubuntu 22.10? Let us find out: + +### Ubuntu 22.10 Release: What's New? + +![][2] + +Along with GNOME 43, Ubuntu 22.10 also includes: + +- **An improved Settings app.** +- **The resurrection of the classic Unity application spread.** +- **A few notable apps ported to GTK4 and Libadwaita.** +- **System-wide WebP support.** +- **PipeWire is the default audio server.** +- **Linux Kernel 5.19.** + +> 💡Ubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][3]. + +#### 🎨 Visual Improvements + +When first testing a new release, visual changes are always the first to be noticed. This is especially true with Ubuntu 22.10, thanks to the significant improvements introduced with [GNOME 43][4]. + +![Ubuntu 22.10 quick setting][5] + +First, we have the brand-new quick settings menu, which replaced the old and rather clunky system menu. Similar to the menus found in Android, iOS, and Windows 11, this addition allows you to switch on and off Wi-Fi and Bluetooth, all without going into the settings app. + +Of course, we also get brand-new wallpaper with this release. + +![ubuntu 22.10 wallpaper][6] + +There's not much else to say about it other than that I love this switch and hope to see more designs like this from the community. + +Additionally, more apps have been ported to GTK4, including the refinements wit the **Nautilus** file manager. + +Some valuable feature additions include: + +- **Ability to drag and select files (rubber band selection).** +- **Adaptive view with a compact window.** +- **New document context menu.** + +You can go through our detailed coverage to explore the improvements with Nautilus. + +#### 👴 The Application Spread Is Back! + +One of my minor favorite parts of GNOME is the multi-windows app switching, a gripe that I'm sure many other users share. + +![ubuntu 22.04][7] + +Fortunately, **Ubuntu 22.10** is now offering a great solution that should be familiar to long-time users. Finally, five years after dropping support for Unity back in 2017, the Ubuntu developers have brought back the application spread. + +![ubuntu 22.10 application spread][8] + +This is a significant improvement and something I'm surprised GNOME hasn't done itself. + +#### 🛠️ Settings Improvements + +Although not an app that most people use daily, System Settings is a core part of the GNOME experience. With that in mind, it is fantastic to see it receiving a major visual overhaul, as well as a port to GTK 4 and Libadwaita. + +![Ubuntu 22.10 desktop setting][9] + +As a result, it is now better-looking and adaptive, meaning it will work well at any size and even on Linux phones like the PinePhone! + +Another Settings-related change is adding a new "**Ubuntu Desktop Settings**" menu item. This offers a single, unified place to customize and change all your Ubuntu-specific settings. + +#### Linux Kernel 5.19 + +Ubuntu 22.10 also brings a newer kernel i.e., [Linux kernel 5.19][10]. This release was pretty light on improvements, although it did bring improved support for some next-gen hardware. + +You should note that this is the last release in the Linux 5.x series, as Linux Kernel 6.0 is the next version bump. + +#### Other Changes + +![Ubuntu 22.10 webp][11] + +There are several subtle refinements overall. But some of those essential tweaks include: + +- Default image apps support **.WebP** image format. +- **GNOME Text Editor** is the default editor. You can install gedit and make it the default. +- **GNOME Books app** is no longer available. Ubuntu recommends [Foliate][12] as a replacement. +- **To Do app** is no longer installed by default and has a new name, "_Endeavour_". +- **GNOME Terminal** is still the default terminal app. [GNOME Console][13] can be installed if required. +- Updated apps like Firefox 104, [Thunderbird 102][14], and [Libreoffice 7.4][15]. +- More apps have been ported to GTK4, notably **[Nautilus][16].** + +> ℹ️Note that our list focuses on changes that matter to a desktop end-user. If you want to know more about the changes/updates for the server and other use cases, refer to the [official release notes][17]. + +### Download Ubuntu 22.10 + +You can download the latest ISO from [Ubuntu's central image repository][18] or its [official website][19]. + +**It might take a while for the official website/repo to make the ISO available to download.** + +[Download Ubuntu 22.10][19] + +💬 _Interested in trying Ubuntu 22.10? Let me know your thoughts in the comments._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-22-10-release/ + +作者:[Jacob Crume][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/jacob/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-22-10-release.png +[2]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10.png +[3]: https://itsfoss.com/long-term-support-lts/ +[4]: https://news.itsfoss.com/gnome-43-release/ +[5]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-quick-setting.jpg +[6]: https://news.itsfoss.com/content/images/2022/10/22.10-wallpaper.png +[7]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-04-window-minimize.png +[8]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-app-spread.jpg +[9]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-desktop-setting.png +[10]: https://news.itsfoss.com/linux-kernel-5-19-release/ +[11]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-webp.png +[12]: https://itsfoss.com/foliate-ebook-viewer/ +[13]: https://itsfoss.com/gnome-console/ +[14]: https://news.itsfoss.com/thunderbird-102-release/ +[15]: https://news.itsfoss.com/libreoffice-7-4-release/ +[16]: https://news.itsfoss.com/gnome-files-43/ +[17]: https://discourse.ubuntu.com/t/kinetic-kudu-release-notes/27976 +[18]: https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/ +[19]: https://ubuntu.com/download/desktop From 38758b06500a5b8c7a7e8e1ecff6525430a4df3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:13:53 +0800 Subject: [PATCH 033/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221020-=E2=AD=90=EF=B8=8F-Xubuntu-22-10-Releases-Wit?= =?UTF-8?q?h-Xfce-Upgrades--and-Other-Refinements.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s-With-Xfce-Upgrades--and-Other-Refinements.md | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md diff --git a/sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md b/sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md new file mode 100644 index 0000000000..82fc042997 --- /dev/null +++ b/sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md @@ -0,0 +1,135 @@ +[#]: subject: "Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements" +[#]: via: "https://news.itsfoss.com/xubuntu-22-10-release/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements +====== + +Xubuntu 22.10 provides a refined XFCE experience. Learn more about it here. + +![Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements][1] + +Xubuntu is an XFCE-powered official Ubuntu flavour. + +It is also one of the best lightweight Linux distributions available. + +With the latest Xubuntu 22.10 "**Kinetic Kudu**" release, you can expect desktop environment improvements, feature additions, and several refinements across the board. + +### Xubuntu 22.10: What's New? + +![Xubuntu 22.10 home][2] + +Xubuntu 22.10 brings in some exciting upgrades. Some of the highlights include: + +- **Xfce 4.16 (or Xfce 4.17 dev)** +- **Catfish appearance update.** +- **New icon refresh and deprecated elementary-xfce-darker-theme.** +- **Mousepad search history.** +- **Thundar file manager improvements.** +- **Xfce task manager.** + +> 💡Xubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][3]. + +#### XFCE 4.17 Development Version or XFCE 4.16? + +The release notes for Xubuntu 22.10 say it features the Xfce 4.17 development version. + +However, when I installed the beta version for Xubuntu 22.10 (and updated it to the latest), it said it features Xfce 4.16. + +![][4] + +Not sure if they pulled out Xfce 4.17 development version or if Xfce 4.16 is here for now. + +#### Catfish Appearance + +![xubuntu catfish][5] + +Catfish is a file search utility on Xubuntu. With the new upgrade, it has a refreshed appearance with tweaks under the hood. + +You also get an "**Open With**" context menu when interacting with the files you searched for. + +![][6] + +A pretty subtle but valuable feature addition for catfish. + +#### GNOME 43 Software + +Among notable app updates, GNOME's latest Software Center is a nice thing to have. This is how it looks with Xubuntu 22.10: + +![][7] + +Of course, it may not give you a consistent look with other applications on Xfce, but I think you can give it an excuse. + +#### Icon Updates + +With elementary-xfce 0.17 icon update, there are many new icons and cleaner options that provide a consistent Xubuntu desktop experience. + +![][8] + +Additionally, the **elementary-xfce-darkest theme** icon pack has been deprecated. + +![][9] + +#### Task Manager Right-Click Option + +![][10] + +You can now copy the full process path to the clipboard. This could be useful to troubleshoot or stop things from the command line when required. + +### Other Enhancements + +![][11] + +There are several other notable changes that include: + +- **Linux Kernel 5.19** +- **Mozilla Firefox 105.** +- **Alt-Tab view improved with more prominent icons.** +- **Mosaic puzzle added to SGT Puzzles collection.** +- **Thunar archive plugin now supports compressing zip files.** +- **Mousepad text editor now includes a search history and a few more tweaks.** + +To learn more about the changes, check out the [official release notes][12]. + +### Download Xubuntu 22.10 + +You can download the latest ISO from [Ubuntu's central image repository][13] or its [official website][14]. + +It might take a while for its official website to make the ISO available. + +[Download Xubuntu 22.10][14] + +💬 _What do you think about Xubuntu 22.10? Let me know your thoughts in the comments._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/xubuntu-22-10-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/content/images/size/w1200/2022/10/xubuntu-22-10-release.jpg +[2]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10.png +[3]: https://itsfoss.com/long-term-support-lts/ +[4]: https://news.itsfoss.com/content/images/2022/10/xfce-4-16.jpg +[5]: https://news.itsfoss.com/content/images/2022/10/catfish-xubuntu-22-10.png +[6]: https://news.itsfoss.com/content/images/2022/10/catfish-openwith-1.jpg +[7]: https://news.itsfoss.com/content/images/2022/10/xubuntu-gnome-43-software.jpg +[8]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10-icons.jpg +[9]: https://news.itsfoss.com/content/images/2022/10/xfce-dark-theme.png +[10]: https://news.itsfoss.com/content/images/2022/10/task-manager-copy-command-line.jpg +[11]: https://news.itsfoss.com/content/images/2022/10/xubuntu-22-10-puzzle.png +[12]: https://wiki.xubuntu.org/releases/22.10/release-notes +[13]: https://cdimage.ubuntu.com/xubuntu/releases/22.10/release/ +[14]: https://xubuntu.org/download/ From 802a76808125b63402ba91a0e32f127b2dab0297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:14:35 +0800 Subject: [PATCH 034/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221020-=E2=AD=90=EF=B8=8F-Ubuntu-Budgie-22-10-Releas?= =?UTF-8?q?e-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-Control-Center-and-Removes-Some-GNOME-Apps.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md diff --git a/sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md b/sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md new file mode 100644 index 0000000000..18ddf82f0e --- /dev/null +++ b/sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md @@ -0,0 +1,118 @@ +[#]: subject: "Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps" +[#]: via: "https://news.itsfoss.com/ubuntu-budgie-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps +====== + +Ubuntu Budgie 22.10 is an interesting release which removes several GNOME apps, and adds other improvements. + +![Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps][1] + +[Ubuntu Budgie][2] is an official flavor of Ubuntu, which is popular for its traditional desktop interface and minimal software bloat. + +The release of Ubuntu Budgie 22.10 brings in a few crucial tweaks and additions. + +### 🆕 Ubuntu Budgie 22.10: What's New? + +![ubuntu budgie 22.10][3] + +Based on Ubuntu 22.10 'Kinetic Kudu', Ubuntu Budgie 22.10 features Budgie Desktop 10.6.4 and a host of other improvements. + +Some of the notable highlights include: + +- **Enhanced Budgie Control Center** +- **Updated Budgie Welcome app** +- **Replacing various GNOME-based apps** +- **Updated Translations** + +#### Budgie Desktop and Control Center + +![ubuntu budgie 22.10 desktop settings][4] + +Budgie Desktop has been updated to V10.6.4, which adds a new global option to control the spacing between applets and features various improvements to the workspace and clock applets. + +![ubuntu budgie 22.10 display color profiles][5] + +The Budgie Control Center has also received a bunch of tweaks, such as reworked display color profile support, revamped screen-sharing with support for [RDP][6] and [VNC][7], an option for fractional scaling of display, and more. + +#### Welcome App Updates + +![ubuntu budgie 22.10 welcome app][8] + +Ubuntu Budgie 22.10 features the updated [Budgie Welcome app][9] with improved translations and a few changes. + +#### Change in Default Apps + +The developers of Ubuntu Budgie have started replacing and removing GNOME-based apps in favor of MATE-based apps and other alternatives. + +They decided to do so, because of the inconsistent way GNOME-based apps look in Budgie alongside other apps with their rounded-off edges. + +The inconsistencies have been caused due to GNOME moving on to the Libadwaita library for its styling and theming needs. + +The Libadwaita library was a controversial addition to GNOME, that not many users liked, you can go through our coverage to learn more. + +Here are some of the apps that have been removed or replaced: + +- GNOME-Calculator replaced by MATE Calculator. +- GNOME-Calendar removed. +- GNOME System Monitor replaced by MATE System Monitor. +- GNOME Screenshot removed. +- GNOME Font Viewer replaced by [Font-Manager][10]. + +#### 🛠️ Other Changes + +Some of the other changes include: + +- **Rework of In-Built Theme** +- **Removal of PulseAudio in favor of PipeWire** +- **Native Screenshot Capability** +- **Support for WebP Images** +- **Ability to View Monitor's Refresh Rate** + +You can go through the [release notes][11] to know more. + +### 📥 Download Ubuntu Budgie 22.10 + +You can download the latest ISO from [Ubuntu's central image repository][12] or its [official website][13]. + +It might take a while for its official website to make the ISO available. + +[Download Ubuntu Budgie 22.10][13] + +> 💡Ubuntu Budgie 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][14]. + +💬 What do you think of this non-LTS release? Willing to give it a try? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-budgie-22-10-release.png +[2]: https://ubuntubudgie.org/ +[3]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10.png +[4]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Desktop_Settings.png +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Color_Profiles.png +[6]: https://en.wikipedia.org/wiki/Remote_Desktop_Protocol +[7]: https://en.wikipedia.org/wiki/Virtual_Network_Computing +[8]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Welcome.png +[9]: https://ubuntubudgie.org/2022/02/quick-overview-of-budgie-welcome-application/ +[10]: https://itsfoss.com/font-manager/ +[11]: https://ubuntubudgie.org/2022/09/ubuntu-budgie-22-10-release-notes/ +[12]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/22.10/ +[13]: https://ubuntubudgie.org/downloads/ +[14]: https://itsfoss.com/long-term-support-lts/ From b3bbefdd4411071f955484bdbbf83d81c3c813d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:15:58 +0800 Subject: [PATCH 035/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221020-=E2=AD=90=EF=B8=8F-Ubuntu-MATE-22-10-Release-?= =?UTF-8?q?Has-Some-Interesting-Upgrades-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2-10-Release-Has-Some-Interesting-Upgrades-.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md diff --git a/sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md b/sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md new file mode 100644 index 0000000000..137a2f994a --- /dev/null +++ b/sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md @@ -0,0 +1,123 @@ +[#]: subject: "Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!" +[#]: via: "https://news.itsfoss.com/ubuntu-mate-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu MATE 22.10 Release Has Some Interesting Upgrades! +====== + +Ubuntu MATE 22.10 has arrived with subtle and useful changes. Take a lookie! + +![Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!][1] + +Ubuntu MATE is one of the [official Ubuntu flavours][2] that add interesting improvements with every upgrade. + +It is aimed at users who cherish the look and feel of a traditional desktop but also desire the functionality of a modern operating system. + +Ubuntu MATE 22.10 release adds a number of betterments and features, let us take a look at those. + +### Ubuntu MATE 22.10: What's New? + +![ubuntu mate 22.10 desktop][3] + +Based on the non-LTS release of [Ubuntu 22.10][4] '_Kinetic Kudu_', Ubuntu MATE 22.10 brings in multiple updates, some key highlights include: + +- **Improvements to MATE Desktop.** +- **New AI Wallpapers.** +- **PipeWire is the default audio server.** +- **New MATE User Manager.** +- **Firefox 105 update.** +- **LibreOffice 7.4.** + +> 💡Note that Ubuntu MATE upgrades usually include more feature additions. This time, **Martin Wimpress** has been working to bring a similar experience to the Debian MATE edition. You can read more details in our previous coverage. + +#### MATE Desktop Upgrades + +![ubuntu mate 22.10 desktop view][5] + +MATE desktop receives various bug fixes and updates to the **Ayatana indicators** and the **MATE Panel**. + +Now, you can align the applets to the **center** alongside the usual left and right alignment options. + +This feature officially arrives with **MATE Desktop 1.28 **release, but the Ubuntu MATE team has made it available with this release on top of **MATE Desktop 1.27**. + +#### MATE User Manager + +![ubuntu mate 22.10 user manager][6] + +The MATE user manager is a new addition to the distro, allowing you to add/modify/remove user accounts. + +With this, you can choose which users can be administrators, set up auto-login, set profile pictures, and manage group memberships. Pretty handy and a much-needed feature for computers with multiple users. + +#### New AI Wallpapers + +![ubuntu mate 22.10 ai wallpapers][7] + +Another big highlight of this release is the addition of new AI-generated wallpapers. + +These look beautiful! 😍 + +Seeing that AI-generated wallpapers are all the rage right now, the Ubuntu MATE team has included a new bunch of them with Ubuntu MATE 22.10. + +It was created by [Simon Butcher][8] using diffusion models to illustrate 'kudu' (Antelope). + +#### Linux Kernel 5.19 + +Ubuntu MATE 22.10 leverages the improvements brought forward by Linux Kernel 5.19, including enhanced support for various ARM SoCs, Arc Alchemist GPUs, and more. + +You can read our coverage of the same to learn more. + +#### 🛠️ Other Changes and Improvements + +As with every other new release, Ubuntu MATE 22.10 replaces [PulseAudio][9] with [PipeWire][10] for better audio handling and the inclusion of additional Bluetooth codecs such as AAC, LDAC, aptX, and aptX HD. + +Other notable changes include: + +- **Updated apps include Firefox 105, LibreOffice 7.4, Celluloid 0.20 and Evolution 3.46.** +- **Ubuntu MATE HUD supports MATE, XFCE, and Budgie with more configuration ability.** + +You can check out Ubuntu MATE 22.10 [official release notes][11] if you are curious. + +### Download Ubuntu MATE 22.10 + +You can download the latest ISO from [Ubuntu's central image repository][12] or its [official website][13]. + +It might take a while for its official website/repo to make the ISO available. + +> 💡Ubuntu MATE 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][14]. + +[Download Ubuntu MATE 22.10][13] + +💬 _Interested in trying Ubuntu MATE 22.10? Let me know your thoughts in the comments._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-mate-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-22-10-release.jpg +[2]: https://itsfoss.com/which-ubuntu-install/ +[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-mate-22-10.png +[4]: https://news.itsfoss.com/ubuntu-22-10-features/ +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_Desktop.png +[6]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_User_Manager.png +[7]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_AI_Wallpapers.png +[8]: https://twitter.com/simonjbutcher +[9]: https://www.freedesktop.org/wiki/Software/PulseAudio/ +[10]: https://pipewire.org/ +[11]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ +[12]: https://cdimage.ubuntu.com/ubuntu-mate/releases/22.10/release/ +[13]: https://ubuntu-mate.org/download/ +[14]: https://itsfoss.com/long-term-support-lts/ From c273255d74b1f73b3d4431334f30d8f6396ce62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:16:34 +0800 Subject: [PATCH 036/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221020-=E2=AD=90=EF=B8=8F-Kubuntu-22-10-is-Now-Avail?= =?UTF-8?q?able-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1020-⭐️-Kubuntu-22-10-is-Now-Available-.md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md diff --git a/sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md b/sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md new file mode 100644 index 0000000000..25079076e9 --- /dev/null +++ b/sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md @@ -0,0 +1,117 @@ +[#]: subject: "Kubuntu 22.10 is Now Available!" +[#]: via: "https://news.itsfoss.com/kubuntu-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kubuntu 22.10 is Now Available! +====== + +Kubuntu 22.10 may not be the most exciting upgrade. But, it includes useful changes! + +![Kubuntu 22.10 is Now Available!][1] + +Kubuntu is an official Ubuntu flavor that offers a lot of functionality in a refined KDE-powered package. + +The release of Kubuntu 22.10 promises various improvements and a newer version of [KDE Plasma][2]. + +Let us go through the highlights of this release. + +### Kubuntu 22.10: What's New? + +![kubuntu 22.10 desktop][3] + +Kubuntu 22.10 is bringing in a lot of updates, some of the important ones that you can expect are: + +- **KDE Plasma 5.25** +- **Linux Kernel 5.19** +- **PipeWire** +- **Firefox 104** +- **Qt 5.15.6** + +> 💡Kubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][4]. + +#### KDE Plasma 5.25 + +![kubuntu 22.10 kde version][5] + +Even though[KDE Plasma 5.26][6] was released recently, Kubuntu 22.10 ships with KDE Plasma 5.25. + +However, KDE Plasma 5.25 is still a major update over 5.24, which contained a lot of improvements such as, enhanced support for touchpads/touchscreens, upgrades to the user interface, and more. + +You can read our coverage of KDE Plasma 5.25 to learn more: + +Also, you can expect KDE Plasma 5.26 to come as a point release instead of being part of the launch of Kubuntu 22.10. + +#### PipeWire Default + +Like most Ubuntu 22.10-based distros, [PipeWire][7] is the default audio/video handler in this version of Kubuntu. + +It replaces [PulseAudio][8], known to not play nice with Ubuntu 22.10. + +#### Linux Kernel 5.19 + +![kubuntu 22.10 linux kernel 5.19][9] + +Kubuntu 22.10 features the latest Linux Kernel 5.19, this should lead to improved support for ARM SoCs, Arc Alchemist GPUs, various BTRFS improvements, initial support for AMD RDNA3 graphics, and more. + +#### Wayland Session for Testing + +![kubuntu 22.10 wayland session switcher][10] + +Kubuntu 22.10 features initial support for a Plasma Wayland session, but it is intended for testing purposes only and is not a complete integration. + +![kubuntu 22.10 wayland session info][11] + +#### Other Upgrades + +Some of the other updates include the following: + +- Ability to customize desktop accent color. +- Firefox 104 snap as the default browser. +- Qt 5.15.6 +- LibreOffice 7.4 +- Improved App Store. + +To explore more about the release, refer to the [official release notes][12]. + +### Download Kubuntu 22.10 + +You can download the latest ISO from [Ubuntu's central image repository][13] or its [official website][14]. + +[Kubuntu 22.10][14] + +It might take a while for its official website to make the ISO available. + +💬 Are you excited about this release? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kubuntu-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/kubuntu-22-10-release.jpg +[2]: https://kde.org/plasma-desktop/ +[3]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Desktop.png +[4]: https://itsfoss.com/long-term-support-lts/ +[5]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_KDE_Version.png +[6]: https://news.itsfoss.com/kde-plasma-5-26-release/ +[7]: https://pipewire.org/ +[8]: https://www.freedesktop.org/wiki/Software/PulseAudio/ +[9]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Linux_Kernel.png +[10]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session.png +[11]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session_2.png +[12]: https://wiki.ubuntu.com/KineticKudu/ReleaseNotes/Kubuntu +[13]: https://cdimage.ubuntu.com/kubuntu/releases/22.10/release/ +[14]: https://kubuntu.org/getkubuntu/ From 2a6eaee006c9237983fd9047516c43523dc9b7ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:17:39 +0800 Subject: [PATCH 037/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221022-=E2=AD=90=EF=B8=8F-PaperDE-is-a-Touch-Friendl?= =?UTF-8?q?y-Linux-Desktop-Environment.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-a-Touch-Friendly-Linux-Desktop-Environment.md | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md diff --git a/sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md b/sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md new file mode 100644 index 0000000000..7189e0dff7 --- /dev/null +++ b/sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md @@ -0,0 +1,92 @@ +[#]: subject: "PaperDE is a Touch-Friendly Linux Desktop Environment" +[#]: via: "https://news.itsfoss.com/paperde/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +PaperDE is a Touch-Friendly Linux Desktop Environment +====== + +PaperDE is a simple, and touch-friendly desktop environment to look out for. + +![PaperDE is a Touch-Friendly Linux Desktop Environment][1] + +Seeing that many desktop environments exist, you may ask, why do we need another? + +Well, the answer is simple. It is good to have options. + +Having various user experiences enables you to experiment with different setups until you find the perfect one. If you are new to the Linux world, you may want to check out some of the best desktop environments available: + +So, what does PaperDE bring to the table? + +### PaperDE: A Minimal Desktop Environment + +![paperde desktop view][2] + +[PaperDE][3] aims to be a simple, lightweight desktop environment with a touchscreen-friendly user interface. + +Yes, it is not a wildly different idea. But, as per the official screenshots, it looks pretty. + +When closely examined, PaperDE looks similar to a mix of desktop environments such as [GNOME][4] and [Budgie][5]. + +![paperde apps][6] + +It is being made from the ground up, with Qt/Wayland and [Wayfire][7] at its core, and features [PipeWire][8] as the default audio/video stack. + +Furthermore, the DE will feature a dock bar for easy access to pinned apps and support adding various widgets from the [C-Suite][9] apps to the main screen. + +![paperde widgets][10] + +When asked about its touchscreen and gesture support on Reddit, one of the developers ([rahmanshaber][11]) mentioned: + +> No, gestures doesn't work in real life, as you may use it in a tablet where it didn't came with linux installed. We used UI/ UX design approach that makes it easier to navigate the DE using finger and touch. + +### Can You Try PaperDE Now? + +The short answer is, yes. + +The long answer is, that it is still in the early stages of development. + +> 💡They recently released PaperDE 0.2.0 a few days back, you can check out their GitLab [project][12] to learn more. + +The developers say that it is only possible to test it out using Arch, and no Flatpak or Snap packages are available to install. + +I did try using the AUR package, but it failed to build on Arch Linux. + +The developers have said that PaperDE will also be made available in the [official repository][13] of Alpine Linux soon. But, for other packages, maintainers and contributors will have to help. + +If you are looking for an experiment to test, you can try it out. + +[PaperDE][12] + +_💬 Are you excited to see a new desktop environment in the works? Or do you think you do not need another project like this?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/paperde/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/paper-de.png +[2]: https://news.itsfoss.com/content/images/2022/10/PaperDE-1.png +[3]: https://cubocore.org/paperde.html +[4]: https://www.gnome.org/ +[5]: https://ubuntubudgie.org/ +[6]: https://news.itsfoss.com/content/images/2022/10/paperde-apps.png +[7]: https://github.com/wayfirewm/wayfire +[8]: https://pipewire.org/ +[9]: https://cubocore.org/coreapps.html +[10]: https://news.itsfoss.com/content/images/2022/10/PaperDE-2.png +[11]: https://gitlab.com/rahmanshaber +[12]: https://gitlab.com/cubocore/paper/paperde +[13]: https://pkgs.alpinelinux.org/packages From 5b27d549e909c32983f51fff5b1109f90593b9cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:19:49 +0800 Subject: [PATCH 038/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221019-=E2=AD=90=EF=B8=8F-How-to-Enable-and-Access-U?= =?UTF-8?q?SB-Drive-in-VirtualBox.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o-Enable-and-Access-USB-Drive-in-VirtualBox.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md diff --git a/sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md b/sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md new file mode 100644 index 0000000000..a8223410e6 --- /dev/null +++ b/sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md @@ -0,0 +1,113 @@ +[#]: subject: "How to Enable and Access USB Drive in VirtualBox" +[#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Enable and Access USB Drive in VirtualBox +====== + +**Here’s a precise guide on how you can enable USB in Oracle VirtualBox.** + +When you work in a Virtual machine environment, the USB is usually plugged into the host system. But it is a little difficult to access that USB content from the guest system. + +In VirtualBox, you need to install some extensions and enable some settings to access USB in. Here’s how. + +This article assumes that you have already installed VirtualBox and also installed some Linux distribution or operating system inside it. + +If not, check out the [articles here][1]. + +Please note that Oracle VM VirtualBox Extension Pack comes with Oracle’s Personal Use and Evaluation License (PUEL). This license is different from VirtualBox, which is under GPL. If you are using the below steps for commercial purposes, make sure you [read this page][2] carefully. + +### Enable USB in VirtualBox 7.0 + +#### Install VirtualBox Extension Pack + +- Open the VirtualBox download page and download the VirtualBox Extension pack for all supported platforms using [this link][3]. + +![Download the extension pack][4] + +- Then Click on `File > Tools > Extension Pack Manager.` + +- Click on the `Install` button in the toolbar and select the downloaded .vbox-extpak file. + +- Hit `Install`. Accept the terms, and give the admin password for the installation. + +![install extension pack manager][5] + +![install extension pack manager after accepting terms][6] + +- After successful installation, you can see it in the installed list. + +- Restart your host system. Restarting is mandatory. + +#### Enable USB in the guest box + +- Plugin the USB stick into your host system – which you want to access from the guest virtual machine. + +- Start VirtualBox and right-click on the VM name where you want to enable USB. Select Settings. + +![Launch settings for the virtual machine][7] + +- On the left pane, click on USB. Then select the controller version. For example, you can select USB 3.0. Then click on the small plus icon to add a USB filter. + +- In this list, you should see your USB stick name (which you plugged in). For this example, I can see my Transcend Jetflash drive, which I plugged in. + +- Select it and press OK. + +[![Select the USB stick][8]][9] + +- Now, start your virtual machine. Open the file manager, and you should see the USB is enabled and mounted on your virtual machine. + +- In this demonstration, you can see the Thunar file manager of my [Arch-Xfce][10] virtual machine is showing the contents of my USB stick. + +[![Enabling USB and accessing contents from VirtualBox][11]][12] + +### Usage notes + +Now, here are a couple of things you should remember. + +- When you plug in the USB in the host system, keep it mounted. But do not open or access any file before launching the virtual machine. + +unmounted in the host system + +- Once you start your virtual machine, the USB will be and auto-mounted in the guest system, i.e. your virtual machine. + +- After you finish with a USB stick, ensure to eject or unmount it inside a virtual machine. Then it will be accessible again inside your host system. + +### Wrapping Up + +VirtualBox is a powerful utility and provides easy-to-use features to extensively set up your Virtual Machines. The steps are straightforward, and make sure your USB stick is detected properly in the host system to work. + +Also, remember that USB stick detection via extension pack is not related to VirtualBox guest addition. They are completely unrelated and provide separate functions. + +Finally, let me know if this guide helps you in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/enable-usb-virtualbox/ + +作者:[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/tag/virtualbox +[2]: https://www.virtualbox.org/wiki/VirtualBox_PUEL +[3]: https://www.virtualbox.org/wiki/Downloads +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Download-the-extension-pack.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager-after-accepting-terms.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Launch-settings-for-the-virtual-machine.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick-1024x399.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick.jpg +[10]: https://www.debugpoint.com/xfce-arch-linux-install-4-16/ +[11]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox-1024x639.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox.jpg From a548fc0ee54f1042bbf6dfec890a9e642e074dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:20:32 +0800 Subject: [PATCH 039/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221017-=E2=AD=90=EF=B8=8F-How-to-Update-or-Upgrade-U?= =?UTF-8?q?buntu-Offline-without-Internet.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-or-Upgrade-Ubuntu-Offline-without-Internet.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md diff --git a/sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md b/sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md new file mode 100644 index 0000000000..27ae2c5881 --- /dev/null +++ b/sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md @@ -0,0 +1,115 @@ +[#]: subject: "How to Update or Upgrade Ubuntu Offline without Internet" +[#]: via: "https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Update or Upgrade Ubuntu Offline without Internet +====== + +**This guide explains the steps to update Ubuntu offline without an active internet connection.** + +There are many situations where you may need to update your Ubuntu installation without an internet connection. You may be staying remotely or have a set of network Ubuntu systems that are not connected to the internet. In any case, keeping your system updated with the latest packages is always required. + +Of course, updating any system while connected to the internet is always recommended. + +But sometimes, it is not possible for security reasons also. Connecting to the internet may bring additional hardening steps for your systems to protect them from hackers and malware. + +The following method using [apt-offline][1] helps to fix those use cases and outlines the steps to update your Ubuntu offline without the internet. + +### Pre-requisite + +- You need to have access to a Ubuntu system that has an internet connection (e.g. your friends, cafe, or lab system) +- A USB pen drive to hold the packages +- Install the apt-offline package in both the systems – a) the offline system and b) the system with an internet connection. + +### Install apt-offline + +both systems + +You can install the `apt-offline` using the following command. Remember, you have to get it installed in . + +``` +sudo apt install apt-offline +``` + +In case you need the `apt-offline` to be installed in the target system, you can download the deb package from the below link and copy it to the target system via a USB stick. Then run the below command to install. + +The download link for Ubuntu 22.04 LTS and other versions is present below. You can choose a mirror and download the deb file. + +[download .deb files – apt-offline][2] + +``` +sudo dpkg -i name_of_package.deb +``` + +### Update Ubuntu offline: Steps + +Open a terminal in the offline Ubuntu system and create a signature file using the following command in your home directory. + +``` +sudo apt-offline set ~/offline-data.sig +``` + +[![Create the sig file][3]][4] + +This creates a file containing the required package paths and details for download. + +[![sig file contents][5]][6] + +Copy this .sig file to a USB and take it to a Ubuntu system with internet access. + +Create a directory (see example below) to hold the downloaded packages in the Ubuntu system with an internet connection. + +Open a terminal and run the following command to download the required packages. Remember to change the download directory and .sig file path as per your system. + +``` +apt-offline get -d ~/offline-data-dir offline-data.sig +``` + +[![Download the packages to install offline][7]][8] + +offline Ubuntu system + +You should see the files are downloaded properly. Now copy the entire downloaded directory to the USB drive and plug it into the . + +Then run the following command to install the downloaded packages to the offline system. Change the directory path as per your system. + +``` +sudo apt-offline install offline-data-dir/ +``` + +[![Installing packages - offline update ubuntu][9]][10] + +The update should run smoothly if all goes well, and you should have an updated Ubuntu system. + +You must repeat the steps above to keep your Ubuntu system up-to-date offline whenever you need to update. + +I hope this guide helps you to update your Ubuntu system in an offline mode. If you face any trouble, let me know in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/ + +作者:[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://github.com/rickysarraf/apt-offline +[2]: https://packages.ubuntu.com/focal/all/apt-offline/download +[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/Create-the-sig-file-1024x204.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/03/Create-the-sig-file.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/sig-file-contents-1024x250.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/sig-file-contents.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/03/Download-the-packages-to-install-offline-1024x437.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/03/Download-the-packages-to-install-offline.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/03/Installing-packages-offline-update-ubuntu-1024x509.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2021/03/Installing-packages-offline-update-ubuntu.jpg From 7901c418634dff0b53e77eec33c6ccd9c8fb32c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:21:51 +0800 Subject: [PATCH 040/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221017-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Top-10-B?= =?UTF-8?q?est-Linux-Distributions-in-2022-For-Everyone.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0-Best-Linux-Distributions-in-2022-For-Everyone.md | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md diff --git a/sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md b/sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md new file mode 100644 index 0000000000..abb6345f04 --- /dev/null +++ b/sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md @@ -0,0 +1,221 @@ +[#]: subject: "Top 10 Best Linux Distributions in 2022 For Everyone" +[#]: via: "https://www.debugpoint.com/best-linux-distributions-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 10 Best Linux Distributions in 2022 For Everyone +====== + +**We compiled a list of the 10 best Linux distributions for everyone in 2022 based on their stability, attractiveness and time required to configure after installation.** + +The Linux Distribution space is heavily fragmented to the point that a new fork is being created almost daily. A very few of them are unique and bring something different to the table. Most of them are just the same Ubuntu or Debian based with a different theme or a wrapper. + +The Linux distro landscape is so dynamic that it changes every month. Some Linux distributions become more stable with ever-changing packages and components, while others become unstable in quality. Hence, it’s challenging to pick and choose the best Linux distribution for your school, work or just casual browsing, watching movies, etc. Not to mention, many Linux distributions are discontinued yearly due to a lack of contributions, cost overruns and other reasons. + +That said, we compiled the below 10 best Linux distributions in 2022, which are perfect for any user or use case. That includes casual dual-boot users with Windows 10 or 11, students, teachers, developers, creators, etc. Take a look. + +### Best Linux Distributions of 2022 + +#### 1. Fedora KDE + +The first Linux distribution, which I think is the best on this list, is Fedora Linux KDE Edition. The primary reason is that Fedora Linux is very stable with the latest tech, and KDE Plasma is super fast and perfect for all users. Moreover, this Fedora and KDE Plasma combination doesn’t require further modification or tweaks after installation. Over the last couple of releases and after the latest [Fedora 36][1] release feedback, Fedora Linux with KDE Plasma has become the go-to distribution for every possible use case and workflow. + +In addition, KDE Plasma also brings KDE Applications and goodies, eliminating additional software you need. And with the help of Fedora repo and [RPM Fusion][2], you can blindly trust Fedora Linux with KDE Edition for your daily driver. + +[![Fedora KDE Edition - Best Linux Distributions of 2022][3]][4] + +On a side note, you can also consider the [Fedora Linux workstation][5] edition with GNOME if you prefer a GNOME-styled desktop. In addition, you might consider other [Fedora Spins][6] or [Fedora Labs][7] if you like a different desktop flavour. + +You can download Fedora KDE Edition here. Other downloads with [torrent details][8] are present here. + +[Download Fedora][9] + +#### 2. KDE Neon + +The second distribution we would like to feature in this list is KDE Neon. The KDE Neon is based on the Ubuntu LTS release at its base. But the KDE Framework and KDE Applications with KDE Plasma desktop are the latest from the team. The primary reason for featuring this is that it is perfect for you if you want a Ubuntu LTS base distribution but want the latest KDE Applications. In fact, you can use it for your daily driver for years to come, provided you keep your system up to date. + +In contrast, the Kubuntu LTS releases are also perfect. But they may not have the latest KDE Framework or applications. + +[![KDE Neon - Best Linux Distributions of 2022][10]][11] + +You can download the KDE Neon at the below link. Make sure to choose the user edition while downloading. + +[Download KDE Neon][12] + +#### 3. Ubuntu LTS Releases with GNOME + +The Ubuntu LTS releases (with default GNOME Desktop) are the most used Linux Distribution today. It’s the most popular, most downloaded and used by users, enterprises and several real-world needs. + +There is no doubt about the Ubuntu LTS version’s power and stability. It has been time-tested. With the vast community support, Ubuntu LTS versions with customised GNOME might be the perfect fit for your needs. + +Most third-party applications and games primarily target Ubuntu, and you get a much bigger support base than all the distributions in this list. But the recent trends of decisions from Canonical (Ubuntu’s creator), such as forcing users to adopt Snap and other stuff, may raise a concern for you if you are an advanced user. + +But for casual users who want to browse the internet, watch movies, listen to music and do personal work, you can blindly trust Ubuntu LTS versions as your best Linux distribution. + +[![Ubuntu LTS with GNOME][13]][14] + +Finally, you can download Ubuntu 22.04 LTS (the current one) using the below link. + +[Download Ubuntu][15] + +#### 4. Linux Mint Cinnamon + +One of the Linux distributions that “just works” out-of-the-box in “any” type of hardware. The [Linux Mint][16] is fourth on this list. The above three distributions (Fedora, Ubuntu LTS) may not work well in older hardware (PC or Laptop) having low memory and older CPU. But Linux Mint is perfect in those use cases with its unique ability to make everyone welcome. + +Furthermore, with Linux Mint, you do not need to install any additional applications after a fresh install. It comes with every possible driver and utility for all use cases. For example, your printer, webcam, and Bluetooth would work in Linux Mint. + +In addition, if you are new to Linux or Windows users who plan to migrate, then it is a perfect distribution to start. Its legacy menu-driven Cinnamon desktop is one of the best open-source desktops today. + +[![Linux Mint Cinnamon Edition][17]][18] + +If you ever get confused or have no time to choose which distribution is best for you, choose the Linux Mint Cinnamon edition. With that said, you can download Linux Mint using the below link. + +[Download Linux Mint][19] + +#### 5. Pop OS + +The Pop OS is developed by American computer manufacturer System76 for their hardware lineup. But it is one of the famous and emerging Linux distributions based on Ubuntu. The Pop OS is primarily known to have perfect for modern hardware (including NVIDIA graphics) and brings some unique features absent in the traditional Ubuntu with GNOME desktop. + +For example, you get a well-designed COSMIC desktop with Pop OS (which is currently being written with Rust), a built-in tiling feature, well-optimized power controls, and a stunning Pop Shop. The Pop Shop is a software store designed by its maker to give you a well-categorized set of applications for your study, learning, development, gaming, etc. This distribution is also perfect for gaming if you plan to start your Linux journey with gaming in mind. + +In addition, if you want a professional-grade Linux distribution with official help and support, you should check out actual System76 hardware with Pop OS. + +[![Pop OS - Best Linux Distributions of 2022][20]][21] + +However, you can download the Pop OS for various hardware for free using the link below. + +[Download Pop OS][22] + +#### 6. MX Linux + +MX Linux is a well-designed Linux distribution primarily targeted at older hardware with productivity and stability in mind. It’s an emerging Linux distribution that is free from systemd and uses the init system. Based on the Debian Stable branch, it brings Xfce Desktop, KDE Plasma desktop and Fluxbox with its own powerful MX utilities. + +You can use MX Linux for all of your needs. But I would not recommend it for gaming or development work. If you need a stable Linux distribution for your older hardware, free from systemd, you can choose MX Linux. Especially the Fluxbox edition. + +[![MX Linux][23]][24] + +You can download MX Linux from its official website below. + +[Download MX Linux][25] + +#### 7. Endeavour OS + +If you like the concept of “Rolling release”, which gives you all the latest packages and operating system components, Arch Linux is perhaps the best you can have. However, installing Arch Linux might be tricky for new users, although the recent [archinstall][26] does a pretty job. + +However, EndeavourOS is a perfect Arch Linux-based distribution which features Xfce, KDE Plasma and other popular desktops out of the box. Armed with the Calamares installer, it is super easy to install Endeavour OS. + +However, this might not be the best Linux distribution for beginners. But it is the best one for little advanced users who are already familiar with Linux. + +On the brighter side, you get to say, “btw, I use Arch”. + +[![EndeavourOS - Best Linux Distributions of 2022][27]][28] + +Last but not least, EndeavourOS has excellent community support, and its Telegram channel support is the best in my personal experience. So, if you ever get stuck, help is just a message away. + +Download this excellent and emerging Linux distribution using the link below. + +[Download Endeavour OS][29] + +#### 8. Zorin OS + +Zorin OS is a Linux distribution based on Ubuntu Linux and is best for those who want nice looks, power, stability, and a productive system. In this Linux distribution, the default desktop is a blend of Xfce and GNOME 3, heavily customised. One of the advantages of Zorin is it comes with ready-made themes. With those themes, you can make Zorin OS look like Windows and macOS with just one click. + +This helps the new users easily migrate to Linux and use Zorin for their day-to-day work. + +[![Zorin OS - Best Linux Distributions of 2022][30]][31] + +Additionally, Zorin OS maintains three editions – Pro, Lite and Core, which cater to different user bases. The Pro edition is a paid version with additional themes and tweaks for a minimal fee. + +You can download Zorin OS from the below link. + +[Download Zorin OS][32] + +#### 9. Debian with Xfce + +There are many Linux distributions which are based on Debian. But I have included vanilla Debian in this list because of its excellent stability and power. Debian – termed a “Universal Operating System”, is perfect for moderately experienced users of Linux. But if you can set up a daily driver with Debian Stable with Xfce, you can run it for years without reformating or reinstalling for fear of breaking your system. + +Debian package repo contains all possible packages, which gives you the ultimate flexibility to set up any custom system you want. + +![Debian with Xfce Desktop][33] + +A perfect Linux distribution if you know how to set up a Debian box with some experience. You can download and install Debian after choosing the proper installer for your system here. Debian comes with an installer for several architectures. You may [read our guide][34]if you are confused about which one to choose and how to install it. + +[Download Debian][35] + +#### 10. Ubuntu Studio + +The final best Linux distribution we feature in this list is Ubuntu Studio. Ubuntu Studio is an official Ubuntu Linux distribution specially curated for Multimedia production type of work. + +Ubuntu Studio comes with the low-latency mainline Linux Kernel to give additional advantages to multiple operations. In addition, Ubuntu Studio brings its native “Ubuntu Studio Controls”, which provides creators with several options to tweak CPU settings for heavy CPU-intensive rendering and processing. + +[![Ubuntu Studio 22.04 LTS Desktop][36]][37] + +Moreover, a massive list of free and open-source audio, graphics, and video applications is pre-loaded into the ISO, saving time if you plan to build a multimedia workstation. + +Ubuntu Studio is powered by the KDE Plasma desktop, the perfect Linux distribution for all creators worldwide. + +You can download Ubuntu Studio from the below link. + +[Download Ubuntu Studio][38] + +### Closing Notes + +I hope this list of “curated and best Linux distributions” helps you pick one for yourself, your friends and co-workers. These are based on their current status (active project), prospects (i.e. it has a well-defined vision for the future) and how easy to set up and out-of-the-box experience. + +Finally, which Linux distribution should you think should be in the top 10? Let me know in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-linux-distributions-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/2022/02/fedora-36/ +[2]: https://www.debugpoint.com/2020/07/enable-rpm-fusion-fedora-rhel-centos/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition-1024x640.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition.jpg +[5]: https://getfedora.org/en/workstation/download/ +[6]: https://spins.fedoraproject.org/ +[7]: https://labs.fedoraproject.org/ +[8]: https://torrent.fedoraproject.org/ +[9]: https://spins.fedoraproject.org/kde/download/index.html +[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon-1024x578.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon.jpg +[12]: https://neon.kde.org/download +[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME-1024x575.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME.jpg +[15]: https://ubuntu.com/download/desktop +[16]: https://www.debugpoint.com/linux-mint/ +[17]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition-1024x576.jpg +[18]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition.jpg +[19]: https://linuxmint.com/download.php +[20]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS-1024x577.jpg +[21]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS.jpg +[22]: https://pop.system76.com/ +[23]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux-1024x522.jpg +[24]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux.jpg +[25]: https://mxlinux.org/download-links/ +[26]: https://www.debugpoint.com/2022/01/archinstall-guide/ +[27]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS-1024x574.jpg +[28]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS.jpg +[29]: https://endeavouros.com/download/ +[30]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS-1024x575.jpg +[31]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS.jpg +[32]: https://zorin.com/os/download/ +[33]: https://www.debugpoint.com/wp-content/uploads/2022/05/Debian-with-Xfce-Desktop.jpg +[34]: https://www.debugpoint.com/2021/01/install-debian-buster/ +[35]: https://www.debian.org/distrib/ +[36]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop-1024x631.jpg +[37]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop.jpg +[38]: https://ubuntustudio.org/download/ From b785f85ed1da2ce0f3b07e7aa48fd13c976d4d00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 19:33:01 +0800 Subject: [PATCH 041/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221019-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-How-to-R?= =?UTF-8?q?emove-Snap-Packages-in-Ubuntu-Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md diff --git a/sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md b/sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md new file mode 100644 index 0000000000..af94f6a4bf --- /dev/null +++ b/sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md @@ -0,0 +1,164 @@ +[#]: subject: "How to Remove Snap Packages in Ubuntu Linux" +[#]: via: "https://www.debugpoint.com/remove-snap-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Remove Snap Packages in Ubuntu Linux +====== + +**A tutorial on how to remove Snap from Ubuntu Linux and getting a snap-free system.** + +Snap packages developed by Canonical are beneficial for several use cases. It provides an easy and faster update of applications directly to the end-users. Not only that, it has several other benefits, such as it comes with all dependencies packaged and allows multiple installations of the same applications. Furthermore, it runs in a sandbox mode providing security and other benefits. + +Among all these benefits, there are other debatable drawbacks of Snap tech. For example, almost every user who used Snap reported its slower performance, including its startup time, compared to native deb or RPM packages. In addition, due to its design, the application installation size is huge and costs disk space because it packages all the dependencies. + +Not only that, but due to its sandbox nature, the Snap apps may not access several areas of your Linux desktop until managed with proper permission. + +This guide explains how you can remove the snap from the Ubuntu system altogether. + +These steps are tested in [Ubuntu 22.04 LTS Jammy Jellyfish][1]. However, it should work for all applicable Ubuntu versions. + +Warning: These steps will remove Software and Firefox, the two critical applications in your Ubuntu system. Make sure you take backups of bookmarks and other Firefox settings before trying these steps. + +### Remove Snap Packages in Ubuntu Linux + +- Open a terminal and view the list of Snap packages installed in your system using the below command. It shows the snap packages such as Firefox, Software store, themes and other core packages installed by default. + +``` +snap list +``` + +![Snap list in Ubuntu][2] + +- Remove snap packages in the following order. Firstly remove Firefox. Secondly, snap-store and the other packages that you see in the above command output in your system. + +``` +sudo snap remove --purge firefoxsudo snap remove --purge snap-storesudo snap remove --purge gnome-3-38-2004 +``` + +``` +sudo snap remove --purge gtk-common-themessudo snap remove --purge snapd-desktop-integrationsudo snap remove --purge baresudo snap remove --purge core20sudo snap remove --purge snapd +``` + +- Finally, remove the snap daemon via apt command. + +``` +sudo apt remove --autoremove snapd +``` + +[![remove snap and others][3]][4] + +That’s not all. Even if you removed the snaps using the above command, the sudo apt update command again brings back the snap if you don’t stop the apt trigger. + +- So, to stop that, we need to create an apt preference file in **/etc/apt/preferences.d/ **and create a new preference file to stop snap. Create a new file called **nosnap.pref** in /etc/apt/preferences.d/ + +``` +sudo gedit /etc/apt/preferences.d/nosnap.pref +``` + +- And add the following lines, then save the file. + +``` +Package: snapdPin: release a=*Pin-Priority: -10 +``` + +![create a pref file][5] + +_The apt preference is a potent tool if you know how to use it. For example, in the above statements, the Pin-Priority -10 means preventing a package from installation._ + +_Unrelated to this tutorial, for example, if you want to give super high priority to all the packages from distribution code name=bullseye, then one may see these preferences. If you want to learn more, you can visit the [apt man pages][6]._ + +``` +Package: *Pin: release n=bullseyePin-Priority: 900 +``` + +- Returning to the topic, once you save and close the above file, run the below again from the terminal. + +``` +sudo apt update +``` + +- Finally, the steps are complete for getting rid of the snap from Ubuntu. + +### Installing Software and Firefox as deb files after removing Snap from Ubuntu + +You removed Firefox and Sofware applications, so you need those for your work. + +You can use the following command to install the apt version of the Gnome Software. Make sure you use the `--install-suggests`. Otherwise, it will install the snap version again! + +``` +sudo apt install --install-suggests gnome-software +``` + +And to install firefox, use the official PPA via the below commands. + +``` +sudo add-apt-repository ppa:mozillateam/ppa +sudo apt update +sudo apt install -t 'o=LP-PPA-mozillateam' firefox +``` + +[![Add the PPA][7]][8] + +[![Install Firefox as deb file from PPA][9]][10] + +Once you have installed Firefox, enable the automatic update using the below commands. To learn more, [visit thi][11][s page][11]. + +``` +echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox +``` + +Last but not least, create another preference file for Firefox to give super high priority to the above PPA while running apt. If you don’t do this, the apt update command again pulls back firefox snap and brings over its “snap friends”. 😂 + +``` +sudo gedit /etc/apt/preferences.d/mozillateamppa +``` + +Finally, add these lines and save the file. + +``` +Package: firefox*Pin: release o=LP-PPA-mozillateamPin-Priority: 501 +``` + +That’s it. + +### Revert back to Snap in Ubuntu + +If you change your mind, remove the preference file and install the applications using the below commands below. + +``` +sudo rm /etc/apt/preferences.d/nosnap.prefsudo apt update && sudo apt upgradesudo snap install snap-storesudo apt install firefox +``` + +### Closing Notes + +Wrapping up the tutorial on removing snap in Ubuntu, I would say these are unnecessary efforts to eliminate Snap completely. Mainly these are difficult for new users. I hope this guide helps you to get rid of snap. Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-snap-ubuntu/ + +作者:[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/2022/01/ubuntu-22-04-lts/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/04/Snap-list-in-Ubuntu.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/remove-snap-and-others-1024x544.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/remove-snap-and-others.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/04/create-a-pref-file.jpg +[6]: https://manpages.ubuntu.com/manpages/focal/man5/apt_preferences.5.html +[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Add-the-PPA-1024x550.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Add-the-PPA.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Install-Firefox-as-deb-file-from-PPA-1024x548.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/04/Install-Firefox-as-deb-file-from-PPA.jpg +[11]: https://www.debugpoint.com/2021/09/remove-firefox-snap-ubuntu/ From 974d980a0e42b08546d65bf26c155d8f6346dbe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:35:58 +0800 Subject: [PATCH 042/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221019-=E2=AD=90=EF=B8=8F-How-to-Clean-Up-Snap-Versi?= =?UTF-8?q?ons-to-Free-Up-Disk-Space.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lean-Up-Snap-Versions-to-Free-Up-Disk-Space.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md diff --git a/sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md b/sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md new file mode 100644 index 0000000000..e836753192 --- /dev/null +++ b/sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md @@ -0,0 +1,106 @@ +[#]: subject: "How to Clean Up Snap Versions to Free Up Disk Space" +[#]: via: "https://www.debugpoint.com/clean-up-snap/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Clean Up Snap Versions to Free Up Disk Space +====== + +**This quick guide with a script helps to clean up old snap versions and free some disk space in your Ubuntu systems.** + +I was running out of disk space in my test system with Ubuntu. So I was investigating via GNOME’s Disk Usage Analyser to find out which package is consuming the precious SSD space. Apart from the usual cache and home directory – to my surprise, I found that Snap and Flatpak consume a considerable amount of storage space. + +![Snap size - before cleanup][1] + +Although, I always maintain a rule – not to use Snap or Flatpak unless necessary. This is mainly because of their installation size and other issues. I prefer vanilla deb and rpm packages. Over the years, I have installed and removed a certain amount of Snap packages in this test system. + +The problem arises after uninstallation; Snap keeps some residue files in the system, unknown to the general users. + +So I opened the Snap folder `/var/lib/snapd/snaps` and discovered that Snap is keeping track of older versions of previously installed/uninstalled packages. + +For example, in the below image, you can see GNOME 3.28, 3.34, and Wine – all of these are removed long back. But they are still there. It’s happening because of the Snap design, which keeps versions of uninstalled packages after a proper uninstallation. + +![Files under snaps directory][2] + +Alternatively, you can get the same in the terminal using: + +``` +snap list --all +``` + +![snap list all][3] + +The default value is 3 for several revisions for retention. That means Snap keeps three older versions of each package, including the active version. This is okay if you do not have constraints on your disk space. + +But for servers and other use cases, this can easily run into cost issues, consuming your disk space. + +However, you can easily modify the count using the following command. The value can be between 2 to 20. + +``` +sudo snap set system refresh.retain=2 +``` + +### Clean Up Snap Versions + +In a post in SuperUser, Popey, the ex-Engineering Manager at Canonical, [provided a simple script][4] that can clean up old versions of Snaps and keep the latest one. + +Here’s the script we will use to clean the Snap up. + +``` +#!/bin/bash + #Removes old revisions of snaps + #CLOSE ALL SNAPS BEFORE RUNNING THIS + set -eu + LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | + while read snapname revision; do + snap remove "$snapname" --revision="$revision" + done +``` + +Save the above script as .sh in a directory (for example`clean_snap.sh`), give it executable permission and run. + +``` +chmod +x clean_snap.sh +``` + +When I ran the script, it reduced a lot of disk space. The script would also show the name of the package being removed. + +![Executing the script][5] + +![Snaps size after cleanup][6] + +### Closing Notes + +There are always debates on how efficient Snap’s design is. Many say it is broken by design, bloated, and heavy on systems. Some part of that argument is true, I would not deny it. The whole concept of sandboxing applications is great if implemented and enhanced properly. I believe, Flatpak does a better job compared to Snap. + +That said, I hope this helps you clean up some disk space. Although it is tested in Ubuntu, it should work in all Linux distribution that supports Snap. + +Also, check out our guide on [how to clean up Ubuntu][7] with additional steps. + +Finally, if you are looking to clean up **Flatpak** apps, refer [this guide][8]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/clean-up-snap/ + +作者:[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/2021/03/Snap-size-before-cleanup.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/Files-under-snaps-directory.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/snap-list-all.jpg +[4]: https://superuser.com/a/1330590 +[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/Executing-the-script.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/Snaps-size-after-cleanup.jpg +[7]: https://www.debugpoint.com/2018/07/4-simple-steps-clean-ubuntu-system-linux/ +[8]: https://www.debugpoint.com/clean-up-flatpak/ From ec05ec2c2174ec780caeb10895059d5adc222620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:36:50 +0800 Subject: [PATCH 043/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221019-=E2=AD=90=EF=B8=8F-How-to-Install-Viber-in-Ub?= =?UTF-8?q?untu-and-Other-Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-to-Install-Viber-in-Ubuntu-and-Other-Linux.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md diff --git a/sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md b/sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md new file mode 100644 index 0000000000..dd768effec --- /dev/null +++ b/sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md @@ -0,0 +1,89 @@ +[#]: subject: "How to Install Viber in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/install-viber-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Viber in Ubuntu and Other Linux +====== + +**Here’s a quick guide on how you can install Viber in Ubuntu and other Linux systems.** + +[Viber][1] is a free, secure calling and messaging program for all popular mobile platforms and operating systems. + +It has a rich set of features such as voice/video calls, text messages with GIFs, stickers, photos, and videos. In addition, Viber features group chats, group calls and disappearing messages. + +Viber is a closed-source program, but available as free for Linux distributions with native executable clients. + +Here’s how to install it. + +### Install Viber on Linux + +It is available as an AppImage executable, deb and rpm package. Follow the respective button below to download it directly. The average executable size is ~180MB. + +[Download Appimage for all Linux distros][2] + +[Deb executable for Ubuntu][3] + +RPM package for Fedora + +If you have downloaded AppImage, simply change the permission to executable from any file manager. Then run. + +- For Ubuntu, Linux Mint, Debian and related distributions, you can install deb package via [many methods][4]. + +- You may double-click and open via the installed software manager. Or install via dpkg command as below. + +``` +sudo dpkg -i viber.deb +``` + +- For Fedora and RPM-based packages, you can install via the following command. + +``` +sudo dnf localinstall viber.rpm +``` + +For Arch Linux and other distributions, you can use the Appimage as I explained above. + +### Usage + +After you finish installing Viber, open it via the application menu. Here are a couple of things you need to remember. + +Before you start using Viber from your Laptop/desktop, you need to set it up on your mobile phone. Download and install Viber for your mobile platform from the below links. + +- [Google Play Store][5] +- [Apple App Store][6] + +Once installed, set up Viber. Remember, it requires your mobile number to register. + +After setting up, open the app on the Linux desktop. And you should see a screen like the one below. + +![Viber is Running in Linux][7] + +Scan the QR code from your mobile phone app, and you should be ready to use Viber on your Linux desktop. + +**Note:** Since it is a closed-source app, make sure you understand the terms of this app and privacy-related situations while using Viber. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-viber-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.viber.com/ +[2]: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb +[3]: https://download.cdn.viber.com/desktop/Linux/viber.rpm +[4]: https://www.debugpoint.com/install-deb-files/ +[5]: https://play.google.com/store/apps/details?id=com.viber.voip&hl=en_IN&gl=US +[6]: https://apps.apple.com/us/app/viber-messenger-chats-calls/id382617920 +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Viber-is-Running-in-Linux-1.jpg From 983899993d9c0632605365cb19a6c176eb52e1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:37:55 +0800 Subject: [PATCH 044/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221019-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Fedora-3?= =?UTF-8?q?7--Top-New-Features-and-Release-Wiki.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-Fedora-37--Top-New-Features-and-Release-Wiki.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md diff --git a/sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md b/sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md new file mode 100644 index 0000000000..17fa981d7f --- /dev/null +++ b/sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md @@ -0,0 +1,140 @@ +[#]: subject: "Fedora 37: Top New Features and Release Wiki" +[#]: via: "https://www.debugpoint.com/fedora-37/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fedora 37: Top New Features and Release Wiki +====== + +**An article about Fedora 37 and its new features, release details and everything you need to know.** + +Fedora 37 development is wrapped up, and the BETA is [now out][1]. Hence the features and packages are final at this stage. + +In this usual feature guide page, I have summarised the essential features you should know about Fedora 37 and get an idea of what to expect. But before that, here’s a tentative schedule. + +- The beta was out on September 13, 2022. +- **Final Fedora 37 is planned for release on October 25, 2022.** + +![Fedora 37 Workstation with GNOME 43][2] + +### Fedora 37: Top New Features + +#### Kernel + +**First** up are the critical items that make the core. Fedora 37 is powered by **Linux Kernel 5.19,** the latest mainline Kernel available now. Linux Kernel 5.19 brings essential features such as a fix for Ratbleed vulnerability, ARM support, Apple M1 NVMe SSD controller support and many such features, which you can read in our [Kernel feature guide][3]. + +The advantage of using the latest Kernel is that you can be assured that you are using the latest and greatest hardware support available at this moment in time. + +**Next** up, the desktop environments are updated in this release. + +#### Desktop Environment + +Fedora 37 is the first distribution which brings the stunning **GNOME 43** desktop, which brings some excellent features such as: + +- [Revamped quick settings][4] with pill-buttons +- Files (nautilus) 43 with GTK4 and libadwaita port +- Files with rubberband, emblems, responsive sidebar-like features +- [Updated GNOME Web with WebExtension API support][5] + +And many features you have been waiting for for years. Do check out my [GNOME 43 feature guide][6] to learn more. + +Fedora 37 brings **KDE Plasma 5.26** desktop environment with tons of new features, performance improvements and bug fixes. The most noteworthy features of the KDE Plasma desktop include: + +- An updated overview screen. +- Dynamic wallpaper for dark and light themes. +- Animated wallpaper support +- Multi-button mouse support +- Updated KDE Framework and applications. + +…and much more which you can read in detail in my [KDE Plasma 5.26 feature guide][7]. + +Since the lightweight desktop LXQt gets a stable update, 1.1.0, it arrives in Fedora 37. **LXQt 1.1.0** brings a default colour palette for dark themes for a uniform look, two variants (simple and compact) of the application menu and re-arranged GTK settings. Furthermore, LXQt 1.1.0 also starts the initial work for the Qt 6.0 porting of desktop components. All these bug fixes and enhancements arrive in the Fedora LXQt edition. + +In addition, other primary desktop flavours remain at their current releases since no significant new updates arrive, i.e. **Xfce 4.16 and MATE 1.26**for the respective Fedora flavours. + +Let’s see what the system-wide changes in this release that impacts all the Fedora flavours are. + +#### System wide changes + +The most significant change is the official support for **Raspberry Pi 4** boards. Thanks to the works over the years, you can now enjoy Fedora 37 on your favourite Pi boards with out-of-the-box supports. + +Fedora Linux is always a pioneer in advancing technology and adopting the latest features before any other distro. With that in mind, the **SDDM display manager now comes with default Wayland** in KDE Plasma (and Kinoite) and different flavours. This completes the Wayland transition from the Fedora distro aspect for this flavour.  + +As I [reported earlier][8], Fedora Linux 37 plans to provide us with a preview image of a **Web-based installer** for Anaconda. It might not be available immediately following the release. But it should be within a few days post-release. + +Other noteworthy features include changing the **default hostname from “fedora” to “localhost”** to mitigate some third-party system configuration detection.  + +Other than that, the **Fedora Core OS** is made to be an official Fedora edition and now stands together with Server, IoT and cloud editions for better discovery and adoption. Fedora Core OS minimal footprint OS is primarily used for container workloads and brings auto updates and additional features. + +Following the tradition, this release also features a [brand new wallpaper][9] with both night and day versions. I must say it looks awesome (see the above desktop image). + +Finally, also in this release, Fedora **drops 32-bit Java** packages, including JDK 8, 11, and 17, since usage is low. In addition, the openssl1.1 package is also deprecated. + +The toolchain, apps and programming stack are updated as follows: + +- Glibc 2.36 and Binutils 2.38 +- Node.js 18.x +- Perl 5.36 +- Python 3.11 + +### Summary of features in Fedora 37 + +So, that’s about it with the features of this release. Here’s a summary of the Fedora 37 features: + +- Linux Kernel 5.19 +- GNOME 43 +- KDE Plasma 5.26 +- Xfce 4.16 +- MATE 1.24 +- LXQt 1.1.0 +- A preview image of the new web-based installer +- The SDDM display manager defaults to Wayland (in KDE Plasma and others) +- Official Raspberry Pi 4 support +- Fedora Core OS becomes the official flavour +- Key packages dropping 32-bit support +- And associated toolchain and programming language updates. + +If you have spare time, you can[give it a spin][10] or test drive. Just be cautious that it is still BETA. + +Also, If you are daring enough, you can upgrade to this release with **caution** because, y’know it’s BETA. The commands below will help you to do that. + +``` +sudo dnf install dnf-plugin-system-upgrade +sudo dnf system-upgrade download --ref --releasever=37 +``` + +For Kinoite, Silverblue and other immutable versions, use: + +``` +rpm-ostree rebase fedora:fedora/37/x86_64/silverblue +``` + +**So, what’s your favourite feature of this release? Let me know in the comment section.** + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/fedora-37/ + +作者:[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://debugpointnews.com/fedora-37-beta/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/08/Fedora-37-Workstation-with-GNOME-43-1024x572.jpg +[3]: https://www.debugpoint.com/linux-kernel-5-19/ +[4]: https://www.debugpoint.com/gnome-43-quick-settings/ +[5]: https://www.debugpoint.com/gnome-web-43-tab-view/ +[6]: https://www.debugpoint.com/gnome-43/ +[7]: https://www.debugpoint.com/kde-plasma-5-26/ +[8]: https://debugpointnews.com/fedora-37-anaconda-web-ui-installer/ +[9]: https://debugpointnews.com/fedora-37-wallpaper/ +[10]: https://getfedora.org/workstation/download/ From 1111feebf090ee3dcd8ef42dbfcdfb2c2422c006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:38:44 +0800 Subject: [PATCH 045/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221020-=E2=AD=90=EF=B8=8F-How-to-Check--Xorg-or-Wayl?= =?UTF-8?q?and-Display-Server-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w-to-Check--Xorg-or-Wayland-Display-Server-.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md diff --git a/sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md b/sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md new file mode 100644 index 0000000000..c13517957c --- /dev/null +++ b/sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md @@ -0,0 +1,91 @@ +[#]: subject: "How to Check: Xorg or Wayland Display Server?" +[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Check: Xorg or Wayland Display Server? +====== + +**Here’s how you can quickly check whether you are running Xorg or Wayland Display Server.** + +With every passing day, the modern Wayland display server is making its way to all Linux distributions. Although the legacy Xorg is still relevant and will stay, Wayland is undoubtedly better in security and other performance aspects. + +However, Xorg will not completely phase out anytime soon. Probably never. + +If you are running any Linux distribution, how can you check whether you are running Xorg or Wayland? Here’s how. + +### Wayland or Xorg: Which one are you running? + +- Open a terminal window (CTRL+ALT+T) in your Linux distributions (e.g. Ubuntu, Fedora, Arch…etc.). + +- Then type the following command and hit enter. + +``` +echo $XDG_SESSION_TYPE +``` + +- The output of the command will tell you whether the current session is Wayland or Xorg (X11). + +``` +[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland +``` + +![This command can give you details about Xorg or Wayland][1] + +That’s simple. However, there are other ways as well. + +### Other methods + +#### Using Settings + +If you want a graphical method, open your Linux distribution settings application. In the about section, you should see the Wayland/X11 mentioned under some label. + +For example, in the GNOME Settings, you can find it under “Windowing system”, as shown below. + +![In GNOME Settings you can find it][2] + +#### Using session values + +You can also find it out using `loginctl` which is the [systemd][3] login manager. Remember, it only works for systemd-based systems. + +Open a terminal and run the below command. You can see the session id value. In this example `c2`. + +``` +loginctl +``` + +Now, pass the session id to the following command to get the display server type. Make sure to change c2 to your system spec. + +``` +loginctl show-session c2 -p Type +``` + +![Using loginctl to find out][4] + +### Wrapping Up + +So, these are some of the ways you can find out whether you are running Systemd or Xorg in your Linux system. You can also use the above commands in your shell scripts for further process automation. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/check-wayland-or-xorg/ + +作者:[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/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg +[3]: https://www.debugpoint.com/tag/systemd/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg From 8ee6e6a4c8cba03b6f9561754d67dc8d58c8c7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:39:36 +0800 Subject: [PATCH 046/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221021-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-10-Thing?= =?UTF-8?q?s-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md | 197 ++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md diff --git a/sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md b/sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md new file mode 100644 index 0000000000..2b8a28db36 --- /dev/null +++ b/sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md @@ -0,0 +1,197 @@ +[#]: subject: "10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]" +[#]: via: "https://www.debugpoint.com/things-to-do-ubuntu-22-10/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip] +====== + +**Here’s our recommended list of 10 things after installing Ubuntu 22.10 “Kinetic Kudu” (GNOME Edition).** + +![][1] + +Ubuntu 22.10 brings exciting new features such as GNOME 43, the latest Kernel, a newly re-designed tray menu, Files features, Pipewire and [many more][2]. + +I am sure you are excited to try them. + +But wait. + +Before you head over to enjoy a new installation of Ubuntu, here’s an assorted list of customization tips which you can’t miss. + +### 10 Things to Do After Installing Ubuntu 22.10 + +#### 1. Update your system + +The first thing you need to do after installing Ubuntu 22.10 is to update your system. Often, the latest ISO may not contain all the updates due to time differences. So, to update your system, oprn a terminal window and run the following commands. + +``` +sudo apt update && sudo apt upgrade +``` + +Once the commands are complete, you can proceed to the next steps. + +#### 2. Remove Firefox Snap and install Flatpak or deb + +Since Ubuntu 21.10 last year, the default web browser Firefox comes as a Snap package. Now, if you are an average user, this may not be a problem or a thing to worry about. But many users may not like the Snap package of Firefox for several reasons. For example, the startup time is slow. Unnecessary Snap update notifications when there is a backend update and so on. + +So, to completely remove Firefox as Snap, you can follow the guide [on this page][3] that I have written. It’s a little complex and may take time. And install a deb version of Firefox from PPA or use the [Flatpak version][4]. + +As I said, this is an optional tip; you may skip it if you want. + +#### 3. Install and Enable Flatpak + +While every distribution today ships Flatpak by default, Ubuntu does not. Because it promotes its own sandboxing technology Snap. + +But Flatpak applications are the best for everyone. It helps you to quickly install and use several applications without worrying about dependency and other things. + +Most of the Flatpak applications are present in a centralised repo @ Flathub. + +To enable Flatpak applications in Ubuntu 22.10, follow the below commands. + +``` +sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot +``` + +Also, if you want to learn more about this process, [read this nice guide][5], we published a while ago. + +#### 4. Review privacy settings + +I recommend you opt out of any data collection after installing Ubuntu. Everyone knows that it’s difficult to protect your privacy over the internet, no matter how hard you try. These little steps matter. + +To configure the privacy, open Settings and select Privacy. Then review the settings listed under privacy. + +Also, ensure to disable backend reporting to Ubuntu servers with your usage. Run the following command to do that. Unfortunately, there is no option in the settings to disable it. + +``` +sudo ubuntu-report -f send no +``` + +![Turn off location services in Ubuntu 22.10][6] + +#### 5. Explore GNOME 43 Features + +The most visual and functional change coming in this release is GNOME 43. This is going to impact everyone and your workflow. Because there are some fundamental and core changes. GNOME 43 brings a new pill-shaped tray menu and updated native applications with new features such as Files and GNOME Web. + +Do go over the detailed [GNOME 43 features][7] here to learn more. Or explore them yourself. + +![Quick Settings Demo in GNOME 43][8] + +#### 6. Ensure the audio works with Pipewire + +If you work with Audio primarily or your workflow deals with sound capture, playback and other stuff, then make sure your Audio works properly in Ubuntu 22.10, wired or via Bluetooth. + +Because there is a change in the audio server in this release for the first time in many years. The legacy PulseAudio is now replaced by the modern Pipewire. So it’s important for you to verify. + +#### 7. Install additional packages + +It’s important to ensure you can play all video and audio formats on your Ubuntu desktop. If you skipped the extra package installation during the setup, you could install them via the below commands. + +``` +sudo apt install ubuntu-restricted-extras +``` + +This should settle any video or audio playback problem in Ubuntu. Especially with GNOME Videos which can’t play anything by default. + +#### 8. Setup basic apps + +The base Ubuntu with GNOME comes with a very basic set of applications. Hence, it’s almost necessary for everyone to install applications before you use Ubuntu. + +Now, necessary apps are different for everyone due to diverse workflow. Hence, here’s a quick list of generic apps which I think you can go ahead and install since they are preety much common for all. + +- GIMP – Advanced photo editor +- VLC – Media play that plays anything without the need for additional codecs +- Leafpad – A lightweight text editor (even lightweight from default gedit) +- Synaptic – A far better package manager + +Command to install them: + +``` +sudo apt install -y gimp vlc leafpad synaptic +``` + +#### 9. Get some GNOME Extensions + +You can extend your GNOME 43’s functionality using several cool extensions. That includes customizing the top bar, tray, changing the adwaita accent colour further and more. So, to do that, make sure you install the GNOME Extension manager first via Flatpak using the command below. + +``` +flatpak install flathub com.mattjakeman.ExtensionManager +``` + +And once you do, you can go ahead with any extensions you want by searching for them in the above app. However, here’s a quick set of necessary extensions which I feel are perfect for your brand-new Ubuntu desktop. You can simply search with these names in the Extension manager apps. + +- Caffeine +- Custom Hot Corners +- Dash to Dock +- Blur my shell +- Gradients +- Hide Activities Button +- Net speed simplified + +#### 10. Prepare backup + +Last but not least, make sure you prepare for backup from the beginning. We always feel the necessity for backup when we run into difficult situations. To do that, the ideal app is Timeshift – which is easy to install and use. + +Here’s the set of commands you can run from the terminal to install. And after installation, you can open and follow the on-screen instructions to set up a backup. + +``` +sudo add-apt-repository -y ppa:teejee2008/ppasudo apt-get updatesudo apt-get install timeshift +``` + +### Bonus Tips + +If you want to customize your new Ubuntu installation further, here are some bonus tips for you. + +#### Install nice fonts + +Fonts impact everything. It’s one of the small yet impactful settings. However, Ubuntu comes with a default “Ubuntu regular” font, which is also good. + +But you can also go ahead and install some nice fonts from Ubuntu’s official repo. Here is some command to install them. + +``` +sudo apt install fonts-roboto fonts-cascadia-code fonts-firacode +``` + +After installation, you can change the font using the [GNOME Tweak tool][9]. + +#### Install TLP + +You must take care of your laptop battery if you are a heavy laptop user. While no battery is everlasting, you can still take some steps to ensure it lasts longer. The TLP is one of the best programs available in Linux, which helps to do that automatically. All you need to do is install it using the following command and run. + +``` +sudo apt install tlp +``` + +As per the recommendation, always keep the battery strength between 50% to 80%. Don’t overcharge or let it discharge below 50%. Don’t keep it plugged into power continuously. + +### Wrapping Up + +So, there you have it. Ten gettings started tips with some bonus for your Ubuntu desktop journey. + +I hope this helps and that you get to install & tweak your desktop with further customization. That said, do let me know what is your best after-install tips in Ubuntu in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/things-to-do-ubuntu-22-10/ + +作者:[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/10/u2210-things-hd-1024x576.jpg +[2]: https://www.debugpoint.com/ubuntu-22-10/ +[3]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ +[4]: https://flathub.org/apps/details/org.mozilla.firefox +[5]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Turn-off-location-services-in-Ubuntu-22.10.jpg +[7]: https://www.debugpoint.com/gnome-43/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/Quick-Settings-Demo-in-GNOME-43.gif +[9]: https://www.debugpoint.com/customize-your-ubuntu-desktop-using-gnome-tweak/ From b5d6edf6164ebfd8c253309e800aa601535ccfea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 20:40:08 +0800 Subject: [PATCH 047/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221021-=E2=AD=90=EF=B8=8F-How-to-Upgrade-to-Ubuntu-2?= =?UTF-8?q?2-10-From-22-04-LTS-(Jammy-to-Kinetic).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md diff --git a/sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md b/sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md new file mode 100644 index 0000000000..5dc16933d9 --- /dev/null +++ b/sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md @@ -0,0 +1,117 @@ +[#]: subject: "How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic)" +[#]: via: "https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic) +====== + +**Here are the steps on how to upgrade your current Ubuntu 22.04 LTS Jammy Jellyfish to Ubuntu 22.10 Kinetic Kudu.** + +Always stay with long-term support release. That is the thumb rule. So, the prior [Ubuntu 22.04 LTS][1] Jammy Jellyfish is supported until April 2027. That’s a long time. + +In addition, LTS releases are super stable. They rarely break and become unstable. So, if you use your laptop/desktop or server installation with the LTS version, stay with it. + +However, if you want the latest Kernel, GNOME 43, and new technology like Pipewire – you might want to make the jump and want to upgrade to [Ubuntu 22.10 Kinetic Kudu][2]. + +Here’s how. + +### Upgrade Ubuntu 22.04 LTS (Jammy Jellyfish) to Ubuntu 22.10 (Kinetic Kudu) + +**Note**: I hope you are not running Ubuntu 21.10 Impish Indri, released last October. Because that’s out of support. But for any reason, if you are still running it, I would recommend you do a fresh install of 22.10. Or, do a step upgrade to 22.04 and then 22.10. + +#### Before you upgrade + +Before you upgrade, do a little housekeeping. This is super important. + +- Take backups of your `/home`, /`downloads` and other files to USB or any separate partition in case the upgrade fails. + +- If you have added additional PPA over time, make sure you note them down. However, the upgrade process would disable the PPA before it starts. However, after the upgrade is complete, make sure to enable them manually. + +- Note down and disable all the GNOME Extensions. Extensions tend to break after the upgrade if it’s not updated by the developer aligned with the GNOME version. + +- Keep a LIVE USB stick handy. + +#### Upgrade steps + +- Open Software & Update. + +- Go to the Updates tab. + +- Select ‘`Notify me of a new Ubuntu version'`and change it to `'For any new version'.` + +- This will tell the package manager to look for the Ubuntu 22.10 release details. + +![Make sure to change the option for new Ubuntu 22.10 release][3] + +- Open a terminal and run below. + +``` +sudo apt updatesudo apt upgrade +``` + +Alternatively, you can open the Software Updater as well. Install all the pending packages. + +- Once both the commands are complete, open the ‘Software Updates’. And you will see a prompt to Upgrade to Ubuntu 22.10 (as shown in the below image). + +![New version update prompt from the GUI method][4] + +- Now click on the `Upgrade` button and follow the on-screen instructions. The upgrade process takes time, so be patient and wait until it finishes. Make sure you have stable internet connectivity for the entire upgrade process. + +If you still don’t get the update, wait a day or two and try. + +- If you do not see the above prompt, do a manual reboot of your system. Add try again. + +**Via terminal** + +- Open the following file via the nano file editor in the terminal. + +``` +nano /etc/update-manager/release-upgrades +``` + +- Change the `Prompt=LTS` to `Prompt=normal`. Note: If you have changed the updates tab to “For any new version” as mentioned above, then this file should be updated already. But verify once. + +![Change the release upgrade file][5] + +- Press CTRL+O and CTRL+X to save and exit. + +- Finally, you can also run the below command to force the upgrade process from the terminal. + +``` +sudo do-release-upgrade -c +``` + +![New version update prompt from the terminal method][6] + +The upgrade process will take some time (minimum half-hour or more) based on your internet connection and hardware. Wait until it is complete. Once done, restart and enjoy the Ubuntu 22.10 Kinetic Kudu. + +![Upgrade is in progress][7] + +While the upgrade process is in progress, take a look at the exciting articles we [recently published on Ubuntu 22.10][8]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/ + +作者:[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/ubuntu-22-04-review/ +[2]: https://www.debugpoint.com/ubuntu-22-10/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Make-sure-to-change-the-option-for-new-Ubuntu-22.10-release.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-GUI-method2.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Change-the-release-upgrade-file.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-terminal-method.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Upgrade-is-in-progress.jpg +[8]: https://www.debugpoint.com/tag/ubuntu-22-10 From 0672db118c2defd7cce5d03a2dc9d30f093caadd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:00:19 +0800 Subject: [PATCH 048/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221021-=E2=AD=90=EF=B8=8F-How-to-find-GNOME-Shell-ve?= =?UTF-8?q?rsion-from-the-Terminal.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-find-GNOME-Shell-version-from-the-Terminal.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md diff --git a/sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md b/sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md new file mode 100644 index 0000000000..a34438548c --- /dev/null +++ b/sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md @@ -0,0 +1,91 @@ +[#]: subject: "How to find GNOME Shell version from the Terminal" +[#]: via: "https://www.debugpoint.com/find-gnome-version/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to find GNOME Shell version from the Terminal +====== + +**Here’s a quick guide on finding the GNOME desktop (or Shell) version via the command line and GUI.** + +### Find GNOME Shell Version + +You need to find the GNOME version number you are running for many use cases. For example, if you are a developer, you might want to find out compatible packages and ensure that all the dependencies are met. + +So, to do that, here’s how you can find the GNOME version number. + +Firstly, open a terminal. And run the following command. + +``` +gnome-shell --version +``` + +![version via terminal][1] + +It will give you the GNOME shell version number currently running in your system. + +Similarly, if you are using the desktop environment, then open Settings. Then click on the About tab. + +Here you can see the GNOME Version at the bottom. + +![version via settings window][2] + +### Usage Notes + +There might be situations where you use a different desktop environment (such as MATE or Xfce), which also uses GNOME components and packages. + +Those desktop environments don’t use the gnome-shell package, of course. So, if you want to find out the GNOME packages and their version used in those specific cases, you can see the contents of this file below. This is for Ubuntu and Debian-based distros only. + +``` +/var/lib/apt/extended_states +``` + +For example, the file contains a below GNOME package. + +Now that you know the package name, you can further find out its version installed in your system using the below command. Similar DNF command you can find in [this guide][3] for RPM-based distros. + +``` +apt show gnome-weather +``` + +**Sample output:** + +``` +debugpoint@debugpoint-mate:~$ apt show gnome-weather +Package: gnome-weather +Version: 43.0-1 +Priority: optional +Section: universe/gnome +Origin: Ubuntu +Maintainer: Ubuntu Developers [ubuntu-devel-discuss@lists.ubuntu.com][4] +Original-Maintainer: Debian GNOME Maintainers [pkg-gnome-maintainers@lists.alioth.debian.org][5] +``` + +### Wrapping Up + +This guide teaches you how to find the version of GNOME and some additional methods. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/find-gnome-version/ + +作者:[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/10/version-via-terminal.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/version-via-settings-window.jpg +[3]: https://www.debugpoint.com/dnf-commands-examples/ +[4]: https://www.debugpoint.commailto:ubuntu-devel-discuss@lists.ubuntu.com +[5]: https://www.debugpoint.commailto:pkg-gnome-maintainers@lists.alioth.debian.org From 29864e9c02e6c6877455117d004cd2fd88db55c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:01:51 +0800 Subject: [PATCH 049/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221022-=E2=AD=90=EF=B8=8F-How-to-Install-Python-3-10?= =?UTF-8?q?-in-Ubuntu-and-Other-Related-Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...thon-3-10-in-Ubuntu-and-Other-Related-Linux.md | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md diff --git a/sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md b/sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md new file mode 100644 index 0000000000..5477fc6c6b --- /dev/null +++ b/sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md @@ -0,0 +1,144 @@ +[#]: subject: "How to Install Python 3.10 in Ubuntu and Other Related Linux" +[#]: via: "https://www.debugpoint.com/install-python-3-10-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Python 3.10 in Ubuntu and Other Related Linux +====== + +**Planning to get Python 3.10 installed for your work? Here’s how to install Python 3.10 in Ubuntu and related distributions.** + +Python 3.10 was released on Oct 25, 2021 with additional features and updates. This release brings better handling of error messages, new pattern-matching features, TypeAlias, user-defined type guards and more. You can read the release highlights [here][1]. + +As of writing this guide, Python 3.10 is adopted by most of the current distros. For example, Ubuntu 22.04 LTS, and Fedora 36 all have Python 3.10 by default. + +That said, if you need Python 3.10 in any non-supported releases right now, you can use the [below reliable PPA][2] to install the latest Python 3.10 in Ubuntu. Here’s how. + +### How to Install Python 3.10 on Ubuntu + +This PPA can be used for Ubuntu 21.10, Ubuntu 21.04, Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, and Linux Mint 20.x, Elementary OS 6 and other related Ubuntu-based distributions. Mostly those don’t support 3.10 by default. + +- Open a terminal prompt and add the following PPA. + +``` +sudo add-apt-repository ppa:deadsnakes/ppa +``` + +- Refresh the cache using the below command. + +``` +sudo apt update  +``` + +- And install Python 3.10 using the below command. + +``` +sudo apt install python3.10 +``` + +### Set Python Versions + +Setting up Python 3.10 as default require some additional steps. Follow along. + +**Warning**: Many applications in your Ubuntu system depend on the stock version of Python 3.9. Hence, be very sure that your work applications (e.g. GIMP, GNOME Terminal etc.) are compatible with Python 3.10. So, be cautious. + +**Quick Tip:** If you want to check which of your installed system packages depends on a specific version, use the following `rdepends` switch of `apt-cache` command. In the below example, I am checking which of the installed packages depends on Python 3.8. + +``` +apt-cache rdepends python3.8 +``` + +``` +[~]$ apt-cache rdepends python3.8 +python3.8 +Reverse Depends: +python3.8-dbg +virtualbox +python3.8-venv +python3.8-full +libpython3.8-testsuite +libglib2.0-tests +idle-python3.8 +idle-python3.8 +python3.8-minimal +python3.8-doc +python3.8-dev +python3.8-dbg +python3-uno +gedit +virtualbox +stimfit +python3.8-venv +python3-stfio +python3-escript-mpi +python3-escript +python3-csound +pitivi +obs-studio +liferea +libpython3.8-testsuite +libglib2.0-tests +kitty +kdevelop-python +idle-python3.8 +idle-python3.8 +rhythmbox-plugins +python3.8-minimal +python3.8-doc +python3.8-dev +python3 +python3-uno +python3-all +cluster-glue +gedit +[~]$ +``` + +#### Use Python 3.10 as the default Python3 + +- First, check the current default version using the below command from the terminal. + +``` +python3 --version +``` + +- Use `update-alternatives` to create symbolic links to python3 + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 +``` + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2 +``` + +- And choose which one to use as Python3 via the command: + +``` +sudo update-alternatives --config python3 +``` + +![Install Python 3.10 in Ubuntu][3] + +That’s all for the steps. Now you can start using the latest Python in your current Ubuntu version for your work/study. You switch over to the stock version using the above commands and changing the version numbers at any given time. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-python-3-10-ubuntu/ + +作者:[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://docs.python.org/3.10/whatsnew/3.10.html +[2]: https://github.com/deadsnakes +[3]: https://www.debugpoint.com/wp-content/uploads/2021/10/Installed-Python-3.10-in-Ubuntu-1024x472.jpeg From 5bc6f954bac91d6652f9f76244a3322edf8d1f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:23:45 +0800 Subject: [PATCH 050/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221018-=E2=AD=90=EF=B8=8F-Setup-Docker-And-Docker-Co?= =?UTF-8?q?mpose-With-DockSTARTer.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-Docker-And-Docker-Compose-With-DockSTARTer.md | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md diff --git a/sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md b/sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md new file mode 100644 index 0000000000..0d9d1abdc5 --- /dev/null +++ b/sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md @@ -0,0 +1,216 @@ +[#]: subject: "Setup Docker And Docker Compose With DockSTARTer" +[#]: via: "https://ostechnix.com/setup-docker-and-docker-compose-with-dockstarter/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Setup Docker And Docker Compose With DockSTARTer +====== + +This guide explains **what is DockSTARTer**, how to **install DockSTARTer in Linux** and how to **setup Docker and Docker compose using DockSTARTer** to run containerized applications in Linux. + +### What is DockSTARTer? + +**DockSTARTer** is a TUI-based utility to easily install Docker and Docker compose in Linux and Unix systems. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. + +DockSTARTer has both TUI and CLI interfaces. So you can use either of these interfaces to quickly deploy multiple containerized apps in a single docker environment. + +Please note that DockSTARTer is not a ready-made set of apps that run out of the box. You still need to choose what to run and how to run. + +It also doesn't configure apps and storage for you. You may need to configure the settings of the apps and the storage manually by yourself. + +As of writing this, we can run more than 100 docker apps using DockSTARter. Some of the popular apps are Adguard, Bitwarden, CloudFlare DDNS, Duplicacy, Emby, File Browser, Glances, Heimdall, InfluxDB, Jellyfin, Kiwix-serve, Lidarr, Minecraft Server, Nextcloud, openLDAP, Speedtest, Pihole, qBittorent, Rsnapshot, Syncthing, Time Machine, Uptimne Kuma, Vsftpd, Wireguard, youtubedl and a lot more. + +DockSTARTer is free and opensource shell script. The source code of DockSTARTer is hosted in GitHub. + +### Install DockSTARTer in Linux + +DockSTARter can be installed in popular Linux operating systems. + +To install DockSTARTer in Arch Linux and its variants such as EndeavourOS, and Manjaro Linux, run the following commands: + +``` +$ sudo pacman -S curl docker git +``` + +``` +$ bash -c "$(curl -fsSL https://get.dockstarter.com)" +``` + +``` +$ sudo reboot +``` + +To install DockSTARTer in Debian, Ubuntu, Linux Mint, Pop OS, run: + +``` +$ sudo apt install curl git +``` + +``` +$ bash -c "$(curl -fsSL https://get.dockstarter.com)" +``` + +``` +$ sudo reboot +``` + +To install DockSTARTer in Fedora, RHEL, CentOS, AlmaLinux and Rocky Linux, run: + +``` +$ sudo dnf install curl git +``` + +``` +$ bash -c "$(curl -fsSL https://get.dockstarter.com)" +``` + +``` +$ sudo reboot +``` + +### Use DockSTARTer to setup Docker and Docker Compose + +DockSTARTer allows you to install and configure various apps in Docker. + +To run DockSTARTer for the first time, enter the following command: + +``` +$ ds +``` + +Choose "Configuration" from the main menu and press ENTER: + +And then select "Full setup". + +Choose which apps you would like to install. By default, Watchtower app is selected. Use UP and DOWN arrow keys to navigate to app list and press SPACEBAR to select or deselect apps. + +Now, DockSTARTer will display the default settings of the selected apps. If you would like to keep these settings for the apps, choose "Yes" and hit ENTER. Or choose "No" and change the settings as you want. + +If you like to keep the default settings for VPN, choose "Yes" or choose "No" to change the settings as you please. + +Now you will see the global settings for DockSTARTer. Review the global settings such as docker config directory, docker storage directory, docker hostname and time zone etc. If you're OK with the default settings, simply choose "Yes" and hit ENTER. If you want to change these settings, select "No". I want to change the storage directory, hostname and time zone, so I choose "No". + +If you chose "No" in the previous wizard, you will be prompted to set docker config directory. There will be 2 choices given. You can either choose to keep the currently selected directory or enter a new one by selecting "Enter New" option. I am going to keep the currently selected directory. + +Choose "yes" to set appropriate permissions on the docker configuration directory. + +In this step, you need to set a directory for Docker storage. By default, DockSTARTer will create a directory called "storage" in your $HOME directory. If you want to keep the default storage directory, choose "Keep Current". Or choose "Enter New". + +Enter the path to your Docker storage directory and hit ENTER. If the directory doesn't exist, DockSTARTer will attempt to create it. + +Set the hostname for your Docker system. DockSTARTer recommends system detected values. Here, I am going to choose "Use System" option's setting for my Docker hostname. + +Set the user's group ID (PGID). If you're unsure, simply go with the **"Use System"** option. + +Set your user account ID (PUID). If you're unsure, simply go with the **"Use System"** option. + +Set your system timezone. The system detected values, so just choose "Use System" option and hit ENTER. + +Next, you will prompted if you would you like to run compose. Choose "Yes" to do so. + +This will pull the Docker images that you choose to install in one the previous steps. + +Finally, you will an output something like below after the Docker compose installed all selected apps. + +``` +[...] 2022-10-18 14:24:30 [WARN ] /home/ostechnix/.docker/compose/.env not found. Copying example template. 2022-10-18 14:24:30 [WARN ] Please verify that ~ is not used in /home/ostechnix/.docker/compose/.env file. 2022-10-18 14:24:30 [NOTICE] Preparing app menu. Please be patient, this can take a while. 2022-10-18 14:36:51 [NOTICE] /home/ostechnix/.docker/compose/.env does not contain any disabled apps. 2022-10-18 14:36:51 [NOTICE] Creating environment variables for enabled apps. Please be patient, this can take a while. 2022-10-18 15:55:29 [NOTICE] Creating environment variables for enabled apps. Please be patient, this can take a while. 2022-10-18 15:55:29 [NOTICE] Adding compose configurations for enabled apps. Please be patient, this can take a while. [+] Running 4/4 ⠿ watchtower Pulled 6.1s ⠿ 1045b2f97fda Pull complete 1.0s ⠿ 35a104a262d3 Pull complete 1.2s ⠿ 1a0671483169 Pull complete 3.1s [+] Running 2/2 ⠿ Network compose_default Created 0.0s ⠿ Container watchtower Started +``` + +That's it. You can view the list of running Docker containers using command: + +``` +$ docker ps +``` + +**Sample output:** + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d3c34dc918f ghcr.io/containrrr/watchtower "/watchtower" 5 minutes ago Up 5 minutes 8080/tcp watchtower +``` + +### Install new Apps + +To install the other apps, just restart DockSTARTer again using the following command: + +``` +$ ds +``` + +Select "Configuration" and then "Select Apps". + +You will see the list of available apps in the next screen. Just select the app you want to run and follow the on-screen instructions. + +### Remove Apps + +Removing apps is same as adding new apps. + +First, make sure the container app is stopped. + +``` +$ sudo docker stop +``` + +Start DockeSTARTer, go to **Configuration -> Select Apps** and **uncheck** the apps that you want to remove and choose OK to remove the apps. + +### Update DockSTARTer + +To update DockSTARTer, simply start it using **"`ds`"** command from the Terminal and then choose "Update DockSTARTer" option. + +You can also do it from the commandline by running: + +``` +$ sudo ds -u +``` + +### Prune Docker system + +To remove all unused containers, networks, volumes, images and build cache, start DockSTARTer and then choose **"Prune Docker System"** option. + +You can prune your Docker system from commandline by running the following command as well. + +``` +$ sudo ds -p +``` + +**Sample output:** + +``` +Deleted Containers: 9d3c34dc918fafa62d0e35283be4cbee46280a30dcd59b1aaa8b5fff1e4a085d Deleted Networks: compose_default Deleted Images: untagged: ghcr.io/containrrr/watchtower:latest untagged: ghcr.io/containrrr/watchtower@sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3 deleted: sha256:333de6ea525af9137e1f14a5c1bfaa2e730adca97ab97f74d738dfa99967f14f deleted: sha256:f493af3d0a518d307b430e267571c926557c85222217a8707c52d1cf30e3577e deleted: sha256:62651dc7e144aa8c238c2c2997fc499cd813468fbdc491b478332476f99af159 deleted: sha256:83fe5af458237288fe7143a57f8485b78691032c8c8c30647f8a12b093d29343 Total reclaimed space: 16.92MB +``` + +### Change variables + +You can adjust variables for running Docker containers at any time. + +Start DockSTARTer by running **"`ds`"** command and choose "Configuration", and then choose the following settings: + +- "Set App Variables" option for adjusting variables for all enabled apps, +- "Set VPN Variables" option for adjusting VPN specific variables, +- "Set Global Variables" option for adjusting global variables. + +### Conclusion + +DockSTARTer has made the process of running Docker apps much easier! DockSTARTer also has CLI interface, but you can quickly deploy Docker containers without memorizing any commands via the its Text-based interface. + +**Resource:** + +- **[DockSTARTer Website][1]** + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/setup-docker-and-docker-compose-with-dockstarter/ + +作者:[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://dockstarter.com/ From 2c7047b9034268314d51624967c339f20235f5c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:25:48 +0800 Subject: [PATCH 051/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221016-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-What?= =?UTF-8?q?=E2=80=99s-new-in-GNOME-43-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md diff --git a/sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md b/sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md new file mode 100644 index 0000000000..3e6109f32f --- /dev/null +++ b/sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md @@ -0,0 +1,74 @@ +[#]: subject: "What’s new in GNOME 43?" +[#]: via: "https://opensource.com/article/22/10/whats-new-gnome-43-linux" +[#]: author: "Jim Hall https://opensource.com/users/jim-hall" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What’s new in GNOME 43? +====== + +I love the [GNOME][1] desktop, and I use it as my daily [Linux desktop environment][2]. I find with GNOME, I can focus on the stuff I need to get done, but I still have flexibility to make the desktop look and act the way I want. + +The GNOME Project recently released GNOME 43, the latest version of the GNOME desktop. I met with GNOME developer Emmanuele Bassi to ask a few questions about this latest release: + +**Jim Hall (Jim): GNOME has lots of great desktop features. What are some of the new features in GNOME 43?** + +**Emmanuele Bassi (Emmanuele):** GNOME 43 has a complete redesign of the system status menu in the Shell. The new design is meant to give quick and easy access to various settings: network connections and VPNs; audio input and output sources and volumes; toggling between light and dark styles. It also has a shortcut for taking a screenshot or starting a screen recording. + +GNOME core applications have also been ported to the new major version of the GNOME toolkit, GTK4. GTK4 is more efficient when it comes to its rendering pipeline, which leads to smoother transitions and animations. Additionally, GNOME applications use libadwaita, which provides new UI elements and adaptive layouts that can seamlessly scale between desktop and mobile form factors. + +The GNOME file manager, Nautilus, is one of the applications that has been ported over to GTK4 and libadwaita, and it has benefitted from the new features in the core platform; it’s now faster, and it adapts its UI when the window is resized. + +The system settings can now show device security information, including manufacturing errors and hardware misconfiguration, as well as possible security issues like device tampering. Lots of work is planned for future releases, as device security is an area of growing concern. + +**Jim: What do you love most about GNOME 43?** + +**Emmanuele:** The most important feature of GNOME, one that I constantly take advantage of and that I always miss when I have to deal with other operating systems is how much the OS does not get in the way of what I’m doing. Everything is designed to let me concentrate on my job, without interruptions. I don’t have bells and whistles constantly on my screen, competing for attention. Everything is neatly tucked away, ready to be used only when I need to. + +**Jim: Many folks are familiar with GNOME today, but may not be familiar with its history. How did GNOME get started?** + +**Emmanuele:** GNOME started in 1997, 25 years ago, as a project for using existing free and open source components to create a desktop environment for everyone that would be respectful of users’ and developers’ freedom. At the time there were only commercial desktops for Unix, or desktops that were based on non-free components. Being able to take the entire desktop, learn from it, and redistribute it has always been a powerful motivator for contributors—even commercial ones. + +Over the past 25 years, GNOME contributors have worked not just on making the desktop, but creating a platform capable of developing and distributing applications. + +**Jim: Open source projects keep going because of a strong community. What keeps the GNOME community strong?** + +**Emmanuele:** I don’t pretend to speak for everyone in the project, but for myself I think the main component is the respect of every voice within the community of contributors, which comes from the shared vision of creating an entirely free and open platform. We all know where we want to go, and we are all working towards the same goal. Sometimes, we may end up pulling in different directions, which is why donating to entities like the GNOME Foundation, which sponsor gatherings and conferences, is crucial: they allow a more comprehensive communication between all the involved parties, and at the end we get better results for it. + +GNOME also takes very seriously respectful communication between members of the community; we have a strong code of conduct, which is enforced within the community itself and covers all venues of communication, including in person events. + +**Jim: GNOME established the Human Interface Guidelines (HIG) to unify the GNOME design and GNOME app interfaces. How did the HIG come about?** + +**Emmanuele****:**The Human Interface Guidelines (HIG) came into being after Sun did a usability study on GNOME 1, one of the very first usability studies for a free software project. The findings from that study led to the creation of a standardized document that projects under the GNOME umbrella would have to follow, which is how we ended up with GNOME 2, back in 2002. + +The HIG was a rallying point and a symbol, a way to demonstrate that the entire project cared about usability and accessibility, and it provided the tools to both desktop and application developers to create a consistent user experience. + +Over the years, the HIG moved away from being a complete checklist of pixels of padding and grids of components, and instead it now provides design principles, UI patterns, conventions, and resources for contributors and application developers. The HIG now has its own implementation library, called libadwaita, which application developers can use when targeting GNOME, and immediately benefit from a deeper integration within the platform without having to re-implement the various styles and patterns manually. + +_Thanks to Emmanuele Bassi for answering this interview. You can find GNOME at_[_https://www.gnome.org/_][3] + +_Read the release announcement for GNOME 43 at_[_https://release.gnome.org/43/_][4] + +_Learn about what’s new in GNOME 43 for developers at_[_https://release.gnome.org/43/developers/_][5] + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/whats-new-gnome-43-linux + +作者:[Jim Hall][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/jim-hall +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/gnome-linux-desktop +[2]: https://opensource.com/article/20/5/linux-desktops +[3]: https://www.gnome.org/ +[4]: https://release.gnome.org/43/ +[5]: https://release.gnome.org/43/developers/ From 7eab0a385c01dbafde97c4ba67e84c45dae6ac23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:29:16 +0800 Subject: [PATCH 052/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221017-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F-Why-you-should-consider-Rexx-for-scripting.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️-Why-you-should-consider-Rexx-for-scripting.md | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md diff --git a/sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md b/sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md new file mode 100644 index 0000000000..299cb5bbe5 --- /dev/null +++ b/sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md @@ -0,0 +1,122 @@ +[#]: subject: "Why you should consider Rexx for scripting" +[#]: via: "https://opensource.com/article/22/10/rexx-scripting-language" +[#]: author: "Howard Fosdick https://opensource.com/users/howtech" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Why you should consider Rexx for scripting +====== + +How do you design a programming language to be powerful yet still easy to use? Rexx offers one example. This article describes how Rexx reconciles these two seemingly contradictory goals. + +### History of Rexx programming language + +Several decades ago, computers were shifting from batch to interactive processing. Developers required a scripting or "glue" language to tie systems together. The tool needed to do everything from supporting application development to issuing operating system commands to functioning as a macro language. + +Mike Cowlishaw, IBM Fellow, created a solution in a language he named Rexx. It is widely considered the first general-purpose scripting language. + +Rexx was so easy to use and powerful that it quickly permeated all of IBM's software. Today, Rexx is the bundled scripting language on all of IBM's commercial operating systems (z/OS, z/VM, z/VSE, and IBM i). It's no surprise that in the 1990s, IBM bundled Rexx with PC-DOS and then OS/2. Rexx popped up in Windows in the XP Resource Kit (before Microsoft decided to lock in customers with its proprietary scripting languages, VBScript and PowerShell). Rexx also emerged as the scripting language for the popular Amiga PC. + +### Open source Rexx + +With Rexx spreading across platforms, standardization was needed. The American National Standards Institute (ANSI) stepped forward in 1996. + +That opened the floodgates. Open source Rexx interpreters started appearing. Today, more than a half dozen interpreters run on every imaginable platform and operating system, along with many open source tools. + +Two Rexx variants deserve mention. _Open Object Rexx_ is a compatible superset of procedural or "classic" Rexx. _ooRexx_ is message-based and provides all the classes, objects, and methods one could hope for. For example, it supports multiple inheritance and mixin classes. + +Paralleling the rise in Java's popularity, Mike Cowlishaw invented _NetRexx_. NetRexx is a Rexx variant that fully integrates with everything Java (including its object model) and runs on the Java virtual machine. + +ooRexx went open source in 2004; NetRexx in 2011. Today the [Rexx Language Association][1] enhances and supports both products. The RexxLA also supports _Regina_, the most popular classic Rexx interpreter, and _BSF4ooRexx_, a tool that fully integrates ooRexx with Java. Everything Rexx is open source. + +### Layered design + +So, back to the initial conundrum. How does a programming language combine power with ease of use? + +One part of the solution is a _layered architecture_. Operators and a minimal set of instructions form the core of the classic Rexx language: + +![Rexx layered design][2] + +Image by: + +(Howard Fosdick, CC BY-SA 4.0) + +Surrounding the core are the language's 70-odd built-in functions: + +- Arithmetic +- Comparison +- Conversion +- Formatting +- String manipulation +- Miscellaneous + +Additional power is added in the form of _external function libraries_. You can invoke external functions from within Rexx programs as if they were built in. Simply make them accessible by proper reference at the top of your script. + +Function libraries are available for everything: GUIs, databases, web services, OS services, system commands, graphics, access methods, advanced math, display control, and more. The result is a highly-capable open source ecosystem. + +Finally, recall that Open Object Rexx is a superset of classic Rexx. So you could use procedural Rexx and then transition your skills and code to object programming by moving to ooRexx. In a sense, ooRexx is yet another Rexx extension, this time into object-oriented programming. + +### Rexx is human-oriented language + +Rexx glues all its instructions, functions, and external libraries together in a consistent, dead-simple syntax. It doesn't rely on special characters, arcane syntax, or reserved words. It's case-insensitive and free-form. + +This approach shifts the burden of programming from programmer to machine to the greatest degree possible. The result is a comparatively easy language to learn, code, remember, and maintain. Rexx is intended as a human-oriented language. + +Rexx implements the _principle of least astonishment_, the idea that systems should work in ways that people assume or expect. For example, Rexx's default decimal arithmetic—with precision you control—means you aren't surprised by rounding errors. + +Another example: All variables contain strings. If the strings represent valid numbers, one can perform arithmetic operations with them. This simple concept of dynamic typing makes all data visible and simplifies tracing and debugging. + +Rexx capitalizes on the advantages of interpreters to simplify program development. Tracing facilities allow developers to direct and witness program execution in various ways. For example, one can single-step through code, inspect variable values, change them during execution, and more. + +Rexx also raises common error conditions that the programmer can easily trap. This feature makes for more standardized, reliable code. + +### Arrays + +Rexx's approach to arrays (or tables) is a good example of how it combines simplicity with power. + +Like all Rexx variables, you don't have to declare them in advance. They automatically expand to the size of available memory. This feature relieves programmers of the burden of memory management. + +To form an array, a so-called _compound variable_ stitches together a _stem variable_ with one or more _subscripts_, as in these examples: + +``` +my_array.1 + my_table.i.j + my_list.index_value + my_list.string_value + my_tree.branch_one + my_tree.branch_one.branch_two +``` + +Subscripts can represent numeric values, as you may be accustomed to in standard table processing. + +Alternatively, they can contain strings. String subscripts allow you to build _associative arrays_ using the same simple syntax as common tables. Some refer to associative arrays as _key-value pairs_ or _content addressable memory_. Allowing array contents to be accessed by arbitrary strings rather than simply numeric values opens up an entirely new world of algorithmic solutions. + +With this flexible but consistent syntax, you can build almost any data structure: Lists, two- or three- or n-dimensional tables, key-value pairs, balanced trees, unbalanced trees, dense tables, sparse tables, records, rows, and more. + +The beauty is in simplicity. It's all based on the notion of compound variables. + +### Wrap up + +In the future, I'll walk through some Rexx program examples. One real-world example will show how a short script using associative arrays reduced the runtime of a legacy program from several hours down to less than a minute. + +You can join the Rexx Language Association for free. For free Rexx downloads, tools, tutorials, and more, visit [RexxInfo.org][3]. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/rexx-scripting-language + +作者:[Howard Fosdick][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/howtech +[b]: https://github.com/lkxed +[1]: http://www.RexxLA.org +[2]: https://opensource.com/sites/default/files/2022-10/rexx_layered_design.jpg +[3]: http://www.RexxInfo.org From f95326945b25c8be92a15adc1777dac89e5fdb96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:30:06 +0800 Subject: [PATCH 053/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221017-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F-Open-source-DevOps-tools-in-a-platform-future.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️-Open-source-DevOps-tools-in-a-platform-future.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md diff --git a/sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md b/sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md new file mode 100644 index 0000000000..5db532e0dd --- /dev/null +++ b/sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md @@ -0,0 +1,109 @@ +[#]: subject: "Open source DevOps tools in a platform future" +[#]: via: "https://opensource.com/article/22/10/open-source-devops-tools" +[#]: author: "Will Kelly https://opensource.com/users/willkelly" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Open source DevOps tools in a platform future +====== + +The open source roots of DevOps tools are undeniable, even with a prediction that the global DevOps market will reach $17.8 billion by 2026. The changing world of work, security, and compliance concerns, along with venture capital firms, are pushing the market to DevOps platforms where development teams can access a complete end-to-end DevOps toolchain in the cloud. + +### The current state of open source DevOps tools + +Let's get one thing straight: There's no way open source tools will disappear from the DevOps world. Right now, there's a balance between open source and vendor DevOps tools, with developers using what works for them. Indeed, there are plenty of cases when a development team chooses an open source tool for their DevOps pipeline only to upgrade later to a commercial version. + +### 3 examples of open source DevOps tools + +Here are some examples of open source DevOps tools with a commercial business built around them. + +#### Git + +[Git][1]–the source code management tool–is probably one of the main foundations for DevOps toolchains serving as a source code repository. + +The two best commercial examples of Git are GitLab and GitHub. GitLab [accepts contributions][2] to its open source project. GitHub is embarking on an effort to become a DevOps platform as well with the launch of GitHub Copilot–an AI pair programmer–launching to mixed reviews and criticism from some open source groups. + +#### Jenkins + +An open source automation server, Jenkins is prized for its easy installation, configuration, and extensibility. + +CloudBees offers JenkinsX, an open-source solution that provides automated continuous integration and continuous delivery (CI/CD) and automated testing tools for cloud-native applications on Kubernetes. They also provide commercial support for JenkinsX, including: + +- Access to CloudBees technical expertise +- 24x7 technical support +- Access to CloudBees documentation and online knowledge base + +#### Kubernetes + +The growth of [Kubernetes][3] is undeniable as more organizations seek an enterprise-grade container orchestration solution. Despite criticisms about its complexity, Kubernetes + +There's an entire burgeoning industry around Kubernetes, and with good reason. According to Allied Market Research, the global container and [Kubernetes security][4] market was valued at $714 million in 2020 and is projected to reach $8242 million by 2030. + +### DevOps toolchains today + +There are still plenty of build-your-own (BYO) CI/CD toolchains in play across industries. The open source projects powering DevOps functions are still prospering, + +BYO toolchains are integration-ready and very extensible, which has always been a strength for organizations continuing to iterate on their DevOps practices. The lack of a standard bill of materials might prove troublesome in enterprises seeking standardization for business, IT, and security reasons. + +While the advent of DevOps platforms isn't going unnoticed, many organizations migrated their CI/CD toolchains to the public cloud well before the pandemic. The security of the toolchain itself has long been a rising concern, and public cloud infrastructure provides Identity Access Management (IAM) and other security features to control access. + +### DevOps platforms: Friend or foe? + +A DevOps platform is an end-to-end solution that places all functions of the CI/CD toolchain into the cloud. Examples of DevOps platforms include GitLab and Harness. GitHub is also making moves to become a DevOps platform in its own right. + +#### Advantages (even if only in the eyes of enterprise buyers) + +DevOps platforms are attractive to enterprise buyers who are already comfortable with the consumption-based and subscription-based pricing of the SaaS and cloud industries. Concerns about maintenance, security, compliance, and developer productivity are certainly at the top of mind for technology leaders in this remote and hybrid work world. Standardizing on a DevOps platform becomes an appealing story to these people. + +#### Disadvantages + +Age-old concerns about vendor lock-in come to mind when depending on a vendor for a DevOps toolchain. The extensibility of development teams building and maintaining their toolchains isn't going to be quite the experience as it was when they made their toolchains from scratch, much less bringing in new tools to improve their workflows. + +There are also potential economic disadvantages with DevOps platform providers. Think what might happen to an overvalued DevOps tools startup that doesn't meet its investors' lofty financial goals. Likewise, there could be smaller startup vendors that may not receive their next round of funding and fade away into irrelevance. + +While the advent of a DevOps platform makes sense in many ways, it does work against the open source ethos that has helped build the DevOps tools we use today. + +### DevOps tools: An inflection point + +Security and compliance concerns for DevOps toolchains continue to mount as working models change. It's only natural. + +#### The changing world of work + +How we work affects DevOps teams just like the rest of the enterprise. Remote and hybrid DevOps teams require secure toolchains. Changing collaboration and reporting requirements across the pipelines are also growing necessities, such as asynchronous work and executives demanding a return to the office. + +#### Software supply chain security market + +The software supply chain security market draws much attention after high-profile attacks and the federal government response. No organization has yet to blame open source for a software supply chain attack, but we're going to see an extension of DevOps/DevSecOps practices and tools to combat this threat. When it's all said and done, though, DevOps/DevSecOps tools and practices will outlast some startups that pivoted to the trend. + +### Final thoughts + +It's far from game over for OSS projects in the DevOps space, but DevOps stakeholders have a right to start asking questions about the toolchains of the future. However, OSS DevOps projects do need to consider their future, especially in light of growing security and compliance concerns that directly impact pipelines. + +There's a future of coopetition where the DevOps platform providers donate time, money, and resources to the open source tools that serve as a foundation for their platforms. An interesting example of a potential future is [OpsVerse][5], which offers a DevOps platform with open source tools they manage for their customers. + +Then again, there's also a future where the open source DevOps tools projects continue to prosper and innovate as more enterprise-built toolchains migrate to the cloud in more significant numbers. + +**[ Kickstart an organizational culture change. Read the first article in a series, [DevSecOps: 5 tips for seeding a culture transformation][6] ]** + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/open-source-devops-tools + +作者:[Will Kelly][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/willkelly +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/4/our-favorite-git-commands +[2]: https://opensource.com/article/19/9/how-contribute-gitlab +[3]: https://opensource.com/resources/what-is-kubernetes +[4]: https://enterprisersproject.com/article/2019/1/kubernetes-security-4-tips-manage-risks?intcmp=7013a000002qLH8AAM +[5]: https://www.opsverse.io/ +[6]: https://www.redhat.com/architect/devsecops-culture?intcmp=7013a000002qLH8AAM From d10be6d6d776ed8b6cc2091a3aa03a505a8c0d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:32:34 +0800 Subject: [PATCH 054/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221018-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F-Exploring-innovative-Open-Organization-charts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️-Exploring-innovative-Open-Organization-charts.md | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md diff --git a/sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md b/sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md new file mode 100644 index 0000000000..6ee7fe0e8a --- /dev/null +++ b/sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md @@ -0,0 +1,189 @@ +[#]: subject: "Exploring innovative Open Organization charts" +[#]: via: "https://opensource.com/article/22/10/innovative-open-organization-chart" +[#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Exploring innovative Open Organization charts +====== + +The ability to react quickly and adapt to changing situations is critical in today's business and work environment. In the past, offering efficient, standardized systems was the way to reduce costs and provide more to the public. In today's rapidly changing world, that's not enough. Collaborating, deciding, and executing quickly on a project requires that the traditional organization chart change to strengthen **adaptability**, **transparency**, **collaboration**, **inclusivity,** and project **community—**all five Open Organization Principles. Today, there are too many interdependencies to stick to the traditional top-down organization chart. + +I just read the book [Team of Teams, by Stanley McChrystal][1], which discusses this concern, particularly in military combat situations. It is the efficiency of small, empowered, trusted, goal-oriented teams working together (and with other teams) that will be successful in the future. Their ability to interact with other teams will make a small group scalable within a large organization. McChrystal writes that adaptability, transparency, and cross-silo collaboration are key to their success. These are three of the Open Organization Principles. I think it's equally valid in the business environment and not just in military operations. + +### Speed in decision-making and how to address continual unpredictability + +When do you make a decision yourself, and when do you take decisions to top management? McChrystal states, "a 70% chance of success today is better than 90% tomorrow when speed of action is critical." These days, the competitors, or enemies, are moving at that pace. + +In my article "[The 4 components of a great decision, What makes a "good" open decision?][2]" I wrote that decision-making speed was very important. Well, that's more true than ever, and you can't do that if you need approvals up and down a large vertical organization chart. Quick decisions must be made on the frontline, where the issues are. A horizontal organization that gets the people most directly involved in the decision-making process is required and is part of the strength that McChrystal is talking about. + +![A horizontal org chart with connections between teams][3] + +Image by: + +(Ron McFarland, CC BY-SA 4.0) + +These connections should have solid lines, and the vertical lines should be dotted, as communications should go up the line only when need be and horizontally minute by minute in real-time. + +### Information reversal + +In another presentation, I talked about an upside-down organization chart, which I called the [hierarchy of support][4]. Compare this with a vertical organizational chart. + +![Hierarchy of company objectives][5] + +Image by: + +(Ron McFarland, CC BY-SA 4.0) + +A typical vertical organization chart has top management in the top box. The staff provided frontline information to superiors so that they could decide. + +Then, lines connect downward to departments under the top box, and directives move downward. Task directives flow from those department managers to the staff under them. + +In a rapidly changing, unpredictable environment, the superiors should provide surrounding information to the staff so frontline people can make decisions independently. Imagine turning that organization chart upside down, with top management at the bottom and the staff at the top. + +![Hierarchy of company support][6] + +Image by: + +(Ron McFarland, CC BY-SA 4.0) + +With today's information technology, the frontline staff is often better informed than their superiors. Therefore, managers' main job is to support the staff where needed, but the decisions should be made rapidly on the frontline. + +McChrystal uses the expression, "Eyes on - Hands off." I think he is suggesting what I'm saying in a different way. He calls top managers giving directives "chess players" and supporting managers "gardeners." + +McChrystal started a training company called [Crosslead][7] that trains individuals and companies on how this type of organization works. Their name implies the horizontal, frontline communication I mentioned in my upside-down organization chart. + +The book mentions Open Organization Principles throughout: + +- **Adaptability**, which he calls "resilience." +- **Collaboration**, which is horizontal within teams and between teams. +- **Community**, which is **Inclusivity** and **Transparency** within teams. + +### Getting through the forest by knowing the working environment + +Imagine your goal is to get through a forest to your home on the other side. Unfortunately, the forest is rapidly changing because of the weather and climate. + +One person gives you a map of the best way to go through the forest, but that map was made in the past and might be outdated. It might be the best way to get home, but blockages along that route may force you to return to your starting location. + +Another person has a current satellite image of the forest which shows every possible route and its present condition. Furthermore, he has guides spread throughout the forest who can communicate and advise you on the best route. + +Wouldn't the second method be more reliable with a rapidly changing forest? + +### McChrystal's organization chart + +It starts with a frontline team, a specific goal, and members' specific tasks. The members select a leader depending on the task at hand. Who is most experienced, informed, and qualified to lead them toward the given team goal? + +It might well be that the official leader is the least qualified to make decisions, so the system is very slow at best and freezes at worst. Who will most people follow? That will determine the leader of any given task. + +McChrystal writes about the "Perry Principle," in which top management could not give orders by sea because there was no communication system in [Admiral Perry's][8] days. McChrystal calls this a "principle" because empowerment was given to frontline staff as a last resort and only when forced. He thinks this should be reversed. Top management should only make the decision themselves when the frontline people can't decide for one reason or another. + +The team chart that McChrystal is proposing is on the right. + +![Command organizational chart versus team organizational chart][9] + +Image by: + +Team of Teams, page 96. + +An exponential growth in frontline connectedness speeds up the communication and action process in a way that the current hierarchical structure can not handle. The command chart on the left is just too slow in a rapidly changing environment. + +By the time the situation is reported, everything changes and reported information is obsolete. Therefore, a frontline leader, like a start-up entrepreneur, must have the authority, initiative, intuition, and creative thinking to make decisions and immediately act on them to achieve the best result. Speed determines success or failure. + +Up until now, adaptability has mostly been characteristic of small interactive teams rather than large top-down hierarchies. + +In this new environment, that frontline leader's superior must withhold decision-making on the one hand but relentlessly support the frontline on the other. This will lead to frontline decision-making competence to iterate and adjust in a fraction of the normal time. + +### Attention directed from efficiency to adaptability + +McChrystal introduces the work of [Frederick Winslow Taylor][10], who developed the reductionist theory and the optimization and standardization of processes. This process was the most efficient way to reduce costs and save energy. He believed there was one ideal way for any process. + +So, he researched processes, developed instruction sheets, and instructed the frontline staff just to follow directions. It was a hard and fast line between thinking (by the researcher) and action (by the frontline worker). This approach is fine for repeated, well-known, stable processes, but not in changing environments, like factories with complicated but linear predictable activities, but not in changing environments. Unfortunately, this concept took the initiative to improve away from the frontline operator, as all they had to do was act and not think. + +When modification was required, the frontline worker froze, unqualified and unskilled at adapting. + +McChrystal writes that his military combat environment is not predictable. It is a "complex system." This complexity has countless unpredictable interdependencies in the environment. + +When one event takes place, it may have a massive impact or no impact at all. This results in great unpredictability. We have to manage this unpredictability. In the past, communication was from a few to a few with some connected impact. Now, it is many to many, and no one knows who or what the impact is on who or what. It is totally unpredictable. + +I believe this reductionist process is still important, but it can only go so far. + +Therefore, those basic practice instruction sheets should come in the form of suggestions only and not orders to follow. McChrystal calls these situations _complexity systems_. It's like opening and walking through a door only to learn of other doors to choose from. + +Those other doors cannot be foreseen without walking through the previous door. After selecting one of those doors, you discover more doors to choose from. To be most effective, whenever you select a door, you let everyone in the system know which one you picked and ask for advice if available. This is where real-time transparency is vital. In this environment, planning is not helpful, but feedback is. + +Being better equipped and more efficient are not enough in complex environments. Being agile and resilient become critical factors. When disturbances come, the system must continue to function and adjust. This is all-important in a world of continual situational change. In this world, planning for disruption is vital. It is "rolling with the punches" or even benefiting from them by developing an immune system to disruption. When shocks come, options have been planned, developed, practiced, and applied when needed. Simply working on one ideal process is not enough. If all the attention is on the execution of one procedure, other more helpful skills may suffer. It is moving away from predicting a single forecast, exploring all possibilities, and preparing for them. McChrystal asks to contrast efficiency and effectiveness. He says, "Efficiency is doing things right. Effectiveness is doing the right thing." He thinks the latter is more important in a complex situation. To do that, people should be skilled in many rarely needed but still necessary tasks. + +### Collaboration over vertical communication walls + +Furthermore, breaching vertical walls between divisions or teams increases the speed of action, particularly where cross-functional collaboration is vital to the speed of response. + +According to McChrystal, both between teams and within teams, collective consciousness is developed over years of joint practice, trust building, cooperation, deep group, and individual understanding, bonding, and service to their greater purpose. + +The entire group can improvise in a coordinated way when necessary. Teamwork is a process of reevaluating everyone's move and intent, constant messaging, and real-time adjustment. + +### Barriers between teams + +As you move down the traditional organization chart, motivation and contextual awareness become more limited and specific, and greater distance from the overall organization's objectives. Members are tight within their team but separated from the other groups within the organization and possibly the entire organization's goals. + +![Command of teams organizational chart][11] + +Image by: + +Team of Teams, page 129 + +### Real-time communication and connections between teams + +In a complex, rapidly changing environment, the below chart is more appropriate, where there is a good deal of continual information flow and connections. + +![Inter-team organizational chart][12] + +Image by: + +Team of Teams, page 129 + +Team members tackling complex environments must all grasp not just their team's purpose but the overarching goal of the entire organizational system. They must also consider how their activities impact other groups. + +To be successful, team participation and team-to-team participation are vital, according to McChrystal. In Jim Whitehurst's [book][13] on letting and encouraging everyone to speak up in meetings, even the quiet people express this same point. + +I wrote about it in my first article, [When empowering employee decision-making, intent is everything][14], posted on April 19, 2016. This concept is true when trying to connect teams as well. + +Teams working on a problem and collaborating in real time can perform tasks more concurrently rather than sequentially, saving a massive amount of valuable time. + +### Wrap up + +This article presents several images of new organization chart concepts. Unofficially, to get things done, much horizontal communication has been going on for decades. The difference now is that updates are in minutes and not at weekly or monthly meetings. + +I also discussed the importance of the speed of decision-making in today's working environment and that a new real-time communication flow system is needed. I mentioned that at least three critical Organization Principles, namely adaptability, transparency, and collaboration, were vitally important to make communication flow and allow faster decision-making and execution. Furthermore, I also presented that just having a highly efficient and low-cost system is not enough when faced with a rapidly changing, unpredictable working environment. An approach better able to adapt to change needs to be introduced and put into use, namely a new open organization chart. + +In the second part of this article, I will discuss how this type of organization can work, including how to develop it and improve it. Also, I'll give examples of how it can work in various situations. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/innovative-open-organization-chart + +作者:[Ron McFarland][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/ron-mcfarland +[b]: https://github.com/lkxed +[1]: https://www.shortform.com/summary/team-of-teams-summary-stanley-mcchrystal?gclid=CjwKCAjwy_aUBhACEiwA2IHHQFl6iYqOX4zSl3JxC-BVubNJo3Ee11s2nF2t4HMN6roJn2yehivPshoCXlQQAvD_BwE +[2]: https://opensource.com/open-organization/17/3/making-better-open-decisions +[3]: https://opensource.com/sites/default/files/2022-10/horizontal-org-chart.png +[4]: https://www.slideshare.net/RonMcFarland1/hierarchy-of-objectives-support +[5]: https://opensource.com/sites/default/files/2022-10/hierarchy-company-objectives.png +[6]: https://opensource.com/sites/default/files/2022-10/hierarchy-company-support.png +[7]: http://www.crosslead.com/ +[8]: https://en.wikipedia.org/wiki/Matthew_C._Perry +[9]: https://opensource.com/sites/default/files/2022-10/command-vs-team-chart.png +[10]: https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor +[11]: https://opensource.com/sites/default/files/2022-10/command-of-teams.png +[12]: https://opensource.com/sites/default/files/2022-10/connections-between-teams.png +[13]: https://www.goodreads.com/book/show/23258978-the-open-organization +[14]: https://opensource.com/open-organization/16/4/when-empowering-employee-decision-making-intent-everything From a1348c09684ab4e9afe98fe542e791e5d5e33521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:34:27 +0800 Subject: [PATCH 055/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221019-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Our-open?= =?UTF-8?q?-source-startup-journey.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...19-⭐️⭐️-Our-open-source-startup-journey.md | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md diff --git a/sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md b/sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md new file mode 100644 index 0000000000..c95461a3c6 --- /dev/null +++ b/sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md @@ -0,0 +1,114 @@ +[#]: subject: "Our open source startup journey" +[#]: via: "https://opensource.com/article/22/10/tooljet-open-source-journey" +[#]: author: "Navaneeth PK https://opensource.com/users/navaneeth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Our open source startup journey +====== + +[ToolJet][1] is an open source, low-code framework for rapidly building and deploying internal tools. Our codebase is 100% JavaScript and TypeScript. + +A lone developer in April 2021 started ToolJet. The public beta launched in June 2021 and was an instant hit. With this traction, ToolJet raised funding, and currently, we have a team of 20 members. + +### Why open source? + +Before working on ToolJet, I worked with a few enterprise clients as a consultant. Many of these clients were large enough to build and maintain dozens of internal tools. Despite the constant requests from sales, support, and operations teams to add more features and fix the bugs in their internal tools, engineering teams struggled to find the bandwidth to work on the internal utilities. + +I tried using a few platforms to build and maintain internal tools. Most of these tools were very expensive, and frequently, they didn't really fit the requirements. We needed modifications, and most utilities didn't support on-premise hosting. + +As a Ruby developer, I primarily used ActiveAdmin and RailsAdmin to build internal tools. Both utilities are amazing, but making them work with more than one data source is difficult. I then realized there is a need in the market for a framework that could build user interfaces and connect to multiple data sources. I believe any tool built for developers should be open source. Most of the tools and frameworks that developers use daily result from people from all over the world collaborating in public. + +### The first commit + +Building something like ToolJet needed a full-time commitment. Selling one of my side projects gave me a runway of 5-6 months, and I immediately started working on an idea I'd had in mind for at least two years. + +The first commit (rails new) of ToolJet was on April 1, 2021. + +Wait! I said the codebase is 100% JavaScript. Continue reading to discover why. + +### Building and pitching investors + +I sat in front of my screens for most of April and May, coding and pitching to investors for a pre-seed round. + +My work also included creating the drag-and-drop application builder, documenting everything, ensuring there was documentation for setting ToolJet up on popular platforms, creating a website, creating posters and blog posts for launch, and more. The process went well without any major challenges. At this point, the frontend of ToolJet was built using React, with the backend using Ruby on Rails. + +While the coding was going well, investor pitches weren't going great. I sent around 40 cold emails to venture capitalist firms and "angel investors" focused on early-stage funding. While most of them ignored the email, some shared their reason for rejection, and some scheduled a call. + +Most of the calls were the same; I couldn't convince them of an open source business model. + +### The launch + +June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2]. + +I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars. + +![ToolJet repo stats on GitHub][4] + +Image by: + +GitHub StarTrack for ToolJet. (Navaneeth PK, CC BY-SA 4.0) + +### Getting funding + +The traction on GitHub was enough to be noticed by the venture capitalist (VC) world. The days following the launch were packed with calls. We had other options, but did not consider seriously consider them, including: + +- Bootstrapping: During the early stages of the product, it was hard to find paying customers, and I did not have enough savings to fund the project until that happened. +- Building as a side project: While this strategy works great for smaller projects, I didn't feel it would work for ToolJet because we needed to create dozens of integrations and UI widgets before the platform could become useful for customers. As a side project, it might take months or years to achieve that. + +I knew it could take months to build the platform I wanted if ToolJet became just a side project. I wanted to accelerate growth by expanding the team, and VC funding was the obvious choice, given the traction. + +The good news is that we raised[$1.55 million in funding][5] within two weeks of the HN launch. + +### Stack matters in open source + +Soon after the launch, we found that many people wanted to contribute to ToolJet, but they were mostly JavaScript developers. We also realized that for a framework like ToolJet that in the future should have hundreds of data source connectors, only a plugin-based architecture made sense. We decided to migrate from Ruby to TypeScript in August 2021. Even though this took about a month and significant effort, this was one of the best decisions we've made for the project. Today, we have an extensible plugin-based architecture powered by our [plugin development kit][6]. We have contributions from over 200 developers. We've written extensively about this migration [here][7] and [here][8]. + +### Launching v1.0 + +Many users have been using ToolJet on production environments since August, and the platform did not show any stability or scalability issues. We were waiting to wrap up the developer platform feature before we called it v1.0. The ToolJet developer platform allows any JavaScript developer to build and publish plugins for ToolJet. Developers are now able to make connectors for ToolJet. Creating a ToolJet connector can take just 30 minutes, including integration tests. + +### Building a growing community + +![ToolJet star history][9] + +Image by: + +ToolJet Star History (Navaneeth PK, CC BY-SA 4.0) + +We didn't spend money on marketing. Most of our efforts in spreading the news about ToolJet have been writing about our learnings and being active in developer communities. We have a team of three members who take care of community queries. + +### The business model + +ToolJet won't be a sustainable business without a [commercial product][10] to pay the bills. We've built an enterprise edition of ToolJet, for which customers must pay. There's no limit on usage for the free community edition, and additional features in the enterprise edition are relevant only to large teams. We have very large companies as paying customers right now, but we haven't started monetizing ToolJet aggressively. We have enough money left in the bank to build an even better ToolJet, so our focus currently is on product improvement. + +### What's next? + +We frequently release better versions of ToolJet with the help of constant feedback and contributions from the open source community. Many major improvements and dozens of connectors and UI components are in progress. We're moving faster than ever towards our initial goal of being the open framework that can connect to hundreds of data sources and build even the most complicated user interfaces! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/tooljet-open-source-journey + +作者:[Navaneeth PK][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/navaneeth +[b]: https://github.com/lkxed +[1]: https://github.com/ToolJet/ToolJet +[2]: https://www.producthunt.com/products/tooljet-0-5-3 +[3]: https://news.ycombinator.com/item?id=27421408 +[4]: https://opensource.com/sites/default/files/2022-10/tooljet-repo-stats.png +[5]: https://blog.tooljet.com/raising-vc-funding-for-open-source-project +[6]: https://www.npmjs.com/package/@tooljet/cli +[7]: https://blog.tooljet.com/migrating-toojet-from-ruby-on-rails-to-nodejs +[8]: https://blog.tooljet.com/how-we-migrated-tooljet-server-from-ruby-to-node-js +[9]: https://opensource.com/sites/default/files/2022-10/tooljet-star-history.png +[10]: https://opensource.com/article/19/11/product-vs-project From 847e55baae7b72081bd572741c61c1fcdf0d6f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:39:07 +0800 Subject: [PATCH 056/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221020-=E2=AD=90=EF=B8=8F-4-open-source-editors-I-us?= =?UTF-8?q?e-for-my-writing.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-4-open-source-editors-I-use-for-my-writing.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md diff --git a/sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md b/sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md new file mode 100644 index 0000000000..91ac8e2066 --- /dev/null +++ b/sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md @@ -0,0 +1,56 @@ +[#]: subject: "4 open source editors I use for my writing" +[#]: via: "https://opensource.com/article/22/10/open-source-editors" +[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +4 open source editors I use for my writing +====== + +I've done a lot of writing throughout my career, mostly as an IT consultant creating product documentation as client deliverables. These documents generally provide instructions on installing various operating systems and software products. + +Since 2018, I've contributed to opensource.com with articles about open source software. Of course, I use open source editors to write my pieces. Here are the four open source editors that I have used. + +### 1. Vi + +[Vi][1], also referred to as Vim, is the first open source editor that I learned. This was the editor taught by my computer science classes and that I used for all of my C programming. I have used it as my de facto command line editor since the mid-1990s. There are so many iterations of this tool that I could write a whole series on them. Suffice it to say that I stick to its basic command line form with minimal customization for my daily use. + +### 2. LibreOffice Writer + +Writer is part of the open source LibreOffice office suite. It is a full-featured word processor maintained by The Document Foundation. It supports industry-standard formats such as the Open Document Format (ODF), Open XML, and MS Office DOC, DOCX. [Learn more about Writer][2] on its official site. + +### 3. Ghostwriter + +Ghostwriter is a [text editor for Markdown][3]. It has a nice real-time viewer and syntax guide or cheat sheet feature. [Visit the official website][4] to discover more. + +### 4. Gedit + +Gedit is the basic graphical editor found in many Linux distributions and is described as "a small and lightweight text editor for the GNOME desktop." I have begun using it lately to create articles in the Asciidoc format. The benefit of using Asciidoc is that the syntax is easily manageable and importable into web rendering systems such as Drupal. [See the Gedit Wiki][5] for many tips and tricks. + +### Editing text + +An extensive list of editing software is available in the open source world. This list will likely grow as I continue writing. The primary goal for me is simplicity in formatting. I want my articles to be easy to import, convert, and publish in a web-focused platform. + +Your writing style, feature needs, and target audience will guide you in determining your preferred tools. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/open-source-editors + +作者:[Alan Formy-Duval][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/alanfdoss +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/vi-text-editor +[2]: https://www.libreoffice.org/discover/writer/ +[3]: https://opensource.com/article/21/10/markdown-editors +[4]: https://github.com/KDE/ghostwriter +[5]: https://wiki.gnome.org/Apps/Gedit From 5e0d624258cf8310acf92c53b9a836916a6dbcfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:42:36 +0800 Subject: [PATCH 057/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221021-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Observab?= =?UTF-8?q?ility-driven-development-with-OpenTelemetry.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rvability-driven-development-with-OpenTelemetry.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md diff --git a/sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md b/sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md new file mode 100644 index 0000000000..170e38e797 --- /dev/null +++ b/sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md @@ -0,0 +1,82 @@ +[#]: subject: "Observability-driven development with OpenTelemetry" +[#]: via: "https://opensource.com/article/22/10/observability-driven-development-opentelemetry" +[#]: author: "Ken Hamric https://opensource.com/users/kenkubeshopio" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Observability-driven development with OpenTelemetry +====== + +Observability-driven development (ODD) is being recognized as "necessary" for complex, microservice-based architectures. Charity Majors coined the term and has written about it in several articles, including [Observability: A Manifesto][1]. She explains the term in this quote: + +> Do you bake observability right into your code as you're writing it? The best engineers do a form of "observability-driven-development" — they understand their software as they write it, include instrumentation when they ship it, then check it regularly to make sure it looks as expected. You can't just tack this on after the fact, "when it's done". + +### OpenTelemetry provides the plumbing + +The OpenTelemetry project has the industry backing to be the 'plumbing' for enabling observability across distributed applications. The OpenTelemetry project is [second only to Kubernetes][2] when measuring the size of its contributor community among [Cloud Native Computing Foundation (CNCF)][3] projects, and was formed when OpenTracing and OpenCensus projects merged in 2019. Since then, almost all of the major players in the industry have announced their support for OpenTelemetry. + +[OpenTelemetry][4] covers three observability signals—logs, metrics, and distributed traces. It standardizes the approach to instrumenting your code, collecting the data, and exporting it to a backend system where the analyses can occur and the information can be stored. By standardizing the 'plumbing' to gather these metrics, you can now be assured that you don't have to change the instrumentation embedded in your code when switching from one vendor to another, or deciding to take the analysis and storage in-house with an open source solution such as OpenSearch. Vendors fully support OpenTelemetry as it removes the onerous task of enabling instrumentation across every programming language, every tool, every database, every message bus— and across each version of these languages. An open source approach with OpenTelemetry benefits all! + +### Bridging the gap with Tracetest + +So you want to do ODD, and you have a standard of how to instrument the code with OpenTelemetry. Now you just need a tool to bridge the gap and help you develop and test your distributed application with OpenTelemetry. This is why my team is building [Tracetest][5], an open source tool to enable the development and testing of your distributed microservice application. It's agnostic to the development language used or the backend OpenTelemetry data source that is chosen. + +For years, developers have utilized tools such as Postman, ReadyAPI, or Insomnia to trigger their code, view the response, and create tests against the response. Tracetest extends this old concept to support the modern, observability-driven development needs of teams. Traces are front and center in the tool. Tracetest empowers you to trigger your code to execute, view both the response from that code and the OpenTelemetry trace, and to build tests based on both the response and the data contained in the trace. + +![Image of Tracetest functionality.][6] + +Image by: + +(Ken Hamric, CC BY-SA 4.0) + +### Tracetest: Trigger, trace, and test + +How does Tracetest work? First, you define a triggering transaction. This can be a [REST][7] or gRPC call. The tool executes this trigger and shows the developer the full response returned. This enables an interactive process of altering the underlying code and executing the trigger to check the response. Second, Tracetest integrates with your existing OpenTelemetry infrastructure to pull in the trace generated by the execution of the trigger, and shows you the full details of the trace. Spans, attributes, and timing are all visible. The developer can adjust their code and add manual instrumentation, re-execute the trigger, and see the results of their changes to the trace directly in the tool. Lastly, Tracetest allows you to build tests based on both the response of the transaction and the trace data in a technique known as trace-based testing. + +### What is trace-based testing? + +Trace-based testing is a new approach to an old problem. How do you enable integration tests to be written against complex systems? Typically, the old approach involved adding lots of complexity into your test so it had visibility into what was occurring in the system. The test would need a trigger, but it would also need to do extra work to access information contained throughout the system. It would need a database connection and authentication information, ability to monitor the message bus, and even additional instrumentation added to the code to enable the test. In contrast, Trace-based testing removes all the complexity. It can do this because of one simple fact—you have already fully instrumented your code with OpenTelemetry. By leveraging the data contained in the traces produced by the application under the test, Tracetest can make assertions against both the response data and the trace data. Examples of questions that can be asked include: + +- Did the response to the gRPC call have a 0 status code and was the response message correct? +- Did both downstream microservices pull the message off the message queue? +- When calling an external system as part of the process—does it return a status code of 200? +- Did all my database queries execute in less than 250ms? + +![Image of Observability driven development in Tracetest.][8] + +Image by: + +(Ken Hamric, CC BY-SA 4.0) + +By combining the ability to exercise your code, view the response and trace returned, and then build tests based on both sets of data, Tracetest provides a tool to enable you to do observability-driven development with OpenTelemetry. + +### Try Tracetest + +If you're ready to get started, [download Tracetest][9] and try it out. It's open source, so you can [contribute to the code][10] and help shape the future of trace-based testing with Tracetest! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/observability-driven-development-opentelemetry + +作者:[Ken Hamric][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/kenkubeshopio +[b]: https://github.com/lkxed +[1]: https://www.honeycomb.io/blog/observability-a-manifesto/ +[2]: https://www.cncf.io/blog/2021/12/15/end-of-year-update-on-cncf-and-open-source-velocity-in-2021/ +[3]: https://www.cncf.io/ +[4]: https://opentelemetry.io/ +[5]: http://tracetest.io +[6]: https://opensource.com/sites/default/files/2022-10/tracetest%20functionality.png +[7]: https://www.redhat.com/en/topics/api/what-is-a-rest-api?intcmp=7013a000002qLH8AAM +[8]: https://opensource.com/sites/default/files/2022-10/Tracetest-odd.png +[9]: https://tracetest.io/download +[10]: https://github.com/kubeshop/tracetest/issues From 2f003bdeb0c2ecc8c948b819c10dffff4068b763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:51:41 +0800 Subject: [PATCH 058/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221015-=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-How-to-G?= =?UTF-8?q?et-Started-with-Shell-Scripting-in-Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow-to-Get-Started-with-Shell-Scripting-in-Linux.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md diff --git a/sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md b/sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md new file mode 100644 index 0000000000..1679b9ccc0 --- /dev/null +++ b/sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md @@ -0,0 +1,140 @@ +[#]: subject: "How to Get Started with Shell Scripting in Linux" +[#]: via: "https://www.linuxtechi.com/get-started-shell-scripting-linux/" +[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Get Started with Shell Scripting in Linux +====== + +Hello readers, In this post, we will cover how to get started with shell scripting in Linux or UNIX systems. + +##### What is a Shell? + +A shell is an interpreter in UNIX/Linux like operating systems. It takes commands typed by the user and calls the operating system to run those commands. In simple terms a shell acts as form of wrapper around the OS. For example , you may use the shell to enter a command to list the files in a directory , such as [ls command][1] , or a command to copy ,such as cp. + +``` +$ ls Desktop Documents Downloads Music Pictures playbook.yaml Public snap Templates test5 Videos $ +``` + +In this example , when you simply type ls and press enter . The $ is the shell prompt , which tells you the the shell awaits your commands.The remaining lines are the names of the files in the current directory. + +##### What is Shell Prompt? + +The prompt, $, which is called command prompt, is issued by the shell. While the prompt is displayed, you can type a command. The shell reads your input after you press Enter. It determines the command you want executed by looking at the first word of your input. A word is an unbroken set of characters. Spaces and tabs separate words. + +### What are different types of Shells + +since there is no monopoly of shells , you are free to run any shell as you wish. That’s all well and good , but choosing a shell without knowing the alternative is not very helpful. Below are lists of shells available in UNIX/Linux. + +##### The Bourne Shell + +The Original Unix Shell is known as sh , short for shell or the Bourne shell , named for steven Bourne , the creator of sh. This is available on almost all the UNIX like operating system. The Basic bourne shell supports only the most limited command line editing, You can type the Characters,remove characters one at a time with the Backspace key and Press enter to execute the command. If command line gets messed up , you can press Ctrl-C to cancel the whole command. + +##### The C Shell + +It is desgined by Bill Joy at the university of california at Berkeley , the C shell was so named because much of its syntax parallels that of C programming language. This shell adds some neat features to the Bourne shell,especially the ability to recall previous commands to help create future commands.Because it is very likely you will need to execute more than one command to perform a particular task,this C shell capability is very useful. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0'); + +##### The Korn Shell + +It is created by David Korn at AT&T Bell laboratories , the korn shell or ksh offers the same kind of enhancements offers by the C Shell , with one important difference: The korn shell is backward compatible with the older Bourne shell Synatx. In UNIX like AIX & HP-UX korn shell is the default shell. + +##### Bash (The Bourne Again Shell) + +Bash offers command-line editing like the korn shell,file name completion like the C shell and a lot of other advance features. Many Users view bash as having the best of the Korn and C shells in one shell. In Linux and Mac OS X system , bash is the default shell. + +##### tcsh ( The T C Shell) + +Linux systems popularized the T C shell ot Tcsh. Tcsh extends the traditional csh to add command line editing,file name completion and more. For example , tcsh will complete the file and directory names when you press Tab key(the same key used in bash). The older C shell did not support this feature. + +### What is a Shell Script? + +A Shell Script is a text file that contains one or more commands. In a shell script, the shell assumes each line of text file holds a separate command. These Commands appear for most parts as if you have typed them in at a shell windows. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0'); + +##### Why to use Shell Script ? + +Shell scripts are used to automate administrative tasks,encapsulate complex configuration details and get at the full power of the operating system.The ability to combine commands allows you to create new commands ,thereby adding value to your operating system.Furthermore ,combining a shell with graphical desktop environment allows you to get the best of both worlds. + +In Linux system admin profile, day to day repeated tasks can be automated using shell script which saves time and allow admins to work on quality work. + +##### Creating first shell script + +Create a text file in your current  working directory with a name myscript.sh , all the shell scripts have an “.sh” extension. First line of a shell script is either #!/bin/sh or #!/bin/bash , it is known as shebang because # symbol is called hash and ! Symbol is called a bang. Where as /bin/sh & /bin/bash shows that commands to be executed either sh or bash shell. + +Below are the content of  myscript.sh + +``` +#!/bin/bash # Written by LinuxTechi echo echo "Current Working Directory: $(pwd)" echo echo "Today' Date & Time: $(date)" DISK=$(df -Th) echo echo "Disk Space on System:" echo "$DISK" +``` + +Above shell script will display the current working , today’s date & time along with file system disk space. We have used [echo command][2] and other [linux commands][3] to build this script. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0'); + +Assign the executable permissions using below [chmod command][4] + +``` +$ chmod a+x myscript.sh +``` + +Now execute the script. + +``` +$ sh myscript.sh or $ ./myscript.sh +``` + +Note: To execute any shell script available in current directory, use  ./ as shown below, + +output, + +##### Taking Input from the user in shell script + +Read command is used to take inputs from user via keyboard and assign the value to a variable. echo command is used to display the contents. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0'); + +Let’s modify above script so that it starts taking input, + +``` +#!/bin/bash # Written by LinuxTechi read -p "Your Name: " NAME echo echo "Today' Date & Time: $(date)" echo read -p "Enter the file system:" DISK echo "$(df -Th $DISK)" +``` + +Now, try to execute the script this time it should prompt to enter details. + +``` +$ ./myscript.sh Your Name: Pradeep Kumar Today' Date & Time: Sat 15 Oct 05:32:38 BST 2022 Enter the file system:/mnt/data Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/volgrp01-lv01 ext4 14G 24K 13G 1% /mnt/data $ +``` + +Perfect, above output confirms that scripting is prompting for input and processing data. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-large-leaderboard-2','ezslot_11',550,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-large-leaderboard-2-0'); + +That’s conclude the post. I hope you have found it informative. Kindly do post your queries and feedback in below comments section. + +Read Also: [How to Debug a Bash Shell Script in Linux][5] + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/get-started-shell-scripting-linux/ + +作者:[Pradeep Kumar][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/pradeep/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/linux-ls-command-examples-beginners/ +[2]: https://www.linuxtechi.com/echo-command-examples-in-linux/ +[3]: https://www.linuxtechi.com/20-linux-commands-interview-questions-answers/ +[4]: https://www.linuxtechi.com/chmod-command-examples-in-linux/ +[5]: https://www.linuxtechi.com/debugging-shell-scripts-in-linux/ From 11a28539545b8e4e15bbcb7e95be2ec386fbfbfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 22 Oct 2022 21:52:10 +0800 Subject: [PATCH 059/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221021-=E2=AD=90=EF=B8=8F-How-to-Install-AWS-CLI-on-?= =?UTF-8?q?Linux-Step-by-Step.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow-to-Install-AWS-CLI-on-Linux-Step-by-Step.md | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md diff --git a/sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md b/sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md new file mode 100644 index 0000000000..1bc2265ed9 --- /dev/null +++ b/sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md @@ -0,0 +1,130 @@ +[#]: subject: "How to Install AWS CLI on Linux Step-by-Step" +[#]: via: "https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/" +[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install AWS CLI on Linux Step-by-Step +====== + +This post describes how to install latest version of AWS CLI on a linux system step-by-step. AWS CLI is a command line interface which allows us to interact with our AWS account. Developer and sysadmin use aws cli to perform day to day activities and automation. + +##### Prerequisites + +- Pre-Installed Linux System +- Sudo User with admin rights +- Internet Connectivity + +Without any further delay, let’s jump into AWS Cli installations steps. + +### 1) Download installation file + +Open the terminal and run following curl command to download aws cli installation file, + +``` +$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" +``` + +Above command will download file as ‘awscliv2.zip’ in current working directory. + +Execute below [ls command][1] to verify downloaded file, + +``` +$ ls -l awscliv2.zip -rw-rw-r-- 1 linuxtechi linuxtechi 47244662 Oct 20 10:53 awscliv2.zip $ +``` + +### 2) Unzip downloaded installation file + +Run beneath [unzip command][2] to unzip the installer. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0'); + +``` +$ unzip awscliv2.zip +``` + +It will create aws folder in present working directory and unzip all required files into it. + +``` +$ ls -ld aws drwxr-xr-x 3 linuxtechi linuxtechi 4096 Oct 19 17:18 aws $ +``` + +### 3) Run install script + +To install aws cli, run following install script, + +``` +$ sudo ./aws/install +``` + +Script will install all files under /usr/local/aws-cli and will create symbolic link in /usr/local/bin. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0'); + +### 4) Verify AWS CLI version + +To verify the aws cli version, run + +``` +$ aws --version aws-cli/2.8.4 Python/3.9.11 Linux/5.15.0-48-generic exe/x86_64.ubuntu.22 prompt/off $ +``` + +### 5) Configure AWS CLI + +To verify the AWS Cli installation, let’s configure aws cli. + +Login to your AWS management console and retrieve AWS access key id and secret access key. + +In case it is not created yet then create access key ID and secret access key. Copy these keys somewhere safe. + +Now head back to Linux terminal, run following aws command, + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0'); + +``` +$ aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxx Default region name [None]: us-west-2 Default output format [None]: json $ +``` + +Above credentials will be saved in following file, + +``` +$ cat  ~/.aws/credentials +``` + +Output of above commands, + +Run aws command to list s3 bucket and vpc of your account. + +``` +$ aws s3 ls $ aws ec2 describe-vpcs +``` + +Output, + +Output above confirms that aws cli has been configured successfully. + +That’s all from this post, please do post your queries and feedback in below comments sections. + +if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0'); + +Also Read:[How to Setup EKS Cluster along with NLB on AWS][3] + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/ + +作者:[Pradeep Kumar][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/pradeep/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/linux-ls-command-examples-beginners/ +[2]: https://www.linuxtechi.com/linux-zip-unzip-command-examples/ +[3]: https://www.linuxtechi.com/how-to-setup-eks-cluster-nlb-on-aws/ From 1aedd9ed31953a374b75d64ca56607faa248d1d1 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Sun, 23 Oct 2022 08:41:40 +0800 Subject: [PATCH 060/925] translating by chai001125 --- ...0221013 Learn Bash base64 Encode and Decode With Examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md b/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md index 33bc9e4a3b..8dc0ddd3b5 100644 --- a/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md +++ b/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/bash-base64-encode-decode/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1e71b32efd40c2d928dec62146c1b5abb44e35e4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 23 Oct 2022 10:02:09 +0800 Subject: [PATCH 061/925] ALL @wxy https://linux.cn/article-15167-1.html --- ...-Be-In-Violation-Of-The-Open-Source-Licence.md | 38 +++++++++++++++++++ ...-Be-In-Violation-Of-The-Open-Source-Licence.md | 38 ------------------- 2 files changed, 38 insertions(+), 38 deletions(-) create mode 100644 published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md delete mode 100644 sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md diff --git a/published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md b/published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md new file mode 100644 index 0000000000..47d73780b2 --- /dev/null +++ b/published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md @@ -0,0 +1,38 @@ +[#]: subject: "GitHub Copilot Appears To Be In Violation Of The Open Source Licence" +[#]: via: "https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15167-1.html" + +GitHub Copilot 似乎违反了开源许可证的规定 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/23/100112lms67c7e8mow8sv6.jpg) + +> 自 Copilot 首次亮相以来,Butterick 就对该计划提出了批评。 + +微软在 2018 年支付 75 亿美元收购了 GitHub,此后将这个代码仓库整合到其开发者工具中,同时在很大程度上采取了放手的态度。Matthew Butterick 是一名作家、律师,也是一名程序员,他认为微软基于机器学习的代码助手 GitHub Copilot 存在一些问题,它似乎不正确地对待开源代码许可证。 + +GitHub Copilot 是 Visual Studio 和其他 IDE 的一个插件,通过在你输入时提供代码完成的 “建议” 来运作。Codex 是该系统的动力源。然而,Butterick 等开发者认为 AI 在如何学习方面存在问题,或者更具体地说,AI 是从哪里训练的。 + +这里的问题是,GitHub 所训练的公开代码仓库是有许可证的,当他们的工作被利用时,需要按照许可证进行。虽然微软对其使用代码的问题一直避而不谈,称其为合理使用,但 Copilot 除了提供建议外,还能生成逐字逐句的代码部分。 + +根据 Codex(由微软授权)的开发者 OpenAI的说法,“Codex 是在数以千万计的公开代码仓库中训练出来的,包括 GitHub 上的代码。”微软自己也含糊地将训练材料描述为数十亿行的公共代码。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed +[1]: https://www.opensourceforu.com/wp-content/uploads/2022/10/github-logo-2-1-696x348.png diff --git a/sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md b/sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md deleted file mode 100644 index 4a49748487..0000000000 --- a/sources/news/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md +++ /dev/null @@ -1,38 +0,0 @@ -[#]: subject: "GitHub Copilot Appears To Be In Violation Of The Open Source Licence" -[#]: via: "https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -GitHub Copilot Appears To Be In Violation Of The Open Source Licence -====== - -![github-logo-2][1] - -_Since Copilot’s debut, Butterick has voiced criticism of the program._ - -Microsoft paid $7.5 billion buying GitHub in 2018 and has since integrated the code repository into its developer tools while taking a largely hands-off stance. Matthew Butterick, a writer, attorney, and programmer, has some problems with GitHub Copilot, Microsoft’s machine-learning based code helper, and how it appears to be treating open source licences incorrectly. - -GitHub Copilot, a plugin for Visual Studio and other IDEs, operates by providing “suggestions” for code completion as you type. Codex serves as the system’s power source. However, developers like Butterick are having trouble with how the AI is learned, or more specifically, from where it is trained. - -The issue here is that the public repositories on which GitHub is trained are licenced and demand credit when their work is utilised. Although Microsoft has been evasive about its usage of the code, referring to it as fair use, Copilot is able to generate verbatim portions of code in addition to suggestions. - -As per OpenAI, the developers of Codex (which is licensed by Microsoft), “Codex was trained on tens of mil­lions of pub­lic repos­i­to­ries includ­ing code on GitHub. Microsoft itself has vaguely described the train­ing mate­r­ial as bil­lions of lines of pub­lic code”. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/ - -作者:[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/10/github-logo-2-1-696x348.png From 66a6e494b422bf1d17f7393922991f3aad54e81a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 12:02:48 +0800 Subject: [PATCH 062/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221022-=E2=AD=90=EF=B8=8F-Use-open-source-commands-i?= =?UTF-8?q?n-Powershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️-Use-open-source-commands-in-Powershell.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md diff --git a/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md b/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md new file mode 100644 index 0000000000..0edffb3061 --- /dev/null +++ b/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md @@ -0,0 +1,94 @@ +[#]: subject: "Use open source commands in Powershell" +[#]: via: "https://opensource.com/article/22/10/set-path-powershell" +[#]: author: "Alan Smithee https://opensource.com/users/alansmithee" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use open source commands in Powershell +====== + +When you launch an application on an operating system, there are certain code libraries and utility applications that your OS needs to use for that app to run. Your OS knows how to find these libraries and utilities because it has a _system path,_ a map to common shared data that lots of apps need. Every OS has this, but users aren’t usually aware of it because they don’t usually need to care about it. However, when you start coding or using special network utilities or commands, you might care about your own PATH variable. + +The PATH variable makes it so that you can save commands to a consistent location, and use them from anywhere on your system using the command prompt or the more powerful (and open source) [Powershell][1]. + +For instance, say you want to install the open source application `pscp.exe`, a command-line interface to the famous PuTTY OpenSSH client on Windows. You can download it to your hard drive, but how does your command-line know that it exists? Well at first, it doesn’t: + +``` +PS> pscp + pscp: The term 'pscp' is not recognized as the name of a cmdlet, script file, or operable program. + Check the spelling of the name, or if a path was included, verify that the path is correct and try again. +``` + +If you’re using an open source command line, such as Powershell or [Cmder][2], you get a useful error hinting that this might be a problem with your path (or the lack thereof). Here’s how to solve that problem. + +### Setting a PATH + +- First, create a folder called `App` on your Desktop. +- Next, right-click on the Windows menu in the bottom left corner of your screen, and select **System**. + +![Image of the Windows menu system.][3] + +Image by: + +(Alan Smithee, CC BY-SA 4.0) + +- In the **System** window that appears, click the link to **Advanced system settings** on the left of the window. +- In the **System properties** window that appears, click the **Environment variables** button at the bottom of the window. + +![Image Windows system enviroment variables.][4] + +Image by: + +(Alan Smithee, CC BY-SA 4.0) + +- In the **Environment variables** window, click the **New** button under the **User variables** panel. + +![Image of new Windows enviroment variables.][5] + +Image by: + +(Alan Smithee, CC BY-SA 4.0) + +- In the dialog box that appears, enter `PATH` for the **Variable name** field, and `%USERPROFILE\Desktop\App` for the **Variable value** field. Click the **OK** button to save your changes. + +![Image of Windows path set.][6] + +Image by: + +(Alan Smithee, CC BY-SA 4.0) + +Place commands and applications you want to have access to from a command prompt in `Desktop\Apps` and Powershell, Cmder, and even Cmd will find them: + +``` +PS> pscp –version + pscp: Release 0.XY + Build platform: 64-bit x86 Windows + PS> +``` + +### Automatic PATH settings + +Many applications get automatically added to the system path during installation. However, not all of them do, either because you missed a check box during the install process, or because the application developer expects you to add it yourself. When automatic paths fail, you now know how to forge your own path. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/set-path-powershell + +作者:[Alan Smithee][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/alansmithee +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/2/powershell-people +[2]: http://cmder.app/ +[3]: https://opensource.com/sites/default/files/2022-10/windows-menu-system.png +[4]: https://opensource.com/sites/default/files/2022-10/windows-system-environment-variables.png +[5]: https://opensource.com/sites/default/files/2022-10/windows-environment-variables-new.png +[6]: https://opensource.com/sites/default/files/2022-10/windows-path-set.png From 4c3a997b3a15124dbaccbc396e6e725a073bca9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 12:11:32 +0800 Subject: [PATCH 063/925] =?UTF-8?q?Rename=2020221022-=E2=AD=90=EF=B8=8F-Us?= =?UTF-8?q?e-open-source-commands-in-Powershell.md=20to=2020221022-?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Use-open-source-commands-i?= =?UTF-8?q?n-Powershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ell.md => 20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022-⭐️-Use-open-source-commands-in-Powershell.md => 20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md} (100%) diff --git a/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md b/sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md similarity index 100% rename from sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md rename to sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md From e551fc630fbfe05d020943959e80d18eb5aee45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 12:12:10 +0800 Subject: [PATCH 064/925] =?UTF-8?q?Rename=2020221022-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-Use-open-source-commands-in-Powershell.md=20?= =?UTF-8?q?to=2020221022-=E2=AD=90=EF=B8=8F-Use-open-source-commands-in-Po?= =?UTF-8?q?wershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...owershell.md => 20221022-⭐️-Use-open-source-commands-in-Powershell.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md => 20221022-⭐️-Use-open-source-commands-in-Powershell.md} (100%) diff --git a/sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md b/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md similarity index 100% rename from sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md rename to sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md From be30722aeb1b255e54e8ccd5e5e90e6daee5d47c Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sun, 23 Oct 2022 12:21:23 +0800 Subject: [PATCH 065/925] =?UTF-8?q?Rename=2020221022-=E2=AD=90=EF=B8=8F-Us?= =?UTF-8?q?e-open-source-commands-in-Powershell.md=20to=2020221022-?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Use-open-source-commands-i?= =?UTF-8?q?n-Powershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ell.md => 20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022-⭐️-Use-open-source-commands-in-Powershell.md => 20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md} (100%) diff --git a/sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md b/sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md similarity index 100% rename from sources/tech/20221022-⭐️-Use-open-source-commands-in-Powershell.md rename to sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md From 21011098d7b344395374f0d0e772c14b6e37f264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 12:29:59 +0800 Subject: [PATCH 066/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221018-=E2=AD=90=EF=B8=8F-Give-Your-Linux-Desktop-a-?= =?UTF-8?q?Halloween-Makeover.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ive-Your-Linux-Desktop-a-Halloween-Makeover.md | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md diff --git a/sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md b/sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md new file mode 100644 index 0000000000..f92b592a40 --- /dev/null +++ b/sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md @@ -0,0 +1,283 @@ +[#]: subject: "Give Your Linux Desktop a Halloween Makeover" +[#]: via: "https://itsfoss.com/linux-halloween-makeover/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Give Your Linux Desktop a Halloween Makeover +====== + +Halloween is around the corner. Boo! + +Of course, there are ways to celebrate Halloween, and I believe you might have a few ideas of your own. How about giving your Linux desktop a spooky, dark makeover? Something like the screenshot below? + +![ubuntu halloween theming final looks][1] + +Customization is a high point of Linux, and there is no end to it. Earlier, we showed you[how to make your Linux look like macOS][2]. Today, I’ll share a few tips to keep up with the Halloween ‘spirit’. + +This is possible with a combination of themes, icons, extensions, fonts, conky, etc. **_While you can do these things on any distribution and desktop environment, it’s not feasible for me to show them all in a single tutorial._** + +Here, I have used Ubuntu with the GNOME desktop environment. + +### Getting all the tools + +You need several packages and tools. Make sure you have them all (or most of them) before you start the customization. + +_It’s not mandatory to make all of the changes. But the more you do, the better look and feel you get._ + +**GNOME Tweaks and GMOME Extensions manager** + +Get the Tweaks tool and the extension manager with this command: + +``` +`sudo apt install gnome-tweaks gnome-extension-manager` +``` + +In KDE-based systems, you don’t any tweak tool to change the look. But surely, you will need the **Kvantum-Manager** app that I discussed in the [KDE theming][3] guide. + +**Conky** + +This is actually optional. Since the conky-manager project is not receiving any maintenance, it will be a bit tricky to use conky. But anyway, let’s use it for the additional look-and-feel. + +``` +`sudo apt install conky-all` +``` + +**Neofetch or shell color scripts** + +This step is also a personal choice. You can choose [neofetch][4] because it’s already available in the repository and can be used easily. + +``` +`sudo apt install neofetch` +``` + +[Shell-color scripts][5] are another excellent choice. The package is available in AUR and Arch Linux users can install it from there. In Ubuntu, you need to install it manually. + +``` +`git clone https://gitlab.com/dwt1/shell-color-scripts.git cd shell-color-scripts sudo make install` +``` + +**Themes, icons, fonts, and wallpaper** + +I am using [Sweet][6] theme, [Beautiline][7] icon pack, [simple1e][8] cursors, and [Grey-Minimalistic][9] conky theme. Once downloaded, extract them. You should also get [Creepster][10] font. + +Download a [spooky wallpaper][11] from the internet. + +Alert! You’ll be doing a lot of customization and change. You can go back to the usual look by reverting all the changes you made. An easier way out would be to create a new user with admin access and make all these changes with this new user. This way, your original user account and appearance doesn’t get impacted. When Halloween is over, you can delete this additional user. + +With all resources in hand, it’s time to utilize them. + +### Install and use the extensions + +Open the gnome-extensions app. In Ubuntu 22.04, you can install extensions from within the app, by using the browse section. + +![install gnome shell extensions user themes blur my shell and dash to dock][12] + +In other versions of Ubuntu and other GNOME distributions, you can [install shell extensions][13] through the browser. For our purpose, install the following extensions : + +- [User Themes][14] +- [Dash to Dock][15] +- [Blur my Shell][16] + +Also, make sure that all the extensions are enabled. + +### Apply theme, icon, and font + +You need to copy and paste the extracted theme folder to `~/.themes` directory and icon and cursor folder to the `~/.icons` directory. + +Now open GNOME tweaks and apply the settings as shown in the screenshot below. + +![set themes with gnome tweaks][17] + +To use a [custom font in Ubuntu][18], right-click on the font file that you have downloaded and extracted and select open with Font manager. I am using [Creepster][10] font. + +![right click on font file and select open with fonts][19] + +Here, press the install button. + +![install font using font manager application][20] + +Note: In some systems, pressing the install button won’t show the “installed” prompt. In that case, you can just close the app because once you press the install button, it has been installed. + +Now open the Tweaks app and move to the fonts section. Here, you can change the fonts of various sections as shown in the screenshot below. + +![change system fonts using gnome tweaks][21] + +Note that, for terminals, a monospace font is required. Here, I am using a regular font and thus it may give you a slightly disoriented look sometimes. + +### Apply Dash to Dock Extension settings + +First, you need to **turn off the Ubuntu Dock extension** using the GNOME Extensions application. + +![Disable Ubuntu Dock][22] + +Run the Dash to Dock extension if it’s not running already. + +Now, right-click on the dash to dock application button appearing on the bottom and select dash to dock settings. + +![select dash to dock settings][23] + +Here, you need to tweak some small things. + +First, reduce the icon size using the respective slider. + +![setting dash to dock icon size][24] + +After that, you need to reduce the opacity of the dock. I prefer a fully transparent dock. + +For this, set the opacity to **fixed** and reduce it to zero with the slider, as shown in the screenshot below. + +![opacity setting for dash to dock][25] + +### GNOME terminal setting + +The main tweak you want to get is a custom neofetch look (or a shell color script) with some blurred transparency. + +On applying monospace font in GNOME-tweaks earlier, the font in the GNOME terminal is also changed. + +First, create a new profile from **preferences**. + +![select preferences from hamburger menu][26] + +Here, Click + sign to create a new profile. Type in a name and press **create** as shown below: + +![create new profile in gnome terminal][27] + +Inside the new profile, change the transparency setting and set it around the middle, as shown in the screenshot: + +![set transperancy to gnome terminal][28] + +Once finished, set this profile as the default. To do this, click on the triangle button associated with the new profile and select **Set as Default**. + +![set new profile as default in gnome terminal][29] + +#### Setting blur effect + +The above step will only create a transparent shell. But if you need a blur effect, which is good for better visibility, you need to go to the Blur my Shell extension settings. + +![blur my shell extension settings][30] + +Here, go to the **Application** tab. Now, ensure that the terminal is opened and placed conveniently on the desktop. Click on **Add Window** button and select gnome-terminal window, to set the blur effect. Note: This feature is in beta so expect minor glitches. + +![applying blur effect to selected windows][31] + +This same procedure can be repeated for other apps also, like the Nautilus file manager. + +#### Customizing Neofetch + +One of the best features of neofetch is its customizability. You can tweak the look with a wide range of methods. For Halloween, I choose a pumpkin image to appear in place of the distro logo. + +Neofetch supports adding custom images in a variety of formats. For that purpose, there are a variety of backends supported. Here, I use the jp2a backend, which will use an [ASCII converted image][32]. + +``` +`neofetch --jp2a /path/to/your/image/file.png` +``` + +![neofetch with custom backend][33] + +The above code will create a neofetch instance with the custom image. You can write this code to your .bashrc file, for permanent placement. + +_**Unfortunately, this didn’t work on my Wayland instance.**_ + +#### Customizing Shell Color Scripts + +If you installed shell color scripts, you have a variety of shell scripts. To list the available scripts, use: + +``` +``colorscript -l`` +``` + +![ghosts shell color script][34] + +You can either get a random script each time by placing `colorscript random` in your .bashrc file. Or you can get any particular script by placing `colorscript -e ` + +### Setting up Conky + +I am using the [Grey-Minimalistic conky theme][9] from Deviantart. Each type of conky theme has a different installation method. So if you are using another conky file, follow its setup method, described in its README files. + +Extract the conky theme file. Inside, we have several folders. First, you need to install the associated icons and fonts. That is, install the given font using font-manager. Copy and paste the icon folder to your ~/.icons folder. + +![copy and paste conky files to home directory][35] + +Now, go to the conky folder. Make sure that, you have [enabled viewing hidden files][36]. Now copy the `.conkyrc` file and `.conky-vision-icons` file to your Home directory, as shown above. + +Now start conky to get a look like this. + +![conky theme applied][37] + +Add the conky to the [list of startup applications][38] so that it starts automatically at each boot. + +![add conky to the list of startup applications][39] + +### Change wallpaper + +You are almost there. The only thing you need to do now is to [change the background wallpaper][40]. You have already downloaded the spooky wallpapers I believe. + +![set image as wallpaper from nautilus][41] + +### Behold the final look! + +If you followed most of the steps above, you should get a desktop that looks like the one in the below screenshots. + +![ubuntu halloween theme final look][42] + +Is it scary enough for Halloween? What do you think? Let me know in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/linux-halloween-makeover/ + +作者:[Sreenath][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/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theming-final-looks.jpg +[2]: https://itsfoss.com/make-ubuntu-look-like-macos/ +[3]: https://itsfoss.com/properly-theme-kde-plasma/ +[4]: https://itsfoss.com/using-neofetch/ +[5]: https://gitlab.com/dwt1/shell-color-scripts +[6]: https://www.gnome-look.org/p/1253385 +[7]: https://www.gnome-look.org/p/1425426 +[8]: https://www.gnome-look.org/p/1405210 +[9]: https://www.deviantart.com/bryantlloyd/art/Grey-Minimalistic-634726564 +[10]: https://fonts.google.com/specimen/Creepster?query=creepster +[11]: https://www.wallpaperflare.com/search?wallpaper=spooky +[12]: https://itsfoss.com/wp-content/uploads/2022/10/install-gnome-shell-extensions-user-themes-blur-my-shell-and-dash-to-dock.png +[13]: https://itsfoss.com/gnome-shell-extensions/ +[14]: https://extensions.gnome.org/extension/19/user-themes/ +[15]: https://extensions.gnome.org/extension/307/dash-to-dock/ +[16]: https://extensions.gnome.org/extension/3193/blur-my-shell/ +[17]: https://itsfoss.com/wp-content/uploads/2022/10/set-themes-with-gnome-tweaks.png +[18]: https://itsfoss.com/install-fonts-ubuntu/ +[19]: https://itsfoss.com/wp-content/uploads/2022/10/right-click-on-font-file-and-select-open-with-fonts.png +[20]: https://itsfoss.com/wp-content/uploads/2022/10/install-font-using-font-manager-application.png +[21]: https://itsfoss.com/wp-content/uploads/2022/10/change-system-fonts-using-gnome-tweaks.png +[22]: https://itsfoss.com/wp-content/uploads/2020/06/disable-ubuntu-dock.png +[23]: https://itsfoss.com/wp-content/uploads/2022/10/select-dash-to-dock-settings.png +[24]: https://itsfoss.com/wp-content/uploads/2022/10/setting-dash-to-dock-icon-size.png +[25]: https://itsfoss.com/wp-content/uploads/2022/10/opacity-setting-for-dash-to-dock.png +[26]: https://itsfoss.com/wp-content/uploads/2022/10/select-preferences-from-hamburger-menu.png +[27]: https://itsfoss.com/wp-content/uploads/2022/10/create-new-profile-in-gnome-terminal.png +[28]: https://itsfoss.com/wp-content/uploads/2022/10/set-transperancy-to-gnome-terminal.png +[29]: https://itsfoss.com/wp-content/uploads/2022/10/set-new-profile-as-default-in-gnome-terminal.png +[30]: https://itsfoss.com/wp-content/uploads/2022/10/blur-my-shell-extension-settings.png +[31]: https://itsfoss.com/wp-content/uploads/2022/10/applying-blur-effect-to-selected-windows.png +[32]: https://itsfoss.com/ascii-image-converter/ +[33]: https://itsfoss.com/wp-content/uploads/2022/10/neofetch-with-custom-backend.png +[34]: https://itsfoss.com/wp-content/uploads/2022/10/ghosts-shell-color-script.png +[35]: https://itsfoss.com/wp-content/uploads/2022/10/copy-and-paste-conky-files-to-home-directory.png +[36]: https://itsfoss.com/hide-folders-and-show-hidden-files-in-ubuntu-beginner-trick/ +[37]: https://itsfoss.com/wp-content/uploads/2022/10/conky-theme-applied.png +[38]: https://itsfoss.com/manage-startup-applications-ubuntu/ +[39]: https://itsfoss.com/wp-content/uploads/2022/10/add-conky-to-the-list-of-startup-applications.png +[40]: https://itsfoss.com/change-wallpaper-ubuntu/ +[41]: https://itsfoss.com/wp-content/uploads/2022/10/set-image-as-wallpaper-from-nautilus.png +[42]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theme-final-look.jpg From 7d018bc896e25a03291672db75274c4782faec7a Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sun, 23 Oct 2022 12:33:35 +0800 Subject: [PATCH 067/925] =?UTF-8?q?Rename=2020221018-=E2=AD=90=EF=B8=8F-Gi?= =?UTF-8?q?ve-Your-Linux-Desktop-a-Halloween-Makeover.md=20to=2020221018-?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F-Give-Your-Linux-Desktop-a-?= =?UTF-8?q?Halloween-Makeover.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... => 20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md => 20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md} (100%) diff --git a/sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md b/sources/tech/20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md similarity index 100% rename from sources/tech/20221018-⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md rename to sources/tech/20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md From c132390f3fd61d55b95229d695b1fbf41cffd26d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 23 Oct 2022 15:34:11 +0800 Subject: [PATCH 068/925] RP @geekpi https://linux.cn/article-15168-1.html --- ...ay to Open Files as Root in GNOME Files.md | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) rename {translated/tech => published}/20221011 Easiest Way to Open Files as Root in GNOME Files.md (52%) diff --git a/translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md b/published/20221011 Easiest Way to Open Files as Root in GNOME Files.md similarity index 52% rename from translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md rename to published/20221011 Easiest Way to Open Files as Root in GNOME Files.md index ac5899e9cc..e8854cf6d7 100644 --- a/translated/tech/20221011 Easiest Way to Open Files as Root in GNOME Files.md +++ b/published/20221011 Easiest Way to Open Files as Root in GNOME Files.md @@ -3,61 +3,60 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15168-1.html" -在 GNOME 文件中以 Root 身份打开文件的最简单方法 +在 GNOME 文件应用中以 Root 身份打开文件的最简单方法 ====== -这是在 GNOME Files 中以 root 身份访问文件或目录的最简单方法。 + +> 这是在 GNOME 文件应用中以 root 身份访问文件或目录的最简单方法。 ![][1] 在 Windows 中,你通常可以在右键单击上下文菜单中以“以管理员身份打开”的方式打开文件或文件夹。 -该功能是文件管理器的一部分,即适用于 Windows。它是 Windows 资源管理器的一部分。但是,它是由操作系统及其权限控制模块执行的。 +该功能是文件管理器的一部分,对于 Windows,它是 Windows 资源管理器的一部分。但是,它是由操作系统及其权限控制模块执行的。 -在 Linux 发行版和文件管理器中,情况略有不同。不同的桌面有自己的处理方式。 +在 Linux 发行版及其文件管理器中,情况略有不同。不同的桌面有自己的处理方式。 -由于以管理员(或 root)身份修改文件和文件夹是有风险的,并且可能导致系统损坏,因此用户无法通过文件管理器的 GUI 轻松使用该功能。 +由于以管理员(root)身份修改文件和文件夹是有风险的,并且可能导致系统损坏,因此用户无法通过文件管理器的 GUI 轻松使用该功能。 -例如,KDE Plasma 的默认文件管理器 Dolphin 最近[添加了此功能][2],因此当需要 root 权限时,它会通过 PolicyKit KDE Agent (polkit) 窗口询问你,如下所示。而不是相反的方式。你想在文件管理器中通过 root 打开/执行一些东西。 - -值得一提的是,你不能使用 “sudo dolphin” 以 root 权限运行文件管理器本身。 +例如,KDE Plasma 的默认文件管理器(Dolphin)最近 [添加了此功能][2],因此当需要 root 权限时,它会通过 PolicyKit KDE Agent(polkit)窗口询问你,如下所示。 ![使用 Polkit 实现 KIO 后的 Dolphin root 访问权限][3] -在某种程度上,它挽救了许多不可预见的情况。但是高级用户总是可以通过终端使用 sudo 来完成他们的工作。 +而不是相反的方式。比如,你想在文件管理器中通过 root 打开/执行一些东西时,你不能使用 `sudo dolphin` 以 root 权限运行文件管理器本身。 -### GNOME Files (Nautilus) 和对文件、目录的 root 访问权限 +在某种程度上,它挽救了许多不可预见的情况。但是高级用户总是可以通过终端使用 `sudo` 来完成他们的工作。 -话虽如此,[GNOME Files][4](又名 Nautilus)有一种方法可以通过 root 打开文件和文件夹。 +### GNOME 文件应用(Nautilus)和对文件、目录的 root 访问权限 -以下是方法。 +话虽如此,[GNOME 文件应用][4](又名 Nautilus)有一种方法可以通过 root 打开文件和文件夹。 -* 打开 GNOME Files 或 Nautilus。 -* 然后单击左侧窗格中的其他位置。 -* 按 CTRL+L 调出地址栏。 +以下是方法: + +* 打开 GNOME 文件应用(Nautilus)。 +* 然后单击左侧窗格中的“其他位置Other Locations”。 +* 按 `CTRL+L` 调出地址栏。 * 在地址栏中,输入下面的内容并回车。 - -``` -admin:/// -``` - -* 它会要求输入管理员密码。当你成功验证自己,你就会以管理员身份打开系统。 + ``` + admin:/// + ``` +* 它会要求输入管理员密码。当你成功验证,你就会以管理员身份打开系统。 * 现在,从这里开始,无论你做什么,它都是管理员或 root。 ![以管理员身份输入位置地址][5] ![输入管理员密码][6] -![以 root 身份打开 GNOME Files][7] +![以 root 身份打开 GNOME 文件应用][7] 但是,与往常一样,请小心你作为管理员所做的事情。在你以 root 身份验证自己之后,通常很容易忘记。 这些选项不容易看到总是有原因的,以防止你和许多新的 Linux 用户破坏他们的系统。 -干杯。 +祝好。 -------------------------------------------------------------------------------- @@ -66,7 +65,7 @@ via: https://www.debugpoint.com/gnome-files-root-access/ 作者:[Arindam][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/) 荣誉推出 From e2d5fee743ab247183a6473595b602c3a778eadd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 15:53:58 +0800 Subject: [PATCH 069/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221022.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20use=20journalctl=20to=20View=20and=20Analyze=20Systemd?= =?UTF-8?q?=20Logs=20[With=20Examples].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o View and Analyze Systemd Logs [With Examples].md | 250 ++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 sources/tech/20221022.0 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md diff --git a/sources/tech/20221022.0 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md b/sources/tech/20221022.0 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md new file mode 100644 index 0000000000..37ebc17974 --- /dev/null +++ b/sources/tech/20221022.0 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md @@ -0,0 +1,250 @@ +[#]: subject: "How to use journalctl to View and Analyze Systemd Logs [With Examples]" +[#]: via: "https://www.debugpoint.com/systemd-journalctl/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to use journalctl to View and Analyze Systemd Logs [With Examples] +====== + +**This guide explains the basics of the journalctl utility of [Systemd][1] and its various commands. You can use these commands for troubleshooting desktop and server logs in Linux. This is how you can use journalctl to view and analyze Systemd Logs with different examples.** + +### Introduction + +Many say that Systemd is not good, it is heavy on the system and it is a debated topic always. But you can not deny that it provides a well set of utilities to manage, troubleshoot a system. Imagine you end up with a broken system with no GUI. You probably messed up boot and GRUB as well. In those kinds of scenarios or in general – you can boot from a LIVE system, mount your Linux partition and explore the Systemd logs to find out about the problem. + +Systemd has three basic components as follows – + +- **systemd**: System and service manager for Linux operating systems. +- **systemctl**: Command to introspect and control the state of the systemd system and service manager. +- **systemd-analyze**: Provides system boot-up performance statistics and retrieve other state and tracing information from the system and service manager + +Apart from these three, there are additional services that systemd provides such as – journald, logind, networkd, etc. In this guide we will talk about the journald service of systemd. + +### journald – systemd journal daemon + +By design, systemd provides a centralized way of handing all operating system logs from processes, applications, etc. All these logging events are handled by journald daemon of systemd. The journald daemon collects all logs from everywhere of the Linux operating systems and stores themes as binary data in files. + +The advantages of centralized logging of events, system problems as binary data are many. For example, as the system logs are stored as binary and not text – you can translate in many ways such as text, JSON objects for various needs. Also, it is super easy to track down to a single event as the logs are stored sequentially via date/time manipulation of the logs. + +Remember the log files that journald collects are in thousands of lines and it gets updated for every event, every boot. So if you have a long time running Linux operating system – the journal logs size should in GBs. As the logs are in thousands, it’s better to filter with basic commands to find out more about the system problems. + +#### The journald Configuration File + +The configuration file of the journald is present in the below path. It contains various flags on how the logging happens. You can take a look at the file and make the changes necessary. But I would recommend not to modify this file unless you know what you are doing. + +``` +/etc/systemd/journald.conf +``` + +#### Where journald stores the binary log files + +The journald stores the logs in binary format. They are stored inside a directory under this path. + +``` +/var/log/journal +``` + +For example, in the below path there is a directory that contains all the system logs to date. + +![journalctl log file path][2] + +Do not use cat command or use nano or vi to open these files. They would not be displayed properly. + +### Use journalctl to View and Analyze Systemd Logs + +#### Basic journald command + +The basic command to view logs using journal daemon is – + +``` +journalctl +``` + +![journalctl][3] + +This gives you all the journal entries including errors, warnings, etc from all applications and processes. It shows the list with the oldest log at the top and current logs at the bottom. You need to keep pressing ENTER to scroll through it line by line. You can also use PAGE UP and PAGE DOWN keys to scroll. Press q to exit from this view. + +#### How to view journal entries for time zones + +By default, the journalctl shows the log time in the current system time zone. However, you can easily provide the timezone in your command to convert the same log to a different time zone. For example, to view the logs in UTC, use the below command. + +``` +journalctl --utc +``` + +![journalctl --utc][4] + +#### How to view only errors, warnings, etc in journal logs + +The logs that a system generates have different priorities. Some logs may be a warning which can be ignored or some may be critical errors. You might want to look at only errors, not warnings. That is also possible using the below command. + +To view emergency system messages use: + +``` +journalctl -p 0 +``` + +![journalctl -p 0][5] + +Error codes + +``` +0: emergency 1: alerts 2: critical 3: errors 4: warning 5: notice 6: info 7: debug +``` + +When you specify the error code, it shows all messages from that code and above. For example, if you specify the below command, it shows all messages with priority 2, 1 and 0 + +``` +journalctl -p 2 +``` + +#### How to view journal logs for a specific boot + +When you are running the journalctl command it shows the information from the current boot that is from the current session which you are running. But it is also possible to view information about past boots as well. + +Journal logs keep on updating in every reboot. The journald keeps track of the logs in different boots. To view, the boot-wise logs use the below command. + +``` +journalctl --list-boots +``` + +![journalctl list-boots][6] + +- The first number shows the unique journald boot track number which you can use in the next command to analyze that specific boot. +- The second number the boot ID which also you can specify in the commands. +- The next two date, time combinations are the duration of the logs stored in the respective file. This is super handy if you want to find out a log or error from a specific date, time. + +To view a specific boot number you the first number or the boot ID as below. + +``` +journalctl -b -45 +``` + +``` +journalctl -b 8bab42c7e82440f886a3f041a7c95b98 +``` + +![journalctl -b 45][7] + +You can also use `-x` switch which can add an explanation of the systemd error messages in your display. This is a lifesaver in certain situations. + +``` +journalctl -xb -p 3 +``` + +![journalctl -xb][8] + +#### How to view journal logs for a specific time, date duration + +The journalctl is powerful enough to provide “english” like argument in the command itself for time and date manipulation. + +You can use`--since` switch with a combination of `“yesterday”, “today”, “tomorrow”, or “now”.` + +Some of the examples of different commands below. You can modify them as per your need. They are self-explanatory. The date, time format in the below commands are `"YYYY-MM-DD HH:MM:SS"` + +``` +journalctl --since "2020-12-04 06:00:00" +``` + +``` +journalctl --since "2020-12-03" --until "2020-12-05 03:00:00" +``` + +``` +journalctl --since yesterday +``` + +``` +journalctl --since 09:00 --until "1 hour ago" +``` + +![journalctl --since 09:00 --until][9] + +You can combine the above with the error level switches as well. + +#### How to see Kernel specific journal logs + +The Linux Kernel messages can be extracted from journal logs as well. To view the Kernel messages from the current boot only use the below command. + +``` +journalctl -k +``` + +#### How to see journal logs for a service, PID + +You can filter out specific logs from a systemd service unit only from the journald logs. For example, to find out the logs from NetworkManager service use the below command. + +``` +journalctl -u NetworkManager.service +``` + +![journalctl NetworkManager service][10] + +If you do not know the service name, you can use the below command to list the systemd services in your system. + +``` +systemctl list-units --type=service +``` + +#### How to view journal logs for a user, group + +If you are analyzing server logs this command is helpful where multiple users are logged in. You can first find out about the user id using the below command from the user name. For example, to find out the id of user “`debugpoint`” – + +``` +id -u debugpoint +``` + +Then use that ID with `_UID` switch to view the logs generated by the user. + +``` +journalctl _UID=1000 --since today +``` + +![journalctl _UID][11] + +Similarly use `_GID` switch to find out the same for user groups. + +#### How to view journal logs for an executable + +You can also find out journald logs of a specific program or executable. For example, if you want to find out the messages of gnome-shell, you can run the below command. + +``` +journalctl /usr/bin/gnome-shell --since today +``` + +![journalctl gnome-shell][12] + +### Closing notes + +I hope this guide helps you to use journalctl to view analyze systemd logs on your Linux desktop or server troubleshooting. The systemd journal management extremely powerful if you know how to use the commands, it makes your life a bit easy during debugging time. All major mainstream Linux distribution uses Systemd these days. Ubuntu, Debian, Fedora, Arch – they all use systemd for their default OS offerings. In case if you are wondering about systemd-free Linux distributions, you might want to check out [MX-Linux][13], Gentoo, Slackware, Void Linux. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/systemd-journalctl/ + +作者:[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://freedesktop.org/wiki/Software/systemd/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-log-file-path.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-utc.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-p-0.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-list-boots.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-b-45.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-xb.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-since-0900-until.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-NetworkManager-service.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-_UID.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-gnome-shell.jpg +[13]: https://www.debugpoint.com/tag/mx-linux From 3db7bbce1277ef9843ab00f40c0f6b9b85fbc138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 15:55:40 +0800 Subject: [PATCH 070/925] =?UTF-8?q?Rename=2020221022-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md?= =?UTF-8?q?=20to=2020221022.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install=20?= =?UTF-8?q?Python=203.10=20in=20Ubuntu=20and=20Other=20Related=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md => 20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md} (100%) diff --git a/sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md b/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md similarity index 100% rename from sources/tech/20221022-⭐️-How-to-Install-Python-3-10-in-Ubuntu-and-Other-Related-Linux.md rename to sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md From cc504b99e654913de258ece61eb47104ca60a19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 15:57:22 +0800 Subject: [PATCH 071/925] =?UTF-8?q?Rename=2020221022-=E2=AD=90=EF=B8=8F-Pa?= =?UTF-8?q?perDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md=20to=202?= =?UTF-8?q?0221022=20=E2=AD=90=EF=B8=8F=20PaperDE=20is=20a=20Touch-Friendl?= =?UTF-8?q?y=20Linux=20Desktop=20Environment.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md => 20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md} (100%) diff --git a/sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md b/sources/tech/20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md similarity index 100% rename from sources/tech/20221022-⭐️-PaperDE-is-a-Touch-Friendly-Linux-Desktop-Environment.md rename to sources/tech/20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md From e5351a86a637d484107b9a73f7fb8049269c90aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 15:58:02 +0800 Subject: [PATCH 072/925] =?UTF-8?q?Rename=2020221022=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=20PaperDE=20is=20a=20Touch-Friendly=20Linux=20Desktop=20Enviro?= =?UTF-8?q?nment.md=20to=2020221022.2=20=E2=AD=90=EF=B8=8F=20PaperDE=20is?= =?UTF-8?q?=20a=20Touch-Friendly=20Linux=20Desktop=20Environment.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...022.2 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md => 20221022.2 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md} (100%) diff --git a/sources/tech/20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md b/sources/tech/20221022.2 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md similarity index 100% rename from sources/tech/20221022 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md rename to sources/tech/20221022.2 ⭐️ PaperDE is a Touch-Friendly Linux Desktop Environment.md From 5eb37f07f94ba135a45d56369ccee89c37ff8d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 15:59:34 +0800 Subject: [PATCH 073/925] =?UTF-8?q?Rename=2020221021-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-find-GNOME-Shell-version-from-the-Terminal.md=20to=2020221?= =?UTF-8?q?021.0=20=E2=AD=90=EF=B8=8F=20How=20to=20find=20GNOME=20Shell=20?= =?UTF-8?q?version=20from=20the=20Terminal.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0221021.0 ⭐️ How to find GNOME Shell version from the Terminal.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md => 20221021.0 ⭐️ How to find GNOME Shell version from the Terminal.md} (100%) diff --git a/sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md b/sources/tech/20221021.0 ⭐️ How to find GNOME Shell version from the Terminal.md similarity index 100% rename from sources/tech/20221021-⭐️-How-to-find-GNOME-Shell-version-from-the-Terminal.md rename to sources/tech/20221021.0 ⭐️ How to find GNOME Shell version from the Terminal.md From 97a73692bfe830744992d357c8a1bbab92c2f78f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:16:40 +0800 Subject: [PATCH 074/925] =?UTF-8?q?Rename=2020221021-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).?= =?UTF-8?q?md=20to=2020221021.1=20=E2=AD=90=EF=B8=8F=20=20How=20to=20Upgra?= =?UTF-8?q?de=20to=20Ubuntu=2022.10=20From=2022.04=20LTS=20(Jammy=20to=20K?= =?UTF-8?q?inetic).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md => 20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md} (100%) diff --git a/sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md b/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md similarity index 100% rename from sources/tech/20221021-⭐️-How-to-Upgrade-to-Ubuntu-22-10-From-22-04-LTS-(Jammy-to-Kinetic).md rename to sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md From 232fcf34107b81390cc6a4df3e40b9ba70b5a774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:17:25 +0800 Subject: [PATCH 075/925] =?UTF-8?q?Rename=2020221021-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-10-Things-to-Do-After-Installing-Ubuntu-22-1?= =?UTF-8?q?0--With-Bonus-Tip-.md=20to=2020221021.2=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20=2010=20Things=20to=20Do=20After=20Install?= =?UTF-8?q?ing=20Ubuntu=2022.10=20[With=20Bonus=20Tip]md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md => 20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md} (100%) diff --git a/sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md b/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md similarity index 100% rename from sources/tech/20221021-⭐️⭐️-10-Things-to-Do-After-Installing-Ubuntu-22-10--With-Bonus-Tip-.md rename to sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md From fae048a4133a743600d910e6605bf9d12dc3fe09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:18:08 +0800 Subject: [PATCH 076/925] =?UTF-8?q?Rename=2020221021.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20=2010=20Things=20to=20Do=20After?= =?UTF-8?q?=20Installing=20Ubuntu=2022.10=20[With=20Bonus=20Tip]md=20to=20?= =?UTF-8?q?20221021.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20=2010=20Thi?= =?UTF-8?q?ngs=20to=20Do=20After=20Installing=20Ubuntu=2022.10=20[With=20B?= =?UTF-8?q?onus=20Tip].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md => 20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md} (100%) diff --git a/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md b/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md similarity index 100% rename from sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]md rename to sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md From f4e11f62b894e82a463d2b06ebcec7c16873ab8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:19:08 +0800 Subject: [PATCH 077/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Check--Xorg-or-Wayland-Display-Server-.md=20to=2020221020.?= =?UTF-8?q?0=20=E2=AD=90=EF=B8=8F=20How=20to=20Check:=20Xorg=20or=20Waylan?= =?UTF-8?q?d=20Display=20Server.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... => 20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md => 20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md} (100%) diff --git a/sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md b/sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md similarity index 100% rename from sources/tech/20221020-⭐️-How-to-Check--Xorg-or-Wayland-Display-Server-.md rename to sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md From 9e50d2935128d7cdfa7abfed763d1072dca4e6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:20:34 +0800 Subject: [PATCH 078/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Ku?= =?UTF-8?q?buntu-22-10-is-Now-Available-.md=20to=2020221020.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Kubuntu=2022.10=20is=20Now=20Available!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Available-.md => 20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md => 20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md} (100%) diff --git a/sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md b/sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md similarity index 100% rename from sources/news/20221020-⭐️-Kubuntu-22-10-is-Now-Available-.md rename to sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md From e14037565241bd3b08b6bcd574a12746fe66f181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:21:48 +0800 Subject: [PATCH 079/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Ub?= =?UTF-8?q?untu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md=20to?= =?UTF-8?q?=2020221020.2=20=E2=AD=90=EF=B8=8F=20Ubuntu=20MATE=2022.10=20Re?= =?UTF-8?q?lease=20Has=20Some=20Interesting=20Upgrades!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md => 20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md} (100%) diff --git a/sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md b/sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md similarity index 100% rename from sources/news/20221020-⭐️-Ubuntu-MATE-22-10-Release-Has-Some-Interesting-Upgrades-.md rename to sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md From 34ce1425c89c660fcf445a01a0da1a1341910dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:22:44 +0800 Subject: [PATCH 080/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Ub?= =?UTF-8?q?untu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-S?= =?UTF-8?q?ome-GNOME-Apps.md=20to=2020221020.3=20=E2=AD=90=EF=B8=8F=20Ubun?= =?UTF-8?q?tu=20Budgie=2022.10=20Release=20Improves=20Control=20Center=20a?= =?UTF-8?q?nd=20Removes=20Some=20GNOME=20Apps.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... 22.10 Release Improves Control Center and Removes Some GNOME Apps.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md => 20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md} (100%) diff --git a/sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md b/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md similarity index 100% rename from sources/news/20221020-⭐️-Ubuntu-Budgie-22-10-Release-Improves-Control-Center-and-Removes-Some-GNOME-Apps.md rename to sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md From 7c66961efbc157394b803368d3a75842a01a331e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:24:15 +0800 Subject: [PATCH 081/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Xu?= =?UTF-8?q?buntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.?= =?UTF-8?q?md=20to=2020221020.4=20=E2=AD=90=EF=B8=8F=20Xubuntu=2022.10=20R?= =?UTF-8?q?eleases=20With=20Xfce=20Upgrades,=20and=20Other=20Refinements.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md => 20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md} (100%) diff --git a/sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md b/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md similarity index 100% rename from sources/news/20221020-⭐️-Xubuntu-22-10-Releases-With-Xfce-Upgrades--and-Other-Refinements.md rename to sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md From d3fe266a9c9695e48c9052e64eacab438dc98daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:25:15 +0800 Subject: [PATCH 082/925] =?UTF-8?q?Rename=2020221020-=E2=AD=90=EF=B8=8F-Ub?= =?UTF-8?q?untu-22-10-Is-Here-.md=20to=2020221020.5=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=20Ubuntu=2022.10=20Is=20Here!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...buntu-22-10-Is-Here-.md => 20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221020-⭐️-Ubuntu-22-10-Is-Here-.md => 20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md} (100%) diff --git a/sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md b/sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md similarity index 100% rename from sources/news/20221020-⭐️-Ubuntu-22-10-Is-Here-.md rename to sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md From df9925dcfe32db4271bcafd4e7ca46cc1f548d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:30:22 +0800 Subject: [PATCH 083/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-Fedora-37--Top-New-Features-and-Release-Wiki?= =?UTF-8?q?.md=20to=2020221019.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20?= =?UTF-8?q?Fedora=2037=20Top=20New=20Features=20and=20Release=20Wiki.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....md => 20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md => 20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md} (100%) diff --git a/sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md b/sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md similarity index 100% rename from sources/tech/20221019-⭐️⭐️-Fedora-37--Top-New-Features-and-Release-Wiki.md rename to sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md From a8fc2b69f8257418c13b2de38bf047de54e7f6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:31:19 +0800 Subject: [PATCH 084/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Install-Viber-in-Ubuntu-and-Other-Linux.md=20to=2020221019?= =?UTF-8?q?.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install=20Viber=20in=20Ubu?= =?UTF-8?q?ntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...> 20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md => 20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md} (100%) diff --git a/sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md b/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md similarity index 100% rename from sources/tech/20221019-⭐️-How-to-Install-Viber-in-Ubuntu-and-Other-Linux.md rename to sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md From 4e26442a3ea853dd3a6528e75d1475cb14fbca5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:32:11 +0800 Subject: [PATCH 085/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md=20to=20202?= =?UTF-8?q?21019.2=20=E2=AD=90=EF=B8=8F=20=20How=20to=20Clean=20Up=20Snap?= =?UTF-8?q?=20Versions=20to=20Free=20Up=20Disk=20Space.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md => 20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md} (100%) diff --git a/sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md b/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md similarity index 100% rename from sources/tech/20221019-⭐️-How-to-Clean-Up-Snap-Versions-to-Free-Up-Disk-Space.md rename to sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md From d9b29f6c5615a5a48bb2e8e30c7a9e26e5c8ee58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:40:46 +0800 Subject: [PATCH 086/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.?= =?UTF-8?q?md=20to=2020221019.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20H?= =?UTF-8?q?ow=20to=20Remove=20Snap=20Packages=20in=20Ubuntu=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....md => 20221019.3 ⭐️⭐️ How to Remove Snap Packages in Ubuntu Linux.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md => 20221019.3 ⭐️⭐️ How to Remove Snap Packages in Ubuntu Linux.md} (100%) diff --git a/sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md b/sources/tech/20221019.3 ⭐️⭐️ How to Remove Snap Packages in Ubuntu Linux.md similarity index 100% rename from sources/tech/20221019-⭐️⭐️-How-to-Remove-Snap-Packages-in-Ubuntu-Linux.md rename to sources/tech/20221019.3 ⭐️⭐️ How to Remove Snap Packages in Ubuntu Linux.md From e9dc5cbbb8f403a6c6f386d91614966b2a51f53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:42:02 +0800 Subject: [PATCH 087/925] =?UTF-8?q?Rename=2020221019-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Enable-and-Access-USB-Drive-in-VirtualBox.md=20to=20202210?= =?UTF-8?q?19.4=20=E2=AD=90=EF=B8=8F=20How=20to=20Enable=20and=20Access=20?= =?UTF-8?q?USB=20Drive=20in=20VirtualBox.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20221019.4 ⭐️ How to Enable and Access USB Drive in VirtualBox.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md => 20221019.4 ⭐️ How to Enable and Access USB Drive in VirtualBox.md} (100%) diff --git a/sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md b/sources/tech/20221019.4 ⭐️ How to Enable and Access USB Drive in VirtualBox.md similarity index 100% rename from sources/tech/20221019-⭐️-How-to-Enable-and-Access-USB-Drive-in-VirtualBox.md rename to sources/tech/20221019.4 ⭐️ How to Enable and Access USB Drive in VirtualBox.md From 82d8152f72d13617c78f9a3891b306cac8afb2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:45:16 +0800 Subject: [PATCH 088/925] =?UTF-8?q?Rename=2020221017-=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F-Top-10-Best-Linux-Distributions-in-2022-For-?= =?UTF-8?q?Everyone.md=20to=2020221017=20=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20=20Top=2010=20Best=20Linux=20Distributions=20in=202?= =?UTF-8?q?022=20For=20Everyone.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md => 20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md} (100%) diff --git a/sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md b/sources/tech/20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md similarity index 100% rename from sources/tech/20221017-⭐️⭐️-Top-10-Best-Linux-Distributions-in-2022-For-Everyone.md rename to sources/tech/20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md From d3163dd038147892532b0c815aadb9723e2e779a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:46:10 +0800 Subject: [PATCH 089/925] =?UTF-8?q?Rename=2020221017=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20=20Top=2010=20Best=20Linux=20Distributions?= =?UTF-8?q?=20in=202022=20For=20Everyone.md=20to=2020221017.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20=20Top=2010=20Best=20Linux=20Dist?= =?UTF-8?q?ributions=20in=202022=20For=20Everyone.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md => 20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md} (100%) diff --git a/sources/tech/20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md b/sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md similarity index 100% rename from sources/tech/20221017 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md rename to sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md From 08cac5b8bd7b8fd9faff9ca5836d6fe83dbf27e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 23 Oct 2022 16:47:10 +0800 Subject: [PATCH 090/925] =?UTF-8?q?Rename=2020221017-=E2=AD=90=EF=B8=8F-Ho?= =?UTF-8?q?w-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md=20to?= =?UTF-8?q?=2020221017.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Update=20or=20U?= =?UTF-8?q?pgrade=20Ubuntu=20Offline=20without=20Internet.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md => 20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md} (100%) diff --git a/sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md b/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md similarity index 100% rename from sources/tech/20221017-⭐️-How-to-Update-or-Upgrade-Ubuntu-Offline-without-Internet.md rename to sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md From a973471040649f4fe2f0312c07a1d89aab02cf22 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 23 Oct 2022 17:17:10 +0800 Subject: [PATCH 091/925] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntu but rolling but also stable That's what Rhino Linux aims to be.md} | 0 ...nd of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md} | 0 ...at’s-new-in-GNOME-43-.md => 20221016.0 ⭐️⭐️ What’s new in GNOME 43.md} | 0 ....md => 20221018.2 ⭐️⭐️⭐️ Exploring innovative Open Organization charts.md} | 0 ...rtup-journey.md => 20221019.5 ⭐️⭐️ Our open source startup journey.md} | 0 ...1015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md} | 0 ...> 20221015.1 ⭐️⭐️ How to Get Started with Shell Scripting in Linux.md} | 0 ....md => 20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md} | 0 ...ing.md => 20221017.4 ⭐️⭐️⭐️ Why you should consider Rexx for scripting.md} | 0 ...20221018.3 ⭐️ Setup Docker And Docker Compose With DockSTARTer.md} | 0 ...md => 20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md} | 0 ...md => 20221020.7 ⭐️ 4 open source editors I use for my writing.md} | 0 ... => 20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md} | 0 ...0221021.4 ⭐️⭐️ Observability-driven development with OpenTelemetry.md} | 0 ...shell.md => 20221022.3 ⭐️⭐️ Use open source commands in Powershell.md} | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename sources/news/{20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md => 20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md} (100%) rename sources/news/{20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md => 20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md} (100%) rename sources/talk/{20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md => 20221016.0 ⭐️⭐️ What’s new in GNOME 43.md} (100%) rename sources/talk/{20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md => 20221018.2 ⭐️⭐️⭐️ Exploring innovative Open Organization charts.md} (100%) rename sources/talk/{20221019-⭐️⭐️-Our-open-source-startup-journey.md => 20221019.5 ⭐️⭐️ Our open source startup journey.md} (100%) rename sources/tech/{20221015 How to Enable and Access USB Drive in VirtualBox.md => 20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md} (100%) rename sources/tech/{20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md => 20221015.1 ⭐️⭐️ How to Get Started with Shell Scripting in Linux.md} (100%) rename sources/tech/{20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md => 20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md} (100%) rename sources/tech/{20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md => 20221017.4 ⭐️⭐️⭐️ Why you should consider Rexx for scripting.md} (100%) rename sources/tech/{20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md => 20221018.3 ⭐️ Setup Docker And Docker Compose With DockSTARTer.md} (100%) rename sources/tech/{20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md => 20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md} (100%) rename sources/tech/{20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md => 20221020.7 ⭐️ 4 open source editors I use for my writing.md} (100%) rename sources/tech/{20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md => 20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md} (100%) rename sources/tech/{20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md => 20221021.4 ⭐️⭐️ Observability-driven development with OpenTelemetry.md} (100%) rename sources/tech/{20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md => 20221022.3 ⭐️⭐️ Use open source commands in Powershell.md} (100%) diff --git a/sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md b/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md similarity index 100% rename from sources/news/20221017-⭐️-Ubuntu-but-rolling-but-also-stable-That-s-what-Rhino-Linux-aims-to-be.md rename to sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md diff --git a/sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md b/sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md similarity index 100% rename from sources/news/20221018-⭐️-Ardour-7-0-Release-Marks-the-end-of-32-bit-builds--Adds-Clip-Launching-and-Apple-Silicon-Support.md rename to sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md diff --git a/sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md b/sources/talk/20221016.0 ⭐️⭐️ What’s new in GNOME 43.md similarity index 100% rename from sources/talk/20221016-⭐️⭐️-What’s-new-in-GNOME-43-.md rename to sources/talk/20221016.0 ⭐️⭐️ What’s new in GNOME 43.md diff --git a/sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md b/sources/talk/20221018.2 ⭐️⭐️⭐️ Exploring innovative Open Organization charts.md similarity index 100% rename from sources/talk/20221018-⭐️⭐️⭐️-Exploring-innovative-Open-Organization-charts.md rename to sources/talk/20221018.2 ⭐️⭐️⭐️ Exploring innovative Open Organization charts.md diff --git a/sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md similarity index 100% rename from sources/talk/20221019-⭐️⭐️-Our-open-source-startup-journey.md rename to sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md diff --git a/sources/tech/20221015 How to Enable and Access USB Drive in VirtualBox.md b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md similarity index 100% rename from sources/tech/20221015 How to Enable and Access USB Drive in VirtualBox.md rename to sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md diff --git a/sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md b/sources/tech/20221015.1 ⭐️⭐️ How to Get Started with Shell Scripting in Linux.md similarity index 100% rename from sources/tech/20221015-⭐️⭐️-How-to-Get-Started-with-Shell-Scripting-in-Linux.md rename to sources/tech/20221015.1 ⭐️⭐️ How to Get Started with Shell Scripting in Linux.md diff --git a/sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md b/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md similarity index 100% rename from sources/tech/20221017-⭐️⭐️⭐️-Open-source-DevOps-tools-in-a-platform-future.md rename to sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md diff --git a/sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md b/sources/tech/20221017.4 ⭐️⭐️⭐️ Why you should consider Rexx for scripting.md similarity index 100% rename from sources/tech/20221017-⭐️⭐️⭐️-Why-you-should-consider-Rexx-for-scripting.md rename to sources/tech/20221017.4 ⭐️⭐️⭐️ Why you should consider Rexx for scripting.md diff --git a/sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md b/sources/tech/20221018.3 ⭐️ Setup Docker And Docker Compose With DockSTARTer.md similarity index 100% rename from sources/tech/20221018-⭐️-Setup-Docker-And-Docker-Compose-With-DockSTARTer.md rename to sources/tech/20221018.3 ⭐️ Setup Docker And Docker Compose With DockSTARTer.md diff --git a/sources/tech/20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md b/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md similarity index 100% rename from sources/tech/20221018-⭐️⭐️-Give-Your-Linux-Desktop-a-Halloween-Makeover.md rename to sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md diff --git a/sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md b/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md similarity index 100% rename from sources/tech/20221020-⭐️-4-open-source-editors-I-use-for-my-writing.md rename to sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md diff --git a/sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md b/sources/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md similarity index 100% rename from sources/tech/20221021-⭐️-How-to-Install-AWS-CLI-on-Linux-Step-by-Step.md rename to sources/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md diff --git a/sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md b/sources/tech/20221021.4 ⭐️⭐️ Observability-driven development with OpenTelemetry.md similarity index 100% rename from sources/tech/20221021-⭐️⭐️-Observability-driven-development-with-OpenTelemetry.md rename to sources/tech/20221021.4 ⭐️⭐️ Observability-driven development with OpenTelemetry.md diff --git a/sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md b/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md similarity index 100% rename from sources/tech/20221022-⭐️⭐️-Use-open-source-commands-in-Powershell.md rename to sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md From 7b2768367df984eab8d0919a23c868214479a8d2 Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sun, 23 Oct 2022 21:02:27 +0800 Subject: [PATCH 092/925] APL --- ...17.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md index 5db532e0dd..7042615419 100644 --- a/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md +++ b/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/open-source-devops-tools" [#]: author: "Will Kelly https://opensource.com/users/willkelly" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "lxbwolf " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f485ac42218008194a64691d84a7d17fed8ed284 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 23 Oct 2022 21:05:10 +0800 Subject: [PATCH 093/925] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tHub Copilot Appears To Be In Violation Of The Open Source Licence.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename published/{20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md => 20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md} (100%) diff --git a/published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md b/published/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md similarity index 100% rename from published/20221019-⭐️-GitHub-Copilot-Appears-To-Be-In-Violation-Of-The-Open-Source-Licence.md rename to published/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md From 199e88ff52cd97538b1a17a6185cb27a635caf0f Mon Sep 17 00:00:00 2001 From: MjSeven Date: Sun, 23 Oct 2022 21:36:05 +0800 Subject: [PATCH 094/925] Translating --- ...20220929 Execute Commands On Remote Linux Systems Via SSH.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md index 2137eb7a6e..9142a40421 100644 --- a/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md +++ b/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md @@ -2,7 +2,7 @@ [#]: via: "https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/" [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MjSeven" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ab586592262c542c877d4fb79f8b526bd7433fd6 Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sun, 23 Oct 2022 22:23:58 +0800 Subject: [PATCH 095/925] TSL --- ...️ Open source DevOps tools in a platform future.md | 109 ------------------ ...️ Open source DevOps tools in a platform future.md | 109 ++++++++++++++++++ 2 files changed, 109 insertions(+), 109 deletions(-) delete mode 100644 sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md create mode 100644 translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md diff --git a/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md deleted file mode 100644 index 7042615419..0000000000 --- a/sources/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md +++ /dev/null @@ -1,109 +0,0 @@ -[#]: subject: "Open source DevOps tools in a platform future" -[#]: via: "https://opensource.com/article/22/10/open-source-devops-tools" -[#]: author: "Will Kelly https://opensource.com/users/willkelly" -[#]: collector: "lkxed" -[#]: translator: "lxbwolf " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Open source DevOps tools in a platform future -====== - -The open source roots of DevOps tools are undeniable, even with a prediction that the global DevOps market will reach $17.8 billion by 2026. The changing world of work, security, and compliance concerns, along with venture capital firms, are pushing the market to DevOps platforms where development teams can access a complete end-to-end DevOps toolchain in the cloud. - -### The current state of open source DevOps tools - -Let's get one thing straight: There's no way open source tools will disappear from the DevOps world. Right now, there's a balance between open source and vendor DevOps tools, with developers using what works for them. Indeed, there are plenty of cases when a development team chooses an open source tool for their DevOps pipeline only to upgrade later to a commercial version. - -### 3 examples of open source DevOps tools - -Here are some examples of open source DevOps tools with a commercial business built around them. - -#### Git - -[Git][1]–the source code management tool–is probably one of the main foundations for DevOps toolchains serving as a source code repository. - -The two best commercial examples of Git are GitLab and GitHub. GitLab [accepts contributions][2] to its open source project. GitHub is embarking on an effort to become a DevOps platform as well with the launch of GitHub Copilot–an AI pair programmer–launching to mixed reviews and criticism from some open source groups. - -#### Jenkins - -An open source automation server, Jenkins is prized for its easy installation, configuration, and extensibility. - -CloudBees offers JenkinsX, an open-source solution that provides automated continuous integration and continuous delivery (CI/CD) and automated testing tools for cloud-native applications on Kubernetes. They also provide commercial support for JenkinsX, including: - -- Access to CloudBees technical expertise -- 24x7 technical support -- Access to CloudBees documentation and online knowledge base - -#### Kubernetes - -The growth of [Kubernetes][3] is undeniable as more organizations seek an enterprise-grade container orchestration solution. Despite criticisms about its complexity, Kubernetes - -There's an entire burgeoning industry around Kubernetes, and with good reason. According to Allied Market Research, the global container and [Kubernetes security][4] market was valued at $714 million in 2020 and is projected to reach $8242 million by 2030. - -### DevOps toolchains today - -There are still plenty of build-your-own (BYO) CI/CD toolchains in play across industries. The open source projects powering DevOps functions are still prospering, - -BYO toolchains are integration-ready and very extensible, which has always been a strength for organizations continuing to iterate on their DevOps practices. The lack of a standard bill of materials might prove troublesome in enterprises seeking standardization for business, IT, and security reasons. - -While the advent of DevOps platforms isn't going unnoticed, many organizations migrated their CI/CD toolchains to the public cloud well before the pandemic. The security of the toolchain itself has long been a rising concern, and public cloud infrastructure provides Identity Access Management (IAM) and other security features to control access. - -### DevOps platforms: Friend or foe? - -A DevOps platform is an end-to-end solution that places all functions of the CI/CD toolchain into the cloud. Examples of DevOps platforms include GitLab and Harness. GitHub is also making moves to become a DevOps platform in its own right. - -#### Advantages (even if only in the eyes of enterprise buyers) - -DevOps platforms are attractive to enterprise buyers who are already comfortable with the consumption-based and subscription-based pricing of the SaaS and cloud industries. Concerns about maintenance, security, compliance, and developer productivity are certainly at the top of mind for technology leaders in this remote and hybrid work world. Standardizing on a DevOps platform becomes an appealing story to these people. - -#### Disadvantages - -Age-old concerns about vendor lock-in come to mind when depending on a vendor for a DevOps toolchain. The extensibility of development teams building and maintaining their toolchains isn't going to be quite the experience as it was when they made their toolchains from scratch, much less bringing in new tools to improve their workflows. - -There are also potential economic disadvantages with DevOps platform providers. Think what might happen to an overvalued DevOps tools startup that doesn't meet its investors' lofty financial goals. Likewise, there could be smaller startup vendors that may not receive their next round of funding and fade away into irrelevance. - -While the advent of a DevOps platform makes sense in many ways, it does work against the open source ethos that has helped build the DevOps tools we use today. - -### DevOps tools: An inflection point - -Security and compliance concerns for DevOps toolchains continue to mount as working models change. It's only natural. - -#### The changing world of work - -How we work affects DevOps teams just like the rest of the enterprise. Remote and hybrid DevOps teams require secure toolchains. Changing collaboration and reporting requirements across the pipelines are also growing necessities, such as asynchronous work and executives demanding a return to the office. - -#### Software supply chain security market - -The software supply chain security market draws much attention after high-profile attacks and the federal government response. No organization has yet to blame open source for a software supply chain attack, but we're going to see an extension of DevOps/DevSecOps practices and tools to combat this threat. When it's all said and done, though, DevOps/DevSecOps tools and practices will outlast some startups that pivoted to the trend. - -### Final thoughts - -It's far from game over for OSS projects in the DevOps space, but DevOps stakeholders have a right to start asking questions about the toolchains of the future. However, OSS DevOps projects do need to consider their future, especially in light of growing security and compliance concerns that directly impact pipelines. - -There's a future of coopetition where the DevOps platform providers donate time, money, and resources to the open source tools that serve as a foundation for their platforms. An interesting example of a potential future is [OpsVerse][5], which offers a DevOps platform with open source tools they manage for their customers. - -Then again, there's also a future where the open source DevOps tools projects continue to prosper and innovate as more enterprise-built toolchains migrate to the cloud in more significant numbers. - -**[ Kickstart an organizational culture change. Read the first article in a series, [DevSecOps: 5 tips for seeding a culture transformation][6] ]** - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/open-source-devops-tools - -作者:[Will Kelly][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/willkelly -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/4/our-favorite-git-commands -[2]: https://opensource.com/article/19/9/how-contribute-gitlab -[3]: https://opensource.com/resources/what-is-kubernetes -[4]: https://enterprisersproject.com/article/2019/1/kubernetes-security-4-tips-manage-risks?intcmp=7013a000002qLH8AAM -[5]: https://www.opsverse.io/ -[6]: https://www.redhat.com/architect/devsecops-culture?intcmp=7013a000002qLH8AAM diff --git a/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md new file mode 100644 index 0000000000..282835a7ba --- /dev/null +++ b/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md @@ -0,0 +1,109 @@ +[#]: subject: "Open source DevOps tools in a platform future" +[#]: via: "https://opensource.com/article/22/10/open-source-devops-tools" +[#]: author: "Will Kelly https://opensource.com/users/willkelly" +[#]: collector: "lkxed" +[#]: translator: "lxbwolf " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +平台化未来的开源DevOps工具 +====== + +DevOps 的开源根基是无法动摇的,即便有预言称全球的 DevOps 市场将在 2026 年之前达到 178 亿美元。不断变化的工作环境、安全和合规性问题,以及风险投资公司等等因素正在将市场推向 DevOps 平台,开发团队可以在云中获得完整的端到端 DevOps 工具链。 + +### 开源 DevOps 工具现状 + +我们要搞清楚一件事:开源工具不可能从 DevOps 世界中消失。现在,在开源和供应商提供的 DevOps 工具之间存在着一种平衡,开发人员会在两者间选择适合他们的工具。事实上,很多情况下,一个开发团队起初会为他们的 DevOps 流水线选择一个开源工具,后来又升级到商业版本。 + +### 三种开源 DevOps 工具实例 + +下面我们介绍一些开源 DevOps 工具的例子,每种工具都已经有了围绕其建立的商业化生态。 + +#### Git + +[Git][1]——源代码管理工具——可能是作为源代码库的 DevOps 工具链的主要基建之一。 + +Git 的两个最佳商业案例是 GitLab 和 GitHub。GitLab [接受开发者对其贡献开源项目][2]。GitHub 也在着手努力成为一个 DevOps 平台,推出了 GitHub Copilot——结对编程的人工智能虚拟版——推出后受到了一些开源团体的褒贬不一的评价。 + +#### Jenkins + +作为一个开源的自动化服务,Jenkins 因其易于安装、配置和可扩展性而受到推崇。 + +CloudBees 发布了 JenkinsX,JenkinsX 是一套开源的解决方案,可以为 Kubernetes 上的云原生应用提供自动化持续集成和持续交付(CI/CD)以及自动化测试工具。他们还为JenkinsX 提供商业支持,包括: + +- 访问 CloudBees 的专业技术技能 +- 24x7 技术支持 +- 访问 CloudBees 的文档和在线知识库 + +#### Kubernetes + +随着越来越多的组织寻求企业级的容器编排解决方案,[Kubernetes][3] 的发展成为必然。尽管有人批评其复杂性,但 Kubernetes + +Kubernetes 周边有完整的、蓬勃发展的产业,并且没有消亡理由。根据 Allied 市场调研的数据,全球容器和 [Kubernetes 安全][4]市场在 2020 年的估值为 7.14 亿美元,预计到 2030 年将达到 8.42 亿美元。 + +### 目前的 DevOps 工具链 + +各个行业仍有很多自建(BYO)的 CI/CD 工具链在发挥作用。支持 DevOps 功能的开源项目仍在蓬勃发展。 + +BYO 工具链可以集成其他工具,而且非常具有扩展性,这对于持续迭代其 DevOps 实践的组织来说一直是一个优势。在出于业务、IT 和安全原因寻求标准化的企业中,缺乏标准的材料清单可能是个麻烦。 + +虽然 DevOps 平台的出现并没有被忽视,但许多组织早在大流行之前就将他们的 CI/CD 工具链迁移到了公共云。长期以来,工具链本身的安全性一直是一个不断上升的问题,而公共云基础设施提供了身份访问管理(IAM)和其他安全功能来控制访问。 + +### DevOps 平台是敌是友? + +DevOps 平台是一个端到端的解决方案,它将 CI/CD 工具链的所有功能放入云中。DevOps 平台的例子包括 GitLab 和 Harness。GitHub 也在采取行动,使自己成为一个 DevOps 平台。 + +#### 优势(即便只从企业买家角度考虑) + +DevOps 平台对那些已经适应了 SaaS 和云计算行业的基于消费和订阅的定价的企业买家很有吸引力。在这个远程和混合工作的世界里,对可维护性、安全、合规性和开发人员的生产力的担忧肯定是技术领导者的首要考虑。对这些人来说,在 DevOps 平台上实现标准化是很有吸引力的。 + +#### 劣势 + +在依赖供应商提供的 DevOps 工具链时,人们会想到对供应商锁定功能的古老担忧。开发团队构建和维护其工具链的可扩展性不会像他们从头开始制作工具链时那样,更不用说引入新的工具来改善他们的工作流程了。 + +DevOps 平台供应商也有潜在的经济方面的劣势。想一想,一个被高估的 DevOps 工具初创公司如果没有达到其投资者的高额财务目标,可能会发生什么。同样,也可能有一些较小的初创供应商得不到下一轮的资金,而慢慢消失。 + +虽然 DevOps 平台的出现在很多方面都是有意义的,但它确实违背了促成我们今天使用的 DevOps 工具的开源精神。 + +### DevOps 工具:一个拐点 + +随着工作模式的改变,人们对 DevOps 工具链的安全和合规性的关注必然会增加。 + +#### 正在变化的工作环境 + +我们的工作方式与企业其他部门一样影响着 DevOps 团队。远程和混合 DevOps 团队需要安全的工具链。整个流水线中不断变化的协作和报告要求,如异步工作和经理要求返回办公室等,也是日益增长的必要条件。 + +#### 软件供应链安全市场 + +在高调的攻击和联邦政府的回应之后,软件供应链安全市场引起了很多关注。目前还没有组织将软件供应链的攻击归咎于开源,但我们将看到 DevOps/DevSecOps 实践和工具的延伸,以对抗这种威胁。不过,当一切都结束时,DevOps/DevSecOps 的工具和实践将超过一些转向这一趋势的初创公司。 + +### 最后的想法 + +对于 DevOps 领域的开放源码软件(OSS)项目来说,这还远远没有结束,但 DevOps 利益相关者有权开始询问未来的工具链。然而,OSS DevOps 项目确实需要考虑他们的未来,特别是考虑到日益增长的直接影响流水线的安全和合规性问题。 + +DevOps 平台供应商与开源工具的未来趋势是合作性竞争,即 DevOps 平台供应商向作为其平台基础的开源工具贡献时间、金钱和资源。一个有趣的例子就是 [OpsVerse][5],它用他们为客户管理的开源工具提供了一个 DevOps 平台。 + +然后,还有一个未来,随着更多的企业构建的工具链迁移到云端,开源 DevOps 工具项目将继续繁荣和创新。 + +**[ Kickstart an organizational culture change. Read the first article in a series, [DevSecOps: 5 tips for seeding a culture transformation][6] ]** + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/open-source-devops-tools + +作者:[Will Kelly][a] +选题:[lkxed][b] +译者:[lxbwolf](https://github.com/lxbwolf) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/willkelly +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/4/our-favorite-git-commands +[2]: https://opensource.com/article/19/9/how-contribute-gitlab +[3]: https://opensource.com/resources/what-is-kubernetes +[4]: https://enterprisersproject.com/article/2019/1/kubernetes-security-4-tips-manage-risks?intcmp=7013a000002qLH8AAM +[5]: https://www.opsverse.io/ +[6]: https://www.redhat.com/architect/devsecops-culture?intcmp=7013a000002qLH8AAM From 4505fed1bc445705c9dd749111efb56923f4ffa2 Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sun, 23 Oct 2022 22:30:15 +0800 Subject: [PATCH 096/925] TSL --- ...17.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md index 282835a7ba..4f8041b4ff 100644 --- a/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md +++ b/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/open-source-devops-tools" [#]: author: "Will Kelly https://opensource.com/users/willkelly" [#]: collector: "lkxed" -[#]: translator: "lxbwolf " +[#]: translator: "lxbwolf" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 4ffd7b967ac9a403e9077a59af95a945d9d09a2c Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 24 Oct 2022 08:37:58 +0800 Subject: [PATCH 097/925] translated --- ...assic Snake Game in Your Linux Terminal.md | 100 ------------------ ...assic Snake Game in Your Linux Terminal.md | 100 ++++++++++++++++++ 2 files changed, 100 insertions(+), 100 deletions(-) delete mode 100644 sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md create mode 100644 translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md diff --git a/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md deleted file mode 100644 index cefdd34dd5..0000000000 --- a/sources/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md +++ /dev/null @@ -1,100 +0,0 @@ -[#]: subject: "Enjoy the Classic Snake Game in Your Linux Terminal" -[#]: via: "https://www.debugpoint.com/snake-game-linux-terminal/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Enjoy the Classic Snake Game in Your Linux Terminal -====== -This is how you can install and play the classic Snake Game in Linux Terminal. - -Remember the classic and simple snake game of old mobile phones? I remember playing it for hours. Hey, no other options at the time, right? Smartphones were still not in the market. And all you have is this – - -![Nokia 3310 with legacy snake game][1] - -But over time, the Snake Game was replaced by more advanced graphical games with various options. But nothing beats that classic snake game. - -And what if I told you, you could play this game in the Linux Terminal itself? Whether you are running Ubuntu Linux, Fedora Linux or Arch Linux doesn’t matter. This game is available for most of the [distros][2]. - -![nsnake Game - Main Menu][3] - -### Install nSnake – Snake Game for Linux Terminal - -You can install [this game][4] via the terminal using the below methods. - -For Ubuntu, Linux Mint or other related distributions: - -``` -sudo apt install nsnake -``` - -For Fedora Linux and others: - -``` -sudo dnf install nsnake -``` - -For Arch Linux, this snake game is available in the [Arch User repository][5]. You can install it using the following steps. - -* [Set up Yay AUR helper][6] -* Then open a terminal and run the below command - -``` -yay -S nsnake -``` - -The above command installs the stock repository version of the game, which might not be the latest. However, if you want the latest version, you may need to compile the source via GitHub. I have added the compilation instructions at the end of this page for your reference. - -### Playing the game - -Playing the game is very simple. Type nsnake in the terminal, which will launch the game. - -To quit immediately, press q. - -Following are the default key bindings. - -* Arrow keys – to move the snake -* q – Quit the game -* p – Pause the game - -You can also configure the game in various ways, which are available via the main menu. - -![nsnake Linux Terminal Snake Game Settings][7] - -So, enjoy! - -##### Compilation - -To compile the latest version, use the following commands in all Linux distributions. - -Oh, make sure you have `git` and `ncurses-devel` installed, which are the required packages for compilation. - -``` -git clone https://github.com/alexdantas/nSnake.gitcd nsnakemakemake install -``` - -So, do you like Snake Game? Do you prefer it over other terminal-based games? Share your views with other readers in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/snake-game-linux-terminal/ - -作者:[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/2021/12/Nokia-3310-with-legacy-snake-game.jpg -[2]: https://www.debugpoint.com/category/distributions -[3]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Game-Main-Menu.jpg -[4]: https://github.com/alexdantas/nsnake -[5]: https://aur.archlinux.org/packages/nsnake/ -[6]: https://www.debugpoint.com/2021/01/install-yay-arch/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Linux-Terminal-Snake-Game-Settings.jpg diff --git a/translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md new file mode 100644 index 0000000000..e4845af6f3 --- /dev/null +++ b/translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md @@ -0,0 +1,100 @@ +[#]: subject: "Enjoy the Classic Snake Game in Your Linux Terminal" +[#]: via: "https://www.debugpoint.com/snake-game-linux-terminal/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在你的 Linux 终端中享受经典的贪吃蛇游戏 +====== +这是你在 Linux 终端中安装和玩经典贪吃蛇的方法。 + +还记得老式手机经典简单的贪吃蛇吗?我记得玩了几个小时。嘿,当时没有其他选择,对吧?智能手机仍未上市。而你所拥有的就是这个。 + +![Nokia 3310 中的旧版贪吃蛇游戏][1] + +但随着时间的推移,贪吃蛇被具有各种选项的更高级的图形游戏所取代。但没有什么能比得上经典贪吃蛇游戏。 + +如果我告诉你,你可以在 Linux 终端中玩这个游戏呢?无论你运行的是 Ubuntu Linux、Fedora Linux 还是 Arch Linux,都无关紧要。该游戏适用于大多数 [发行版][2]。 + +![nsnake - 主菜单][3] + +### 安装 nSnake – Linux 终端的贪吃蛇 + +你可以使用以下方法通过终端安装[此游戏][4]。 + +对于 Ubuntu、Linux Mint 或其他相关发行版: + +``` +sudo apt install nsnake +``` + +对于 Fedora Linux 和其他: + +``` +sudo dnf install nsnake +``` + +对于 Arch Linux,此游戏可在 [Arch 用户仓库][5]中获得。你可以使用以下步骤安装它。 + +* [设置 Yay AUR 助手][6] +* 然后打开终端并运行以下命令 + +``` +yay -S nsnake +``` + +上面的命令会安装游戏的库存库版本,它可能不是最新的。但是,如果你想要最新版本,你可能需要通过 GitHub 编译源代码。我在本页末尾添加了编译说明供你参考。 + +### 玩游戏 + +玩游戏非常简单。在终端中输入 nsnake,这将启动游戏。 + +要立即退出,请按 q。 + +以下是默认键绑定。 + +* 箭头键 - 移动蛇 +* q – 退出游戏 +* p – 暂停游戏 + +你还可以通过主菜单以各种方式配置游戏。 + +![nsnake Linux 终端贪吃蛇设置][7] + +完成了,享受吧! + +##### 编译 + +要编译最新版本,请在所有 Linux 发行版中使用以下命令。 + +哦,确保你已经安装了 `git` 和 `ncurses-devel`,它们是编译所需的包。 + +``` +git clone https://github.com/alexdantas/nSnake.gitcd nsnakemakemake install +``` + +那么,你喜欢贪吃蛇游戏吗?与其他基于终端的游戏相比,你更喜欢它吗?在下面的评论框中与其他读者分享你的观点。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/snake-game-linux-terminal/ + +作者:[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/2021/12/Nokia-3310-with-legacy-snake-game.jpg +[2]: https://www.debugpoint.com/category/distributions +[3]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Game-Main-Menu.jpg +[4]: https://github.com/alexdantas/nsnake +[5]: https://aur.archlinux.org/packages/nsnake/ +[6]: https://www.debugpoint.com/2021/01/install-yay-arch/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/12/nsnake-Linux-Terminal-Snake-Game-Settings.jpg From d99f4c61a5ee14d124399893640d2a90e9e0438d Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Mon, 24 Oct 2022 08:38:43 +0800 Subject: [PATCH 098/925] translated --- ... base64 Encode and Decode With Examples.md | 158 ----------------- ... base64 Encode and Decode With Examples.md | 160 ++++++++++++++++++ 2 files changed, 160 insertions(+), 158 deletions(-) delete mode 100644 sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md create mode 100644 translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md diff --git a/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md b/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md deleted file mode 100644 index 8dc0ddd3b5..0000000000 --- a/sources/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md +++ /dev/null @@ -1,158 +0,0 @@ -[#]: subject: "Learn Bash base64 Encode and Decode With Examples" -[#]: via: "https://www.debugpoint.com/bash-base64-encode-decode/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Learn Bash base64 Encode and Decode With Examples -====== -Want to learn about the base64 encode and decode method? Here in this tutorial, we explain the base64 encode and decode steps using bash shell scripting with various examples. - -![][1] - -The base64 encoding method transmits data over any communication medium by converting binary data to text. This method is primarily used for the email encryption process. - -The Base64 method, in general, is a binary-to-text encoding scheme representing 8-byte binary data in ASCII string format. This has several advantages while transmitting or channelling data among various mediums – especially those that reliably support text content. Hence, it is widely used on World Wide Web. Probably the most used case of this encoding scheme is using it for email attachments. - -As per the Base64 representation table, the binary data can be converted to 64 different ASCII characters – which are easy to transmit and printable. This encoding method uses letters A to Z, a to Z, 0 to 9 and + and /. - -A total of 64 ASCII characters to represent binary from `000000` to `111111`. Each non-final Base64 digit represents exactly 6 bits of data. - -![Base64 Index Table][2] - -### Bash base64 encode and decode - -#### Syntax - -Before you learn about the examples, here is the basic syntax. - -``` -base64 [OPTIONs] [INFILE] [OUTFILE] -``` - -Option: You can provide any of the options or combine them as explained below.INFILE: Input can be picked up from standard input (like the command line) or files.OUTFILE: You can redirect the output to the standard output, like the terminal or to a file. - -| Arguments | Descriptions | -| :- | :- | -| -e or –encode | This option is used to encode any data from standard input or any file. It is the default option. | -| -d or –decode | This option is used to decode any encoded data from standard input or any file. | -| -n or –noerrcheck | By default, base64 checks error while decoding any data. You can use –n or –noerrcheck option to ignore checking at the time of decoding. | -| -i, –ignore-garbage | This option is used to ignore non-alphabet characters while decoding. | -| -u or –help | This option is used to get information about the usage of this command. | - -#### Example 1 – A basic encode - -In Linux, the base64 package is installed by default. Hence, you can use it from the command line easily. To simply encode a string or text, you can pass it through the command line via piping and get the encoded text. In this example, the string debugpoint.com is encoded to base64. - -``` -echo "debugpoint.com" | base64 -``` - -![bash base64 encode and decode - example 1][3] - -The result is the base64 encoded string. - -#### Explanation - -The encoding method uses several steps to convert the input. The input characters are converted to 8-bit binary values. The entire set of the binary string is split into 6-bit binary values, which are converted to decimals. - -Each decimal value is translated to the base64 character via the base64 index table. - -In the above example, the first character, “d”, is converted to binary `01100100`. The first 6 bits are `011001`, which is 25 in decimal. The 25 refers to the Z in the base64 index table. And this goes on for the entire stream of text. See the example below. - -![Base64 Encode and Decode – inner working][4] - -#### Example 2 – A basic decode - -To decode the string, simply pass the encoded value to the base64 with the option `--decode`. And it will give you the exact input string. - -![bash base64 encode and decode - example 2 (decode the same example)][5] - -#### Example 3 – Encode a Text file - -The same command can be used to encode a text file and redirect the output to another text file. Here’s how. - -``` -base64 example3.txt > example3-encoded.txt -``` - -![Encode a text file][6] - -#### Example 4 – Decode a Text File - -And to decode a text file that was encoded using base64, simply use the `--decode` or `-d` switch and pass on the text file name. - -``` -base64 -d example3-encoded.txt -``` - -#### Example 5 – Encode a custom input from the user - -Using bash shell programming, you can take input from the user via the terminal and encode it. But for that, you need to write a simple shell script and execute it after giving executable permission. - -Here’s a simple example which takes input from the user and displays the encoded string. - -``` -#!/bin/bash -#Sample program to take input, encode to base64 and display on terminal -#Example by www.debugpoint.com -echo "Enter text for encoding to base64:" -read input_text -output_text=`echo -n $input_text | base64` -echo "The Base64 Encoded text is: $output_text" -``` - -![Custom input - base64 encode and decode using script][7] - -#### Example 6 – A Simple Authentication using base64 - -You can implement a simple authentication system using the above encode and decode method. You can ask the user to enter a password or a secret code. Then store the secret code in a file or compare it on the fly. - -If the stored encoded string matches with the user input encoded text, then the user is authenticated. However, it is a straightforward way of checking an authentication, but sometimes useful for simple business cases. - -``` -#!/bin/bash -#Sample program to take input, encode to base64 and display on terminal -#Example by www.debugpoint.com -echo "Type your password" -read pwd1 -decoded_text=`echo 'U2lsZW5jZSBpcyBnb2xkZW4h' | base64 --decode` -if [[ $pwd1 == $decoded_text ]] -then - echo "You are a valid user." -else - echo "You are NOT a valid user." -fi -``` - -![A Simple Authentication using bash base64][8] - -### Conclusion - -I hope you get to learn the basics of [Base64][9] encode and decode with these examples. Also, learn a bit about its inner workings. Let me know in the comment box below if this helps you or need additional tutorials on this topic. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/bash-base64-encode-decode/ - -作者:[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/2021/11/base64example-1024x576.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Index-Table.png -[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-1.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Encode-and-Decode-inner-working.png -[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-2-decode-the-same-example.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Encode-a-text-file.png -[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Custom-input-base64-encode-and-decode-using-script.png -[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/A-Simple-Authentication-using-bash-base64.png -[9]: https://linux.die.net/man/1/base64 diff --git a/translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md b/translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md new file mode 100644 index 0000000000..2418e538f9 --- /dev/null +++ b/translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md @@ -0,0 +1,160 @@ +[#]: subject: "Learn Bash base64 Encode and Decode With Examples" +[#]: via: "https://www.debugpoint.com/bash-base64-encode-decode/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +通过示例来学习 Bash base64 的编码和解码 +====== +你想了解 Base64 编码和解码的方法吗?在本教程中,我们使用 bash shell 脚本和各种示例解释了 Base64 编码和解码步骤。 + +![][1] + +Base64 编码方法通过将二进制数据转换为文本,如此编码数据可以在任何通信媒体进行传输。这种编码方法主要用于电子邮件加密的过程。 + +总体而言,Base64 编码方法是一种二进制到文本的编码方案,以 ASCII 字符串格式表示 8 字节的二进制数据。使用这种编码方法在各种媒介之间传输数据时有几个优势,尤其是对于那些能可靠支持文本内容的媒介。因此,Base64 编码方法在万维网上被广泛使用。这种编码方案最常用于电子邮件附件的编码上。 + +根据 Base64 编码表,二进制数据可以经 Base64 编码后可以转换为 64 个不同的 ASCII 字符,包含大写字母 A 到 Z,小写字母 a 到 Z,数字 0 到 9 ,以及符号 + 和 /,这些字符在传输和打印上十分便捷。 + +这 64 个 ASCII 字符代表着从 `000000` 到 `111111` 的二进制值。每个非末尾的 Base64 编码后的 ASCII 字符恰好代表 6 位二进制值。 + +![Base64 Index Table][2] + +### Bash base64 的编码和解码 + +#### 句法 + +在我们提供示例之前,首先介绍 Base64 的基本语法。 + +``` +base64 [OPTIONs] [INFILE] [OUTFILE] +``` + +选项(Option):参照下面的表格,你可以提供任何的选项或组合多个选项。 +输入(INFILE):你可以从标准输入(如命令行)或文件中输入。 +输出(OUTFILE):你可以将输出重定向到标准输出,如终端或文件中。 + +| 选项 | 描述 | +| :- | :- | +| -e 或者 –encode | 此选项用于对标准输入的数据或从文件中读入的数据进行编码。这是默认选项。 | +| -d 或者 –decode | 此选项用于对标准输入的数据或从文件中读入的已 base64 编码数据进行解码。 | +| -n 或者 –noerrcheck | 默认情况下,base64 在解码数据时,会自动检查是否有错误。你可以使用 –n 或 –noerrcheck 选项,在解码时忽略检查。 | +| -i, –ignore-garbage | 此选项用于在解码时忽略非字母字符。 | +| -u 或者 –help | 此选项用于获取有关使用此命令的信息。 | + +#### 示例 1:基本编码 + +在 Linux 中,默认已安装好 base64 软件包。因此,你可以轻松地从命令行使用 base64。要对一个字符串或文本进行编码,你可以通过管道将其传递到命令行,并获取待编码的文本。在下面的示例中,对字符串 debugpoint.com 进行了 base64 编码。 + +``` +echo "debugpoint.com" | base64 +``` + +![bash base64 encode and decode - example 1][3] + +结果是经过 base64 编码后的字符串。 + +#### 解释 + +Base64 编码方法使用下面的几个步骤来转换输入的数据。首先,每个输入字符转换为 8 位二进制值,接着,二进制字符串拆分为一组组 6 位的二进制值,然后,每个 6 位的二进制值被转换为十进制值。 + +最后,每个十进制值都通过 base64 编码索引表转换为 base64 字符。 + +在上面的示例中,第一个字符 `d` 被转换为二进制 `01100100`。前 6 位是 `011001`,转换为十进制是 `25`。`25` 在 base64 编码索引表中对应着 `Z`。整个输入的文本流都像如此编码。请参阅以下编码过程的示例。 + +![Base64 Encode and Decode – inner working][4] + +#### 示例 2:基本解码 + +要解码字符串,需要将编码值传递给 base64,选项为 `--decode`,它将输出你之前输入的字符串。 + +![bash base64 encode and decode - example 2 (decode the same example)][5] + +#### 示例 3:对文本文件进行编码 + +示例 1 中的同一命令也可用于编码文本文件,并将输出重定向到另一个文本文件。方法如下。 + +``` +base64 example3.txt > example3-encoded.txt +``` + +![Encode a text file][6] + +#### 示例 4:对文本文件进行解码 + +要解码使用 base64 编码的文本文件,只需使用 `--decode` 或 `-d` 选项,并传递文本文件名。 + +``` +base64 -d example3-encoded.txt +``` + +#### 示例 5:对用户输入的数据进行编码 + +使用 bash shell 编程,你可以通过终端接收用户的输入,并对其进行 base64 编码。你需要先编写一个简单的 shell 脚本,并在授予可执行权限后执行。 + +以下就是一个简单的示例,它从用户那里获得输入,然后进行 base64 编码,最终显示编码的字符串。 + +``` +#!/bin/bash +#Sample program to take input, encode to base64 and display on terminal +#Example by www.debugpoint.com +echo "Enter text for encoding to base64:" +read input_text +output_text=`echo -n $input_text | base64` +echo "The Base64 Encoded text is: $output_text" +``` + +![Custom input - base64 encode and decode using script][7] + +#### 示例 6:用 base64 进行简单的身份认证 + +你可以运用上述的编码和解码方法,实现一个简单的身份验证系统。你可以让用户输入密码或密码,然后将密码存储在文件中。或者进行实时比较。 + +如果存储的编码字符串与用户输入的文本再编码的字符串相匹配,则用户可以通过验证。虽然这是一种检查身份验证的很简单的方法,但有时这对一些简单的业务案例很有用。 + +``` +#!/bin/bash +#Sample program to take input, encode to base64 and display on terminal +#Example by www.debugpoint.com +echo "Type your password" +read pwd1 +decoded_text=`echo 'U2lsZW5jZSBpcyBnb2xkZW4h' | base64 --decode` +if [[ $pwd1 == $decoded_text ]] +then + echo "You are a valid user." +else + echo "You are NOT a valid user." +fi +``` + +![A Simple Authentication using bash base64][8] + +### 结论 + +我希望你能通过这些示例,学会 [Base64][9] 编码和解码的基础知识。此外,你也了解到 Base64 的内部编码方式。如果这对你很有帮助,或你还需要有关此主题的其他教程,请在下面的评论区中告诉我吧。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/bash-base64-encode-decode/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/2021/11/base64example-1024x576.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Index-Table.png +[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-1.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/Base64-Encode-and-Decode-inner-working.png +[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/bash-base64-encode-and-decode-example-2-decode-the-same-example.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Encode-a-text-file.png +[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Custom-input-base64-encode-and-decode-using-script.png +[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/A-Simple-Authentication-using-bash-base64.png +[9]: https://linux.die.net/man/1/base64 From d0f45bc755f57e05a9c7ebf08d7e9b7da0972679 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 24 Oct 2022 08:43:59 +0800 Subject: [PATCH 099/925] translating --- ...20221014 Can Kubernetes help solve automation challenges-.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md b/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md index 8d7b5904be..33c3834821 100644 --- a/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md +++ b/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/kubernetes-solve-automation-challenges" [#]: author: "Rom Adams https://opensource.com/users/romdalf" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From aba5f0fed8cd1de34beef1f0b29b85a58e19b8b5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 24 Oct 2022 09:28:27 +0800 Subject: [PATCH 100/925] RP @lxbwolf https://linux.cn/article-15170-1.html --- ...️ Open source DevOps tools in a platform future.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) rename {translated/tech => published}/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md (73%) diff --git a/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/published/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md similarity index 73% rename from translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md rename to published/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md index 4f8041b4ff..8af5dc99f0 100644 --- a/translated/tech/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md +++ b/published/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md @@ -3,13 +3,17 @@ [#]: author: "Will Kelly https://opensource.com/users/willkelly" [#]: collector: "lkxed" [#]: translator: "lxbwolf" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15170-1.html" -平台化未来的开源DevOps工具 +开源 DevOps 工具的平台化未来 ====== +![](https://img.linux.net.cn/data/attachment/album/202210/24/092748lwwoicus5e4s59gg.jpg) + +> 当商业 DevOps 工具市场着眼于平台时,是时候让开源 DevOps 工具重新定义它们的未来了。 + DevOps 的开源根基是无法动摇的,即便有预言称全球的 DevOps 市场将在 2026 年之前达到 178 亿美元。不断变化的工作环境、安全和合规性问题,以及风险投资公司等等因素正在将市场推向 DevOps 平台,开发团队可以在云中获得完整的端到端 DevOps 工具链。 ### 开源 DevOps 工具现状 @@ -22,15 +26,15 @@ DevOps 的开源根基是无法动摇的,即便有预言称全球的 DevOps #### Git -[Git][1]——源代码管理工具——可能是作为源代码库的 DevOps 工具链的主要基建之一。 +源代码管理工具 [Git][1] 作为源代码库,可能是 DevOps 工具链的主要基础之一。 -Git 的两个最佳商业案例是 GitLab 和 GitHub。GitLab [接受开发者对其贡献开源项目][2]。GitHub 也在着手努力成为一个 DevOps 平台,推出了 GitHub Copilot——结对编程的人工智能虚拟版——推出后受到了一些开源团体的褒贬不一的评价。 +Git 的两个最佳商业案例是 GitLab 和 GitHub。GitLab [接受开发者对其贡献开源项目][2]。GitHub 也在着手努力成为一个 DevOps 平台,推出了人工智能版的结对编程 GitHub Copilot,在推出后受到了一些开源团体的褒贬不一的评价。 #### Jenkins 作为一个开源的自动化服务,Jenkins 因其易于安装、配置和可扩展性而受到推崇。 -CloudBees 发布了 JenkinsX,JenkinsX 是一套开源的解决方案,可以为 Kubernetes 上的云原生应用提供自动化持续集成和持续交付(CI/CD)以及自动化测试工具。他们还为JenkinsX 提供商业支持,包括: +CloudBees 提供了 JenkinsX,JenkinsX 是一套开源的解决方案,可以为 Kubernetes 上的云原生应用提供自动化持续集成和持续交付(CI/CD)以及自动化测试工具。他们还为JenkinsX 提供商业支持,包括: - 访问 CloudBees 的专业技术技能 - 24x7 技术支持 @@ -38,17 +42,17 @@ CloudBees 发布了 JenkinsX,JenkinsX 是一套开源的解决方案,可以 #### Kubernetes -随着越来越多的组织寻求企业级的容器编排解决方案,[Kubernetes][3] 的发展成为必然。尽管有人批评其复杂性,但 Kubernetes +随着越来越多的组织寻求企业级的容器编排解决方案,[Kubernetes][3] 的发展成为必然。尽管有人批评其复杂性。 -Kubernetes 周边有完整的、蓬勃发展的产业,并且没有消亡理由。根据 Allied 市场调研的数据,全球容器和 [Kubernetes 安全][4]市场在 2020 年的估值为 7.14 亿美元,预计到 2030 年将达到 8.42 亿美元。 +自然而然的,Kubernetes 周边有完整的、蓬勃发展的产业。根据 Allied 市场调研的数据,全球容器和 [Kubernetes 安全][4] 市场在 2020 年的估值为 7.14 亿美元,预计到 2030 年将达到 8.42 亿美元。 ### 目前的 DevOps 工具链 -各个行业仍有很多自建(BYO)的 CI/CD 工具链在发挥作用。支持 DevOps 功能的开源项目仍在蓬勃发展。 +各个行业仍有很多自建build-your-own(BYO)的 CI/CD 工具链在发挥作用。支持 DevOps 功能的开源项目仍在蓬勃发展。 BYO 工具链可以集成其他工具,而且非常具有扩展性,这对于持续迭代其 DevOps 实践的组织来说一直是一个优势。在出于业务、IT 和安全原因寻求标准化的企业中,缺乏标准的材料清单可能是个麻烦。 -虽然 DevOps 平台的出现并没有被忽视,但许多组织早在大流行之前就将他们的 CI/CD 工具链迁移到了公共云。长期以来,工具链本身的安全性一直是一个不断上升的问题,而公共云基础设施提供了身份访问管理(IAM)和其他安全功能来控制访问。 +虽然 DevOps 平台的出现并没有被忽视,但许多组织早在大流行之前就将他们的 CI/CD 工具链迁移到了公有云。长期以来,工具链本身的安全性一直是一个不断上升的问题,而公有云基础设施提供了身份访问管理(IAM)和其他安全功能来控制访问。 ### DevOps 平台是敌是友? @@ -76,18 +80,16 @@ DevOps 平台供应商也有潜在的经济方面的劣势。想一想,一个 #### 软件供应链安全市场 -在高调的攻击和联邦政府的回应之后,软件供应链安全市场引起了很多关注。目前还没有组织将软件供应链的攻击归咎于开源,但我们将看到 DevOps/DevSecOps 实践和工具的延伸,以对抗这种威胁。不过,当一切都结束时,DevOps/DevSecOps 的工具和实践将超过一些转向这一趋势的初创公司。 +在高调的攻击和美国联邦政府的回应之后,软件供应链安全市场引起了很多关注。目前还没有组织将软件供应链的攻击归咎于开源,但我们将看到 DevOps/DevSecOps 实践和工具的延伸,以对抗这种威胁。不过,当一切都结束时,DevOps/DevSecOps 的工具和实践将超过一些转向这一趋势的初创公司。 -### 最后的想法 +### 结语 -对于 DevOps 领域的开放源码软件(OSS)项目来说,这还远远没有结束,但 DevOps 利益相关者有权开始询问未来的工具链。然而,OSS DevOps 项目确实需要考虑他们的未来,特别是考虑到日益增长的直接影响流水线的安全和合规性问题。 +对于 DevOps 领域的开源软件(OSS)项目来说,这还远远没有结束,但 DevOps 利益相关者有权开始询问未来的工具链。然而,OSS DevOps 项目确实需要考虑它们的未来,特别是考虑到日益增长的直接影响流水线的安全和合规性问题。 DevOps 平台供应商与开源工具的未来趋势是合作性竞争,即 DevOps 平台供应商向作为其平台基础的开源工具贡献时间、金钱和资源。一个有趣的例子就是 [OpsVerse][5],它用他们为客户管理的开源工具提供了一个 DevOps 平台。 然后,还有一个未来,随着更多的企业构建的工具链迁移到云端,开源 DevOps 工具项目将继续繁荣和创新。 -**[ Kickstart an organizational culture change. Read the first article in a series, [DevSecOps: 5 tips for seeding a culture transformation][6] ]** - -------------------------------------------------------------------------------- via: https://opensource.com/article/22/10/open-source-devops-tools @@ -95,7 +97,7 @@ via: https://opensource.com/article/22/10/open-source-devops-tools 作者:[Will Kelly][a] 选题:[lkxed][b] 译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 54928c7619db84effbea89c14fb3d5ba676e59ac Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 24 Oct 2022 10:18:00 +0800 Subject: [PATCH 101/925] ALL @wxy https://linux.cn/article-15171-1.html --- .../20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md | 147 ++++++++++++++++++ .../20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md | 147 ------------------ 2 files changed, 147 insertions(+), 147 deletions(-) create mode 100644 published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md delete mode 100644 sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md diff --git a/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md b/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md new file mode 100644 index 0000000000..f21ce3ff2d --- /dev/null +++ b/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md @@ -0,0 +1,147 @@ +[#]: subject: "Ubuntu 22.10 Is Here!" +[#]: via: "https://news.itsfoss.com/ubuntu-22-10-release/" +[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15171-1.html" + +Ubuntu 22.10 的新变化 +====== + +> Ubuntu 22.10 是一个令人印象深刻的版本,它拥有新的快速切换功能、应用程序散布,以及更多。 + +![](https://img.linux.net.cn/data/attachment/album/202210/24/101545l1jae18e1881ee19.jpg) + +Ubuntu 22.10 “充满活力的捻角羚Kinetic Kudu”来了。它带来了许多重大的改进,特别是 Linux 内核 5.19 和 GNOME 43 的体验。 + +当然,这是一个经过定制的 GNOME 体验,现有的 Ubuntu 用户会很熟悉。 + +那么,Ubuntu 22.10 都有哪些新变化呢?让我们一起来看看。 + +### Ubuntu 22.10 的新变化 + +![][2] + +除了 GNOME 43 之外,Ubuntu 22.10 还包括: + +- 一个改进的 设置Settings 应用程序。 +- 经典的 Unity 应用程序散布模式Spread Mode的复活。 +- 一些著名的应用程序被移植到 GTK4 和 Libadwaita。 +- 全系统支持 WebP。 +- PipeWire 采样管默认的音频服务器。 +- Linux 内核 5.19。 + +> 💡 Ubuntu 22.10 将被支持九个月,直到 **2023 年 7 月**。如果你想要稳定而不是功能,你应该更愿意使用 [LTS 版本][3]。 + +#### 🎨 视觉改进 + +当第一次测试一个新版本时,视觉上的变化总是最先被注意到的。在 Ubuntu 22.10 中尤其如此,这要归功于 [GNOME 43][4] 所带来的重大改进。 + +![Ubuntu 22.10 快速设置][5] + +首先,我们有全新的快速设置菜单,它取代了旧的、相当笨拙的系统菜单。与安卓、iOS 和 Windows 11 中的菜单类似,这个新增的菜单允许你打开和关闭 Wi-Fi 和蓝牙,所有这些都无需进入设置Settings应用程序。 + +当然,在这个版本中我们还得到了全新的壁纸。 + +![Ubuntu 22.10 壁纸][6] + +对于这个变化,我除了喜欢并希望从社区中看到更多这样的设计之外,没有什么别的可说的。 + +此外,更多的应用程序被移植到了 GTK4,包括对 Nautilus 文件管理器的改进。 + +一些有价值的新增功能包括: + +- 拖动并选择文件的能力(橡皮筋选择)。 +- 自适应视图与一个紧凑的窗口。 +- 新的文件上下文菜单。 + +你可以通过我们的详细报道来探索 Nautilus 的改进。 + +#### 👴 应用程序散布回来了! + +我不太喜欢的 GNOME 的一个部分是多窗口应用程序的切换,我相信很多其他用户都有这样的不满。 + +![Ubuntu 22.04][7] + +幸运的是,Ubuntu 22.10 现在提供了一个很好的解决方案,对于长期用户来说应该是很熟悉的。终于,在 2017 年放弃对 Unity 的支持五年后,Ubuntu 的开发者们又把应用程序散布Spread带了回来。 + +![Ubuntu 22.10应用程序传播][8] + +这是一个重大的改进,我很惊讶 GNOME 自己没有这样做。 + +#### 🛠️ 设置的改进 + +虽然不是大多数人日常使用的应用程序,但系统设置System Settings是 GNOME 体验的一个核心部分。考虑到这一点,看到它接受了一次重大的视觉改造,以及移植到了 GTK 4 和 Libadwaita,真是太棒了。 + +![Ubuntu 22.10 桌面设置][9] + +因此,它现在变得更好看了,而且是自适应的,这意味着它在任何尺寸下都能很好地工作,甚至在像 PinePhone 这样的 Linux 手机上也能很好地工作! + +另一个与设置有关的变化是增加了一个新的 “Ubuntu 桌面设置Ubuntu Desktop Settings”菜单项。这提供了一个单一的、统一的地方来定制和改变你所有的 Ubuntu 特定设置。 + +#### Linux 内核 5.19 + +Ubuntu 22.10 还带来了一个更新的内核,即 [Linux 内核 5.19][10]。这个版本的改进相当少,尽管它确实带来了对一些下一代硬件的改进支持。 + +你应该注意到这是 Linux 5.x 系列的最后一个版本,因为 Linux 内核下一个版本跳到了 6.0。 + +#### 其他变化 + +![Ubuntu 22.10 webp][11] + +总的来说有几个细微的调整。但其中一些基本的调整包括: + +- 图像应用程序默认支持 .WebP 图像格式。 +- GNOME 文本编辑器是默认编辑器。你可以安装 gedit 并使其成为默认的。 +- GNOME 图书应用程序已经不再可用。Ubuntu 推荐 [Foliate][12] 作为替代。 +- 不再默认安装 To Do 应用程序,并且它有了一个新的名字,“Endeavour”。 +- GNOME 终端仍然是默认的终端应用。如果需要,可以安装 [GNOME 控制台][13]。 +- 更新了 Firefox 104、[Thunderbird 102][14] 和 [Libreoffice 7.4][15] 等应用程序。 +- 更多的应用程序已经被移植到 GTK4,特别是 [Nautilus][16]。 + +> ℹ️ 注意,我们的列表集中在对桌面终端用户重要的变化上。如果你想知道更多关于服务器和其他使用情况的变化/更新,请参考 [官方发布说明][17]。 + +### 下载 Ubuntu 22.10 + +你可以从 [Ubuntu 的中央镜像库][18] 或其 [官方网站][19] 下载最新的 ISO。 + +**官方网站/仓库可能需要一段时间来提供 ISO 的下载。 + +> **[下载Ubuntu 22.10][19]** + +💬 有兴趣尝试 Ubuntu 22.10 吗?请在评论中告诉我你的想法。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-22-10-release/ + +作者:[Jacob Crume][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/jacob/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-22-10-release.png +[2]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10.png +[3]: https://itsfoss.com/long-term-support-lts/ +[4]: https://news.itsfoss.com/gnome-43-release/ +[5]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-quick-setting.jpg +[6]: https://news.itsfoss.com/content/images/2022/10/22.10-wallpaper.png +[7]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-04-window-minimize.png +[8]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-app-spread.jpg +[9]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-desktop-setting.png +[10]: https://news.itsfoss.com/linux-kernel-5-19-release/ +[11]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-webp.png +[12]: https://itsfoss.com/foliate-ebook-viewer/ +[13]: https://itsfoss.com/gnome-console/ +[14]: https://news.itsfoss.com/thunderbird-102-release/ +[15]: https://news.itsfoss.com/libreoffice-7-4-release/ +[16]: https://news.itsfoss.com/gnome-files-43/ +[17]: https://discourse.ubuntu.com/t/kinetic-kudu-release-notes/27976 +[18]: https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/ +[19]: https://ubuntu.com/download/desktop diff --git a/sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md b/sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md deleted file mode 100644 index b1a6d1bd8d..0000000000 --- a/sources/news/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md +++ /dev/null @@ -1,147 +0,0 @@ -[#]: subject: "Ubuntu 22.10 Is Here!" -[#]: via: "https://news.itsfoss.com/ubuntu-22-10-release/" -[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu 22.10 Is Here! -====== - -Ubuntu 22.10 is an impressive release with new quick toggles, application spread, and more. - -![Ubuntu 22.10 Is Here!][1] - -Ubuntu 22.10 "**Kinetic Kudu**" is here. It brings many significant improvements, notably Linux Kernel 5.19 and the GNOME 43 experience. - -Of course, this is a customized GNOME experience that will be familiar to existing Ubuntu users. - -So, what are all the goodies with Ubuntu 22.10? Let us find out: - -### Ubuntu 22.10 Release: What's New? - -![][2] - -Along with GNOME 43, Ubuntu 22.10 also includes: - -- **An improved Settings app.** -- **The resurrection of the classic Unity application spread.** -- **A few notable apps ported to GTK4 and Libadwaita.** -- **System-wide WebP support.** -- **PipeWire is the default audio server.** -- **Linux Kernel 5.19.** - -> 💡Ubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][3]. - -#### 🎨 Visual Improvements - -When first testing a new release, visual changes are always the first to be noticed. This is especially true with Ubuntu 22.10, thanks to the significant improvements introduced with [GNOME 43][4]. - -![Ubuntu 22.10 quick setting][5] - -First, we have the brand-new quick settings menu, which replaced the old and rather clunky system menu. Similar to the menus found in Android, iOS, and Windows 11, this addition allows you to switch on and off Wi-Fi and Bluetooth, all without going into the settings app. - -Of course, we also get brand-new wallpaper with this release. - -![ubuntu 22.10 wallpaper][6] - -There's not much else to say about it other than that I love this switch and hope to see more designs like this from the community. - -Additionally, more apps have been ported to GTK4, including the refinements wit the **Nautilus** file manager. - -Some valuable feature additions include: - -- **Ability to drag and select files (rubber band selection).** -- **Adaptive view with a compact window.** -- **New document context menu.** - -You can go through our detailed coverage to explore the improvements with Nautilus. - -#### 👴 The Application Spread Is Back! - -One of my minor favorite parts of GNOME is the multi-windows app switching, a gripe that I'm sure many other users share. - -![ubuntu 22.04][7] - -Fortunately, **Ubuntu 22.10** is now offering a great solution that should be familiar to long-time users. Finally, five years after dropping support for Unity back in 2017, the Ubuntu developers have brought back the application spread. - -![ubuntu 22.10 application spread][8] - -This is a significant improvement and something I'm surprised GNOME hasn't done itself. - -#### 🛠️ Settings Improvements - -Although not an app that most people use daily, System Settings is a core part of the GNOME experience. With that in mind, it is fantastic to see it receiving a major visual overhaul, as well as a port to GTK 4 and Libadwaita. - -![Ubuntu 22.10 desktop setting][9] - -As a result, it is now better-looking and adaptive, meaning it will work well at any size and even on Linux phones like the PinePhone! - -Another Settings-related change is adding a new "**Ubuntu Desktop Settings**" menu item. This offers a single, unified place to customize and change all your Ubuntu-specific settings. - -#### Linux Kernel 5.19 - -Ubuntu 22.10 also brings a newer kernel i.e., [Linux kernel 5.19][10]. This release was pretty light on improvements, although it did bring improved support for some next-gen hardware. - -You should note that this is the last release in the Linux 5.x series, as Linux Kernel 6.0 is the next version bump. - -#### Other Changes - -![Ubuntu 22.10 webp][11] - -There are several subtle refinements overall. But some of those essential tweaks include: - -- Default image apps support **.WebP** image format. -- **GNOME Text Editor** is the default editor. You can install gedit and make it the default. -- **GNOME Books app** is no longer available. Ubuntu recommends [Foliate][12] as a replacement. -- **To Do app** is no longer installed by default and has a new name, "_Endeavour_". -- **GNOME Terminal** is still the default terminal app. [GNOME Console][13] can be installed if required. -- Updated apps like Firefox 104, [Thunderbird 102][14], and [Libreoffice 7.4][15]. -- More apps have been ported to GTK4, notably **[Nautilus][16].** - -> ℹ️Note that our list focuses on changes that matter to a desktop end-user. If you want to know more about the changes/updates for the server and other use cases, refer to the [official release notes][17]. - -### Download Ubuntu 22.10 - -You can download the latest ISO from [Ubuntu's central image repository][18] or its [official website][19]. - -**It might take a while for the official website/repo to make the ISO available to download.** - -[Download Ubuntu 22.10][19] - -💬 _Interested in trying Ubuntu 22.10? Let me know your thoughts in the comments._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-22-10-release/ - -作者:[Jacob Crume][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/jacob/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-22-10-release.png -[2]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10.png -[3]: https://itsfoss.com/long-term-support-lts/ -[4]: https://news.itsfoss.com/gnome-43-release/ -[5]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-quick-setting.jpg -[6]: https://news.itsfoss.com/content/images/2022/10/22.10-wallpaper.png -[7]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-04-window-minimize.png -[8]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-app-spread.jpg -[9]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-desktop-setting.png -[10]: https://news.itsfoss.com/linux-kernel-5-19-release/ -[11]: https://news.itsfoss.com/content/images/2022/10/ubuntu-22-10-webp.png -[12]: https://itsfoss.com/foliate-ebook-viewer/ -[13]: https://itsfoss.com/gnome-console/ -[14]: https://news.itsfoss.com/thunderbird-102-release/ -[15]: https://news.itsfoss.com/libreoffice-7-4-release/ -[16]: https://news.itsfoss.com/gnome-files-43/ -[17]: https://discourse.ubuntu.com/t/kinetic-kudu-release-notes/27976 -[18]: https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/ -[19]: https://ubuntu.com/download/desktop From 2c43174b433c628d12d8cf0c4c739bb63e077b0b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 24 Oct 2022 10:22:37 +0800 Subject: [PATCH 102/925] R --- published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md b/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md index f21ce3ff2d..afcfdf3637 100644 --- a/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md +++ b/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md @@ -67,7 +67,7 @@ Ubuntu 22.10 “充满活力的捻角羚Kinetic Kudu”来 幸运的是,Ubuntu 22.10 现在提供了一个很好的解决方案,对于长期用户来说应该是很熟悉的。终于,在 2017 年放弃对 Unity 的支持五年后,Ubuntu 的开发者们又把应用程序散布Spread带了回来。 -![Ubuntu 22.10应用程序传播][8] +![Ubuntu 22.10应用程序散布][8] 这是一个重大的改进,我很惊讶 GNOME 自己没有这样做。 From 1605f69cb577f92c25487fcbf1efd20602559dd2 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Mon, 24 Oct 2022 10:52:52 +0800 Subject: [PATCH 103/925] translating by chai0001125 --- ... 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md b/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md index 2b8a28db36..d9297a77b6 100644 --- a/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md +++ b/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/things-to-do-ubuntu-22-10/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 67b41c38c7a850f4ce4e09315e8b4234b0049425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 24 Oct 2022 12:23:23 +0800 Subject: [PATCH 104/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Recover?= =?UTF-8?q?=20Arch=20Linux=20Install=20via=20chroot.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to Recover Arch Linux Install via chroot.md | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md diff --git a/sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md new file mode 100644 index 0000000000..bc7bb57a60 --- /dev/null +++ b/sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md @@ -0,0 +1,110 @@ +[#]: subject: "How to Recover Arch Linux Install via chroot" +[#]: via: "https://www.debugpoint.com/recover-arch-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Recover Arch Linux Install via chroot +====== + +**This quick guide explains some of the steps which may come in handy to recover an Arch Linux Install.** + +Being a rolling release, sometimes things break in Arch Linux. Not because of your own actions but hundreds of other reasons, such as a new Kernel vs your hardware or software compatibility. But still, Arch Linux is still better and provides the latest packages and applications. + +But sometimes, it gives you trouble, and you end up with a blinking cursor and nothing else. + +So, in those scenarios, instead of re-formatting or reinstalling, you may want to try to recover the installation, including the data, before giving up your hope. This guide outlines some steps in that direction. + +### Recover Arch Linux Installation + +- The first step is to create a bootable LIVE USB with Arch Linux. Download the .ISO from this link and create a bootable .ISO. You can check out this guide on how to create bootable .ISO using Etcher. Remember this step requires another working stable system, obviously, as your current system is not usable. + +[download arch linux][1] + +- You need to know on **which partition your Arch Linux** is installed. This is a crucial step. If you don’t know, you can use GParted to find out. Or check in your Grub menu, Or you can run the below command to find out. This will list all your disk partitions, size, and labels. + +``` +sudo lsblk -o name,mountpoint,label,size,uuid +``` + +- Once done, plug in the USB stick and boot from it. And you should see the Arch Linux prompt in the LIVE medium. + +- Now, mount to the Arch Linux partition using the below. Change the `/dev/sda3` to your respective partition. + +``` +mount /dev/sda3 /mnt +arch-chroot /mnt +``` + +- The arch-chroot command will mount your Arch Linux partition in the terminal, so log in using your Arch credentials. Now, you have the following options based on what you want at this stage. + +- You can take backups of your data by going through /home folders. In case the troubleshooter doesn’t work. You may copy the files to an external USB or another partition. + +- Verify the log files, especially the pacman logs, because an unstable system may be caused by upgrading some packages, such as graphics driver or any other driver. Based on the log, you may want to downgrade any specific package if you want. +- You may use the below command to view the last 200 lines of the pacman log file to find out any failing items or dependency removal. + +``` +tail -n 200 /var/log/pacman.log | less +``` + +- The above command gives you 200 lines from the end of the pacman.log file to verify. Now, carefully check which of the packages were updated since your successful boot. + +- And note down the package name and version somewhere. And you may try to downgrade packages one-by-one or if you think a specific package created a problem. Use the -U switch of pacman command to downgrade. + +``` +pacman -U +``` + +- You can run the following to start your Arch system after downgrading if any. + +``` +exec /sbin/init +``` + +- Check the status of your display manager and whether if there are any errors. Sometimes, the display manager creates a problem which can’t communicate with X Server. For example, if you are using lightdm, then you can check its status via the below. + +``` +systemctl status lightdm +``` + +- Or, you may want to start it via the below command and check the error. + +``` +lightdm --test-mode --debug +``` + +- Here is an example of lightdm failure, which caused an unstable Arch system. + +![lightdm - test mode][2] + +- Or check via kicking off the X server using `startx`. + +- In my experience, if you see errors in the above command, try to install another display manager, such as **sddm** and enable it. It may eliminate the error. + +- Try the above steps based on the state of your system, and troubleshoot. For errors specific to display manager lightdm, we have a [guide][3] which you may want to check out. +- If you are using sddm, then check out [these troubleshooting steps][4] if something works. + +### Closing Notes + +Every installation is different. And above steps may/may not work for you. But it is worth a try, and as per my experience, it works. If it works, well, good for you. Either way, let me know how it goes in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/recover-arch-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://archlinux.org/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg +[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/ +[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting From 0537252d5f02f00100619c9d34f4fbd246ff6b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 24 Oct 2022 12:24:52 +0800 Subject: [PATCH 105/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20En?= =?UTF-8?q?dless=20OS=20=E2=80=93=20Desktop=20Linux=20Done=20Right=20for?= =?UTF-8?q?=20the=20Masses.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ss OS – Desktop Linux Done Right for the Masses.md | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md diff --git a/sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md b/sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md new file mode 100644 index 0000000000..283805a302 --- /dev/null +++ b/sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md @@ -0,0 +1,202 @@ +[#]: subject: "Endless OS – Desktop Linux Done Right for the Masses" +[#]: via: "https://www.debugpoint.com/endless-os-review-2021/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Endless OS – Desktop Linux Done Right for the Masses +====== + +**We review the popular Endless OS as Linux Desktop with the new features and updates of the latest version 4.0.** + +![Endless OS Desktop version 4.0][1] + +Endless OS is a [OSTree based][2] free and open-source[Linux Distribution][3]. This Linux distribution is packaged from Debian/Ubuntu, but not directly based on it. OSTree is an atomic upgrade system for Linux-based OSes. This is a unique way to provide package updates to Linux-distribution, where OSTree packages everything in a server and then replicates to the client. + +The main advantage is that your underlying Linux operating system always remain intact, and it is read-only. OSTree only operates in user space. + +In that sense, Endless OS never breaks, and it remains fresh as you install for the first time. Today, only very few Linux Distribution are based on OSTree technology – such as Fedora SIlverblue and Fedora Kinoite. + +That said, let take a deep dive on the Endless OS as a whole and check out the updates to the new version. + +### Endless OS Review + +#### Version 4.0 Updates + +As of writing this post, Endless OS latest version is 4.0 which has been released on Nov 22, 2021. This release brings better app grid switching with indicators, switch user option and a Long term support model. With this new support model, this version 4.0 will continue to receive update even after Endless OS 5.0 released. You can learn more about the updates in this [post][4]. + +#### Downloading Endless OS + +Before I go into the installer, I would like to spend a few words on the installer/.ISO of this distribution. Endless OS brings two separate installers. An .ISO file specifically designed for Windows system to install as dual-boot. This installer is an EXE file which you can download in Windows machine and start the installation! This something unique I found. + +With all the Windows hate aside, this actually helps to adopt this Linux distribution far more easily for the average user. An average user may not even know what a partition or a GRUB is. So, in those situations, it downloads, does the partition and installs it without any complex user input. This is really impressive. You can learn more about the Windows installation [here][5]. + +Other .ISO images are dedicated to – + +- Basic desktop installer with language selection +- A specially designed .ISO for virtual machine +- .ISO images for ARM hardware such as Raspberry Pi, Pinebook Pro etc. + +Go ahead and open the below link and get your .ISO copy. Remember, the full installer ISO files are much larger > 10 GB. So, if you are planning to test, use the basic installer. + +![Download options of Endless OS][6] + +[download Endless OS][7] + +#### Unique Installation of Endless OS + +Apart from the Windows installation as described above, you need to know a couple of things. The Endless OS can not be installed at the moment as dual boot with other Linux distributions. What? Yes. + +As per the information I found, the .ISO is not designed to handle other Linux distribution as dual boot. However, you can try it in virtual machine with any Linux host OS. + +The basic installer gives you two options. Try in LIVE media or reformat the entire disk and install. Yes, entire disk. So be very careful if you’re trying to install in actual hardware. + +During my test, I had to install it in a virtual machine ([virt-manager][8]) because I don’t want to reformat my entire SSD. + +The installation went smooth. No error whatsoever. However, it took a little longer (probably 10 to 15 minutes extra) than other Linux distribution installation in same hardware. + +![Two options to Install and Try Endless OS][9] + +![This OS requires entire disk][10] + +#### First Login and Setup + +After the successful installation, you get to choose Language, user account, privacy options. These are standard GNOME options which we see in Fedora Workstation GNOME Edition. One of the important item is the terms of use. As this Linux is targeted for mass deployment for schools, non-profits or labs – you might want to go through the terms. + +User creation dialog have an option to set up parental control for the user being created, which is neat. + +#### How the Endless OS with GNOME desktop looks + +When you first boot up, you see a desktop with icons and a search bar. + +This is the application list menu, which is the default desktop screen. You can search any items in your desktop and launch them via the search bar. The search bar also gives you the option to directly search Google via Chromium, which is the default browser. + +This default desktop screen contains preloaded applications and well organized app folders for native GNOME apps. + +The bottom panel is awesome, really. It is well optimized in terms of looks and width. Not too narrow or wide. In the far left, you have Endless OS icon, which is a toggle for show applications and show desktop options. + +Then, you have the favorites as icons. The favorites icons have the app indicator notifying that it is open. If some app is not marked as favorites, they also show up in the bottom panel when opened with app indicator. This is super neat. + +To the right, the system tray is classified intro three sections. First one gives you the volume controls, network and Wi-Fi settings. In the middle you have date, time and calendar on mouse-hover. And at the extreme right you have the options to log out, switch user, power off and other information. All these menu comes up when you mouse-hover into it. You do not need to click them. + +#### Hot Corner and Workspace + +Endless OS is based on GNOME 3.38 version. Not GNOME. Hence, the workspace design is kind of unique. To the extreme right bottom – there is a hot corner. When you click on that, it brings up the current workspace with a list of running applications. When you mouse hover, you can close them or select them without leaving the view. + +#### Things that I feel Endless OS done right with GNOME + +If you have used GNOME in Ubuntu or Fedora, and then experienced it in Endless OS, you might find some UI tweaks works out of the box. You do not need to set up Extensions or change settings. Here are a couple of them I found that I wish GNOME with Fedora or Ubuntu would feature by default. + +- Clicking on desktop empty section shows the desktop by minimizing all open applications. And pressing ALT+TAB brings up the open app windows again. You can’t imagine how comfortable this behavior is. +- The show desktop and app toggle at the bottom right of the panel and its default mapping with Super key. This just works. +- All windows have Minimize, Maximize, and Close icons at the top right by default. You do not need additional tweaks to get it working. +- Hot corner implementation at the far right. +- Panel design in terms of width, app icons with app indicators. They are all default implementations. +- System tray menu popup in mouse over by default. You do not need an extra click to open it up. This is such a breathing while using the mouse. + +Here’s a quick video showing all the above features. + +#### Unique Features that make it perfect for non-technical users + +Perhaps the unique selling point of this Linux desktop is minimal user intervention during installation + post-install tweaks. And you can start using this desktop without internet connection right away. A perfect desktop for those places where internet is not always available. + +Think about a school at a remove place where Internet connectivity is costly or not available. But you need to have a stable, free and easy-to-use Linux Desktop for kids to learn the computing. You can burn a CD/DVD or create USB with language specific .ISO and deploy it offline. + +And post-installation does not require any additional settings at all. All the options are well defaulted and just works. + +#### Software and Applications + +One point to note that, Endless OS use Flatpak to deploy applications. There is no way to install other than Flatpak. For example, you can not use apt or apt-get at all because the file system is read only. + +That’s why, the .ISO itself is larger and contains all required applications, language packs preloaded. Ideal for schools, labs and other forms of deployments. + +However, if you need additional applications, you can install it using the customized App Center for GNOME with internet connection. + +The App Center have curated categories at the left which shows the Flatpak applications. The App center is configured to fetch application metadata directly from Flathub. + +![App Center in Endless OS][11] + +Oh, this OS supports NVIDIA cards out-of-the-box with either the proprietary driver for supported cards or nouveau for older ones. + +#### Help Center + +Think about a situation, where a student is learning computer for the first time using Endless OS. If the person want to change the login screen photo, how does he/she do? + +Here comes the great built-in help center of this OS which I feel one of the important feature. All the person need to do is type something in the desktop search bar and pull up help. + +This is so helpful, isn’t it? + +![Trying Help in Endless OS-1][12] + +![Trying Help in Endless OS-2][13] + +#### How about the performance? + +I have only managed to install it in a virtual machine. So, it has comfortable response time while using the desktop. The animations and other gestures are instant. I kept it running for more than 15 hours in a virtual machine. + +After 15 hours, it was consuming around 1 to 2% CPU and 1 GB of memory. Most of the CPU is consumed by gnome-shell, followed by Xorg. I am not sure why gnome-shell was consuming so much, might be memory leak bug. Not sure though. + +![Performance of Endless OS][14] + +#### What about disk space? + +As this Linux distribution plans to be a self-sufficient distro without internet, the installation size is a little larger compared to other distributions such as Ubuntu or Fedora. A default virtual machine installation takes around ~11 GB of disk space. + +#### Is it a perfect Linux Distribution? Well, not really. + +I try many Linux distributions and desktops for this blog and my work. Very few are perfect and ready to use just after installation. I mean, you don’t need to go over “10 things to do after installing **” with this Linux distribution. + +But, some minor improvements are welcome from the team in the future. First item I feel, an .ISO which is dedicated to be installed side-by-side with Ubuntu, fedora and other Linux. This is really needed. + +Probably some support for Snap packages in the future. + +And the final drawback might be the availability of applications only as Flatpak. Not every app have an official flatpak version today. That limits its capability to some extent, but not more. + +#### If things go wrong – how to get help and Support? + +There’s a great online active community of Endless OS where you get support from its creators. And the documentation is also very impressive which contains all necessary details ranging from installation to usage. You can visit the community and documentation using the below links. + +- [https://support.endlessos.org/en/home][15] + +- [https://community.endlessos.com/][16] + +### Closing Notes + +Endless OS is one of those few Linux distributions which I felt really well thought of and designed. It is perfect for schools, labs, and remote/offline situations. And perfectly designed to be used by anyone without prior knowledge of much computing, even experience of Windows. Even the Windows users would feel comfortable using this modified GNOME desktop. That said, I am hoping that the team should bring up options to install it alongside other Linux distributions. Then it might be a daily driver distribution for many Linux users and get more attention it deserves. + +If you want only one Linux operating system in your machine which is super stable and run for years, then go ahead and try this distribution. You will be amazed by how much time you save without worrying about terminal, commands, updates/upgrades and sudden package dependency surprises. + +To wrap up this Endless OS review, what you think about Endless OS? Is it a perfect distro? Let me know in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/endless-os-review-2021/ + +作者:[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/2021/11/Endless-OS-Desktop-version-4.0-1024x582.jpg +[2]: https://ostree.readthedocs.io/en/stable/ +[3]: https://www.debugpoint.com/category/distributions +[4]: https://support.endlessos.org/en/endless-os/release-notes/4-0 +[5]: https://support.endlessos.org/en/installation/windows-installer/dual-boot +[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Download-options-of-Endless-OS.jpg +[7]: https://endlessos.com/download/ +[8]: https://www.debugpoint.com/2020/11/virt-manager/ +[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Two-options-to-Install-and-Try-Endless-OS-1024x734.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2021/11/This-OS-requires-entire-disk.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2021/11/App-Center-in-Endless-OS-1024x625.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-1-1024x576.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-2.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2021/11/Performance-of-Endless-OS.jpg +[15]: https://support.endlessos.org/en/home +[16]: https://community.endlessos.com/ From 1f444cc91fc125bd37799717a34cf3f43739f3c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 24 Oct 2022 13:00:30 +0800 Subject: [PATCH 106/925] =?UTF-8?q?Rename=2020221024.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20How=20to=20Recover=20Arch=20Linux=20Install=20via?= =?UTF-8?q?=20chroot.md=20to=2020221023.0=20=E2=AD=90=EF=B8=8F=20How=20to?= =?UTF-8?q?=20Recover=20Arch=20Linux=20Install=20via=20chroot.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... => 20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md => 20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md} (100%) diff --git a/sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md similarity index 100% rename from sources/tech/20221024.0 ⭐️ How to Recover Arch Linux Install via chroot.md rename to sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md From e9039574ca61e2703ad929f05ea4c3522500f36e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 24 Oct 2022 13:00:57 +0800 Subject: [PATCH 107/925] =?UTF-8?q?Rename=2020221024.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Endless=20OS=20=E2=80=93=20Deskto?= =?UTF-8?q?p=20Linux=20Done=20Right=20for=20the=20Masses.md=20to=202022102?= =?UTF-8?q?3.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Endless=20OS=20?= =?UTF-8?q?=E2=80=93=20Desktop=20Linux=20Done=20Right=20for=20the=20Masses?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md => 20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md} (100%) diff --git a/sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md b/sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md similarity index 100% rename from sources/tech/20221024.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md rename to sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md From 1f9f38bb1dbc5a92a846227a9fb51de18df5bcb2 Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 24 Oct 2022 13:43:01 +0800 Subject: [PATCH 108/925] translated --- ...lete Guide to Configuring SSH in Ubuntu.md | 150 ++++++++---------- 1 file changed, 69 insertions(+), 81 deletions(-) diff --git a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md index f7d703762c..8b0600506f 100644 --- a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md +++ b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md @@ -7,69 +7,61 @@ [#]: publisher: ( ) [#]: url: ( ) -Complete Guide to Configuring SSH in Ubuntu +在 Ubuntu 中配置 SSH 的完整指南 ====== -SSH has become the default method of accessing a remote Linux server these days. +如今 SSH 已成为了登录远程服务器的默认方式。 -SSH stands for Secure Shell and it’s a powerful, efficient, and popular network protocol used to establish communication between two computers in a remote fashion. And let’s not forget the secure part of its name; SSH encrypts all traffic to prevent attacks like hijacking and eavesdropping while offering different authentication methods and a myriad of configuration options. +SSH 的全称是 `Secure Shell` (安全的 Shell),它功能强大、效率高,并且使用主流的网络协议在两个远程终端之间建立连接。让我们不要忘记它名称的安全部分,SSH 会加密所有的通信流量,以防止如劫持、窃听等攻击,同时提供不同的身份认证方式和无数个配置选项。 -In this beginner’s guide, you’ll learn: - - * The basic concept of SSH - * Setting up SSH server (on the system you want to access remotely) - * Connecting to remote server via SSH from the client machine (your personal computer) +在这份新手指南中,你会学到: + 1、SSH 的基本概念 + 2、设置 SSH 服务器(在你想要远程登录的系统上) + 3、从客户端(你的电脑)通过 SSH 连接 远程服务器 +### SSH 的基本概念 -### The absolute basics of SSH +在你看到配置过程前,让我们先了解一下 SSH 的全部基础概念。 -Before you see any configuration process, it will be better to go through the absolute basic concept of SSH. - -The SSH protocol is based on server-client architecture. The “server” allows the “client” to be connected over a communication channel. This channel is encrypted and the exchange is governed by the use of public and private SSH keys. +SSH 协议基于客户端-服务器(CS)架构。“服务器”允许“客户端”通过通信信进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。 ![Image credit: SSH][1] -[OpenSSH][2] is one of the most popular open source tools that provides the SSH functionality on Linux, BSD and Windows. +[OpenSSH][2] 是最流行的开源工具之一,在 Linux、BSD 和 Windows 系统上提供 SSH 功能。 -For a successful SSH set up, you need to: +想要成功配置 SSH,你需要: + 1、在服务器端部署 SSH 服务器组件(server components),由 `openssh-server` 包提供。 + 2、在你远程访问服务器的客户端上部署 SSH 客户端组件,由 `openssh-client` 包提供,大多数 Linux 和 BSD 发行版都已经预装好了。 - * Have SSH server components on the machine that acts as the server. This is provided by **openssh-server** package. - * Have SSH client component on the machine from where you want to connect to the remote server machine. This is provided by **openssh-client** package and most Linux and BSD distributions come preinstalled with it. +区分服务器和客户端是十分重要的事情。或许你不想要你的 PC 作为 SSH 服务器,除非你有充分理由希望其他人通过 SSH 连接你的系统。 +普遍来说,你有一个专用的服务器系统。例如,一个 [允许 Ubuntu 的树莓派][3]。你启动 [树莓派的 SSH 服务][4],这样你可以在你 PC 中的终端,通过 SSH 控制并管理设备。 +有了这些信息,让我们看看如何在 Ubuntu 上设置 SSH 服务器。 -It is important to keep a distinction between the server and client. You might not want your personal computer to act as SSH server unless you have good reasons where you want others to connect to your system via SSH. +### 在 Ubuntu 服务器中配置 SSH -Generally, you have a dedicated system working as the server. For example, a [Raspberry Pi running Ubuntu server][3]. You [enable SSH on the Raspberry Pi][4] so that you could control and manage the device from your main personal computer using SSH in a terminal. +设置 SSH 并不复杂,只需要以下几步。 -With that information, let’s see how you can set up a SSH server on Ubuntu. +#### 前提 + 1、在服务器端拥有 `sudo` 权限的用户 + 2、可以下载所需包的互联网连接 + 3、你的网络中至少有另一个系统。可以是局域网中的另一台电脑,远程服务器或者主机中安装的虚拟机。 -### Configuring SSH Server on Ubuntu +_**再次强调,在你想要通过 SSH 远程登录的系统上安装 SSH 服务**_ -Setting up SSH is not complicated and just needs a few steps to do it. +#### 第一步:安装所需包 -#### Prerequisites +让我们从打开终端输入一些必要命令开始。 - * A user with **sudo** privileges on the server machine - * Internet connection to download the required packages - * At least another system in your network. It can be another computer on your LAN, a remote server via Internet, or a virtual machine hosted in your computer. - - - -_**Again, the SSH server installation should be done on the system that you want to act as server and to which you want to connect remotely via SSH.**_ - -#### Step 1: Install required packages - -Let’s start by opening a terminal window to enter the necessary commands. - -Remember to [update your Ubuntu system][5] before installing new packages or software with to make sure that you are running the latest versions. +注意,在安装新的包或者软件前,要 [更新你的 Ubuntu 系统][5],以确保运行的是最新版本的程序。 ``` sudo apt update && sudo apt upgrade ``` -The package you need to run SSH Server is provided by openssh-server component from OpenSSH: +你要运行 SSH 服务器的包由 OpensSSH 的 `openssh-server` 组件提供: ``` sudo apt install openssh-server @@ -77,142 +69,138 @@ sudo apt install openssh-server ![][6] -#### Step 2: Checking the status of the server +#### 第二步:检查服务器状态 -Once the downloading and installation of the package is done the SSH service should be already running, but to be sure we will check it with: +但你下载并安装完包后,SSH 服务器应该已经运行了,但是为了确保万无一失我们需要检查一下: ``` service ssh status ``` -You may also use the systemd commands: +你还可以使用 `systemd` 命令: ``` sudo systemctl status ssh ``` -You should see something like this, with the word Active highlighted. Hit `q` to return to the command prompt. +你应该会看到这样的结果,其中 `active` 是高亮的。输入 `q` 退出该页面。 ![][7] -If in your case the service is not running you will have to activate like this: +如果你的结果中 SSH 服务没有运行,使用这个命令运行它: ``` sudo systemctl enable --now ssh ``` -#### Step 3: Allowing SSH through the firewall +#### 第三步:运行 SSH 通过防火墙 -Ubuntu comes with a firewall utility called [UFW][8] (UncomplicatedFirewall) which is an interface for **iptables** that in turn manages the network’s rules. If the firewall is active, it may prevent the connection to your SSH Server. +Ubuntu 带有名为 [UFW][8](简单的防火墙——UncomplicatedFirewall) 的防火墙,这是管理网络规则的 `iptables` 的一个接口。如果启动了防火墙,它可能会阻止你连接服务器。 -To configure UFW so that it allows the wanted access, you need to run the following command: +想要配置 UFW 允许你的接入,你需要运行如下命令: ``` sudo ufw allow ssh ``` -The status of UFW can be checked running `sudo ufw status`. +UFW 的运行状态可以通过运行`sudo ufw status` 来检查。 -At this time our SSH Server is up and running, just waiting for a connection from a client. +现在,我们的 SSH 服务器已经开始运行了,在等待来自客户端的连接。 -### Connecting to the remote system from your local machine +### 连接远程服务器 -Your local Linux system should already have SSH client installed. If not, you may always install it using the following command on Ubuntu: +你本地的 Linux 系统已经安装了 SSH 客户端。如果没有,你可以在 Ubuntu 中使用如下命令安装: ``` sudo apt install openssh-client ``` -To connect to your Ubuntu system you need to know the IP address of the computer and use the `ssh` command, like this: +要连接你的 Ubuntu 系统,你需要知道它的 IP 地址,然后使用 `ssh` 命令,就像这样: ``` ssh [email protected] ``` -Change **username** to your actual user in the system and **address** to the IP address of your Ubuntu machine. +将 **用户名**(username) 改为系统上真正的用户名,并将 **地址**(address) 改为你服务器的 IP 地址。 -If you don’t [know the IP address of your computer][9] you can type `ip a` in the terminal of the server and check the output. You should have something like this: +如果你 [不知道 IP 地址][9],可以在服务器的终端输入 `ip a` 查看结果。应该会看到这样的结果: ![Using “ip a” to find the IP address][10] -As can be seen here my IP address is **192.168.1.111**. Let’s try connecting using the **[[email protected]][11]** format. +可以看到我的 IP 地址是 **192.168.1.111**。让我们使用 **[[email protected]][11]** 格式进行连接。 ``` ssh [email protected] ``` -The first time you connect to a SSH server, it will ask for permission to add the host. Type `yes` and hit Enter to continue. +第一次连接 SSH 服务器时,它会请求添加主机。输入 `yes` 并回车即可。 ![First time connecting to the server][12] -Immediately SSH tells you that the host was permanently added and then asks for the password assigned to the username. Type in the password and hit Enter one more time. +SSH 会立即告诉你该主机已经被永久添加了,并要求你输入指定用户的口令,输入口令并再次按回车即可。 ![Host added, now type in the password][13] -And voila! You will be logged into your Ubuntu system remotely! +瞧,你远程登录了你的 Ubuntu 系统! ![Connected!][14] -Now you can work in your remote system’s terminal as normal. +现在,你可以在远程服务器的终端里和寻常一样工作了。 -#### Closing the SSH connection +#### 关闭 SSH 连接 -To close the connection you just need to type `exit` and it will close it at once, without asking for confirmation. +你只需要输入 `exit` 即可关闭连接,它会立马关闭不需要确认。 ![Closing the connection with “exit”][15] -### Stopping and Disabling SSH in Ubuntu +### 在 Ubuntu 中关闭并禁止 SSH Stopping and Disabling SSH in Ubuntu -If you want to stop SSH service you will need this command: +如果你想要停止 SSH 服务,需要运行该命令: ``` sudo systemctl stop ssh ``` -This will stop the service until you restart it or until the system is rebooted. To restart it, type: +该命令会关闭 SSH 服务,直到重启它或者系统重启。想要重启它,输入: ``` sudo systemctl start ssh ``` -Now, if you want to disable it from starting during system boot, use this: +现在,如果你想要禁止 SSH 跟随系统启动,使用该命令: ``` sudo systemctl disable ssh ``` -This won’t stop the service from running during the current session, just from loading during startup. If you want to let it start again during system boot, type: +该命令不会停止当前的 SSH 会话,只会在启动的时候生效。如果你想要它跟随系统启动,输入: ``` sudo systemctl enable ssh ``` -#### Other SSH clients +#### 其他 SSH 客户端 -The tool `ssh` is included in most *nix systems, from Linux to macOS, but those are not the only options in existence, here are a couple of clients that can be used from other operating systems: +大多数 `*nix` 系统中都有 `ssh` 工具,从 Linux 到 macOS,但这些并不是唯一存在的选项,这里有几个可以在其他操作系统中使用的客户端: - * [PuTTY][16] is a free SSH client for Windows and it’s open source. It’s full of features and very easy to use. If you are connecting to your Ubuntu machine from a Windows station, PuTTY is a great option. - * [JuiceSSH][17] is an amazing tool for Android users. If you are on the go and need a mobile client to connect to your Ubuntu system, I amply recommend giving JuiceSSH a go. It’s been around for almost 10 years and it’s free to use. - * And finally, [Termius][18] is available for Linux, Windows, macOS, iOS, and Android. It has a free tier version and also several premium options. If you are running a lot of servers and working with teams sharing connections then Termius is a good option for you. + * [PuTTY][16] 是一个免费并开源的 Windows 系统上的 SSH 客户端。它功能强大并且简单易用。如果你从 Windows 系统上连接你的 Ubuntu 服务器,PuTTY 是最好的选择。 + * [JuiceSSH][17] 对 Android 用户来说是十分优秀的工具。如果你在旅途中需要一个移动客户端来连接你的 Ubuntu 系统,我强烈建议你试试 JuiceSSH。它已经出现了将近 10 年,并且可以免费使用。 + * 最后是 [Termius][18],它可用于 Linux、Windows、macOS、iOS 和 Android。它有一个免费版本和几个高级选项。如果你运行大量服务器并进行共享连接的团队合作,那么 Termius 对你来说是一个不错的选择。 +#### 总结 +在这份指导中,你可以在 Ubuntu 系统中设置 SSH 作为服务器,允许来自你电脑的远程安全的连接,便于你通过命令行开展工作。 -#### Wrapping Up +我们的网站—— Linux Handbook——有许多关于 SSH 的文章。在此我推荐以下文章: -With these instructions, you can set up SSH as a server service in our Ubuntu systems to be able to connect remotely and securely to your computer in order to work with the command line and perform any required task. + * [Linux SSH 入门教程][19] + * [利用 SSH 配置文件管理多个 SSH 连接][20] + * [向SSH服务器添加公钥以进行无密码身份验证][21] + * [保护你的 SSH 服务器的 SSH 加固技巧][22] -Our other website, Linux Handbook, has various informational articles on SSH. From here, I recommend reading the following: +如果你觉得它太难了,[Linux Handbook 网站有一个高级视频课程,为初学者解释 SSH][23] 以及动手实验。这将使你对该内容有更简化的知识。 - * [Getting started with SSH on Linux][19] - * [Using SSH Config file to manage multiple SSH connections][20] - * [Adding public key to SSH server for password less authentication][21] - * [SSH hardening tips][22] to secure your SSH server - - - -If you find it overwhelming, [Linux Handbook has a premium video course that explains SSH for beginners][23] along with hands-on labs to follow. This will give you a more streamlined knowledge of the topic. - -Happy remote working! +远程工作快乐! -------------------------------------------------------------------------------- From fe3cc39793d11e0dcfb762fe576e3de55531845d Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 24 Oct 2022 13:52:37 +0800 Subject: [PATCH 109/925] translated --- ...30 Complete Guide to Configuring SSH in Ubuntu.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md index 8b0600506f..5bff24f778 100644 --- a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md +++ b/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md @@ -17,14 +17,14 @@ SSH 的全称是 `Secure Shell` (安全的 Shell),它功能强大、效率 在这份新手指南中,你会学到: 1、SSH 的基本概念 2、设置 SSH 服务器(在你想要远程登录的系统上) - 3、从客户端(你的电脑)通过 SSH 连接 远程服务器 + 3、从客户端(你的电脑)通过 SSH 连接远程服务器 ### SSH 的基本概念 -在你看到配置过程前,让我们先了解一下 SSH 的全部基础概念。 +在学习配置过程前,让我们先了解一下 SSH 的全部基础概念。 -SSH 协议基于客户端-服务器(CS)架构。“服务器”允许“客户端”通过通信信进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。 +SSH 协议基于客户端-服务器(CS)架构。“服务器”允许“客户端”通过通信进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。 ![Image credit: SSH][1] @@ -118,12 +118,12 @@ sudo apt install openssh-client 要连接你的 Ubuntu 系统,你需要知道它的 IP 地址,然后使用 `ssh` 命令,就像这样: ``` -ssh [email protected] +ssh username@address ``` -将 **用户名**(username) 改为系统上真正的用户名,并将 **地址**(address) 改为你服务器的 IP 地址。 +将 **用户名**(username) 改为系统上真正的用户名,并将 **地址**(address) 改为你服务器的 IP 地址。 -如果你 [不知道 IP 地址][9],可以在服务器的终端输入 `ip a` 查看结果。应该会看到这样的结果: +如果你 [不知道 IP 地址][9],可以在服务器的终端输入 `ip a` 查看结果。应该会看到这样的结果: ![Using “ip a” to find the IP address][10] From 644a53e2d0a026a315c0c1b91b1fdd96bb1cf1b9 Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 24 Oct 2022 13:54:01 +0800 Subject: [PATCH 110/925] mv dir --- .../tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md (100%) diff --git a/sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/translated/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md similarity index 100% rename from sources/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md rename to translated/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md From f7a863c7dbdb9c4ad58de0f1e942d2e08d590241 Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Mon, 24 Oct 2022 15:52:35 +0800 Subject: [PATCH 111/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20210811 My top 5 tips for setting up Terraform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210811 My top 5 tips for setting up Terraform.md b/sources/tech/20210811 My top 5 tips for setting up Terraform.md index 143727fb09..a68ac0c3cf 100644 --- a/sources/tech/20210811 My top 5 tips for setting up Terraform.md +++ b/sources/tech/20210811 My top 5 tips for setting up Terraform.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/21/8/terraform-tips" [#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "cool-summer-021" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 60c7395c92a266015bc80650900484e6f421fe6c Mon Sep 17 00:00:00 2001 From: MareDevi Date: Mon, 24 Oct 2022 16:25:36 +0800 Subject: [PATCH 112/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n open source design system to create new community logos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210426 How we built an open source design system to create new community logos.md b/sources/tech/20210426 How we built an open source design system to create new community logos.md index 81089c3c74..6032ddb852 100644 --- a/sources/tech/20210426 How we built an open source design system to create new community logos.md +++ b/sources/tech/20210426 How we built an open source design system to create new community logos.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/4/ansible-community-logos) [#]: author: (Fiona Lin https://opensource.com/users/fionalin) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (MareDevi) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 12652c165c0ef75034abde587d2cbeb37ea9f5ae Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 24 Oct 2022 23:24:26 +0800 Subject: [PATCH 113/925] ALL @wxy https://linux.cn/article-15173-1.html --- ...20.1 ⭐️ Kubuntu 22.10 is Now Available!.md | 120 ++++++++++++++++++ ...20.1 ⭐️ Kubuntu 22.10 is Now Available!.md | 117 ----------------- 2 files changed, 120 insertions(+), 117 deletions(-) create mode 100644 published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md delete mode 100644 sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md diff --git a/published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md b/published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md new file mode 100644 index 0000000000..0602812029 --- /dev/null +++ b/published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md @@ -0,0 +1,120 @@ +[#]: subject: "Kubuntu 22.10 is Now Available!" +[#]: via: "https://news.itsfoss.com/kubuntu-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15173-1.html" + +Kubuntu 22.10 的新变化 +====== + +> Kubuntu 22.10 可能不是最令人兴奋的升级。但是,它包括了一些有用的变化。 + +![Kubuntu 22.10 现已发布][1] + +Kubuntu 是 Ubuntu 的一个官方版本,它在一个精致的 KDE 驱动的软件包中提供了很多功能。 + +Kubuntu 22.10 的发布带来了各种改进和一个 [KDE Plasma][2] 的更新版本。 + +让我们来看看这个版本的亮点。 + +### Kubuntu 22.10 有什么新变化? + +![Kubuntu 22.10 桌面][3] + +Kubuntu 22.10 带来了很多更新,其中一些重要的更新包括: + +- KDE Plasma 5.25 +- Linux 内核 5.19 +- PipeWire +- Firefox 104 +- Qt 5.15.6 + +> 💡 Kubuntu 22.10 将被支持九个月,直到 **2023 年 7 月**。如果你想要稳定而不是功能,你应该更喜欢使用 [LTS 版本][4]。 + +#### KDE Plasma 5.25 + +![Kubuntu 22.10 KDE 版本][5] + +尽管最近 [KDE Plasma 5.26][6] 已经发布了,但 Kubuntu 22.10 还是搭载了 KDE Plasma 5.25。 + +然而,KDE Plasma 5.25 与 5.24 相比仍然是一个重大的更新,它包含了很多改进,例如,加强了对触摸板/触摸屏的支持,升级了用户界面等等。 + +你可以阅读我们对 KDE Plasma 5.25 的报道来了解更多。 + +> **[KDE Plasma 5.25:颜色、主题和其他改进][15]** + +另外,你可以期待 KDE Plasma 5.26 作为一个小版本发布,而不是作为 Kubuntu 22.10 发布的一部分。 + +#### 默认采用 PipeWire + +像大多数基于 Ubuntu 22.10 的发行版一样,[PipeWire][7] 是这个版本的 Kubuntu 的默认音频/视频处理器。 + +它取代了 [PulseAudio][8],众所周知,它与 Ubuntu 22.10 不兼容。 + +#### Linux 内核 5.19 + +![Kubuntu 22.10 Linux 内核 5.19][9] + +Kubuntu 22.10 采用了最新的 Linux 内核 5.19,这应该会带来对 ARM SoC 和 Arc Alchemist GPU 的支持、Btrfs 的各种改进、对 AMD RDNA3 图形的初步支持等等。 + +#### 测试用的 Wayland 会话 + +![Kubuntu 22.10 Wayland 会话切换器][10] + +Kubuntu 22.10 具有对 Plasma Wayland 会话的初步支持,但它仅用于测试目的,并不是一个完整的集成。 + +![Kubuntu 22.10 Wayland 会话信息][11] + +#### 其他升级 + +其他一些更新包括: + +- 自定义桌面重点颜色 +- 默认浏览器是 Firefox 104 Snap +- Qt 5.15.6 +- LibreOffice 7.4 +- 改进的应用程序商店 + +要探索更多关于该版本的信息,请参考 [官方发布说明][12]。 + +### 下载 Kubuntu 22.10 + +你可以从 [Ubuntu 的中央镜像库][13] 或其 [官方网站][14] 下载最新的 ISO。 + +> **[Kubuntu 22.10][14]** + +*它的官方网站可能需要一段时间来提供 ISO。* + +💬 你对这个版本感到兴奋吗? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kubuntu-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/kubuntu-22-10-release.jpg +[2]: https://kde.org/plasma-desktop/ +[3]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Desktop.png +[4]: https://itsfoss.com/long-term-support-lts/ +[5]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_KDE_Version.png +[6]: https://news.itsfoss.com/kde-plasma-5-26-release/ +[7]: https://pipewire.org/ +[8]: https://www.freedesktop.org/wiki/Software/PulseAudio/ +[9]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Linux_Kernel.png +[10]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session.png +[11]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session_2.png +[12]: https://wiki.ubuntu.com/KineticKudu/ReleaseNotes/Kubuntu +[13]: https://cdimage.ubuntu.com/kubuntu/releases/22.10/release/ +[14]: https://kubuntu.org/getkubuntu/ +[15]: https://news.itsfoss.com/kde-plasma-5-25-release/ \ No newline at end of file diff --git a/sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md b/sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md deleted file mode 100644 index 25079076e9..0000000000 --- a/sources/news/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md +++ /dev/null @@ -1,117 +0,0 @@ -[#]: subject: "Kubuntu 22.10 is Now Available!" -[#]: via: "https://news.itsfoss.com/kubuntu-22-10-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Kubuntu 22.10 is Now Available! -====== - -Kubuntu 22.10 may not be the most exciting upgrade. But, it includes useful changes! - -![Kubuntu 22.10 is Now Available!][1] - -Kubuntu is an official Ubuntu flavor that offers a lot of functionality in a refined KDE-powered package. - -The release of Kubuntu 22.10 promises various improvements and a newer version of [KDE Plasma][2]. - -Let us go through the highlights of this release. - -### Kubuntu 22.10: What's New? - -![kubuntu 22.10 desktop][3] - -Kubuntu 22.10 is bringing in a lot of updates, some of the important ones that you can expect are: - -- **KDE Plasma 5.25** -- **Linux Kernel 5.19** -- **PipeWire** -- **Firefox 104** -- **Qt 5.15.6** - -> 💡Kubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][4]. - -#### KDE Plasma 5.25 - -![kubuntu 22.10 kde version][5] - -Even though[KDE Plasma 5.26][6] was released recently, Kubuntu 22.10 ships with KDE Plasma 5.25. - -However, KDE Plasma 5.25 is still a major update over 5.24, which contained a lot of improvements such as, enhanced support for touchpads/touchscreens, upgrades to the user interface, and more. - -You can read our coverage of KDE Plasma 5.25 to learn more: - -Also, you can expect KDE Plasma 5.26 to come as a point release instead of being part of the launch of Kubuntu 22.10. - -#### PipeWire Default - -Like most Ubuntu 22.10-based distros, [PipeWire][7] is the default audio/video handler in this version of Kubuntu. - -It replaces [PulseAudio][8], known to not play nice with Ubuntu 22.10. - -#### Linux Kernel 5.19 - -![kubuntu 22.10 linux kernel 5.19][9] - -Kubuntu 22.10 features the latest Linux Kernel 5.19, this should lead to improved support for ARM SoCs, Arc Alchemist GPUs, various BTRFS improvements, initial support for AMD RDNA3 graphics, and more. - -#### Wayland Session for Testing - -![kubuntu 22.10 wayland session switcher][10] - -Kubuntu 22.10 features initial support for a Plasma Wayland session, but it is intended for testing purposes only and is not a complete integration. - -![kubuntu 22.10 wayland session info][11] - -#### Other Upgrades - -Some of the other updates include the following: - -- Ability to customize desktop accent color. -- Firefox 104 snap as the default browser. -- Qt 5.15.6 -- LibreOffice 7.4 -- Improved App Store. - -To explore more about the release, refer to the [official release notes][12]. - -### Download Kubuntu 22.10 - -You can download the latest ISO from [Ubuntu's central image repository][13] or its [official website][14]. - -[Kubuntu 22.10][14] - -It might take a while for its official website to make the ISO available. - -💬 Are you excited about this release? - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/kubuntu-22-10-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/kubuntu-22-10-release.jpg -[2]: https://kde.org/plasma-desktop/ -[3]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Desktop.png -[4]: https://itsfoss.com/long-term-support-lts/ -[5]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_KDE_Version.png -[6]: https://news.itsfoss.com/kde-plasma-5-26-release/ -[7]: https://pipewire.org/ -[8]: https://www.freedesktop.org/wiki/Software/PulseAudio/ -[9]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Linux_Kernel.png -[10]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session.png -[11]: https://news.itsfoss.com/content/images/2022/10/Kubuntu_22.10_Wayland_Session_2.png -[12]: https://wiki.ubuntu.com/KineticKudu/ReleaseNotes/Kubuntu -[13]: https://cdimage.ubuntu.com/kubuntu/releases/22.10/release/ -[14]: https://kubuntu.org/getkubuntu/ From eb16d125c02ad62d8866f2305e3f202554e07213 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 25 Oct 2022 00:10:29 +0800 Subject: [PATCH 114/925] ALL @wxy https://linux.cn/article-15174-1.html --- ...2.10 Release Has Some Interesting Upgrades!.md | 126 ++++++++++++++++++ ...2.10 Release Has Some Interesting Upgrades!.md | 123 ----------------- 2 files changed, 126 insertions(+), 123 deletions(-) create mode 100644 published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md delete mode 100644 sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md diff --git a/published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md b/published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md new file mode 100644 index 0000000000..10ef5e9b6f --- /dev/null +++ b/published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md @@ -0,0 +1,126 @@ +[#]: subject: "Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!" +[#]: via: "https://news.itsfoss.com/ubuntu-mate-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15174-1.html" + +Ubuntu MATE 22.10 的新变化 +====== + +> Ubuntu MATE 22.10 已经发布,其中有一些细微而有用的变化。来看看吧! + +![Ubuntu MATE 22.10 版本有一些有趣的升级!][1] + +Ubuntu MATE 是 [Ubuntu 官方版本][2] 之一,每次升级都会增加有趣的改进。 + +它的目标用户是那些既珍惜传统桌面的外观和感觉,又渴望现代操作系统的功能的用户。 + +Ubuntu MATE 22.10 版本增加了许多改进和功能,让我们来看看这些。 + +### Ubuntu MATE 22.10 的新变化 + +![Ubuntu MATE 22.10 桌面][3] + +基于非 LTS 版本的 [Ubuntu 22.10][4] ,Ubuntu MATE 22.10 带来了多项更新,一些关键的亮点包括: + +- 对 MATE 桌面的改进。 +- 新的 AI 墙纸。 +- PipeWire 是默认的音频服务器。 +- 新的 MATE 用户管理器。 +- Firefox 105 更新。 +- LibreOffice 7.4。 + +> 💡 注意,Ubuntu MATE 的升级通常包括更多的功能补充。但这一次,Martin Wimpress 一直致力于为 Debian MATE 版带来类似的体验。你可以在我们之前的报道中阅读更多细节。 + +> [准备好在 Debian Linux 上获得 Ubuntu MATE 体验吧!][15] + +#### MATE 桌面升级 + +![Ubuntu MATE 22.10 桌面视图][5] + +MATE 桌面收到了各种错误修复和对 Ayatana 指示器、MATE 面板的更新。 + +现在,你可以将小程序居中对齐,与通常的左右对齐选项一起。 + +这项功能将在 MATE 桌面 1.28 版中正式出现,但 Ubuntu MATE 团队在 MATE 桌面 1.27 版的基础上将其与这个版本一起推出。 + +#### MATE 用户管理器 + +![Ubuntu MATE 22.10 用户管理器][6] + +MATE 用户管理器是该发行版的一个新的补充,允许你添加、修改、删除用户账户。 + +有了它,你可以选择哪些用户可以成为管理员、设置自动登录、设置个人资料图片,以及管理组成员资格。对于有多个用户的计算机来说,这是一个相当方便和急需的功能。 + +#### 新的 AI 壁纸 + +![Ubuntu MATE 22.10 AI 壁纸][7] + +这个版本的另一大亮点是增加了新的 AI 生成的壁纸。 + +这些看起来很美 😍 + +鉴于人工智能生成的壁纸现在正大行其道,Ubuntu MATE 团队在 Ubuntu MATE 22.10 中加入了一批新的壁纸。 + +它是由 [Simon Butcher][8] 使用扩散模型创建的,用来描画 “捻角羚”。 + +#### Linux 内核 5.19 + +Ubuntu MATE 22.10 得益于 Linux 内核 5.19 带来的改进,对各种 ARM SoC、Arc Alchemist GPU 等提供了增强支持。 + +你可以阅读我们的相关报道以了解更多。 + +#### 🛠️ 其他变化和改进 + +与其他新版本一样,Ubuntu MATE 22.10 用 [PipeWire][10] 取代了 [PulseAudio][9],以获得更好的音频处理,并加入了额外的蓝牙编解码器,如 AAC、LDAC、aptX 和 aptX HD。 + +其他值得注意的变化包括: + +- 更新的应用程序包括:Firefox 105、LibreOffice 7.4、Celluloid 0.20 和 Evolution 3.46。 +- Ubuntu MATE HUD 支持 MATE、XFCE 和 Budgie,具有更多的配置能力。 + +如果你感到好奇,你可以查看 Ubuntu MATE 22.10 [官方发布说明][11]。 + +### 下载 Ubuntu MATE 22.10 + +你可以从 [Ubuntu 的中央镜像库][12] 或其 [官方网站][13] 下载最新的 ISO。 + +*它的官方网站/仓库可能需要一段时间来提供 ISO。* + +> 💡 Ubuntu MATE 22.10 将被支持九个月,直到 **2023 年 7 月** 。如果你想要稳定而不是功能,你应该更喜欢使用 [LTS 版本][14]。 + +> **[下载 Ubuntu MATE 22.10][13]** + +💬 _有兴趣尝试 Ubuntu MATE 22.10 吗?请在评论中告诉我你的想法。_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-mate-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-22-10-release.jpg +[2]: https://itsfoss.com/which-ubuntu-install/ +[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-mate-22-10.png +[4]: https://news.itsfoss.com/ubuntu-22-10-features/ +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_Desktop.png +[6]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_User_Manager.png +[7]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_AI_Wallpapers.png +[8]: https://twitter.com/simonjbutcher +[9]: https://www.freedesktop.org/wiki/Software/PulseAudio/ +[10]: https://pipewire.org/ +[11]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ +[12]: https://cdimage.ubuntu.com/ubuntu-mate/releases/22.10/release/ +[13]: https://ubuntu-mate.org/download/ +[14]: https://itsfoss.com/long-term-support-lts/ +[15]: https://news.itsfoss.com/ubuntu-mate-debian/ \ No newline at end of file diff --git a/sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md b/sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md deleted file mode 100644 index 137a2f994a..0000000000 --- a/sources/news/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md +++ /dev/null @@ -1,123 +0,0 @@ -[#]: subject: "Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!" -[#]: via: "https://news.itsfoss.com/ubuntu-mate-22-10-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu MATE 22.10 Release Has Some Interesting Upgrades! -====== - -Ubuntu MATE 22.10 has arrived with subtle and useful changes. Take a lookie! - -![Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!][1] - -Ubuntu MATE is one of the [official Ubuntu flavours][2] that add interesting improvements with every upgrade. - -It is aimed at users who cherish the look and feel of a traditional desktop but also desire the functionality of a modern operating system. - -Ubuntu MATE 22.10 release adds a number of betterments and features, let us take a look at those. - -### Ubuntu MATE 22.10: What's New? - -![ubuntu mate 22.10 desktop][3] - -Based on the non-LTS release of [Ubuntu 22.10][4] '_Kinetic Kudu_', Ubuntu MATE 22.10 brings in multiple updates, some key highlights include: - -- **Improvements to MATE Desktop.** -- **New AI Wallpapers.** -- **PipeWire is the default audio server.** -- **New MATE User Manager.** -- **Firefox 105 update.** -- **LibreOffice 7.4.** - -> 💡Note that Ubuntu MATE upgrades usually include more feature additions. This time, **Martin Wimpress** has been working to bring a similar experience to the Debian MATE edition. You can read more details in our previous coverage. - -#### MATE Desktop Upgrades - -![ubuntu mate 22.10 desktop view][5] - -MATE desktop receives various bug fixes and updates to the **Ayatana indicators** and the **MATE Panel**. - -Now, you can align the applets to the **center** alongside the usual left and right alignment options. - -This feature officially arrives with **MATE Desktop 1.28 **release, but the Ubuntu MATE team has made it available with this release on top of **MATE Desktop 1.27**. - -#### MATE User Manager - -![ubuntu mate 22.10 user manager][6] - -The MATE user manager is a new addition to the distro, allowing you to add/modify/remove user accounts. - -With this, you can choose which users can be administrators, set up auto-login, set profile pictures, and manage group memberships. Pretty handy and a much-needed feature for computers with multiple users. - -#### New AI Wallpapers - -![ubuntu mate 22.10 ai wallpapers][7] - -Another big highlight of this release is the addition of new AI-generated wallpapers. - -These look beautiful! 😍 - -Seeing that AI-generated wallpapers are all the rage right now, the Ubuntu MATE team has included a new bunch of them with Ubuntu MATE 22.10. - -It was created by [Simon Butcher][8] using diffusion models to illustrate 'kudu' (Antelope). - -#### Linux Kernel 5.19 - -Ubuntu MATE 22.10 leverages the improvements brought forward by Linux Kernel 5.19, including enhanced support for various ARM SoCs, Arc Alchemist GPUs, and more. - -You can read our coverage of the same to learn more. - -#### 🛠️ Other Changes and Improvements - -As with every other new release, Ubuntu MATE 22.10 replaces [PulseAudio][9] with [PipeWire][10] for better audio handling and the inclusion of additional Bluetooth codecs such as AAC, LDAC, aptX, and aptX HD. - -Other notable changes include: - -- **Updated apps include Firefox 105, LibreOffice 7.4, Celluloid 0.20 and Evolution 3.46.** -- **Ubuntu MATE HUD supports MATE, XFCE, and Budgie with more configuration ability.** - -You can check out Ubuntu MATE 22.10 [official release notes][11] if you are curious. - -### Download Ubuntu MATE 22.10 - -You can download the latest ISO from [Ubuntu's central image repository][12] or its [official website][13]. - -It might take a while for its official website/repo to make the ISO available. - -> 💡Ubuntu MATE 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][14]. - -[Download Ubuntu MATE 22.10][13] - -💬 _Interested in trying Ubuntu MATE 22.10? Let me know your thoughts in the comments._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-mate-22-10-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-22-10-release.jpg -[2]: https://itsfoss.com/which-ubuntu-install/ -[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-mate-22-10.png -[4]: https://news.itsfoss.com/ubuntu-22-10-features/ -[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_Desktop.png -[6]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_User_Manager.png -[7]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10_AI_Wallpapers.png -[8]: https://twitter.com/simonjbutcher -[9]: https://www.freedesktop.org/wiki/Software/PulseAudio/ -[10]: https://pipewire.org/ -[11]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ -[12]: https://cdimage.ubuntu.com/ubuntu-mate/releases/22.10/release/ -[13]: https://ubuntu-mate.org/download/ -[14]: https://itsfoss.com/long-term-support-lts/ From b96cde5c9503e2634dfe29bd8f6b1c91dfde52a0 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 25 Oct 2022 08:14:33 +0800 Subject: [PATCH 115/925] translated --- ...u 22.10 and Make it Default Text Editor.md | 111 ------------------ ...u 22.10 and Make it Default Text Editor.md | 110 +++++++++++++++++ 2 files changed, 110 insertions(+), 111 deletions(-) delete mode 100644 sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md create mode 100644 translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md diff --git a/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md b/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md deleted file mode 100644 index 321877f0f3..0000000000 --- a/sources/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md +++ /dev/null @@ -1,111 +0,0 @@ -[#]: subject: "Install Gedit on Ubuntu 22.10 and Make it Default Text Editor" -[#]: via: "https://itsfoss.com/install-gedit-ubuntu/" -[#]: author: "Abhishek Prakash https://itsfoss.com/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Install Gedit on Ubuntu 22.10 and Make it Default Text Editor -====== - -[GNOME has a brand new text editor][1] to replace the good old Gedit editor. - -While it was already available with GNOME 42, Ubuntu 22.04 relied on Gedit. - -This is changing in Ubuntu 22.10. GNOME Text Editor is the default here and Gedit is not even installed. - -![Searching for text editor only brings GNOME Text Editor][2] - -While the new editor is good enough, not everyone would like it. This is especially if you use Gedit extensively with additional plugins. - -If you are among those people, let me show you how to install Gedit on Ubuntu. I’ll also share how you can make it the default text editor. - -### Install Gedit on Ubuntu - -This is actually a no-brainer. While Gedit is not installed by default, it is still available in Ubuntu repositories. - -So, all you have to do is to use the apt command to install it: - -``` -sudo apt install gedit -``` - -Gedit is also available in the software center but it is the snap package. You could install that if you want. - -![Gedit is also available in Ubuntu’s Snap Store][3] - -#### Install Gedit Plugins (optional) - -By default, Gedit gives you the option to access a few plugins. You can enable or disable the plugins from the menu->preference->plugins. - -![Accessing plugins in Gedit][4] - -You should see the available plugins here. The installed or in-use plugins are checked. - -![See the available and installed plugins in Gedit][5] - -However, you can take the plugin selection to the next level by installing the gedit-plugins meta package. - -``` -sudo apt install gedit-plugins -``` - -This will give you access to additional plugins like bookmarks, bracket completion, Python console and more. - -![Additional Gedit plugins][6] - -**Tip**: If you notice that Gedit looks a bit out of place for the lack of around bottom corners, you can install a GNOME extension called [Round Bottom Corner][7]. This will force round bottom corners for all applications including Gedit. - -### Make Gedit the default text editor - -Alright! So you have installed Gedit but the text files still open in GNOME Text Editor with double click action. To open a file with Gedit, you need to right click and then select the ‘open with’ option. - -If you want Gedit to open text files all the time, you can set it as default. - -Right click on a text file and go with “open with” option. Select Gedit here and enable the “Always use for this file type” option from the bottom. - -![Set Gedit as the default text editor][8] - -### Remove Gedit - -Don’t feel Gedit is up to the mark? That’s rare, but I am not judging you. To remove Gedit from Ubuntu, use the following command: - -``` -sudo apt remove gedit -``` - -You may also try uninstalling it from the software center. - -### Conclusion - -GNOME Text Editor is the next-gen, created-from-scratch editor that blends well with the new GNOME. - -It’s good enough for simple text editing. However, Gedit has a plugin ecosystem that gives it more feature. - -For those who use it extensively for coding and other stuff, installing Gedit is still an option in Ubuntu. - -What about you? Will you stick with the default new text editor or would you go back to the good old Gedit? - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/install-gedit-ubuntu/ - -作者:[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/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/gnome-text-editor/ -[2]: https://itsfoss.com/wp-content/uploads/2022/10/text-editor-ubuntu.png -[3]: https://itsfoss.com/wp-content/uploads/2022/10/install-gedit-from-ubuntu-software-center.png -[4]: https://itsfoss.com/wp-content/uploads/2022/10/access-plugins-in-gedit.png -[5]: https://itsfoss.com/wp-content/uploads/2022/10/plugins-in-gedit.png -[6]: https://itsfoss.com/wp-content/uploads/2022/10/additional-plugins-gedit.png -[7]: https://extensions.gnome.org/extension/5237/rounded-window-corners/ -[8]: https://itsfoss.com/wp-content/uploads/2022/10/set-gedit-default.png diff --git a/translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md b/translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md new file mode 100644 index 0000000000..2b2023b118 --- /dev/null +++ b/translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md @@ -0,0 +1,110 @@ +[#]: subject: "Install Gedit on Ubuntu 22.10 and Make it Default Text Editor" +[#]: via: "https://itsfoss.com/install-gedit-ubuntu/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +# 在 Ubuntu 22.10 上安装 Gedit 并将其设为默认文本编辑器 + +[GNOME 有一个全新的文本编辑器][1]来取代旧的 Gedit 编辑器。 + +虽然 GNOME 42 已经可以使用它,但 Ubuntu 22.04 依赖于 Gedit。 + +这在 Ubuntu 22.10 中发生了变化。 GNOME 文本编辑器是默认程序,甚至没有安装 Gedit。 + +![搜索文本编辑器只出现 GNOME 文本编辑器][2] + +虽然新编辑器足够好,但并不是每个人都喜欢它。如果你将 Gedit 与其他插件一起频繁使用,则尤其如此。 + +如果你属于这些人,让我向你展示如何在 Ubuntu 上安装 Gedit。我还将分享如何将其设为默认文本编辑器。 + +### 在 Ubuntu 上安装 Gedit + +这实际上是不费吹灰之力的。虽然默认未安装 Gedit,但它仍然可以在 Ubuntu 仓库中找到。 + +所以,你所要做的就是使用 apt 命令来安装它: + +``` +sudo apt install gedit +``` + +Gedit 也可以在软件中心中找到,但它是 snap 包。如果你愿意,你可以安装它。 + +![Gedit 也可以在 Ubuntu 的 Snap 商店中找到][3] + +#### 安装 Gedit 插件(可选) + +默认情况下,Gedit 为你提供访问一些插件的选项。你可以从 menu->preference->plugins 启用或禁用插件。 + +![在 Gedit 中访问插件][4] + +你可以在这里看到可用的插件。检查已安装或正在使用的插件。 + +![查看 Gedit 中可用和已安装的插件][5] + +但是,你可以通过安装 gedit-plugins 元数据包将插件选择提升到一个新的水平。 + +``` +sudo apt install gedit-plugins +``` + +这将使你可以访问其他插件,如书签、括号补全、Python 控制台等。 + +![其他 Gedit 插件][6] + +**提示**:如果你发现 Gedit 因缺少底角而显得有些格格不入,你可以安装一个名为 [Round Bottom Corner][7] 的 GNOME 扩展。这将为包括 Gedit 在内的所有应用强制圆底角。 + +### 使 Gedit 成为默认文本编辑器 + +好了!你已经安装了 Gedit,但文本文件仍然在双击操作后使用 GNOME 文本编辑器打开。要使用 Gedit 打开文件,你需要右键单击,然后选择“打开方式”选项。 + +如果你希望一直使用 Gedit 打开文本文件,你可以将其设置为默认程序。 + +右键单击文本文件并选择“打开方式”选项。在此处选择 Gedit 并从底部启用“始终用于此文件类型”选项。 + +![设置 Gedit 为默认文本编辑器][8] + +### 删除 Gedit + +觉得 Gedit 没达到预期么?这很少见,但我不会评判你。要从 Ubuntu 中删除 Gedit,请使用以下命令: + +``` +sudo apt remove gedit +``` + +你也可以尝试从软件中心卸载它。 + +### 总结 + +GNOME 文本编辑器是下一代从头开始创建的编辑器,它与新的 GNOME 完美融合。 + +对于简单的文本编辑来说已经足够了。然而,Gedit 有一个插件生态系统,赋予它更多功能。 + +对于那些将它广泛用于编码和其他事情的人来说,安装 Gedit 仍然是 Ubuntu 中的一个选项。 + +那你呢?你会坚持使用默认的新文本编辑器还是回到旧的 Gedit? + +--- + +via: https://itsfoss.com/install-gedit-ubuntu/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者 ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/gnome-text-editor/ +[2]: https://itsfoss.com/wp-content/uploads/2022/10/text-editor-ubuntu.png +[3]: https://itsfoss.com/wp-content/uploads/2022/10/install-gedit-from-ubuntu-software-center.png +[4]: https://itsfoss.com/wp-content/uploads/2022/10/access-plugins-in-gedit.png +[5]: https://itsfoss.com/wp-content/uploads/2022/10/plugins-in-gedit.png +[6]: https://itsfoss.com/wp-content/uploads/2022/10/additional-plugins-gedit.png +[7]: https://extensions.gnome.org/extension/5237/rounded-window-corners/ +[8]: https://itsfoss.com/wp-content/uploads/2022/10/set-gedit-default.png From 732e5ebcc244ef4601e5d1ae3c4bdd35dfbfcbac Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 25 Oct 2022 08:20:32 +0800 Subject: [PATCH 116/925] translating --- ... How to Install Python 3.10 in Ubuntu and Other Related Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md b/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md index 5477fc6c6b..8059afcab4 100644 --- a/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md +++ b/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/install-python-3-10-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 70c774398343dbee1f50ef7d429480da7b0169b0 Mon Sep 17 00:00:00 2001 From: CoWave Fall <105500745+CoWave-Fall@users.noreply.github.com> Date: Tue, 25 Oct 2022 10:04:29 +0800 Subject: [PATCH 117/925] =?UTF-8?q?[=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87]?= =?UTF-8?q?=2020221015.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Enable=20and=20?= =?UTF-8?q?Access=20USB=20Drive=20in=20VirtualBox.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md index f28ee2e5bd..edb15071c3 100644 --- a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md +++ b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "CoWave-Fall" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -89,7 +89,7 @@ via: https://www.debugpoint.com/enable-usb-virtualbox/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[CoWave-Fall](https://github.com/CoWave-Fall) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From fcedd6d9749de6d4f98a6371b09a15f0d1118c18 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 25 Oct 2022 10:22:09 +0800 Subject: [PATCH 118/925] RP @Donkey-Hao https://linux.cn/article-15175-1.html --- ...lete Guide to Configuring SSH in Ubuntu.md | 76 ++++++++++--------- 1 file changed, 39 insertions(+), 37 deletions(-) rename {translated/tech => published}/20210530 Complete Guide to Configuring SSH in Ubuntu.md (60%) diff --git a/translated/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/published/20210530 Complete Guide to Configuring SSH in Ubuntu.md similarity index 60% rename from translated/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md rename to published/20210530 Complete Guide to Configuring SSH in Ubuntu.md index 5bff24f778..44f76a5efa 100644 --- a/translated/tech/20210530 Complete Guide to Configuring SSH in Ubuntu.md +++ b/published/20210530 Complete Guide to Configuring SSH in Ubuntu.md @@ -3,40 +3,43 @@ [#]: author: (Chris Patrick Carias Stas https://itsfoss.com/author/chris/) [#]: collector: (lujun9972) [#]: translator: (Donkey-Hao) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15175-1.html) 在 Ubuntu 中配置 SSH 的完整指南 ====== -如今 SSH 已成为了登录远程服务器的默认方式。 +![](https://img.linux.net.cn/data/attachment/album/202210/25/102118u33grazpccrvxwdf.jpg) -SSH 的全称是 `Secure Shell` (安全的 Shell),它功能强大、效率高,并且使用主流的网络协议在两个远程终端之间建立连接。让我们不要忘记它名称的安全部分,SSH 会加密所有的通信流量,以防止如劫持、窃听等攻击,同时提供不同的身份认证方式和无数个配置选项。 +> 如今 SSH 已成为了登录远程服务器的默认方式。 + +SSH 的全称是 “安全的 ShellSecure Shell”,它功能强大、效率高,这个主流的网络协议用于在两个远程终端之间建立连接。让我们不要忘记它名称的“安全”部分,SSH 会加密所有的通信流量,以防止如劫持、窃听等攻击,同时提供不同的身份认证方式和无数个配置选项。 在这份新手指南中,你会学到: - 1、SSH 的基本概念 - 2、设置 SSH 服务器(在你想要远程登录的系统上) - 3、从客户端(你的电脑)通过 SSH 连接远程服务器 + - SSH 的基本概念 + - 设置 SSH 服务器(在你想要远程登录的系统上) + - 从客户端(你的电脑)通过 SSH 连接远程服务器 ### SSH 的基本概念 在学习配置过程前,让我们先了解一下 SSH 的全部基础概念。 -SSH 协议基于客户端-服务器(CS)架构。“服务器”允许“客户端”通过通信进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。 +SSH 协议基于客户端-服务器server-client(CS)架构。“服务器Server”允许“客户端Client”通过通信通道进行连接。该信道是经过加密的,信息交换通过 SSH 公私钥进行管理。 ![Image credit: SSH][1] -[OpenSSH][2] 是最流行的开源工具之一,在 Linux、BSD 和 Windows 系统上提供 SSH 功能。 +[OpenSSH][2] 是在 Linux、BSD 和 Windows 系统上提供 SSH 功能的最流行的开源工具之一。 想要成功配置 SSH,你需要: - 1、在服务器端部署 SSH 服务器组件(server components),由 `openssh-server` 包提供。 - 2、在你远程访问服务器的客户端上部署 SSH 客户端组件,由 `openssh-client` 包提供,大多数 Linux 和 BSD 发行版都已经预装好了。 + + - 在作为服务器的机器上部署 SSH 服务器组件,它由 `openssh-server` 包提供。 + - 在你远程访问服务器的客户端机器上部署 SSH 客户端组件,它由 `openssh-client` 包提供,大多数 Linux 和 BSD 发行版都已经预装好了。 区分服务器和客户端是十分重要的事情。或许你不想要你的 PC 作为 SSH 服务器,除非你有充分理由希望其他人通过 SSH 连接你的系统。 -普遍来说,你有一个专用的服务器系统。例如,一个 [允许 Ubuntu 的树莓派][3]。你启动 [树莓派的 SSH 服务][4],这样你可以在你 PC 中的终端,通过 SSH 控制并管理设备。 +通常来说,你有一个专用的服务器系统。例如,一个 [运行 Ubuntu 的树莓派][3]。你可以 [启用树莓派的 SSH 服务][4],这样你可以在你 PC 中的终端中,通过 SSH 控制并管理该设备。 有了这些信息,让我们看看如何在 Ubuntu 上设置 SSH 服务器。 @@ -45,11 +48,12 @@ SSH 协议基于客户端-服务器(CS)架构。“服务器”允许“客户 设置 SSH 并不复杂,只需要以下几步。 #### 前提 - 1、在服务器端拥有 `sudo` 权限的用户 - 2、可以下载所需包的互联网连接 - 3、你的网络中至少有另一个系统。可以是局域网中的另一台电脑,远程服务器或者主机中安装的虚拟机。 -_**再次强调,在你想要通过 SSH 远程登录的系统上安装 SSH 服务**_ + - 一个在服务器端拥有 `sudo` 权限的用户 + - 可以下载所需包的互联网连接 + - 在你的网络中至少有另一个系统。可以是局域网中的另一台电脑,远程服务器或者计算机中托管的虚拟机。 + +**再次强调,在你想要通过 SSH 远程登录的系统上安装 SSH 服务。** #### 第一步:安装所需包 @@ -71,13 +75,13 @@ sudo apt install openssh-server #### 第二步:检查服务器状态 -但你下载并安装完包后,SSH 服务器应该已经运行了,但是为了确保万无一失我们需要检查一下: +当你下载并安装完包后,SSH 服务器应该已经运行了,但是为了确保万无一失我们需要检查一下: ``` service ssh status ``` -你还可以使用 `systemd` 命令: +你还可以使用 `systemctl` 命令: ``` sudo systemctl status ssh @@ -93,9 +97,9 @@ sudo systemctl status ssh sudo systemctl enable --now ssh ``` -#### 第三步:运行 SSH 通过防火墙 +#### 第三步:允许 SSH 通过防火墙 -Ubuntu 带有名为 [UFW][8](简单的防火墙——UncomplicatedFirewall) 的防火墙,这是管理网络规则的 `iptables` 的一个接口。如果启动了防火墙,它可能会阻止你连接服务器。 +Ubuntu 带有名为 [UFW][8](简单的防火墙Uncomplicated Firewall)的防火墙,这是管理网络规则的 `iptables` 的一个接口。如果启动了防火墙,它可能会阻止你连接服务器。 想要配置 UFW 允许你的接入,你需要运行如下命令: @@ -103,7 +107,7 @@ Ubuntu 带有名为 [UFW][8](简单的防火墙——UncomplicatedFirewall) 的 sudo ufw allow ssh ``` -UFW 的运行状态可以通过运行`sudo ufw status` 来检查。 +UFW 的运行状态可以通过运行 `sudo ufw status` 来检查。 现在,我们的 SSH 服务器已经开始运行了,在等待来自客户端的连接。 @@ -121,23 +125,23 @@ sudo apt install openssh-client ssh username@address ``` -将 **用户名**(username) 改为系统上真正的用户名,并将 **地址**(address) 改为你服务器的 IP 地址。 +将 **用户名**(`username`)改为你的系统上的实际用户名,并将 **地址**(`address`)改为你服务器的 IP 地址。 如果你 [不知道 IP 地址][9],可以在服务器的终端输入 `ip a` 查看结果。应该会看到这样的结果: ![Using “ip a” to find the IP address][10] -可以看到我的 IP 地址是 **192.168.1.111**。让我们使用 **[[email protected]][11]** 格式进行连接。 +可以看到我的 IP 地址是 `192.168.1.111`。让我们使用 `username@address` 格式进行连接。 ``` -ssh [email protected] +ssh team@192.168.1.111 ``` -第一次连接 SSH 服务器时,它会请求添加主机。输入 `yes` 并回车即可。 +这是你第一次连接到该 SSH 服务器,它会请求添加主机。输入 `yes` 并回车即可。 ![First time connecting to the server][12] -SSH 会立即告诉你该主机已经被永久添加了,并要求你输入指定用户的口令,输入口令并再次按回车即可。 +SSH 会立即告诉你该主机已经被永久添加了,并要求你输入指定用户的密码,输入密码并再次按回车即可。 ![Host added, now type in the password][13] @@ -153,7 +157,7 @@ SSH 会立即告诉你该主机已经被永久添加了,并要求你输入指 ![Closing the connection with “exit”][15] -### 在 Ubuntu 中关闭并禁止 SSH Stopping and Disabling SSH in Ubuntu +### 在 Ubuntu 中关闭并禁止 SSH 如果你想要停止 SSH 服务,需要运行该命令: @@ -181,25 +185,23 @@ sudo systemctl enable ssh #### 其他 SSH 客户端 -大多数 `*nix` 系统中都有 `ssh` 工具,从 Linux 到 macOS,但这些并不是唯一存在的选项,这里有几个可以在其他操作系统中使用的客户端: +从 Linux 到 macOS,大多数 *nix 系统中都有 `ssh` 工具,但这并不是唯一的选项,这里有几个可以在其他操作系统中使用的客户端: - * [PuTTY][16] 是一个免费并开源的 Windows 系统上的 SSH 客户端。它功能强大并且简单易用。如果你从 Windows 系统上连接你的 Ubuntu 服务器,PuTTY 是最好的选择。 - * [JuiceSSH][17] 对 Android 用户来说是十分优秀的工具。如果你在旅途中需要一个移动客户端来连接你的 Ubuntu 系统,我强烈建议你试试 JuiceSSH。它已经出现了将近 10 年,并且可以免费使用。 - * 最后是 [Termius][18],它可用于 Linux、Windows、macOS、iOS 和 Android。它有一个免费版本和几个高级选项。如果你运行大量服务器并进行共享连接的团队合作,那么 Termius 对你来说是一个不错的选择。 + * [PuTTY][16] 是一个自由开源的 Windows 系统上的 SSH 客户端。它功能强大并且简单易用。如果你从 Windows 系统上连接你的 Ubuntu 服务器,PuTTY 是最好的选择。(LCTT 译注:切记从官方网站下载。) + * 对安卓用户来说,[JuiceSSH][17] 是十分优秀的工具。如果你在旅途中需要一个移动客户端来连接你的 Ubuntu 系统,我强烈建议你试试 JuiceSSH。它已经出现了将近 10 年,并且可以免费使用。 + * 最后是 [Termius][18],它可用于 Linux、Windows、macOS、iOS 和安卓。它有一个免费版本和几个付费选项。如果你运行大量服务器并进行共享连接的团队合作,那么 Termius 对你来说是一个不错的选择。 #### 总结 在这份指导中,你可以在 Ubuntu 系统中设置 SSH 作为服务器,允许来自你电脑的远程安全的连接,便于你通过命令行开展工作。 -我们的网站—— Linux Handbook——有许多关于 SSH 的文章。在此我推荐以下文章: +此,我推荐以下文章: * [Linux SSH 入门教程][19] * [利用 SSH 配置文件管理多个 SSH 连接][20] - * [向SSH服务器添加公钥以进行无密码身份验证][21] + * [向 SSH 服务器添加公钥以进行无密码身份验证][21] * [保护你的 SSH 服务器的 SSH 加固技巧][22] -如果你觉得它太难了,[Linux Handbook 网站有一个高级视频课程,为初学者解释 SSH][23] 以及动手实验。这将使你对该内容有更简化的知识。 - 远程工作快乐! -------------------------------------------------------------------------------- @@ -209,7 +211,7 @@ via: https://itsfoss.com/set-up-ssh-ubuntu/ 作者:[Chris Patrick Carias Stas][a] 选题:[lujun9972][b] 译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From b3858adca96d55db549212cb6e7e69de1e2834a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Tue, 25 Oct 2022 18:53:44 +0800 Subject: [PATCH 119/925] translating --- ...0221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md index bc7bb57a60..07d01e2591 100644 --- a/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md +++ b/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/recover-arch-linux/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3a5b6761ce9a354af23b89c2cb53bc361d34a237 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 26 Oct 2022 08:41:46 +0800 Subject: [PATCH 120/925] translated --- ...netes help solve automation challenges-.md | 69 ------------------- ...netes help solve automation challenges-.md | 69 +++++++++++++++++++ 2 files changed, 69 insertions(+), 69 deletions(-) delete mode 100644 sources/tech/20221014 Can Kubernetes help solve automation challenges-.md create mode 100644 translated/tech/20221014 Can Kubernetes help solve automation challenges-.md diff --git a/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md b/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md deleted file mode 100644 index 33c3834821..0000000000 --- a/sources/tech/20221014 Can Kubernetes help solve automation challenges-.md +++ /dev/null @@ -1,69 +0,0 @@ -[#]: subject: "Can Kubernetes help solve automation challenges?" -[#]: via: "https://opensource.com/article/22/10/kubernetes-solve-automation-challenges" -[#]: author: "Rom Adams https://opensource.com/users/romdalf" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Can Kubernetes help solve automation challenges? -====== -Automation at the organization level has been an elusive goal, but Kubernetes might be able to change all that. - -I started my automation journey when I adopted Gentoo Linux as my primary operating system in 2002. Twenty years later, automation is not yet a done deal. When I meet with customers and partners, they share automation wins within teams, but they also describe the challenges to achieving similar success at an organizational level. - -Most IT organizations have the ability to provision a virtual machine end to end, reducing what used to be a four-week lead time to just five minutes. That level of automation is itself a complex workflow, requiring networking (IP address management, DNS, proxy, networking zones, and so on), identity access management, [hypervisor][2], storage, backup, updating the operating system, applying the latest configuration files, monitoring, security and hardening, and compliance benchmarking. Wow! - -It's not easy to address the business need for high velocity, scaling, and on-demand automation. For instance, consider the classic webshop or an online government service to file tax returns. The workload has well-defined peaks that need to be absorbed. - -A common approach for handling such a load is having an oversized server farm, ready to be used by a specialized team of IT professionals, monitoring the seasonal influx of customers or citizens. Everybody wants a just-in-time deployment of an entire stack. They want infrastructure running workloads within the context of a hybrid cloud scenario, using the model of "build-consume-trash" to optimize costs while benefiting from infinite elasticity. - -In other words, everybody wants the utopian "cloud experience." - -### Can the cloud really deliver? - -All is not lost, thanks mainly to the way [Kubernetes][3] has been designed. The exponential adoption of Kubernetes fuels innovation, displacing standard legacy practices for managing platforms and applications. Kubernetes requires the use of Everything-as-Code (EaC) to define the desired state of all resources, from simple compute nodes to TLS certificates. Kubernetes compels the use of three major design constructs: - -* A standard interface to reduce integration friction between internal and external components -* An API-first and API-only approach to standardize the CRUD (Create, Read, Update, Delete) operations of all its components -* Use of [YAML][4] as a common language to define all desired states of these components in a simple and readable way - -These three key components are essentially the same requirements for choosing an automation platform, at least if you want to ease adoption by cross-functional teams. This also blurs the separation of duties between teams, helping to improve collaboration across silos, which is a good thing! - -As a matter of fact, customers and partners adopting Kubernetes are ramping up to a state of hyper-automation. Kubernetes organically drives teams to adopt multiple [DevOps foundations and practices][5]—like EaC, [version control with Git][6], peer reviews, [documentation as code][7]—and encourages cross-functional collaboration. These practices help mature a team's automation skills, and they help a team get a good start in GitOps and CI/CD pipelines dealing with both application lifecycle and infrastructure. - -### Making automation a reality - -You read that right! The entire stack for complex systems like a webshop or government reporting can be defined in clear, understandable, universal terms that can be executed on any on-prem or cloud provider. An autoscaler with custom metrics can be defined to trigger a just-in-time deployment of your desired stack to address the influx of customers or citizens during seasonal peaks. When metrics are back to normal, and cloud compute resources don't have a reason to exist anymore, you trash them and return to regular operations, with a set of core assets on-prem taking over the business until the next surge. - -### The chicken and the egg paradox - -Considering Kubernetes and cloud-native patterns, automation is a must. But it raises an important question: Can an organization adopt Kubernetes before addressing the automation strategy? - -It might seem that starting with Kubernetes could inspire better automation, but that's not a foregone conclusion. A tool is not an answer to the problem of skills, practices, and culture. However, a well-designed platform can be a catalyst for learning, change, and cross-functional collaboration within an IT organization. - -### Get started with Kubernetes - -Even if you feel you missed the automation train, don't be afraid to start with Kubernetes on an easy, uncomplicated stack. Embrace the simplicity of this fantastic orchestrator and iterate with more complex needs once you've [mastered the initial steps][8]. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/kubernetes-solve-automation-challenges - -作者:[Rom Adams][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/romdalf -[b]: https://github.com/lkxed -[2]: https://www.redhat.com/en/topics/virtualization/what-is-a-hypervisor?intcmp=7013a000002qLH8AAM -[3]: https://www.redhat.com/en/topics/containers/what-is-kubernetes?intcmp=7013a000002qLH8AAM -[4]: https://opensource.com/article/21/9/yaml-cheat-sheet -[5]: https://opensource.com/resources/devops -[6]: https://opensource.com/life/16/7/stumbling-git -[7]: https://opensource.com/article/21/3/devops-documentation -[8]: https://opensource.com/article/17/11/getting-started-kubernetes diff --git a/translated/tech/20221014 Can Kubernetes help solve automation challenges-.md b/translated/tech/20221014 Can Kubernetes help solve automation challenges-.md new file mode 100644 index 0000000000..695da770ac --- /dev/null +++ b/translated/tech/20221014 Can Kubernetes help solve automation challenges-.md @@ -0,0 +1,69 @@ +[#]: subject: "Can Kubernetes help solve automation challenges?" +[#]: via: "https://opensource.com/article/22/10/kubernetes-solve-automation-challenges" +[#]: author: "Rom Adams https://opensource.com/users/romdalf" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kubernetes 能否帮助解决自动化挑战? +====== +组织层面的自动化一直是一个难以实现的目标,但 Kubernetes 或许能够改变这一切。 + +当我在 2002 年采用 Gentoo Linux 作为我的主要操作系统时,我开始了我的自动化之旅。二十年后,自动化还没有完成。当我与客户和合作伙伴会面时,他们分享了团队内部的自动化胜利,但他们也描述了在组织层面实现类似成功所面临的挑战。 + +大多数 IT 组织都能够端到端地配置虚拟机,从而将过去 4 周的交付周期缩短到仅 5 分钟。这种级别的自动化本身就是一个复杂的工作流程,需要网络(IP 地址管理、DNS、代理、网络区域等)、身份访问管理、[hypervisor][2]、存储、备份、更新操作系统、应用最新的配置文件、监控、安全和强化以及合规性基准测试。哇! + +满足高速、可扩展和按需自动化的业务需求并不容易。例如,考虑使用经典的网上商店或在线政府服务来提交纳税申报表。工作负载有明确的峰值需要吸收。 + +处理此类负载的一种常见方法是拥有一个超大的服务器集群,以供 IT 专业人员的特定团队使用,监控客户或公民的季节性涌入。每个人都希望及时部署整个栈。他们希望基础架构在混合云场景的上下文中运行工作负载,使用“构建-消耗-垃圾”模型来优化成本,同时从无限弹性中受益。 + +换句话说,每个人都想要乌托邦式的“云体验”。 + +### 云真的能交付吗? + +一切都没有丢失,这主要归功于 [Kubernetes][3] 的设计方式。 Kubernetes 的指数级采用推动了创新,取代了管理平台和应用的标准传统做法。 Kubernetes 需要使用 Everything-as-Code (EaC) 来定义所有资源的期望状态,从简单的计算节点到 TLS 证书。 Kubernetes 强制使用三种主要的设计结构: + +* 一个标准接口,以减少内部和外部组件之间的整合问题 +* API 优先及仅 API 的方法来标准化其所有组件的 CRUD(创建、读取、更新、删除)操作 +* 使用 [YAML][4] 作为通用语言,以简单易读的方式定义这些组件的所有所需状态 + +这三个关键组成部分基本上是选择自动化平台的相同要求,至少如果你想让跨职能团队轻松采用。这也模糊了团队之间的职责分工,有助于提高跨孤岛的协作,这是一件好事! + +事实上,采用 Kubernetes 的客户和合作伙伴正在加速进入超自动化状态。 Kubernetes 有机地推动团队采用多种 [DevOps 基础和实践][5],如: EaC、[使用 Git 进行版本控制][6]、同行评审、[文档即代码][7]并鼓励跨职能协作。这些实践有助于提高团队的自动化技能,并帮助团队在处理应用生命周期和基础架构的 GitOps 和 CI/CD 管道方面获得良好的开端。 + +### 让自动化成为现实 + +你没看错!网络商店或政府报告等复杂系统的整个栈可以用清晰、可理解、通用的术语定义,可以在任何本地或云提供商上执行。可以定义具有自定义指标的自动伸缩器以触发所需栈的即时部署,以解决季节性高峰期间客户或市民的涌入问题。当指标恢复正常,且云计算资源不再有存在的理由时,你将它们回收并恢复常规运营,一组核心资产在本地接管业务,直到下一次激增。 + +### 鸡和蛋的悖论 + +考虑到 Kubernetes 和云原生模式,自动化是必须的。但它提出了一个重要的问题:一个组织可以在解决自动化战略之前采用 Kubernetes 吗? + +似乎从 Kubernetes 开始可以激发更好的自动化,但这并不是一个定局。工具不是对技能、实践和文化问题的解决方案。但是,设计良好的平台可以成为 IT 组织内学习、变革和跨职能协作的催化剂。 + +### 开始使用 Kubernetes + +即使你觉得自己错过了自动化列车,也不要害怕从简单、不复杂的栈上开始使用 Kubernetes。当你[掌握了初始步骤][8],就可以拥抱这个出色的编排器的简单性,并根据更复杂的需求进行迭代。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/kubernetes-solve-automation-challenges + +作者:[Rom Adams][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/romdalf +[b]: https://github.com/lkxed +[2]: https://www.redhat.com/en/topics/virtualization/what-is-a-hypervisor?intcmp=7013a000002qLH8AAM +[3]: https://www.redhat.com/en/topics/containers/what-is-kubernetes?intcmp=7013a000002qLH8AAM +[4]: https://opensource.com/article/21/9/yaml-cheat-sheet +[5]: https://opensource.com/resources/devops +[6]: https://opensource.com/life/16/7/stumbling-git +[7]: https://opensource.com/article/21/3/devops-documentation +[8]: https://opensource.com/article/17/11/getting-started-kubernetes From e0047ccd25a8c79cad23aba9bcc3535c934eca14 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 26 Oct 2022 09:05:29 +0800 Subject: [PATCH 121/925] translating --- ...21019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md b/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md index dd768effec..17c1593637 100644 --- a/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md +++ b/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/install-viber-linux/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ffd2a492c6bc841a4ed8fd65b5c3426b588840d7 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 26 Oct 2022 11:30:51 +0800 Subject: [PATCH 122/925] =?UTF-8?q?Update=2020221020.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Ubuntu=20Budgie=2022.10=20Release=20Improves=20Cont?= =?UTF-8?q?rol=20Center=20and=20Removes=20Some=20GNOME=20Apps.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 Release Improves Control Center and Removes Some GNOME Apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md index 18ddf82f0e..724a10dd87 100644 --- a/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md +++ b/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/ubuntu-budgie-22-10-release/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f56d2ee2d79506f4b3aeb4fd5a55cd59c667a62a Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 26 Oct 2022 14:00:45 +0800 Subject: [PATCH 123/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Control Center and Removes Some GNOME Apps.md | 118 ------------------ ... Control Center and Removes Some GNOME Apps.md | 118 ++++++++++++++++++ 2 files changed, 118 insertions(+), 118 deletions(-) delete mode 100644 sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md create mode 100644 translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md diff --git a/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md deleted file mode 100644 index 724a10dd87..0000000000 --- a/sources/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md +++ /dev/null @@ -1,118 +0,0 @@ -[#]: subject: "Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps" -[#]: via: "https://news.itsfoss.com/ubuntu-budgie-22-10-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps -====== - -Ubuntu Budgie 22.10 is an interesting release which removes several GNOME apps, and adds other improvements. - -![Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps][1] - -[Ubuntu Budgie][2] is an official flavor of Ubuntu, which is popular for its traditional desktop interface and minimal software bloat. - -The release of Ubuntu Budgie 22.10 brings in a few crucial tweaks and additions. - -### 🆕 Ubuntu Budgie 22.10: What's New? - -![ubuntu budgie 22.10][3] - -Based on Ubuntu 22.10 'Kinetic Kudu', Ubuntu Budgie 22.10 features Budgie Desktop 10.6.4 and a host of other improvements. - -Some of the notable highlights include: - -- **Enhanced Budgie Control Center** -- **Updated Budgie Welcome app** -- **Replacing various GNOME-based apps** -- **Updated Translations** - -#### Budgie Desktop and Control Center - -![ubuntu budgie 22.10 desktop settings][4] - -Budgie Desktop has been updated to V10.6.4, which adds a new global option to control the spacing between applets and features various improvements to the workspace and clock applets. - -![ubuntu budgie 22.10 display color profiles][5] - -The Budgie Control Center has also received a bunch of tweaks, such as reworked display color profile support, revamped screen-sharing with support for [RDP][6] and [VNC][7], an option for fractional scaling of display, and more. - -#### Welcome App Updates - -![ubuntu budgie 22.10 welcome app][8] - -Ubuntu Budgie 22.10 features the updated [Budgie Welcome app][9] with improved translations and a few changes. - -#### Change in Default Apps - -The developers of Ubuntu Budgie have started replacing and removing GNOME-based apps in favor of MATE-based apps and other alternatives. - -They decided to do so, because of the inconsistent way GNOME-based apps look in Budgie alongside other apps with their rounded-off edges. - -The inconsistencies have been caused due to GNOME moving on to the Libadwaita library for its styling and theming needs. - -The Libadwaita library was a controversial addition to GNOME, that not many users liked, you can go through our coverage to learn more. - -Here are some of the apps that have been removed or replaced: - -- GNOME-Calculator replaced by MATE Calculator. -- GNOME-Calendar removed. -- GNOME System Monitor replaced by MATE System Monitor. -- GNOME Screenshot removed. -- GNOME Font Viewer replaced by [Font-Manager][10]. - -#### 🛠️ Other Changes - -Some of the other changes include: - -- **Rework of In-Built Theme** -- **Removal of PulseAudio in favor of PipeWire** -- **Native Screenshot Capability** -- **Support for WebP Images** -- **Ability to View Monitor's Refresh Rate** - -You can go through the [release notes][11] to know more. - -### 📥 Download Ubuntu Budgie 22.10 - -You can download the latest ISO from [Ubuntu's central image repository][12] or its [official website][13]. - -It might take a while for its official website to make the ISO available. - -[Download Ubuntu Budgie 22.10][13] - -> 💡Ubuntu Budgie 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][14]. - -💬 What do you think of this non-LTS release? Willing to give it a try? - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-budgie-22-10-release.png -[2]: https://ubuntubudgie.org/ -[3]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10.png -[4]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Desktop_Settings.png -[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Color_Profiles.png -[6]: https://en.wikipedia.org/wiki/Remote_Desktop_Protocol -[7]: https://en.wikipedia.org/wiki/Virtual_Network_Computing -[8]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Welcome.png -[9]: https://ubuntubudgie.org/2022/02/quick-overview-of-budgie-welcome-application/ -[10]: https://itsfoss.com/font-manager/ -[11]: https://ubuntubudgie.org/2022/09/ubuntu-budgie-22-10-release-notes/ -[12]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/22.10/ -[13]: https://ubuntubudgie.org/downloads/ -[14]: https://itsfoss.com/long-term-support-lts/ diff --git a/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md new file mode 100644 index 0000000000..7b57756e4a --- /dev/null +++ b/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md @@ -0,0 +1,118 @@ +[#]: subject: "Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps" +[#]: via: "https://news.itsfoss.com/ubuntu-budgie-22-10-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu Budgie 22.10 版本改进了控制中心并删除了一些 GNOME 应用程序 +====== + +Ubuntu Budgie 22.10是一个有趣的版本,它删除了几个GNOME应用程序,并添加了其他改进。 + +![Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps][1] + +[Ubuntu Budgie][2] 是Ubuntu的官方风格,因其传统的桌面界面和最小的软件膨胀而广受欢迎。 + +Ubuntu Budgie 22.10的发布带来了一些关键的调整和补充。 + +### 🆕 Ubuntu Budgie 22.10: 有什么新内容? + +![ubuntu budgie 22.10][3] + +基于 Ubuntu 22.10 的“动态库杜”,Ubuntu Budgie 22.10 具有 Budgie 桌面 10.6.4 和许多其他改进。 + +一些值得注意的亮点包括: + +- **增强型budgie控制中心** +- **更新 Budgie 支持的应用** +- **替换各种基于 GNOME 的应用程序** +- **更新的翻译** + +#### Budgie桌面和控制中心 + +![ubuntu budgie 22.10 desktop settings][4] + +Budgie桌面以及更新到V10.6.4, 它添加了一个新的全局选项来控制小程序之间的间距,并对工作区和时钟小程序进行了各种改进。 + +![ubuntu budgie 22.10 display color profiles][5] + +Budgie控制中心也收到了一堆调整, 例如重新设计的显示颜色配置文件支持, 修改了对屏幕分享的支持如 [RDP][6] 和 [VNC][7], 用于显示缩放的选项,等等. + +#### 支持应用升级 + +![ubuntu budgie 22.10 welcome app][8] + +Ubuntu Budgie 22.10的功能升级了 [Budgie支持的应用][9]改善了翻译以及一些其他改进. + +#### 改成默认的应用 + +Ubuntu Budgie的开发人员已经开始替换和删除基于GNOME的应用程序,以支持基于MATE的应用程序和其他替代方案。 + +他们决定这样做,因为基于GNOME的应用程序在Budgie中的外观与其他具有圆角边缘的应用程序的外观不一致。 + +这些不一致是由于 GNOME 根据其样式和主题需求而转到Libadwaita库造成的。 + +Libadwaita 库是 GNOME 的一个有争议的补充,没有多少用户喜欢,你可以通过我们的报道来了解更多信息。 + +以下是一些已删除或替换的应用程序: + +- GNOME 计算器被 MATE 计算器取代。 +- GNOM 删除了日历。 +- GNOME 系统显示器已由MATE系统显示器取代。 +- GNOME 移除截图. +- GNOME [字体管理][10]替代了字体查看器。 + +#### 🛠️ 其他改变 + +其他改变包括以下: + +- **内置主题返工** +- **移除PulseAudio并支持PipeWire** +- **原生截图功能** +- **支持网络规划图像** +- **能够查看显示器的刷新率** + +你可以通过[发行说明][11]了解更多。 + +### 📥 下载 Ubuntu Budgie 22.10 + +你可以下载最新的ISO在[Ubuntu's 镜像中心仓库][12]或者它的[官方网站][13]。 + +其官方网站可能需要一段时间ISO才能够可用。 + +[下载 Ubuntu Budgie 22.10][13] + +> 💡Ubuntu Budgie 22.10 将支持9个月直到 **2023 6月 **. 如果你想使用稳定的功能,更应该选择 [LTS 版本][14]. + +💬 您如何看待这个非LTS版本?愿意尝试一下吗? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-budgie-22-10-release.png +[2]: https://ubuntubudgie.org/ +[3]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10.png +[4]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Desktop_Settings.png +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Color_Profiles.png +[6]: https://en.wikipedia.org/wiki/Remote_Desktop_Protocol +[7]: https://en.wikipedia.org/wiki/Virtual_Network_Computing +[8]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_Budgie_22.10_Welcome.png +[9]: https://ubuntubudgie.org/2022/02/quick-overview-of-budgie-welcome-application/ +[10]: https://itsfoss.com/font-manager/ +[11]: https://ubuntubudgie.org/2022/09/ubuntu-budgie-22-10-release-notes/ +[12]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/22.10/ +[13]: https://ubuntubudgie.org/downloads/ +[14]: https://itsfoss.com/long-term-support-lts/ From b7eb7968fd3a89dbcee82636935c596a412ae432 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Wed, 26 Oct 2022 14:59:21 +0800 Subject: [PATCH 124/925] translated --- ... After Installing Ubuntu 22.10 [With Bonus Tip].md | 197 ------------------ ... After Installing Ubuntu 22.10 [With Bonus Tip].md | 197 ++++++++++++++++++ 2 files changed, 197 insertions(+), 197 deletions(-) delete mode 100644 sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md create mode 100644 translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md diff --git a/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md b/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md deleted file mode 100644 index d9297a77b6..0000000000 --- a/sources/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md +++ /dev/null @@ -1,197 +0,0 @@ -[#]: subject: "10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]" -[#]: via: "https://www.debugpoint.com/things-to-do-ubuntu-22-10/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip] -====== - -**Here’s our recommended list of 10 things after installing Ubuntu 22.10 “Kinetic Kudu” (GNOME Edition).** - -![][1] - -Ubuntu 22.10 brings exciting new features such as GNOME 43, the latest Kernel, a newly re-designed tray menu, Files features, Pipewire and [many more][2]. - -I am sure you are excited to try them. - -But wait. - -Before you head over to enjoy a new installation of Ubuntu, here’s an assorted list of customization tips which you can’t miss. - -### 10 Things to Do After Installing Ubuntu 22.10 - -#### 1. Update your system - -The first thing you need to do after installing Ubuntu 22.10 is to update your system. Often, the latest ISO may not contain all the updates due to time differences. So, to update your system, oprn a terminal window and run the following commands. - -``` -sudo apt update && sudo apt upgrade -``` - -Once the commands are complete, you can proceed to the next steps. - -#### 2. Remove Firefox Snap and install Flatpak or deb - -Since Ubuntu 21.10 last year, the default web browser Firefox comes as a Snap package. Now, if you are an average user, this may not be a problem or a thing to worry about. But many users may not like the Snap package of Firefox for several reasons. For example, the startup time is slow. Unnecessary Snap update notifications when there is a backend update and so on. - -So, to completely remove Firefox as Snap, you can follow the guide [on this page][3] that I have written. It’s a little complex and may take time. And install a deb version of Firefox from PPA or use the [Flatpak version][4]. - -As I said, this is an optional tip; you may skip it if you want. - -#### 3. Install and Enable Flatpak - -While every distribution today ships Flatpak by default, Ubuntu does not. Because it promotes its own sandboxing technology Snap. - -But Flatpak applications are the best for everyone. It helps you to quickly install and use several applications without worrying about dependency and other things. - -Most of the Flatpak applications are present in a centralised repo @ Flathub. - -To enable Flatpak applications in Ubuntu 22.10, follow the below commands. - -``` -sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot -``` - -Also, if you want to learn more about this process, [read this nice guide][5], we published a while ago. - -#### 4. Review privacy settings - -I recommend you opt out of any data collection after installing Ubuntu. Everyone knows that it’s difficult to protect your privacy over the internet, no matter how hard you try. These little steps matter. - -To configure the privacy, open Settings and select Privacy. Then review the settings listed under privacy. - -Also, ensure to disable backend reporting to Ubuntu servers with your usage. Run the following command to do that. Unfortunately, there is no option in the settings to disable it. - -``` -sudo ubuntu-report -f send no -``` - -![Turn off location services in Ubuntu 22.10][6] - -#### 5. Explore GNOME 43 Features - -The most visual and functional change coming in this release is GNOME 43. This is going to impact everyone and your workflow. Because there are some fundamental and core changes. GNOME 43 brings a new pill-shaped tray menu and updated native applications with new features such as Files and GNOME Web. - -Do go over the detailed [GNOME 43 features][7] here to learn more. Or explore them yourself. - -![Quick Settings Demo in GNOME 43][8] - -#### 6. Ensure the audio works with Pipewire - -If you work with Audio primarily or your workflow deals with sound capture, playback and other stuff, then make sure your Audio works properly in Ubuntu 22.10, wired or via Bluetooth. - -Because there is a change in the audio server in this release for the first time in many years. The legacy PulseAudio is now replaced by the modern Pipewire. So it’s important for you to verify. - -#### 7. Install additional packages - -It’s important to ensure you can play all video and audio formats on your Ubuntu desktop. If you skipped the extra package installation during the setup, you could install them via the below commands. - -``` -sudo apt install ubuntu-restricted-extras -``` - -This should settle any video or audio playback problem in Ubuntu. Especially with GNOME Videos which can’t play anything by default. - -#### 8. Setup basic apps - -The base Ubuntu with GNOME comes with a very basic set of applications. Hence, it’s almost necessary for everyone to install applications before you use Ubuntu. - -Now, necessary apps are different for everyone due to diverse workflow. Hence, here’s a quick list of generic apps which I think you can go ahead and install since they are preety much common for all. - -- GIMP – Advanced photo editor -- VLC – Media play that plays anything without the need for additional codecs -- Leafpad – A lightweight text editor (even lightweight from default gedit) -- Synaptic – A far better package manager - -Command to install them: - -``` -sudo apt install -y gimp vlc leafpad synaptic -``` - -#### 9. Get some GNOME Extensions - -You can extend your GNOME 43’s functionality using several cool extensions. That includes customizing the top bar, tray, changing the adwaita accent colour further and more. So, to do that, make sure you install the GNOME Extension manager first via Flatpak using the command below. - -``` -flatpak install flathub com.mattjakeman.ExtensionManager -``` - -And once you do, you can go ahead with any extensions you want by searching for them in the above app. However, here’s a quick set of necessary extensions which I feel are perfect for your brand-new Ubuntu desktop. You can simply search with these names in the Extension manager apps. - -- Caffeine -- Custom Hot Corners -- Dash to Dock -- Blur my shell -- Gradients -- Hide Activities Button -- Net speed simplified - -#### 10. Prepare backup - -Last but not least, make sure you prepare for backup from the beginning. We always feel the necessity for backup when we run into difficult situations. To do that, the ideal app is Timeshift – which is easy to install and use. - -Here’s the set of commands you can run from the terminal to install. And after installation, you can open and follow the on-screen instructions to set up a backup. - -``` -sudo add-apt-repository -y ppa:teejee2008/ppasudo apt-get updatesudo apt-get install timeshift -``` - -### Bonus Tips - -If you want to customize your new Ubuntu installation further, here are some bonus tips for you. - -#### Install nice fonts - -Fonts impact everything. It’s one of the small yet impactful settings. However, Ubuntu comes with a default “Ubuntu regular” font, which is also good. - -But you can also go ahead and install some nice fonts from Ubuntu’s official repo. Here is some command to install them. - -``` -sudo apt install fonts-roboto fonts-cascadia-code fonts-firacode -``` - -After installation, you can change the font using the [GNOME Tweak tool][9]. - -#### Install TLP - -You must take care of your laptop battery if you are a heavy laptop user. While no battery is everlasting, you can still take some steps to ensure it lasts longer. The TLP is one of the best programs available in Linux, which helps to do that automatically. All you need to do is install it using the following command and run. - -``` -sudo apt install tlp -``` - -As per the recommendation, always keep the battery strength between 50% to 80%. Don’t overcharge or let it discharge below 50%. Don’t keep it plugged into power continuously. - -### Wrapping Up - -So, there you have it. Ten gettings started tips with some bonus for your Ubuntu desktop journey. - -I hope this helps and that you get to install & tweak your desktop with further customization. That said, do let me know what is your best after-install tips in Ubuntu in the comment box. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/things-to-do-ubuntu-22-10/ - -作者:[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/10/u2210-things-hd-1024x576.jpg -[2]: https://www.debugpoint.com/ubuntu-22-10/ -[3]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ -[4]: https://flathub.org/apps/details/org.mozilla.firefox -[5]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ -[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Turn-off-location-services-in-Ubuntu-22.10.jpg -[7]: https://www.debugpoint.com/gnome-43/ -[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/Quick-Settings-Demo-in-GNOME-43.gif -[9]: https://www.debugpoint.com/customize-your-ubuntu-desktop-using-gnome-tweak/ diff --git a/translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md b/translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md new file mode 100644 index 0000000000..3520184c13 --- /dev/null +++ b/translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md @@ -0,0 +1,197 @@ +[#]: subject: "10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip]" +[#]: via: "https://www.debugpoint.com/things-to-do-ubuntu-22-10/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +安装 Ubuntu 22.10 后要做的 10 件事 +====== + +**以下是我们安装 Ubuntu 22.10 “Kinetic Kudu”(GNOME 版)后,推荐做的 10 件事列表。** + +![][1] + +Ubuntu 22.10 带来了很多令人兴奋的新功能,例如 GNOME 43、最新的内核、重新设计的托盘菜单、文件功能和 Pipewire 等 [新功能][2]。 + +我相信你已经迫不及待地想尝试 Ubuntu 22.10 上的这些新功能了。 + +但是请先等一等。 + +在你前往享受你新安装的 Ubuntu 22.10 之前,我要向你推荐一个不容错过的 Ubuntu 定制技巧列表。 + +### 安装 Ubuntu 22.10 后要做的 10 件事 + +#### 1、更新你的系统 + +安装好 Ubuntu 22.10 后,第一件要做的事就是更新你的系统。因为时差的原因,最新的 ISO 镜像通常不会包括所有的系统更新。所以,你要打开一个终端窗口,并运行以下命令,来更新你的系统。 + +``` +sudo apt update && sudo apt upgrade +``` + +上述命令执行完成后,你就可以进行下一步啦。 + +#### 2、删除 Firefox Snap,并安装 Flatpak 或者 deb 版本的 Firefox + +自去年发布的 Ubuntu 21.10 版本以来,默认的网页浏览器 Firefox 开始以 Snap 软件包的形式出现。如果你是普通用户,这可能不是一个问题或者需要担心的事情。但是出于几个原因,例如 Snap 软件包的 Firefox 启动时间较长、且当 Firefox 有后端更新时,会有不必要的 Snap 更新通知等等原因,导致许多用户不太喜欢 Firefox 的 Snap 软件包。 + +因此,你可以按照 [我写的另一篇操作指南][3],来完全删除 Firefox 的 Snap 软件包。这一过程有点复杂,需要花费一点时间。删除完成后,再从个人软件包存档(PPA)安装 deb 版本的 Firefox,或者使用 [Flatpak 版本][4] 的 Firefox。 + +这是一个可选的动作,你也可以跳过这一步骤。 + +#### 3、安装并启用 Flatpak + +虽然,几乎所有最近的 linux 发行版都会默认安装 Flatpak,但是 Ubuntu 并没有默认安装 Flatpak,这是因为 Ubuntu 使用了它自己的沙箱技术 Snap。 + +但 Flatpak 这一应用程序还是最适合于每个人。Flatpak 能够帮助你快速安装多个应用程序,并在使用过程中无需担心依赖性和其他事情。 + +大多数 Flatpak 应用程序都在集中的仓库 @ Flathub 中。 + +要在 Ubuntu 22.10 中启用 Flatpak 应用程序,请按照以下命令进行操作。 + +``` +sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot +``` + +如果你想进一步了解关于此安装过程的更多信息,请阅读我们不久前发布的 [指南][5]。 + +#### 4、查看隐私设置 + +我建议你在安装 Ubuntu 后,手动退出任何数据收集项。大家都知道,无论怎么努力尝试,在互联网上保护自己的隐私都很困难。因此,这些小步骤很重要。 + +要配置隐私项,请打开设置并选择**隐私**。然后查看隐私菜单下列出的项目。 + +此外,请确保禁用对 Ubuntu 服务器的后端报告。需要运行以下命令来手动禁用,因为在设置中没有禁用它的选项。 + +``` +sudo ubuntu-report -f send no +``` + +![Turn off location services in Ubuntu 22.10][6] + +#### 5、探索 GNOME 43 的功能 + +在 Ubuntu 22.10 版本中,最具视觉和功能性的变化是 GNOME 43。因为 GNOME 43 有一些根本性和核心变化,所以它会影响每个人和他们的工作。GNOME 43 带来了一个新的药丸形状的托盘菜单,并更新了具有文件和 GNOME Web 等新功能的原生应用程序。 + +请查看更为详细的 [GNOME 43 功能][7] 一文,以了解更多信息,或者你也可以自己探索 GNOME 43。 + +![Quick Settings Demo in GNOME 43][8] + +#### 6、确保音频与 Pipewire 配合使用 + +如果你经常使用音频,或者你的工作范围涉及到声音捕获、播放等内容,请确保在 Ubuntu 22.10 中,你的音频在有线或蓝牙情况下都能正常工作。 + +因为 Ubuntu 22.10 这个版本中的音频服务器是多年来第一次发生了变化,传统的 PulseAudio 被现代的 Pipewire 所取代。因此,请务必进行验证音频是否能正常使用。 + +#### 7、安装其他软件包 + +确保你可以在 Ubuntu 桌面上,播放所有视频和音频格式是很重要的。如果你在设置期间跳过了额外的软件包安装,可以通过以下命令进行安装。 + +``` +sudo apt install ubuntu-restricted-extras +``` + +这可以解决 Ubuntu 中的任何视频或音频的播放问题,特别是 GNOME 视频无法播放的情况(因为GNOME 视频在默认情况下将无法播放任何内容)。 + +#### 8、安装基本的应用程序 + +带有 GNOME 的基础 Ubuntu 版本只有非常基本的应用程序。因此,在你使用 Ubuntu 之前,你需要安装一些其他必要的应用程序。 + +由于每个人的工作范围不同,每个人所需的应用程序也都不同。因此,在这里我仅提供一个通用的应用程序的列表,我认为你可以把这些应用程序都安装上,因为这些应用程序对所有人来说都很常用。 + +- GIMP – 进阶的照片编辑器 +- VLC – 无需额外编解码器即可播放任何内容的媒体播放器 +- Leafpad – 轻量级文本编辑器(甚至比默认的文本编辑器 gedit 还要更轻量级) +- Synaptic – 更好的软件包管理器 + +安装这些应用程序的命令: + +``` +sudo apt install -y gimp vlc leafpad synaptic +``` + +#### 9、获取一些 GNOME 扩展 + +你可以使用几个很酷的扩展程序,来扩展 GNOME 43 的功能,包括自定义顶部栏、托盘、更改 adwaita 外观等等。首先,使用下面的命令通过 Flatpak 来安装 GNOME 扩展管理器。 + +``` +flatpak install flathub com.mattjakeman.ExtensionManager +``` + +安装完成后,你就可以在 GNOME 扩展管理器中搜索你想要的任何扩展了。以下是一些必要扩展,你可以用它们来快速扩展 GNOME 43 的功能,我认为它们非常适合你全新的 Ubuntu 桌面。你只需在扩展管理器应用程序中,搜索这些名称即可。 + +- Caffeine +- Custom Hot Corners +- Dash to Dock +- Blur my shell +- Gradients +- Hide Activities Button +- Net speed simplified + +#### 10、准备备份 + +我们总是在我们遇到困难时,才觉得有必要备份。所以,请确保从一开始你就为备份做好了准备。理想的备份应用程序是 Timeshift,它很容易安装和使用。 + +以下是你可以从终端安装 Timeshift 的一组命令。安装完成后,你可以打开 Timeshift,并按照屏幕上的说明,设置备份了。 + +``` +sudo add-apt-repository -y ppa:teejee2008/ppasudo apt-get updatesudo apt-get install timeshift +``` + +### 额外小贴士 + +如果你想进一步定制你新安装的 Ubuntu 系统,以下是一些额外的小贴士。 + +#### 安装漂亮的字体 + +字体是一个很小却影响很大的设置项。虽然,Ubuntu 自带有好用的“Ubuntu regular”字体。 + +但是,你也可以从 Ubuntu 的官方仓库中安装一些其他漂亮的字体。以下是安装字体的一些命令。 + +``` +sudo apt install fonts-roboto fonts-cascadia-code fonts-firacode +``` + +安装完成后,你可以使用 [GNOME Tweak 工具][9],来更改字体。 + +#### 安装 TLP + +如果你经常使用笔记本电脑,那么你要好好爱惜电脑的电池。虽然电池用久了总是会损坏的,但你可以采取一些步骤,来减缓电池的老化。TLP 是 Linux 中自动优化电池使用、减缓电池老化的最好的程序之一。你可以使用以下命令来安装 TLP。 + +``` +sudo apt install tlp +``` + +我建议你将电池的电量始终保持在 50% 至 80% 之间。不要过度充电或让电池电量消耗到 50% 以下,也不要给电脑连续插电。 + +### 总结 + +以上就是安装桌面 Ubuntu 22.10 后要做的 10 件事啦。 + +我希望这篇文章会对你有帮助,你能够通过本文的方法来定制和调整你的 Ubuntu 桌面。那么你认为在安装好 Ubuntu 后,什么事是最推荐做的呢?请在评论区中告诉我吧。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/things-to-do-ubuntu-22-10/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/10/u2210-things-hd-1024x576.jpg +[2]: https://www.debugpoint.com/ubuntu-22-10/ +[3]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ +[4]: https://flathub.org/apps/details/org.mozilla.firefox +[5]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/Turn-off-location-services-in-Ubuntu-22.10.jpg +[7]: https://www.debugpoint.com/gnome-43/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/Quick-Settings-Demo-in-GNOME-43.gif +[9]: https://www.debugpoint.com/customize-your-ubuntu-desktop-using-gnome-tweak/ From c2e501088db4a34c96292309e16a51a68ff07bce Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 26 Oct 2022 15:17:26 +0800 Subject: [PATCH 125/925] RP @cool-summer-021 https://linux.cn/article-15178-1.html --- ...Java serverless functions in Kubernetes.md | 124 +++++++----------- 1 file changed, 50 insertions(+), 74 deletions(-) rename {translated/tech => published}/20210604 Optimize Java serverless functions in Kubernetes.md (59%) diff --git a/translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md b/published/20210604 Optimize Java serverless functions in Kubernetes.md similarity index 59% rename from translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md rename to published/20210604 Optimize Java serverless functions in Kubernetes.md index 2f8a5e4e81..ed41d62c82 100644 --- a/translated/tech/20210604 Optimize Java serverless functions in Kubernetes.md +++ b/published/20210604 Optimize Java serverless functions in Kubernetes.md @@ -3,48 +3,42 @@ [#]: author: (Daniel Oh https://opensource.com/users/daniel-oh) [#]: collector: (lujun9972) [#]: translator: (cool-summer-021) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15178-1.html) 优化 Kubernetes 中的 Java 无服务器函数 ====== -在 Kubernetes 中以更快的启动速度和更小的内存占用运行无服务器函数 -![Ship captain sailing the Kubernetes seas][1] +> 在 Kubernetes 中运行无服务器函数时,实现更快的启动速度和更小的内存占用。 -由于运行上千个应用程序集群所耗费的资源多,令它实现较少工作节点和资源占用所需成本也较高,所以在使用 [Kubernetes][2] 时,快速启动和较少的内存占用是至关重要的。在 Kubernetes 平台运行容器化微服务时,内存占用是比吞吐量更重要的考量因素,这是因为: - - * 由于需要持续运行,所以耗费资源更多(不同于 CPU 周期) - * 微服务令管理成本成倍增加 - * 一个庞大的应用程序变为若干个微服务的情况(例如20个微服务占用的存储空间一共有20GB) +![](https://img.linux.net.cn/data/attachment/album/202210/26/151603a4a44w1a71zk8b11.jpg) +由于运行上千个应用程序容器荚Pod所耗费的资源多,令它实现较少工作节点和资源占用所需成本也较高,所以在使用 [Kubernetes][2] 时,快速启动和较少的内存占用是至关重要的。在 Kubernetes 平台运行容器化微服务时,内存占用是比吞吐量更重要的考量因素,这是因为: + * 由于需要持续运行,所以耗费资源更多(不同于 CPU 占用) + * 微服务令开销成本成倍增加 + * 一个单体应用程序变为若干个微服务的情况(例如 20 个微服务占用的存储空间约有 20GB) 这些情况极大影响了无服务器函数的发展和 Java 部署模型。到目前为止,许多企业开发人员选择 Go、Python 或 Node.js 这些替代方案来解决性能瓶颈,直到出现了 [Quarkus][3] 这种基于 kubernetes 的原生 Java 堆栈,才有所改观。本文介绍如何在使用了 Quarkus 的 kubernetes 平台上进行性能优化,以便运行无服务器函数。 ### 容器优先的设计理念 -由于 Java 生态系统中传统的框架都要进行框架的初始化,包括配置文件的处理、classpath 的扫描、类加载、注解的处理以及构建元模型,这些过程都是必不可少的,所以它们都比较耗费资源。如果使用了几种不同的框架,所耗费的资源也是成倍增加。 +由于 Java 生态系统中传统的框架都要进行框架的初始化,包括配置文件的处理、`classpath` 的扫描、类加载、注解的处理以及构建元模型,这些过程都是必不可少的,所以它们都比较耗费资源。如果使用了几种不同的框架,所耗费的资源也是成倍增加。 -Quarkus 通过“向左移动”,把所有的资源开销大的操作都转移到构建阶段,解决了这些 Java 性能问题。在构建阶段进行代码和框架分析、字节码转换和动态元模型生成,而且只有一次,结果是:运行时可执行文件经过高度优化,启动非常快,不需要经过那些传统的启动过程,全过程只在构建阶段执行一次。 +Quarkus 通过“左移shifting left”,把所有的资源开销大的操作都转移到构建阶段,解决了这些 Java 性能问题。在构建阶段进行代码和框架分析、字节码转换和动态元模型生成,而且只有一次,结果是:运行时可执行文件经过高度优化,启动非常快,不需要经过那些传统的启动过程,全过程只在构建阶段执行一次。 ![Quarkus Build phase][4] -(Daniel Oh, [CC BY-SA 4.0][5]) - -更重要的是:Quarkus 支持构建原生可执行文件,它具有良好性能,包括快速启动和极小的 RSS 内存占用,跟传统的云原生 Java 栈相比,具备即时扩展的能力和高密度的内存利用。 +更重要的是:Quarkus 支持构建原生可执行文件,它具有良好性能,包括快速启动和极小的驻留集大小resident set size(RSS)内存占用,跟传统的云原生 Java 栈相比,具备即时扩展的能力和高密度的内存利用。 ![Quarkus RSS and Boot Time Metrics][7] -(Daniel Oh, [CC BY-SA 4.0][5]) +这里有个例子,展示如何使用 Quarkus 将一个 [Java 无服务器][8] 项目构建为本地可执行文件。 -这里有个例子,展示如何使用 Quarkus 将一个 [Java 无服务器][8]项目构建为本地可执行文件。 - -### 1\. 使用 Quarkus 创建无服务器 Maven 项目 - -以下命令生成一个 Quarkus 项目,(例如`quarkus-serverless-native`)以此创建一个简单的函数: +### 1、使用 Quarkus 创建无服务器 Maven 项目 +以下命令生成一个 Quarkus 项目,(例如 `quarkus-serverless-native`)以此创建一个简单的函数: ``` $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ @@ -53,13 +47,12 @@ $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \        -DclassName="org.acme.getting.started.GreetingResource" ``` -### 2\. 构建一个本地可执行文件 +### 2、构建一个本地可执行文件 你需要使用 GraalVM 为 Java 程序构建一个本地可执行文件。你可以选择 GraalVM 的任何发行版,例如 [Oracle GraalVM Community Edition (CE)][9] 或 [Mandrel][10](Oracle GraalVM CE 的下游发行版)。Mandrel 是为支持 OpenJDK 11 上的 Quarkus-native 可执行文件的构建而设计的。 打开 `pom.xml`,你将发现其中的 `native` 设置。你将使用它来构建本地可执行文件。 - ```     @@ -71,51 +64,45 @@ $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ ``` -> **注意:** 你可以在本地安装 GraalVM 或 Mandrel 发行版。你也可以下载 Mandrel 容器映像来构建它(像我那样),因此你还需要在本地运行一个容器引擎(例如 Docker)。 +> **注意:** 你可以在本地安装 GraalVM 或 Mandrel 发行版。你也可以下载 Mandrel 容器映像来构建它(像我那样),因此你还需要在本地运行一个容器引擎(例如 Docker)。 假设你已经打开了容器运行时,此时需要运行一下 Maven 命令: -使用 [Docker][11] 作为容器引擎 - +使用 [Docker][11] 作为容器引擎: ``` $ ./mvnw package -Pnative \ --Dquarkus.native.container-build=true \ --Dquarkus.native.container-runtime=docker + -Dquarkus.native.container-build=true \ + -Dquarkus.native.container-runtime=docker ``` -使用 [Podman][12] 作为容器引擎 - +使用 [Podman][12] 作为容器引擎: ``` $ ./mvnw package -Pnative \ --Dquarkus.native.container-build=true \ --Dquarkus.native.container-runtime=podman + -Dquarkus.native.container-build=true \ + -Dquarkus.native.container-runtime=podman ``` 输出信息结尾应当是 `BUILD SUCCESS`。 ![Native Build Logs][13] -(Daniel Oh, [CC BY-SA 4.0][5]) - 不借助 JVM 直接运行本地可执行文件: - ``` -`$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner` +$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner ``` 输出信息类似于: - ``` -__  ____  __  _____   ___  __ ____  ______ - --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ - -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   -\--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/   -INFO  [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native -(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: +__ ____ __ _____ ___ __ ____ ______ + --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ + -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \ +--\___\_\____/_/ |_/_/|_/_/|_|\____/___/ +INFO [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native +(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: http://0.0.0.0:8080 INFO [io.quarkus] (main) Profile prod activated. INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy] ``` @@ -124,14 +111,12 @@ INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy] 使用 Linux 的 `ps` 工具检测一下,结果内存占用还是很低。检测的方法是:在应用程序运行期间,另外打开一个终端,运行如下命令: - ``` -`$ ps -o pid,rss,command -p $(pgrep -f runner)` +$ ps -o pid,rss,command -p $(pgrep -f runner) ``` 输出结果类似于: - ```   PID    RSS COMMAND 10246  11360 target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner @@ -141,7 +126,6 @@ INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy] > **注意:** 各种应用程序(包括 Quarkus)的驻留集大小和内存占用,都因运行环境而异,并随着应用程序载入而上升。 - 你也可以使用 REST API 访问这个函数。输出结果应该是 `Hello RESTEasy`: ``` @@ -149,18 +133,16 @@ $ curl localhost:8080/hello Hello RESTEasy ``` -### 3\. 把函数部署到 Knative 服务 - -如果你还没有创建命名空间,现在就在 [OKD][15] (OpenShift Kubernetes 发行版)[创建一个命名空间][14](例如 `quarkus-serverless-native`),进而把这个本地可执行文件部署为无服务器函数。然后添加 `quarkus-openshift` 扩展: +### 3、把函数部署到 Knative 服务 +如果你还没有创建命名空间,现在就在 [OKD][15](OpenShift Kubernetes 发行版)[创建一个命名空间][14](例如 `quarkus-serverless-native`),进而把这个本地可执行文件部署为无服务器函数。然后添加 `quarkus-openshift` 扩展: ``` -`$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"` +$ ./mvnw -q quarkus:add-extension -Dextensions="openshift" ``` 向 `src/main/resources/application.properties` 文件中添加以下内容,配置 Knative 和 Kubernetes 的相关资源: - ``` quarkus.container-image.group=quarkus-serverless-native quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 @@ -173,77 +155,71 @@ quarkus.openshift.build-strategy=docker 构建本地可执行文件,并把它直接部署到 OKD 集群: - ``` -`$ ./mvnw clean package -Pnative` +$ ./mvnw clean package -Pnative ``` -> **Note:** 提前使用 `oc login` 命令,确保登录的是正确的项目(例如 `quarkus-serverless-native`)。 +> **注意:** 提前使用 `oc login` 命令,确保登录的是正确的项目(例如 `quarkus-serverless-native`)。 输出信息结尾应当是 `BUILD SUCCESS`。完成一个本地二进制文件的构建并部署为 Knative 服务需要花费几分钟。成功创建服务后,使用 `kubectl` 或 `oc` 命令工具,可以查看 Knative 服务和版本信息: - ``` $ kubectl get ksvc -NAME                        URL   [...] -quarkus-serverless-native    True +NAME URL [...] +quarkus-serverless-native http://quarkus-serverless-native-[...].SUBDOMAIN True $ kubectl get rev -NAME                              CONFIG NAME                 K8S SERVICE NAME                  GENERATION   READY   REASON -quarkus-serverless-native-00001   quarkus-serverless-native   quarkus-serverless-native-00001   1            True +NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON +quarkus-serverless-native-00001 quarkus-serverless-native quarkus-serverless-native-00001 1 True ``` -### 4\. 访问本地可执行函数 +### 4、访问本地可执行函数 运行 `kubectl` 命令,搜索无服务器函数的节点: - ``` -`$ kubectl get rt/quarkus-serverless-native` +$ kubectl get rt/quarkus-serverless-native ``` 输出信息类似于: - ``` -NAME                         URL                                                                                                          READY   REASON -quarkus-serverless-native     True +NAME URL READY REASON +quarkus-serverless-native http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN True ``` 用 `curl` 命令访问上述信息中的 `URL` 字段: - ``` -`$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello` +$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello ``` 过了不超过一秒钟,你也会得到跟本地操作一样的结果: - ``` -`Hello RESTEasy` +Hello RESTEasy ``` 当你在 OKD 群集中访问 Quarkus 运行中的节点的日志,你会发现本地可执行文件正在以 Knative 服务的形式运行。 ![Native Quarkus Log][16] -(Daniel Oh, [CC BY-SA 4.0][5]) - ### 下一步呢? 你可以借助 GraalVM 发行版优化 Java 无服务器函数,从而在 Knative 中使用 Kubernetes 将它们部署为无服务器函数。Quarkus 支持在普通的微服务中使用简易配置进行性能优化。 本系列的下一篇文章将指导你在不更改代码的情况下跨多个无服务器平台实现可移植函数。 +*(Daniel Oh, [CC BY-SA 4.0][5])* + -------------------------------------------------------------------------------- via: https://opensource.com/article/21/6/java-serverless-functions-kubernetes 作者:[Daniel Oh][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 0ad087c4dd4d18d31edfbb49b0794903a5de70b5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 26 Oct 2022 17:14:26 +0800 Subject: [PATCH 126/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 这篇有点潦草了~下篇要注意。 --- ... Control Center and Removes Some GNOME Apps.md | 79 ++++++++++--------- 1 file changed, 41 insertions(+), 38 deletions(-) diff --git a/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md index 7b57756e4a..e8ed212985 100644 --- a/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md +++ b/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md @@ -3,91 +3,93 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "littlebirdnest" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -Ubuntu Budgie 22.10 版本改进了控制中心并删除了一些 GNOME 应用程序 +Ubuntu Budgie 22.10 的新变化 ====== -Ubuntu Budgie 22.10是一个有趣的版本,它删除了几个GNOME应用程序,并添加了其他改进。 +> Ubuntu Budgie 22.10 是一个有趣的版本,它删除了几个 GNOME 应用程序,以及一些其他改进。 ![Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps][1] -[Ubuntu Budgie][2] 是Ubuntu的官方风格,因其传统的桌面界面和最小的软件膨胀而广受欢迎。 +[Ubuntu Budgie][2] 是 Ubuntu 的官方版本,因其传统的桌面界面和最小的软件膨胀而广受欢迎。 -Ubuntu Budgie 22.10的发布带来了一些关键的调整和补充。 +Ubuntu Budgie 22.10 的发布带来了一些关键的调整和补充。 -### 🆕 Ubuntu Budgie 22.10: 有什么新内容? +### 🆕 Ubuntu Budgie 22.10 有什么新变化 ![ubuntu budgie 22.10][3] -基于 Ubuntu 22.10 的“动态库杜”,Ubuntu Budgie 22.10 具有 Budgie 桌面 10.6.4 和许多其他改进。 +基于 Ubuntu 22.10 “充满活力的捻角羚Kinetic Kudu”,Ubuntu Budgie 22.10 带来了 Budgie 桌面 10.6.4 和许多其他改进。 一些值得注意的亮点包括: -- **增强型budgie控制中心** -- **更新 Budgie 支持的应用** -- **替换各种基于 GNOME 的应用程序** -- **更新的翻译** +- 增强型 Budgie 控制中心Control Center +- 更新了 Budgie 的“欢迎Welcome”应用 +- 替换各种基于 GNOME 的应用程序 +- 对翻译进行了更新 -#### Budgie桌面和控制中心 +#### Budgie 桌面和控制中心 ![ubuntu budgie 22.10 desktop settings][4] -Budgie桌面以及更新到V10.6.4, 它添加了一个新的全局选项来控制小程序之间的间距,并对工作区和时钟小程序进行了各种改进。 +Budgie 桌面以及更新到 V10.6.4, 它添加了一个新的全局选项来控制小程序之间的间距,并对工作区和时钟小程序进行了各种改进。 ![ubuntu budgie 22.10 display color profiles][5] -Budgie控制中心也收到了一堆调整, 例如重新设计的显示颜色配置文件支持, 修改了对屏幕分享的支持如 [RDP][6] 和 [VNC][7], 用于显示缩放的选项,等等. +Budgie 控制中心Control Center也得到了一堆调整,例如重新设计的显示颜色配置文件支持,修改了对屏幕分享的支持,如 [RDP][6] 和 [VNC][7],用于显示缩放的选项,等等。 -#### 支持应用升级 +#### 升级了欢迎应用 ![ubuntu budgie 22.10 welcome app][8] -Ubuntu Budgie 22.10的功能升级了 [Budgie支持的应用][9]改善了翻译以及一些其他改进. +Ubuntu Budgie 22.10 特别升级了 [Budgie 的欢迎应用][9],改善了翻译以及一些其他改进。 -#### 改成默认的应用 +#### 默认的应用的变化 -Ubuntu Budgie的开发人员已经开始替换和删除基于GNOME的应用程序,以支持基于MATE的应用程序和其他替代方案。 +Ubuntu Budgie 的开发人员已经开始替换和删除基于 GNOME 的应用程序,转而使用基于 MATE 的应用程序和其他替代品。 -他们决定这样做,因为基于GNOME的应用程序在Budgie中的外观与其他具有圆角边缘的应用程序的外观不一致。 +他们决定这样做是因为基于 GNOME 的应用程序在 Budgie 中的外观与其他具有圆角边缘的应用程序的外观不一致。 -这些不一致是由于 GNOME 根据其样式和主题需求而转到Libadwaita库造成的。 +这些不一致是由于 GNOME 根据其样式和主题需求而转到 Libadwaita 库造成的。 Libadwaita 库是 GNOME 的一个有争议的补充,没有多少用户喜欢,你可以通过我们的报道来了解更多信息。 +> **[你对在 Linux 世界中 GNOME 的 Libadwaita 库怎么看?][15]** + 以下是一些已删除或替换的应用程序: - GNOME 计算器被 MATE 计算器取代。 -- GNOM 删除了日历。 -- GNOME 系统显示器已由MATE系统显示器取代。 -- GNOME 移除截图. -- GNOME [字体管理][10]替代了字体查看器。 +- 删除了 GNOME 日历。 +- GNOME 系统监视器已由 MATE 系统监视器取代。 +- 删除了 GNOME 截图。 +- [字体管理器][10] 替代了 GNOME 字体查看器。 #### 🛠️ 其他改变 -其他改变包括以下: +其他改变包括以下: -- **内置主题返工** -- **移除PulseAudio并支持PipeWire** -- **原生截图功能** -- **支持网络规划图像** -- **能够查看显示器的刷新率** +- 重新开发的内置主题 +- 移除 PulseAudio,并支持 PipeWire +- 原生的截图功能 +- 支持 WebP 图像 +- 能够查看显示器的刷新率 -你可以通过[发行说明][11]了解更多。 +你可以通过 [发行说明][11] 了解更多。 ### 📥 下载 Ubuntu Budgie 22.10 -你可以下载最新的ISO在[Ubuntu's 镜像中心仓库][12]或者它的[官方网站][13]。 +你可以在 [Ubuntu 中央镜像仓库][12] 或者它的 [官方网站][13] 下载最新的 ISO。 -其官方网站可能需要一段时间ISO才能够可用。 +*其官方网站可能需要一段时间才能提供 ISO。* -[下载 Ubuntu Budgie 22.10][13] +> **[下载 Ubuntu Budgie 22.10][13]** -> 💡Ubuntu Budgie 22.10 将支持9个月直到 **2023 6月 **. 如果你想使用稳定的功能,更应该选择 [LTS 版本][14]. +> 💡 Ubuntu Budgie 22.10 将支持 9 个月直到 **2023 年 6 月**。如果你想使用稳定的功能,更应该选择 [LTS 版本][14]。 -💬 您如何看待这个非LTS版本?愿意尝试一下吗? +💬 你如何看待这个非 LTS 版本?愿意尝试一下吗? -------------------------------------------------------------------------------- @@ -95,8 +97,8 @@ via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -116,3 +118,4 @@ via: https://news.itsfoss.com/ubuntu-budgie-22-10-release/ [12]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/22.10/ [13]: https://ubuntubudgie.org/downloads/ [14]: https://itsfoss.com/long-term-support-lts/ +[15]: https://news.itsfoss.com/gnome-libadwaita-library/ \ No newline at end of file From 5861eb3701fd9984efbad37bc99e2f9ea4a2113b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 26 Oct 2022 17:14:59 +0800 Subject: [PATCH 127/925] P @littlebirdnest https://linux.cn/article-15179-1.html --- ...Release Improves Control Center and Removes Some GNOME Apps.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md (98%) diff --git a/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/published/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md similarity index 98% rename from translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md rename to published/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md index e8ed212985..38d5642bd9 100644 --- a/translated/news/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md +++ b/published/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15179-1.html" Ubuntu Budgie 22.10 的新变化 ====== From b2a4de300e386666f5524ae089b295863d461f36 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 27 Oct 2022 08:53:43 +0800 Subject: [PATCH 128/925] translated --- ...ow to Check: Xorg or Wayland Display Server.md | 91 ----------- ...thon 3.10 in Ubuntu and Other Related Linux.md | 144 ------------------ ...thon 3.10 in Ubuntu and Other Related Linux.md | 144 ++++++++++++++++++ 3 files changed, 144 insertions(+), 235 deletions(-) delete mode 100644 sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md delete mode 100644 sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md create mode 100644 translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md diff --git a/sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md b/sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md deleted file mode 100644 index c13517957c..0000000000 --- a/sources/tech/20221020.0 ⭐️ How to Check: Xorg or Wayland Display Server.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: "How to Check: Xorg or Wayland Display Server?" -[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Check: Xorg or Wayland Display Server? -====== - -**Here’s how you can quickly check whether you are running Xorg or Wayland Display Server.** - -With every passing day, the modern Wayland display server is making its way to all Linux distributions. Although the legacy Xorg is still relevant and will stay, Wayland is undoubtedly better in security and other performance aspects. - -However, Xorg will not completely phase out anytime soon. Probably never. - -If you are running any Linux distribution, how can you check whether you are running Xorg or Wayland? Here’s how. - -### Wayland or Xorg: Which one are you running? - -- Open a terminal window (CTRL+ALT+T) in your Linux distributions (e.g. Ubuntu, Fedora, Arch…etc.). - -- Then type the following command and hit enter. - -``` -echo $XDG_SESSION_TYPE -``` - -- The output of the command will tell you whether the current session is Wayland or Xorg (X11). - -``` -[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland -``` - -![This command can give you details about Xorg or Wayland][1] - -That’s simple. However, there are other ways as well. - -### Other methods - -#### Using Settings - -If you want a graphical method, open your Linux distribution settings application. In the about section, you should see the Wayland/X11 mentioned under some label. - -For example, in the GNOME Settings, you can find it under “Windowing system”, as shown below. - -![In GNOME Settings you can find it][2] - -#### Using session values - -You can also find it out using `loginctl` which is the [systemd][3] login manager. Remember, it only works for systemd-based systems. - -Open a terminal and run the below command. You can see the session id value. In this example `c2`. - -``` -loginctl -``` - -Now, pass the session id to the following command to get the display server type. Make sure to change c2 to your system spec. - -``` -loginctl show-session c2 -p Type -``` - -![Using loginctl to find out][4] - -### Wrapping Up - -So, these are some of the ways you can find out whether you are running Systemd or Xorg in your Linux system. You can also use the above commands in your shell scripts for further process automation. - -Cheers. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/check-wayland-or-xorg/ - -作者:[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/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg -[3]: https://www.debugpoint.com/tag/systemd/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg diff --git a/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md b/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md deleted file mode 100644 index 8059afcab4..0000000000 --- a/sources/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md +++ /dev/null @@ -1,144 +0,0 @@ -[#]: subject: "How to Install Python 3.10 in Ubuntu and Other Related Linux" -[#]: via: "https://www.debugpoint.com/install-python-3-10-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Python 3.10 in Ubuntu and Other Related Linux -====== - -**Planning to get Python 3.10 installed for your work? Here’s how to install Python 3.10 in Ubuntu and related distributions.** - -Python 3.10 was released on Oct 25, 2021 with additional features and updates. This release brings better handling of error messages, new pattern-matching features, TypeAlias, user-defined type guards and more. You can read the release highlights [here][1]. - -As of writing this guide, Python 3.10 is adopted by most of the current distros. For example, Ubuntu 22.04 LTS, and Fedora 36 all have Python 3.10 by default. - -That said, if you need Python 3.10 in any non-supported releases right now, you can use the [below reliable PPA][2] to install the latest Python 3.10 in Ubuntu. Here’s how. - -### How to Install Python 3.10 on Ubuntu - -This PPA can be used for Ubuntu 21.10, Ubuntu 21.04, Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, and Linux Mint 20.x, Elementary OS 6 and other related Ubuntu-based distributions. Mostly those don’t support 3.10 by default. - -- Open a terminal prompt and add the following PPA. - -``` -sudo add-apt-repository ppa:deadsnakes/ppa -``` - -- Refresh the cache using the below command. - -``` -sudo apt update  -``` - -- And install Python 3.10 using the below command. - -``` -sudo apt install python3.10 -``` - -### Set Python Versions - -Setting up Python 3.10 as default require some additional steps. Follow along. - -**Warning**: Many applications in your Ubuntu system depend on the stock version of Python 3.9. Hence, be very sure that your work applications (e.g. GIMP, GNOME Terminal etc.) are compatible with Python 3.10. So, be cautious. - -**Quick Tip:** If you want to check which of your installed system packages depends on a specific version, use the following `rdepends` switch of `apt-cache` command. In the below example, I am checking which of the installed packages depends on Python 3.8. - -``` -apt-cache rdepends python3.8 -``` - -``` -[~]$ apt-cache rdepends python3.8 -python3.8 -Reverse Depends: -python3.8-dbg -virtualbox -python3.8-venv -python3.8-full -libpython3.8-testsuite -libglib2.0-tests -idle-python3.8 -idle-python3.8 -python3.8-minimal -python3.8-doc -python3.8-dev -python3.8-dbg -python3-uno -gedit -virtualbox -stimfit -python3.8-venv -python3-stfio -python3-escript-mpi -python3-escript -python3-csound -pitivi -obs-studio -liferea -libpython3.8-testsuite -libglib2.0-tests -kitty -kdevelop-python -idle-python3.8 -idle-python3.8 -rhythmbox-plugins -python3.8-minimal -python3.8-doc -python3.8-dev -python3 -python3-uno -python3-all -cluster-glue -gedit -[~]$ -``` - -#### Use Python 3.10 as the default Python3 - -- First, check the current default version using the below command from the terminal. - -``` -python3 --version -``` - -- Use `update-alternatives` to create symbolic links to python3 - -``` -sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 -``` - -``` -sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2 -``` - -- And choose which one to use as Python3 via the command: - -``` -sudo update-alternatives --config python3 -``` - -![Install Python 3.10 in Ubuntu][3] - -That’s all for the steps. Now you can start using the latest Python in your current Ubuntu version for your work/study. You switch over to the stock version using the above commands and changing the version numbers at any given time. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-python-3-10-ubuntu/ - -作者:[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://docs.python.org/3.10/whatsnew/3.10.html -[2]: https://github.com/deadsnakes -[3]: https://www.debugpoint.com/wp-content/uploads/2021/10/Installed-Python-3.10-in-Ubuntu-1024x472.jpeg diff --git a/translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md b/translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md new file mode 100644 index 0000000000..768e7a7091 --- /dev/null +++ b/translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md @@ -0,0 +1,144 @@ +[#]: subject: "How to Install Python 3.10 in Ubuntu and Other Related Linux" +[#]: via: "https://www.debugpoint.com/install-python-3-10-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu 和其他相关 Linux 中安装 Python 3.10 +====== + +**计划为工作安装 Python 3.10?以下是在 Ubuntu 和相关发行版中安装 Python 3.10 的方法。** + +Python 3.10 于 2021 年 10 月 25 日发布,具有附加功能和更新。此版本带来了更好的错误消息处理、新的模式匹配功能、TypeAlias、用户定义的类型保护等。你可以在[此处][1]阅读发布亮点。 + +在编写本指南时,大多数当前发行版都采用 Python 3.10。例如,Ubuntu 22.04 LTS 和 Fedora 36 默认都有 Python 3.10。 + +也就是说,如果你现在需要任何不支持的版本中的 Python 3.10,你可以使用[下面的可靠 PPA][2]在 Ubuntu 中安装最新的 Python 3.10。下面是方法。 + +### 如何在 Ubuntu 上安装 Python 3.10 + +此 PPA 可用于 Ubuntu 21.10、Ubuntu 21.04、Ubuntu 20.04 LTS、Ubuntu 18.04 LTS 和 Linux Mint 20.x、Elementary OS 6 和其他相关的基于 Ubuntu 的发行版。大多数默认情况下不支持 3.10。 + +- 打开终端并添加以下 PPA。 + +``` +sudo add-apt-repository ppa:deadsnakes/ppa +``` + +- 使用以下命令刷新缓存。 + +``` +sudo apt update +``` + +- 并使用以下命令安装 Python 3.10。 + +``` +sudo apt install python3.10 +``` + +### 设置 Python 版本 + +将 Python 3.10 设置为默认值需要一些额外的步骤。请跟上。 + +**警告**:你的 Ubuntu 系统中的许多应用程序依赖于 Python 3.9 的库存版本。因此,请确保你的工作应用(例如 GIMP、GNOME 终端等)与 Python 3.10 兼容。所以,要小心。 + +**快速提示:** 如果要检查已安装的系统包中的哪些依赖于特定版本,请使用 `apt-cache` 命令的 `rdepends` 开关。在下面的示例中,我检查哪些已安装的包依赖于 Python 3.8。 + +``` +apt-cache rdepends python3.8 +``` + +``` +[~]$ apt-cache rdepends python3.8 +python3.8 +Reverse Depends: +python3.8-dbg +virtualbox +python3.8-venv +python3.8-full +libpython3.8-testsuite +libglib2.0-tests +idle-python3.8 +idle-python3.8 +python3.8-minimal +python3.8-doc +python3.8-dev +python3.8-dbg +python3-uno +gedit +virtualbox +stimfit +python3.8-venv +python3-stfio +python3-escript-mpi +python3-escript +python3-csound +pitivi +obs-studio +liferea +libpython3.8-testsuite +libglib2.0-tests +kitty +kdevelop-python +idle-python3.8 +idle-python3.8 +rhythmbox-plugins +python3.8-minimal +python3.8-doc +python3.8-dev +python3 +python3-uno +python3-all +cluster-glue +gedit +[~]$ +``` + +#### 使用 Python 3.10 作为默认 Python3 + +- 首先,使用终端中的以下命令检查当前默认版本。 + +``` +python3 --version +``` + +- 使用 `update-alternatives` 创建指向 python3 的符号链接。 + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 +``` + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2 +``` + +- 并通过以下命令选择使用哪一个作为 Python3: + +``` +sudo update-alternatives --config python3 +``` + +![在 Ubuntu 中安装 Python 3.10][3] + +这就是所有步骤。现在,你可以开始在当前的 Ubuntu 版本中使用最新的 Python 进行工作/学习。你可以使用上述命令切换到库存版本并在任何时间更改版本号。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-python-3-10-ubuntu/ + +作者:[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://docs.python.org/3.10/whatsnew/3.10.html +[2]: https://github.com/deadsnakes +[3]: https://www.debugpoint.com/wp-content/uploads/2021/10/Installed-Python-3.10-in-Ubuntu-1024x472.jpeg \ No newline at end of file From 5049e09776e7203b01006329be21b049cf6ed29c Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 27 Oct 2022 09:08:21 +0800 Subject: [PATCH 129/925] translating --- ...ow to Check:Xorg or Wayland Display Server.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md diff --git a/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md b/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md new file mode 100644 index 0000000000..a3d04b3f18 --- /dev/null +++ b/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md @@ -0,0 +1,91 @@ +[#]: subject: "How to Check: Xorg or Wayland Display Server?" +[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Check: Xorg or Wayland Display Server? +====== + +**Here’s how you can quickly check whether you are running Xorg or Wayland Display Server.** + +With every passing day, the modern Wayland display server is making its way to all Linux distributions. Although the legacy Xorg is still relevant and will stay, Wayland is undoubtedly better in security and other performance aspects. + +However, Xorg will not completely phase out anytime soon. Probably never. + +If you are running any Linux distribution, how can you check whether you are running Xorg or Wayland? Here’s how. + +### Wayland or Xorg: Which one are you running? + +- Open a terminal window (CTRL+ALT+T) in your Linux distributions (e.g. Ubuntu, Fedora, Arch…etc.). + +- Then type the following command and hit enter. + +``` +echo $XDG_SESSION_TYPE +``` + +- The output of the command will tell you whether the current session is Wayland or Xorg (X11). + +``` +[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland +``` + +![This command can give you details about Xorg or Wayland][1] + +That’s simple. However, there are other ways as well. + +### Other methods + +#### Using Settings + +If you want a graphical method, open your Linux distribution settings application. In the about section, you should see the Wayland/X11 mentioned under some label. + +For example, in the GNOME Settings, you can find it under “Windowing system”, as shown below. + +![In GNOME Settings you can find it][2] + +#### Using session values + +You can also find it out using `loginctl` which is the [systemd][3] login manager. Remember, it only works for systemd-based systems. + +Open a terminal and run the below command. You can see the session id value. In this example `c2`. + +``` +loginctl +``` + +Now, pass the session id to the following command to get the display server type. Make sure to change c2 to your system spec. + +``` +loginctl show-session c2 -p Type +``` + +![Using loginctl to find out][4] + +### Wrapping Up + +So, these are some of the ways you can find out whether you are running Systemd or Xorg in your Linux system. You can also use the above commands in your shell scripts for further process automation. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/check-wayland-or-xorg/ + +作者:[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/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg +[3]: https://www.debugpoint.com/tag/systemd/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg \ No newline at end of file From 13807b9aea9ba90edc5d539c2c4387ec6b2cd85f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 27 Oct 2022 09:14:15 +0800 Subject: [PATCH 130/925] RP @geekpi https://linux.cn/article-15181-1.html --- ...tatic IP Address on Ubuntu Server 22.04.md | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) rename {translated/tech => published}/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md (63%) diff --git a/translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md similarity index 63% rename from translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md rename to published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md index 5ea893ddf2..139447fa90 100644 --- a/translated/tech/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md +++ b/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md @@ -3,28 +3,31 @@ [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15181-1.html" -如何在 Ubuntu Server 22.04 上设置静态 IP 地址 +如何在 Ubuntu 服务器 22.04 上设置静态 IP 地址 ====== -在这篇文章中,我们将介绍如何在 Ubuntu Server 22.04 上设置静态 IP 地址。 -强烈建议在 linux 服务器上使用静态 ip,因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。 +![](https://img.linux.net.cn/data/attachment/album/202210/27/091312aohaix6g6kay68xa.jpg) -##### 先决条件 +> 在这篇文章中,我们将介绍如何在 Ubuntu 服务器 22.04 上设置静态 IP 地址。 -* 最小安装的 Ubuntu Server 22.04 -* 具有 sudo 管理员权限的普通用户 +强烈建议在 Linux 服务器上使用静态 IP,因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。 -在 Ubuntu Server 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu Server 上配置静态 IP 地址。 +**准备条件** -注意:我们不能使用 [nmcli 程序][1],因为它不是 Ubuntu Server 上默认安装的一部分。 +* 最小安装的 Ubuntu 服务器 22.04 +* 具有 `sudo` 管理员权限的普通用户 -### 在 Ubuntu Server 22.04 上设置静态 IP 地址 +在 Ubuntu 服务器 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu 服务器上配置静态 IP 地址。 -登录到你的 Ubuntu Server 22.04,查找 netplan 配置文件。它位于 /etc/netplan 目录下。 +注意:我们不能使用 [nmcli 程序][1],因为它不是 Ubuntu 服务器上默认安装的一部分。 + +### 在 Ubuntu 服务器 22.04 上设置静态 IP 地址 + +登录到你的 Ubuntu 服务器 22.04,查找 netplan 配置文件。它位于 `/etc/netplan` 目录下。 ``` $ cd /etc/netplan/ @@ -34,7 +37,7 @@ total 4 $ ``` -运行以下 cat 命令以查看 “00-installer-config.yaml” 的内容 +运行以下 `cat` 命令以查看 `00-installer-config.yaml` 的内容。 注意:配置文件的名称可能因你的设置而异。由于它是一个 yaml 文件,因此请确保在编辑时保持缩进和语法。 @@ -42,13 +45,13 @@ $ $ cat 00-installer-config.yaml ``` -输出: +输出: ![Default-Content-netplan-ubuntu-server][2] -根据上面的输出,它说我们有 ens33 接口,它正在从 dhcp 服务器获取 ip。查看接口名称的另一种方法是通过 ip 命令。 +根据上面的输出,它说我们有 `ens33` 接口,它正在从 DHCP 服务器获取 IP。查看接口名称的另一种方法是通过 `ip` 命令。 -现在,要配置静态 ip 代替 dhcp,使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。 +现在,要配置静态 IP 代替 DHCP,使用 `vi` 或 `nano` 编辑器编辑 netplan 配置文件并添加以下内容。 ``` $ sudo vi 00-installer-config.yaml @@ -73,20 +76,20 @@ network: 在上面的文件中,我们使用了以下内容, -* ens33 为接口名称 -* 用于设置静态 ip 的地址 -* nameservers 用于指定 DNS 服务器的 ip +* `ens33` 为接口名称 +* 用于设置静态 IP 的地址 +* `nameservers` 用于指定 DNS 服务器的 IP * 用于指定默认网关的路由 注意:根据你的环境更改 IP 详细信息和接口名称。 -要是上述修改生效,请使用以下 netplan 命令应用这些更改: +要是上述修改生效,请使用以下 `netplan` 命令应用这些更改: ``` $ sudo netplan apply ``` -运行以下 ip 命令查看接口上的 ip 地址: +运行以下 IP 命令查看接口上的 IP 地址: ``` $ ip addr show ens33 @@ -113,7 +116,7 @@ via: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 0a0934da4f0407e0cd980d15dfa463b87956f22e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 27 Oct 2022 09:22:17 +0800 Subject: [PATCH 131/925] R --- ...21012 How to Set Static IP Address on Ubuntu Server 22.04.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md index 139447fa90..2d81af776b 100644 --- a/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md +++ b/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md @@ -105,7 +105,7 @@ $ ip route show ![ip-addr-route-command-output-ubuntu-server][4] -完美,以上命令的输出确认静态ip和路由配置成功。 +完美,以上命令的输出确认静态 IP 和路由配置成功。 这就是这篇文章的全部内容。请在下面的评论部分发表你的问题和反馈。 From 8945809d6035b270ee629b3edeafac81bcc34f2a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 27 Oct 2022 09:50:09 +0800 Subject: [PATCH 132/925] RP @Donkey-Hao https://linux.cn/article-15182-1.html --- ...o practice open organization principles.md | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) rename {translated/talk => published}/20220616 Using habits to practice open organization principles.md (70%) diff --git a/translated/talk/20220616 Using habits to practice open organization principles.md b/published/20220616 Using habits to practice open organization principles.md similarity index 70% rename from translated/talk/20220616 Using habits to practice open organization principles.md rename to published/20220616 Using habits to practice open organization principles.md index aff844240b..d549c013a5 100644 --- a/translated/talk/20220616 Using habits to practice open organization principles.md +++ b/published/20220616 Using habits to practice open organization principles.md @@ -3,13 +3,14 @@ [#]: author: "Ron McFarland https://opensource.com/users/ron-mcfarland" [#]: collector: "lkxed" [#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15182-1.html" 利用习惯练习开放式组织原则 ====== -你可以按照以下步骤,来养成符合开放文化的习惯,并改掉那些不符合开放文化的习惯。 + +> 你可以按照以下步骤,来养成符合开放文化的习惯,并改掉那些不符合开放文化的习惯。 ![Selfcare, drinking tea on the porch][1] @@ -44,9 +45,9 @@ ### 养成习惯的 3 个步骤 -1、提示(触发器):首先,提示或者触发器会告诉大脑,进入之前学习的习惯性行为的自动模式之中。这里的提示可以是某件事,比如每天在确定的时间点、在确定的地点,看到一包糖果或者看到电视购物节目,亦或者看到某个特定的人。时间压力会触发你去做例行事项(routine)。在令人崩溃的环境下也会触发例行事项。简而言之,某件事提醒你开始做一些固定的事情。 -2、例行事项(routine):例行事项会被触发。一个例行事项是一系列的身体、心理或者情绪上的表现,可以是非常复杂的,也可以十分简单。诸如与心情相关的一些习惯可以在很短时间内被触发。 -3、奖励:最后一步是奖励,奖励会帮助你的大脑计算一个特定的行为是否值得记住。奖励的范围很广泛,可以是食物或者其他令你感到快乐的东西。 +1. 提示(触发器):首先,提示或者触发器会告诉大脑,进入之前学习的习惯性行为的自动模式之中。这里的提示可以是某件事,比如每天在确定的时间点、在确定的地点,看到一包糖果或者看到电视购物节目,亦或者看到某个特定的人。时间压力会触发你去做例行事项(routine)。在令人崩溃的环境下也会触发例行事项。简而言之,某件事提醒你开始做一些固定的事情。 +2. 例行事项routine:例行事项会被触发。一个例行事项是一系列的身体、心理或者情绪上的表现,可以是非常复杂的,也可以十分简单。诸如与心情相关的一些习惯可以在很短时间内被触发。 +3. 奖励:最后一步是奖励,奖励会帮助你的大脑计算一个特定的行为是否值得记住。奖励的范围很广泛,可以是食物或者其他令你感到快乐的东西。 ### 商业环境中的坏习惯 @@ -65,11 +66,11 @@ 以下是你可以用来改变任何习惯的四步框架,其中还包括与开放式组织原则相关的习惯。 -##### 第一步:调整例行事项 +#### 第一步:调整例行事项 确定你的习惯循环和例行事项,例如,当面临一件你无法独自解决的重大挑战之时。例行事项(你表现出的行为)最容易确定,所以先从它下手:例如,“在我的组织中,没人愿意和别人讨论问题。大家都会早早地放弃”。决定好你想要调整、改变或者学习的事情:例如:“每次重大挑战到来的时候,我应该和他人讨论一下,并且尝试建立一个志同道合、有能力解决问题的社区。” -##### 第二步:有奖励的实验 +#### 第二步:有奖励的实验 奖励是很重要的,因为它会满足你强烈的渴望。但是,我们通常没有意识到强烈的渴望会驱动我们的行为。只有在事后,才会被我们察觉。比方说,开会时很多次你都想尽快离开会议室,避免讨论话题,即使内心清楚你应该弄明白如何解决问题。 @@ -77,15 +78,12 @@ 把你自己当作科学家,进行实验并收集数据。这是你调查研究的步骤: -1、第一个行为结束后,开始调整后面的行为,看看有没有奖励变化。例如,如果你每次碰到自己无法解决的挑战时都放弃,那么奖励就是不承担责任的解脱。更好的解决方法是与至少一个同样关心该问题的人讨论该问题。关键是要测试不同的假设,以确定哪种渴望驱使你的日常生活。你真的想逃避责任吗? +1. 第一个行为结束后,开始调整后面的行为,看看有没有奖励变化。例如,如果你每次碰到自己无法解决的挑战时都放弃,那么奖励就是不承担责任的解脱。更好的解决方法是与至少一个同样关心该问题的人讨论该问题。关键是要测试不同的假设,以确定哪种渴望驱使你的日常生活。你真的想逃避责任吗? +2. 在经历四至五个不同的例行事项和奖励之后,写下在收到每个奖励后立即想到的前三、四件事。例如,你不会在面对挑战时放弃,而是与其他人讨论这个问题。然后,你决定可以做什么。 +3. 写下你的感受或渴望后,设置一个 15 分钟的计时器。当计时器结束时,问问自己是否依旧渴望。在屈服于渴望之前,请休息一会儿并再考虑一两次这个问题。这会迫使你意识到这一刻,并帮助你稍后回忆起你当时的想法。 +4. 试着记住你在那一刻的想法和感受,然后在例行事项后 15 分钟。如果渴望消失了,你就已经确定了回报是什么。 -2、在经历四至五个不同的例行事项和奖励之后,写下在收到每个奖励后立即想到的前三、四件事。例如,你不会在面对挑战时放弃,而是与其他人讨论这个问题。然后,你决定可以做什么。 - -3、写下你的感受或渴望后,设置一个 15 分钟的计时器。当计时器结束时,问问自己是否依旧渴望。在屈服于渴望之前,请休息一会儿并再考虑一两次这个问题。这会迫使你意识到这一刻,并帮助你稍后回忆起你当时的想法。 - -4、试着记住你在那一刻的想法和感受,然后在例行事项后 15 分钟。如果渴望消失了,你就已经确定了回报是什么。 - -##### 第三步:分析出坏习惯的提示或触发器 +#### 第三步:分析出坏习惯的提示或触发器 坏习惯的提示信息很难鉴定,因为通常有太多信息干扰你未定型的行为。要在干扰中鉴别提示,你可以在你的坏习惯出现的时候,观察以下四个因素: @@ -97,24 +95,24 @@ 人们:当时有谁或者哪一类人在你周围,还是你是独自一人?例如:“在会议上,大多数人似乎对这个问题也不感兴趣。剩下的人主导会议讨论。” -##### 第四步:制定养成好习惯的计划 +#### 第四步:制定养成好习惯的计划 一旦你确定奖励可以驱动你的行为,某些提示会触发你的坏习惯,那你就可以开始改变你的行动。请跟随以下三个简单的步骤: -1、首先,规划好习惯的提示。例如:“在会议上,我将发现并将我的注意力集中在重要的问题上。” -2、其次,选择一种能带来相同回报的好行为,但不会遭受你现在坏习惯的惩罚。例如:“我将找到解决这个问题的方法,并考虑我需要哪些资源和技能才能成功。当我创建一个能够成功解决问题的社区时,我会感觉很棒。” -3、最后,让你选择的行为成为深思熟虑的选择,直到你不再需要考虑它,就能下意识地做它了。例如:“我将有意识地关注重要问题,直到我可以不假思索地做到这一点。我会查看近期会议的安排表,这样我就可以提前知道会发生什么。在每次会议开始前和会议期间,我会问自己‘为什么我会来开会’,来确保我集中注意于重要的事情。” +1. 首先,规划好习惯的提示。例如:“在会议上,我将发现并将我的注意力集中在重要的问题上。” +2. 其次,选择一种能带来相同回报的好行为,但不会遭受你现在坏习惯的惩罚。例如:“我将找到解决这个问题的方法,并考虑我需要哪些资源和技能才能成功。当我创建一个能够成功解决问题的社区时,我会感觉很棒。” +3. 最后,让你选择的行为成为深思熟虑的选择,直到你不再需要考虑它,就能下意识地做它了。例如:“我将有意识地关注重要问题,直到我可以不假思索地做到这一点。我会查看近期会议的安排表,这样我就可以提前知道会发生什么。在每次会议开始前和会议期间,我会问自己‘为什么我会来开会’,来确保我集中注意于重要的事情。” -##### 指定计划来避免忘记必做事项 +#### 制定计划来避免忘记必做事项 为了成功地开始做你经常忘记的事情,请按照以下步骤: -1、 计划你想要做什么 -2、 决定何时完成 -3、 将计划分为必要的小任务 -4、 用计时器或者日常计划进行提示,并开始每项任务 -5、 按计划完成每个任务 -6、 按时完成后就奖励自己 +1. 计划你想要做什么 +2. 决定何时完成 +3. 将计划分为必要的小任务 +4. 用计时器或者日常计划进行提示,并开始每项任务 +5. 按计划完成每个任务 +6. 按时完成后就奖励自己 ### 习惯的改变 @@ -133,7 +131,7 @@ via: https://opensource.com/open-organization/22/6/using-habits-practice-open-or 作者:[Ron McFarland][a] 选题:[lkxed][b] 译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 5db0c800e8f9ec89d9c848028f769d942fde83e3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 27 Oct 2022 10:44:53 +0800 Subject: [PATCH 133/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 https://linux.cn/article-15183-1.html 这篇辛苦了,也很仔细。 --- ...on any operating system with VirtualBox.md | 104 +++++++++--------- 1 file changed, 52 insertions(+), 52 deletions(-) rename {translated/tech => published}/20210629 Try Linux on any operating system with VirtualBox.md (58%) diff --git a/translated/tech/20210629 Try Linux on any operating system with VirtualBox.md b/published/20210629 Try Linux on any operating system with VirtualBox.md similarity index 58% rename from translated/tech/20210629 Try Linux on any operating system with VirtualBox.md rename to published/20210629 Try Linux on any operating system with VirtualBox.md index cd6b27a477..5a7771408e 100644 --- a/translated/tech/20210629 Try Linux on any operating system with VirtualBox.md +++ b/published/20210629 Try Linux on any operating system with VirtualBox.md @@ -3,15 +3,16 @@ [#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99) [#]: collector: (lujun9972) [#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15183-1.html) 使用 VirtualBox 安装 Linux 虚拟机 ====== -VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。 -![Person programming on a laptop on a building][1] +> VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。 + +![](https://img.linux.net.cn/data/attachment/album/202210/27/104215te6xpq2e2vvxprjs.jpg) VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要有使用命令行的经验,就可以自己安装一个简单的 Linux 虚拟机。在虚拟机方面,我精通很多东西,但这篇文章将向新手展示如何安装一个 Linux 虚拟机。此外,这篇文章还概述了如何使用开源虚拟机管理程序 [VirtualBox][2] ,来运行以及安装一个测试目的的 Linux 系统。 @@ -19,12 +20,12 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要 在开始之前,你需要了解在本安装教程中的两个操作系统(OS)之间的区别: - * **主机系统(host system):** 这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。 - * **访客系统(guest system):** 这指的是你想要在主机系统之上运行的虚拟化系统。 + * 主机系统host system:这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。 + * 客体系统guest system:这指的是你想要在主机系统之上运行的虚拟化系统。 -在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和访客系统都必须能够交互。 +在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和客体系统都必须能够交互。 -在本教程中,我将使用 Windows 10 作为 _主机系统_,[Fedora 33][3] 作为 _访客系统_。 +在本教程中,我将使用 Windows 10 作为 _主机系统_,[Fedora 33][3] 作为 _客体系统_。 ### 安装前的准备 @@ -37,40 +38,39 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要 ### 准备虚拟机 -下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统映像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统映像(当然内存的使用会受限),反之亦然。 +下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统镜像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统镜像(当然内存的使用会受限),反之亦然。 -> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6](LVM)的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加访客系统的硬盘驱动器的大小。 +> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6](LVM)的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加客体系统的硬盘驱动器的大小。 -现在,打开 VirtualBox,然后单击黄色的**新建**按钮: +现在,打开 VirtualBox,然后单击黄色的“新建New”按钮: ![VirtualBox New VM][7] -接下来,配置访客操作系统允许使用多少内存: +接下来,配置客体操作系统允许使用多少内存: ![Set VM memory size][9] -我的建议是:**不要吝啬访客操作系统的内存!** -当访客操作系统的内存不足时,访客系统将开始从随机存取存储器(RAM)转换到硬盘驱动器(hard drive),进行内存的分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。 +我的建议是:**不要吝啬分配给客体操作系统使用的内存!**当客体操作系统的内存不足时,客体系统将开始从随机存取存储器(RAM)向硬盘驱动器进行内存分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。 接下来,创建虚拟磁盘: ![Create virtual hard disk][10] -虚拟磁盘的格式选择默认的选项 **VDI(VirtualBox 磁盘映像)** 就可以了: +虚拟磁盘的格式选择默认的选项 “VDI(VirtualBox 磁盘镜像)” 就可以了: ![Selecting hard disk file type][11] -在以下的窗口中,我建议选择**动态分配**,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了**固定大小**,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了: +在以下的窗口中,我建议选择“动态分配dynamically allocated”,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了“固定大小fixed size”,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了: ![Dynamically allocating hard disk][12] -建议你使用附带有逻辑卷管理器(LVM)的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的访客系统的空间快用完了,你可以按需增加磁盘的大小。 +建议你使用附带有逻辑卷管理器(LVM)的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的客体系统的空间快用完了,你可以按需增加磁盘的大小。 -> **注意**:我选择的访客系统为 Fedora,在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB,以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。 +> **注意**:我选择的客体系统为 Fedora,在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB,以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。 ![Setting hard disk size][14] -创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击**设置**。在设置菜单中,点击**系统**,然后选择**处理器**标签。默认情况下,VirtualBox 只向访客系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快访客系统的速度: +创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击“设置Settings”。在设置菜单中,点击“系统System”,然后选择“处理器Processor”标签。默认情况下,VirtualBox 只向客体系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快客体系统的速度: ![Assigning cores to guest system][15] @@ -81,55 +81,56 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要 ![Network settings][16] 你也可以创建多个网络适配器。以下是网络适配器最常见的类型: - * **NAT:** NAT适配器能自动执行 [网络地址转换][17]。从外部看,主机和访客系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问访客系统。(尽管,你也可以通过定义 [端口转发][18],来访问某些服务。)当你的主机系统可以访问互联网时,则你的访客系统也可以访问互联网。NAT 不再需要进一步的配置。 - * _如果你只需要让访客系统接入互联网就可以的话,请选择 **NAT**。_ - * **桥接适配器(Bridged adapter):** 在此配置中,访客系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。 - * _如果你想要共享访客系统的网络服务的话,请选择 **桥接适配器**。_ - * **仅限主机的适配器(Host-only adapter):** 在此配置中,访客系统只能与主机,或在同一主机上运行的其他访客系统,相互通信。主机系统也可以连接到访客系统。但访客系统不能接入互联网或物理网络。 - * _如果你想要获得高安全性,请选择 **仅限主机的适配器**。_ -#### 分配操作系统映像 + * NAT:NAT 适配器能自动执行 [网络地址转换][17]。从外部看,主机和客体系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问客体系统。(尽管,你也可以通过定义 [端口转发][18],来访问某些服务。)当你的主机系统可以访问互联网时,则你的客体系统也可以访问互联网。NAT 不再需要进一步的配置。 + * _如果你只需要让客体系统接入互联网就可以的话,请选择 “NAT”。_ + * 桥接适配器Bridged adapter:在此配置中,客体系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。 + * _如果你想要共享客体系统的网络服务的话,请选择 “桥接适配器”。_ + * 仅限主机的适配器Host-only adapter:在此配置中,客体系统只能与主机,或在同一主机上运行的其他客体系统相互通信。主机系统也可以连接到客体系统。但客体系统不能接入互联网或物理网络。 + * _如果你想要获得高安全性,请选择 “仅限主机的适配器”。_ -在设置菜单中,点击**存储**,然后选择虚拟光盘驱动器。单击右侧的 **光盘图标**,然后点击**选择一个磁盘文件...**,然后分配你想要安装的、已下载的 Linux 发行版映像: +#### 分配操作系统镜像 + +在设置菜单中,点击“存储Storage”,然后选择虚拟光盘驱动器。单击右侧的 “光盘”图标,然后点击“选择一个磁盘文件……Choose a disk file…”,然后分配你想要安装的、已下载的 Linux 发行版镜像: ![Assigning OS image][19] ### 安装 Linux -现在,就已经配置好了虚拟机。右上角关闭**设置**菜单,返回主窗口。点击**绿色箭头**(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中: +现在,就已经配置好了虚拟机。右上角关闭“设置Settings”菜单,返回主窗口。点击“绿色箭头”(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中: ![VirtualBox Fedora installer][20] #### 设置分区 -安装程序将在安装过程中要求你提供分区信息。选择**自定义(Custom)**: +安装程序将在安装过程中要求你提供分区信息。选择“自定义Custom”: ![Selecting Custom partition configuration][21] -> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心访客系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 [Linux 系统交换空间的介绍][22] 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。 +> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心客体系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 《[Linux 系统交换空间的介绍][22]》 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。 Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分区可以用于存放分页和交换、并经过压缩过后的硬盘数据。zram 分区可以按需地调整大小,并且它比硬盘交换分区快得多。 -为了简单,我们只添加以下两个挂载点(mount point): +为了简单,我们只添加以下两个挂载点Mount Point: ![Adding mount points][24] 保存更改,接下来我们继续安装。 -### 安装 VirtualBox 增强功能 Guest Additions +### 安装 VirtualBox 增强功能 -完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 VirtualBox 增强功能,其中包括特殊的设备驱动程序和系统应用程序,他们能提供以下内容: +完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 VirtualBox 增强功能VirtualBox Guest Additions,其中包括特殊的设备驱动程序和系统应用程序,它们能提供以下功能: * 共享剪贴板 * 共享文件夹 * 更好的性能 * 可自由扩展的窗口大小 -点击顶部菜单栏的**设备**,然后选择**插入增强功能的CD映像...**,来安装 VirtualBox 增强功能: +点击顶部菜单栏的“设备Devices”,然后选择“插入增强功能的 CD 镜像……Insert Guest Additions CD image...”,来安装 VirtualBox 增强功能: ![Selecting Guest Additions CD image][25] -在大多数 Linux 发行版上,带有增强功能的CD映像会自动挂载,并且能够在 File Browser 文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击**运行**,并授予该安装进程 root 权限: +在大多数 Linux 发行版上,带有增强功能的 CD 镜像会自动挂载,并且能够在文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击“运行Run”,并授予该安装进程 root 权限: ![Enabling Guest Additions autorun][26] @@ -141,7 +142,7 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分 ![Fedora hard disk running out of space][27] -正如我提到的,Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有新安装其他软件(除了 VirtualBox Guest Additions),启动项就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。 +正如我提到的,Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有安装其他软件(除了 VirtualBox 增强功能)的一个新安装的系统就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。 幸运的是,我选择了附带有 LVM 的 Fedora,这样我就可以用命令行轻松地修复这个问题。 @@ -150,10 +151,10 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分 关闭虚拟机。如果你的主机系统运行的是 Windows,请打开终端,并进入到 `C:\Program Files\Oracle\VirtualBox` 目录下。使用以下命令,将磁盘大小扩大到 12,000MB: ``` -`VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000` +VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000 ``` -然后启动虚拟机,并打开**磁盘**的利用。你可以看到你刚刚新创建且未分配的可用空间。选择**可用空间**,然后单击 **+** 按钮: +然后启动虚拟机,并打开“磁盘Disks”工具。你可以看到你刚刚新创建且未分配的可用空间。选择“可用空间Free Space”,然后单击 “+” 按钮: ![Free space before adding][28] @@ -161,12 +162,11 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23],zram 分 ![Creating a new partition and setting size][29] -You don't want to create a filesystem or anything else on your new partition, so select **Other**: -如果你不想在新分区上创建文件系统或任何其他内容,请选择**其他**: +如果你不想在新分区上创建文件系统或任何其他内容,请选择“其他Other”: ![Selecting "other" for partition volume type][30] -选择**无文件系统**: +选择“无文件系统No Filesystem”: ![Setting "No filesystem" on new partition][31] @@ -174,26 +174,26 @@ You don't want to create a filesystem or anything else on your new partition, so ![VirtualBox after adding new partition][32] -虚拟机有了一个新的分区设备:**/dev/sda3**。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 **fedora_localhost_live** 这一LVM 卷组 : +虚拟机有了一个新的分区设备:`/dev/sda3`。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 `fedora_localhost_live` 这一 LVM 卷组 : ![Checking LVM volume group by typing vgscan:][33] -现在,已经万事俱备了。在新分区 **/dev/sda3** 中扩展卷组 **fedora_localhost_live**: +现在,已经万事俱备了。在新分区 `/dev/sda3` 中扩展卷组 `fedora_localhost_live`: ``` -`vgextend fedora_localhost-live /dev/sda3` +vgextend fedora_localhost-live /dev/sda3 ``` ![vgextend command output][34] -由于卷组较大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的空闲扩展: +由于卷组比逻辑卷大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的物理扩展(PE): ![vgdisplay command output][35] -将逻辑卷增加 951 个扩展: +将逻辑卷增加 951 个物理扩展: ``` -`lvextend -l+951 /dev/mapper/fedora_localhost--live-root` +lvextend -l+951 /dev/mapper/fedora_localhost--live-root ``` ![lvextend command output][36] @@ -201,16 +201,16 @@ You don't want to create a filesystem or anything else on your new partition, so 在增加了逻辑卷后,最后一件事就是调整文件系统的大小: ``` -`resize2fs /dev/mapper/fedora_localhost--live-root` +resize2fs /dev/mapper/fedora_localhost--live-root ``` ![resize2fs command output][37] -这样磁盘空间就增加完成了!检查**磁盘使用分析器**,你就可以看到扩展空间已经可用于文件系统了。 +这样磁盘空间就增加完成了!检查“磁盘使用分析器Disk Usage Analyzer”,你就可以看到扩展空间已经可用于文件系统了。 ### 总结 -使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统,软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于高级用户来说,VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。 +使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统、软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于资深用户来说,VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。 -------------------------------------------------------------------------------- @@ -219,7 +219,7 @@ via: https://opensource.com/article/21/6/try-linux-virtualbox 作者:[Stephan Avenwedde][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 66fa0b68f3241a7d38c2521f31ba43f23beb0610 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 27 Oct 2022 10:51:57 +0800 Subject: [PATCH 134/925] R --- ...0210629 Try Linux on any operating system with VirtualBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20210629 Try Linux on any operating system with VirtualBox.md b/published/20210629 Try Linux on any operating system with VirtualBox.md index 5a7771408e..8c05f463fc 100644 --- a/published/20210629 Try Linux on any operating system with VirtualBox.md +++ b/published/20210629 Try Linux on any operating system with VirtualBox.md @@ -50,7 +50,7 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要 ![Set VM memory size][9] -我的建议是:**不要吝啬分配给客体操作系统使用的内存!**当客体操作系统的内存不足时,客体系统将开始从随机存取存储器(RAM)向硬盘驱动器进行内存分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。 +我的建议是:**不要吝啬分配给客体操作系统使用的内存!** 当客体操作系统的内存不足时,客体系统将开始从随机存取存储器(RAM)向硬盘驱动器进行内存分页,这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页,你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。 接下来,创建虚拟磁盘: From cb93e361550fabbcd1a514437fdcff34329e9313 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Thu, 27 Oct 2022 11:18:39 +0800 Subject: [PATCH 135/925] =?UTF-8?q?Update=2020221020.4=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Xubuntu=2022.10=20Releases=20With=20Xfce=20Upgrades?= =?UTF-8?q?,=20and=20Other=20Refinements.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...untu 22.10 Releases With Xfce Upgrades, and Other Refinements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md index 82fc042997..8c211264fa 100644 --- a/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md +++ b/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/xubuntu-22-10-release/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 684762997b412cd54e395598e58a6ecb0e01bdd6 Mon Sep 17 00:00:00 2001 From: Donkey Date: Thu, 27 Oct 2022 11:35:55 +0800 Subject: [PATCH 136/925] translating --- .../20221013 What you need to know about compiling code.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221013 What you need to know about compiling code.md b/sources/tech/20221013 What you need to know about compiling code.md index 0f811393a8..c5d7f16a36 100644 --- a/sources/tech/20221013 What you need to know about compiling code.md +++ b/sources/tech/20221013 What you need to know about compiling code.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/compiling-code" [#]: author: "Alan Smithee https://opensource.com/users/alansmithee" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Donkey-Hao" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -90,7 +90,7 @@ via: https://opensource.com/article/22/10/compiling-code 作者:[Alan Smithee][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Donkey-Hao](https://github.com/Donkey-Hao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 52e849824d839be94dee9fd1be57d0f4e116bef7 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Thu, 27 Oct 2022 14:10:38 +0800 Subject: [PATCH 137/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=A5=BD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s With Xfce Upgrades, and Other Refinements.md | 89 +++++++++---------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md index 8c211264fa..7967fd9a20 100644 --- a/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md +++ b/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md @@ -7,104 +7,103 @@ [#]: publisher: " " [#]: url: " " -Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements +带有 Xfce 升级和其他改进的 Xubuntu 22.10 版本 ====== -Xubuntu 22.10 provides a refined XFCE experience. Learn more about it here. +Xubuntu 22.10 提供了精致的 XFCE 体验。点击此处了解详情。 ![Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements][1] -Xubuntu is an XFCE-powered official Ubuntu flavour. +Xubuntu 是基于 XFCE 的官方 Ubuntu 风格。 -It is also one of the best lightweight Linux distributions available. +它也是可用的最好的轻量级 Linux 发行版之一。 -With the latest Xubuntu 22.10 "**Kinetic Kudu**" release, you can expect desktop environment improvements, feature additions, and several refinements across the board. +随着最新的 Xubuntu 22.10“ Kinetic Kudu ”版本,您可以期待桌面环境的改进、功能的添加和全面的改进。 -### Xubuntu 22.10: What's New? +### Xubuntu 22.10:有什么新功能? ![Xubuntu 22.10 home][2] -Xubuntu 22.10 brings in some exciting upgrades. Some of the highlights include: +Xubuntu 22.10 带来了一些令人兴奋的升级。一些亮点包括: -- **Xfce 4.16 (or Xfce 4.17 dev)** -- **Catfish appearance update.** -- **New icon refresh and deprecated elementary-xfce-darker-theme.** -- **Mousepad search history.** -- **Thundar file manager improvements.** -- **Xfce task manager.** +- **Xfce 4.16(或 Xfce 4.17 开发版)** +- **鲶鱼外观更新。** +- **新图标刷新和弃用的基础的 xfce 黑色主题。** +- **Mousepad搜索历史.** +- **Thundar 文件管理器的改进.** +- **Xfce 任务管理器.** -> 💡Xubuntu 22.10 will be supported for nine months until **July 2023**. If you want stability over features, you should prefer using an [LTS version][3]. +> 💡Xubuntu 22.10 将支持九个月,直到2023 年 7 月。如果您想要稳定性而不是功能,您应该更喜欢使用 [LTS 版本][3]. -#### XFCE 4.17 Development Version or XFCE 4.16? +#### XFCE 4.17 开发版还是 XFCE 4.16? -The release notes for Xubuntu 22.10 say it features the Xfce 4.17 development version. +Xubuntu 22.10 的发行说明说它具有 Xfce 4.17 开发版本。 -However, when I installed the beta version for Xubuntu 22.10 (and updated it to the latest), it said it features Xfce 4.16. +但是,当我安装 Xubuntu 22.10 的 beta 版本(并将其更新到最新版本)时,只具有 Xfce 4.16。 ![][4] -Not sure if they pulled out Xfce 4.17 development version or if Xfce 4.16 is here for now. +不确定他们是否退出了 Xfce 4.17 开发版本,或者 Xfce 4.16 现在是否存在。 -#### Catfish Appearance +#### Catfish 外观 ![xubuntu catfish][5] -Catfish is a file search utility on Xubuntu. With the new upgrade, it has a refreshed appearance with tweaks under the hood. +Catfish 是 Xubuntu 上的一个文件搜索工具。通过新的升级,它具有焕然一新的外观,并调整了引擎。 -You also get an "**Open With**" context menu when interacting with the files you searched for. +与您搜索的文件交互时,您还会获得一个“打开方式”上下文菜单。 ![][6] -A pretty subtle but valuable feature addition for catfish. +catfish 是一个非常微妙但有价值的功能添加。 -#### GNOME 43 Software +#### GNOME 43 软件 -Among notable app updates, GNOME's latest Software Center is a nice thing to have. This is how it looks with Xubuntu 22.10: +在值得注意的应用程序更新中,GNOME 的最新软件中心是一个不错的选择。这是 Xubuntu 22.10 的外观: ![][7] -Of course, it may not give you a consistent look with other applications on Xfce, but I think you can give it an excuse. +当然,它可能无法让您与 Xfce 上的其他应用程序保持一致,但我认为您应该不会介意。 -#### Icon Updates +#### 图标更新 -With elementary-xfce 0.17 icon update, there are many new icons and cleaner options that provide a consistent Xubuntu desktop experience. +随着基础的xfce 0.17 图标更新,有许多新图标和更简洁的选项可提供一致的Xubuntu 桌面体验。 ![][8] -Additionally, the **elementary-xfce-darkest theme** icon pack has been deprecated. +此外,基础的xfce黑色主题图标包已被弃用。 ![][9] -#### Task Manager Right-Click Option +#### 任务管理器右键选项 ![][10] -You can now copy the full process path to the clipboard. This could be useful to troubleshoot or stop things from the command line when required. - -### Other Enhancements +您现在可以将完整的进程路径复制到剪贴板。这对于在需要时从命令行进行故障排除或停止操作很有用。 +### 其他增强功能 ![][11] -There are several other notable changes that include: +还有其他几个值得注意的变化,包括: -- **Linux Kernel 5.19** -- **Mozilla Firefox 105.** -- **Alt-Tab view improved with more prominent icons.** -- **Mosaic puzzle added to SGT Puzzles collection.** -- **Thunar archive plugin now supports compressing zip files.** -- **Mousepad text editor now includes a search history and a few more tweaks.** +- **Linux 内核 5.19** +- **火狐浏览器 105。** +- **Alt-Tab 视图通过更突出的图标进行了改进。** +- **马赛克拼图添加到 SGT 拼图系列。** +- **马赛克拼图添加到 SGT 拼图系列。** +- **Mousepad文本编辑器现在包括搜索历史记录和更多调整。** -To learn more about the changes, check out the [official release notes][12]. +要了解有关更改的更多信息,请查看[官方发行说明][12]。 -### Download Xubuntu 22.10 +### 下载Xubuntu 22.10 -You can download the latest ISO from [Ubuntu's central image repository][13] or its [official website][14]. +你可以下载最新的ISO文件从[Ubuntu 的中央映像存储库][13]或它的[官方网站][14]. -It might take a while for its official website to make the ISO available. +官方网站可能需要一段时间才能提供 ISO。 -[Download Xubuntu 22.10][14] +[下载Xubuntu 22.10][14] -💬 _What do you think about Xubuntu 22.10? Let me know your thoughts in the comments._ +💬 您如何看待 Xubuntu 22.10?在评论中让我知道你的想法。 -------------------------------------------------------------------------------- From c9dbc5bf489c6976bb2d1f1b5711853a136f4ab6 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Thu, 27 Oct 2022 09:38:39 +0000 Subject: [PATCH 138/925] =?UTF-8?q?Update=2020221022.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Use=20open=20source=20commands=20?= =?UTF-8?q?in=20Powershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221022.3 ⭐️⭐️ Use open source commands in Powershell.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md index 0edffb3061..247f4daca0 100644 --- a/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md +++ b/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/set-path-powershell" [#]: author: "Alan Smithee https://opensource.com/users/alansmithee" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "qfzy1233" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -79,7 +79,7 @@ via: https://opensource.com/article/22/10/set-path-powershell 作者:[Alan Smithee][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[qfzy1222](https://github.com/qfzy1233) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 2684ec643a4619f1a91d95c73584245172641112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Thu, 27 Oct 2022 20:58:36 +0800 Subject: [PATCH 139/925] Translating --- ... to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md index 5dc16933d9..314a431bab 100644 --- a/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md +++ b/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3a16d404606004eb526c4ee941fafbd29ecb58bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Thu, 27 Oct 2022 21:25:22 +0800 Subject: [PATCH 140/925] Translated --- ...ow to Recover Arch Linux Install via chroot.md | 110 ------------------ ...ow to Recover Arch Linux Install via chroot.md | 110 ++++++++++++++++++ 2 files changed, 110 insertions(+), 110 deletions(-) delete mode 100644 sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md create mode 100644 translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md diff --git a/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md deleted file mode 100644 index 07d01e2591..0000000000 --- a/sources/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md +++ /dev/null @@ -1,110 +0,0 @@ -[#]: subject: "How to Recover Arch Linux Install via chroot" -[#]: via: "https://www.debugpoint.com/recover-arch-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Recover Arch Linux Install via chroot -====== - -**This quick guide explains some of the steps which may come in handy to recover an Arch Linux Install.** - -Being a rolling release, sometimes things break in Arch Linux. Not because of your own actions but hundreds of other reasons, such as a new Kernel vs your hardware or software compatibility. But still, Arch Linux is still better and provides the latest packages and applications. - -But sometimes, it gives you trouble, and you end up with a blinking cursor and nothing else. - -So, in those scenarios, instead of re-formatting or reinstalling, you may want to try to recover the installation, including the data, before giving up your hope. This guide outlines some steps in that direction. - -### Recover Arch Linux Installation - -- The first step is to create a bootable LIVE USB with Arch Linux. Download the .ISO from this link and create a bootable .ISO. You can check out this guide on how to create bootable .ISO using Etcher. Remember this step requires another working stable system, obviously, as your current system is not usable. - -[download arch linux][1] - -- You need to know on **which partition your Arch Linux** is installed. This is a crucial step. If you don’t know, you can use GParted to find out. Or check in your Grub menu, Or you can run the below command to find out. This will list all your disk partitions, size, and labels. - -``` -sudo lsblk -o name,mountpoint,label,size,uuid -``` - -- Once done, plug in the USB stick and boot from it. And you should see the Arch Linux prompt in the LIVE medium. - -- Now, mount to the Arch Linux partition using the below. Change the `/dev/sda3` to your respective partition. - -``` -mount /dev/sda3 /mnt -arch-chroot /mnt -``` - -- The arch-chroot command will mount your Arch Linux partition in the terminal, so log in using your Arch credentials. Now, you have the following options based on what you want at this stage. - -- You can take backups of your data by going through /home folders. In case the troubleshooter doesn’t work. You may copy the files to an external USB or another partition. - -- Verify the log files, especially the pacman logs, because an unstable system may be caused by upgrading some packages, such as graphics driver or any other driver. Based on the log, you may want to downgrade any specific package if you want. -- You may use the below command to view the last 200 lines of the pacman log file to find out any failing items or dependency removal. - -``` -tail -n 200 /var/log/pacman.log | less -``` - -- The above command gives you 200 lines from the end of the pacman.log file to verify. Now, carefully check which of the packages were updated since your successful boot. - -- And note down the package name and version somewhere. And you may try to downgrade packages one-by-one or if you think a specific package created a problem. Use the -U switch of pacman command to downgrade. - -``` -pacman -U -``` - -- You can run the following to start your Arch system after downgrading if any. - -``` -exec /sbin/init -``` - -- Check the status of your display manager and whether if there are any errors. Sometimes, the display manager creates a problem which can’t communicate with X Server. For example, if you are using lightdm, then you can check its status via the below. - -``` -systemctl status lightdm -``` - -- Or, you may want to start it via the below command and check the error. - -``` -lightdm --test-mode --debug -``` - -- Here is an example of lightdm failure, which caused an unstable Arch system. - -![lightdm - test mode][2] - -- Or check via kicking off the X server using `startx`. - -- In my experience, if you see errors in the above command, try to install another display manager, such as **sddm** and enable it. It may eliminate the error. - -- Try the above steps based on the state of your system, and troubleshoot. For errors specific to display manager lightdm, we have a [guide][3] which you may want to check out. -- If you are using sddm, then check out [these troubleshooting steps][4] if something works. - -### Closing Notes - -Every installation is different. And above steps may/may not work for you. But it is worth a try, and as per my experience, it works. If it works, well, good for you. Either way, let me know how it goes in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/recover-arch-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://archlinux.org/download/ -[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg -[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/ -[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting diff --git a/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md new file mode 100644 index 0000000000..c89805c7d6 --- /dev/null +++ b/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md @@ -0,0 +1,110 @@ +[#]: subject: "How to Recover Arch Linux Install via chroot" +[#]: via: "https://www.debugpoint.com/recover-arch-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何通过 chroot 恢复 Arch Linux 安装 +====== + +**这篇速成指南诠释了一些步骤,它对于恢复一个 Arch Linux 安装很有帮助。** + +作为一个滚动发布版本,Arch Linux 有时会崩溃。那不是因为你自身的行为,而是因为数百个其它的原因,例如一个新内核与你的硬件或软件的兼容性。但是,即使如此,Arch Linux 仍然是比较优秀的,并且提供最新的软件包和应用程序。 + +但是,有些时候,它会给你带来麻烦,最后你只会看到一个闪烁的光标。 + +因此,在这种情况下,在你放弃希望前,你可能希望尝试恢复系统的安装以及数据,而不是重新格式化或重新安装。这篇指南在这些方面概述了一些步骤。 + +### 恢复 Arch Linux 安装 + +- 第一步骤是创建一个可启动的 Arch Linux 的 LIVE USB 。从下面的链接中下载 ISO 镜像文件,并创建一个可启动的 ISO 的启动盘。你可以查看这篇关于如何使用 Etcher 创建可启动的 ISO 的启动盘的指南。记住,这一步骤需要在另一个工作稳定的系统上完成,很明显,这是因为你当前系统是不可用的。 + +[下载 arch linux][1] + +- 你需要知道在 **哪个分区上安装了你的 Arch Linux** 。这是关键的一步。如果你不知道,你可以使用 GParted 来找出来。或者在你的 Grub 菜单中查看,或你可以运行下面的命令来找出来。这将列出你所有的磁盘分区、大小和标签。 + +``` +sudo lsblk -o name,mountpoint,label,size,uuid +``` + +- 在完成后,插入 USB 设备,并设置从中启动。你应该会在 LIVE 介质中看到 Arch Linux 提示符。 + +- 现在,使用下面的命令挂载 Arch Linux 分区。将 `/dev/sda3` 更改为你实际对应的分区。 + +``` +mount /dev/sda3 /mnt +arch-chroot /mnt +``` + +- arch-chroot 命令将在终端中挂载你的 Arch Linux 分区,如此,以便使用你的 Arch 用户名和密码来登录系统。现在,取决于你在这个阶段的各种需要,你可能有下面的一些选项。 + +- 你可以前往 /home 文件夹来备份你的数据。为防止不能正常的解决重大问题。你可以复制这些文件到一块外部的 USB 磁盘或其它的分区。 + +- 验证日志文件,尤其是 pacman 日志,因为升级一些软件包可能会导致系统不稳定工作,例如,图形驱动程序或其它一些驱动程序。依据日志的记载,如果你有需要的话,你可以降级一些具体指定的软件包。 +- 你可以使用下面的命令来查看 pacman 日志文件的最新的 200 行日志,来找出一些引起失败的项或依赖项的缺失。 + +``` +tail -n 200 /var/log/pacman.log | less +``` + +- 上面的命令向你给出 pacman.log 文件的末尾处的 200 行来用于查对。现在,仔细检查自你成功启动以来更新了哪些软件包。 + +- 并且,在某个地方下,记录下软件包的名称和版本。你可以尝试逐个降级软件包,或者,如果你认为是某个特定的软件包造成的问题话,你可以使用 pacman 命令的 -U 开关选项来降级它。 + +``` +pacman -U +``` + +- 在降级后(如果有一些软件包进行降级的话),你可以运行下面的命令来启动你的 Arch 系统。 + +``` +exec /sbin/init +``` + +- 检查你的显示管理器的状态,并检查其是否有一些错误。有时,显示管理器会产生不能与 X 服务器 X Server 通信的问题。例如,如果你正在使用 lightdm ,那么你可以通过下面的命令来检查它的状态。 + +``` +systemctl status lightdm +``` + +- 或者,你可能希望通过下面的命令来启动它并检查错误。 + +``` +lightdm --test-mode --debug +``` + +- 这里是一个 lightdm 故障的示例,它导致了 Arch 系统不稳定工作。 + +![lightdm - test mode][2] + +- 或者,使用 `startx` 来启动 X 服务器 进行检查。 + +- 根据我的经验,如果你在上面的命令中看到这些错误,尝试安装另外一个显示管理器,例如, **sddm** 并启动它。它可以消除错误。 + +- 根据你的系统的实际状态来尝试上面的步骤,并解决重大问题。针对特定的显示管理器 lightdm 的错误,我们有一份[指南][3],你可能会想查看它。 +- 如果你正在使用 sddm ,那么,检查 [这些解决重大问题的步骤][4] 是否工作。 + +### 结束语 + +每个系统安装都是不同的。上面的步骤不一定适合你。但是,它值得一试,根据我的经验,它是工作的。如果它工作,对你有好处。不管怎样,在下面的评论区让我知晓它是如何进行的。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/recover-arch-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[校对者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://archlinux.org/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg +[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/ +[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting From 8ab392a4861db98e3c0f53cb2af4b903aee1dce2 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 28 Oct 2022 08:31:55 +0800 Subject: [PATCH 141/925] translated --- ... to Install Viber in Ubuntu and Other Linux.md | 89 ------------------ ... to Install Viber in Ubuntu and Other Linux.md | 91 +++++++++++++++++++ 2 files changed, 91 insertions(+), 89 deletions(-) delete mode 100644 sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md create mode 100644 translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md diff --git a/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md b/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md deleted file mode 100644 index 17c1593637..0000000000 --- a/sources/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md +++ /dev/null @@ -1,89 +0,0 @@ -[#]: subject: "How to Install Viber in Ubuntu and Other Linux" -[#]: via: "https://www.debugpoint.com/install-viber-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Viber in Ubuntu and Other Linux -====== - -**Here’s a quick guide on how you can install Viber in Ubuntu and other Linux systems.** - -[Viber][1] is a free, secure calling and messaging program for all popular mobile platforms and operating systems. - -It has a rich set of features such as voice/video calls, text messages with GIFs, stickers, photos, and videos. In addition, Viber features group chats, group calls and disappearing messages. - -Viber is a closed-source program, but available as free for Linux distributions with native executable clients. - -Here’s how to install it. - -### Install Viber on Linux - -It is available as an AppImage executable, deb and rpm package. Follow the respective button below to download it directly. The average executable size is ~180MB. - -[Download Appimage for all Linux distros][2] - -[Deb executable for Ubuntu][3] - -RPM package for Fedora - -If you have downloaded AppImage, simply change the permission to executable from any file manager. Then run. - -- For Ubuntu, Linux Mint, Debian and related distributions, you can install deb package via [many methods][4]. - -- You may double-click and open via the installed software manager. Or install via dpkg command as below. - -``` -sudo dpkg -i viber.deb -``` - -- For Fedora and RPM-based packages, you can install via the following command. - -``` -sudo dnf localinstall viber.rpm -``` - -For Arch Linux and other distributions, you can use the Appimage as I explained above. - -### Usage - -After you finish installing Viber, open it via the application menu. Here are a couple of things you need to remember. - -Before you start using Viber from your Laptop/desktop, you need to set it up on your mobile phone. Download and install Viber for your mobile platform from the below links. - -- [Google Play Store][5] -- [Apple App Store][6] - -Once installed, set up Viber. Remember, it requires your mobile number to register. - -After setting up, open the app on the Linux desktop. And you should see a screen like the one below. - -![Viber is Running in Linux][7] - -Scan the QR code from your mobile phone app, and you should be ready to use Viber on your Linux desktop. - -**Note:** Since it is a closed-source app, make sure you understand the terms of this app and privacy-related situations while using Viber. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-viber-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.viber.com/ -[2]: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb -[3]: https://download.cdn.viber.com/desktop/Linux/viber.rpm -[4]: https://www.debugpoint.com/install-deb-files/ -[5]: https://play.google.com/store/apps/details?id=com.viber.voip&hl=en_IN&gl=US -[6]: https://apps.apple.com/us/app/viber-messenger-chats-calls/id382617920 -[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Viber-is-Running-in-Linux-1.jpg diff --git a/translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md b/translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..2c972b0998 --- /dev/null +++ b/translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md @@ -0,0 +1,91 @@ +[#]: subject: "How to Install Viber in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/install-viber-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu 和其他 Linux 中安装 Viber +====== + +**这是有关如何在 Ubuntu 和其他 Linux 系统中安装 Viber 的快速指南。** + +[Viber][1] 是一个免费、安全的呼叫和聊天程序,适用于所有流行的移动平台和操作系统。 + +它具有丰富的功能,例如语音/视频通话、带有 GIF 的文本消息、贴纸、照片和视频。此外,Viber 还具有群聊、群呼和消失消息功能。 + +Viber 是一个闭源程序,但有免费的 Linux 原生可执行客户端。 + +下面是安装它的方法。 + +### 在 Linux 上安装 Viber + +它以 AppImage 可执行文件、deb 和 rpm 包的形式提供。按照下面的相应按钮直接下载。平均可执行文件大小约为 180MB。 + +[下载适用于所有 Linux 发行版的 Appimage][2] + +[适用于 Ubuntu 的 Deb 可执行文件][3] + +[Fedora 的 RPM 包][8] + +如果你已下载 AppImage,只需从任意文件管理器将权限更改为可执行文件即可。然后运行。 + + +- 对于 Ubuntu、Linux Mint、Debian 和相关发行版,你可以通过[多种方法][4]安装 deb 包。 + +- 你可以通过已安装的软件管理器双击打开。或者通过 dpkg 命令安装,如下所示。 + +``` +sudo dpkg -i viber.deb +``` + +- 对于 Fedora 和基于 RPM 的软件包,你可以通过以下命令安装。 + +``` +sudo dnf localinstall viber.rpm +``` + +对于 Arch Linux 和其他发行版,你可以使用我上面提到的 Appimage。 + +### 使用 + +完成安装 Viber 后,通过应用菜单打开它。以下是你需要记住的几件事。 + +在从笔记本电脑/台式机开始使用 Viber 之前,你需要在手机上进行设置。从以下链接为你的移动平台下载并安装 Viber。 + +- [谷歌应用商店][5] +- [苹果应用商店][6] + +安装后,设置 Viber。请记住,它需要你的手机号码才能注册。 + +设置完成后,在 Linux 桌面上打开应用。你应该会看到如下页面。 + +![Viber 在 Linux 中运行][7] + +从你的手机应用扫描二维码,你应该可以在 Linux 桌面上使用 Viber。 + +**注意:** 由于它是一个闭源应用,请确保你在使用 Viber 时了解此应用的条款和与隐私相关的情况。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-viber-linux/ + +作者:[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.viber.com/ +[2]: https://download.cdn.viber.com/desktop/Linux/viber.AppImage +[3]: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb +[4]: https://www.debugpoint.com/install-deb-files/ +[5]: https://play.google.com/store/apps/details?id=com.viber.voip&hl=en_IN&gl=US +[6]: https://apps.apple.com/us/app/viber-messenger-chats-calls/id382617920 +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Viber-is-Running-in-Linux-1.jpg +[8]: https://download.cdn.viber.com/desktop/Linux/viber.rpm From eabf0f4eca04e2d923e120dd5d4fbe0655cf3d59 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 28 Oct 2022 08:41:02 +0800 Subject: [PATCH 142/925] RP @chai001125 https://linux.cn/article-15185-1.html --- ... After Installing Ubuntu 22.10 [With Bonus Tip].md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) rename {translated/tech => published}/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md (87%) diff --git a/translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md b/published/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md similarity index 87% rename from translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md rename to published/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md index 3520184c13..6e07f8247a 100644 --- a/translated/tech/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md +++ b/published/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md @@ -3,18 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15185-1.html" 安装 Ubuntu 22.10 后要做的 10 件事 ====== -**以下是我们安装 Ubuntu 22.10 “Kinetic Kudu”(GNOME 版)后,推荐做的 10 件事列表。** +> 以下是我们安装 Ubuntu 22.10 “Kinetic Kudu”(GNOME 版)后,推荐做的 10 件事列表。 ![][1] -Ubuntu 22.10 带来了很多令人兴奋的新功能,例如 GNOME 43、最新的内核、重新设计的托盘菜单、文件功能和 Pipewire 等 [新功能][2]。 +Ubuntu 22.10 带来了很多令人兴奋的新功能,例如 GNOME 43、最新的内核、重新设计的托盘菜单、文件应用的功能和 Pipewire 等 [新功能][2]。 我相信你已经迫不及待地想尝试 Ubuntu 22.10 上的这些新功能了。 @@ -36,19 +36,19 @@ sudo apt update && sudo apt upgrade #### 2、删除 Firefox Snap,并安装 Flatpak 或者 deb 版本的 Firefox -自去年发布的 Ubuntu 21.10 版本以来,默认的网页浏览器 Firefox 开始以 Snap 软件包的形式出现。如果你是普通用户,这可能不是一个问题或者需要担心的事情。但是出于几个原因,例如 Snap 软件包的 Firefox 启动时间较长、且当 Firefox 有后端更新时,会有不必要的 Snap 更新通知等等原因,导致许多用户不太喜欢 Firefox 的 Snap 软件包。 +自去年发布的 Ubuntu 21.10 版本以来,默认的网页浏览器 Firefox 开始以 Snap 软件包的形式出现。如果你是普通用户,这可能不是一个问题或者需要担心的事情。但是出于几个原因,例如 Snap 软件包的 Firefox 启动时间较长、且当 Firefox 有后台更新时,会有不必要的 Snap 更新通知等等原因,导致许多用户不太喜欢 Firefox 的 Snap 软件包。 -因此,你可以按照 [我写的另一篇操作指南][3],来完全删除 Firefox 的 Snap 软件包。这一过程有点复杂,需要花费一点时间。删除完成后,再从个人软件包存档(PPA)安装 deb 版本的 Firefox,或者使用 [Flatpak 版本][4] 的 Firefox。 +因此,你可以按照 [我写的另一篇操作指南][3],来完全删除 Firefox 的 Snap 软件包。这一过程有点复杂,需要花费一点时间。删除完成后,再从个人软件包存档(PPA)安装 deb 版本的 Firefox,或者使用 [Flatpak 版本][4] 的 Firefox。 这是一个可选的动作,你也可以跳过这一步骤。 #### 3、安装并启用 Flatpak -虽然,几乎所有最近的 linux 发行版都会默认安装 Flatpak,但是 Ubuntu 并没有默认安装 Flatpak,这是因为 Ubuntu 使用了它自己的沙箱技术 Snap。 +虽然,几乎所有最新的 Linux 发行版都会默认安装 Flatpak,但是 Ubuntu 并没有默认安装 Flatpak,这是因为 Ubuntu 使用了它自己的沙箱技术 Snap。 但 Flatpak 这一应用程序还是最适合于每个人。Flatpak 能够帮助你快速安装多个应用程序,并在使用过程中无需担心依赖性和其他事情。 -大多数 Flatpak 应用程序都在集中的仓库 @ Flathub 中。 +大多数 Flatpak 应用程序都在集中的仓库 Flathub 中。 要在 Ubuntu 22.10 中启用 Flatpak 应用程序,请按照以下命令进行操作。 @@ -62,9 +62,9 @@ sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flath 我建议你在安装 Ubuntu 后,手动退出任何数据收集项。大家都知道,无论怎么努力尝试,在互联网上保护自己的隐私都很困难。因此,这些小步骤很重要。 -要配置隐私项,请打开设置并选择**隐私**。然后查看隐私菜单下列出的项目。 +要配置隐私项,请打开“设置Settings”并选择“隐私Privacy”。然后查看隐私菜单下列出的项目。 -此外,请确保禁用对 Ubuntu 服务器的后端报告。需要运行以下命令来手动禁用,因为在设置中没有禁用它的选项。 +此外,请确保禁用对 Ubuntu 服务器的后台报告。需要运行以下命令来手动禁用,因为在设置中没有禁用它的选项。 ``` sudo ubuntu-report -f send no @@ -74,13 +74,13 @@ sudo ubuntu-report -f send no #### 5、探索 GNOME 43 的功能 -在 Ubuntu 22.10 版本中,最具视觉和功能性的变化是 GNOME 43。因为 GNOME 43 有一些根本性和核心变化,所以它会影响每个人和他们的工作。GNOME 43 带来了一个新的药丸形状的托盘菜单,并更新了具有文件和 GNOME Web 等新功能的原生应用程序。 +在 Ubuntu 22.10 版本中,最具视觉和功能性的变化是 GNOME 43。因为 GNOME 43 有一些根本性和核心变化,所以它会影响每个人和他们的工作。GNOME 43 带来了一个新的药丸形状的托盘菜单,并更新了文件应用和 GNOME Web 等原生应用程序的功能。 请查看更为详细的 [GNOME 43 功能][7] 一文,以了解更多信息,或者你也可以自己探索 GNOME 43。 ![Quick Settings Demo in GNOME 43][8] -#### 6、确保音频与 Pipewire 配合使用 +#### 6、确保音频可以与 Pipewire 配合使用 如果你经常使用音频,或者你的工作范围涉及到声音捕获、播放等内容,请确保在 Ubuntu 22.10 中,你的音频在有线或蓝牙情况下都能正常工作。 @@ -88,7 +88,7 @@ sudo ubuntu-report -f send no #### 7、安装其他软件包 -确保你可以在 Ubuntu 桌面上,播放所有视频和音频格式是很重要的。如果你在设置期间跳过了额外的软件包安装,可以通过以下命令进行安装。 +确保你可以在 Ubuntu 桌面上播放所有视频和音频格式是很重要的。如果你在设置期间跳过了额外的软件包安装,可以通过以下命令进行安装。 ``` sudo apt install ubuntu-restricted-extras @@ -98,7 +98,7 @@ sudo apt install ubuntu-restricted-extras #### 8、安装基本的应用程序 -带有 GNOME 的基础 Ubuntu 版本只有非常基本的应用程序。因此,在你使用 Ubuntu 之前,你需要安装一些其他必要的应用程序。 +带有 GNOME 的 Ubuntu 基础版本只有非常基本的应用程序。因此,在你使用 Ubuntu 之前,你需要安装一些其他必要的应用程序。 由于每个人的工作范围不同,每个人所需的应用程序也都不同。因此,在这里我仅提供一个通用的应用程序的列表,我认为你可以把这些应用程序都安装上,因为这些应用程序对所有人来说都很常用。 @@ -141,9 +141,9 @@ flatpak install flathub com.mattjakeman.ExtensionManager sudo add-apt-repository -y ppa:teejee2008/ppasudo apt-get updatesudo apt-get install timeshift ``` -### 额外小贴士 +### 额外小技巧 -如果你想进一步定制你新安装的 Ubuntu 系统,以下是一些额外的小贴士。 +如果你想进一步定制你新安装的 Ubuntu 系统,以下是一些额外的小技巧。 #### 安装漂亮的字体 From 264b2c97d0db6ed6a8ce2cef8cfdd8e6e32fdeb1 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 28 Oct 2022 08:45:07 +0800 Subject: [PATCH 143/925] translating --- ...2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md b/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md index e836753192..8a01af005a 100644 --- a/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md +++ b/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/clean-up-snap/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From af191dd45bf00c4b953197ccbc378d2521de69c4 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Fri, 28 Oct 2022 09:01:07 +0800 Subject: [PATCH 144/925] translating by chai001125 --- ...21018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md index f92b592a40..36554ac5ca 100644 --- a/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md +++ b/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/linux-halloween-makeover/" [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From edc3319b8cff8f1704af0a52a20ec067f89b16d2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 28 Oct 2022 09:16:36 +0800 Subject: [PATCH 145/925] RP @geekpi https://linux.cn/article-15186-1.html --- ...assic Snake Game in Your Linux Terminal.md | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) rename {translated/tech => published}/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md (71%) diff --git a/translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md similarity index 71% rename from translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md rename to published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md index e4845af6f3..cb68bbf24d 100644 --- a/translated/tech/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md +++ b/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md @@ -3,15 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15186-1.html" -在你的 Linux 终端中享受经典的贪吃蛇游戏 +在你的 Linux 终端中玩经典的贪吃蛇游戏 ====== -这是你在 Linux 终端中安装和玩经典贪吃蛇的方法。 -还记得老式手机经典简单的贪吃蛇吗?我记得玩了几个小时。嘿,当时没有其他选择,对吧?智能手机仍未上市。而你所拥有的就是这个。 +![](https://img.linux.net.cn/data/attachment/album/202210/28/091539oanrjizald7rzr7a.jpg) + +> 这是你在 Linux 终端中安装和玩经典贪吃蛇的方法。 + +还记得老式手机经典简单的贪吃蛇吗?我记得玩了几个小时。嘿,当时没有其他选择,对吧?智能手机仍未上市。而你所拥有的只有这个。 ![Nokia 3310 中的旧版贪吃蛇游戏][1] @@ -23,7 +26,7 @@ ### 安装 nSnake – Linux 终端的贪吃蛇 -你可以使用以下方法通过终端安装[此游戏][4]。 +你可以使用以下方法通过终端安装 [此游戏][4]。 对于 Ubuntu、Linux Mint 或其他相关发行版: @@ -37,7 +40,7 @@ sudo apt install nsnake sudo dnf install nsnake ``` -对于 Arch Linux,此游戏可在 [Arch 用户仓库][5]中获得。你可以使用以下步骤安装它。 +对于 Arch Linux,此游戏可在 [Arch 用户仓库(AUR)][5] 中获得。你可以使用以下步骤安装它。 * [设置 Yay AUR 助手][6] * 然后打开终端并运行以下命令 @@ -46,27 +49,27 @@ sudo dnf install nsnake yay -S nsnake ``` -上面的命令会安装游戏的库存库版本,它可能不是最新的。但是,如果你想要最新版本,你可能需要通过 GitHub 编译源代码。我在本页末尾添加了编译说明供你参考。 +上面的命令会安装游戏的软件仓库版本,它可能不是最新的。但是,如果你想要最新版本,你可能需要通过 GitHub 编译源代码。我在本页末尾添加了编译说明供你参考。 ### 玩游戏 -玩游戏非常简单。在终端中输入 nsnake,这将启动游戏。 +玩游戏非常简单。在终端中输入 `nsnake`,这将启动游戏。 -要立即退出,请按 q。 +要立即退出,请按 `q`。 以下是默认键绑定。 -* 箭头键 - 移动蛇 -* q – 退出游戏 -* p – 暂停游戏 +* `箭头键` - 移动蛇 +* `q` – 退出游戏 +* `p` – 暂停游戏 你还可以通过主菜单以各种方式配置游戏。 ![nsnake Linux 终端贪吃蛇设置][7] -完成了,享受吧! +完成了,玩吧! -##### 编译 +### 编译 要编译最新版本,请在所有 Linux 发行版中使用以下命令。 @@ -85,7 +88,7 @@ via: https://www.debugpoint.com/snake-game-linux-terminal/ 作者:[Arindam][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/) 荣誉推出 From 3ca968e70c3c42936d627bf5370a91f3c7dce862 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 28 Oct 2022 20:07:26 +0800 Subject: [PATCH 146/925] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=A5=BD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md (100%) diff --git a/sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md similarity index 100% rename from sources/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md rename to translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md From 363891292ab612979aff4bbc90c7cf67a87b8188 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sat, 29 Oct 2022 10:27:20 +0800 Subject: [PATCH 147/925] translated --- ... Give Your Linux Desktop a Halloween Makeover.md | 283 ----------------- ... Give Your Linux Desktop a Halloween Makeover.md | 284 ++++++++++++++++++ 2 files changed, 284 insertions(+), 283 deletions(-) delete mode 100644 sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md create mode 100644 translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md diff --git a/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md deleted file mode 100644 index 36554ac5ca..0000000000 --- a/sources/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md +++ /dev/null @@ -1,283 +0,0 @@ -[#]: subject: "Give Your Linux Desktop a Halloween Makeover" -[#]: via: "https://itsfoss.com/linux-halloween-makeover/" -[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Give Your Linux Desktop a Halloween Makeover -====== - -Halloween is around the corner. Boo! - -Of course, there are ways to celebrate Halloween, and I believe you might have a few ideas of your own. How about giving your Linux desktop a spooky, dark makeover? Something like the screenshot below? - -![ubuntu halloween theming final looks][1] - -Customization is a high point of Linux, and there is no end to it. Earlier, we showed you[how to make your Linux look like macOS][2]. Today, I’ll share a few tips to keep up with the Halloween ‘spirit’. - -This is possible with a combination of themes, icons, extensions, fonts, conky, etc. **_While you can do these things on any distribution and desktop environment, it’s not feasible for me to show them all in a single tutorial._** - -Here, I have used Ubuntu with the GNOME desktop environment. - -### Getting all the tools - -You need several packages and tools. Make sure you have them all (or most of them) before you start the customization. - -_It’s not mandatory to make all of the changes. But the more you do, the better look and feel you get._ - -**GNOME Tweaks and GMOME Extensions manager** - -Get the Tweaks tool and the extension manager with this command: - -``` -`sudo apt install gnome-tweaks gnome-extension-manager` -``` - -In KDE-based systems, you don’t any tweak tool to change the look. But surely, you will need the **Kvantum-Manager** app that I discussed in the [KDE theming][3] guide. - -**Conky** - -This is actually optional. Since the conky-manager project is not receiving any maintenance, it will be a bit tricky to use conky. But anyway, let’s use it for the additional look-and-feel. - -``` -`sudo apt install conky-all` -``` - -**Neofetch or shell color scripts** - -This step is also a personal choice. You can choose [neofetch][4] because it’s already available in the repository and can be used easily. - -``` -`sudo apt install neofetch` -``` - -[Shell-color scripts][5] are another excellent choice. The package is available in AUR and Arch Linux users can install it from there. In Ubuntu, you need to install it manually. - -``` -`git clone https://gitlab.com/dwt1/shell-color-scripts.git cd shell-color-scripts sudo make install` -``` - -**Themes, icons, fonts, and wallpaper** - -I am using [Sweet][6] theme, [Beautiline][7] icon pack, [simple1e][8] cursors, and [Grey-Minimalistic][9] conky theme. Once downloaded, extract them. You should also get [Creepster][10] font. - -Download a [spooky wallpaper][11] from the internet. - -Alert! You’ll be doing a lot of customization and change. You can go back to the usual look by reverting all the changes you made. An easier way out would be to create a new user with admin access and make all these changes with this new user. This way, your original user account and appearance doesn’t get impacted. When Halloween is over, you can delete this additional user. - -With all resources in hand, it’s time to utilize them. - -### Install and use the extensions - -Open the gnome-extensions app. In Ubuntu 22.04, you can install extensions from within the app, by using the browse section. - -![install gnome shell extensions user themes blur my shell and dash to dock][12] - -In other versions of Ubuntu and other GNOME distributions, you can [install shell extensions][13] through the browser. For our purpose, install the following extensions : - -- [User Themes][14] -- [Dash to Dock][15] -- [Blur my Shell][16] - -Also, make sure that all the extensions are enabled. - -### Apply theme, icon, and font - -You need to copy and paste the extracted theme folder to `~/.themes` directory and icon and cursor folder to the `~/.icons` directory. - -Now open GNOME tweaks and apply the settings as shown in the screenshot below. - -![set themes with gnome tweaks][17] - -To use a [custom font in Ubuntu][18], right-click on the font file that you have downloaded and extracted and select open with Font manager. I am using [Creepster][10] font. - -![right click on font file and select open with fonts][19] - -Here, press the install button. - -![install font using font manager application][20] - -Note: In some systems, pressing the install button won’t show the “installed” prompt. In that case, you can just close the app because once you press the install button, it has been installed. - -Now open the Tweaks app and move to the fonts section. Here, you can change the fonts of various sections as shown in the screenshot below. - -![change system fonts using gnome tweaks][21] - -Note that, for terminals, a monospace font is required. Here, I am using a regular font and thus it may give you a slightly disoriented look sometimes. - -### Apply Dash to Dock Extension settings - -First, you need to **turn off the Ubuntu Dock extension** using the GNOME Extensions application. - -![Disable Ubuntu Dock][22] - -Run the Dash to Dock extension if it’s not running already. - -Now, right-click on the dash to dock application button appearing on the bottom and select dash to dock settings. - -![select dash to dock settings][23] - -Here, you need to tweak some small things. - -First, reduce the icon size using the respective slider. - -![setting dash to dock icon size][24] - -After that, you need to reduce the opacity of the dock. I prefer a fully transparent dock. - -For this, set the opacity to **fixed** and reduce it to zero with the slider, as shown in the screenshot below. - -![opacity setting for dash to dock][25] - -### GNOME terminal setting - -The main tweak you want to get is a custom neofetch look (or a shell color script) with some blurred transparency. - -On applying monospace font in GNOME-tweaks earlier, the font in the GNOME terminal is also changed. - -First, create a new profile from **preferences**. - -![select preferences from hamburger menu][26] - -Here, Click + sign to create a new profile. Type in a name and press **create** as shown below: - -![create new profile in gnome terminal][27] - -Inside the new profile, change the transparency setting and set it around the middle, as shown in the screenshot: - -![set transperancy to gnome terminal][28] - -Once finished, set this profile as the default. To do this, click on the triangle button associated with the new profile and select **Set as Default**. - -![set new profile as default in gnome terminal][29] - -#### Setting blur effect - -The above step will only create a transparent shell. But if you need a blur effect, which is good for better visibility, you need to go to the Blur my Shell extension settings. - -![blur my shell extension settings][30] - -Here, go to the **Application** tab. Now, ensure that the terminal is opened and placed conveniently on the desktop. Click on **Add Window** button and select gnome-terminal window, to set the blur effect. Note: This feature is in beta so expect minor glitches. - -![applying blur effect to selected windows][31] - -This same procedure can be repeated for other apps also, like the Nautilus file manager. - -#### Customizing Neofetch - -One of the best features of neofetch is its customizability. You can tweak the look with a wide range of methods. For Halloween, I choose a pumpkin image to appear in place of the distro logo. - -Neofetch supports adding custom images in a variety of formats. For that purpose, there are a variety of backends supported. Here, I use the jp2a backend, which will use an [ASCII converted image][32]. - -``` -`neofetch --jp2a /path/to/your/image/file.png` -``` - -![neofetch with custom backend][33] - -The above code will create a neofetch instance with the custom image. You can write this code to your .bashrc file, for permanent placement. - -_**Unfortunately, this didn’t work on my Wayland instance.**_ - -#### Customizing Shell Color Scripts - -If you installed shell color scripts, you have a variety of shell scripts. To list the available scripts, use: - -``` -``colorscript -l`` -``` - -![ghosts shell color script][34] - -You can either get a random script each time by placing `colorscript random` in your .bashrc file. Or you can get any particular script by placing `colorscript -e ` - -### Setting up Conky - -I am using the [Grey-Minimalistic conky theme][9] from Deviantart. Each type of conky theme has a different installation method. So if you are using another conky file, follow its setup method, described in its README files. - -Extract the conky theme file. Inside, we have several folders. First, you need to install the associated icons and fonts. That is, install the given font using font-manager. Copy and paste the icon folder to your ~/.icons folder. - -![copy and paste conky files to home directory][35] - -Now, go to the conky folder. Make sure that, you have [enabled viewing hidden files][36]. Now copy the `.conkyrc` file and `.conky-vision-icons` file to your Home directory, as shown above. - -Now start conky to get a look like this. - -![conky theme applied][37] - -Add the conky to the [list of startup applications][38] so that it starts automatically at each boot. - -![add conky to the list of startup applications][39] - -### Change wallpaper - -You are almost there. The only thing you need to do now is to [change the background wallpaper][40]. You have already downloaded the spooky wallpapers I believe. - -![set image as wallpaper from nautilus][41] - -### Behold the final look! - -If you followed most of the steps above, you should get a desktop that looks like the one in the below screenshots. - -![ubuntu halloween theme final look][42] - -Is it scary enough for Halloween? What do you think? Let me know in the comments. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/linux-halloween-makeover/ - -作者:[Sreenath][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/sreenath/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theming-final-looks.jpg -[2]: https://itsfoss.com/make-ubuntu-look-like-macos/ -[3]: https://itsfoss.com/properly-theme-kde-plasma/ -[4]: https://itsfoss.com/using-neofetch/ -[5]: https://gitlab.com/dwt1/shell-color-scripts -[6]: https://www.gnome-look.org/p/1253385 -[7]: https://www.gnome-look.org/p/1425426 -[8]: https://www.gnome-look.org/p/1405210 -[9]: https://www.deviantart.com/bryantlloyd/art/Grey-Minimalistic-634726564 -[10]: https://fonts.google.com/specimen/Creepster?query=creepster -[11]: https://www.wallpaperflare.com/search?wallpaper=spooky -[12]: https://itsfoss.com/wp-content/uploads/2022/10/install-gnome-shell-extensions-user-themes-blur-my-shell-and-dash-to-dock.png -[13]: https://itsfoss.com/gnome-shell-extensions/ -[14]: https://extensions.gnome.org/extension/19/user-themes/ -[15]: https://extensions.gnome.org/extension/307/dash-to-dock/ -[16]: https://extensions.gnome.org/extension/3193/blur-my-shell/ -[17]: https://itsfoss.com/wp-content/uploads/2022/10/set-themes-with-gnome-tweaks.png -[18]: https://itsfoss.com/install-fonts-ubuntu/ -[19]: https://itsfoss.com/wp-content/uploads/2022/10/right-click-on-font-file-and-select-open-with-fonts.png -[20]: https://itsfoss.com/wp-content/uploads/2022/10/install-font-using-font-manager-application.png -[21]: https://itsfoss.com/wp-content/uploads/2022/10/change-system-fonts-using-gnome-tweaks.png -[22]: https://itsfoss.com/wp-content/uploads/2020/06/disable-ubuntu-dock.png -[23]: https://itsfoss.com/wp-content/uploads/2022/10/select-dash-to-dock-settings.png -[24]: https://itsfoss.com/wp-content/uploads/2022/10/setting-dash-to-dock-icon-size.png -[25]: https://itsfoss.com/wp-content/uploads/2022/10/opacity-setting-for-dash-to-dock.png -[26]: https://itsfoss.com/wp-content/uploads/2022/10/select-preferences-from-hamburger-menu.png -[27]: https://itsfoss.com/wp-content/uploads/2022/10/create-new-profile-in-gnome-terminal.png -[28]: https://itsfoss.com/wp-content/uploads/2022/10/set-transperancy-to-gnome-terminal.png -[29]: https://itsfoss.com/wp-content/uploads/2022/10/set-new-profile-as-default-in-gnome-terminal.png -[30]: https://itsfoss.com/wp-content/uploads/2022/10/blur-my-shell-extension-settings.png -[31]: https://itsfoss.com/wp-content/uploads/2022/10/applying-blur-effect-to-selected-windows.png -[32]: https://itsfoss.com/ascii-image-converter/ -[33]: https://itsfoss.com/wp-content/uploads/2022/10/neofetch-with-custom-backend.png -[34]: https://itsfoss.com/wp-content/uploads/2022/10/ghosts-shell-color-script.png -[35]: https://itsfoss.com/wp-content/uploads/2022/10/copy-and-paste-conky-files-to-home-directory.png -[36]: https://itsfoss.com/hide-folders-and-show-hidden-files-in-ubuntu-beginner-trick/ -[37]: https://itsfoss.com/wp-content/uploads/2022/10/conky-theme-applied.png -[38]: https://itsfoss.com/manage-startup-applications-ubuntu/ -[39]: https://itsfoss.com/wp-content/uploads/2022/10/add-conky-to-the-list-of-startup-applications.png -[40]: https://itsfoss.com/change-wallpaper-ubuntu/ -[41]: https://itsfoss.com/wp-content/uploads/2022/10/set-image-as-wallpaper-from-nautilus.png -[42]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theme-final-look.jpg diff --git a/translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md new file mode 100644 index 0000000000..f6ae8d0d13 --- /dev/null +++ b/translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md @@ -0,0 +1,284 @@ +[#]: subject: "Give Your Linux Desktop a Halloween Makeover" +[#]: via: "https://itsfoss.com/linux-halloween-makeover/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +打造万圣节 Linux 桌面 + +====== + +马上就到万圣节了,太棒啦! + +我相信你已经有了一些庆祝万圣节的想法。给你的 Linux 桌面做一个像幽灵般的黑暗改造,就类似于下面的屏幕截图,你觉得怎么样? + +![ubuntu halloween theming final looks][1] + +可定制是 Linux 的一大优势,对 Linux 可进行的定制是多种多样且没有尽头的。之前,我们向你展示过 [如何让你的 Linux 看起来像 macOS][2] 的方法。今天,我将继续分享一些定制“万圣节”Linux 桌面的技巧。 + +可以通过主题、图标、扩展、字体、conky 等一系列配置组合起来,来实现 Linux 桌面的定制。**_虽然,你可以在任何的 Linux 发行版和桌面环境中配置这些东西,但是仅在一个教程中展示所有 Linux 发行版和桌面环境的桌面定制方法,是不太可行的。_** + +因此,在本文中,我将介绍 Ubuntu 与 GNOME 桌面环境的桌面定制方法。 + +### 安装所有工具 + +你需要一些软件包和工具。在开始定制桌面前,请确保你安装了全部(或大多数)的软件包和工具。 + +_你不必做出**所有**的桌面改变。但你做的越多,你的桌面也会美化得更好看。_ + +**安装 GNOME Tweaks 和 GMOME Extension Manager** + +使用以下命令,来安装 GNOME Tweaks 工具和 GMOME 扩展管理器: + +``` +`sudo apt install gnome-tweaks gnome-extension-manager` +``` + +在基于 KDE 的 Linux 系统中,没有可以更改 Linux 桌面外观的 Tweaks 工具。但是,你可以使用 Kvantum-Manager 这一应用程序来更改外观,请参考我在 [KDE 主题指南][3] 中的讨论。 + +**安装 Conky(可选)** + +你可以选择是否要安装 Conky ,因为现在管理 Conky 的项目已经不再维护了,因此继续使用 Conky 可能会有点棘手。但无论如何,我们用它来增加万圣节外观的感觉。 + +``` +`sudo apt install conky-all` +``` + +**安装 Neofetch 或者 shell color scripts** + +这个步骤也可以由你自主选择。你可以选择使用 [neofetch][4],因为 neofetch 工具已经在 Ubuntu 仓库中了,你可以直接通过 `apt install` 安装,并且 neofetch 使用起来也很简单。 + +``` +`sudo apt install neofetch` +``` + +[Shell-color scripts][5] 是另一个不错的选择。在 Arch 用户仓库(AUR)中有该软件包,Arch Linux 用户可以从 AUR 安装 Shell-color scripts。而在 Ubuntu 中,你则需要手动安装它。 + +``` +`git clone https://gitlab.com/dwt1/shell-color-scripts.git cd shell-color-scripts sudo make install` +``` + +**安装主题、图标、字体和壁纸工具** + +我正在使用的是 [Sweet][6] 主题工具、[Beautiline][7] 图标软件包、[simple1e][8] 光标工具和 [灰色极简主义(Grey-Minimalistic)][9] conky 主题,下载好这些工具后,再解压包。你还要下载 [Creepster][10] 字体。 + +最后,从互联网上下载一张 [万圣节幽灵氛围的壁纸][11]。 + +请注意!你即将要进行大量的定制和更改。要恢复到原来普通的外观,你可以通过撤销你所做的所有更改。一个更简单的方法是:创建一个管理员权限的新用户,并使用该新用户进行所有这些更改。这样,你的原始用户帐户和外观就不会受到影响。在万圣节结束后,你可以删除这个新增的用户。 + +现在,你有了所有定制桌面的工具和资源,是时候使用它们了! + +### 安装并使用扩展 + +打开 gnome-extensions 应用程序。在 Ubuntu 22.04 中,你可以在浏览菜单(Browse)下安装扩展。 + +![install gnome shell extensions user themes blur my shell and dash to dock][12] + +在其他版本的 Ubuntu 和其他带有 GNOME 的发行版上,你可以通过浏览器上 [安装 shell 扩展][13],来安装扩展。为了实现打造万圣节桌面的目的,请安装以下扩展程序: + +- [用户主题(User Themes)][14] +- [Dash 到程序坞(Dash to Dock)][15] +- [模糊我的 shell(Blur my Shell)][16] + +此外,请确保所有的扩展都已启用。 + +### 配置主题、图标和字体 + +你需要将解压的主题文件夹复制,并粘贴到 `~/.themes` 目录下,将解压的图标和光标文件夹复制,并粘贴到 `~/.icons` 目录下。 + +接下来,打开 GNOME Tweaks,并应用主题、图标和字体等设置,如下的截图所示。 + +![set themes with gnome tweaks][17] + +要[在 Ubuntu 中使用自定义字体][18],请右键单击你下载和解压的字体文件,然后选择使用字体管理器(Font manager)打开。我打算使用的是 [Creepster][10] 字体。 + +![right click on font file and select open with fonts][19] + +然后,点击右上角的安装(Install)按钮。 + +![install font using font manager application][20] + +请注意:在某些系统中,点击安装按钮不会显示“已安装(installed)”的提示。在这种情况下,你只需关闭界面就行了,因为一旦你点击了安装按钮,该字体就已经安装上了。 + +再重新打开 GNOME Tweaks,然后前往字体(Fonts)边栏,在这里,你可以更改各个文件类型的字体,如下图所示。 + +![change system fonts using gnome tweaks][21] + +请注意,对于终端,需要单空格的字体。在这里,我使用了普通的字体,这里可能会让你稍稍有点迷失。 + +### 应用 Dash to Dock 扩展设置 + +首先,你要使用 GNOME 扩展应用程序(GNOME Extensions application),来**关闭 Ubuntu Dock 扩展**(turn off the Ubuntu Dock extension)。 + +![Disable Ubuntu Dock][22] + +如果 Dash to 程序坞扩展(Dash to Dock extension)还尚未运行的话,请先运行它。 + +然后,右键单击在底部显示的 Dash to Dock 按钮,然后选择 Dash to Dock Settings。 + +![select dash to dock settings][23] + +在设置中,你需要调整一些小东西。 + +首先,使用滑块,来缩小图标的大小。 + +![setting dash to dock icon size][24] + +之后,你需要减少程序坞的不透明度,我更喜欢完全透明的程序坞。 + +所以,我将不透明度设置为**固定**(fixed),并使用滑块将其降至零,如下图所示。 + +![opacity setting for dash to dock][25] + +### GNOME 终端(GNOME terminal)设置 + +你想得到的 Linux 桌面的主要变化是自定义**模糊且有一定透明度**的 neofetch 外观(或 shell color script 外观)。 + +我们之前在 GNOME Tweaks 中应用单空格字体时,因此 GNOME 终端中的字体也会被更改。 + +首先,从**偏好设置**中创建一个新的配置文件。 + +![select preferences from hamburger menu][26] + +单击 `+` ,来创建一个新配置文件。输入文件的名称,并点击**创建**(create),如下所示: + +![create new profile in gnome terminal][27] + +在这个新配置文件中,更改透明度设置,将透明度的滑块放在中间,如下图所示: + +![set transperancy to gnome terminal][28] + +完成后,要将此配置文件设置为默认的配置文件,单击与新配置文件关联的三角形按钮,然后选择**设置为默认**(Set as Default)。 + +![set new profile as default in gnome terminal][29] + +#### 设置模糊效果 + +上述的步骤只会将终端变成一个透明的外壳。但是,如果你还需要有利于提高可见性的模糊效果,你需要进入到 Blur my Shell 扩展进行设置。 + +![blur my shell extension settings][30] + +首先,进入到**应用程序**(Application)菜单。现在,确保终端已打开,并置于屏幕明显的位置。单击**添加**(Add)窗口,然后选择 gnome 终端窗口,以设置模糊效果。请注意:此功能还处于测试阶段,因此可能会出现一些小故障。 + +![applying blur effect to selected windows][31] + +也可以对其他应用程序(例如 Nautilus 文件管理器)重复此过程,来设置模糊效果。 + +#### 定制 Neofetch + +Neofetch 的最佳功能之一是其可定制性。你可以用 Neofetch 中的多种方法,来调整外观。为了更有万圣节氛围,我选择了一个南瓜图像,来代替发行版的 logo。 + +Neofetch 提供以各种格式添加自定义图像的功能。为此,也有各种供支持的后端。在这里,我使用 jp2a 后端,它将使用 [转换成 ASCII 的图片][32]。 + +``` +`neofetch --jp2a /path/to/your/image/file.png` +``` + +![neofetch with custom backend][33] + +上述命令将创建一个带有自定义图片的 Neofetch 实例。你可以将此命令写入你的 .bashrc 文件,以便永久放置该图片。 + +_**不幸的是,这在我的 Wayland 实例上并不起作用。**_ + +#### 自定义 Shell Color Scripts + +如果你安装的是 Shell Color Scripts 工具,则会有多种 shell 脚本。要列出可用的脚本,请使用命令: + +``` +``colorscript -l`` +``` + +![ghosts shell color script][34] + +你可以通过将 `colorscript random` 写入你的 .bashrc 文件,以每次都获得一个随机的颜色脚本,或者通过将`colorscript -e `写入你的 .bashrc 文件,来得到一个特定的颜色脚本。 + +### 设置 Conky + +我使用的是 Deviantart 的 [灰色极简主义(Grey-Minimalistic)][9] conky 主题。conky 主题的每种类型都有不同的安装方法。因此,如果你想要使用另一个 conky 文件的话,请遵循它的 README 文件中描述的设置方法,进行设置。 + +解压 conky 主题文件,里面有几个文件夹。首先,你需要安装关联的图标和字体,也就是说,使用字体管理器(font-manager)安装给定的字体。接着,将图标文件夹拷贝,并粘贴到 ~/.icons 文件夹。 + +![copy and paste conky files to home directory][35] + +然后,进入 conky 文件夹。确保你已 [启用查看隐藏文件][36],将 `.conkyrc` 文件和 `.conky-vision-icons` 文件复制到你的 home 目录,如上图所示。 + +现在,启动conky,看起来就变成下图这样了。 + +![conky theme applied][37] + +将 conky 添加到 [自启动应用程序列表][38] 中,以便在每次开机时都能自启动。 + +![add conky to the list of startup applications][39] + +### 更改壁纸 + +你快要完成啦。你现在唯一需要做的就是 [更改背景壁纸][40]。我相信你之前已经下载好了有万圣节幽灵气氛的壁纸,右键设置为壁纸(Set as Wallpaper)就好啦。 + +![set image as wallpaper from nautilus][41] + +### 看看最终成果吧! + +如果你遵循上面的大多数步骤的话,你就会得到一个与以下截图相似的桌面。 + +![ubuntu halloween theme final look][42] + +这个桌面对于万圣节来说够吓人了吗?你是怎么觉得的呢?在评论区中告诉我吧。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/linux-halloween-makeover/ + +作者:[Sreenath][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theming-final-looks.jpg +[2]: https://itsfoss.com/make-ubuntu-look-like-macos/ +[3]: https://itsfoss.com/properly-theme-kde-plasma/ +[4]: https://itsfoss.com/using-neofetch/ +[5]: https://gitlab.com/dwt1/shell-color-scripts +[6]: https://www.gnome-look.org/p/1253385 +[7]: https://www.gnome-look.org/p/1425426 +[8]: https://www.gnome-look.org/p/1405210 +[9]: https://www.deviantart.com/bryantlloyd/art/Grey-Minimalistic-634726564 +[10]: https://fonts.google.com/specimen/Creepster?query=creepster +[11]: https://www.wallpaperflare.com/search?wallpaper=spooky +[12]: https://itsfoss.com/wp-content/uploads/2022/10/install-gnome-shell-extensions-user-themes-blur-my-shell-and-dash-to-dock.png +[13]: https://itsfoss.com/gnome-shell-extensions/ +[14]: https://extensions.gnome.org/extension/19/user-themes/ +[15]: https://extensions.gnome.org/extension/307/dash-to-dock/ +[16]: https://extensions.gnome.org/extension/3193/blur-my-shell/ +[17]: https://itsfoss.com/wp-content/uploads/2022/10/set-themes-with-gnome-tweaks.png +[18]: https://itsfoss.com/install-fonts-ubuntu/ +[19]: https://itsfoss.com/wp-content/uploads/2022/10/right-click-on-font-file-and-select-open-with-fonts.png +[20]: https://itsfoss.com/wp-content/uploads/2022/10/install-font-using-font-manager-application.png +[21]: https://itsfoss.com/wp-content/uploads/2022/10/change-system-fonts-using-gnome-tweaks.png +[22]: https://itsfoss.com/wp-content/uploads/2020/06/disable-ubuntu-dock.png +[23]: https://itsfoss.com/wp-content/uploads/2022/10/select-dash-to-dock-settings.png +[24]: https://itsfoss.com/wp-content/uploads/2022/10/setting-dash-to-dock-icon-size.png +[25]: https://itsfoss.com/wp-content/uploads/2022/10/opacity-setting-for-dash-to-dock.png +[26]: https://itsfoss.com/wp-content/uploads/2022/10/select-preferences-from-hamburger-menu.png +[27]: https://itsfoss.com/wp-content/uploads/2022/10/create-new-profile-in-gnome-terminal.png +[28]: https://itsfoss.com/wp-content/uploads/2022/10/set-transperancy-to-gnome-terminal.png +[29]: https://itsfoss.com/wp-content/uploads/2022/10/set-new-profile-as-default-in-gnome-terminal.png +[30]: https://itsfoss.com/wp-content/uploads/2022/10/blur-my-shell-extension-settings.png +[31]: https://itsfoss.com/wp-content/uploads/2022/10/applying-blur-effect-to-selected-windows.png +[32]: https://itsfoss.com/ascii-image-converter/ +[33]: https://itsfoss.com/wp-content/uploads/2022/10/neofetch-with-custom-backend.png +[34]: https://itsfoss.com/wp-content/uploads/2022/10/ghosts-shell-color-script.png +[35]: https://itsfoss.com/wp-content/uploads/2022/10/copy-and-paste-conky-files-to-home-directory.png +[36]: https://itsfoss.com/hide-folders-and-show-hidden-files-in-ubuntu-beginner-trick/ +[37]: https://itsfoss.com/wp-content/uploads/2022/10/conky-theme-applied.png +[38]: https://itsfoss.com/manage-startup-applications-ubuntu/ +[39]: https://itsfoss.com/wp-content/uploads/2022/10/add-conky-to-the-list-of-startup-applications.png +[40]: https://itsfoss.com/change-wallpaper-ubuntu/ +[41]: https://itsfoss.com/wp-content/uploads/2022/10/set-image-as-wallpaper-from-nautilus.png +[42]: https://itsfoss.com/wp-content/uploads/2022/10/ubuntu-halloween-theme-final-look.jpg From b038743c856db1686bc2afbd0897f1e3ddcd6473 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Sat, 29 Oct 2022 12:19:18 +0800 Subject: [PATCH 148/925] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ut rolling but also stable That's what Rhino Linux aims to be.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md index c1f743afa6..f9e5ce71a4 100644 --- a/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md +++ b/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/rhino-linux/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b67a2fafdeda7409d9572cb0d96f4a268758ed93 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Sat, 29 Oct 2022 12:49:45 +0800 Subject: [PATCH 149/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o stable That's what Rhino Linux aims to be.md | 80 ------------------- ...o stable That's what Rhino Linux aims to be.md | 80 +++++++++++++++++++ 2 files changed, 80 insertions(+), 80 deletions(-) delete mode 100644 sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md create mode 100644 translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md diff --git a/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md deleted file mode 100644 index f9e5ce71a4..0000000000 --- a/sources/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md +++ /dev/null @@ -1,80 +0,0 @@ -[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be" -[#]: via: "https://news.itsfoss.com/rhino-linux/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu but rolling but also stable That's what Rhino Linux aims to be -====== - -A rolling-release Ubuntu distribution? Wait, what? Rhino Linux sounds fascinating.. - -![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1] - -Rhino Linux will be the successor of [Rolling Rhino Remix][2]. A Linux distro built by http.llamaz that offered a rolling-release **unofficial** variant of Ubuntu. - -To clarify, the project was never aimed to replace other stable distributions and was purely a passion project made for fun. - -Considering people started using it as a daily driver and expected more from it, the developer has decided to turn this into a serious project. - -Rhino Linux is its next step for it. So, what can you expect? - -### Meet Rhino Linux: The Successor - -The main goal is to provide a stable Ubuntu experience while still providing a rolling-release model. - -The aim remains the same, but the fundamentals for Rhino Linux will receive a complete overhaul. They are potentially making it an impressive rolling-release Ubuntu distribution. - -**Sounds exciting! 🤯** - -At its core, Rhino Linux will be using a slightly modified version of [XFCE][3] as its desktop environment; it was chosen due to its well-known stability and speed. - -The founder of Rhino Linux mentioned the following: - -> Ubuntu as a rolling release is still at the very core of our concept. Rhino Linux is not a depature from Rolling Rhino Remix, but rather re-imagines it as the more stable, mature distribution it should have shipped as originally. - -![xfce 4.14][4] - -Alongside that, [Pacstall][5] will be used as the default package manager on Rhino Linux with one of their repositories. - -> 💡Pacstall is an [AUR][6]-inspired package manager for Ubuntu. - -The development of which is headed by the founder of Pacstall, [_Plasma_][7]. He has also joined as one of the new developers (Deputy Project Lead), and [Sourajyoti Basak][8] as another core member. - -### Moving Forward: Availability and Release - -As of writing, Rhino Linux has not received any specific release date, but you can expect it to release sometime in **2023**. - -What happens to Rolling Rhino Remix? - -The developer clarified that it would continue to be maintained for three months after the release of Rhino Linux. However, it won't have a new release image after its subsequent release on **11.01.2022**. - -You can find out more about Rhino Linux by visiting its [official website][9]. - -_💬 What do you think of Rhino Linux? Can it be a contender for official Ubuntu flavors worth trying?_ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/rhino-linux/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png -[2]: https://github.com/rollingrhinoremix -[3]: https://www.xfce.org/ -[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png -[5]: https://github.com/pacstall/pacstall -[6]: https://itsfoss.com/aur-arch-linux/ -[7]: https://github.com/Henryws -[8]: https://github.com/wizard-28 -[9]: https://rhinolinux.org/ diff --git a/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md new file mode 100644 index 0000000000..a119f8cfd4 --- /dev/null +++ b/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md @@ -0,0 +1,80 @@ +[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be" +[#]: via: "https://news.itsfoss.com/rhino-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu,不但滚动发布但也很稳定这就是 Rhino Linux 的目标 +====== + +滚动发布的 Ubuntu 发行版?等等,什么? Rhino Linux 听起来很迷人.. + +![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1] + +Rhino Linux 将成为[Rolling Rhino Remix][2]的继任者。由 http.llamaz 构建的 Linux 发行版, 提供了 Ubuntu 的滚动发布的**非官方**的变体版本 + +需要澄清的是,该项目从未旨在取代其他稳定的发行版,而纯粹是一个充满乐趣的激情项目。 + +考虑到人们开始将其用作日常驱动程序并对其期望更多,开发人员决定将其变成一个严肃的项目。 + +Rhino Linux 作为它的继任者。那么,你能期待什么? + +### 与Rhino Linux相遇:其继任者 + +主要目标是提供稳定的 Ubuntu 体验,同时仍提供滚动发布模型。 + +目标保持不变,但 Rhino Linux 的基础将得到彻底改革。他们有可能使它成为一个令人印象深刻的滚动发布的Ubuntu 发行版。 + +**听起来很令人兴奋!🤯** + +在其核心,Rhino Linux 将使用稍微修改过的 [XFCE][3]版本作为其桌面环境;之所以选择它是因为它众所周知的稳定性和速度。 + +Rhino Linux 的创始人提到了以下几点: + +> Ubuntu 作为滚动发行版仍然是我们概念的核心。 Rhino Linux 并不是从 Rolling Rhino Remix 中分离出来的,而是将它重新设想为更稳定、更成熟的发行版,它应该像最初一样发布。 + +![xfce 4.14][4] + +除此之外,[Pacstall][5]将用作 Rhino Linux 上的默认包管理器及其存储库之一。 + +> 💡Pacstall 是一个受 [AUR][6]启发的 Ubuntu 包管理器。 + +其开发由 Pacstall 的创始人[_Plasma_][7]领导. 他还作为新开发人员之一(副项目负责人)加入,[Sourajyoti Basak][8]作为另一位核心成员加入。 + +### 前进:可用性和发布 + +在撰写本文时,Rhino Linux 尚未收到任何具体的发布日期,但您可以预计它会在 **2023** 年的某个时间发布。 + +Rolling Rhino Remix 会发生什么? + +开发者澄清说,Rhino Linux 发布后会继续维护三个月。但是,在 2022 年 1 月 11 日发布之后,它不会有新的发布映像。 + +您可以通过访问其[官方网站][9]了解更多关于 Rhino Linux 的信息。 + +_💬 你觉得 Rhino Linux 怎么样?它可以成为值得尝试的官方 Ubuntu 风格的竞争者吗?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/rhino-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png +[2]: https://github.com/rollingrhinoremix +[3]: https://www.xfce.org/ +[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png +[5]: https://github.com/pacstall/pacstall +[6]: https://itsfoss.com/aur-arch-linux/ +[7]: https://github.com/Henryws +[8]: https://github.com/wizard-28 +[9]: https://rhinolinux.org/ From dc11ebd517c1852851c36f54202d13dabdee87ee Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Sat, 29 Oct 2022 14:15:44 +0800 Subject: [PATCH 150/925] =?UTF-8?q?Update=2020221022.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Use=20open=20source=20commands=20?= =?UTF-8?q?in=20Powershell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Use open source commands in Powershell.md | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md index 247f4daca0..59d165394d 100644 --- a/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md +++ b/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md @@ -7,27 +7,26 @@ [#]: publisher: " " [#]: url: " " -Use open source commands in Powershell +在Powershell 中使用开源命令 ====== -When you launch an application on an operating system, there are certain code libraries and utility applications that your OS needs to use for that app to run. Your OS knows how to find these libraries and utilities because it has a _system path,_ a map to common shared data that lots of apps need. Every OS has this, but users aren’t usually aware of it because they don’t usually need to care about it. However, when you start coding or using special network utilities or commands, you might care about your own PATH variable. +当你在操作系统上启动应用程序时,操作系统需要使用某些代码库和实用程序来运行该应用程序。你的操作系统知道如何找到这些库和实用程序,因为它有一个_系统路径_,一个到许多应用程序都需要用到的公共共享数据的映射。所有操作系统都有这一点,但用户通常不会意识到这一点,因为他们通常不需要在意它。然而,当你需要编程或使用特殊的网络实用程序或命令时,你可能需要关心你自己的PATH变量配置。 -The PATH variable makes it so that you can save commands to a consistent location, and use them from anywhere on your system using the command prompt or the more powerful (and open source) [Powershell][1]. +PATH变量使你可以将命令保存到一致的位置,并使用命令提示符或更强大(也是开源的)[Powershell][1]从系统上的任何位置调用它们。 -For instance, say you want to install the open source application `pscp.exe`, a command-line interface to the famous PuTTY OpenSSH client on Windows. You can download it to your hard drive, but how does your command-line know that it exists? Well at first, it doesn’t: +例如,假设你想安装开源应用程序“pscp.exe”,它是Windows上著名的PuTTY OpenSSH客户端的命令行界面。你可以将它下载到你的硬盘,但是你的命令行如何知道它的存在呢?实时一开始,它并不知道: ``` PS> pscp - pscp: The term 'pscp' is not recognized as the name of a cmdlet, script file, or operable program. - Check the spelling of the name, or if a path was included, verify that the path is correct and try again. + pscp: 命令“pscp”不能被识别为cmdlet、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含了路径,则检查路径是否正确,然后再试一次。 ``` -If you’re using an open source command line, such as Powershell or [Cmder][2], you get a useful error hinting that this might be a problem with your path (or the lack thereof). Here’s how to solve that problem. +如果你正在使用一个开源命令行,例如Powershell或[Cmder][2],那么你将得到一个有用的错误提示,提示这可能是你的路径有问题(或没有问题)。下面是解决这个问题的方法。 -### Setting a PATH +### 设置 PATH -- First, create a folder called `App` on your Desktop. -- Next, right-click on the Windows menu in the bottom left corner of your screen, and select **System**. +- 首先,在桌面上创建一个名为`App`的文件夹。 +- 接下来,右键单击屏幕左下角的Windows菜单,然后选择 **系统**. ![Image of the Windows menu system.][3] @@ -35,8 +34,8 @@ Image by: (Alan Smithee, CC BY-SA 4.0) -- In the **System** window that appears, click the link to **Advanced system settings** on the left of the window. -- In the **System properties** window that appears, click the **Environment variables** button at the bottom of the window. +- 在弹出的“**系统**”窗口中,单击窗口左侧的“**高级系统设置**”链接。 +- 在出现的**系统属性**窗口中,单击窗口底部的**环境变量**按钮。 ![Image Windows system enviroment variables.][4] @@ -44,7 +43,7 @@ Image by: (Alan Smithee, CC BY-SA 4.0) -- In the **Environment variables** window, click the **New** button under the **User variables** panel. +- 在**环境变量**窗口中,单击**用户变量**面板下的**新建**按钮。 ![Image of new Windows enviroment variables.][5] @@ -52,7 +51,7 @@ Image by: (Alan Smithee, CC BY-SA 4.0) -- In the dialog box that appears, enter `PATH` for the **Variable name** field, and `%USERPROFILE\Desktop\App` for the **Variable value** field. Click the **OK** button to save your changes. +- 在弹出的对话框中,为**变量名**字段输入`PATH`,为**变量值**字段输入 `%USERPROFILE\Desktop\App` 。单击**OK**按钮保存更改。 ![Image of Windows path set.][6] @@ -60,7 +59,7 @@ Image by: (Alan Smithee, CC BY-SA 4.0) -Place commands and applications you want to have access to from a command prompt in `Desktop\Apps` and Powershell, Cmder, and even Cmd will find them: +将那些你希望从命令提示符在`Desktop\Apps`和Powershell, Cmder,Cmd中调用的命令和应用程序放置于`Desktop\Apps`路径下: ``` PS> pscp –version @@ -69,9 +68,9 @@ PS> pscp –version PS> ``` -### Automatic PATH settings +### PATH路径自动设置 -Many applications get automatically added to the system path during installation. However, not all of them do, either because you missed a check box during the install process, or because the application developer expects you to add it yourself. When automatic paths fail, you now know how to forge your own path. +许多应用程序会在安装过程中自动添加到系统路径中。然而,并不是所有的程序都如此,要么是因为你在安装过程中遗漏了一个复选框,要么是因为应用程序开发人员希望你自己添加它。当自动路径失败时,你现在知道如何自己设置路径。 -------------------------------------------------------------------------------- From a20f039788207a226b6c5b8916bb84a8dabbdf84 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Sat, 29 Oct 2022 06:19:52 +0000 Subject: [PATCH 151/925] =?UTF-8?q?Rename=20sources/tech/20221022.3=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Use=20open=20source=20co?= =?UTF-8?q?mmands=20in=20Powershell.md=20to=20translated/tech/20221022.3?= =?UTF-8?q?=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Use=20open=20source?= =?UTF-8?q?=20commands=20in=20Powershell.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md => translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. (100%) diff --git a/sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. similarity index 100% rename from sources/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md rename to translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. From 34b41fab73dc4395b83685e3eff054882203bb6a Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Sat, 29 Oct 2022 06:24:29 +0000 Subject: [PATCH 152/925] =?UTF-8?q?Rename=2020221022.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Use=20open=20source=20commands=20?= =?UTF-8?q?in=20Powershell.=20to=2020221022.3=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Use=20open=20source=20commands=20in=20Powe?= =?UTF-8?q?rshell.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ershell. => 20221022.3 ⭐️⭐️ Use open source commands in Powershell.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename translated/tech/{20221022.3 ⭐️⭐️ Use open source commands in Powershell. => 20221022.3 ⭐️⭐️ Use open source commands in Powershell.md} (100%) diff --git a/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. b/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md similarity index 100% rename from translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell. rename to translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md From d42c27f2876043f03375ac6c1eee099b60f025ef Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Sat, 29 Oct 2022 15:06:07 +0800 Subject: [PATCH 153/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... My top 5 tips for setting up Terraform.md | 75 ------------------- ... My top 5 tips for setting up Terraform.md | 75 +++++++++++++++++++ 2 files changed, 75 insertions(+), 75 deletions(-) delete mode 100644 sources/tech/20210811 My top 5 tips for setting up Terraform.md create mode 100644 translated/tech/20210811 My top 5 tips for setting up Terraform.md diff --git a/sources/tech/20210811 My top 5 tips for setting up Terraform.md b/sources/tech/20210811 My top 5 tips for setting up Terraform.md deleted file mode 100644 index a68ac0c3cf..0000000000 --- a/sources/tech/20210811 My top 5 tips for setting up Terraform.md +++ /dev/null @@ -1,75 +0,0 @@ -[#]: subject: "My top 5 tips for setting up Terraform" -[#]: via: "https://opensource.com/article/21/8/terraform-tips" -[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma" -[#]: collector: "lujun9972" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -My top 5 tips for setting up Terraform -====== -These are the lessons I've learned after five years with Terraform. -![Puzzle pieces coming together to form a computer screen][1] - -Working with Terraform for over five years has taught me some key lessons. Five practices have been critical to having a logical and usable Terraform setup regardless of the size of the team or the nature of the project. - -### 1\. Know your target audience. - -This one might seem obvious, but I've seen it go wrong several times. When organizing Terraform code, either standardizing the directory structure or defining naming conventions, it's vital to consider the intended audience. Will your team be using these Terraform scripts and modules? Are you handing the work over to another team? Will new people be joining your team sooner or later? Are you working on this project solo? Will you be using this setup in six months or a year, or will it be assigned to someone else? - -Questions like these affect several decisions. Ideally, you should have [Remote State][2] and [State Locking][3] in place regardless of the team size now or in the future. Remote State will ensure your laptop is not the only place your Terraform works, and State Locking will ensure that only one person at a time is changing the infrastructure. - -The naming convention should make sense to the eventual owners of the project, not just the team that is writing the code. If the project is for another team, make sure they have a say in the naming convention. If non-technical stakeholders or internal security/GCR teams review the code, make sure they check the naming convention. In addition to resource names, you should leverage resource tags to highlight any data classification/privacy requirements (high, medium, low) for more careful examination by reviewers. - -### 2\. Reuse. Reuse. Reuse. - -The [Terraform Registry][4] provides a library of ready-to-use modules for the most common use-cases. I've written about the extensive parameterization available in the VPC module and security groups. Simply calling modules with different parameters is enough to handle most, if not all, potential use cases. Reuse these shared modules as much as possible to avoid endless typing, testing, checking, fixing, and refactoring. - -I've also found that separating modules and resources based on the frequency of use or change is beneficial. For example, infrastructure scaffolding used only once belongs together, such as setting up the VPC, security groups, routing tables, VPC endpoints, and so on. But things like private hosted zone entries, autoscaling groups, target groups, load balancers, etc., might change with every deployment, so separating these from the one-time scaffolding will make code reviews easier and debugging faster. - -### 3\. Be explicit rather than implicit. - -There are common patterns to Terraform code that I have seen lead to incorrect assumptions baked into the design. Teams can assume that the Terraform version used to write the code today will never change, or the external modules won't change, or the providers they are using won't change. These lead to invisible issues a few weeks down the road when these external dependencies inevitably get updated. - -Ensure you explicitly define versions everywhere possible: In the main Terraform block, in the provider block, in the module block, etc. Defining versions ensures that your dependent libraries stay frozen so that you can explicitly update dependencies when required after thorough discussions, reviews, and testing. - -### 4\. Automate everywhere. Your laptop. Your shared VM. Your CI/CD. - -Leveraging automation at every stage of the deployment process can avoid future problems before they even arise. - -Use [Git pre-commit hooks][5] to run `terraform fmt` and `terraform validate` before you commit your code. Pre-commit hooks ensure that code is, at a bare minimum, adequately formatted and syntactically correct. Check-in this pre-commit file to the repo, and everyone on your team can benefit from the same automation. This small but vital quality control at the first step of the process can achieve substantial time savings as your project progresses. - -All modern deployment tools have CI processes. You can use these to run SAST and unit testing tools when pushing your code to origin. I've written on my blog about how [Checkov can test Terraform code for security and compliance and create custom checks][6] for organization-specific conventions. Add these unit testing tools to your CI pipeline to improve code quality and robustness. - -### 5\. Have an awesome README.md. - -We all like to think that Terraform code is self-documenting. Sure it is, but only if your future team already knows your company's naming conventions and guidelines and secret handshakes and inside jokes and whatever else your repo contains besides valid Terraform code. Getting into the habit of having a good `README.md` can be a huge time saver, and it keeps your team honest by holding them accountable for everything explicitly committed to in the README. - -At a minimum, your README should contain the steps to initialize the right Terraform environment on your workstations (Linux, Windows, Mac, and so on), including the Terraform version to install. It should specify the required dependencies (Checkov, TerraGrunt, and others) with versions and any handy Linux aliases your team uses (some people like to define `tff` as a short-hand for `terraform fmt`). Most importantly, the branching and PR review strategy and process, naming conventions, and resource tagging standards should be specified. - -The README should pass a simple test: if a new member joins your team tomorrow, is the README enough to teach them what to do and how to do it correctly? If not, you may find yourself hosting never-ending standards and process meetings repeatedly for the next few months. - -### Wrap up - -After many years of working with Terraform, these are my five best bits of wisdom to pass along. Feel free to share your own best practices below. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/8/terraform-tips - -作者:[Ayush Sharma][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ayushsharma -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen) -[2]: https://www.terraform.io/docs/language/state/index.html -[3]: https://www.terraform.io/docs/language/state/locking.html -[4]: https://registry.terraform.io/ -[5]: https://opensource.com/life/16/8/how-construct-your-own-git-server-part-6 -[6]: https://notes.ayushsharma.in/2021/07/cloud-infrastructure-sast-terraform-checkov diff --git a/translated/tech/20210811 My top 5 tips for setting up Terraform.md b/translated/tech/20210811 My top 5 tips for setting up Terraform.md new file mode 100644 index 0000000000..e85f4b3759 --- /dev/null +++ b/translated/tech/20210811 My top 5 tips for setting up Terraform.md @@ -0,0 +1,75 @@ +[#]: subject: "My top 5 tips for setting up Terraform" +[#]: via: "https://opensource.com/article/21/8/terraform-tips" +[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma" +[#]: collector: "lujun9972" +[#]: translator: "cool-summer-021" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +关于配置 Terraform 的五条建议 +====== +本文介绍我使用 Terraform 五年之后吸取到的经验。 +![Puzzle pieces coming together to form a computer screen][1] + +使用 Terraform 五年的经历让我吸取到一些重要经验。无论团队大小、项目性质,有五条要点对于配置合乎逻辑且可用的 Terraform 平台至关重要。 + +### 1\. 了解你的目标受众 + +这一点似乎显而易见,但我也见过一些在这方面犯错的案例。当组织和规划 Terraform 的相关代码时,无论是将目录结构标准化还是确定命名规范,考虑目标受众是非常重要的。例如:你的团队是否将使用这些 Terraform 脚本和模块?你是否会向其他团队交接工作?你的团队是否会有新成员加入?你是否正在独自进行项目开发?半年或一年后,你是否仍然使用这些配置,还是会将它安排给别人? + +这类问题会影响某些决策。理想情况下,无论如何都会有[远程状态][2]和[状态锁定][3]两种状态。远程状态确保你的机器不是 Terraform 唯一运行的机器,状态锁定确保同一时刻只有一个人对基础设施进行修改操作。 + +命名规范应该对项目的最终拥有者有意义,而不是只对开发团队有意义。如果项目会转交给其他团队,应该确保他们对命名规范有发言权。如果代码由非技术的利益相关者或内部安全/GCR 团队负责审查,应该确保他们会检查命名规范。另外,对于资源名称,为了让代码审查人员更仔细地进行检查,你应该使用资源标签,把有关的数据分类/隐私需求(高、中、低)标示出来。 + +### 2\. 重用,重用,重用 + +[Terraform 注册表][4]为大多数普通用例提供了现成模块类库。我已经使用过 VPC 模块和安全模块中的大量功能,这些功能只需要提供相关的参数就能使用。使用不同的参数,简单调用这些模块对于处理大部分用例已经足够了。尽可能多地重用这些公共模块,可以避免大量且重复的编码、测试、检查、修复、重构等操作。 + +我也发现,基于使用或变更的频率划分模块和资源大有好处。例如,只使用一次的基础设施手脚架,例如 VPC 相关设置、安全模块、路由表、VPC 端点等,可以放在一起。但是像私有托管域条目、自动伸缩模块、目标模块、负载均衡器等,每次部署时都会变化, 所以把这些与基础设施手脚架分离开来,会令代码检查更方便,调试更快速。 + +### 3\. 要明确,而非隐含 + +Terraform 代码中有一些常见的模式,它会导致设计中出现错误的假设。 团队可以假设用来写代码的 Terraform 版本永远保持不变,外部模块不会变化,或供应商不会变更。当这些外部依赖不可避免地发生变化时,就会导致一些难以发现的问题。 + +无论何处(包括主要的 Terraform 组、Provider 组、功能模块组)都要确保定义是明确的。事先定义版本,可以确保依赖库是固定的,因此你可以在讨论、审查、测试后,明明白白地更新依赖关系。 + +### 4\. 无论何处都要进行自动化,包括笔记本电脑、共享虚拟机、CI/CD。 + +在部署的各个阶段使用自动化方法,都可以避免可能发生的问题。 + +在你提交代码前,使用 [Git pre-commit hooks][5] 运行 `terraform fmt` 和 `terraform validate`。Pre-commit hooks 的作用是确保你的代码满足最低程度的格式和语法正确。把这个 pre-commit 文件检入到仓库,对你的团队成员都有好处。项目的第一步就进行质量控制相关的操作,它虽然表面上是小事一桩,但也很重要,能为项目节省大量时间。 + +一切现代化部署工具都有 CI 流程。当你向原始仓库推送代码时,可以使用它来运行 SAST 和单元测试工具。我写过一篇博客,是关于[使用 Checkov 测试 Terraform 代码的安全性和一致性以及进行自定义检查][6]的。把这些单元测试工具加入到你的 CI 管道,可以改进代码质量和健壮性。 + +### 5\. 具有极好的 README.md 文件 + +我们都认为 Terraform 代码是自文档化的。的确如此,但是只有当未来的团队已经了解你的公司的命名规范、开发指南、机密通信、圈内笑话以及除有效代码之外你的仓库内的其他所有东西,才会如此。维护 `README.md` 文件是个好习惯,它能节省大量时间,而且团队成员要为自己向 README 文件提交的任何内容负责,这样也就确保团队成员的忠诚度。 + +你的 README 文件至少应该包含在你的工作环境下(Linux, Windows, Mac 等等)初始化 Terraform 环境的步骤,包括 Terraform 的版本信息。它应当确定需要的依赖库(Checkov, TerraGrunt及其他依赖)和其版本,以及团队使用的 Linux 别名(例如有人喜欢将 `terraform fmt` 简写为 `tff`)。最重要的是,需要确定分支和 PR 审核策略和流程、命名规范和资源标签的相关标准。 + +README 文件需要通过这样的检验:如果团队有新成员加入,能否告诉他们做什么以及如何正确地完成工作?如果不能,在后续的几个月内,你将面对的是无休止的标准和流程讨论会议。 + +### 结束语 + +这些就是我使用 Terraform 多年后,认为需要传授给大家的五条有用的建议。也欢迎您分享自己的最佳实践。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/8/terraform-tips + +作者:[Ayush Sharma][a] +选题:[lujun9972][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ayushsharma +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen) +[2]: https://www.terraform.io/docs/language/state/index.html +[3]: https://www.terraform.io/docs/language/state/locking.html +[4]: https://registry.terraform.io/ +[5]: https://opensource.com/life/16/8/how-construct-your-own-git-server-part-6 +[6]: https://notes.ayushsharma.in/2021/07/cloud-infrastructure-sast-terraform-checkov From 8364951207978efe9deadf436eafe4a9a87183b4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 15:47:30 +0800 Subject: [PATCH 154/925] R --- ...13 Enjoy the Classic Snake Game in Your Linux Terminal.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md index cb68bbf24d..8e365e371a 100644 --- a/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md +++ b/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md @@ -76,7 +76,10 @@ yay -S nsnake 哦,确保你已经安装了 `git` 和 `ncurses-devel`,它们是编译所需的包。 ``` -git clone https://github.com/alexdantas/nSnake.gitcd nsnakemakemake install +git clone https://github.com/alexdantas/nSnake.git +cd nsnake +make +make install ``` 那么,你喜欢贪吃蛇游戏吗?与其他基于终端的游戏相比,你更喜欢它吗?在下面的评论框中与其他读者分享你的观点。 From ff8e2d976e2b6ecb26c694d537ba30836f388a53 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 16:05:59 +0800 Subject: [PATCH 155/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 这篇还可以更好一些,请参照我的校对改进你的翻译~加油~ --- ...s With Xfce Upgrades, and Other Refinements.md | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md index 7967fd9a20..d0aeba7f63 100644 --- a/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md +++ b/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md @@ -3,41 +3,41 @@ [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "littlebirdnest" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -带有 Xfce 升级和其他改进的 Xubuntu 22.10 版本 +Xubuntu 22.10 的新变化 ====== -Xubuntu 22.10 提供了精致的 XFCE 体验。点击此处了解详情。 +> Xubuntu 22.10 提供了精致的 Xfce 体验。请读此文了解详情。 ![Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements][1] -Xubuntu 是基于 XFCE 的官方 Ubuntu 风格。 +Xubuntu 是基于 Xfce 的 Ubuntu 官方版本。 -它也是可用的最好的轻量级 Linux 发行版之一。 +它也是最好的轻量级 Linux 发行版之一。 -随着最新的 Xubuntu 22.10“ Kinetic Kudu ”版本,您可以期待桌面环境的改进、功能的添加和全面的改进。 +随着最新的 Xubuntu 22.10 “Kinetic Kudu” 版本,你可以看到改进的桌面环境、添加的功能,以及全面的细化。 -### Xubuntu 22.10:有什么新功能? +### Xubuntu 22.10 的新变化 ![Xubuntu 22.10 home][2] Xubuntu 22.10 带来了一些令人兴奋的升级。一些亮点包括: -- **Xfce 4.16(或 Xfce 4.17 开发版)** -- **鲶鱼外观更新。** -- **新图标刷新和弃用的基础的 xfce 黑色主题。** -- **Mousepad搜索历史.** -- **Thundar 文件管理器的改进.** -- **Xfce 任务管理器.** +- Xfce 4.16(或 Xfce 4.17 开发版) +- Catfish 的外观进行了更新。 +- 更新了新图标,弃用了 elementary-xfce-darker 主题。 +- Mousepad 搜索历史。 +- Thundar 文件管理器的改进。 +- Xfce 任务管理器。 -> 💡Xubuntu 22.10 将支持九个月,直到2023 年 7 月。如果您想要稳定性而不是功能,您应该更喜欢使用 [LTS 版本][3]. +> 💡 Xubuntu 22.10 将支持九个月,直到 **2023 年 7 月**。如果你想要稳定性而不是功能,你应该首选使用 [LTS 版本][3]。 -#### XFCE 4.17 开发版还是 XFCE 4.16? +#### Xfce 4.17 开发版还是 Xfce 4.16? -Xubuntu 22.10 的发行说明说它具有 Xfce 4.17 开发版本。 +Xubuntu 22.10 的发行说明说它专门提供了 Xfce 4.17 开发版本。 但是,当我安装 Xubuntu 22.10 的 beta 版本(并将其更新到最新版本)时,只具有 Xfce 4.16。 @@ -49,29 +49,29 @@ Xubuntu 22.10 的发行说明说它具有 Xfce 4.17 开发版本。 ![xubuntu catfish][5] -Catfish 是 Xubuntu 上的一个文件搜索工具。通过新的升级,它具有焕然一新的外观,并调整了引擎。 +Catfish 是 Xubuntu 上的一个文件搜索工具。通过新的升级,它具有焕然一新的外观,并做了底层的改进。 -与您搜索的文件交互时,您还会获得一个“打开方式”上下文菜单。 +与你搜索的文件交互时,你还会获得一个“打开方式”上下文菜单。 ![][6] -catfish 是一个非常微妙但有价值的功能添加。 +Catfish 还添加了一些细微而有用的功能。 -#### GNOME 43 软件 +#### GNOME 43 软件应用 在值得注意的应用程序更新中,GNOME 的最新软件中心是一个不错的选择。这是 Xubuntu 22.10 的外观: ![][7] -当然,它可能无法让您与 Xfce 上的其他应用程序保持一致,但我认为您应该不会介意。 +当然,它可能无法与 Xfce 上的其他应用程序保持一致,但我认为你应该不会介意。 #### 图标更新 -随着基础的xfce 0.17 图标更新,有许多新图标和更简洁的选项可提供一致的Xubuntu 桌面体验。 +随着 elementary-xfce 0.17 图标更新,有许多新图标和更简洁的选项,可提供一致的 Xubuntu 桌面体验。 ![][8] -此外,基础的xfce黑色主题图标包已被弃用。 +此外,elementary-xfce-darkest 主题图标包已被弃用。 ![][9] @@ -79,31 +79,31 @@ catfish 是一个非常微妙但有价值的功能添加。 ![][10] -您现在可以将完整的进程路径复制到剪贴板。这对于在需要时从命令行进行故障排除或停止操作很有用。 +你现在可以将完整的进程路径复制到剪贴板。这对于需要从命令行进行故障排除或停止操作很有用。 + ### 其他增强功能 ![][11] 还有其他几个值得注意的变化,包括: -- **Linux 内核 5.19** -- **火狐浏览器 105。** -- **Alt-Tab 视图通过更突出的图标进行了改进。** -- **马赛克拼图添加到 SGT 拼图系列。** -- **马赛克拼图添加到 SGT 拼图系列。** -- **Mousepad文本编辑器现在包括搜索历史记录和更多调整。** +- Linux 内核 5.19。 +- Firefox 浏览器 105。 +- `Alt-Tab` 视图通过更突出的图标进行了改进。 +- 马赛克拼图添加到 SGT 拼图系列。 +- Mousepad 文本编辑器现在包括搜索历史记录,以及更多调整。 -要了解有关更改的更多信息,请查看[官方发行说明][12]。 +要了解有关更改的更多信息,请查看 [官方发行说明][12]。 -### 下载Xubuntu 22.10 +### 下载 Xubuntu 22.10 -你可以下载最新的ISO文件从[Ubuntu 的中央映像存储库][13]或它的[官方网站][14]. +你可以从 [Ubuntu 的中央镜像库][13] 或它的 [官方网站][14] 下载最新的 ISO 文件。 官方网站可能需要一段时间才能提供 ISO。 -[下载Xubuntu 22.10][14] +> **[下载Xubuntu 22.10][14]** -💬 您如何看待 Xubuntu 22.10?在评论中让我知道你的想法。 +💬 你觉得 Xubuntu 22.10 如何?请在评论中告诉我。 -------------------------------------------------------------------------------- @@ -111,8 +111,8 @@ via: https://news.itsfoss.com/xubuntu-22-10-release/ 作者:[Ankush Das][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From eec3f2ab0b06f044ab6624f2b6462c4cd7007815 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 16:09:03 +0800 Subject: [PATCH 156/925] P @littlebirdnest https://linux.cn/article-15188-1.html --- ...tu 22.10 Releases With Xfce Upgrades, and Other Refinements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md (98%) diff --git a/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/published/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md similarity index 98% rename from translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md rename to published/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md index d0aeba7f63..3892e9babd 100644 --- a/translated/news/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md +++ b/published/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15188-1.html" Xubuntu 22.10 的新变化 ====== From 4963831515dea8aa8225fae991696d89f344839e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 16:34:34 +0800 Subject: [PATCH 157/925] RP @chai001125 https://linux.cn/article-15189-1.html --- ... base64 Encode and Decode With Examples.md | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) rename {translated/tech => published}/20221013 Learn Bash base64 Encode and Decode With Examples.md (64%) diff --git a/translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md b/published/20221013 Learn Bash base64 Encode and Decode With Examples.md similarity index 64% rename from translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md rename to published/20221013 Learn Bash base64 Encode and Decode With Examples.md index 2418e538f9..c69b31a88a 100644 --- a/translated/tech/20221013 Learn Bash base64 Encode and Decode With Examples.md +++ b/published/20221013 Learn Bash base64 Encode and Decode With Examples.md @@ -3,23 +3,24 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15189-1.html" 通过示例来学习 Bash base64 的编码和解码 ====== -你想了解 Base64 编码和解码的方法吗?在本教程中,我们使用 bash shell 脚本和各种示例解释了 Base64 编码和解码步骤。 -![][1] +> 你想了解 Base64 编码和解码的方法吗?在本教程中,我们使用 Bash shell 脚本和各种示例解释了 Base64 编码和解码步骤。 -Base64 编码方法通过将二进制数据转换为文本,如此编码数据可以在任何通信媒体进行传输。这种编码方法主要用于电子邮件加密的过程。 +![](https://img.linux.net.cn/data/attachment/album/202210/29/163350mde5lll86j6lspln.jpg) -总体而言,Base64 编码方法是一种二进制到文本的编码方案,以 ASCII 字符串格式表示 8 字节的二进制数据。使用这种编码方法在各种媒介之间传输数据时有几个优势,尤其是对于那些能可靠支持文本内容的媒介。因此,Base64 编码方法在万维网上被广泛使用。这种编码方案最常用于电子邮件附件的编码上。 +Base64 编码方法可以将二进制数据转换为文本,如此编码数据可以在任何通信媒介进行传输。这种编码方法主要用于电子邮件加密的过程。 -根据 Base64 编码表,二进制数据可以经 Base64 编码后可以转换为 64 个不同的 ASCII 字符,包含大写字母 A 到 Z,小写字母 a 到 Z,数字 0 到 9 ,以及符号 + 和 /,这些字符在传输和打印上十分便捷。 +总体而言,Base64 编码方法是一种二进制到文本的编码方案,以 ASCII 字符串格式表示 8 字节的二进制数据。使用这种编码方法在各种媒介之间传输数据时有几个优势,尤其是对于那些能可靠地支持文本内容的媒介。因此,Base64 编码方法在万维网上被广泛使用。这种编码方案最常用于电子邮件附件的编码上。 -这 64 个 ASCII 字符代表着从 `000000` 到 `111111` 的二进制值。每个非末尾的 Base64 编码后的 ASCII 字符恰好代表 6 位二进制值。 +根据 Base64 编码表,二进制数据可以经 Base64 编码后可以转换为 64 个不同的 ASCII 字符,包含大写字母 `A` 到 `Z`,小写字母 `a` 到 `z`,数字 `0` 到 `9`,以及符号 `+` 和 `/`,这些字符在传输和打印上十分便捷。 + +这 64 个 ASCII 字符代表着从 `000000` 到 `111111` 的二进制值。每个非末尾的 Base64 编码字符恰好代表 6 位二进制值。 ![Base64 Index Table][2] @@ -33,21 +34,21 @@ Base64 编码方法通过将二进制数据转换为文本,如此编码数据 base64 [OPTIONs] [INFILE] [OUTFILE] ``` -选项(Option):参照下面的表格,你可以提供任何的选项或组合多个选项。 -输入(INFILE):你可以从标准输入(如命令行)或文件中输入。 -输出(OUTFILE):你可以将输出重定向到标准输出,如终端或文件中。 +- 选项(`Option`):参照下面的表格,你可以提供任何的选项或组合多个选项。 +- 输入(`INFILE`):你可以从标准输入(如命令行)或文件中输入。 +- 输出(`OUTFILE`):你可以将输出重定向到标准输出,如终端或文件中。 | 选项 | 描述 | | :- | :- | -| -e 或者 –encode | 此选项用于对标准输入的数据或从文件中读入的数据进行编码。这是默认选项。 | -| -d 或者 –decode | 此选项用于对标准输入的数据或从文件中读入的已 base64 编码数据进行解码。 | -| -n 或者 –noerrcheck | 默认情况下,base64 在解码数据时,会自动检查是否有错误。你可以使用 –n 或 –noerrcheck 选项,在解码时忽略检查。 | -| -i, –ignore-garbage | 此选项用于在解码时忽略非字母字符。 | -| -u 或者 –help | 此选项用于获取有关使用此命令的信息。 | +| `-e` 或者 `--encode` | 此选项用于对标准输入的数据或从文件中读入的数据进行编码。这是默认选项。 | +| `-d` 或者 `--decode` | 此选项用于对标准输入的数据或从文件中读入的已 Base64 编码数据进行解码。 | +| `-n` 或者 `--noerrcheck` | 默认情况下,Base64 在解码数据时,会自动检查是否有错误。你可以使用该选项在解码时忽略检查。 | +| `-i` 或 `--ignore-garbage` | 此选项用于在解码时忽略非字母字符。 | +| `-u` 或者 `--help` | 此选项用于获取有关使用此命令的信息。 | #### 示例 1:基本编码 -在 Linux 中,默认已安装好 base64 软件包。因此,你可以轻松地从命令行使用 base64。要对一个字符串或文本进行编码,你可以通过管道将其传递到命令行,并获取待编码的文本。在下面的示例中,对字符串 debugpoint.com 进行了 base64 编码。 +在 Linux 中,默认已安装好 Base64 软件包。因此,你可以轻松地从命令行使用 Base64。要对一个字符串或文本进行编码,你可以通过管道将其传递到 `base64` 命令,并获取待编码的文本。在下面的示例中,对字符串 `debugpoint.com` 进行了 Base64 编码。 ``` echo "debugpoint.com" | base64 @@ -55,21 +56,21 @@ echo "debugpoint.com" | base64 ![bash base64 encode and decode - example 1][3] -结果是经过 base64 编码后的字符串。 +结果是经过 Base64 编码后的字符串。 #### 解释 Base64 编码方法使用下面的几个步骤来转换输入的数据。首先,每个输入字符转换为 8 位二进制值,接着,二进制字符串拆分为一组组 6 位的二进制值,然后,每个 6 位的二进制值被转换为十进制值。 -最后,每个十进制值都通过 base64 编码索引表转换为 base64 字符。 +最后,每个十进制值都通过 Base64 编码索引表转换为 Base64 字符。 -在上面的示例中,第一个字符 `d` 被转换为二进制 `01100100`。前 6 位是 `011001`,转换为十进制是 `25`。`25` 在 base64 编码索引表中对应着 `Z`。整个输入的文本流都像如此编码。请参阅以下编码过程的示例。 +在上面的示例中,第一个字符 `d` 被转换为二进制 `01100100`。前 6 位是 `011001`,转换为十进制是 `25`。`25` 在 Base64 编码索引表中对应着 `Z`。整个输入的文本流都像如此编码。请参阅以下编码过程的示例。 ![Base64 Encode and Decode – inner working][4] #### 示例 2:基本解码 -要解码字符串,需要将编码值传递给 base64,选项为 `--decode`,它将输出你之前输入的字符串。 +要解码字符串,需要将编码值传递给 `base64` 命令,选项为 `--decode`,它将输出你之前输入的字符串。 ![bash base64 encode and decode - example 2 (decode the same example)][5] @@ -85,7 +86,7 @@ base64 example3.txt > example3-encoded.txt #### 示例 4:对文本文件进行解码 -要解码使用 base64 编码的文本文件,只需使用 `--decode` 或 `-d` 选项,并传递文本文件名。 +要解码使用 Base64 编码的文本文件,只需使用 `--decode` 或 `-d` 选项,并传递文本文件名。 ``` base64 -d example3-encoded.txt @@ -93,9 +94,9 @@ base64 -d example3-encoded.txt #### 示例 5:对用户输入的数据进行编码 -使用 bash shell 编程,你可以通过终端接收用户的输入,并对其进行 base64 编码。你需要先编写一个简单的 shell 脚本,并在授予可执行权限后执行。 +使用 Bash shell 编程,你可以通过终端接收用户的输入,并对其进行 Base64 编码。你需要先编写一个简单的 shell 脚本,并在授予可执行权限后执行。 -以下就是一个简单的示例,它从用户那里获得输入,然后进行 base64 编码,最终显示编码的字符串。 +以下就是一个简单的示例,它从用户那里获得输入,然后进行 Base64 编码,最终显示编码的字符串。 ``` #!/bin/bash @@ -109,7 +110,7 @@ echo "The Base64 Encoded text is: $output_text" ![Custom input - base64 encode and decode using script][7] -#### 示例 6:用 base64 进行简单的身份认证 +#### 示例 6:用 Base64 进行简单的身份认证 你可以运用上述的编码和解码方法,实现一个简单的身份验证系统。你可以让用户输入密码或密码,然后将密码存储在文件中。或者进行实时比较。 @@ -132,7 +133,7 @@ fi ![A Simple Authentication using bash base64][8] -### 结论 +### 总结 我希望你能通过这些示例,学会 [Base64][9] 编码和解码的基础知识。此外,你也了解到 Base64 的内部编码方式。如果这对你很有帮助,或你还需要有关此主题的其他教程,请在下面的评论区中告诉我吧。 @@ -143,7 +144,7 @@ via: https://www.debugpoint.com/bash-base64-encode-decode/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 8b78f5656a8e5b6e734269052eb46021ab121a04 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 17:19:03 +0800 Subject: [PATCH 158/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 https://linux.cn/article-15190-1.html 贡献您,成为了三星贡献者!感谢您一直以来的持续贡献! --- ... Give Your Linux Desktop a Halloween Makeover.md | 123 +++++++++--------- 1 file changed, 62 insertions(+), 61 deletions(-) rename {translated/tech => published}/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md (53%) diff --git a/translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md similarity index 53% rename from translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md rename to published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md index f6ae8d0d13..a257aa28d7 100644 --- a/translated/tech/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md +++ b/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md @@ -3,12 +3,11 @@ [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15190-1.html" 打造万圣节 Linux 桌面 - ====== 马上就到万圣节了,太棒啦! @@ -19,69 +18,71 @@ 可定制是 Linux 的一大优势,对 Linux 可进行的定制是多种多样且没有尽头的。之前,我们向你展示过 [如何让你的 Linux 看起来像 macOS][2] 的方法。今天,我将继续分享一些定制“万圣节”Linux 桌面的技巧。 -可以通过主题、图标、扩展、字体、conky 等一系列配置组合起来,来实现 Linux 桌面的定制。**_虽然,你可以在任何的 Linux 发行版和桌面环境中配置这些东西,但是仅在一个教程中展示所有 Linux 发行版和桌面环境的桌面定制方法,是不太可行的。_** +可以通过主题、图标、扩展、字体、Conky 等一系列配置组合起来,来实现 Linux 桌面的定制。_虽然,你可以在任何的 Linux 发行版和桌面环境中配置这些东西,但是仅在一个教程中展示所有 Linux 发行版和桌面环境的桌面定制方法,是不太可行的。_ 因此,在本文中,我将介绍 Ubuntu 与 GNOME 桌面环境的桌面定制方法。 -### 安装所有工具 +### 安装所需工具 你需要一些软件包和工具。在开始定制桌面前,请确保你安装了全部(或大多数)的软件包和工具。 -_你不必做出**所有**的桌面改变。但你做的越多,你的桌面也会美化得更好看。_ +_你不必做**所有**这些桌面改变。但你做的越多,你的桌面也会美化得更好看。_ -**安装 GNOME Tweaks 和 GMOME Extension Manager** +#### 安装 GNOME 优化工具和 GMOME 扩展管理器 -使用以下命令,来安装 GNOME Tweaks 工具和 GMOME 扩展管理器: +使用以下命令,来安装 GNOME 优化Tweaks 工具和 GMOME 扩展管理器Extensions manager: ``` -`sudo apt install gnome-tweaks gnome-extension-manager` +sudo apt install gnome-tweaks gnome-extension-manager ``` -在基于 KDE 的 Linux 系统中,没有可以更改 Linux 桌面外观的 Tweaks 工具。但是,你可以使用 Kvantum-Manager 这一应用程序来更改外观,请参考我在 [KDE 主题指南][3] 中的讨论。 +在基于 KDE 的 Linux 系统中,没有可以更改 Linux 桌面外观的优化工具。但是,你可以使用 Kvantum-Manager 这一应用程序来更改外观,请参考我在 [KDE 主题指南][3] 中的讨论。 -**安装 Conky(可选)** +#### 安装 Conky(可选) -你可以选择是否要安装 Conky ,因为现在管理 Conky 的项目已经不再维护了,因此继续使用 Conky 可能会有点棘手。但无论如何,我们用它来增加万圣节外观的感觉。 +你可以选择是否要安装 Conky ,因为现在 conky-manager 项目已经不再维护了,因此继续使用 Conky 可能会有点棘手。但无论如何,我们用它来增加万圣节外观的感觉。 ``` -`sudo apt install conky-all` +sudo apt install conky-all ``` -**安装 Neofetch 或者 shell color scripts** +#### 安装 Neofetch 或者 Shell-color 脚本 -这个步骤也可以由你自主选择。你可以选择使用 [neofetch][4],因为 neofetch 工具已经在 Ubuntu 仓库中了,你可以直接通过 `apt install` 安装,并且 neofetch 使用起来也很简单。 +这个步骤也可以由你自主选择。你可以选择使用 [neofetch][4],因为 `neofetch` 工具已经在 Ubuntu 仓库中了,你可以直接通过 `apt install` 安装,并且 `neofetch` 使用起来也很简单。 ``` -`sudo apt install neofetch` +sudo apt install neofetch ``` -[Shell-color scripts][5] 是另一个不错的选择。在 Arch 用户仓库(AUR)中有该软件包,Arch Linux 用户可以从 AUR 安装 Shell-color scripts。而在 Ubuntu 中,你则需要手动安装它。 +[Shell-color 脚本][5] 是另一个不错的选择。在 Arch 用户仓库(AUR)中有该软件包,Arch Linux 用户可以从 AUR 安装 Shell-color 脚本。而在 Ubuntu 中,你则需要手动安装它。 ``` -`git clone https://gitlab.com/dwt1/shell-color-scripts.git cd shell-color-scripts sudo make install` +git clone https://gitlab.com/dwt1/shell-color-scripts.git +cd shell-color-scripts +sudo make install ``` -**安装主题、图标、字体和壁纸工具** +#### 安装主题、图标、字体和壁纸工具 -我正在使用的是 [Sweet][6] 主题工具、[Beautiline][7] 图标软件包、[simple1e][8] 光标工具和 [灰色极简主义(Grey-Minimalistic)][9] conky 主题,下载好这些工具后,再解压包。你还要下载 [Creepster][10] 字体。 +我正在使用的是 [Sweet][6] 主题工具、[Beautiline][7] 图标软件包、[simple1e][8] 光标工具和 [Grey-Minimalistic][9] Conky 主题,下载好这些工具后,再解压包。你还要下载 [Creepster][10] 字体。 最后,从互联网上下载一张 [万圣节幽灵氛围的壁纸][11]。 -请注意!你即将要进行大量的定制和更改。要恢复到原来普通的外观,你可以通过撤销你所做的所有更改。一个更简单的方法是:创建一个管理员权限的新用户,并使用该新用户进行所有这些更改。这样,你的原始用户帐户和外观就不会受到影响。在万圣节结束后,你可以删除这个新增的用户。 +> 请注意!你即将要进行大量的定制和更改。要恢复到原来普通的外观,你可以通过撤销你所做的所有更改。一个更简单的方法是:创建一个管理员权限的新用户,并使用该新用户进行所有这些更改。这样,你的原始用户帐户和外观就不会受到影响。在万圣节结束后,你可以删除这个新增的用户。 现在,你有了所有定制桌面的工具和资源,是时候使用它们了! ### 安装并使用扩展 -打开 gnome-extensions 应用程序。在 Ubuntu 22.04 中,你可以在浏览菜单(Browse)下安装扩展。 +打开 gnome-extensions 应用程序。在 Ubuntu 22.04 中,你可以在浏览Browse菜单下安装扩展。 ![install gnome shell extensions user themes blur my shell and dash to dock][12] -在其他版本的 Ubuntu 和其他带有 GNOME 的发行版上,你可以通过浏览器上 [安装 shell 扩展][13],来安装扩展。为了实现打造万圣节桌面的目的,请安装以下扩展程序: +在其他版本的 Ubuntu 和其他带有 GNOME 的发行版上,你可以通过浏览器 [安装 shell 扩展][13],来安装扩展。为了实现打造万圣节桌面的目的,请安装以下扩展程序: -- [用户主题(User Themes)][14] -- [Dash 到程序坞(Dash to Dock)][15] -- [模糊我的 shell(Blur my Shell)][16] +- [User Themes][14] +- [Dash to Dock][15] +- [Blur my Shell][16] 此外,请确保所有的扩展都已启用。 @@ -89,35 +90,35 @@ _你不必做出**所有**的桌面改变。但你做的越多,你的桌面也 你需要将解压的主题文件夹复制,并粘贴到 `~/.themes` 目录下,将解压的图标和光标文件夹复制,并粘贴到 `~/.icons` 目录下。 -接下来,打开 GNOME Tweaks,并应用主题、图标和字体等设置,如下的截图所示。 +接下来,打开 GNOME 优化Tweaks 工具,并应用主题、图标和字体等设置,如下的截图所示。 ![set themes with gnome tweaks][17] -要[在 Ubuntu 中使用自定义字体][18],请右键单击你下载和解压的字体文件,然后选择使用字体管理器(Font manager)打开。我打算使用的是 [Creepster][10] 字体。 +要 [在 Ubuntu 中使用自定义字体][18],请右键单击你下载和解压的字体文件,然后选择使用字体管理器Font manager打开。我打算使用的是 [Creepster][10] 字体。 ![right click on font file and select open with fonts][19] -然后,点击右上角的安装(Install)按钮。 +然后,点击右上角的安装Install按钮。 ![install font using font manager application][20] -请注意:在某些系统中,点击安装按钮不会显示“已安装(installed)”的提示。在这种情况下,你只需关闭界面就行了,因为一旦你点击了安装按钮,该字体就已经安装上了。 +请注意:在某些系统中,点击安装按钮不会显示“已安装installed”的提示。在这种情况下,你只需关闭界面就行了,因为一旦你点击了安装按钮,该字体就已经安装上了。 -再重新打开 GNOME Tweaks,然后前往字体(Fonts)边栏,在这里,你可以更改各个文件类型的字体,如下图所示。 +再重新打开 GNOME 优化Tweaks 工具,然后前往字体Fonts边栏,在这里,你可以更改各个文件类型的字体,如下图所示。 ![change system fonts using gnome tweaks][21] -请注意,对于终端,需要单空格的字体。在这里,我使用了普通的字体,这里可能会让你稍稍有点迷失。 +请注意,对于终端,需要等宽字体。在这里,我使用了普通字体,这里可能会让你稍稍有点迷失。 ### 应用 Dash to Dock 扩展设置 -首先,你要使用 GNOME 扩展应用程序(GNOME Extensions application),来**关闭 Ubuntu Dock 扩展**(turn off the Ubuntu Dock extension)。 +首先,你要使用 GNOME 扩展应用程序,来**关闭 Ubuntu Dock 扩展**。 ![Disable Ubuntu Dock][22] -如果 Dash to 程序坞扩展(Dash to Dock extension)还尚未运行的话,请先运行它。 +如果 Dash to Dock 扩展还尚未运行的话,请先运行它。 -然后,右键单击在底部显示的 Dash to Dock 按钮,然后选择 Dash to Dock Settings。 +然后,右键单击在底部显示的 “Dash to Dock” 按钮,然后选择 “Dash to Dock Settings”。 ![select dash to dock settings][23] @@ -129,21 +130,21 @@ _你不必做出**所有**的桌面改变。但你做的越多,你的桌面也 之后,你需要减少程序坞的不透明度,我更喜欢完全透明的程序坞。 -所以,我将不透明度设置为**固定**(fixed),并使用滑块将其降至零,如下图所示。 +所以,我将不透明度设置为 固定fixed,并使用滑块将其降至零,如下图所示。 ![opacity setting for dash to dock][25] -### GNOME 终端(GNOME terminal)设置 +### GNOME 终端的设置 -你想得到的 Linux 桌面的主要变化是自定义**模糊且有一定透明度**的 neofetch 外观(或 shell color script 外观)。 +你想得到的 Linux 桌面的主要变化是自定义**模糊且有一定透明度**的 `neofetch` 外观(或 shell-color 脚本外观)。 -我们之前在 GNOME Tweaks 中应用单空格字体时,因此 GNOME 终端中的字体也会被更改。 +我们之前在 GNOME 优化Tweaks 工具中应用了等宽字体,因此 GNOME 终端中的字体也会被更改。 -首先,从**偏好设置**中创建一个新的配置文件。 +首先,从 偏好设置preferences 中创建一个新的配置文件。 ![select preferences from hamburger menu][26] -单击 `+` ,来创建一个新配置文件。输入文件的名称,并点击**创建**(create),如下所示: +单击 `+` ,来创建一个新配置文件。输入文件的名称,并点击 创建create,如下所示: ![create new profile in gnome terminal][27] @@ -151,17 +152,17 @@ _你不必做出**所有**的桌面改变。但你做的越多,你的桌面也 ![set transperancy to gnome terminal][28] -完成后,要将此配置文件设置为默认的配置文件,单击与新配置文件关联的三角形按钮,然后选择**设置为默认**(Set as Default)。 +完成后,要将此配置文件设置为默认的配置文件,单击与新配置文件关联的三角形按钮,然后选择 “设置为默认Set as Default”。 ![set new profile as default in gnome terminal][29] #### 设置模糊效果 -上述的步骤只会将终端变成一个透明的外壳。但是,如果你还需要有利于提高可见性的模糊效果,你需要进入到 Blur my Shell 扩展进行设置。 +上述的步骤只会将终端变成一个透明的 shell。但是,如果你还需要有利于提高可见性的模糊效果,你需要进入到 “Blur my Shell” 扩展进行设置。 ![blur my shell extension settings][30] -首先,进入到**应用程序**(Application)菜单。现在,确保终端已打开,并置于屏幕明显的位置。单击**添加**(Add)窗口,然后选择 gnome 终端窗口,以设置模糊效果。请注意:此功能还处于测试阶段,因此可能会出现一些小故障。 +首先,进入到 应用程序Application 菜单。现在,确保终端已打开,并置于屏幕明显的位置。单击 添加Add 窗口,然后选择 GNOME 终端窗口,以设置模糊效果。请注意:此功能还处于测试阶段,因此可能会出现一些小故障。 ![applying blur effect to selected windows][31] @@ -169,53 +170,53 @@ _你不必做出**所有**的桌面改变。但你做的越多,你的桌面也 #### 定制 Neofetch -Neofetch 的最佳功能之一是其可定制性。你可以用 Neofetch 中的多种方法,来调整外观。为了更有万圣节氛围,我选择了一个南瓜图像,来代替发行版的 logo。 +Neofetch 的最佳功能之一是其可定制性。你可以使用多种方法来调整 Neofetch 的外观。为了更有万圣节氛围,我选择了一个南瓜图像,来代替发行版的徽标。 Neofetch 提供以各种格式添加自定义图像的功能。为此,也有各种供支持的后端。在这里,我使用 jp2a 后端,它将使用 [转换成 ASCII 的图片][32]。 ``` -`neofetch --jp2a /path/to/your/image/file.png` +neofetch --jp2a /path/to/your/image/file.png ``` ![neofetch with custom backend][33] -上述命令将创建一个带有自定义图片的 Neofetch 实例。你可以将此命令写入你的 .bashrc 文件,以便永久放置该图片。 +上述命令将创建一个带有自定义图片的 Neofetch 实例。你可以将此命令写入你的 `.bashrc` 文件,以便永久放置该图片。 -_**不幸的是,这在我的 Wayland 实例上并不起作用。**_ +_不幸的是,这在我的 Wayland 实例上并不起作用。_ -#### 自定义 Shell Color Scripts +#### 自定义 Shell-Color 脚本 -如果你安装的是 Shell Color Scripts 工具,则会有多种 shell 脚本。要列出可用的脚本,请使用命令: +如果你安装的是 Shell Color 脚本工具,则会有多种 shell 脚本。要列出可用的脚本,请使用命令: ``` -``colorscript -l`` +colorscript -l ``` ![ghosts shell color script][34] -你可以通过将 `colorscript random` 写入你的 .bashrc 文件,以每次都获得一个随机的颜色脚本,或者通过将`colorscript -e `写入你的 .bashrc 文件,来得到一个特定的颜色脚本。 +你可以通过将 `colorscript random` 写入你的 `.bashrc` 文件,以每次都获得一个随机的颜色脚本,或者通过将`colorscript -e `写入你的 `.bashrc` 文件,来得到一个特定的颜色脚本。 ### 设置 Conky -我使用的是 Deviantart 的 [灰色极简主义(Grey-Minimalistic)][9] conky 主题。conky 主题的每种类型都有不同的安装方法。因此,如果你想要使用另一个 conky 文件的话,请遵循它的 README 文件中描述的设置方法,进行设置。 +我使用的是 Deviantart 的 [Grey-Minimalistic][9] conky 主题。Conky 主题的每种类型都有不同的安装方法。因此,如果你想要使用另一个 Conky 文件的话,请遵循它的 `README` 文件中描述的设置方法,进行设置。 -解压 conky 主题文件,里面有几个文件夹。首先,你需要安装关联的图标和字体,也就是说,使用字体管理器(font-manager)安装给定的字体。接着,将图标文件夹拷贝,并粘贴到 ~/.icons 文件夹。 +解压 Conky 主题文件,里面有几个文件夹。首先,你需要安装关联的图标和字体,也就是说,使用 字体管理器font-manager 安装给定的字体。接着,将图标文件夹拷贝,并粘贴到 `~/.icons` 文件夹。 ![copy and paste conky files to home directory][35] -然后,进入 conky 文件夹。确保你已 [启用查看隐藏文件][36],将 `.conkyrc` 文件和 `.conky-vision-icons` 文件复制到你的 home 目录,如上图所示。 +然后,进入 Conky 文件夹。确保你已 [启用查看隐藏文件][36],将 `.conkyrc` 文件和 `.conky-vision-icons` 文件复制到你的主目录,如上图所示。 -现在,启动conky,看起来就变成下图这样了。 +现在,启动 Conky,看起来就变成下图这样了。 ![conky theme applied][37] -将 conky 添加到 [自启动应用程序列表][38] 中,以便在每次开机时都能自启动。 +将 Conky 添加到 [自启动应用程序列表][38] 中,以便在每次开机时都能自启动。 ![add conky to the list of startup applications][39] ### 更改壁纸 -你快要完成啦。你现在唯一需要做的就是 [更改背景壁纸][40]。我相信你之前已经下载好了有万圣节幽灵气氛的壁纸,右键设置为壁纸(Set as Wallpaper)就好啦。 +快要完成啦。你现在唯一需要做的就是 [更改背景壁纸][40]。我相信你之前已经下载好了有万圣节幽灵气氛的壁纸,右键 “设置为壁纸Set as Wallpaper” 就好啦。 ![set image as wallpaper from nautilus][41] @@ -225,7 +226,7 @@ _**不幸的是,这在我的 Wayland 实例上并不起作用。**_ ![ubuntu halloween theme final look][42] -这个桌面对于万圣节来说够吓人了吗?你是怎么觉得的呢?在评论区中告诉我吧。 +这个桌面对于万圣节来说够吓人了吗?你觉得怎么样?在评论区中告诉我吧。 -------------------------------------------------------------------------------- @@ -234,7 +235,7 @@ via: https://itsfoss.com/linux-halloween-makeover/ 作者:[Sreenath][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 49562b1acb529978a9d550f57932923e7f8ada94 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 29 Oct 2022 17:24:44 +0800 Subject: [PATCH 159/925] R --- ...018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md index a257aa28d7..cd8a41894f 100644 --- a/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md +++ b/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md @@ -30,7 +30,7 @@ _你不必做**所有**这些桌面改变。但你做的越多,你的桌面也 #### 安装 GNOME 优化工具和 GMOME 扩展管理器 -使用以下命令,来安装 GNOME 优化Tweaks 工具和 GMOME 扩展管理器Extensions manager: +使用以下命令,来安装 GNOME 优化Tweaks 工具和 GMOME 扩展管理器Extensions manager: ``` sudo apt install gnome-tweaks gnome-extension-manager @@ -74,7 +74,7 @@ sudo make install ### 安装并使用扩展 -打开 gnome-extensions 应用程序。在 Ubuntu 22.04 中,你可以在浏览Browse菜单下安装扩展。 +打开 GMOME 扩展管理器Extensions manager。在 Ubuntu 22.04 中,你可以在浏览Browse菜单下安装扩展。 ![install gnome shell extensions user themes blur my shell and dash to dock][12] From 1d13fede3be34b77168ca2a6c3b284030c9492da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:34:58 +0800 Subject: [PATCH 160/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Gi?= =?UTF-8?q?ve=20your=20Terminal=20a=20Retro=20Look=20Using=20this=20Neat?= =?UTF-8?q?=20Application.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rminal a Retro Look Using this Neat Application.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 sources/tech/20221024.0 ⭐️⭐️ Give your Terminal a Retro Look Using this Neat Application.md diff --git a/sources/tech/20221024.0 ⭐️⭐️ Give your Terminal a Retro Look Using this Neat Application.md b/sources/tech/20221024.0 ⭐️⭐️ Give your Terminal a Retro Look Using this Neat Application.md new file mode 100644 index 0000000000..368c395c73 --- /dev/null +++ b/sources/tech/20221024.0 ⭐️⭐️ Give your Terminal a Retro Look Using this Neat Application.md @@ -0,0 +1,115 @@ +[#]: subject: "Give your Terminal a Retro Look Using this Neat Application" +[#]: via: "https://www.debugpoint.com/cool-retro-terminal/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Give your Terminal a Retro Look Using this Neat Application +====== + +**Want to give your Terminal a retro look? This guide contains instructions to help you to install Cool Retro Terminal application in all Linux distributions.** + +![Cool Retro Terminal][1] + +Cool Retro Terminal + +Have you ever wondered how you can mimic the look of those old CRT monitors displayed in your Linux terminal? + +Those CRT screens have their own fan base. Like the Apple 2 or the IBM 3278 terminals – they are really cool looking if you compare them to today’s 4K monitor displays. I am not saying 4K is bad, but sometimes legacy displays remind us of those bygone days. Enough of these ramblings. Let’s get started installing the app. + +### Cool Retro Term + +The application is free and open-sourced. And it is called [cool-retro-term][2]. It is lightweight and has many customization options with pre-set profiles, such as Apple 2, etc. It also gives you those static noises and scan-lines effects in your terminal. Cool, isn’t it? + +It is built in Qt and requires Qt 5.2 and higher. If you are using the latest Linux distributions, you should be good in terms of dependencies. + +![Green Scanlines Theme][3] + +Green Scanlines Theme + +### How to Download and Install Cool Retro Terminal + +#### Ubuntu, Linux Mint and other Debian-based distributions + +The following simple command will install this application in your Ubuntu and other related distributions. + +``` +sudo apt install cool-retro-term +``` + +#### Arch Linux + +This package is available in Arch User Repository AUR. If you do not have AUR enabled, enable it using [this guide][4] and then use the following commands to install it. + +``` +pacman -S cool-retro-term +``` + +#### Fedora, RHEL and other related distributions + +For Fedora and other related Linux, use the following command to install this app. + +``` +sudo dnf install cool-retro-term +``` + +#### Appimage + +A self-contained executable as AppImage is also available, which you can just download and run. No installation is required. Follow the below commands to do that. + +``` +wget https://github.com/Swordfish90/cool-retro-term/releases/download/1.1.1/Cool-Retro-Term-1.1.1-x86_64.AppImage +chmod a+x Cool-Retro-Term-1.1.1-x86_64.AppImage +./Cool-Retro-Term-1.1.1-x86_64.AppImage +``` + +Note: Version 1.2.0 onwards there are no AppImage build in the GitHub. + +### Configurations + +After the installation is finished, you can find the terminal application “Cool Retro Term” in the application menu. So, launch the application and enjoy. + +Remember, this is not overriding your default console/terminal application in your Linux distributions. It is a stand-alone console application. + +The configuration options are available via the Right Click context menu. + +The context menu gives you the following pre-sets. You can then configure each of them for colour, and appearance settings via the settings window. For example, if you want more transparency, contrast or more noise, ambient light or flickering – all of them can be configured from the below settings window via several options. + +And easily you can make your own theme. + +![Pre-loaded Themes in Cool Retro Term][5] + +Pre-loaded Themes in Cool Retro Term + +![Various Effects in Settings][6] + +Various Effects in Settings + +### Summary + +Cool Retro Terminal is an old tube-style terminal for Linux desktops that allows you to experience it as if you are sitting in front of a retro terminal. You may or may not like it, and one hardly uses it for a daily driver. But still, a nice-looking terminal to experience from time to time to get away from the mundane terminal. + +Do you like the retro look? What is your favourite theme? Let me know in the comment section below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/cool-retro-terminal/ + +作者:[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/2021/12/cool-retro-terminal-1024x576.jpg +[2]: https://github.com/Swordfish90/cool-retro-term +[3]: https://www.debugpoint.com/wp-content/uploads/2021/12/Green-Scanlines-Theme-1024x594.jpg +[4]: https://www.debugpoint.com/2021/01/install-yay-arch/ +[5]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pre-loaded-Themes-in-Cool-Retro-Term-1024x599.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/12/Various-Effects-in-Settings.jpg From 9b2163d149a5b6408ead881137380042879ebd69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:36:00 +0800 Subject: [PATCH 161/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Check=20C?= =?UTF-8?q?PU=20and=20HDD=20Temperature=20in=20Ubuntu=20and=20Other=20Linu?= =?UTF-8?q?x.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d HDD Temperature in Ubuntu and Other Linux.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md diff --git a/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..f431d04ade --- /dev/null +++ b/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md @@ -0,0 +1,119 @@ +[#]: subject: "How to Check CPU and HDD Temperature in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Check CPU and HDD Temperature in Ubuntu and Other Linux +====== + +**Wondering how you can check the CPU and HDD temperature in Ubuntu and other Linux on your desktop or laptop? Here’s a quick guide.** + +You do not actually require checking CPU or HDD temperature if you are an average user. But, if you are using very older hardware or a thin one, you may run into an overheating problem. Because these thin ones are tightly coupled together inside, and no matter how much heat transfer mechanism is implemented, it heats up. Therefore, it is essential to monitor the temperature of the hardware. However, modern Linux distributions are well capable of handling overheating situations via software sensors. + +### Steps for monitoring CPU and HDD temperature on Ubuntu + +#### Using terminal + +We are going to use a couple of packages to achieve the same. Open a terminal in your Ubuntu-based system and install the following. + +``` +sudo apt install hddtemp +sudo apt install lm-sensors +``` + +The [hddtemp][1] utility gives you the temperature of your optical hard disk drive as well as SSD (as per my test). And the [lm-sensors][2] package gives you temperature details from the CPUs and other sensors accessed via PCI ports. + +After installation, run the following from the terminal. You need to know your disk identifier for this – for example `/dev/sda` or `/dev/sdb`, etc. + +To find out the disk identifiers, you can use `fdisk`. + +``` +sudo fdisk -l +``` + +Then run below to check the HDD or SSD temperature. + +``` +sudo hddtemp +``` + +![HDD or SSD Temperature from terminal][3] + +HDD or SSD Temperature from terminal + +Checking the CPU temperature and other information requires an additional step. + +First, run the below command so that the utility of the sensor can detect the sensors in your system. + +``` +sudo sensors-detect +``` + +The above command might ask you some YES/NO questions. Keep pressing ENTER to choose the default options. + +Once done, run the below command to view the CPU and other interface temperatures. + +``` +sensors +``` + +![using sensors][4] + +using sensors + +#### Using GUI tools + +If you prefer a nice GUI which does all the above, you can install [psensor][5]. This utility works across Linux systems such as Ubuntu, Fedora, [Arch][6] and other variants. This gives you nice graphical plus tabular view of + +**Ubuntu and its derivatives** + +``` +sudo apt install psensor +``` + +**Fedora and RPM-based derivatives** + +``` +sudo dnf install psensor +``` + +**Arch, Manjaro and similar derivatives** + +``` +pacman -S psensor +``` + +Once installed, run via `psensor from the terminal or launch it from the`application menu. + +As you can see in the below screenshot, it gives you a nice view of all the important temperatures across CPU, GPU, and HDD with a nice graph. Using its preferences, you can tweak it as per your need. This lightweight utility can be helpful in many cases. + +![psensor running][7] + +psensor running + +So, these are some ways in which you can monitor CPU, GPU or HDD temperature in your Ubuntu and other Linux systems. Let me know if you know of any other ways to find these out using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://wiki.archlinux.org/title/Hddtemp +[2]: https://github.com/lm-sensors/lm-sensors +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/HDD-or-SSD-Temperature-from-terminal.png +[4]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor.png +[5]: https://wpitchoune.net/psensor/ +[6]: https://www.debugpoint.com/tag/arch-linux +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor-running-1024x465.png From b0f0fa724d8e6b5489bf2433b7f21c0bc8555fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:37:07 +0800 Subject: [PATCH 162/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.2=20=E2=AD=90=EF=B8=8F=20How=20to=20Clean=20U?= =?UTF-8?q?p=20Flatpak=20Apps=20to=20Clear=20Disk=20Space.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o Clean Up Flatpak Apps to Clear Disk Space.md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sources/tech/20221024.2 ⭐️ How to Clean Up Flatpak Apps to Clear Disk Space.md diff --git a/sources/tech/20221024.2 ⭐️ How to Clean Up Flatpak Apps to Clear Disk Space.md b/sources/tech/20221024.2 ⭐️ How to Clean Up Flatpak Apps to Clear Disk Space.md new file mode 100644 index 0000000000..49e1537a11 --- /dev/null +++ b/sources/tech/20221024.2 ⭐️ How to Clean Up Flatpak Apps to Clear Disk Space.md @@ -0,0 +1,145 @@ +[#]: subject: "How to Clean Up Flatpak Apps to Clear Disk Space" +[#]: via: "https://www.debugpoint.com/clean-up-flatpak/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Clean Up Flatpak Apps to Clear Disk Space +====== + +**Here’s how to clean up Flatpak apps to reclaim your precious disk space. Follow along. ** + +Flatpak (like Snap) packages run in sandbox mode. By design, it takes a considerable amount of disk space for an individual application, even if it is a smaller one. For example, a simple Test editor or a basic image annotator application can take up more than 100+ MB of storage space. + +It’s how Flatpak or even Snap operates fundamentally. It pulls all dependencies for an app and runs independently. The advantage of this design is – you do not need to worry about dependencies or updates. All you need to do is install and run. On the contrary, it takes up a huge amount of disk space. + +And if you are running Ubuntu, elementary OS or any distribution for a longer period, you would be surprised that Flatpak keeps taking up more space over time. + +Hence, in this guide, we will give you some commands you can run yourself to clean up flatpak apps. + +### Clean Up Flatpak + +#### Where Flatpak packages are installed? + +When you install a Flatpak package, it gets installed in `/var/lib/flatpak`. All the installed files, metadata, application files, and runtime files are contained in this directory. Also, the user installation directory contains Flatpak data – that is – `~/.local/share/flatpak` + +#### How to find out the size of Flatpak apps? + +There are several commands and parameters of “flatpak” which you can combine to get the desired result to list the applications, size and type of installation. Here are some examples. + +- Verify the size of `/var/lib/flatpak`. But as it is being used by all Flatpak apps plus runtimes, you may not be able to recover entirely. + +``` +du -h /var/lib/flatpak +``` + +![Size of var-lib-flatpak][1] + +Size of var-lib-flatpak + +- If you have [Disk Usage Analyzer][2], you can verify by simply visiting the above directories. + +![Disk Analyzer Shows Flatpak size][3] + +Disk Analyzer Shows Flatpak size + +You can use any of the following commands to view the size of installed flatpak packages. + +- View all the installed flatpak with name and installed size. + +``` +flatpak --columns=name,size list +``` + +![flatpak list example 1][4] + +flatpak list example 1 + +- List all installed flatpak with installation type, size and application ID. + +``` +flatpak --columns=app,name,size,installation list +``` + +![flatpak list example 2][5] + +flatpak list example 2 + +- View only the flatpak installed by you. + +``` +flatpak --columns=name,size --user list +``` + +![flatpak list example 3][6] + +flatpak list example 3 + +Remember, two types of flatpak may exist in your system. Some of them may be part of the OS itself. And some of them are installed by you. + +#### Commands to Clean up + +- Use the following command to uninstall flatpak packages that are not in use. This is a safe command which you can try. + +``` +flatpak uninstall --unused +``` + +![clean up flatpak using unused switch][7] + +clean up flatpak using unused switch + +Using the above command, I have freed up around 1GB+ in my test system. + +![var-lib-flatpak size is reduced][8] + +var-lib-flatpak size is reduced + +- If you want to uninstall a specific Flatpak package, use the following command. Change the application ID with the app name. You can find the app name in the above list size commands. + +``` +flatpak uninstall +``` + +- The following command removes all flatpak packages from your system. Try not to run it unless you are very sure what you are doing. This may break your system, depending on your configuration. + +``` +flatpak uninstall --all +``` + +Finally, there are some flatpak cache files in path `/var/tmp/flatpak-cache-*`. Although the size may not be significant. But you can still remove them. + +``` +sudo rm -rfv /var/tmp/flatpak-cache-* +``` + +For more details about flatpak commands, visit the [official guide][9]. And let me know, using the comment box below, whether this helped you to clean up some space. + +If you are looking to clean up Snap packages, the guide is available [here][10]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/clean-up-flatpak/ + +作者:[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/2021/10/Size-of-var-lib-flatpak.jpeg +[2]: https://help.gnome.org/users/baobab/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/10/Disk-Analyzer-Shows-Flatpak-size-1024x392.jpeg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/10/flatpak-list-example-1.jpeg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/flatpak-list-example-2-1024x316.jpeg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/10/flatpak-list-example-3.jpeg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/clean-up-flatpak-using-unused-switch.jpeg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/10/var-lib-flatpak-size-is-reduced.jpeg +[9]: http://flatpak list example 3 +[10]: https://www.debugpoint.com/2021/03/clean-up-snap/ From 9dc408313e6fa9eab4392a057ba51fd591d905d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:38:18 +0800 Subject: [PATCH 163/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221028.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20PostgreSQL=2015=20on=20Ubuntu=2022.04=20Step-by-Step.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md diff --git a/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md b/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md new file mode 100644 index 0000000000..9f1100811c --- /dev/null +++ b/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md @@ -0,0 +1,174 @@ +[#]: subject: "How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step" +[#]: via: "https://www.linuxtechi.com/how-to-install-postgresql-on-ubuntu/" +[#]: author: "Narendra K https://www.linuxtechi.com/author/narendra/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step +====== + +In this article, we will explain how to install PostgreSQL 15 database server on Ubuntu 22.04 (Jammy Jellyfish). + +PostgreSQL is a powerful, open-source object-relational Database Management System (DBMS). It’s been battle-tested for over 35 years which has earned it a strong reputation for reliability and performance. This feature-rich database is used by many tech giants, such as Apple, IMDB, Instagram, and so on. + +PostgreSQL supports large number of the SQL standard and is constructed to be extensible by users in many aspects. Some of the salient features include ACID transactions, foreign keys, subqueries, triggers, user-defined types, functions, etc. + +##### Prerequisites + +Before installing the PostgreSQL server, we must ensure that the system meets the following installation requirements: + +- Pre-Installed Ubuntu 22.04 +- A regular user with sudo rights +- An active internet connection +- At least 2 GB of RAM with an additional 512 MB of disk space. Please note that this is a minimal requirement for the demo environment. The actual hardware configuration will vary with data volume. + +Without any further delay, let’s deep dive into PostgreSQL 15 installation steps, + +### 1) Enable PostgreSQL Package Repository + +PostgreSQL 15 package is not available in the default package repository, so enable its official package repository using following commands. + +``` +$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' +$ wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null +``` + +To begin, let’s fetch the latest versions of the packages. We can achieve this using the apt update command as shown below: + +``` +$ sudo apt update +``` + +The above command will take a few seconds to complete. + +### 2) Install PostgreSQL 15 Database Server and Client + +The postgresql package installs the default version of the PostgreSQL database server whereas the postgresql-client package installs the client utility. + +Let’s install the PostgreSQL client and server using the below apt command: + +``` +$ sudo apt install postgresql postgresql-client -y +``` + +Next, let’s verify that the PostgreSQL service is up and running: + +``` +$ sudo systemctl status postgresql +``` + +Finally, check the PostgreSQL version using the psql command line utility: + +``` +$ psql --version +``` + +Here, we can see that the version of PostgreSQL is 15. + +### 3) Update PostgreSQL Admin User Password + +By default, we can connect to the PostgreSQL server without using any password. Let’s see this in action using the psql utility: + +``` +$ sudo -u postgres psql +postgres=# +``` + +In the above output, the postgres=#  prompt indicated the active connection with the PostgreSQL server. + +In this example, we have used the postgres user. This is an admin user of PostgreSQL and it gets created during the installation process. + +Allowing administrative access to the database without any password isn’t a good idea. So, let’s set the password for the postgres user: + +``` +postgres=# ALTER USER postgres PASSWORD 'demoPassword'; +``` + +The above SQL query sets the user password to demoPassword. Please note that, we have used a very simple password because this is a demo environment. However, the same is not recommended in the production environment. + +Let’s verify that the password has been set successfully. So first, terminate the current session with the server using the \q command. + +``` +postgres=# \q +``` + +Output of above commands, + +Now, let’s connect to the database server again: + +``` +$ psql -h localhost -U postgres +``` + +Let’s enter the demoPassword string as a password and now we are connected to the database. + +### 4) Configure PostgreSQL to Allow Remote Connections + +By default, PostgreSQL accepts connections from the localhost only. However, we can easily modify the configuration to allow connection from remote clients. + +PostgreSQL reads its configuration from the postgresql.conf file which is located in the /etc/postgresql//main/ directory. Here, the version indicates the major version of PostgreSQL. + +For example, in our case the full path of the file is /etc/postgresql/15/main/postgresql.conf. + +Now, open the postgresql.conf file in a text editor, uncomment the line that starts with the listen_addresses, and replace ‘localhost’ with ‘*’. + +This setting is located under the CONNECTIONS AND AUTHENTICATION section. After modification the file will look like this: + +Save and close the file. + +Next, edit the IPv4 local connections section of the pg_hba.conf file to allow IPv4 connections from all clients. Please note that this file is also located in /etc/postgresql/15/main/ directory. + +``` +$ sudo vi /etc/postgresql/15/main/pg_hba.conf +``` + +After modification the file will look like this: + +In the above configuration indicates to allow connection from the network 192.168.1.0/24 + +In case, Ubuntu firewall is running on your system then allow PostgreSQL 5432 port using following command, + +``` +$ sudo ufw allow 5432/tcp +``` + +##### Verifying Remote Connection + +Finally, restart the service and verify it’s up and running: + +``` +$ sudo systemctl restart postgresql +$ sudo systemctl status postgresql +``` + +Now, let’s try to access DB from remote client. + +``` +$ psql -h 192.168.1.192 -U postgres +``` + +In this example, 192.168.1.192 is the IP address of the PostgreSQL database server. + +Here we can see that we are able to access DB from the remote client. + +That’s all from this article.Please do post your queries and feedback in the below comments section. + +Read Also: [How to Set Static IP Address on Ubuntu Server 22.04][1] + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-postgresql-on-ubuntu/ + +作者:[Narendra K][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.linuxtechi.com/author/narendra/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/ From fe4dc91e5cc31ed68d6e9ebb143fb0039b335a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:39:15 +0800 Subject: [PATCH 164/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221029.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=207?= =?UTF-8?q?=20Best=20Open=20Source=20Web-based=20Email=20Clients.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 7 Best Open Source Web-based Email Clients.md | 241 ++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 sources/tech/20221029.0 ⭐️⭐️ 7 Best Open Source Web-based Email Clients.md diff --git a/sources/tech/20221029.0 ⭐️⭐️ 7 Best Open Source Web-based Email Clients.md b/sources/tech/20221029.0 ⭐️⭐️ 7 Best Open Source Web-based Email Clients.md new file mode 100644 index 0000000000..447635219d --- /dev/null +++ b/sources/tech/20221029.0 ⭐️⭐️ 7 Best Open Source Web-based Email Clients.md @@ -0,0 +1,241 @@ +[#]: subject: "7 Best Open Source Web-based Email Clients" +[#]: via: "https://itsfoss.com/open-source-web-based-email-clients/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +7 Best Open Source Web-based Email Clients +====== + +Email services are here to stay, even if decentralized tech takes over the internet. + +However, with big tech trying to control everything new aspect of emerging technologies, how can you take charge of your email service? + +Whether a business/enterprise or an individual, a self-hosted open-source webmail service is always an option worth considering. Your server, your digital infrastructure, and your email service platform. This way, you do not have to rely on a vendor or a third party to manage your email services. You do it your way. + +### Why Should You Self-Host an Email Service? + +![best opensource web based email clients 1][1] + +It is **not a one-click process** to self-host a service, which you can use as a web-based email client or sync with an email app. + +So, why bother? Can’t you use some of the [best privacy-focused email services][2] like [Proton Mail][3] and Tutanota? + +Well, yes, you can. + +But, for businesses and enterprises, some advantages of self-hosting webmail include: + +- **The user gets total control over email data.** +- **You get the ability to build your infrastructure that meets the requirements of your email services.** +- **It provides scalability for individuals, small businesses, and enterprises.** +- **You can create unlimited email accounts and email aliases.** +- **Users can easily apply advanced filters and other protection mechanisms without paying for a subscription.** + +Here, I list some of the best options that you can pick. + +### 1. Roundcube + +![roundcube screenshot][4] + +**Key Highlights:** + +- Good fit for desktop use +- Actively maintained +- Available with most server hosting providers +- Customizable UI +- PGP Encryption + +Roundcube is a popular PHP-based webmail software that provides all the essential features in a simple user interface. + +With most of the server hosting providers, you already get it pre-installed. You have to configure it for your domain or create email accounts to get started. + +You can also install it and customize it on your server. + +[Roundcube][5] + +### 2. Cypht + +![cypht inbox interface][6] + +**Key Highlights:** + +- Lightweight +- Modular + +Cypht is an interesting webmail solution that provides a combined view of multiple email accounts. + +While it is built with a modular approach, it is easy to add functionalities to your experience with plugins. + +Unlike others, you can also use it to add RSS feeds and utilize it as a newsreader. + +[Cypht][7] + +### 3. Squirrelmail + +![squirrelmail][8] + +**Key Highlights:** + +- Lightweight +- Stable +- PGP Encryption plugin support + +A classic PHP-based with IMAP and SMTP protocol support. It does not include many features, but it gets the basics right if you want lightweight and stable webmail software to host. + +While it looks like a barebone implementation, it has been around for a long time with features like address book, folder manipulation, and MIME support. + +It also comes bundled in with most web hosting providers. + +[Squirrelmail][9] + +### 4. Rainloop + +![rainloop][10] + +**Key Highlights:** + +- No database required +- Simple user interface +- Lightweight + +Rainloop is a straightforward email solution that supports IMAP and SMTP protocols. + +It also supports OpenPGP encryption. Unlike some others, it does not require a database. Direct access to the mail server is maintained without requiring storing anything locally on the web server. + +You can extend certain functionalities thanks to plugin support. + +[Rainloop][11] + +### 5. Horde + +![horde screeshot][12] + +**Key Highlights** + +- Bundled with web hosting providers +- Simple and feature-rich + +Horde is an open-source groupware webmail software that comes bundled with various web server hosting providers. It supports IMAP. + +I usually prefer Horde when accessing the webmail for my domains, which has never disappointed me. It offers a simple and effective user interface and many essential features. + +Like others, it is a PHP-based framework that makes it easy for developers to work with. + +[Horde][13] + +### 6. SOGo + +![sogo][14] + +**Key Highlights:** + +- Material design UI +- Outlook support +- Online demo available + +SOGo is a modern open-source solution that features Google’s material design UI with its email server. + +It includes support for calendar and address books while providing a friendly AJAX-based web interface. + +You also get support for Microsoft Outlook and ActiveSync, which lets you synchronize emails, contacts, events, and tasks seamlessly. An online demo is available for you to try. If it sounds good, you can download it for your server. + +Explore more about it on its [GitHub page][15]. + +[SOGo][16] + +### 7. Afterlogic WebMail Lite + +![afterlogic webmail][17] + +Key Highlights: + +- Enterprise support options are available +- Social sign-in support +- OpenPGP Encryption + +An interesting open-source webmail with plugin support. + +It supports authentication using external services as well. For instance, you can use your Google account to sign in to your email account. + +While you get all the features and OpenPGP encryption support with the open-source edition, you can choose to use it commercially as well. + +Additionally, you can opt for the pro version to get technical support, a priority fix, a personal calendar, a mobile version, and the ability to add multiple IMAP accounts. + +[Afterlogic WebMail Lite][18] + +### Interesting Mentions + +Several open-source projects are under active development that you can experiment with. + +Of course, we do not recommend using them for business or personal use. You can try them out to see if you want to contribute to their development in some way. + +I would like to mention a couple of such mail service projects. + +#### Mailpile + +While it deserves a spot in the list above, the development for [Mailpile][19] has halted until Python3 rewrite is complete. + +![mailpile][20] + +It is a fast and modern open-source webmail with encryption and privacy-centric features. + +#### Cuttlefish + +![cuttlefish][21] + +[Cuttlefish][22] is a free and open-source transactional email service. It aims to be an alternative to proprietary services like [SendGrid][23]. + +It is in its early stages of development. + +#### Pinbox + +A self-hosted webmail solution that gets its inspiration from Google Inbox. + +[Pinbox][24] a work in progress and needs a few prerequisites to make it work. + +### Wrapping Up + +Squirrelmail, Horde, and Roundcube remain of the most popular options that can be easily accessed with most hosting providers. + +Of course, these options are not always modern looking or have features like Google Workspace or even Zoho but you get enough to do the necessary emailing. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/open-source-web-based-email-clients/ + +作者:[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/10/best-opensource-web-based-email-clients-1.png +[2]: https://itsfoss.com/secure-private-email-services/ +[3]: https://itsfoss.com/recommends/protonmail +[4]: https://itsfoss.com/wp-content/uploads/2022/10/roundcube-screenshot.png +[5]: https://roundcube.net +[6]: https://itsfoss.com/wp-content/uploads/2022/10/cypht_inbox_interface.png +[7]: https://cypht.org/index.html +[8]: https://itsfoss.com/wp-content/uploads/2022/10/squirrelmail.jpg +[9]: https://www.squirrelmail.org/ +[10]: https://itsfoss.com/wp-content/uploads/2022/10/rainloop.png +[11]: https://www.rainloop.net +[12]: https://itsfoss.com/wp-content/uploads/2022/10/horde-screeshot.png +[13]: https://www.horde.org +[14]: https://itsfoss.com/wp-content/uploads/2022/10/sogo.png +[15]: https://github.com/Alinto/sogo/ +[16]: https://www.sogo.nu +[17]: https://itsfoss.com/wp-content/uploads/2022/10/afterlogic-webmail.jpg +[18]: https://afterlogic.org/webmail-lite +[19]: https://www.mailpile.is +[20]: https://itsfoss.com/wp-content/uploads/2022/10/mailpile.png +[21]: https://itsfoss.com/wp-content/uploads/2022/10/cuttlefish.png +[22]: https://cuttlefish.io +[23]: https://sendgrid.com +[24]: https://github.com/msp301/pinbox From 556b17bc0e03cac6c457b0b2ed5b0ed4a10c0ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:39:55 +0800 Subject: [PATCH 165/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Upgrade?= =?UTF-8?q?=20Python=20Packages=20with=20Pip.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Upgrade Python Packages with Pip.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md diff --git a/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md new file mode 100644 index 0000000000..a411e29b73 --- /dev/null +++ b/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md @@ -0,0 +1,108 @@ +[#]: subject: "How to Upgrade Python Packages with Pip" +[#]: via: "https://itsfoss.com/upgrade-pip-packages/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Upgrade Python Packages with Pip +====== + +When was the last that you updated Python packages installed via Pip? Most of the users tend to forget that those packages also need to be updated, as just updating the system repository is not going to work here. + +So let’s take a moment and see how to update old Python packages with Pip. + +### How to use pip to upgrade Python packages + +[Pip (Pip Installs Packages)][1] is a command line utility to manage python packages. You can think of this as how we use apt to manage packages in Ubuntu and Debian. + +So let’s dive deep into how you can use this fab utility to manage everything related to Python packages. + +#### 1. List outdated packages + +Listing the outdated packages is the best idea to plan how you want to update packages as not many want to update their entire library of packages at once and wants to be selective. + +To list outdated packages of Python, you just have to pair `pip` command with `list` option and `--outdated` flag as shown: + +``` +pip list --outdated +``` + +![outdated packages][2] + +#### 2. Upgrade a specific package + +Once you get the list of the packages that need to be updated, you can be selective as I mentioned earlier, and to update a specific package, you’ll need to follow the given command syntax: + +``` +pip install package_name -U +``` + +For example, I want to upgrade the package named `anime-api` to the most recent version, so I’ll be using the given command: + +``` +pip install anime-api -U +``` + +![update anime api][3] + +#### 3. Upgrade package to specific version + +It is not necessary to use only the most recent version of the software (cough [Debian][4] cough) and if you are in need of using packages to a specific version that may or may not be the most recent software, can be done using the given command syntax: + +``` +pip install --upgrade == +``` + +So I want to update the package named `xdg` to version 5.1 which is one point release behind the most recent build so my command would be: + +``` +pip install --upgrade xdg==5.1 +``` + +![upgrade xdg to specific iteration][5] + +#### 4. Upgrade every package using Pip + +**NOTE: I do not recommend upgrading every package at once as most of the time, the dependencies are too complex to be handled.** + +To upgrade every python package, you’d need to follow the given command: + +``` +pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U +``` + +![upgrade everything][6] + +The above command utilizes [xargs][7]. First, it will grab the packages that are needed to be updated and then perform `pip3 install -U` command over each package. + +And I used pip3 here instead of pip. In Ubuntu 22.04 and later, both pip and pip3 commands are available. + +### Wrapping Up + +Upgrading everything at once has never been a good idea in the case of pip. And I found myself in a state of broken dependencies so make sure you know what you will have. + +And if you have any queries, feel free to ask in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/upgrade-pip-packages/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/install-pip-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/09/outdated-packages.png +[3]: https://itsfoss.com/wp-content/uploads/2022/09/update-anime-api.png +[4]: https://www.debian.org/ +[5]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-xdg-to-specific-iteration.png +[6]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-everything.png +[7]: https://linuxhandbook.com/xargs-command/ From eb2233241f171ce7a08f79f930ef0c98c80dea13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:40:23 +0800 Subject: [PATCH 166/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221029.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Se?= =?UTF-8?q?t=20up=20a=20Matrix=20to=20Discord=20bot.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...9.1 ⭐️⭐️ Set up a Matrix to Discord bot.md | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 sources/tech/20221029.1 ⭐️⭐️ Set up a Matrix to Discord bot.md diff --git a/sources/tech/20221029.1 ⭐️⭐️ Set up a Matrix to Discord bot.md b/sources/tech/20221029.1 ⭐️⭐️ Set up a Matrix to Discord bot.md new file mode 100644 index 0000000000..a101c437be --- /dev/null +++ b/sources/tech/20221029.1 ⭐️⭐️ Set up a Matrix to Discord bot.md @@ -0,0 +1,174 @@ +[#]: subject: "Set up a Matrix to Discord bot" +[#]: via: "https://opensource.com/article/22/10/matrix-discord-bot" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Set up a Matrix to Discord bot +====== + +Run a Python Matrix bot to bridge chat between a Matrix room and a Discord channel. + +Matrix is a popular [open source chat application][1] that makes it easy to chat securely with people all over the world. Similarly, Discord is a non-open source chat application that's also popular with many online communities. Discord, like Matrix, provides a chat client for all major platforms both mobile and desktop, so it's perfectly usable on Linux. However, it's not open source and so, given the choice, you might prefer to use Matrix. The good news is that when not given a choice for any reason, you can **also** use Matrix to interface with Discord by running a Matrix-to-Discord bridge. This article shows you how to set up and run a Python Matrix bot to bridge chat between a Matrix room and a Discord channel. + +### Requirements + +The bot demonstrated in this article is a "non-puppeting" bridge, meaning that it just copies ingoing and outgoing messages on one platform and sends it to the other. There are more advanced modes available, but those tend to require a self-hosted Matrix instance. The procedure for setting up the bot, however, is similar in both cases, so whether you're setting up a bridge service for your self-hosted Matrix server or just a puppeting bot for public instances, I assume you have at least: + +- A Matrix account and a Matrix client such as [Element][2]. +- A Discord account. +- A Linux or BSD server that can run the Python3 bot. I use a [Rev. 1 Raspberry Pi][3] with just a 700mHZ processor and 256 MB RAM, running NetBSD. You can run the bot locally, if you prefer, but I find it more convenient to run it as a persistent service so I don't miss messages that happen while I'm away. + +### Get the bot + +Download or clone [matrix-discord-bridge][4]. + +Change into its `bridge` directory and install its dependencies using [pip][5]: + +``` +$ python3 -m pip install-r requirements.txt +``` + +Run the bot to generate an empty configuration file: + +``` +$ python3 ./bridge.py +``` + +You now have a file called `config.json` in your current directory. It contains six key and value pairs. The rest of this article demonstrates how to obtain these values, but first an overview: + +The top three are for Matrix. + +- **homeserver**: The Matrix server you log in to +- **username**: Your Matrix login name +- **password**: Your Matrix password + +Two are for Discord: + +- **token**: A bot developer token obtained from Discord. +- **discord_cmd_prefix**: A character sequence you want to use as a shortcut for sending the bot commands through Discord. + +And the final one is for both: + +- **bridge**: The Discord "channel" ID and the Matrix "room" ID that you're bridging. This can contain more than one channel and room pair, so you can use just one bot to bridge several rooms. + +### Set up Matrix + +All you have to do to set up the Matrix side is open a Matrix account for your bot. + +Next, you need the ID of the room you want to bridge to Discord. To get a room ID, right-click on the room icon in the left panel of Element and select **Copy Link**. In the URL you've just copied, there's a semicolon. The room ID is the part on left of the semicolon, and the home server of that room is to the right. For example, suppose this is the URL you just copied: + +``` +https://matrix.to/#/!DEADBEEFzzzzABCDEF:matrix.org?via=matrix.org +``` + +The room ID is `!DEADBEEFzzzzABCDEF` and the home server is `matrix.org`. + +You can now add your Matrix details to the `config.json` file. For example: + +``` +"homeserver": "https://matrix.org", + "username": "@mybot:matrix.org", + "password": "myBadPassword1234", + "token": "", + "discord_cmd_prefix": "", + "bridge": { + "": "!DEADBEEFzzzzABCDEF:matrix.org" + } +} +---- +``` + +### Get a Discord token + +Assuming you already have an account on Discord, open a web browser and navigate to [discordapp.com/developers/applications][6]. Once you've logged in, click the **New Application** button in the **Applications** tab. + +Give your bot a name. For this example, I use `mybot`. + +After you've defined a bot, click on it and find the **Bot** category in the menu on the left. + +In the **Bot** panel, click the **Add Bot** button. Discord adds your bot to the panel, alerting you that "A wild bot has appeared!" in a message box. Under the name of your bot, there's a link to click to reveal your bot's token. Click the link and copy the token into your config file. + +``` +"token": "07c63.fb2823cG759.b20_852f337a6551bc", +``` + +### Set the bot command + +Choose a sequence of characters you want to use to issue commands to the bot in Discord. In the instance of a simple bridge, you may not have any commands you need to issue, so this value probably doesn't actually matter. I set it to `!b` but I've never used it. + +``` +"discord_cmd_prefix": "!b", +``` + +### Add your bot to Discord + +Now you must add your bot to the channel you want it to bridge. + +- Select **OAuth2** from the menu on the left, and then **URL Generator**.![Select URL Generator under the OAuth2 menu item.][7] +- In the **Scopes** section, select **bot** (and only **bot**). In the **Bot Permissions** section that appears under the **Scopes** section, activate all options under **Text Permissions**. +- Copy the URL displayed at the bottom of the panel, in the **Generated URL** field. + +Navigate to the URL you just copied, and add the bot to the channel. + +You're done with the Discord web interface, but now there's one more configuration option you need from the Discord app. + +### Get the Discord channel ID + +In **User Settings** of Discord (it's the gear icon next to your name on the desktop app), select **Advanced**. In the **Advanced** panel, activate **Developer Mode**. + +![Activate Developer Mode with the toggle switch in the top right corner of the Advanced panel.][8] + +With developer mode active, go to the channel you want to bridge. For instance, you might want to bridge Matrix to the **zombie apocalypse** channel on the **example** Discord server. First, join the **example** Discord server. Then right-click on text channel **#zombie apocalypse**, and select **Copy ID**. + +![Copy ID is at the bottom of the context menu][9] + +Paste the channel ID into the config file as the first value for **bridge**. Your full config file now contains: + +``` +"homeserver": "https://matrix.org", + "username": "@mybot:matrix.org", + "password": "myBadPassword1234", + "token": "07c63.fb2823cG759.b20_852f337a6551bc", + "discord_cmd_prefix": "!b", + "bridge": { + "1030287944604463185": "!DEADBEEFzzzzABCDEF:matrix.org" + } +} +``` + +### Bridge + +Your bot is now acting as a bridge, at least in theory. Some Discord channels start new users in a muted state, and they must be granted special permissions to interact. If the Discord channel you're bridging is strictly managed, then you may need to speak to a moderator or administrator and request special permissions for your bot. + +For your first attempt at setting this up, it's easiest to bridge a Discord server to a Matrix room that you control. That way, you can confirm that it works when unrestricted. After you've confirmed functionality, try adding it to a restricted channel. + +### Open source bridges another gap + +Open source does a lot of heavy lifting, including in the integration space. It's to the credit of both Matrix and Discord that they provide a robust bot ecosystem that's easy to learn and easy to use. It's to the credit of some resourceful open source developers that the two can be bridged. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/matrix-discord-bot + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/alternatives/slack +[2]: https://element.io +[3]: https://opensource.com/article/19/3/netbsd-raspberry-pi +[4]: https://github.com/git-bruh/matrix-discord-bridge +[5]: https://opensource.com/article/19/11/python-pip-cheat-sheet +[6]: https://discordapp.com/developers/applications/ +[7]: https://opensource.com/sites/default/files/2022-10/discord-oauth2.webp +[8]: https://opensource.com/sites/default/files/2022-10/discord-developer-mode.webp +[9]: https://opensource.com/sites/default/files/2022-10/discord-channel-id.webp From 1821ca16e6d1256fbed1f0f18689329c3c5c83ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:41:30 +0800 Subject: [PATCH 167/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221028.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wr?= =?UTF-8?q?ite=20documentation=20like=20you=20develop=20code.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Write documentation like you develop code.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md diff --git a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md new file mode 100644 index 0000000000..eb64f1fb7a --- /dev/null +++ b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md @@ -0,0 +1,85 @@ +[#]: subject: "Write documentation like you develop code" +[#]: via: "https://opensource.com/article/22/10/docs-as-code" +[#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Write documentation like you develop code +====== + +Don't want documentation to be an afterthought? Try a new approach. + +Many engineers and craftspeople are particular about their tools. To do a job well, you need the best tools and the skills to use them. The best tools in software development can be very powerful when applied to other kinds of digital creation. The [Docs as Code][1] approach is a great example. Docs as Code entails writing documentation using the same tools and workflows used for developing code. Proponents of Docs as Code report that this method leads to better documentation while easing the workload of the people who write it. + +### Text formats and source control + +The most significant adjustment when moving from a more traditional documentation platform to the Docs as Code approach is that the content is stored in a text-based markup format. This change makes all the tools for text-based materials available for generating documentation. Whether you choose [DocBook][2], [Markdown][3], or another markup language, the transition from using just one tool to using a standard format and a variety of tools is a big change. + +Finding tools that support your workflow is really important. Many developers use their [coding editors][4] when working on Docs as Code projects. Since they are already advanced-level users with that tool, it works well for them. Finding tooling that fits the other professionals on the team, such as technical writers, editors, information architects, and documentation product owners, may take more effort. A few options to consider: + +- One of the many [good markdown editors][5] available +- Coding editors with good preview tools, which make them approachable for non-coders +- The web interfaces of popular Git hosting services, especially for occasional contributors + +Once content is safely in a markup format, the project can use source control such as [Git][6], an open source tool with many more features than most documentation platforms can claim: + +- A clear and detailed version history of who changed what and when. If you have good commit message culture, you may even be able to learn why the change was made. +- Easy parallel change processes. Working in branches in Git means everyone can make all the changes they want to and combine them at the end. +- Advanced collaboration and review tooling. All the source-control platforms are designed to review each change in detail and have as much discussion as needed until everyone is confident that the change can go ahead. +- Automated quality checks such as spellchecking and link checking. This saves time and catches errors that might otherwise be missed. + +Source control has many benefits. Just keep in mind that if you're new to source control, it has a learning curve. There are some excellent [learning resources][7] and [articles for writers][8] that can help. You can also let your curious documentarians find the learning materials that work for them rather than asking your engineers to teach them. (Ask me how I learned this—the hard way of course!) + +### Pull requests and review cycles + +All source-control platforms are designed around the concept of pull requests, sometimes also called merge requests. Someone, or some team, puts together a set of changes and then requests that the changes are pulled into the main project. In many ways, working with many changes at once is easier in documentation than in code. Changing one article in one place in documentation has fewer side effects than when you change code and find that there were several other sections depending on it. + +The most powerful collaboration tool is the [diff][9], which shows the difference between old and new versions in a way that's easy to follow. There are many versions of this tool available to make the comparison view easier to look at: side-by-side, inline, or even as rendered markdown rather than just text. Each team member can use the tool or tools that work best for them. For example, the web view is commonly used to look at a small change, but for something bigger I would want to look at it locally using `vimdiff` or [Meld][10]. + +Review comments can be added to the change as a whole or to individual lines in the proposed change. Some projects adopt a maximum line length, called a hard wrap, or start each sentence on a new line to make it easier to attach comments to specific parts of a block of text. Further changes and comments can be added until the review process is complete and the change is accepted. Since the pull requests are shown in a queue on the repository for the project, this is a good way to show what's in progress and what needs review attention. The tools make it easy for reviewers to add their thoughts. In particular, if you are working with technical audiences it can be easier to get reviews from these folks via the tools they use daily. + +### Continuous integration and deployment + +Having the source of your documentation available in plain text has many benefits, such as making it easy to find every occurrence of something that needs changing and using existing tools such as [wc][11], [grep][12], or `tree` to work with potentially large document sets. When you combine this with a source-control platform, even more existing tools become available, and they're all open source. + +One big workflow improvement is the ability to have continuous deployment in place. This simply means that when a pull request is merged into the main project, the project is immediately and automatically deployed. If the change is good enough to be accepted into the project, it is also good enough to be live on the documentation site, helping your readers. Typically, continuous deployment is set up with either a separate automation server, such as [Jenkins][13], or [Git Hooks][14]. Either way, the text-based markup is combined with the Docs as Code platform (usually a static site generator such as [Hugo][15] or [Sphinx][16]) to produce the documentation website, which is then deployed. + +The same automation can be used before deployment to add some excellent checks to the pull requests before they are merged. On a coding project, it's common to run code linters, tests, and other quality checks that a machine can do itself. Documentation projects can get the same treatment, with tools like [Vale][17] to do prose linting and check for correct heading styles, spellings, and so on. It's also useful to add other tools here, such as a link checker to make sure all the links go somewhere valid. + +### Code tools for docs workflows + +The tools known and loved by engineers are very good tools, but they are useful for all sorts of other projects too. For documentation, they contribute valuable efficiency, especially when you need your documentation to be moving at the same speed as your development teams. All the tools discussed here are open source, so you can try them for yourself, deploy them for a huge global team, or anything in between. May your docs process be as smooth as any code process. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/docs-as-code + +作者:[Lorna Mitchell][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/lornajane +[b]: https://github.com/lkxed +[1]: https://www.writethedocs.org/guide/docs-as-code +[2]: https://opensource.com/article/17/9/docbook +[3]: http://commonmark.org +[4]: https://opensource.com/article/20/12/eclipse +[5]: https://opensource.com/article/21/10/markdown-editors +[6]: https://opensource.com/downloads/cheat-sheet-git +[7]: https://opensource.com/article/18/1/step-step-guide-git +[8]: https://opensource.com/article/19/4/write-git +[9]: https://opensource.com/article/21/11/linux-diff-patch +[10]: https://opensource.com/article/20/3/meld +[11]: https://www.redhat.com/sysadmin/linux-wc-command?intcmp=7013a000002qLH8AAM +[12]: https://opensource.com/downloads/grep-cheat-sheet +[13]: https://www.jenkins.io +[14]: https://www.redhat.com/sysadmin/git-hooks +[15]: https://opensource.com/article/18/3/start-blog-30-minutes-hugo +[16]: https://opensource.com/article/19/11/document-python-sphinx +[17]: https://vale.sh From f2f82bb7979a8ecf5e1c6a7cab4a48f6a99fc3ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:42:40 +0800 Subject: [PATCH 168/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?ick=20Lua=20into=20becoming=20an=20object-oriented=20language.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...k Lua into becoming an object-oriented language.md | 150 ++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 sources/tech/20221027.1 ⭐️⭐️ Trick Lua into becoming an object-oriented language.md diff --git a/sources/tech/20221027.1 ⭐️⭐️ Trick Lua into becoming an object-oriented language.md b/sources/tech/20221027.1 ⭐️⭐️ Trick Lua into becoming an object-oriented language.md new file mode 100644 index 0000000000..9466a33ab1 --- /dev/null +++ b/sources/tech/20221027.1 ⭐️⭐️ Trick Lua into becoming an object-oriented language.md @@ -0,0 +1,150 @@ +[#]: subject: "Trick Lua into becoming an object-oriented language" +[#]: via: "https://opensource.com/article/22/10/object-oriented-lua" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Trick Lua into becoming an object-oriented language +====== + +Lua isn't an object-oriented programming language. Here's a hack to use a Lua table as a stand-in for an object-oriented class. + +Lua isn't an object-oriented programming language, but a scripting language utilizing C functions and a C-like syntax. However, there's a cool hack you can use within Lua code to make Lua act like an object-oriented language when you need it to be. The key is in the Lua table construct, and this article demonstrates how to use a Lua table as a stand-in for an object-oriented class. + +### What is object-oriented programming? + +The term "object-oriented" is a fancy way of describing, essentially, a templating system. Imagine you're programming an application to help users spot and log zombies during a zombie apocalypse. You're using an object-oriented language like C++, [Java][1], or [Python][2]. You need to create code objects that represent different types of zombies so the user can drag them around and arrange them on a map of the city. Of course a zombie can be any number of things: dormant, slow, fast, hungry, ravenous, and so on. That's just textual data, which computers are good at tracking, and based on that data you could even assign the virtual "object" a graphic so your user can identify which general type of zombie each widget represents. + +You have a few options for how you can resolve this requirement for your application: + +- Force your users to learn how to code so they can program their own zombies into your application +- Spend the rest of your life programming every possible type of zombie into your application +- Use a code template to define the attributes of a zombie object, allowing your users to create just the items they need, based on what zombie they've actually spotted + +Obviously, the only realistic option is the final one, and it's done with a programming construct called a class. Here's what a class might look like (this example happens to be Java code, but the concept is the same across all object-oriented languages): + +``` +publicclass Zombie { +int height; +int weight; +[String][3] speed; +[String][3] location; +} +``` + +Whether or not you understand the code, you can probably tell that this is essentially a template. It's declaring that when a virtual "object" is created to represent a zombie, the programming language assigns that object four attributes (two integers representing height and weight, and two words representing the movement speed and physical location). When the user clicks the (imaginary) **Add item** button in the (imaginary) application, this class is used as a template (in programming, they say "a new instance" of the class has been created) to assign values entered by the user. Infinite zombies for the price of just one class. That's one of the powers of object-oriented programming. + +### Lua tables + +In Lua, the table is a data type that implements an associative array. You can think of a table in Lua as a database. It's a store of indexed information that you can recall by using a special syntax. Here's a very simple example: + +``` +example = {} + +example.greeting = "hello" +example.space = " " +example.subject = "world" + +print(example.greeting .. + example.space .. + example.subject) +``` + +Run the example code to see the results: + +``` +$ lua ./example.lua +hello world +``` + +As you can tell from the sample code, a table is essentially a bunch of keys and values kept within a single collection (a "table"). + +### Lua metatable + +A metatable is a table that serves as a template for a table. You can designate any table as a metatable, and then treat it much as you would a class in any other language. + +Here's a metatable to define a zombie: + +``` +Zombie = {} + +function Zombie.init(h,w,s,l) + local self = setmetatable({}, Zombie) + self.height = h + self.weight = w + self.speed = s + self.location = l + return self +end + +-- use the metatable + +function setup() + z1 = Zombie.init(176,50,'slow','Forbes & Murray Avenue') +end + +function run() + print(z1.location .. ": " .. + z1.height .. " cm, " .. z1.weight .. " kg, " .. z1.speed) +end + +setup() +run() +``` + +To differentiate my metatable from a normal table, I capitalize the first letter of its name. That's not required, but I find it a useful convention. + +Here's the results of the sample code: + +``` +$ lua ./zombie.lua +Forbes & Murray Avenue: 176 cm, 50 kg, slow +``` + +This demonstration doesn't entirely do metatables justice, because the sample code creates just a single object with no interaction from the user. To use a metatable to satisfy the issue of creating infinite items from just one metatable, you would instead code a user input function (using Lua's `io.read()` function) asking the user to provide the details of the zombie they spotted. You'd probably even code a user interface with a "New sighting" button, or something like that. That's beyond the scope of this article, though, and would only complicate the example code. + +### Creating a metatable + +The important thing to remember is that to create a metatable, you use this syntax: + +``` +Example = {} + +function Example.init(args) + local self = setmetatable({}, Example) + self.key = value + return self +end +``` + +### Using a metatable + +To use a metatable once it's been created, use this syntax: + +``` +my_instance = Example.init("required args") +``` + +### Object-oriented Lua + +Lua isn't object-oriented, but its table mechanism makes handling and tracking and sorting data as simple as it possibly can be. It's no exaggeration to say that once you're comfortable with tables in Lua, you can be confident that you know at least half of the language. You can use tables (and, by extension, metatables) as arrays, maps, convenient variable organization, close-enough classes, and more. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/object-oriented-lua + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/3/java-object-orientation +[2]: https://opensource.com/article/19/7/get-modular-python-classes +[3]: http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+string From cbdff408b3257efddbcb77bf5a2985e4772399e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:49:06 +0800 Subject: [PATCH 169/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221026.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Doing=2064-bit=20math=20on=20a=2016-bit=20?= =?UTF-8?q?system.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md diff --git a/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md new file mode 100644 index 0000000000..ae3e114946 --- /dev/null +++ b/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -0,0 +1,156 @@ +[#]: subject: "Doing 64-bit math on a 16-bit system" +[#]: via: "https://opensource.com/article/22/10/64-bit-math" +[#]: author: "Jerome Shidel https://opensource.com/users/shidel" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Doing 64-bit math on a 16-bit system +====== + +With a little basic understanding of assembly, these functions could be scaled to do math on integers of any bit size. + +A few years ago, I wrote a command-line math program for FreeDOS called VMATH. It was capable of performing only extremely simple mathematical operations on very small unsigned integers. With some recent interest in basic math in the FreeDOS community, I improved VMATH to provide basic math support on signed 64-bit integers. + +The process of manipulating big numbers using only 16-bit 8086 compatible assembly instructions is not straightforward. I would like to share some samples of the techniques used by VMATH. Some of the methods used are fairly easy to grasp. Meanwhile, others can seem a little strange. You may even learn an entirely new way of performing some basic math. + +The techniques explained here to add, subtract, multiply, and divide 64-bit integers are not limited to just 64-bits. With a little basic understanding of assembly, these functions could be scaled to do math on integers of any bit size. + +Before digging into those math functions, I want to cover some basics of numbers from the computer's perspective. + +### How computers read numbers + +An Intel-compatible CPU stores the value of numbers in bytes from least to most significant. Each byte is made up of 8 binary bits and two bytes make up a word. + +A 64-bit number that is stored in memory uses 8 bytes (or 4 words). For example, a value of 74565 (0x12345in hexadecimal) looks something like this: + +``` +as bytes: db 0x45, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +as words: dw 0x2345, 0x0001, 0x0000, 0x0000 +``` + +When reading or writing data to memory, the CPU processes the bytes in the correct order. On a processor more modern than an 8086, there can be larger groups, such as a quadword which can represent the entire 64-bit integer as **0x0000000000012345**. + +The 8086 CPU doesn't understand such gigantic numbers. When writing a program for FreeDOS, you want something that can run on any PC, even an original IBM PC 5150. You also want to use techniques that can be scaled to any size integer. The capabilities of a more modern CPU do not really concern us. + +For the purpose of doing integer math, the data can represent two different types of numbers. + +The first is unsigned which uses all of its bit to represent a positive number. Their value can be from **0** up to **(2 ^ (numberofbits) - 1)**. For example, 8 bits can have any value from **0** to **255**, with 16 bits ranging from **0** to **65535**, and so on. + +Signed integers are very similar. However, the most significant bit of the number represents whether the number is positive (**0**) or negative (**1**). The first portion of the number is positive. It can range from **0** up to **(2 ^ (numberofbits - 1) - 1)**. The negative portion follows the positive, ranging from its lowest value **(0-(2 ^ (numberofbits - 1)))** up to **-1**. + +For example, an 8-bit number represents any value from **0** to **127** in the positive range, and **-128** through **-1** in the negative range. To help visualize it, consider the **byte** as the set of numbers **[0…127,-128…-1]**. Because **-128** follows **127** in the set, adding **1** to **127** equals **-128**. While this may seem strange and backward, it actually makes doing basic math at this level much easier. + +To perform basic addition, subtraction, multiplication, and division of very big integers, you should explore some simple routines to get a number's absolute or negative value. You will need them once you start doing math on signed integers. + +### Absolute and negative values + +Getting the absolute value of a signed integer is not as bad as it may first seem. Because of how unsigned and signed numbers are represented in memory, there is a fairly easy solution. You can simply invert all the bits of a negative number and add **1** to get the result. + +That might sound odd if you haven't worked in binary before, but that is how works. To give you an example, take an 8-bit representation of a negative number, such as **-5**. Since it would be near the end of the **[0…127,-128…-1]** byte set, it would have a value of **0xfb** in hexadecimal, or **11111011** in binary. If you flip all the bits, you get **0x04**, or **00000100** in binary. Add **1** to that result and you have the answer. You just changed the value from **-5** to **+5**. + +You can write this procedure in assembly to return the absolute value of any 64-bit number: + +``` +; syntax, NASM for DOS +proc_ABS: +  ; on entry, the SI register points to the memory location in the +  ; data segment (DS) for the program containing the 64-bit +  ; number that will be made positive. +  ; On exit, the Carry Flag (CF) is set if resulting number can +  ; not be made positive. This only happens with maximum +  ;  negative value. Otherwise, CF is cleared. +  ; check most significant bit of highest byte +  test [si+7], byte 0x80 +  ; if not set, the number is positive +  jz .done_ABS +  ; flip all the bits of word #4 +  not word [si+6] +  not word [si+4]       ; word #3 +  not word [si+2]       ; word #2 +  not word [si]                 ; word #1 +  ; increment the 1st word +  inc word [si] +  ; if it did not roll over back to zero, done +  jnz .done_ABS +  ; increment the 2nd word +  inc word [si+2] +  ; if it rolled over, increment the next word +  jnz .done_ABS +  inc word [si+4] +  jnz .done_ABS +  ; this cannot roll over +  inc word [si+6] +  ; check most significant bit once more +  test [si+7], byte 0x80 +  ; if it is not set we were successful, done +  jz .done_ABS +  ; overflow error, it reverted to Negative +  stc +  ; set Carry Flag and return +  ret +.done_ABS: +  ; Success, clear Carry Flag and return +  clc +  ret +``` + +As you may have noticed in the example, there is an issue that can occur in the function. Because of how positive and negative numbers are represented as binary values, the maximum negative number cannot be made positive. For 8-bit numbers, the maximum negative value is **-128**. If you flip all of the bits for **-128** (binary1__0000000), you get **127** (binary0__1111111) the maximum positive value. If you add **1** to that result, it will overflow back to the same negative number (-128). + +To turn a positive number negative, you can just repeat the process you used to get the absolute value. The example procedure is very similar, except you want to make sure the number is not already negative at the start. + +``` +; syntax, NASM for DOS +proc_NEG: +  ; on entry, the SI points to the memory location +  ; for the number to be made negative. +  ; on exit, the Carry Flag is always clear. +  ; check most significant bit of highest byte +  test [si+7], byte 0x80 +  ; if it is set, the number is negative +  jnz .done_NEG +  not word [si+6]       ; flip all the bits of word #4 +  not word [si+4]       ; word #3 +  not word [si+2]       ; word #2 +  not word [si]                 ; word #1 +  inc word [si]                 ; increment the 1st word +  ; if it did not roll over back to zero, done +  jnz .done_NEG +  ; increment the 2nd word +  inc word [si+2] +  ; if it rolled over, increment the next word +  jnz .done_NEG +  inc word [si+4] +  jnz .done_NEG +  ; this cannot roll over or revert back to +  inc word [si+6] +  ; positive. +.done_NEG: +  clc                   ; Success, clear Carry Flag and return +  ret +``` + +With all of that shared code between the absolute and negative functions, they should be combined to save some bytes. There are additional benefits when such code is combined. For one, it helps prevent simple typographic errors. It also can reduce testing requirements. Moreover, the source generally becomes easier to read, follow, and understand. Sometimes with a long series of assembly instructions, it is easy to lose track of what is actually happening. But for now, we can move along. + +Getting the absolute or negative value of a number was not very difficult. But, those functions will be critically important later on when we start doing math on signed integers. + +Now that I've covered the basics of how integer numbers are represented at the bit level and created a couple of basic routines to manipulate them a little, we can get to the fun stuff. + +Let's do some math! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/64-bit-math + +作者:[Jerome Shidel][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/shidel +[b]: https://github.com/lkxed + From 3efb83d1da6eeaf83055beb361b17c493faa8415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:49:53 +0800 Subject: [PATCH 170/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221026.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ti?= =?UTF-8?q?ps=20for=20using=20the=20Linux=20test=20command.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Tips for using the Linux test command.md | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 sources/tech/20221026.1 ⭐️⭐️ Tips for using the Linux test command.md diff --git a/sources/tech/20221026.1 ⭐️⭐️ Tips for using the Linux test command.md b/sources/tech/20221026.1 ⭐️⭐️ Tips for using the Linux test command.md new file mode 100644 index 0000000000..26fdd9970f --- /dev/null +++ b/sources/tech/20221026.1 ⭐️⭐️ Tips for using the Linux test command.md @@ -0,0 +1,170 @@ +[#]: subject: "Tips for using the Linux test command" +[#]: via: "https://opensource.com/article/22/10/test-command-linux" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Tips for using the Linux test command +====== + +The [ and test commands are vital conditional statements when scripting. + +The `[` command, often called a "test," is a command from the GNU Core Utils package, and initiates a conditional statement in Bash. Its function is exactly the same as the `test` command. When you want to execute a command only when something is either true or false, use the `[` or the `test` command. However, there's a significant difference between `[` or `test` and `[[`, and there's a technical difference between those commands and your shell's versions of them. + +### [ vs test commands in Linux + +The `[` and the `test` commands, installed by the GNU Core Utils package, perform the same function using a slightly different syntax. (You might find it difficult to search for documentation using the single left-square bracket character, however, so many users find `test` easier to reference.) Bash and similar shells happen to also have the `[` and the `test` commands built-in, and the built-in versions supersede the ones installed in `/usr/bin`. In other words, when you use `[` or `test`, you're probably not executing `/usr/bin/[` or `/usr/bin/test`. Instead, you're invoking what's essentially a function of your Bash shell. + +You might wonder why `[` or `test` exist in `/usr/bin` at all. Some shells, such as [tcsh][1], don't have `[` and `test` built-in, so if you want to use those commands in that shell, you must have them installed as separate binaries. + +The bottom line is that as long as you don't get an error when you type a command starting with `[` or `test`, then you've got everything you need. It almost never matters whether your shell or your `bin` directory is providing the commands. + +### Testing for a file + +It's common to want to know whether a file exists, often so you can confidently proceed with some action, or so you can avoid "clobbering" it with a file of the same name. In an interactive shell session, you can just look to see whether the file exists but in a shell script, you need the computer to determine that for itself. The `-e` option tests whether a file exists, but its apparent response is the same either way. + +``` +$ touch example +$ test-e example +$ test-e notafile +$ +``` + +The `[` and `test` commands are essentially switches. They emit a `true` or `false` response, but considers both of them as success. You can put this to use by pairing the commands with logical operators, such as `&&` and `||`. The `&&` operator is executed when a response is `true`: + +``` +$ touch example +$ test-e example &&echo"foo" +foo +$ test-e notafile &&echo"foo" +$ +``` + +The `||` operator executes when a response is `false`: + +``` +$ touch example +$ test-e example ||echo"foo" +$ test-e notafile ||echo"foo" +foo +$ +``` + +If you prefer, you can use square brackets instead of `test`. In all cases, the results are the same: + +``` +$ touch example +$ [-e example ] && echo "foo" +foo +$ [-e notafile ] && echo "foo" +$ +``` + +### Testing for file types + +Everything in Linux is a file, so when you can test for the existence of a directory with the `-e` option, the same way you test for a file. However, there are different kinds of files, and sometimes that matters. You can use `[` or `test` to detect a variety of different file types: + +- `-f`: regular file (returns `false` for a directory) +- `-d`: directory +- `-b`: block (such as `/dev/sda1`) +- `-L` or `-h`: symlink +- `-S`: socket + +There are more, but those tend to be the most common. + +### Testing for file attributes + +You can also look at metadata of a file: + +- `-s`: a file with the size greater than zero +- `-N`: a file that's been modified since it was last read + +You can test by ownership: + +- `-O`: a file owned by the current primary user +- `-G`: a file owned by the current primary group + +Or you can test by permissions (or file mode): + +- `-r`: a file with read permission granted +- `-w`: a file with write permission granted +- `-x`: a file with execute permission granted +- `-k`: a file with the sticky bit set + +### Combining tests + +You don't always just have to test for a single attribute. The `-a` option ("and") allows you to string several tests together, with the requirement that all tests return as `true`: + +``` +$ touch zombie apocalypse now +$ test-e zombie -a-e apocalypse -a-e now &&echo"no thanks" +no thanks +``` + +If any expression fails, then the test returns `false`: + +``` +$ touch zombie apocalypse now +$ test-e plant -a-e apocalypse -a-e now &&echo"no thanks" +$ +``` + +The `-o` option ("or") requires that one expression is true: + +``` +$ touch zombie apocalypse now +$ test-e zombie -o-e plant -o-e apocalypse &&echo"no thanks" +no thanks +``` + +### Integer tests + +You can also test integers. That's not necessarily directly useful (you probably inherently know that 0 is less than 1, for instance) but it's invaluable when you're using variables in a script. + +The operators are fairly intuitive once you understand the schema: + +- `-eq`: equal to +- `-ne`: not equal +- `-ge`: greater than or equal to +- `-gt`: greater than +- `-le`: less than or equal to +- `-lt`: less than + +Here's a simple example: + +``` +$ nil=0 +$ foo=1 +$ test$foo-eq$nil||echo"Those are not equal." +Those are not equal. +$ test$foo-eq1&&echo"Those are equal." +``` + +Of course, you can combine tests. + +``` +$ touch example +$ test$foo-ne$nil-a-e example -o-e notafile &&echo"yes"yes +``` + +### Testing testing + +The `[` and `test` commands are vital conditional statements when scripting. These are easy and common ways to control the flow of your code. There are yet more tests available than what I've covered in this article, so whether you used Bash, tcsh, ksh, or some other shell entirely, take a look at the man page to get the full spectrum of what these commands offer. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/test-command-linux + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/8/tcsh From d3936e1120a1b7a6705c9491fd169325ced87aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:50:31 +0800 Subject: [PATCH 171/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221025.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?ansfer=20files=20and=20folders=20from=20Windows=20to=20Linux=20?= =?UTF-8?q?with=20PSCP.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...les and folders from Windows to Linux with PSCP.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md diff --git a/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md new file mode 100644 index 0000000000..6e818f79a3 --- /dev/null +++ b/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md @@ -0,0 +1,139 @@ +[#]: subject: "Transfer files and folders from Windows to Linux with PSCP" +[#]: via: "https://opensource.com/article/22/10/transfer-files-windows-linux-pscp" +[#]: author: "Paul https://opensource.com/users/plaubscher" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Transfer files and folders from Windows to Linux with PSCP +====== + +The open source PSCP utility makes it easy to transfer files and folders between Windows and Linux computers. + +Are you looking for a way to quickly transfer files from your Windows computer to your Linux computer and back again? The open source PSCP utility makes it easy to transfer files and folders, and of course it's open source. + +### Setting your PATH in Windows + +Knowing how to set your command path in Windows makes it easier to use a handy utility like PSCP. If you're unfamiliar with that process, read [how to set a PATH on Windows][1]. + +### Using PSCP + +PSCP (PuTTY Secure Copy Protocol) is a command-line tool for transferring files and folders from a Windows computer to a Linux computer. + +- Download `pscp.exe` from its [website][2]. +- Move `pscp.exe` to a folder in your PATH (for example, `Desktop\App` if you followed the PATH tutorial here on [Opensource.com][3]). If you haven't set a PATH variable for yourself, you can alternately move `pscp.exe` to the folder holding the files you're going to transfer. +- Open Powershell on your Windows computer using the search bar in the Windows taskbar (type 'powershell` into the search bar.) +- Type `pscp –version` to confirm that your computer can find the command. + +### IP address + +Before you can make the transfer, you must know the IP address or fully-qualified domain name of the destination computer. Assuming it's a computer on your same network, and that you're not running a DNS server to resolve computer names, you can find the destination IP address using the `ip` command on the Linux machine: + +``` +[linux]$ ip addr show |grep'inet ' +inet 127.0.0.1/8 scope host lo +inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 +``` + +In all cases, 127.0.0.1 is a loopback address that the computer uses only to talk to itself, so in this example the correct address is 192.168.1.23. On your system, the IP address is likely to be different. If you're not sure which is which, you can try each one in succession until you get the right one (and then write it down somewhere!) + +Alternately, you can look in the settings of your router, which lists all addresses assigned over DHCP. + +### Firewalls and servers + +The `pscp` command uses the OpenSSH protocol, so your Linux computer must be running the OpenSSH server software, and its firewall must allow SSH traffic. + +If you're not sure whether your Linux machine is running SSH, then run this command on the Linux machine: + +``` +[linux]$ sudo systemctl enable--now sshd +``` + +To ensure your firewall allows SSH traffic, run this command: + +``` +[linux]$ sudo firewall-cmd --add-servicessh--permanent +``` + +For more information on firewalls on Linux, read [Make Linux stronger with firewalls][4]. + +### Transfer the file + +In this example, I have a file called `pscp-test.txt` that I want to transfer from `C:\Users\paul\Documents` on my Windows computer to my destination Linux computer home directory `/_home_/paul`. + +Now that you have the `pscp` command and the destination address, you're ready to transfer the test file `pscp-test.txt`. Open Powershell and use the `dir` command to change to the `Documents` folder, where the sample file is located: + +PS> dir %USERPROFILE%\Documents\ + +Now execute the transfer: + +``` +PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul| Password: +End of keyboard-interactive prompts from server +pscp-test.txt |0 kb |0.0 kB/s | ETA: 00:00:00 |100% +``` + +Here's the syntax, word for word: + +- `pscp`: The command used to transfer the file. +- `pscp-test.txt` is the name of the file you want to transfer from Windows. +- `paul@192.168.1.23` is my username on the Linux computer, and the IP address of the Linux computer. You must replace this with your own user and destination information. Notice that `pscp` requires a destination path on the target computer, and `:/home/paul` at the end of the IP address specifies that I want the file copied to my home folder. + +After you authenticate to the Linux computer, the `pscp-test.txt` file is transferred to the Linux computer. + +### Verifying the transferred + +On your Linux computer, open a terminal and use the `ls` command to verify that the file `pscp-test.txt` appears in your home directory. + +``` +[linux]$ ls +Documents +Downloads +Music +Pictures +pscp-test.txt +``` + +### Copying a file off of a Linux system + +You aren't limited to just copying files to your Linux system. With `pscp`, you can also copy a file from Linux onto Windows. The syntax is the same, only in reverse: + +``` +PS> pscp paul@192.168.1.23:/home/paul/pscp-test.txt %USERPROFILE%\Documents\pscp-win.txt +``` + +Here's the syntax: + +- `pscp`: The command used to transfer the file. +- `paul@192.168.1.23:/home/paul/pscp-test.txt` is my username on the Linux computer, the IP address of the Linux computer, and the path to the file I want to copy. +- `%USERPROFILE%\Documents` is the location on my Windows computer where I want to save the file. Notice that in copying the file back to my Windows computer, I can give it a new name, such as `pscp-win.txt`, to differentiate it from the original. You don't have to rename the file, of course, but for this demonstration it's a useful shortcut. + +Open your file manager to verify that the `pscp-win.txt` file was copied to the Windows `C:\Users\paul\Documents` path from the Linux computer. + +![Image of a file manager.][5] + +### Remote copying + +With the power of the open source `pscp` command, you have access to any computer in your house, and servers you have accounts on, and even mobile and [edge devices][6]. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/transfer-files-windows-linux-pscp + +作者:[Paul][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/plaubscher +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/set-path-powershell +[2]: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html +[3]: http://Opensource.com +[4]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[5]: https://opensource.com/sites/default/files/2022-10/Filemanager.pscp_.png +[6]: https://opensource.com/tags/edge-computing From 49cfdd676f0bb41b680dbeaec43e6f0507550c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:51:37 +0800 Subject: [PATCH 172/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.0=20=E2=AD=90=EF=B8=8F=20How=20to=20display?= =?UTF-8?q?=20commits=20created=20on=20a=20specific=20day=20with=20the=20g?= =?UTF-8?q?it=20log=20command.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... on a specific day with the git log command.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md diff --git a/sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md b/sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md new file mode 100644 index 0000000000..3df3f70944 --- /dev/null +++ b/sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md @@ -0,0 +1,66 @@ +[#]: subject: "How to display commits created on a specific day with the git log command" +[#]: via: "https://opensource.com/article/22/10/git-log-command" +[#]: author: "Agil Antony https://opensource.com/users/agantony" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to display commits created on a specific day with the git log command +====== + +The git log command is an important reporting tool and yet another reason to use Git. + +The `git log` command offers many opportunities to learn more about the commits made by contributors. One way you might consume such information is by date. To view commits in a Git repository created on a specific date or range of dates, use the `git log` command with the options `--since` or `--until`, or both. + +First, checkout the branch you want to inspect (for example, `main`): + +``` +$ git checkout main +``` + +Next, display the commits for the current date (today): + +``` +$ git log--oneline--since="yesterday" +``` + +Display commits for the current date by a specific author only (for example, `Agil`): + +``` +$ git log--oneline--since="yesterday"--author="Agil" +``` + +You can also display results for a range of dates. Display commits between any two dates (for example, 22 April 2022 and 24 April 2022): + +``` +$ git log--oneline--since="2022-04-22"--until="2022-04-24" +``` + +In this example, the output displays all the commits between 22 April 2022 and 24 April 2022, which excludes the commits done on 22 April 2022. If you want to include the commits done on 22 April 2022, replace `2022-04-22` with `2022-04-21`. + +Run the following command to display commits between any two dates by a specific author only (for example, `Agil`): + +``` +$ git log--oneline--since="2022-04-22" \--until="2022-04-24"--author="Agil" +``` + +### Reporting + +Git has many advantages, and one of them is the way it enables you to gather data about your project. The `git log` command is an important reporting tool and yet another reason to use Git! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/git-log-command + +作者:[Agil Antony][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/agantony +[b]: https://github.com/lkxed + From 2c69835daac8fc44fdecc47f44200b128795c42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:52:41 +0800 Subject: [PATCH 173/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221024.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20A=20PWA=20is=20the=20web=20browser.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21024.1 ⭐️⭐️⭐️ A PWA is the web browser.md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md diff --git a/sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md b/sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md new file mode 100644 index 0000000000..8605a64907 --- /dev/null +++ b/sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md @@ -0,0 +1,145 @@ +[#]: subject: "A PWA is the web browser" +[#]: via: "https://opensource.com/article/22/10/pwa-web-browser" +[#]: author: "Alex Borsody https://opensource.com/users/alexborsody" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A PWA is the web browser +====== + +While progressive web apps (PWAs) are still in their early stages of development, they have the potential to revolutionize the way we use the web. + +A progressive web app (PWA) is a web application that uses modern web technologies to deliver a user experience equal to any mobile app. An active open source community, in conjunction with tech leaders like Google and Microsoft, pushes the PWA agenda forward in an effort to "bridge the app gap." + +Basically, a PWA runs your app in a web browser. Because there's essentially a two-party system of the Play and App stores, the focus is on two browsers: Google Chrome and Apple Safari (built on top of the open source Chromium and WebKit, respectively). + +I won't be covering creating desktop apps. For more information on that topic, look into [Electron][1]. + +PWAs are built the same way as any website or web app. They use the latest mobile technologies and implement UX best practices. PWAs can also hook the browser in with native code to improve the experience. + +If you type "What is a PWA" in your favorite search engine, you'll probably get a stock response similar to "PWAs are designed to be fast, reliable, and engaging, with the ability to work offline and be installed on a device's home screen." While this is partly true, it's just the tip of the iceberg for what a PWA has the potential to be and what it's evolving into, even as I write this article. + +### What is not a PWA + +The following are cross-platform app frameworks allowing you to develop from a single codebase. They do not use the browser as their platform. + +- Flutter +- React Native + +Flutter uses a language called Dart, which compiles to iOS, Android, and web packages. React Native does the same but compiles JavaScript on the backend. + +### What is a PWA by definition? + +A PWA, by its original definition, must meet these three requirements: + +- **Service worker:** Provides offline functionality. +- **Web manifest:** JSON markup to configure home screen and app icons. +- **Security:** HTTPS is enforced, because a service worker runs in the background. + +These components allow you to pass the [Google Lighthouse PWA audit][2] and get the green checkmark on your score. + +![Google Lighthouse score, including performance, accessibility, best practices, SEO, and PWA][3] + +Once you satisfy these requirements, Chrome's "add to home screen" prompt is also automatically enabled. + +PWA Builder (a free service provided by Microsoft) has an excellent UI for building a PWA and visualizing base requirements. See the following example based on developers.google.com. You can demo this functionality [here][4] provided by the [PWA module][5] I discussed in [my previous article][6]. + +![Google Developer's interface displaying Service Workers][7] + +![Google Developer's interface displaying Manifest][8] + +The base requirements of a PWA allow offline behavior through the service worker, and the `manifest.json` file allows "add to home screen" behavior on Android, where your website gets added as an icon to the home screen and opens with no-browser Chrome (in fullscreen) with an app splash page. These are the minimum requirements for a PWA and, aside from providing a performance increase due to the offline caching, mainly give the illusion the website is an app. It's a psychological gap at its core where the end user will stop thinking of the browser as merely "websites" and instead look at it for what it actually is… an app platform. Google seemed to make this a priority to pave the way for developing the endless number of features, functionality, and UX/UI enhancements that actually provide an enhanced "app-like experience." + +A PWA is really a collection of browser technologies and web development techniques and technologies that make a website more "app-like." I have broken these down into the following categories. + +#### Enhanced app-like experience + +- HTML/CSS/Javascript + +- Improved UX/UI experience on a mobile device +- Native device access and enhanced web capabilities +- Speed and performance + +#### What a PWA can be today beyond the definition + +Here are more details on the three experience descriptions above. + +**UX/UI improvements** + +UX/UI and visual problem-solving are critical to making your website feel like an app. This often manifests as attention to details such as animations, input/font sizes, scrolling issues, or other CSS bugs. It's important that there is a strong frontend development team so they can create this UX. Within the category of design and UX are the enhancements we can implement with the building blocks of a web document (HTML/JSS/JS). Two examples of this are: + +- [**Hotwire Turbo**][9]: An open source framework using HTML over the wire to reload only the areas of your page that change using AJAX or WebSockets. This offers the performance improvements that SPAs strive for using only limited JavaScript. This approach is perfect for your monolithic application or template-rendering system; no need to invest in the added complexity of decoupling your front and back end. +- **Mobile-specific SPA frameworks:** There are several decoupled frameworks out there that can give your website an app-like user experience. Onsen UI and Framework 7 are two excellent options that help you create a fast, responsive user interface for your website. However, you do not need to rely on these frameworks. As discussed above, a good frontend team can build the UI you strive for by implementing the latest app-like mobile design techniques. + +[This slide][10] goes into more detail about staying current with HTML/CSS/JS in your PWA. + +**Web capabilities** + +The Chromium team is constantly improving the browser experience. You can track this progress in [Project Fugu][11], the overarching web capabilities project. WebKit also continually strives to improve its browser experience and capabilities. + +The Swift API can also interact with the WKWebView to enhance the native experience. + +Google has a service called Bubblewrap, which works with Trusted Web Activity (TWA). All this does is wrap your PWA-enabled website in a native APK bundle so you can submit it to the app store. This is how the PWA builder link mentioned above works for Android. You can learn all about WKWebView and TWA in my previous article. + +**Speed and performance** + +There are countless ways to improve your app's performance. Check out the [Google PageSpeed tools][12] to start. + +#### Benefits of using a PWA include the following: + +- Increased Lighthouse score and SEO. +- A single codebase. +- Frictionless testing. +- Instant feedback loop for development cycles. +- Use of managed PaaS web deployment workflows. +- Web technologies are a skill set for a wide array of developers. +- The only cross-platform development solution that delivers a full-fledged web experience. +- Unlimited options to customize a design without relying on a cross-platform framework's limited UI components. +- Reach users with limited (or no) internet connection. + +There are some drawbacks/caveats to using a PWA, including: + +- **Limited functionality**: There is still an "app gap" with PWAs compared to native device access. However, browsers have been making great progress toward closing this. Learn more about Project Fugu's take on bridging the app gap from [Thomas Steiner][13], and visit [What web can do][14] to see your browser's capabilities. When choosing your technology, there is a good chance your PWA project will be in the majority of apps that do not experience restrictions regarding capability/functionality. +- **Lack of standardization**: Thomas Steiner's interview above discusses a "PWA standard," which is currently lacking. In my opinion, it is the reason for much of the confusion around the topic and developers' difficulty getting past that first "aha moment." This confusion has led to slower momentum in technology than there should be. Also, because of this lack of clarity, marketing or management may not even know to ask for a PWA because they don't understand what it is. +- **iOS App Store**: App stores don't currently list PWAs, so they're harder to find than native apps. There are ways to do this. However, the key is to make your web app as good or a better experience than native. Do it right, and the Apple gods will smile upon you because the most important thing in reviews seems to be that you deliver a good mobile experience. Ionic, a framework utilizing WKWebView in native iOS apps before PWA was even a term, has some interesting insight [in their forums][15]. If you know what you are doing, this won't be a problem. You can see the "get your web app in the app stores" section of [my previous Opensource.com article][6] for more info. +- **Potential security issues in certain cases**: The browser uses cookies as authentication. A tried and true browser method to maintain state since its inception, this may not fit your project's needs. The browser has excellent password management and is constantly evolving and implementing other authentication methods, such as [Webauthn][16]. The use of [associated domains][17] provides another layer of security. + +I believe that compared to the alternatives, "the web is winning," and future progress will minimize these drawbacks as the web offers new capabilities. I don't think native development will disappear, but there will be more seamless integrations between WebView and native code. + +### Wrap up + +While PWAs are still in their early stages of development, they have the potential to revolutionize the way we use the web. Every day I see a new website pushing the limits of what a PWA can be. Whether the management knows they are building a PWA or not, I often come across web apps and dev teams that surprise me with how they expand the use of web technologies or pass on a native app in lieu of a well-optimized mobile website. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/pwa-web-browser + +作者:[Alex Borsody][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/alexborsody +[b]: https://github.com/lkxed +[1]: https://www.electronjs.org/ +[2]: https://web.dev/lighthouse-pwa/ +[3]: https://opensource.com/sites/default/files/2022-10/GoogleLighthouseScore.jpg +[4]: https://ctrl.carbonpay.io/user/login +[5]: https://www.drupal.org/project/pwa +[6]: https://opensource.com/article/22/6/drupal-pwa +[7]: https://opensource.com/sites/default/files/2022-10/GoogleServiceWorkers.jpg +[8]: https://opensource.com/sites/default/files/2022-10/GoogleManifest.jpg +[9]: https://hotwired.dev/ +[10]: https://docs.google.com/presentation/d/1D7-H7om4Ul6nFeIX2x1oSpKCvC7LRUP3uh0r7jM3IVs/edit#slide=id.g126166aeb51_2_271 +[11]: https://developer.chrome.com/blog/fugu-status/ +[12]: https://developers.google.com/speed +[13]: https://devm.io/javascript/project-fugu-interview-steiner-168988 +[14]: https://whatwebcando.today/ +[15]: https://forum.ionicframework.com/search?q=minimum%20functionality +[16]: https://webauthn.io/ +[17]: https://developer.apple.com/documentation/xcode/supporting-associated-domains From 92c6a5fe6632b650240f65fcab0f1043f34ef687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:53:50 +0800 Subject: [PATCH 174/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221024.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Re?= =?UTF-8?q?mixing=20Linux=20for=20blind=20and=20visually=20impaired=20user?= =?UTF-8?q?s.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ing Linux for blind and visually impaired users.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md diff --git a/sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md b/sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md new file mode 100644 index 0000000000..fbbc0a73db --- /dev/null +++ b/sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md @@ -0,0 +1,108 @@ +[#]: subject: "Remixing Linux for blind and visually impaired users" +[#]: via: "https://opensource.com/article/22/9/linux-visually-impaired-users" +[#]: author: "Vojtech Polasek https://opensource.com/users/vpolasek" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Remixing Linux for blind and visually impaired users +====== + +Vojtux, a Fedora project, is an unofficial Linux distribution aimed at visually impaired users. + +When I was around 5 years old, my father brought home our first computer. From that moment on, I knew I wanted to pursue a career in computers. I haven't stopped hanging around them since. During high school, when considering which specific area I wanted to focus on, I started experimenting with hacking, and that was the moment I decided to pursue a career as a security engineer. + +I'm now a software engineer on the security compliance team. I've been at Red Hat for over two years, and I work remotely in the Czech Republic. I've used Linux for about 12 years, mainly Arch Linux and Fedora, but I've also administered Debian, Gentoo, and Ubuntu in the past. + +![Image of Vojtech][1] + +Photo description: Black and white image of a smiling Vojtech, with a red frame around it and an illustrated paper airplane in the background. + +Outside of my day job, I play blind football, and I'm involved in various projects connecting visually impaired and sighted people together, including working in a small NGO that runs activities for blind and visually impaired people. I'm also working on an accessible Fedora project called [Vojtux][2], an unofficial Linux distribution aimed at visually impaired users. + +### The assistive technology stack + +When I use a smart device, I need several pieces of assistive technology. The first and most essential is called a screen reader. This is software that presents what's on the screen to blind or visually impaired people, either through speech or through braille (basically, it tries to serve as our eyes). It can read out notifications and tell me which button or page element I'm focusing on, allowing me to interact with graphical user interfaces. + +Screen readers use speech synthesis to speak aloud what appears on the screen. There are a variety of speech synthesizers, and some voices are more "natural-sounding" than others. The one I use, Espeak, is not very natural-sounding, but it's lightweight and fast. It also supports almost all languages, including Czech (which I use). + +Finally, I use a Braille display, a device that represents a line of text in Braille. I use this a lot, especially when I'm coding or doing code reviews. It's easier to grasp the structure of code when I can freely move from one code element to another by touch. I can also use its buttons to move the cursor to the character or area of the screen I'm interested in, and it has a Braille keyboard too if I want to use it. + +### How I use assistive technology on a daily basis + +When using a computer as a blind or visually impaired person, there are a couple of things that are relatively straightforward to do using the tech above. Personally, these are a few of the things I do every day: + +- The text console is pretty much my favorite application. As a general rule, when something's in text, then blind people can read it with a screen reader (this doesn't hold true in all cases, but in most.) I mainly use the console for system management, text editing, and working with guidance and documentation. +- I browse the web and interact with websites. +- I code and do code reviews using VSCode and [Eclipse][3]. +- I send emails and instant messages. +- I can use word processing software, like Google Docs (which is not open source, but common in the modern office) and [LibreOffice][4]. Google Docs developers have added a lot of keyboard shortcuts, which I can use to move around documents, jump to headings or into comments, and so on. +- I can play multimedia, usually. It depends on how the application is written. Some media players are more accessible than others. + +### Possible but painful + +This brings me to tasks that aren't so easy. I like to call these "possible but painful". + +PDF files can be difficult. Sometimes I end up needing to use optical character recognition (OCR) software to convert images to text. For example, recently I needed to read a menu for a restaurant. They had the PDF of their menu on their website, but it had been flattened, and didn't have a text layer. For me, this shows up as a blank screen. I had to use an OCR application from my smartphone to extract the text for me. Not only is this an extra step, but the resulting "translation" of the text isn't always entirely accurate. + +Viewing and creating a presentation can be problematic. To work around this, I create slides in HTML, using software such as [Pandoc][5], which can process [markdown][6] and convert it into slides. I've been using this for many years and it works well—it allows me total control of the resulting slides, because the markdown is just simple text. + +Video games can be made more accessible by basing them on sound or text. However, playing games can be doubly challenging on Linux as not only would you need to find an accessible game, but most PC games are also native to Windows so you would be dealing with some compatibility issues as well. + +Some websites and interfaces are more difficult to navigate than others. These issues are often quite easy to solve just by setting some attributes correctly. In general, lots of web content comes in the form of images, especially today. One of the easiest ways to make web content more accessible is to make sure that alternative text is added to images so that screen readers can read it out, and people who cannot distinguish the image have some idea what's there. Another thing I experience a lot is unlabeled controls: you know there's a button or a check box but you don't know what it does. + +### The Vojtux project optimises Linux for accessibility + +Developers don't intentionally set out to build applications that aren't accessible. The problem is that they usually don't know how to test them. There aren't many blind Linux users, so there aren't many people testing the accessibility of applications and providing feedback. Therefore, developers don't produce accessible applications, and they don't get many users. And so the cycle continues. + +This is one thing we hope to tackle with the Vojtux project. We want to create a Fedora remix that's user-friendly for visually impaired and blind users. We hope it will attract more users, and that those users start discovering issues to report, which will hopefully be solved by other developers in the open source community. + +So why are we doing this? Well, it's important to point out that Fedora is not an inaccessible distribution by design. It does have many accessibility tools available in the form of packages. But these aren't always present from the beginning, and there are a lot of small things which need to be configured before it can be proficiently used. This is something that can be discouraging to a beginner Fedora user. + +We want Vojtux to be as friendly and predictable for a blind user as possible. When a user launches a live image, the screen immediately starts being read as soon as a graphical user interface appears. All [environment variables][7] needed for accessibility are loaded and configured correctly. + +Vojtux brings the following changes, among others: + +- Environment variables for accessibility are configured from the start. +- The Orca screen reader starts as soon as the graphical interface loads. +- A custom repo is added with extra voice synthesis and packaged software. +- Many alternative keyboard shortcuts have been added. +- There's a special script that can turn your monitor on and off. Many users do not need the monitor at all and having it off is a great power saver! + +### So how can you help? + +First, if you'd like to contribute to Vojtux (or just spread the word), you can find out more on [our repository][2]. + +Additionally, when working on a team with someone who has a visual impairment, there might be some additional considerations depending on the accessibility tech being used. For example, it's not easy for us to listen to someone and read at the same time, because we are basically getting both things through audio, unless someone is very proficient with the Braille display. + +Lastly, bear in mind that blind and visually impaired users consume the same end products as you do, whether that's presentation slides or websites or PDFs. When building products or creating content, your choices have a huge effect on accessibility and how easy it is for us to engage with the end result. Know that we are here, we love to use computers and technology, and we're often willing to help you test it, too. + +![Image of Vojtech holding a football][8] + +Image description: Vojtech holding a football. He is wearing a football uniform and protective goggles. + +This article originally published in September 2022 and has since been updated with the project's official name, Vojtux. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/linux-visually-impaired-users + +作者:[Vojtech Polasek][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/vpolasek +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-08/Vojtech.png +[2]: https://github.com/vojtapolasek/Fegora +[3]: https://opensource.com/article/20/12/eclipse +[4]: https://opensource.com/article/22/2/libreoffice-accessibility +[5]: https://opensource.com/article/18/9/intro-pandoc +[6]: https://opensource.com/article/19/9/introduction-markdown +[7]: https://opensource.com/article/19/8/what-are-environment-variables +[8]: https://opensource.com/sites/default/files/2022-08/Vojtech%20holding%20a%20football.jpg From 186c30523f7063c3165e03e3fb0dd8e779489f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 02:54:45 +0800 Subject: [PATCH 175/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221026.2=20=E2=AD=90=EF=B8=8F=20How=20To=20Monitor?= =?UTF-8?q?=20File=20Changes=20Using=20fswatch=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Monitor File Changes Using fswatch In Linux.md | 250 ++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 sources/tech/20221026.2 ⭐️ How To Monitor File Changes Using fswatch In Linux.md diff --git a/sources/tech/20221026.2 ⭐️ How To Monitor File Changes Using fswatch In Linux.md b/sources/tech/20221026.2 ⭐️ How To Monitor File Changes Using fswatch In Linux.md new file mode 100644 index 0000000000..49583bfc3a --- /dev/null +++ b/sources/tech/20221026.2 ⭐️ How To Monitor File Changes Using fswatch In Linux.md @@ -0,0 +1,250 @@ +[#]: subject: "How To Monitor File Changes Using fswatch In Linux" +[#]: via: "https://ostechnix.com/monitor-file-changes-using-fswatch-linux/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How To Monitor File Changes Using fswatch In Linux +====== + +**Fswatch** is a free, open source multi-platform file change monitor utility that notifies us when the contents of the specified files or directories are modified or changed. Using fswatch, we can easily monitor the changes being made in files and/or directories. It supports all operating systems, including GNU/Linux, *BSDs, Mac OS X, Solaris, and Microsoft Windows etc. In this brief guide, let me show you how to **monitor file changes using fswatch** in Linux and Unix-like operating systems. + +### Types of monitoring + +Fswatch implements the following types of monitors. + +- A monitor based on the File System Events API of Apple OS X. +- A monitor based on kqueue, a notification interface introduced in FreeBSD 4.1. +- A monitor based on the File Events Notification API of the Solaris kernel and its derivatives. +- A monitor based on inotify, a Linux kernel subsystem that reports file system changes to applications. +- A monitor based on ReadDirectoryChangesW, a Microsoft Windows API that reports changes to a directory. +- A monitor which periodically stats the file system, saves file modification times in memory, and manually calculates file system changes. + +### Features + +Concerning about the features of fswatch, we can list the following: + +- Cross-platform and open source utility. +- Support for many OS-specific APIs. +- Recursive directory monitoring. +- Path filtering using including and excluding regular expressions. +- Customizable record format. +- Support for periodic idle events. +- And many. + +### Install fswatch in Linux + +The fswatch utility is available in the default repositories of popular Linux distributions. + +To install fswatch in Debian, Ubuntu, Linux Mint, Pop OS, and other APT-based systems, run: + +``` +$ sudo apt install fswatch +``` + +To install fswatch in Fedora, RHEL, CentOS, AlmaLinux and Rocky Linux, **enable [EPEL] repository** using command: + +``` +$ sudo dnf install epel-release +``` + +And then install install fswatch using command: + +``` +$ sudo dnf install fswatch +``` + +To install fswatch in openSUSE, run: + +``` +$ sudo zypper install fswatch +``` + +#### Install fswatch from source + +If fswatch is not available for your distribution, you can manually compile and install the latest version from the source as described below. + +Before compiling, you need to **install Development tools** in your Linux distribution. To install Development tools on various Linux distributions, refer the following guide. + +- [**How To Install Development Tools In Linux**][1] + +Then, download the fswatch source file [**from here**][2]. + +``` +$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.17.1/fswatch-1.17.1.tar.gz +``` + +Extract the downloaded tarball: + +``` +$ tar -zxvf fswatch-1.17.1.tar.gz +``` + +Go to the project's folder: + +``` +$ cd fswatch-1.17.1/ +``` + +Finally, compile and install fswatch by running the following commands one by one. + +``` +$ ./configure +``` + +``` +$ make +``` + +``` +$ sudo make install +``` + +Finally, run the following command to refresh the links and cache to the dynamic libraries: + +``` +$ sudo ldconfig +``` + +If you don't run the above command, you might get the following error in GNU/Linux systems. + +``` +fswatch: error while loading shared libraries: libfswatch.so.6: cannot open shared object file: No such file or directory +``` + +Finally, check the fswatch version to make sure if it is installed correctly: + +``` +$ **fswatch --version** +fswatch 1.17.1 +Copyright (C) 2013-2021 Enrico M. Crisostomo . +License GPLv3+: GNU GPL version 3 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Written by Enrico M. Crisostomo. +``` + +### Install fswatch in FreeBSD + +On FreeBSD, fswatch can be installed using `pkg` as `root`: + +``` +# pkg install fswatch-mon +``` + +### Monitor file changes using fswatch in Linux + +Usage of fswatch is no big deal. The typical syntax of fswatch is: + +``` +$ fswatch [options] ... path-0 ... path-n +``` + +To test how fswatch works, open two Terminal windows (Let us call them **Terminal 1** and **Terminal 2**). + +In Terminal 1, run the fswatch command to monitor the **`$HOME`** directory. + +``` +$ fswatch /home/ostechnix/ +``` + +And, in the Terminal 2 do some operations such as creating files/folders, deleting files, and modifying files etc. + +Whatever you do in the terminal 2 will be notified on the Terminal 1. Have a look at the following screenshots. + +**Terminal 1** - fswatch command is running and the file changes are being monitored: + +![Monitor File Changes Using fswatch][3] + +Monitor File Changes Using fswatch + +**Terminal 2** - Do some random changes in files/folders: + +![Do random changes in files or folders][4] + +Do random changes in files or folders + +By default, fswatch will choose the best monitor available on the current platform, in terms of performance and resource consumption. In Linux, **the default monitor is inotify**. + +By default, fswatch will keep monitoring the file changes until you manually stop it by invoking **`CTRL+C`** keys. + +### List monitors + +To list the available monitors in the current platform (i.e Linux in our case), run: + +``` +$ fswatch -M +``` + +Or, + +``` +$ fswatch --list-monitors +``` + +**Sample output:** + +``` +inotify_monitor +poll_monitor +``` + +### Monitor specific file or folder + +To monitor a specific file or directory with a particular monitor option, run: + +``` +$ swatch -m kqueue_monitor /home/ostechnix/ +``` + +You can also exit fswatch after the first set of events is received by specifying the option **`-1`** as shown in the following command: + +``` +$ fswatch -1 /home/ostechnix/ +``` + +This command will exit just after the first set of events is received. + +fswatch will monitor changes in all files/folders in the specified path. If you want to watch the changes made in the directories only, use **`-d`** option. + +``` +$ fswatch -d /home/ostechnix/ +``` + +Of course, there are more options. Refer the man pages or the [**project's documentation page**][5] for detailed instructions. + +``` +$ man fswatch +``` + +**Resource:** + +- [**fswatch GitHub Repository**][6] + +Featured Image by [Pete Linforth][7] from [Pixabay][8]. + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/monitor-file-changes-using-fswatch-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/install-development-tools-linux/ +[2]: https://github.com/emcrisostomo/fswatch/releases +[3]: https://ostechnix.com/wp-content/uploads/2022/10/Monitor-File-Changes-Using-fswatch.png +[4]: https://ostechnix.com/wp-content/uploads/2022/10/Do-random-changes-in-files-or-folders.png +[5]: https://emcrisostomo.github.io/fswatch/doc/ +[6]: https://github.com/emcrisostomo/fswatch +[7]: https://pixabay.com/users/thedigitalartist-202249/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=3376230 +[8]: https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=3376230 From 8cd7c70d34470ca99a69ea42aded5d45a9d5b5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:06:01 +0800 Subject: [PATCH 176/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2010?= =?UTF-8?q?=20Lightweight=20Linux=20Distributions=20for=20your=20Old=20Har?= =?UTF-8?q?dware=20in=202022.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nux Distributions for your Old Hardware in 2022.md | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md diff --git a/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md b/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md new file mode 100644 index 0000000000..c1de1e201f --- /dev/null +++ b/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md @@ -0,0 +1,218 @@ +[#]: subject: "10 Lightweight Linux Distributions for your Old Hardware in 2022" +[#]: via: "https://www.debugpoint.com/lightweight-linux-distributions-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +10 Lightweight Linux Distributions for your Old Hardware in 2022 +====== + +**We highlight a list of 10 lightweight Linux Distributions ideal for your older PC in 2022. We give you their features and what makes them perfect for reviving older hardware.** + +We believe that you should not throw away any hardware, especially PC and its components. Ideally, well-designed software should always run on any hardware. There are many [Linux Distributions][1] specifically designed for older hardware and PCs. And you can quickly revive them with the help of these Linux operating systems. In this post, we highlight ten such Linux Distributions which are lightweight and old hardware friendly in 2022. + +### 10 Lightweight Linux Distributions 2022 + +#### 1. Linux Lite + +The first lightweight Linux Distribution we feature in this list for 2022 is Linux Lite. Linux Lite is a continually developed and improved Linux Distribution based on Ubuntu and Debian. This decade-old Linux Distribution is perfect for your older hardware which needs a friendly and well-designed distro. The team markets this distro as an ideal starting point for Windows users who ends up with not supported hardware with Windows. The primary advantages of this distro are well customized and nice-looking Xfce desktop with an Ubuntu base, the latest Kernel and, of course, a 32-bit ISO image. + +![Linux Lite - Lightweight Linux Distributions][2] + +Linux Lite + +Advantages of Linux Lite: + +- Ubuntu-based +- Customized Xfce desktop +- Native applications +- 32-bit support +- Active development +- Minimum system requirement < 1 GB RAM + +[Download Linux Lite][3] + +#### 2. Puppy Linux + +The second distro that we feature in this list is Puppy Linux. Puppy Linux is a little different than traditional distros out there. It is designed to run from RAM without needing to install it in a physical system. If appropriately configured, you can save the sessions, plus it continues to work well even if you remove the bootable medium. + +![Puppy Linux - one of the best lightweight Linux Distribution in 2022][4] + +Puppy Linux – one of the best lightweight Linux Distribution in 2022 + +This Linux distro is binary compatible with Ubuntu LTS versions; the latest version is based on Ubuntu 20.04 LTS. Since Ubuntu dropped the 32-bit support, the newest version dropped the 32-bit version. + +Puppy Linux use cases are perfect for older computers, Netbooks, and hardware with less than 1GB of RAM. At the core, it is run by superfast JWM (Jow’s Window Manager), Puppy Package Manager that supports .deb, .rpm and its native PET packages. + +Overall, it’s a perfect and well-designed Linux Distribution for older hardware, hands down. + +Features: + +- Based on the Ubuntu LTS Version +- It can run on low-end Netbooks +- Works directly from RAM even after removing the bootable media +- Unique package manager – Puppy Package Manager +- Powered by JWM + +#### 3. BunsenLabs Linux + +The third lightweight Linux distro in this list is BunsenLabs Linux, a successor of the Crunchbang project. The BunsenLabs Linux is based on the Debian Stable branch, bringing modern applications to your low-end system. This distro provides a 32-bit version image for low-end systems and a standard 64-bit system for your regular hardware. At the core, BunsenLabds is powered by a pre-configured OpenBox window manager with a stunning tint2 panel, pre-configured Conky and jgmenu. + +![BunsenLabs Linux -Lightweight Linux Distribution ][5] + +BunsenLabs Linux + +This is a well-designed, superfast, stable and nice-looking distribution for older systems. + +Feature summary: + +- Based on Debian Stable branch +- Openbox window manager with tint2 panel, conky and jgmenu +- It provides a 32-bit installer +- Help and support are available via official forums + +[Download BunsenLabs Linux][6] + +#### 4. Lubuntu + +Lubuntu is famous for being a lightweight Linux Distribution. It is an official Ubuntu Linux flavour that features the lightweight LxQt desktop environment. Lubuntu gives you modern Ubuntu Linux packages and technology while it features the LxQt for your low-end hardware. Although it might require some extra system resources compared to other distros in this list, it is still a go-to Linux distro for older hardware. + +![Lubuntu - Lightweight Linux Distribution ][7] + +Lubuntu + +If you need a moderately lighter Linux Distribution which is stable and works out of the box, then choose Lubuntu. + +[Download Lubuntu][8] + +#### 5. Absolute Linux + +The fifth lightweight Linux distribution is Absolute Linux, based on Slackware Linux. This distro packages all necessary day-to-day applications in its installer image so that you get a complete distro out of the box. Absolute Linux features the IceWM and ROX Desktop, which gives you ultimate speed while using it on your older hardware. It is systemd-free, which offers an extra advantage over other distributions. + +![Absolute Linux - Lightweight Linux Distributions][9] + +Absolute Linux + +Feature Summary: + +- Based on Slackware +- Systemd-free +- Packages necessary software +- Powered by IceWM and package manager Slapt-get + +[Download Absolute Linux][10] + +#### 6. antiX Linux + +Yet another lightweight Linux distribution we want to highlight is antiX Linux. The antiX Linux is based on Debian stable branch and has several attractive features. At its core, it uses IceWM, Fluxbox, and ROX Desktop options, giving you an excellent and fast desktop experience. It is entirely systemd-free and uses sysVinit and runit system. The antiX Linux also gives you a 32-bit installer and has four variants – Full, Core, Base and net catering to different use cases. + +![antiX Linux - Lightweight Linux Distributions][11] + +antiX Linux + +Features: + +- Based on Debian stable +- It provides a 32-bit installer +- Systemd free +- Powered by IceWM and other window manager flavours + +[Download antiX Linux][12] + +#### 7. LXLE + +The LXLE Linux is a spin of the Lubuntu LTS series with an LXDE desktop instead of an LXQt desktop. The choice of applications, installer and other features makes it a perfect distro for older hardware. It is ideal for reviving your old system with a stable Ubuntu-LTS base and a fast LXDE desktop environment. + +![LXLE Linux - Lightweight Linux Distributions][13] + +LXLE Linux + +However, in my personal opinion, I feel LXQt is a little faster than LXDE. Well, that feedback might be relative and can be different for you. There are not many Linux distributions today, which give you an LXDE flavour. Hence it is one of the unique and lightweight Linux distributions for your daily use. + +[Download LXLE][14] + +#### 8. Porteus Linux + +The Porteus Linux is a remix of Slackware Linux that features the old KDE 4.0+ desktop environment (before the KDE Plasma series). This superfast Linux distribution is perfect for your antique hardware because it is based on bleeding-edge Slackware and gives you a 32-bit version. This distro can run from Live USB or a CD, or any bootable media and comes with just 300 MB of installer size. + +If you love the old KDE (like me!) and Slackware simplicity, this is a perfect distro for you, even your new hardware. + +![Porteus Linux][15] + +Porteus Linux + +[Download Porteus Linux][16] + +#### 9. Q4OS + +Q4OS is a unique Linux Distribution in this list. It targets the older Windows systems, which have become obsolete today. Many older PCs used to run Windows XP and Windows 7. They no longer work well with Windows and some modern Linux Distributions because the modern and updated OS requires much more computing power and resources. + +Q4OS targets those use cases and give you a well-designed Linux Distribution with features such as a 32-bit installer, Windows installer, Trinity Desktop environments, pre-made Windows themes, etc. + +![Q4OS - KDE Plasma Edition][17] + +Q4OS – KDE Plasma Edition + +[Download Q4OS][18] + +#### 10. MX Linux + +The final Linux Distribution in this list is the famous MX Linux, which has made its features and uniqueness in recent times. However, I doubted whether I would list MX Linux as lightweight. Because in my opinion, it is a medium-weight Linux Distribution if you consider its KDE Plasma flavour. + +![MX Linux][19] + +MX Linux + +However, it has some features which make it a perfect candidate for lightweight Linux distributions. MX Linux is based on the Debian Stable branch and created with antiX components. It features its own MX Linux native applications for your additional workflow. You get KDE Plasma, Xfce and Fluxbox as desktop options. + +[Download MX Linux][20] + +### Summary & Conclusion + +If you look closely, most of the lightweight Linux distribution we listed here is based on Debian Linux. It is truly the “Universal Operating System”. Modern Linux Desktop Environments like GNOME 40+, and KDE Plasma with Systemd init systems are no longer compatible with older hardware. Also, as technology progresses, more software complexity is introduced, requiring higher-end systems. + +That said, I hope you get some idea about which lightweight Linux distributions to choose for your old laptop or PC from this list. Each of them serves different tastes and needs with one goal: to revive your older systems. So, take your pick. + +Cheers. + +Some image credit: Respective Linux Distributions + +This article, Top Ten Lightweight Linux Distributions of 2022, is filed under the [Top Ten List][21]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/lightweight-linux-distributions-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/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/03/Linux-Lite.jpg +[3]: http://www.linuxliteos.com/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/03/Puppy-Linux-one-of-the-best-lightweight-Linux-Distribution-in-2022.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/03/BunsenLabs-Linux.jpg +[6]: https://www.bunsenlabs.org/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/03/Lubuntu.jpg +[8]: https://lubuntu.me/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/03/Absolute-Linux.jpg +[10]: https://www.absolutelinux.org/ +[11]: https://www.debugpoint.com/wp-content/uploads/2022/03/antiX-Linux-1024x640.jpg +[12]: https://antixlinux.com/ +[13]: https://www.debugpoint.com/wp-content/uploads/2022/03/LXLE-Linux.jpg +[14]: http://www.lxle.net/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/Porteus-Linux.jpg +[16]: http://www.porteus.org/ +[17]: https://www.debugpoint.com/wp-content/uploads/2022/03/Q4OS-KDE-Plasma-Edition.jpg +[18]: https://q4os.org/ +[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/MX-Linux-1.jpg +[20]: https://mxlinux.org/ +[21]: https://www.debugpoint.com/tag/top-10-list From ff4c777edac6c6f1e835e32659046e11fb470371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:06:44 +0800 Subject: [PATCH 177/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20To?= =?UTF-8?q?p=2010=20Most=20Beautiful=20Linux=20Distributions=20[Featured].?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 Most Beautiful Linux Distributions [Featured].md | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md diff --git a/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md b/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md new file mode 100644 index 0000000000..d6b6fd5a35 --- /dev/null +++ b/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md @@ -0,0 +1,216 @@ +[#]: subject: "Top 10 Most Beautiful Linux Distributions [Featured]" +[#]: via: "https://www.debugpoint.com/beautiful-linux-distributions-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 10 Most Beautiful Linux Distributions [Featured] +====== + +**We give you the top 10 beautiful Linux Distributions of 2022. They are a visual treat to your eyes while being a robust operating system.** + +The most fantastic thing about [Linux Distributions][1] is you can customize them to any extent to satisfy your visual needs. Whether based on Ubuntu or Fedora, you have all the tools you need to customize a Linux desktop. + +But, there are many Linux Distributions that looks stunning without any customization. The developers have made them so that you can experience the visual treat right after installation without any additional effort on customization. + +Hence, we compiled a list of the most beautiful Linux distributions you can try right now and give your PC a visual makeover. + +### Most Beautiful Linux Distributions of 2022 + +#### 1. Zorin OS + +The first Linux Distribution which we would like to feature is Zorin OS. The Zorin OS is a beautiful Linux distribution that uses Zorin Desktop based on GNOME. It is perfect for newcomers who want a nice desktop but are also productive at the same time. + +One unique feature of Zorin OS is its ability to transform its look to make it like any other operating system. That means the taskbar, application menu, and Dock can change with just one click option from its Layout settings, giving you the utmost flexibility and out-of-the-box experience while using ZorinOS. + +[Read more about Zorin OS][2] + +![Zorin OS 16 Desktop][3] + +Zorin OS 16 Desktop + +#### 2. Elementary OS + +The elementaryOS is one of the most beautiful Linux distributions today based on Ubuntu Long Term Support (LTS) release. This Linux Distribution uses the stunning Pantheon Desktop environment, whose look and feel is inspired by macOS. + +The elementary OS is perfect for those coming from macOS to the Linux world as they would find many things familiar, such as gestures and window decorations. + +However, you may not find many customization options available in elementary OS settings. You may need to depend on external script commands to make further customization. However, the default looks are beautiful and serve their purpose for the majority of users. + +The most significant advantage of elementary OS is its curated app store. The App Store provides you with all categories of applications specially designed for the elementary OS, which looks and works great. + +[Read more about elementaryOS][4] + +![elementary OS 6 ODIN Desktop][5] + +elementary OS 6 ODIN Desktop + +#### 3. Deepin OS + +The third distribution which we would like to highlight is Deepin OS. The Deepin OS is based on Debian and was created by Deepin Technology Co from China. It uses its own Deepin Desktop Environment based on Qt. The Deepin desktop looks incredible with its widgets, colour schemes, window decorations, and wallpapers that give you an out-of-the-box visual treat. + +With its well-polished visual components, you may think that it looks almost similar to macOS. And thanks to the Debian “stable” branch, Deepin OS is the perfect choice if you want an excellent-looking Linux distribution with stability. + +Why is Deepin OS beautiful? + +- Awesome Qt-based Deepin Desktop +- Native widgets and dark theme support +- Several options to customize the Dock +- Transparency, Window effects, CursDockheme, Icon Theme support +- Accent Color + +[Read more about Deepin OS][6] + +![Deepin 20 Desktop][7] + +Deepin 20 Desktop + +#### 4. Cutefish OS + +**Note**: Cutefish OS is currently undergoing a team change and will take time to get a new release. [Learn more here][8]. + +The fourth Linux Distribution which we feature here is [CutefishOS][9]. This Debian and Ubuntu-based Linux distribution feature a natively developed Cutefish desktop. This Linux Distribution is currently under development. But its looks are already making waves across the user’s base. + +Under the hood, CutefishOS is built upon Qt and KDE Framework. This efficient Linux Distribution with Cutefish desktop features the global menu feature at the top bar out of the box. + +The customization options are still being worked on as its currently under development. But with the latest release, you get the native dark mode, accent colour, animation effects, and dock position (left, right, bottom), among other options. + +You may go ahead if you want to experiment with a nice desktop that looks completely different. Also, you may go over the complete review and tutorials of this desktop presented below. + +[Cutefish OS Review][10] + +![Cutefish OS][11] + +Cutefish OS + +#### 5. Manjaro KDE Plasma + +The Manjaro Linux KDE Edition is one of the best-looking Linux distributions today. Based on Arch Linux, Manjaro KDE Edition features the stock KDE Plasma desktop environment with some additional tweaks and widgets. The green colour palette of Manjaro gives you a fresh look and feel. You can customize further with built-in KDE tools and settings and change icons and themes from KDE Stores. + +The Manjar KDE Edition is a perfect combination of performance and beauty with the power of Arch Linux. And it is an ideal starting point for the new Arch Linux users. + +[Read more about Manjaro KDE Desktop][12] + +![Manjaro KDE Plasma][13] + +Manjaro KDE Plasma + +#### 6. Garuda Linux + +The famous Garduda Linux is the 6th OS on this list. Garuda Linux is based on Arch Linux and brings a beautiful desktop for you. It features all major desktop environments with custom-designed icon themes and colour palettes. This operating system uses Zen Kernel, optimized for performance in your hardware. + +The look and feel are stunning in Garuda Linux. The macOS style looks like you get out of the box. The combination of neon icon theme, lovely colour palette, blur and Transparency with the global menu is perfect for its own. + +One of the primary advantages of Garuda is it provides you with the choice of all desktop environments – KDE Plasma, GNOME, Xfce, LXQt, MATE and others. + +[Read more about Garuda Linux][14] + +![Garuda Linux][15] + +Garuda Linux + +#### 7. Linux Mint Cinnamon Edition + +We all love Linux Mint because of its simplicity, elegance and stability. It is one of the most widely used and famous Linux distributions today. And perhaps the most used Linux distribution after Ubuntu. However, it is not that fancy-looking if you compare this with other Linux Distributions here in this list. + +But the default Cinnamon desktop looks clean and perfect if you like the legacy user interface, which looks fantastic. + +The Linux Mint Cinnamon edition is perfect for all users, especially new users of Linux or even those are migrating from Windows. The default looks and feels with Mint’s green colour palette look refreshing. + +If you cannot decide on an eye-candy Linux distribution with stability, choose the Linux Mint Cinnamon edition without a doubt. + +[Read more about Linux Mint][16] + +![Linux Mint 20 - Cinnamon Edition Desktop][17] + +Linux Mint 20 – Cinnamon Edition Desktop + +#### 8. Nitrux OS + +[Nitrux Linux][18]is based on Debian, which features a modified version of the KDE Plasma desktop called NX Desktop. This unique Linux distribution brings its own set of Nitrux applications built upon Maui kit and Qt. Nitrux is systemd-free and uses OpenRC as an init system. With all these unique features and stunning looks, it is one of the best Linux distributions today. + +Nitrux OS’s default look is perfectly designed with a modified KDE Plasma desktop with Kvantum theme engine, icon theme, colour palette and cursor theme. The team behind Nitrux OS also brings a separate desktop called Maui Shell, a beautiful convergent desktop that adapts itself based on screen size. + +If you need a KDE Plasma desktop with out-of-the-box modification with stability, then go for Nitrux OS. You won’t be disappointed. + +[Read more about Nitrux OS][18] + +![Nitrux 2.0 + Desktop][19] + +Nitrux 2.0 + Desktop + +#### 9. Ubuntu Kylin + +The Ubuntu Kylin is an official Ubuntu flavour designed explicitly for Chinese people who use a simplified Chinese script. However, it supports another language as well. + +This modified Ubuntu flavour uses Ubuntu Kylin User Interface (aka UKUI). The UKUI desktop is created using Qt to support MATE Desktop components. + +Ubuntu Kylin looks elegant, and it would remind you of a combination of GNOME and KDE Plasma in terms of looks and design. + +It features a nicely designed icon set, bottom taskbar, nice application view, app switcher, rounded corner, and more These features are carefully crafted. + +[Read more about Ubuntu Kylin][20] + +![Ubuntu Kylin Desktop][21] + +Ubuntu Kylin Desktop + +#### 10. Pop OS + +The Pop OS is developed by System76, which manufactures computer hardware. This Ubuntu-based Linux Distribution comes pre-installed in all the System6 hardware. However, you can separately download and install it from its official repository in your system. + +The Pop OS features the default GNOME desktop with additional tweaks and configurations. This desktop features the pre-GNOME 40-era desktop with several extensions and tweaks pre-configured. For example, you get a bottom dock that can be configured to move around on the desktop, a launcher to launch applications, rounded corners and many such features. This desktop also features auto-tiling and optimized keyboard navigation to make you more productive. + +The look and feel are clean and beautifully designed with a colour palette, built-in dark mode, rounded corners in the application window, and an icon theme. + +[Read more about Pop OS][22] + +![Pop OS 21.10 Desktop][23] + +Pop OS 21.10 Desktop + +### Closing Notes + +I hope this list of beautiful Linux distributions of 2022 helps you decide which one you want for your desktop or laptop. Because these are already configured to look beautiful, they are powerful. + +Take your pick and start your Linux journey. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/beautiful-linux-distributions-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/category/distributions +[2]: https://zorin.com +[3]: https://www.debugpoint.com/wp-content/uploads/2021/08/Zorin-OS-16-Desktop.jpg +[4]: https://elementary.io/ +[5]: https://www.debugpoint.com/wp-content/uploads/2021/08/elementary-OS-6-ODIN-Desktop.jpg +[6]: https://www.deepin.org/en/ +[7]: https://www.debugpoint.com/wp-content/uploads/2020/09/Deepin-20-Desktop.jpg +[8]: https://www.debugpoint.com/cutefish-development-restarts/ +[9]: https://en.cutefishos.com/ +[10]: https://www.debugpoint.com/2021/11/cutefish-os-review-2021/ +[11]: https://www.debugpoint.com/wp-content/uploads/2021/11/Cutefish-OS-1024x581.jpg +[12]: https://manjaro.org/downloads/official/kde/ +[13]: https://www.debugpoint.com/wp-content/uploads/2022/03/Manjaro-KDE-Plasma-1024x576.jpg +[14]: https://garudalinux.org/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/Garuda-Linux-1024x577.jpg +[16]: https://linuxmint.com/ +[17]: https://www.debugpoint.com/wp-content/uploads/2020/07/Linux-Mint-20-Cinnamon-Edition-Desktop.png +[18]: https://nxos.org/ +[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/Nitrux-2.0-Desktop-1024x581.jpg +[20]: https://www.ubuntukylin.com +[21]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Kylin-Desktop.jpg +[22]: https://pop.system76.com/ +[23]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop.jpg From ce176e612ab0d29792e5723e36c5c0ba633e2c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:07:14 +0800 Subject: [PATCH 178/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20To?= =?UTF-8?q?p=2010=20Linux=20Distributions=20for=20Programmers=20in=202022?= =?UTF-8?q?=20[Featured].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...istributions for Programmers in 2022 [Featured].md | 229 ++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md diff --git a/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md b/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md new file mode 100644 index 0000000000..5cb6d9db74 --- /dev/null +++ b/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md @@ -0,0 +1,229 @@ +[#]: subject: "Top 10 Linux Distributions for Programmers in 2022 [Featured]" +[#]: via: "https://www.debugpoint.com/top-linux-distributions-programmers-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 10 Linux Distributions for Programmers in 2022 [Featured] +====== + +**We review the top 10 best Linux distributions for programmers and developers (in 2022) to help with their work and personal projects.** + +The developers or the programmers use various tools and applications for their job or projects. It includes code editors, programming language compilers, add-ons, databases, etc. If you categorise the workflow of a modern developer – it contains a typical workflow as below – + +- accessing to the code repo +- programming +- debugging +- testing +- deploying + +And this typical workflow may need a wide range of tools. A standard list might be like this – + +- Code editors +- Simple Text Editors +- Web browsers (all variants for a web developer) +- Database engine +- A local server +- The respective programming language compiler +- Debuggers +- Monitoring or profiling tools (executables or network) + +Arguably, Linux is the best choice for programming compared to Windows. I am not comparing macOS in this article for several reasons. The primary reason for Linux is the best is because packages and apps with modern technology come as pre-installed or very easy to install in Linux distributions than Windows. + +Hence, in this post, we would like to list the best Linux Distributions for programmers in 2022. + +### Top 10 Linux Distributions for Programmers in 2022 + +#### 1. Fedora Workstation + +![Fedora 35 Workstation][1] + +Fedora 35 Workstation + +Perhaps the perfect Linux distribution among this list is Fedora Linux. Its default workstation edition for desktop brings an authentic GNOME desktop experience with its choice of packages. + +Fedora Linux default installation gives you all major development packages out of the box. They include PHP, OpenJDK, PostgreSQL, Django, Ruby on Rails, Ansible, etc. + +Installing additional applications such as Code editors and other packages are super simple with the dnf package manager. You can also take advantage of Software which is an app store where you can search and install applications with just a click of a button. + +Fedora Linux supports Snap and Flatpak, and that gives you more flexibility. You can also take advantage of the RPM Fusion repository in Fedora. The RPM Fusion repo gives you access to many free and non-free packages. Fedora Linux doesn’t want to include these packages in their main repo for license and other obvious reasons. + +You can check out the latest Fedora Linux on their official website below. + +[Download Fedora][2] + +#### 2. Ubuntu Linux + +![Ubuntu Desktop is a perfect Linux Distribution for Programmers][3] + +Ubuntu Desktop is a perfect Linux Distribution for Programmers. + +The second Linux distribution in this list is Ubuntu Linux. Ubuntu Linux is the most used Linux distribution today in server and desktop both. Ubuntu provides a long-term support release with five years of official support (plus another five years of maintenance support) and two short-term releases per year for power users. + +Due to its popularity, all the latest packages and application vendors provide Ubuntu (.deb) variants. The popularity also brings massive support in forums and documentation, perfect for developers, especially when you are stuck with errors during the development phase. Learn more about Ubuntu in the below link. + +[Download Ubuntu][4] + +#### 3. openSUSE + +openSUSE is one of the most stable and professionally built Linux distributions used in critical systems worldwide. This Linux Distribution is a go-to solution for enterprise-level workloads that include desktops, servers and thin clients. + +It has some advantages over Ubuntu and Fedora. First, it has two variants – Leap and Tumbleweed. The openSUSE Leap is a long-term support release (LTS) that provides up-to-date stability. The openSUSE Tumbleweed is a rolling release software that features bleeding edge packages. + +If you need the latest packages and hardware support for your development, then Tumbleweed is your choice. If you need stability and a longer-running system with low maintenance, choose openSUSE Leap. + +One of the advantages of using openSUSE for your development work is its package manager YaST. You can automate many activities with ease using the YaST package manager. + +On top of that, the openSUSE software delivery method is outstanding. Its software portal is on the web, which you can visit, search for a package and click install. + +If you are a little experienced in Linux compared to the new users, choose openSUSE for your development work. + +[Download openSUSE][5] + +#### 4. Manjaro Linux + +Manjaro Linux is an Arch Linux-based distribution that makes Arch installation easy. It is based on Arch Linux but brings several features such as a GUI installer like Ubuntu or Linux Mint, pamac installer, its curated repositories and more. Manjaro comes in three primary desktop flavours – GNOME, KDE Plasma and Xfce to cater to almost all user base. + +If you want Arch Linux and its rolling release package base for your development needs but do not want to get into the hassles of installing vanilla Arch, Manjaro is your perfect choice. + +[Download Manjaro][6] + +#### 5. Arch Linux + +While Manjaro and other Arch-based easy installation Linux distributions are out there, you may still want to get your hands dirty with the [vanilla Arch installation][7] with your custom desktop. + +This is more for power developers or programmers who want more control and a custom Linux operating system built for projects or needs. You may want to install Arch Linux with your favourite desktop to set up your development operating system in those cases. + +Suppose you are experienced in Arch Linux and computers in general. In that case, this is the best choice among all because it gives you complete control over each package in your custom build Linux operating system. + +[Download Arch Linux][8] + +#### 6. Pop OS + +The Pop OS (represented as Pop!_OS) was developed by computer manufacturer System76 for their series of hardware. Pop OS is free and open-source, based on Ubuntu. It follows the Ubuntu release cycle for its base while bringing additional tweaks, and packages customised for users. + +![Pop OS 21.10 Desktop Linux Distributions][9] + +Pop OS 21.10 Desktop + +Pop OS is perfect for programmers because it natively supports many programming languages based on Ubuntu. It markets itself as popular among computer scientists and programmers for its curated software centre, which has a dedicated section featuring applications for development and programming. + +On top of that, the COSMIC desktop (customised GNOME desktop) in Pop OS gives a unique experience to programmers with auto-tiling, a lovely colour palette, native dark mode and a wide range of settings. + +If you need an Ubuntu base and want a stable programmer-friendly Linux distribution, then choose Pop OS. + +[Download POP OS][10] + +#### 7. KDE Neon + +If you are a developer who feels comfortable in the KDE Plasma desktop and wants a Qt-based development environment, then KDE Neon is perfect for you. + +KDE Neon is a Linux distribution based on the Ubuntu LTS version with the latest KDE Plasma desktop, and KDE Framework packages. So, in KDE Neon, you get Ubuntu LTS stability with bleeding-edge KDE packages with Qt. + +This is a perfect Linux Distribution if you need a fast system with out-of-the-box applications, a friendly user interface and huge community support. + +[Download KDE Neon][11] + +#### 8. Debian + +Debian GNU/Linux needs no introduction. Debian’s stable branch is the base of Ubuntu and all its derivatives. Hence it is one of the primary and stable Linux. And it is perfect for your development environment because it gives you ultimate stability with multi-year support. + +Although, Debian’s stable branch is slightly conservative in adopting the latest packages. Debian maintainers carefully check and merge packages because the entire world (well, almost) depends on Debian stability. + +It is a perfect programming environment for advanced users and sysadmins if you want a stable and long-running dev environment with low maintenance effort. + +[Download Debian Linux][12] + +#### 9. Kali Linux + +The Kali Linux is developed by Offensive Security and primarily targets ethical hackers and penetration testers looking out for network vulnerabilities. It comes with tons of hacking tools and applications pre-installed. + +It can be a perfect Linux distribution for programmers and developers if you are experienced enough. Go for Kali Linux if you are well versed with Linux with some experience in navigating around errors and dependencies. + +[Download Kali Linux][13] + +#### 10. Fedora Labs Options + +And the final Linux Distribution in this list is a combination of Linux Distributions from Fedora Linux. + +Fedora Labs provides specially curated Linux Distributions for programmers, scientists and students with pre-loaded applications, respective packages and utilities. Many people are unaware of these, and when appropriately configured, they can act as perfect ready-made Linux distribution for you. + +Here’s a summary of them. + +**Fedora Scientific** + +- GNU Scientific Library for C/C++ +- MATLAB Compatible MGNU Octave +- LaTeX +- Maxima Computer Algebra System +- Gnuplot for drawing 2D and 3D graphs +- Pandas Python library for data science +- IPython +- Packages for Java and R programming languages + +- Combination of Scientific and numerical open-source tools with KDE Plasma desktop. +- Application list includes – +- Learn more about Fedora Scientific and [download it here][14]. + +**Fedora COMP NEURO** + +- Open source neuroscience applications and packages with GNOME Desktop environment. Learn more and [download it here][15]. + +**Fedora Robotics Suite** + +- Perfect Linux distribution combines the best open-source robotics applications and packages targeted to beginner and experienced Robotics scientists and programmers. +- Learn more and [download it here][16]. + +**Other solutions** from Fedora Linux include [Fedora Security Labs][17], [Fedora Astronomy][18] and [Fedora Python Classroom][19], which you want to check out. + +These Fedora Labs options can be perfect Linux distributions for programming projects or working in specific science fields. + +### Summary + +So, how do you choose your favourite among this list of best Linux Distributions for programmers? + +If you are unsure and want to have a development system up and running with minimal effort, go for Fedora Workstation or Ubuntu. + +If you have spare time or want more control over your system, like experimenting and being comfortable with occasional errors, then go for Arch Linux-based systems. + +Pop OS is also a good choice for new developers new to the Linux ecosystem. For specific needs, go to the Fedora Labs options. + +I hope this list of best Linux Distributions for programmers in 2022 gives you some guidance on choosing your favourite Linux distributions for programming and development. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/top-linux-distributions-programmers-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/wp-content/uploads/2021/11/Fedora-35-Workstation.jpg +[2]: https://getfedora.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-is-a-perfect-Linux-Distribution-for-Programmers.jpg +[4]: https://ubuntu.com/download +[5]: https://www.opensuse.org/ +[6]: https://manjaro.org/download/ +[7]: https://www.debugpoint.com/2022/01/archinstall-guide/ +[8]: https://archlinux.org/download/ +[9]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop.jpg +[10]: https://pop.system76.com/ +[11]: https://neon.kde.org/download +[12]: https://www.debian.org/distrib/ +[13]: https://www.kali.org/ +[14]: https://labs.fedoraproject.org/en/scientific/ +[15]: https://labs.fedoraproject.org/en/comp-neuro/ +[16]: https://labs.fedoraproject.org/en/robotics/ +[17]: https://labs.fedoraproject.org/en/security +[18]: https://labs.fedoraproject.org/en/astronomy +[19]: https://labs.fedoraproject.org/en/python-classroom From b7874a7500e54bc050bc210fbf1e49f55f1b01f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:07:51 +0800 Subject: [PATCH 179/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.7=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ma?= =?UTF-8?q?box=20Linux=20=E2=80=93=20Beautiful=20Arch=20Linux=20with=20Ope?= =?UTF-8?q?nbox=20[Review].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ux – Beautiful Arch Linux with Openbox [Review].md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sources/tech/20221027.7 ⭐️⭐️ Mabox Linux – Beautiful Arch Linux with Openbox [Review].md diff --git a/sources/tech/20221027.7 ⭐️⭐️ Mabox Linux – Beautiful Arch Linux with Openbox [Review].md b/sources/tech/20221027.7 ⭐️⭐️ Mabox Linux – Beautiful Arch Linux with Openbox [Review].md new file mode 100644 index 0000000000..bd72e0caf1 --- /dev/null +++ b/sources/tech/20221027.7 ⭐️⭐️ Mabox Linux – Beautiful Arch Linux with Openbox [Review].md @@ -0,0 +1,139 @@ +[#]: subject: "Mabox Linux – Beautiful Arch Linux with Openbox [Review]" +[#]: via: "https://www.debugpoint.com/mabox-linux-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Mabox Linux – Beautiful Arch Linux with Openbox [Review] +====== + +**Mabox Linux is a Manjaro Linux re-spin with a lightweight Openbox window manager, ready to use with pre-configured themes and utilities. We review the distribution in this post.** + +If you love window manager, rolling-release-based Arch Linux and are looking for a ready-made Linux distribution with this combination, try Mabox Linux. The Mabox Linux is built on top of the great Manjaro Linux with Openbox Window manager and several native utilities. + +Thanks to the Openbox, this Linux distribution is super-lightweight in resource consumption while being a beautiful desktop for everyone to use. The Mabox Linux tools adapted from BunsenLabs and inspired by Crunchbang brings some of their applications. + +Let’s do a deep dive on this awesome Linux Distribution. + +### Mabox Linux Review + +#### Installation and Live Medium + +One of the advantages of Mabox .ISO is it provides you free and proprietary drivers both the options during the LIVE medium boot process. This helps if you have NVIDIA or other hardware in the system. + +The LIVE desktop lets you install Mabox via the Calamares installer. The installation takes around 3 to 4 minutes on standard hardware, and it is error-free in my test. + +The installer is managed to detect the other operating systems in the test device. + +#### Look and Feel with Customization + +Mabox brings a pre-configured Openbox window manager. The stock version looks nice with dark skin and a menu with panels. + +The top panel is built using Tint2 and split into two sections. And Left panel gives you shortcuts to the main menu, file manager, web browser. Also, the panel have a different menu for the left and right-click mouse button. The right panel contains a resource monitor, volume control, screenshot shortcut and power menu. The top panel is not continuous and stay on top for application windows for certain themes. + +![Mabox Linux with Nord Theme][1] + +Mabox Linux with Nord Theme + +At the right section of the desktop, the pre-configured Conky script gives you system information with date, time, storage and other displays. + +The welcome window gives you quick start shortcuts on settings, help and support with links to documentation. + +The window managers are keyboard friendly and sometimes have trouble with the Mouse. But thanks to Openbox and pre-configured Mabox, you can easily use Mouse while increasing your productivity with nifty keyboard shortcuts. + +The right-click menu on the desktop gives you easily search and launch options. + +![Search and Launch from desktop][2] + +Search and Launch from desktop + +If you do not like the default look, you can customize it on your own with just a few clicks via Openbox and Tint2 panel configuration tool. + +![Main Application Menu][3] + +Main Application Menu + +Mabox has different themes as pre-set, including Panel and Concky scripts. You can click and apply with these stunning Mabox themes. It is one of the excellent features if you do not want to get into the hassles of configuring the panels, colours and Conky on your own. + +A good set of nice wallpaper gives you the flexibility to make it look more fabulous in no time. + +![Mabox Themes][4] + +Mabox Themes + +#### Applications + +Mabox Linux packages all necessary applications in its installer image. Here is a quick list of essential applications that are included. + +- Terminal – terminator +- Xpad – quick text pad +- File manager – PCManFM +- FSearch for desktop file search +- Flameshot screenshot utility +- Geany text editor +- Audacious music player +- Firefox web browser + +Mabox also includes its control centre to manage your system effectively. Mabox control center gives you the option to add/remove applications, update your system, launch several configuration windows for window manager components and many such options. + +If you cannot find any settings, you can easily find them in the Mabox control center via its logical grouping of system settings. + +![Mabox Control Center][5] + +Mabox Control Center + +#### What about the performance? + +The performance of Mabox Linux is super impressive. Thanks to the Openbox window manager, Mabox only uses around 350+ MB of RAM while the CPU hovers at 2% to 3% during the idle state. + +The default installation takes around 5.39 GB of disk space which is unbelievable with all these applications and settings programs pre-installed. + +It is so optimized that the highest app consuming more memory is Xorg with 90 MB. + +So, I thought of trying out heavy usage performance. And that performance is also surprising. I opened a file manager, Firefox, with three tabs, one text editor for development, a terminal window and the Control Center. With this workload, Mabox only consumes around 920 MB of memory and CPU at 6% to 7%. + +![Mabox Linux Heavy Workload Performance][6] + +Mabox Linux Heavy Workload Performance + +During the [review of several distributions][7], this is the first time I found a distro that did not cross 1 GB of memory during a heavy workload. But the results may vary in different use cases. Still, the metric is impressive. + +### Can Mabox Linux be used as daily driver? + +If you are familiar and comfortable with Arch Linux with the window manager, you can use Mabox Linux as a daily driver. A few well-packaged Arch Linux distros are available with a window manager, and Mabox is one of the best. + +![Mabox Linux Windows 95 preconfigured theme][8] + +Mabox Linux Windows 95 pre-configured theme + +### Summary + +I think the Mabox Linux team did a great job packaging all the components with Arch Linux and presented with a nice Linux Distribution. It does look stunning while consuming very few system resources. With the power of rolling-release based Arch Linux, I think you can trust this distro for long term usage. + +You can download Mabox Linux from its [official webpage][9]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/mabox-linux-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/wp-content/uploads/2022/03/Mabox-Linux-with-Nord-Theme.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/03/Search-and-Launch-from-desktop.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Main-Application-Menu.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/03/Mabox-Themes.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/03/Mabox-Control-Center.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/03/Mabox-Linux-Heavy-Workload-Performance.jpg +[7]: https://www.debugpoint.com/tag/linux-distro-review +[8]: https://www.debugpoint.com/wp-content/uploads/2022/03/Mabox-Linux-Windows-95-preconfigured-theme-1.jpg +[9]: https://maboxlinux.org/ From bd2fd56369b06868af1f0c1b64b73d4490e9c74c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:09:23 +0800 Subject: [PATCH 180/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.2=20=E2=AD=90=EF=B8=8F=20Customize=20GNOME=20?= =?UTF-8?q?in=20Ubuntu=2020.04=20with=20this=20Productive=20Look.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...E in Ubuntu 20.04 with this Productive Look.md | 167 ++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md diff --git a/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md b/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md new file mode 100644 index 0000000000..a8bdd34319 --- /dev/null +++ b/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md @@ -0,0 +1,167 @@ +[#]: subject: "Customize GNOME in Ubuntu 20.04 with this Productive Look" +[#]: via: "https://www.debugpoint.com/customize-gnome-ubuntu-2020/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Customize GNOME in Ubuntu 20.04 with this Productive Look +====== + +**In one of the early [guides][1], I explained the overall look and feel of the GNOME desktop. How you can visually change the look from a mundane desktop to something nice and better. This guide explains some steps which give you an idea of how you can Customize GNOME in Ubuntu 20.04 with a productive look.** + +Thanks to extensions, the GNOME desktop can be transformed to anything from visual and overall productivity. GNOME extensions are very powerful if you know which one to use and what customizations to apply. + +There are hundreds of extensions on the official GNOME extension website. That means you can customize GNOME in many ways. The following steps are merely a guide to show you how you can customize Ubuntu 20.04 with GNOME With a productive look. + +### Customize GNOME in Ubuntu + +A default Ubuntu installation with GNOME desktop look like this without much configuration. This guide helps you to changes this look. + +![Before Customization - GNOME][2] + +Before Customization – GNOME + +#### Prerequisite + +Make sure GNOME Extension is enabled in your browser. If you don’t know how to – [check this guide][3]. Or, just visit the official GNOME Extension page [here][4]. You can get a popup message at the top saying the steps (see below). Follow the instructions to enable GNOME extensions for your browser. + +![GNOME Extensions Page][5] + +GNOME Extensions Page + +I hope you have the admin password of the Ubuntu 20.04 installation where you are trying this out. + +And, install the [GNOME Tweak Tool][6]. You can use Ubuntu Software to install Or, run below from the terminal. + +``` +sudo apt-get install gnome-tweaks +``` + +#### Install Extensions + +Open the [GNOME Extension website][4]. + +Then, install all the below extensions. Open the link and click on the “OFF” button to enable and install respective extensions. + +- [Dash to panel][7] +- [Tray icons][8] +- [Open Weather][9] +- [User Themes][10] +- [Arc menu][11] + +#### Configure the extensions + +##### Dash to Panel + +Once you install, the Dash by default moves to the bottom of the screen. Right click on the panel at the bottom and open ‘Dash to Panel Settings’. Change below settings. + +![Dash to Panel Settings][12] + +Dash to Panel Settings + +**On the Position Tab** + +- Disable the Show Applications Button +- Move the Date menu after System menu +- Change Desktop button width to 15px. +- Turn on the override panel theme background opacity. Give value to 50%. + +**On the style tab** + +- Change the running indicator style to dots. + +##### Tray icons + +- No need to change any settings. + +##### Open Weather + +- Change the display, City and the temperature unit if you like. + +##### User Themes + +- No need to change any settings. + +##### Arc Menu + +- Open Arc Menu Settings + +**General Tab** + +- Choose Display Arc menu on Dash to panel. +- Choose Hot Key for Arc menu to Left Super key. + +**Menu Layout Tab** + +- Choose Modern menu layout to Redmond Menu Style + +![Arc Menu Settings][13] + +Arc Menu Settings + +**Menu Theme** + +- Choose override menu theme. Keep the theme as default, or, you can change as you wish. + +**Button Appearance** + +- Change the icon to anyone. I have selected the Ubuntu icon. +- Change Icon size to 40px. + +At this stage, the menu and panel should look like this. + +![Panel and Menu][14] + +Panel and Menu + +Almost done, couple of additional settings are required now. + +- Open the GNOME Tweak tool and go to the Appearance tab. Choose Shell theme to Yaru Dark. +- Open Settings and change the Appearance to Dark. +- Then change the desktop wallpaper to a nice wallpaper. + +If all goes well, you should have a nice productive yet beautiful looking desktop with you. The Arc Menu itself is a big productivity booster. + +### Final desktop + +![GNOME Desktop After customization - Ubuntu][15] + +GNOME Desktop After customization – Ubuntu + +So, that’s it with the steps. This is merely a guide. You can play around with the settings in hundreds of ways to make the GNOME desktop best suitable for you. + +Wallpaper Photo by **[Ethan Wu][16]** from **[Pexels][17]** + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/customize-gnome-ubuntu-2020/ + +作者:[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/2020/05/customize-gnome-in-ubuntu-20-04-with-a-new-look/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/11/Before-Customization-GNOME--1024x576.jpg +[3]: https://www.debugpoint.com/2018/05/how-to-install-and-use-gnome-shell-extensions-in-ubuntu/ +[4]: https://extensions.gnome.org/ +[5]: https://www.debugpoint.com/wp-content/uploads/2020/11/GNOME-Extensions-Page.jpg +[6]: https://www.debugpoint.com/2018/05/customize-your-ubuntu-desktop-using-gnome-tweak/ +[7]: https://extensions.gnome.org/extension/1160/dash-to-panel/ +[8]: https://extensions.gnome.org/extension/1503/tray-icons/ +[9]: https://extensions.gnome.org/extension/750/openweather/ +[10]: https://extensions.gnome.org/extension/19/user-themes/ +[11]: https://extensions.gnome.org/extension/1228/arc-menu/ +[12]: https://www.debugpoint.com/wp-content/uploads/2020/11/Dash-to-Panel-Settings.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2020/11/Arc-Menu-Settings.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2020/11/Panel-and-Menu.jpg +[15]: https://www.debugpoint.com/wp-content/uploads/2020/11/GNOME-Desktop-After-customization-Ubuntu-1024x576.jpg +[16]: https://www.pexels.com/@ethanwu?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels +[17]: https://www.pexels.com/photo/closeup-photo-of-water-dew-on-glass-1425298/?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels From f7fa1add8a8f4719b3369e46e56c6a86654a0f88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:10:06 +0800 Subject: [PATCH 181/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.9=20=E2=AD=90=EF=B8=8F=20Customize=20GNOME=20?= =?UTF-8?q?Desktop=20in=20Ubuntu=20with=20this=20Colorful=20Looks.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Desktop in Ubuntu with this Colorful Looks.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 sources/tech/20221027.9 ⭐️ Customize GNOME Desktop in Ubuntu with this Colorful Looks.md diff --git a/sources/tech/20221027.9 ⭐️ Customize GNOME Desktop in Ubuntu with this Colorful Looks.md b/sources/tech/20221027.9 ⭐️ Customize GNOME Desktop in Ubuntu with this Colorful Looks.md new file mode 100644 index 0000000000..e0268948c1 --- /dev/null +++ b/sources/tech/20221027.9 ⭐️ Customize GNOME Desktop in Ubuntu with this Colorful Looks.md @@ -0,0 +1,159 @@ +[#]: subject: "Customize GNOME Desktop in Ubuntu with this Colorful Looks" +[#]: via: "https://www.debugpoint.com/customize-gnome-ubuntu-2020-2/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Customize GNOME Desktop in Ubuntu with this Colorful Looks +====== + +**The default GNOME desktop in Ubuntu can be customized in many ways. There are many available GTK and icon themes which you can easily apply and transform your daily driver desktop to a different look without losing performance and productivity.** + +In this guide, I will apply one icon theme on top of the [earlier customization][1] we did for GNOME. If you are trying to configure the GNOME desktop look from a stock Ubuntu installation you can follow the below guide step by step. + +![Customize GNOME in Ubuntu - 1][2] + +Customize GNOME in Ubuntu – 1 + +### Customize GNOME Desktop in Ubuntu + +To Customize GNOME Desktop in Ubuntu in this guide, you need to enable GNOME Extensions, install GNOME Tweaks. You can do both with these quick steps. + +#### Enable Ubuntu for GNOME Extensions + +Open Firefox and visit the official GNOME Extension page [here][3]. You can get a popup message at the top saying the steps. Follow the instructions to enable GNOME extensions for your browser. + +#### Install GNOME Tweak Tool + +To install the [GNOME Tweak Tool.][4] You can use Ubuntu Software to install Or, run below from the terminal. + +``` +sudo apt-get install gnome-tweaks +``` + +#### Install Extensions + +Open the [GNOME Extension website][3]. + +Then, install all the below extensions. Open the link and click on the “OFF” at the right side of the page button to enable and install respective extensions. + +- [Dash to panel][5] +- [Tray icons][6] +- [Open Weather][7] +- [User Themes][8] +- [Arc menu][9] + +Not all these GNOME Extensions require configurations. We will configure the Dash to Panel, Open Weather, Arc Menu. + +#### Configure Dash to Panel + +After installation, the Dash by default moves to the bottom of the screen. Right, click on the panel at the bottom and open ‘Dash to Panel Settings’. Change the below settings. + +**On the Position Tab** + +- Disable the Show Applications Button +- Move the Date menu after the System menu +- Change Desktop button width to 15px. +- Turn on the override panel theme background opacity. Give value to 50%. + +**On the style tab** + +- Change the running indicator style to dots. + +#### Configure Open Weather + +Change the display, City, and temperature unit if you like. + +#### Configure Arc Menu + +Open Arc Menu Settings + +**General Tab** + +- Choose Display Arc menu on Dash to panel. +- Choose Hot Key for Arc menu to Left Super key. + +**Menu Layout Tab** + +- Choose Modern menu layout to Redmond Menu Style + +![Arc Menu Settings][10] + +Arc Menu Settings + +**Menu Theme** + +- Choose the override menu theme. Keep the theme as default, or, you can change as you wish. + +**Button Appearance** + +- Change the icon to anyone. I have selected the Ubuntu icon. +- Change Icon size to 40px. + +#### Additional Configurations + +Open the GNOME Tweak tool and go to the Appearance tab. Choose Shell theme to Yaru Dark.Open Settings and change the Appearance to Dark. + +#### Configure Icons + +In this guide, I have used the “BeautyLine” icon theme which you can download from the below link. This icon theme has a distinct and bright look and available icon sets for almost all generic applications. Once you apply, the overall desktop looks more focused on the dark theme backdrop. + +[Download BeautyLine icon pack][11] + +Once downloaded, extract the file. Then copy the top-level folder ‘beautyline” to the `/usr/share/themes`. + +- Open GNOME Tweak tool +- Go to the Appearance tab +- Change the Icon to BeautyLine +- Change the cursor to White glass. + +#### Configure Wallpaper + +For this guide, I have used the “[GNOME AGAIN][12]” wallpaper. You can use any dark themed wallpaper of your choice. + +That’s all. + +If all goes well, your desktop should look like this. + +![Customize GNOME in Ubuntu - 2][13] + +Customize GNOME in Ubuntu – 2 + +If you do not want to customize more, simply apply the Icons and set the Ubuntu’s default Dark mode, your desktop still looks nice (see below). + +![GNOME Customization - Ubuntu - Default][14] + +GNOME Customization – Ubuntu – Default + +This is just a guide and outlining the settings. You can play around with many settings of Arc Menu and GNOME tweaks settings to make it more personalized for you. You can even apply many GTK3 icon themes or shell themes as well. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/customize-gnome-ubuntu-2020-2/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/2020/11/customize-gnome-ubuntu-2020/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/12/Customize-GNOME-in-Ubuntu-1.jpg +[3]: https://extensions.gnome.org/ +[4]: https://www.debugpoint.com/2018/05/customize-your-ubuntu-desktop-using-gnome-tweak/ +[5]: https://extensions.gnome.org/extension/1160/dash-to-panel/ +[6]: https://extensions.gnome.org/extension/1503/tray-icons/ +[7]: https://extensions.gnome.org/extension/750/openweather/ +[8]: https://extensions.gnome.org/extension/19/user-themes/ +[9]: https://extensions.gnome.org/extension/1228/arc-menu/ +[10]: https://www.debugpoint.com/wp-content/uploads/2020/11/Arc-Menu-Settings.jpg +[11]: https://www.gnome-look.org/p/1425426/ +[12]: https://www.gnome-look.org/p/1043483/ +[13]: https://www.debugpoint.com/wp-content/uploads/2020/12/Customize-GNOME-in-Ubuntu-2.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2020/12/GNOME-Customization-Ubuntu-Default.jpg From c8e2bf4c165f423398d347282b23853df98919a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:10:53 +0800 Subject: [PATCH 182/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.10=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20C?= =?UTF-8?q?ustomize=20GNOME=2040=20Desktop=20to=20Look=20Like=20macOS=20[G?= =?UTF-8?q?uide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ize GNOME 40 Desktop to Look Like macOS [Guide].md | 247 ++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md diff --git a/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md b/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md new file mode 100644 index 0000000000..80b5e0f38f --- /dev/null +++ b/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md @@ -0,0 +1,247 @@ +[#]: subject: "Customize GNOME 40 Desktop to Look Like macOS [Guide]" +[#]: via: "https://www.debugpoint.com/gnome-40-macos-look-1/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Customize GNOME 40 Desktop to Look Like macOS [Guide] +====== + +**A quick guide for you to help you customizing the GNOME 40 desktop to look like macOS.** + +Ever since the GNOME 40 desktop was released, I was wondering whether it is even possible to make this desktop look like macOS. It seems we can do it as close as possible to look like macOS. Here’s how. + +There’s always debate that why people are so fascinated to make Linux Desktop look like macOS? If you want MacOS, then get a Mac. Well, keeping that debate aside, I ran some experiments to see whether the GNOME 40 and associated extension ecosystem evolved enough to make it look like macOS. + +The power of any Linux desktop is customization. And among the popular desktops such as KDE, GNOME, Deepin, Budgie – only KDE Plasma comes with built-in tools to customize it to anything you want. On the other hand, GNOME’s vanilla install doesn’t give you those options out-of-the-box. Hence to get the desired result, you need to depend on many extensions and tweaks. + +As GNOME 40 fundamentally changes the behavior of the desktop, the developers already ported their extensions to work on GNOME 40. And the majority of them working very well as of today. + +So, in this guide, we are going to use a bunch of extensions for GNOME 40 and the final desktop should look like this. + +![GNOME 40 Desktop Configuration - MacOS][1] + +GNOME 40 Desktop Configuration – MacOS + +![GNOME 40 Customization - MacOS - Workspace View][2] + +GNOME 40 Customization – MacOS – Workspace View + +### Steps to Customize GNOME 40 Desktop to Look Like macOS + +#### Setup Extensions and Tools + +As this guide requires the installation of GNOME extensions, you need to set up your system as per the Linux distribution. You can read our guide here on installing and using GNOME Extensions; Or, follow the quick guide below. + +Open a terminal and install the following. + +**Ubuntu** + +``` +sudo apt install chrome-gnome-shell +``` + +**Fedora** + +``` +sudo dnf install chrome-gnome-shell +``` + +You have to install an add-on based on your preferred browser. Install them using the below links: + +- [Chrome, Chromium, Google Chrome, Vivaldi][3] +- [Firefox][4] +- [Opera][5] + +Install the GNOME Tweak tool using the below command. + +**Ubuntu** + +``` +sudo apt install gnome-tweak-tool +``` + +**Fedora** + +``` +sudo dnf install gnome-tweak-tool +``` + +Install the [new Extensions Flatpak app][6] to manage extensions in GNOME 40 desktop. Go to Software and search for Extensions to install. + +#### Theme, Icon, and Cursor + +##### Download + +I have used the WhiteSur Shell Theme, BigSur Icon Theme, McMojave Cursors, and macOS BS Theme for Cairo Dock for this guide. + +Download the following packages and extract them. Open each of the below links and go to the Files section. Then download the light versions of the packages. If you want the dark theme, you can download the dark version as well. I have used the light theme for this guide. + +- [WhiteSur Shell Theme][7] +- [BigSur Icon Theme][8] +- [McMojave Cursors][9] +- [macOS BS Theme for Cairo Dock][10] + +After you download, extract them. Then create two directories named .icons and .themes under your home directory. Then copy the corresponding folders to .icons and .themes directories. The cursor theme goes to the .icons directory. Do not extract or copy the theme for the Cairo dock. + +#### Install Extensions and configuration + +##### Changes in Tweak Tool + +Open the GNOME Tweak Tool and make the following changes to apply the themes that you downloaded above. + +- On the Window Titlebars tab, turn on Maximize and Minimize and make the placement as Left. +- If you want to change the Font, you can. I kept the default Cantarell Regular font. +- On the Appearance tab change the Themes as below. + +![tweak settings for theme][11] + +tweak settings for theme + +##### Download and configure extensions + +We need a bunch of extensions for the desired looks. Here’s a list of the extensions compatible at the moment with GNOME 40. Install all of them using the below links. After installation, do the following configuration using the Extensions app. + +[Better OSD – GNOME 40][12] : Changes the OSD location in the desktop. + +- Change the horizontal and vertical position of the OSD as per your need so that it becomes like this on the right-top of the desktop. This depends on the resolution of your screen. + +![GNOME 40 OSD][13] + +GNOME 40 OSD + +[Notification Banner Position][14]: Move the default notifications from the center to any section you want. Only enable this extension, no change in settings is required. + +![Notification][15] + +Notification + +[Dynamic Panel Transparency][16]: Make your top panel transparent in GNOME 40 desktop. + +- Change the maximized opacity to 27% and unmaximized to 19% in the settings of this extension. + +[Frippery Move Clock][17]: Move the center clock to the right side of the panel. Only enable this extenstion. No setting change is required. + +[User Themes][18]: Ability to apply GNOME Shell theme. + +- Apply the WhiteSur-light Shell theme. + +![apply WhiteSur-light user theme][19] + +apply WhiteSur-light user theme + +[Blur My Shell][20]: Blurs the workspace and activtiy view and login screen. + +- On the settings, only turn on the blue for Dash and Overview and disable for Panel and others. Because this may conflict with the Transparent panel extension above. + +#### Dock Configuration + +There are many Docks available that are compatible with the GNOME desktop. For this guide, I have used the [Cairo Dock][21]with many customization options. Install it using the following command. + +**Ubuntu** + +``` +sudo apt install cairo-dock +``` + +**Fedora** + +``` +sudo dnf install cairo-dock +``` + +Download the Cairo dock theme for MacOS from the below link. + +[Cairo Dock theme for macOS look-a-like][10] + +After installation of the Cairo Dock, open the GNOME Tweak Tool and add Cairo dock as a startup application. + +From the application menu, launch Cairo Dock. And do the following settings. + +- Import the above theme from **Themes** Tab and **Apply** it. Browse to the downloaded tar file and apply. +- On the Configuration > Appearance Tab Choose **Icons as BigSur** and **Size=Big**. +- On the Configuration > Behaviour Tab change the settings as per the below image. + +![Cairo Dock Config - Behaviour][22] + +Cairo Dock Config – Behaviour + +- Change the **Addon Tab** applets which appear on the Dock as per your need. +- On the **Current Items** Tab, under the Bottom Dock, rearrange and remove anything you want. You can right-click on the items and remove them. +- Add a **custom Launcher** to launch the Application list of GNOME from Right Click on Dock > Add > Custom Launcher. +- On the Current Items Tab, under the Bottom Dock, modify the custom launcher and give a name. For example, for this guide – I have given the name “Finder” and Command as below which would bring up the GNOME Application list. + +![Cairo Dock custom launcher][23] + +Cairo Dock custom launcher + +``` +dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.shellDBusService.ShowApplications();' +``` + +After these configuration, your dock should look like below. + +![Cairo Dock Animation][24] + +Cairo Dock Animation + +#### Additional Configuration + +Time for a nice wallpaper. There are a bunch of wallpapers available for Mac in the below link. Grab one and apply. + +[download cool wallpapers][25] + +If you fancy some more customization, then you can opt for below. + +- For Wobbly windows animation when you drag, download, and apply [Compiz alike windows effect.][26] +- Install [Albert Launcher][27] for your desktop which is like KDE KRunner. + +### Closing Notes + +I hope this guide gives you a starting point for your GNOME 40 desktop customization. There are hundreds of themes, icons, and extensions available compatible with the new desktop workflow. You can create your own desktop look as you wish. + +Do let me know in the comments below, whether it helped you; Also let us know about some cool extensions, themes for everyone. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/gnome-40-macos-look-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://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-Desktop-Configuration-MacOS.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-Customization-MacOS-Workspace-View.jpg +[3]: https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep +[4]: https://addons.mozilla.org/en/firefox/addon/gnome-shell-integration/ +[5]: https://addons.opera.com/en/extensions/details/gnome-shell-integration/ +[6]: https://flathub.org/apps/details/org.gnome.Extensions +[7]: https://www.pling.com/p/1403328 +[8]: https://www.pling.com/p/1399044 +[9]: https://www.pling.com/p/1355701 +[10]: https://www.pling.com/p/1401527 +[11]: https://www.debugpoint.com/wp-content/uploads/2021/05/tweak-settings-for-theme.jpg +[12]: https://extensions.gnome.org/extension/4231/better-osd-gnome-40/ +[13]: https://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-OSD.jpg +[14]: https://extensions.gnome.org/extension/4105/notification-banner-position/ +[15]: https://www.debugpoint.com/wp-content/uploads/2021/05/Notification.jpg +[16]: https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/ +[17]: https://extensions.gnome.org/extension/2/move-clock/ +[18]: https://extensions.gnome.org/extension/19/user-themes/ +[19]: https://www.debugpoint.com/wp-content/uploads/2021/05/apply-WhiteSur-light-user-theme.jpg +[20]: https://extensions.gnome.org/extension/3193/blur-my-shell/ +[21]: http://glx-dock.org/ +[22]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-Config-Behaviour.jpg +[23]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-custom-launcher.jpg +[24]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-Animation.gif +[25]: https://www.pling.com/p/1399346%E2%80%8B +[26]: https://extensions.gnome.org/extension/2950/compiz-alike-windows-effect/ +[27]: https://albertlauncher.github.io/installing/ From 5e968468acc6266d0173d5b4182c610a1c834fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:11:33 +0800 Subject: [PATCH 183/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.11=20=E2=AD=90=EF=B8=8F=20Customize=20GNOME?= =?UTF-8?q?=20Desktop=20in=20Ubuntu=20with=20a=20Clean=20Look.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e GNOME Desktop in Ubuntu with a Clean Look.md | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 sources/tech/20221027.11 ⭐️ Customize GNOME Desktop in Ubuntu with a Clean Look.md diff --git a/sources/tech/20221027.11 ⭐️ Customize GNOME Desktop in Ubuntu with a Clean Look.md b/sources/tech/20221027.11 ⭐️ Customize GNOME Desktop in Ubuntu with a Clean Look.md new file mode 100644 index 0000000000..98c4337ab5 --- /dev/null +++ b/sources/tech/20221027.11 ⭐️ Customize GNOME Desktop in Ubuntu with a Clean Look.md @@ -0,0 +1,173 @@ +[#]: subject: "Customize GNOME Desktop in Ubuntu with a Clean Look" +[#]: via: "https://www.debugpoint.com/customize-gnome-clean-look-2022-1/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Customize GNOME Desktop in Ubuntu with a Clean Look +====== + +**This tutorial gives you some easy steps to customize GNOME Desktop with a clean look with minimal effort. Here’s how.** + +If you are bored with the usual look of your favourite GNOME Desktop, then you are on the right page. Let’s install some themes icons and do some tweaks to uplift your desktop. We will transform this below desktop (GNOME 40.5 with Ubuntu 21.10). + +![Ubuntu Desktop with GNOME - Before Customization][1] + +Ubuntu Desktop with GNOME – Before Customization + +This customization session will use the great-looking Colloid GTK theme, Mkos-Big-Sur icons, a cool cursor theme with additional extensions, and Conky. + +### Customize GNOME Desktop and uplift it with a Clean Look + +#### Installation + +- First, setup the GNOME Shell Extenstion by running the following command from the terminal. + +``` +sudo apt install chrome-gnome-shell +``` + +- Then[open this page][2] and add the plugin to your browser (Chrome/Firefox) for GNOME Extension. + +![Add Browser Add-on for GNOME Shell Extension][3] + +Add Browser Add-on for GNOME Shell Extension + +- Install the Extensions Flatpak application which you may need to change settings of GNOME Extensions. + +[Install Extensions App][4] + +- After that, install GNOME Tweaks tool using the following command from the terminal. We will use this utility to change the Themes and other settings. + +``` +sudo apt install gnome-tweaks +``` + +- Download the Colloid GTK Theme from the below link. After download extract the files. Then copy the extracted folder to ~/.themes in your home directory. If the folder doesn’t exists, create it. After you done this, open a terminal and run the `install.sh` file. + +[Download Colloid GTK Theme][5] + +- Download the Mkos-Big-Sur icon theme from the below link. Once it is downloaded, extract the files and copy the parent folder to ~/.icons in your home directory. + +[Download Icon theme][6] + +- Download the below cursor theme and follow the same steps as above. Copy the extracted folder to the ~/.icons directory. Then open a terminal and run the `install.sh` file. + +[Download Cursor Theme][7] + +Now, it’s time to install Conky and some extensions that would eventually give your GNOME Desktop a clean look. To install Conky and a Conky manager, open the terminal prompt and run the below commands. + +``` +sudo apt install conky +``` + +``` +sudo add-apt-repository ppa:tomtomtom/conky-managersudo apt update && sudo apt install conky-manager2 +``` + +Now, open each of the below links for the extensions and install them in sequence. To install, open the page and click on the ON/OFF toggle switch (see below image). It would ask for your admin password and permission to install. + +- [Move Clock][8] +- [Dash to Dock][9] +- [Tray Icons][10] +- [Arc Menu][11] +- [User Themes][12] + +![GNOME Extension - Page][13] + +GNOME Extension – Page + +#### Configurations + +After completing the above steps, it’s time to do some basic configurations. You may see some of the changes when you installed the GNOME Extensions above. For example, the clock should already be shifted to the right side when installing the Move Clock extension above. + +**Tweaks** + +- Open the Tweaks tool (search from the application menu) and go to Apperance. + +- Change the Application theme to **Colloid Dark**, Cursors as **Vimix Cursors**, Icons as **Mkos-big-sur**and Shell Theme as **Colloid Dark**. If you want, you can choose the light theme and different option. + +![Apply Themes][14] + +Apply Themes + +**Arc Menu** + +- Open the Extenstion application and go to the Arch Menu Settings. + +- Change the menu layout to `Alternative Menu Layout > Raven`. + +- Change the application menu button to some icons you prefer. For this guide, I have downloaded a GNOME icon from [here][15]. And applied it via Arc Menu `Settings > Button Appearance > Browse Icon`. And it should look like this. + +![Arch Menu - Raven][16] + +Arch Menu – Raven + +- Enable Shrink the dash +- Customize windows counter indicator = Dashes +- Enable Customize Dash color +- Customize Opacity = Fixed +- Opacity to 12% + +- Open Dash to Dock settings from the Extension application. In the Appearance tab, change the below items: + +- In the position and size tab, change the Dock position to bottom and Icon size limit to 39px. + +- You can start Conky if you like and download a nice wallpaper which goes with Colloid theme. For this demonstration I have [chosen a nice grey-ish wallpaper][17] which looks stunning with the dark theme. + +### Result + +After all the configuration, and if all goes well, your desktop should look like this. + +![GNOME Customization in Ubuntu with a clean look-1][18] + +GNOME Customization in Ubuntu with a simple look-1 + +![GNOME Customization in Ubuntu with a clean look-2][19] + +GNOME Customization in Ubuntu with a simple look-2 + +![GNOME Customization in Ubuntu with a clean look-3][20] + +GNOME Customization in Ubuntu with a simple look-3 + +You can play around with different variants of this theme with several combinations of settings. And create a look that suits you better. + +I hope this guide helps you transform your GNOME desktop with a clean look. Let me know in the comments down below if you like this setup. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/customize-gnome-clean-look-2022-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://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-with-GNOME-Before-Customization.jpg +[2]: https://extensions.gnome.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Add-Browser-Add-on-for-GNOME-Shell-Extension.jpg +[4]: https://dl.flathub.org/repo/appstream/org.gnome.Extensions.flatpakref +[5]: https://github.com/vinceliuice/Colloid-gtk-theme/archive/refs/heads/main.zip +[6]: https://github.com/zayronxio/Mkos-Big-Sur/archive/refs/heads/master.zip +[7]: https://github.com/vinceliuice/Vimix-cursors +[8]: https://extensions.gnome.org/extension/2/move-clock/ +[9]: https://extensions.gnome.org/extension/307/dash-to-dock/ +[10]: https://extensions.gnome.org/extension/2890/tray-icons-reloaded/ +[11]: https://extensions.gnome.org/extension/3628/arcmenu/ +[12]: https://extensions.gnome.org/extension/19/user-themes/ +[13]: https://www.debugpoint.com/wp-content/uploads/2018/05/GNOME-Extension-Page.png +[14]: https://www.debugpoint.com/wp-content/uploads/2022/03/Apply-Themes.jpg +[15]: https://icons.iconarchive.com/icons/tatice/operating-systems/32/Gnome-icon.png +[16]: https://www.debugpoint.com/wp-content/uploads/2022/03/Arch-Menu-Raven.jpg +[17]: https://i.redd.it/1ttvv79apo851.png +[18]: https://www.debugpoint.com/wp-content/uploads/2022/03/GNOME-Customization-in-Ubuntu-with-a-simple-look-1.jpg +[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/GNOME-Customization-in-Ubuntu-with-a-simple-look-2.jpg +[20]: https://www.debugpoint.com/wp-content/uploads/2022/03/GNOME-Customization-in-Ubuntu-with-a-simple-look-3.jpg From 18033b253b40e0543fa91d3f5eae01e9b0afe160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:12:04 +0800 Subject: [PATCH 184/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221027.12=20=E2=AD=90=EF=B8=8F=20Customize=20GNOME?= =?UTF-8?q?=2042=20with=20A=20Polished=20Look.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Customize GNOME 42 with A Polished Look.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md diff --git a/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md b/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md new file mode 100644 index 0000000000..2401c9249d --- /dev/null +++ b/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md @@ -0,0 +1,142 @@ +[#]: subject: "Customize GNOME 42 with A Polished Look" +[#]: via: "https://www.debugpoint.com/customize-gnome-42-look-1/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Customize GNOME 42 with A Polished Look +====== + +**A tutorial on how you can give your favourite GNOME desktop a polished look, in 5 minutes.** + +There are many ways you can customize your favourite GNOME desktop with icons, themes, cursors and wallpapers. This article shows you how to give the GNOME 42 desktop a more polished look. The GNOME 42 desktop environment is available with the recently released Ubuntu 22.04 LTS and Fedora 36. + +Before you read further, here’s how it looks with a side by side comparison (before and after). + +![GNOME before customisation][1] + +![GNOME after customisation][2] + +I am going to divide this tutorial into two sections. + +The first section deals with setting up and installing required packages. And second, how to apply various settings to get your desired look. + +This tutorial was mainly tested on Ubuntu 22.04 LTS. However, it should work in other variants of Ubuntu and Fedora. + +### Customize GNOME 42 with a Polished Look + +#### Setup + +- First, enable your system for Flatpak because we need to install the Extension Manager to download some required GNOME Shell extensions for this tutorial. + +- So, to do that, open up a terminal and run the following commands. + +``` +sudo apt install flatpak gnome-software-plugin-flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +``` + +- Reboot the computer once done. + +- Then run the following command from the terminal to install the Extensions Manager app to download GNOME Shell Extensions. + +``` +flatpak install flathub com.mattjakeman.ExtensionManager +``` + +- Open the Extension Manager application and install two extensions. The first one is **Floating Dock** which features a super cool dock which you can move around anywhere on your desktop. Second, install the **User themes** extensions to help you install the external GTK themes in your Ubuntu Linux. + +![User Themes Extension][3] + +User Themes Extension + +![Floating Dock Extension][4] + +Floating Dock Extension + +- Secondly, install the [Materia Theme][5] using the below commands. You have to build it as it doesn’t have any executable. Run the following commands in sequence in Ubuntu to install. + +``` +git clone https://github.com/ckissane/materia-theme-transparent.gitcd materia-theme-transparentmeson _buildmeson install -C _build +``` + +- Additionally, download the [Kora Icon theme][6] from the below link. After downloading, extract the files and copy the below four folders to `/home//.icons` path. Create the .icons folder if it is not present. + +[Download Kora Icon Theme][7] + +![Kora Icon Theme][8] + +Kora Icon Theme + +- Besides the above changes, download the awesome Bibata cursor theme from the below link. After download, extract and copy the folders to the same `/home//.icons` folder. + +[Download Bibata Cursor Theme][9] + +- In addition to the above, if you want a nice font which goes with the above themes, [download Robot font][10] from Google Fonts and copy them to `/home//.fonts` folder. + +- Finally, restart your system once again. + +#### Configuration + +- Open the Extension Manager, enable the Floating Dock and User Themes, and disable the Ubuntu Dock. + +![Changes to Extensions][11] + +Changes to Extensions + +- In addition, open the Floating dock settings and make the following changes. + +![Floating Dock Settings][12] + +Floating Dock Settings + +- Cursor: Bibata-Original-Ice +- Shell Theme: Materia +- Icon: Kora + +- Furthermore, open the [GNOME Tweak Tool][13], and go to the Appearance tab. Set the followings. + +- Other than that, you may also want to change the font. To do that, go to the Fonts tab and change the document and interface to Robot 10pt. + +- Alternatively, you can also change the accent colour and style from Settings which comes by default with Ubuntu 22.04. + +- Finally, download a nice wallpaper as per your preference. For this tutorial, I have downloaded a sample wallpaper from [here][14]. + +- If all goes well, you should have a nice desktop, as shown below. + +![Customize GNOME 42 - Final Look][15] + +Customize GNOME 42 – Final Look + +Enjoy a polished GNOME 42. Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/customize-gnome-42-look-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://i2.wp.com/www.debugpoint.com/wp-content/uploads/2022/05/GNOME-before-customisation.jpg?ssl=1 +[2]: https://i0.wp.com/www.debugpoint.com/wp-content/uploads/2022/05/GNOME-after-customisation.jpg?ssl=1 +[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/User-Themes-Extension2.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/Floating-Doc-Extension.jpg +[5]: https://github.com/ckissane/materia-theme-transparent +[6]: https://github.com/bikass/kora/ +[7]: https://github.com/bikass/kora/archive/refs/heads/master.zip +[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/Kora-Icon-Theme.jpg +[9]: https://www.pling.com/p/1197198/ +[10]: https://fonts.google.com/specimen/Roboto +[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/Changes-to-Extensions.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/05/Floating-Dock-Settings.jpg +[13]: https://www.debugpoint.com/2018/05/customize-your-ubuntu-desktop-using-gnome-tweak/ +[14]: https://www.pexels.com/photo/colorful-blurred-image-6985048/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/05/Customize-GNOME-42-Final-Look.jpg From dd175133be4570a8dfb09f2f9561a0c4539a6f45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:13:16 +0800 Subject: [PATCH 185/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221026.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ub?= =?UTF-8?q?untu=20Unity=2022.10=20Review=20A=20Promising=20=E2=80=9COffici?= =?UTF-8?q?al=E2=80=9D=20Start.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Unity 22.10 Review A Promising “Official” Start.md | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 sources/tech/20221026.3 ⭐️⭐️ Ubuntu Unity 22.10 Review A Promising “Official” Start.md diff --git a/sources/tech/20221026.3 ⭐️⭐️ Ubuntu Unity 22.10 Review A Promising “Official” Start.md b/sources/tech/20221026.3 ⭐️⭐️ Ubuntu Unity 22.10 Review A Promising “Official” Start.md new file mode 100644 index 0000000000..7c3ed35f1f --- /dev/null +++ b/sources/tech/20221026.3 ⭐️⭐️ Ubuntu Unity 22.10 Review A Promising “Official” Start.md @@ -0,0 +1,130 @@ +[#]: subject: "Ubuntu Unity 22.10 Review: A Promising “Official” Start" +[#]: via: "https://www.debugpoint.com/ubuntu-unity-22-10-review/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu Unity 22.10 Review: A Promising “Official” Start +====== + +**We review Ubuntu Unity 22.10, which becomes an official Ubuntu flavour from this release onwards.** + +For the fans of Unity desktop, it’s a piece of good news. Ubuntu Unity 22.10 Kinetic Kudu became the official Ubuntu flavour featuring Unity desktop after Canonical officially abandoned it on April 2018. You can now enjoy the officially supported Unity desktop with an Ubuntu base. + +That means you get the usual security and package updates following the Ubuntu release schedule. + +I did a hands-on on the official Ubuntu Unity desktop, and here’s what I found. + +![Ubuntu Unity 22.01 Login Screen][1] + +Ubuntu Unity 22.01 Login Screen + +### Ubuntu Unity 22.10 Review + +At its core, Ubuntu Unity 22.10 features Linux Kernel 5.19, and the core modules are aligned with Ubuntu 22.10. The desktop version is Unity 7, which is the current stable version. + +However, its successor UnityX is still under development for more than a year, so hopefully, you will get a more advanced Unity desktop in the future. + +#### First look and themes + +At first glance, you should notice the purple-based Ubuntu Unity with the Kinetic Kudu mascot. The left bar is static and includes only the essential items (LibreOffice & Settings). The shortcut to global search is at the top of the sidebar. The top bar contains the power menu, network, calendar and time widgets. And the Trash shortcut is at the bottom of the left bar. + +![Unity Global Search][2] + +Unity Global Search + +The default theme is Yaru dark with a purple-based colour combination. Which I believe doesn’t look good with orange borders in several controls (text box, etc.). In addition, the Yaru and Yaru dark both are strict light and dark themes. That means you can’t have a mix of a light theme with a dark title bar. + +However, the team also includes the good ol’ Ambiance and Radiance themes which you can easily apply with the Unity Tweak Tool (requires installation) – this would give you the good ol’ Ubuntu feel. + +![Yaru Dark Theme in Ubuntu Unity 22.10][3] + +Yaru Dark Theme in Ubuntu Unity 22.10 + +![Ambiance theme brings back the old days][4] + +Ambiance theme brings back the old days + +The main attraction of Unity is two significant items. The global search via HUD and the global menu at the top bar. In this release, you get both of them. This is an ideal desktop for those who want clean app windows and more screen space. + +![Unity Global search inside app options][5] + +Unity Global search inside app options: one of the best features of Unity + +Furthermore, a new feature adds a tweak at the top bar where you can switch the themes without launching the Unity Tweak tool. However, this option is only visible for the Yaru theme for some strange reason. + +![New option to switch accent color and theme][6] + +New option to switch accent colour and theme + +#### Applications + +If you are new to Ubuntu Unity, you should know that this distro doesn’t have any native apps of its own. It ships basic apps, which most users need. + +However, there is a change in the 22.10 version. Earlier (when it was unofficial), Ubuntu Unity was shipping some GNOME Apps as default. Since the implementation of libadwaita and moving to GTK4, the team now replaced most of them with the native-MATE applications. For example, the Pluma text editor from MATE is now part of Unity. + +Other than that, Firefox Snap and Thunderbird [email client][7] is added as default, also LibreOffice suite. + +Thanks to the above apps, the ISO size is less than 3 GB, and performance is way faster. + +### Performance + +Overall, Ubuntu Unity 22.10 performance is speedy. Both in idle and heavy workload state. There are no fancy animations other than the places where it is needed. The HUD search is fast, and you can launch apps right away. + +In addition, window operations such as minimize, maximize, and drag feel snappy. There is no lag whatsoever. At idle, it uses 1GB of memory. In a heavy workload state, it increases up to 2.2GB, based on how many apps you are running. + +![Ubuntu Unity performance at idle state][8] + +Ubuntu Unity performance at idle state + +Ubuntu Unity is really outperforming vanilla Ubuntu. It feels faster than vanilla GNOME with Ubuntu. It might be one of the contenders for lightweight Linux distros in the coming days. + +However, the default installation takes 12 GB of disk space – which I believe is a little higher than other distros in the same category. + +### Summary + +- Linux Kernel 5.19 with Ubuntu 22.10 base +- Firefox 106 web browser (Snap) +- Flatpak is not installed by default +- Unity 7 desktop +- Nemo file manager +- Pluma text editor (1.26) +- LibreOffice 7.4 +- Thunderbird 102. +- Only available as X.Org (not yet ready for Wayland) + +### Wrapping Up + +Ubuntu Unity 22.10, being official, is a promising start for the Unity desktop to become more mature. From the development viewpoint, a colossal amount of work awaits to make it to UnityX (the next version of 7). Also, it only supports X.Org and no Wayland at the moment. Wayland might be a deal breaker for some users to adopt this as a daily driver for performance-centric workloads. + +That being said, Ubuntu Unity 22.10 is perfect for the average user for everyday work and perfect for smaller display form factors. If you like the Unity design, HUD search, global menu, and left action buttons – then it’s for you. + +Give it a try. + +You can download Ubuntu Unity 22.10 on the [official website][9]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/ubuntu-unity-22-10-review/ + +作者:[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/10/Ubuntu-Unity-22.01-Login-Screen-1024x638.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/Unity-Global-Search.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Yaru-Dark-Theme-in-Ubuntu-Unity-22.10.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Ambiance-theme-brings-back-the-old-days.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Unity-Global-search-inside-app-options.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-option-to-switch-accent-color-and-theme.jpg +[7]: https://www.debugpoint.com/best-email-client-linux-windows/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Ubuntu-Unity-performance-at-idle-state.jpg +[9]: https://cdimage.ubuntu.com/ubuntu-unity/releases/kinetic/release From 51b95dcdf4d02654d9d10b89ef596b904b2b4810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:13:47 +0800 Subject: [PATCH 186/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221026.4=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20Python=203.11=20in=20Ubuntu=20and=20Other=20Related=20Linux.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...thon 3.11 in Ubuntu and Other Related Linux.md | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md diff --git a/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md b/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md new file mode 100644 index 0000000000..711b8e63e3 --- /dev/null +++ b/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md @@ -0,0 +1,182 @@ +[#]: subject: "How to Install Python 3.11 in Ubuntu and Other Related Linux" +[#]: via: "https://www.debugpoint.com/install-python-3-11-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Python 3.11 in Ubuntu and Other Related Linux +====== + +**Planning to get Python 3.11 installed for your project work? Here’s how to install Python 3.11 in Ubuntu and related distros.** + +![][1] + +Python 3.11 was released on Oct 25, 2022, and claims to be 10-60% faster than the prior [Python 3.10][2] version. + +As always, the feature and improvement list are significantly high in 3.11. Here’s a brief. + +- Error tracebacks are not more definite, which gives you an exact statement that causes the error. +- Introduction of exception groups and new except* syntax +- You can add custom text in the base expression for better error handling in your code. +- Introduction of Variadic generic to allow array-like structure in numerical Python libraries )such as NumPy) +- Dictionary type TypedDict gets improvement where you can now specify whether individual dictionary items are mandatory or optional. +- Introduction of Self annotation, which allows classes to return their own type instance. + +And many more, which you can read in detail on the official [3.11 highlights page][3]. + +### Current Python versions in Linux Distros + +[Ubuntu 22.04 LTS][4] have Python 3.10, whereas the recently released [Ubuntu 22.10 Kinetic Kudu][5] also have the same. However, Kinetick Kudu will probably feature 3.11 within a few weeks. + +Also, [Fedora 37][6] (planned for Nov 1) already has the Python 3.11 RC2 and will get the version. + +So, if you are running Ubuntu 22.04 LTS, [Linux Mint 21][7] or any Ubuntu-LTS-based distros, here’s how you can install Python 3.11 via a PPA. + +**Note**: Use this method with caution. Make sure you know what you are doing because replacing the base Python version of a Linux distribution may cause an unstable system. Many default applications and packages depend on the 3.10 version. + +### How to install Python 3.11 in Ubuntu and related distros + +- Open a terminal prompt and add the following PPA. + +``` +sudo add-apt-repository ppa:deadsnakes/ppa +``` + +- Refresh the cache using the below command. + +``` +sudo apt update  +``` + +- And install Python 3.11 using the below command. + +``` +sudo apt install python3.11 +``` + +![Install Python 3.11 in Ubuntu 22.04 LTS][8] + +Install Python 3.11 in Ubuntu 22.04 LTS + +### Set Default Python Versions + +In theory, you can install multiple versions of Python in Linux distros, but the default can only be one version. Setting up Python 3.11 as default requires some additional steps. Follow along. + +However, before you do that, make sure you know which applications depend on Python 3.10. You can easily find it out using `apt-cache rdepends` command as below. + +``` +debugpoint@debugpoint-22-04:~$ apt-cache rdepends python3.10 +python3.10 +Reverse Depends: +python3.10-dbg +python3.10-venv +python3.10-full +libpython3.10-testsuite +idle-python3.10 +idle-python3.10 +python3.10-minimal +python3.10-doc +python3.10-dev +python3 +virtualbox +python3.10-venv +python3.10-full +libpython3.10-testsuite +kitty +idle-python3.10 +idle-python3.10 +python3.10-minimal +python3.10-doc +python3.10-dev +python3.10-dbg +python3-uno +python3-all +python3.10-dbg +virtualbox +stimfit +python3.10-venv +python3.10-full +python3-stfio +python3-escript-mpi +python3-escript +python3-csound +plasma-firewall +pitivi +obs-studio +liferea +libpython3.10-testsuite +libglib2.0-tests +kitty +idle-python3.10 +idle-python3.10 +cluster-glue +atac +rhythmbox-plugins +python3.10-minimal +python3.10-doc +python3.10-dev +python3 +python3-uno +python3-all +gedit +``` + +#### Use Python 3.11 as the default Python3 + +- First, check the current default version using the below command from the terminal. + +``` +python3 --version +``` + +- Use `update-alternatives` to create symbolic links to `python3` + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 +``` + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 +``` + +- And choose which one to use as Python3 via the command: + +``` +sudo update-alternatives --config python3 +``` + +![Setting up default python version to 3.11][9] + +Setting up default python version to 3.11 + +Now you can start using the latest Python in your current Ubuntu version for your work/study. You switch to the stock version using the above commands and change the versions at any time. + +If you switch to 3.11 using the above install method, then make sure you check all the necessary apps to see whether they are working fine. + +Finally, do let me know in the comment box if you run into problems. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-python-3-11-ubuntu/ + +作者:[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/10/py3112204-1024x576.jpg +[2]: https://www.debugpoint.com/install-python-3-10-ubuntu/ +[3]: https://docs.python.org/3.11/whatsnew/3.11.html +[4]: https://www.debugpoint.com/ubuntu-22-04-review/ +[5]: https://www.debugpoint.com/ubuntu-22-10/ +[6]: https://www.debugpoint.com/fedora-37/ +[7]: https://www.debugpoint.com/linux-mint-21-review/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Install-Python-3.11-in-Ubuntu-22.04-LTS.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/10/Setting-up-default-python-version-to-3.11.jpg From ae0d111e754236efb79e1c8d6c2cc1e77ffc3682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:15:05 +0800 Subject: [PATCH 187/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221025.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fe?= =?UTF-8?q?dora=2037=20Top=20New=20Features=20and=20Release=20Wiki.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Fedora 37 Top New Features and Release Wiki.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md diff --git a/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md b/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md new file mode 100644 index 0000000000..8657b9fc85 --- /dev/null +++ b/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md @@ -0,0 +1,142 @@ +[#]: subject: "Fedora 37: Top New Features and Release Wiki" +[#]: via: "https://www.debugpoint.com/fedora-37/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fedora 37: Top New Features and Release Wiki +====== + +**An article about Fedora 37 and its new features, release details and everything you need to know.** + +Fedora 37 development is wrapped up, and the BETA is [now out][1]. Hence the features and packages are final at this stage. + +In this usual feature guide page, I have summarised the essential features you should know about Fedora 37 and get an idea of what to expect. But before that, here’s a tentative schedule. + +- The beta was out on September 13, 2022. +- **Final Fedora 37 is planned for release on November 15, 2022.** + +![Fedora 37 Workstation with GNOME 43][2] + +Fedora 37 Workstation with GNOME 43 + +### Fedora 37: Top New Features + +#### Kernel + +**First** up are the critical items that make the core. Fedora 37 is powered by **Linux Kernel 5.19,** the latest mainline Kernel available now. Linux Kernel 5.19 brings essential features such as a fix for Ratbleed vulnerability, ARM support, Apple M1 NVMe SSD controller support and many such features, which you can read in our [Kernel feature guide][3]. + +The advantage of using the latest Kernel is that you can be assured that you are using the latest and greatest hardware support available at this moment in time. + +**Next** up, the desktop environments are updated in this release. + +#### Desktop Environment + +Fedora 37 is the first distribution which brings the stunning **GNOME 43** desktop, which brings some excellent features such as: + +- [Revamped quick settings][4] with pill-buttons +- Files (nautilus) 43 with GTK4 and libadwaita port +- Files with rubberband, emblems, responsive sidebar-like features +- [Updated GNOME Web with WebExtension API support][5] + +And many features you have been waiting for for years. Do check out my [GNOME 43 feature guide][6] to learn more. + +Fedora 37 brings **KDE Plasma 5.26** desktop environment with tons of new features, performance improvements and bug fixes. The most noteworthy features of the KDE Plasma desktop include: + +- An updated overview screen. +- Dynamic wallpaper for dark and light themes. +- Animated wallpaper support +- Multi-button mouse support +- Updated KDE Framework and applications. + +…and much more which you can read in detail in my [KDE Plasma 5.26 feature guide][7]. + +Since the lightweight desktop LXQt gets a stable update, 1.1.0, it arrives in Fedora 37. **LXQt 1.1.0** brings a default colour palette for dark themes for a uniform look, two variants (simple and compact) of the application menu and re-arranged GTK settings. Furthermore, LXQt 1.1.0 also starts the initial work for the Qt 6.0 porting of desktop components. All these bug fixes and enhancements arrive in the Fedora LXQt edition. + +In addition, other primary desktop flavours remain at their current releases since no significant new updates arrive, i.e. **Xfce 4.16 and MATE 1.26**for the respective Fedora flavours. + +Let’s see what the system-wide changes in this release that impacts all the Fedora flavours are. + +#### System wide changes + +The most significant change is the official support for **Raspberry Pi 4** boards. Thanks to the works over the years, you can now enjoy Fedora 37 on your favourite Pi boards with out-of-the-box supports. + +Fedora Linux is always a pioneer in advancing technology and adopting the latest features before any other distro. With that in mind, the **SDDM display manager now comes with default Wayland** in KDE Plasma (and Kinoite) and different flavours. This completes the Wayland transition from the Fedora distro aspect for this flavour.  + +As I [reported earlier][8], Fedora Linux 37 plans to provide us with a preview image of a **Web-based installer** for Anaconda. It might not be available immediately following the release. But it should be within a few days post-release. + +Other noteworthy features include changing the **default hostname from “fedora” to “localhost”** to mitigate some third-party system configuration detection.  + +Other than that, the **Fedora Core OS** is made to be an official Fedora edition and now stands together with Server, IoT and cloud editions for better discovery and adoption. Fedora Core OS minimal footprint OS is primarily used for container workloads and brings auto updates and additional features. + +Following the tradition, this release also features a [brand new wallpaper][9] with both night and day versions. I must say it looks awesome (see the above desktop image). + +Finally, also in this release, Fedora **drops 32-bit Java** packages, including JDK 8, 11, and 17, since usage is low. In addition, the openssl1.1 package is also deprecated. + +The toolchain, apps and programming stack are updated as follows: + +- Glibc 2.36 and Binutils 2.38 +- Node.js 18.x +- Perl 5.36 +- Python 3.11 + +### Summary of features in Fedora 37 + +So, that’s about it with the features of this release. Here’s a summary of the Fedora 37 features: + +- Linux Kernel 5.19 +- GNOME 43 +- KDE Plasma 5.26 +- Xfce 4.16 +- MATE 1.24 +- LXQt 1.1.0 +- A preview image of the new web-based installer +- The SDDM display manager defaults to Wayland (in KDE Plasma and others) +- Official Raspberry Pi 4 support +- Fedora Core OS becomes the official flavour +- Key packages dropping 32-bit support +- And associated toolchain and programming language updates. + +If you have spare time, you can[give it a spin][10] or test drive. Just be cautious that it is still BETA. + +Also, If you are daring enough, you can upgrade to this release with **caution** because, y’know it’s BETA. The commands below will help you to do that. + +``` +sudo dnf install dnf-plugin-system-upgrade +sudo dnf system-upgrade download --ref --releasever=37 +``` + +For Kinoite, Silverblue and other immutable versions, use: + +``` +rpm-ostree rebase fedora:fedora/37/x86_64/silverblue +``` + +**So, what’s your favourite feature of this release? Let me know in the comment section.** + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/fedora-37/ + +作者:[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://debugpointnews.com/fedora-37-beta/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/08/Fedora-37-Workstation-with-GNOME-43-1024x572.jpg +[3]: https://www.debugpoint.com/linux-kernel-5-19/ +[4]: https://www.debugpoint.com/gnome-43-quick-settings/ +[5]: https://www.debugpoint.com/gnome-web-43-tab-view/ +[6]: https://www.debugpoint.com/gnome-43/ +[7]: https://www.debugpoint.com/kde-plasma-5-26/ +[8]: https://debugpointnews.com/fedora-37-anaconda-web-ui-installer/ +[9]: https://debugpointnews.com/fedora-37-wallpaper/ +[10]: https://getfedora.org/workstation/download/ From a951a2ac4240613a8303cd8ccbad6833cd4632c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:15:30 +0800 Subject: [PATCH 188/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221025.3=20=E2=AD=90=EF=B8=8F=20How=20to=20Change=20?= =?UTF-8?q?Login=20Screen=20Background=20in=20Ubuntu.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...to Change Login Screen Background in Ubuntu.md | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md diff --git a/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md new file mode 100644 index 0000000000..af8661718c --- /dev/null +++ b/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md @@ -0,0 +1,107 @@ +[#]: subject: "How to Change Login Screen Background in Ubuntu" +[#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Change Login Screen Background in Ubuntu +====== + +**This is how you can get rid of that boring login screen background in Ubuntu and set a nice picture to welcome you each time you log on.** + +I, always think that when you boot up your system, a nice login screen should greet you. That itself set the context of your upcoming work or activity that you are about to do. Although, I am not a Windows fan, but I admire how Windows 10 login background changes every day from Bing wallpapers, and it looks nice. Isn’t it? + +A while back, we covered how to [change login background in Fedora][1] and [elementary OS][2]. And now this guide explains how you change it in vanilla Ubuntu with GNOME Shell. + +Login screen background is part of display manager property. This guide uses a script in GitHub created by a user to make it seamless and easy for average user. Otherwise, you have to change the Gnome Display Manager (gdm) CSS files manually after extracting the `.gresource` file, then compile it – which is complicated in general. + +![Ubuntu Login screen - before change][3] + +Ubuntu Login screen – before change + +### Change Login Background in Ubuntu + +- Open a terminal (press CTRL+ALT+T) + +- Download the [GitHub repo][4] using the below command. + +``` +wget github.com/thiggy01/change-gdm-background/raw/master/change-gdm-background +``` + +**Note**: If you do not have wget, install it using `sudo apt install wget` + +**Ubuntu 22.04 Jammy Jellyfish** users require an additional code change to make it work because the developer did not fix it in GitHub. So here’s what you need to do. + +Open the `change-gdm-background` file via gedit. Then, go to the following line (#15) and add `|jammy`. + +![script change to allow jammy][5] + +script change to allow jammy + +Then, go to the following two lines (#144 and #184). Change `gdm3.css` to `gdm.css`. As shown below. + +![correct the css file for gdm][6] + +correct the css file for gdm + +And finally, save the file and follow the instructions as below. This workaround is only for Ubuntu 22.04 login screen change. + +- Change the permission of the script to make it executable + +``` +chmod +x change-gdm-background +``` + +- Then change the login background wallpaper in Ubuntu using the below command. Change the path of your image. + +``` +sudo ./change-gdm-background ~/Pictures/tree.jpg +``` + +This step might require `libglib2.0-dev` package, which will be installed automatically. This is required to extract/compile the `.gresource`. + +And after installation, it would prompt you to restart gdm. Press N, to be on the safe side. + +- Log out and you can see the changed background in Ubuntu. +- If you are not seeing the change, try restarting your system and then try to log in. + +![Ubuntu Login screen After Change][7] + +Ubuntu Login screen with background After Change + +### Restore the stock login screen + +The script also provides a feature to revert the stock login screen. It takes a backup of your `.gresource` file before changing it. So, from the terminal, simply run below to restore the original login screen. + +``` +sudo ./change-gdm-background --restore +``` + +That should change the login screen back to its original form. + +Let me know whether it worked for you using the comment box below. This should work for all the latest versions of Ubuntu Linux. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/change-login-background-ubuntu/ + +作者:[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/2021/09/change-login-background-fedora/ +[2]: https://www.debugpoint.com/2021/07/change-lock-login-screen-background-elementary-os/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-before-change-1024x539.jpg +[4]: https://github.com/thiggy01/change-gdm-background +[5]: https://www.debugpoint.com/wp-content/uploads/2022/09/script-change-to-allow-jammy.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/09/correct-the-css-file-for-gdm.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-After-Change-1024x538.jpg From d3c2a50039531733da489e689f76c0bba0557629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:53:42 +0800 Subject: [PATCH 189/925] =?UTF-8?q?Rename=2020221024.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20How=20to=20display=20commits=20created=20on=20a=20s?= =?UTF-8?q?pecific=20day=20with=20the=20git=20log=20command.md=20to=202022?= =?UTF-8?q?1024.3=20=E2=AD=90=EF=B8=8F=20How=20to=20display=20commits=20cr?= =?UTF-8?q?eated=20on=20a=20specific=20day=20with=20the=20git=20log=20comm?= =?UTF-8?q?and.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...display commits created on a specific day with the git log command.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md => 20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md} (100%) diff --git a/sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md b/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md similarity index 100% rename from sources/tech/20221024.0 ⭐️ How to display commits created on a specific day with the git log command.md rename to sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md From 7811fc08118c67584b18f6083b3fa29160d9f2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:54:17 +0800 Subject: [PATCH 190/925] =?UTF-8?q?Rename=2020221024.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A=20PWA=20is=20?= =?UTF-8?q?the=20web=20browser.md=20to=2020221024.4=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A=20PWA=20is=20the=20web?= =?UTF-8?q?=20browser.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...WA is the web browser.md => 20221024.4 ⭐️⭐️⭐️ A PWA is the web browser.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md => 20221024.4 ⭐️⭐️⭐️ A PWA is the web browser.md} (100%) diff --git a/sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md b/sources/tech/20221024.4 ⭐️⭐️⭐️ A PWA is the web browser.md similarity index 100% rename from sources/tech/20221024.1 ⭐️⭐️⭐️ A PWA is the web browser.md rename to sources/tech/20221024.4 ⭐️⭐️⭐️ A PWA is the web browser.md From bed8fa3ade704707794fbba656f4344226738be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 03:54:58 +0800 Subject: [PATCH 191/925] =?UTF-8?q?Rename=2020221024.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Remixing=20Linux=20for=20blind=20?= =?UTF-8?q?and=20visually=20impaired=20users.md=20to=2020221024.5=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Remixing=20Linux=20for?= =?UTF-8?q?=20blind=20and=20visually=20impaired=20users.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...221024.5 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/talk/{20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md => 20221024.5 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md} (100%) diff --git a/sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md b/sources/talk/20221024.5 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md similarity index 100% rename from sources/talk/20221024.2 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md rename to sources/talk/20221024.5 ⭐️⭐️ Remixing Linux for blind and visually impaired users.md From 1035a814898abffcc8e00d166eeafcac7dbc390f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 04:08:00 +0800 Subject: [PATCH 192/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221026.5=20=E2=AD=90=EF=B8=8F=20Vanilla=20OS=20More?= =?UTF-8?q?=20Than=20Just=20Vanilla=20GNOME=20With=20Ubuntu.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...OS More Than Just Vanilla GNOME With Ubuntu.md | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md diff --git a/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md b/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md new file mode 100644 index 0000000000..13f4fd9dda --- /dev/null +++ b/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md @@ -0,0 +1,132 @@ +[#]: subject: "Vanilla OS: More Than Just Vanilla GNOME With Ubuntu" +[#]: via: "https://news.itsfoss.com/vanilla-os-beta/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Vanilla OS: More Than Just Vanilla GNOME With Ubuntu +====== + +Vanilla OS is Ubuntu on stock GNOME with on-demand immutability and package selection freedom. Sounds fun? Read more here. + +![Vanilla OS: More Than Just Vanilla GNOME With Ubuntu][1] + +That was precisely my thought when I first came across Vanilla OS. + +When**Mirko Brombin**, the creator of [Bottles][2], announced it on Twitter, that had me interested in it 😎 + +I joined their Discord channel and hopped in to become a tester. While I did not point out anything new that other testers already did, keeping an eye on the project development is fun. + +Back to the vital question: **What is Vanilla OS?** + +**Vanilla OS aims to offer a clean vanilla GNOME experience with on-demand immutability.** + +Sounds interesting? Let me tell you a few details about it while I give its first open beta build a try. + +> 💡Vanilla OS plans to have a stable release in November. It will follow Ubuntu point releases. So, you can expect **two releases per year**. For example, you can upgrade from Ubuntu 22.04 to Ubuntu 22.10 and further. You should not replace it as a daily driver unless you know what you are doing. + +### Vanilla OS: Yet Another Ubuntu-based Distro? + +![vanilla os home][3] + +**Yes and no.** + +For starters, I see the following unique reasons to give it a try: + +- To get a **stock GNOME experience** on top of Ubuntu. (Fedora is an excellent option too, but not for everyone!) +- **Allows you to choose and enable Flatpak/Snap/AppImage** with its first-time setup after installation. +- **On-demand immutability**, meaning you can make the system read-only to prevent critical changes from third-party applications and updates. +- **A new package manager** (apx) allows you to install packages inside a managed container by default. + +The first-time setup process is a breeze to experience. + +> ℹ️Currently, it uses the Calamares installer. They intend to replace it with Jade, used in **Crystal Linux**. + +![vanilla os installer][4] + +The more distributions do things like this; I believe more users would be happy to get on board with Linux. + +![][5] + +Vanilla OS Package Manager Selection + +Of course, distributions like Ubuntu MATE and Pop!_OS have already put in great efforts, and Vanilla OS also adds some improvement to the table. + +![Vanilla os color selection][6] + +It looks like a pretty experience! 😊 + +Once you finish the first-time setup,  you have nothing else to worry about. You get the usual GNOME desktop with nice wallpapers out of the box by **Patrik Kramolis.** + +![vanilla os home][7] + +Image Credits: Mirko Brombin + +Next, I tried checking the on-demand immutability, which you can see and tweak using the following commands: + +![vanilla OS terminal][8] + +You can explore more about the utility (almost) that makes this possible on [GitHub][9]. + +Next, coming to the new package manager, I like the concept of distrobox under the hood, making this possible with apx. + +The Distrobox creator **Luca di Maio** is also involved in developing Vanilla OS. + +However, when installing a package with apx, you need to initialize the container using the command: + +``` +apx init +``` + +If it had done it automatically, I would call it intuitive. + +![vanilla os apx][10] + +Of course, I'm not aware of the technical limitations. But, for the user end, that would feel seamless! + +Overall, a package manager that installs applications utilizing a container, getting the ability to choose your package managers, on-demand immutability, and vanilla GNOME make it seem like a good deal to keep an eye on. + +### The Road Ahead: First Impressions + +I can see it as my daily driver once it hits the stable release. + +**The reason is**: I always like the stock GNOME experience, and I do not have to deal with Fedora's regular upgrades. + +Of course, once I get to use the stable release, I can give you a verdict on the entire user experience. + +Until then, I'd say it is a project that I believe a lot of users will appreciate 👏 + +You can download the ISO by joining its Discord channel for now. The ISO is not yet publicly available to all. Take a look at its [documentation][11] if you are curious. + +[Vanilla OS][12] + +However, as per the roadmap, they plan to have a release candidate soon enough. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vanilla-os-beta/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/first-look-at-vanilla-os.jpg +[2]: https://usebottles.com +[3]: https://news.itsfoss.com/content/images/2022/10/vanillaos.jpg +[4]: https://news.itsfoss.com/content/images/2022/10/vanillaos-installer.jpg +[5]: https://news.itsfoss.com/content/images/2022/10/choosing-package-vanillaos.png +[6]: https://news.itsfoss.com/content/images/2022/10/vanilla-os-first-setup.png +[7]: https://news.itsfoss.com/content/images/2022/10/vanillaos-wallpaper.jpg +[8]: https://news.itsfoss.com/content/images/2022/10/Screenshot-from-2022-10-25-12-54-29.png +[9]: https://github.com/Vanilla-OS/almost +[10]: https://news.itsfoss.com/content/images/2022/10/apx-install.jpg +[11]: https://documentation.vanillaos.org +[12]: https://vanillaos.org/roadmap From b0f5947fe97ab52b70b85a54f0b688e5c778ae09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 04:13:44 +0800 Subject: [PATCH 193/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221027.13=20=E2=AD=90=EF=B8=8F=20Canonical's=20Addin?= =?UTF-8?q?g=20a=20Neat=20Ability=20to=20the=20Steam=20Snap=20App=20for=20?= =?UTF-8?q?Gamers.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...at Ability to the Steam Snap App for Gamers.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md diff --git a/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md b/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md new file mode 100644 index 0000000000..77f6676cee --- /dev/null +++ b/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md @@ -0,0 +1,88 @@ +[#]: subject: "Canonical's Adding a Neat Ability to the Steam Snap App for Gamers" +[#]: via: "https://news.itsfoss.com/steam-snap-app-mesa/" +[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Canonical's Adding a Neat Ability to the Steam Snap App for Gamers +====== + +Canonical is making reasonable efforts with its Steam snap app. A snap app that you can't hate? + +![Canonical's Adding a Neat Ability to the Steam Snap App for Gamers][1] + +Gaming on Linux is getting popular and evolving every year, with Valve and the Steam Deck playing a significant part. + +According to the [Steam Hardware and Software survey][2], Ubuntu remains one of the most popular Linux distros for gaming. + +The company behind Ubuntu – Canonical – is taking the necessary steps to make gaming on Ubuntu a seamless experience. They announced the launch of Steam as a Snap application in **April 2022** which is currently in 'early access'. + +![steam snap][3] + +Now, Canonical aims to elevate the gaming experience by letting users choose different Mesa graphics stacks effortlessly. + +### Easy Switch to Latest Mesa for Best Experience + +[Mesa][4] is an integral part of gaming on Linux, especially for AMD and Intel users. It is an open-source graphics stack that includes a range of graphics APIs like OpenGL and Vulkan to help run your favorite games. + +Since the Steam Snap bundles all the required dependencies and supports 32-bit libraries, users don't need to do anything manually to get things running. The Steam snap is containerized and isolated from the operating system. + +**But what about the Mesa graphics drivers?** + +For now, the Snap app installs the latest Mesa driver available in [oibaf's PPA repo][5] by default. You get the bleeding-edge drivers out of the box. But, you cannot change it quickly. + +In a [blog post][6] by Canonical, they mentioned some improvements to the Steam's snap app that makes this easy. + +It includes the introduction of **Content snaps** as an easier way to make use of Mesa drivers. + +Unlike regular dependencies, Content snaps are packaged separately from the main Steam snap. They can be utilized by other applications and thus prevent bloat or duplication. Moreover, they are also updated independently since they aren't directly bundled with the Steam snap. + +There are three Mesa driver stacks available - + +- **oibaf-latest** – Default bleeding-edge release +- **kisak-turtle**– Stable release +- **kisak-fresh** –  Latest point release, highly unstable + +Users can customize their Mesa stack by easily switching between them anytime. To play the latest games on the market, users may need to use the bleeding-edge release to avoid issues while gaming. On the other hand, the stable build should do for older titles. + +The blog post mentions: + +> This will enable users to choose their preferred Mesa track independently of the upgrade track of the Steam snap. + +So, users should be able to toggle between the available driver stacks. + +Sounds useful, isn't it? 😃 + +> 💡This feature is still being worked on and should be added to the stable channel soon along with Steam snap. As of now, it is available through the beta channel. + +### Thoughts?🤔 + +Snaps may not appeal to all Linux users due to some of their disadvantages. + +But gamers may find Steam as a snap quite helpful. The option to choose the preferred graphics stack should be very welcoming to users. Ubuntu seems to be taking gaming quite seriously. + +**Via:**[omg!ubuntu!][7] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/steam-snap-app-mesa/ + +作者:[Rishabh Moharir][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/rishabh/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/steam-snap-app-upgrade-for-gamers.png +[2]: https://store.steampowered.com/hwsurvey?platform=linux +[3]: https://news.itsfoss.com/content/images/2022/10/steam-snap.jpg +[4]: https://itsfoss.com/install-mesa-ubuntu/ +[5]: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers +[6]: https://canonical.com/blog/what-the-steam-snap-is-evolving +[7]: https://www.omgubuntu.co.uk/2022/10/canonicals-steam-snap-will-let-you-switch-between-different-mesa-stacks From 5bc807de43992799c4588eb96612e925478ca3af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 04:14:28 +0800 Subject: [PATCH 194/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221028.3=20=E2=AD=90=EF=B8=8F=20A=20New=20Web=20Brow?= =?UTF-8?q?ser=20For=20P2P=20Internet=20Experience=20With=20Secure=20Messa?= =?UTF-8?q?ging=20and=20Bitcoin=20Lightning=20Network.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ure Messaging and Bitcoin Lightning Network.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md diff --git a/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md b/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md new file mode 100644 index 0000000000..b31ef4cc07 --- /dev/null +++ b/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md @@ -0,0 +1,87 @@ +[#]: subject: "A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network" +[#]: via: "https://news.itsfoss.com/impervious-browser/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network +====== + +An open-source browser that promises P2P decentralized internet experience with bitcoin integration. + +![A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network][1] + +P2P services for chat, video calls, and document editing are not yet mainstream. + +However, the idea for a P2P connection provides better control over the data and security and prevents censorship. + +Impervious browser is an exciting initiative that gives you access to P2P tools and a decentralized experience. The tools include: + +- **End-to-end encrypted chat.** +- **Encrypted P2P video and audio calls.** +- **Live Docs.** + +Additionally, it supports the [Bitcoin lightning network][2], which facilitates instant Bitcoin transactions. If you are a fan of cryptocurrency integrations, this could sound interesting, or it's just another fancy addition for most common users. + +### Impervious Browser: How Does it Work? + +Technically, the browser is a customized Mozilla Firefox experience. So, you can expect the same features and capabilities. + +The browser relies on Decentralized Identifiers (DIDs), i.e., decentralized digital IDs, to verify a person or connect with them. + +![impervious DID][3] + +Digital Identity + +You can find the DID from the settings, which you can share with anyone on the web to add you as a contact. + +Once you do that, you can send a message, initiate a video call, and collaborate with the live document feature for any work. + +![][4] + +Connection Request with a contact + +And this is what a conversation looks like: + +![][5] + +For users fond of Bitcoin transactions, you can utilize the Lightning network for super-fast payments while in a video call or message conversation. + +You need to connect to a lightning node to use the functionality. If you do not have one, Impervious supports creating a [Voltage Lightning Node][6]. + +I haven't tried it. So, if you are someone who uses cryptocurrency and appreciates the integration while collaborating with people through Impervious's P2P network, it should be a seamless experience. + +### Download Impervious + +> 💡Impervious is in the Alpha stage. You can download it but it may not work as you would expect. + +The Impervious browser is available for Linux and macOS (M1/Intel). They intend to release a Windows build soon. + +You can download the latest build from its [GitHub releases section][7] or head to its official website. + +[Impervious][8] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/impervious-browser/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/first-look-at-impervious-browser.png +[2]: https://lightning.network +[3]: https://news.itsfoss.com/content/images/2022/10/impervious-did.png +[4]: https://news.itsfoss.com/content/images/2022/10/impervious-connection-request.png +[5]: https://news.itsfoss.com/content/images/2022/10/impervious-browser-messages.png +[6]: https://voltage.cloud +[7]: https://github.com/imperviousai/imp-browser +[8]: https://www.impervious.ai From d788a6c15cfe02762c3e3997174376373fb5c2ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 04:15:22 +0800 Subject: [PATCH 195/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221028.4=20=E2=AD=90=EF=B8=8F=20Oh=20No!=20Fedora=20?= =?UTF-8?q?37=20Release=20Gets=20Delayed.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Oh No! Fedora 37 Release Gets Delayed.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md diff --git a/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md b/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md new file mode 100644 index 0000000000..fb27469873 --- /dev/null +++ b/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md @@ -0,0 +1,63 @@ +[#]: subject: "Oh No! Fedora 37 Release Gets Delayed" +[#]: via: "https://news.itsfoss.com/fedora-37-release-delay/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Oh No! Fedora 37 Release Gets Delayed +====== + +Fedora 37 release is getting delayed for a security fix. Here's what you should know about it. + +![Oh No! Fedora 37 Release Gets Delayed][1] + +The Fedora team usually targets an early release and a delayed date for their schedule. + +This time around, Fedora 37 is getting pushed back with an unexpected delay. From a release target date of 18th October to 25th October, and then 1st November. + +Now, we have to wait until **15 November 2022** to download Fedora 37 available. + +But why the delay? Isn't the testing complete for Fedora 37? What is the hold-up? + +> 💡**OpenSSL has announced a new version that addresses a critical security bug**. The new version is scheduled to release on November 1, 2022. + +Until the release, Fedora's team is unaware of the details regarding the security fix. It could be significant, so Red Hat recommends waiting for it before releasing Fedora 37. + +**Here's what Fedora's Program Manager mentions in a [blog post][2]:** + +> When a security issue is discovered, this information is often shared with the project confidentially. This allows the developers to fix the issue before more people know about it and can exploit it. Projects then share information with downstreams so they can be ready.Ironically, Fedora’s openness means we can’t start preparing ahead of time. All of our build pipelines and artifacts are open. If we were to start building updates, this would disclose the vulnerability before the embargo lifts. As a result, we only know that OpenSSL considers this the highest level of severity and Red Hat’s Product Security team strongly recommended we wait for a fix before releasing Fedora Linux 37. + +#### Time Needed to Test the Release Candidate With OpenSSL's New Version + +The developers need enough time to test Fedora 37's release candidate after they update the necessary package. + +While they could rush it, they intend to push a release only after they are confident about it: + +> The OpenSSL project team plans to publish the security fix about 48 hours before we’d make the go/no-go decision for an 8 November target. Factoring in time to build the updated openssl package and generate a release candidate, that gives us about a day and a half to do testing. That’s not enough time to be comfortable with a change to such an important package. + +Considering it is an important update, it is an excellent decision to test it and prepare it for release. + +Of course, the delay could be for nothing if the security fix is not a massive one. + +However, I believe it is better to have a release that provides a secure experience out of the box instead of having a vulnerable package. + +What do you think about Fedora 37 release being delayed? Share your thoughts in the comments down below. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fedora-37-release-delay/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/fedora-37-delayed.png +[2]: https://fedoramagazine.org/fedora-linux-37-update/ From 40c9d844b1ed9d25718e2ccbff3b4c6eb012933b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 30 Oct 2022 04:15:57 +0800 Subject: [PATCH 196/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221028.5=20=E2=AD=90=EF=B8=8F=20Zorin=20OS=2016.2=20?= =?UTF-8?q?Released,=20It's=20All=20About=20Useful=20Refinements.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Released, It's All About Useful Refinements.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md diff --git a/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md b/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md new file mode 100644 index 0000000000..9d9b361666 --- /dev/null +++ b/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md @@ -0,0 +1,116 @@ +[#]: subject: "Zorin OS 16.2 Released, It's All About Useful Refinements" +[#]: via: "https://news.itsfoss.com/zorin-os-16-2-release/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Zorin OS 16.2 Released, It's All About Useful Refinements +====== + +Zorin OS 16.2 is a sweet upgrade with essential refinements across the board. + +![Zorin OS 16.2 Released, It's All About Useful Refinements][1] + +Zorin OS is one of the [most beautiful Linux distributions][2] based on the Ubuntu LTS releases. + +Not just limited to that, we think of it as one of the finest distros for beginners: + +The latest version, Zorin OS 16.2, is now available to download. + +### Zorin OS 16.2: What's New? + +There are several significant improvements, those include: + +- **Easier to install Windows apps** +- **Improved compatibility with Microsoft office documents** +- **Improved Zorin Connect** +- **GDevelop tool added to Zorin OS Education** + +> 💡The Zorin OS 16 series will get software updates and patches until April 2025. + +#### Easier to Install Windows Apps + +Zorin OS could already detect .exe files and guide you to install them on your distribution using Wine under the hood. + +Now, it gets easier. + +![zorin os windows app support menu][3] + +A new "**Windows App Support**" menu sits under the "**System Tools**" section. + +You can enable Windows app support through it. + +Along with the new menu, the database to detect Windows installer files has also expanded to guide you to a better user experience. + +For instance, launching Windows installers for Epic Games Store or GOG Galaxy directs you to install [Heroic Games Launcher][4]. + +![zorin os heroic games][5] + +### Office Experience Enhancements + +Zorin OS has added alternatives to popular proprietary fonts to improve compatibility with Microsoft Office documents. + +For example, [Carlito][6] is an alternative to Calibri (the default typeface in Office 365). + +### Zorin Connect Gets Better + +Zorin Connect is a valuable utility that helps you connect your mobile device to a Zorin OS-powered computer. + +It already offered a seamless experience. Now, you can view your computer's battery status on your phone, which should be handy for laptop users. + +The battery stats are available by default in Zorin OS 16.2. If you have an older version of Zorin OS, you should update the Zorin Connect app first. + +![zorin connect][7] + +Next, you need to navigate to the paired phone battery option in the Zorin Connect computer app and enable "**Share Statistics**". + +### GDevelop in Zorin OS Education + +![zorin os gdevelop][8] + +Zorin OS offers different editions for various users, and the education variant provides all the valuable tools to learners. + +[GDevelop][9] is a new tool to the list. It is a no-code game development software that reduces the learning curve for programming and helps boost creativity. + +### 🛠️ Other Improvements + +In addition to the highlights, other significant changes include: + +- Updated [LibreOffice 7.4][10] app with WebP support +- Updated applications and graphics drivers +- Added a maximize effect and refined physics for Jelly Mode +- Newer hardware compatibility + +### Download Zorin OS 16.2 + +You can upgrade to the latest version from the Software Updater. If it is a fresh installation, download the ISO from its official website. + +[Zorin OS 16.2][11] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/zorin-os-16-2-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/content/images/size/w1200/2022/10/zoring-os-16-2-release.jpg +[2]: https://itsfoss.com/beautiful-linux-distributions/ +[3]: https://news.itsfoss.com/content/images/2022/10/zorin-os-16-2-menu.jpg +[4]: https://github.com/Heroic-Games-Launcher +[5]: https://news.itsfoss.com/content/images/2022/10/heroic-epic-zorin-os-16-2.png +[6]: https://www.fontsquirrel.com/fonts/carlito +[7]: https://news.itsfoss.com/content/images/2022/10/zorin-connect-battery-share-statistics.png +[8]: https://news.itsfoss.com/content/images/2022/10/gdevelop.jpg +[9]: https://gdevelop.io +[10]: https://news.itsfoss.com/libreoffice-7-4-release/ +[11]: https://zorin.com/os/download/ From 92895bf93b212ebea7b0c08cadad9f6b6f339808 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 30 Oct 2022 10:12:53 +0800 Subject: [PATCH 197/925] RP @littlebirdnest https://linux.cn/article-15192-1.html --- ...o stable That's what Rhino Linux aims to be.md | 80 +++++++++++++++++++ ...o stable That's what Rhino Linux aims to be.md | 80 ------------------- 2 files changed, 80 insertions(+), 80 deletions(-) create mode 100644 published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md delete mode 100644 translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md diff --git a/published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md new file mode 100644 index 0000000000..485a46b7e9 --- /dev/null +++ b/published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md @@ -0,0 +1,80 @@ +[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be" +[#]: via: "https://news.itsfoss.com/rhino-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15192-1.html" + +Rhino Linux:滚动发布但也很稳定的 Ubuntu +====== + +> 滚动发布的 Ubuntu 发行版?等等,什么? Rhino Linux 听起来不错…… + +![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1] + +Rhino Linux 将成为 [Rolling Rhino Remix][2] 的继任者。这个由 http.llamaz 构建的 Linux 发行版,提供了滚动发布的**非官方的** Ubuntu 变体版本。 + +需要澄清的是,该项目从未旨在取代其他稳定的发行版,而纯粹是一个充满乐趣的激情项目。 + +而随着人们开始将其用作日常使用并对其期望更多,开发人员决定将其变成一个严肃的项目。 + +Rhino Linux 作为它的继任者。那么,你对它的期待是什么? + +### 有请继任者 Rhino Linux + +其主要目标是提供稳定的 Ubuntu 体验,同时仍提供滚动发布模式。 + +目标仍保持不变,但 Rhino Linux 的基础将得到彻底改变。他们有可能使它成为一个令人印象深刻的滚动发布的 Ubuntu 发行版。 + +**听起来很令人兴奋!🤯** + +在其核心,Rhino Linux 将使用稍微修改过的 [Xfce][3] 版本作为其桌面环境;之所以选择它是因为它众所周知的稳定性和速度。 + +Rhino Linux 的创始人提到了以下几点: + +> 滚动版 Ubuntu 仍然是我们的核心理念。Rhino Linux 并不是从 Rolling Rhino Remix 中分离出来的,而是将它重新设想为更稳定、更成熟的发行版,它原本就应该以这种方式出厂。 + +![xfce 4.14][4] + +除此之外,[Pacstall][5] 将用作 Rhino Linux 上的默认包管理器及其存储库之一。 + +> 💡 Pacstall 是一个受 [AUR][6] 启发的 Ubuntu 包管理器。 + +Pacstall 的开发由其创始人 [Plasma][7] 领导。他还作为新开发人员之一(副项目负责人)加入,而 [Sourajyoti Basak][8] 作为另一位核心成员加入。 + +### 前进:可用性和发布 + +在撰写本文时,Rhino Linux 尚未确定任何具体的发布日期,但你可以预计它会在 **2023** 年的某个时间发布。 + +Rolling Rhino Remix 会发生什么? + +开发者澄清说,它将在 Rhino Linux 发布后继续维护三个月。但是,在 2022 年 1 月 11 日后继发布之后,它没有新的发布镜像。 + +你可以通过访问其 [官方网站][9] 了解更多关于 Rhino Linux 的信息。 + +_💬 你觉得 Rhino Linux 怎么样?它可以成为值得尝试的官方 Ubuntu 风格的竞争者吗?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/rhino-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png +[2]: https://github.com/rollingrhinoremix +[3]: https://www.xfce.org/ +[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png +[5]: https://github.com/pacstall/pacstall +[6]: https://itsfoss.com/aur-arch-linux/ +[7]: https://github.com/Henryws +[8]: https://github.com/wizard-28 +[9]: https://rhinolinux.org/ diff --git a/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md deleted file mode 100644 index a119f8cfd4..0000000000 --- a/translated/news/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md +++ /dev/null @@ -1,80 +0,0 @@ -[#]: subject: "Ubuntu but rolling but also stable That's what Rhino Linux aims to be" -[#]: via: "https://news.itsfoss.com/rhino-linux/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu,不但滚动发布但也很稳定这就是 Rhino Linux 的目标 -====== - -滚动发布的 Ubuntu 发行版?等等,什么? Rhino Linux 听起来很迷人.. - -![Ubuntu but rolling but also stable! That's what Rhino Linux aims to be][1] - -Rhino Linux 将成为[Rolling Rhino Remix][2]的继任者。由 http.llamaz 构建的 Linux 发行版, 提供了 Ubuntu 的滚动发布的**非官方**的变体版本 - -需要澄清的是,该项目从未旨在取代其他稳定的发行版,而纯粹是一个充满乐趣的激情项目。 - -考虑到人们开始将其用作日常驱动程序并对其期望更多,开发人员决定将其变成一个严肃的项目。 - -Rhino Linux 作为它的继任者。那么,你能期待什么? - -### 与Rhino Linux相遇:其继任者 - -主要目标是提供稳定的 Ubuntu 体验,同时仍提供滚动发布模型。 - -目标保持不变,但 Rhino Linux 的基础将得到彻底改革。他们有可能使它成为一个令人印象深刻的滚动发布的Ubuntu 发行版。 - -**听起来很令人兴奋!🤯** - -在其核心,Rhino Linux 将使用稍微修改过的 [XFCE][3]版本作为其桌面环境;之所以选择它是因为它众所周知的稳定性和速度。 - -Rhino Linux 的创始人提到了以下几点: - -> Ubuntu 作为滚动发行版仍然是我们概念的核心。 Rhino Linux 并不是从 Rolling Rhino Remix 中分离出来的,而是将它重新设想为更稳定、更成熟的发行版,它应该像最初一样发布。 - -![xfce 4.14][4] - -除此之外,[Pacstall][5]将用作 Rhino Linux 上的默认包管理器及其存储库之一。 - -> 💡Pacstall 是一个受 [AUR][6]启发的 Ubuntu 包管理器。 - -其开发由 Pacstall 的创始人[_Plasma_][7]领导. 他还作为新开发人员之一(副项目负责人)加入,[Sourajyoti Basak][8]作为另一位核心成员加入。 - -### 前进:可用性和发布 - -在撰写本文时,Rhino Linux 尚未收到任何具体的发布日期,但您可以预计它会在 **2023** 年的某个时间发布。 - -Rolling Rhino Remix 会发生什么? - -开发者澄清说,Rhino Linux 发布后会继续维护三个月。但是,在 2022 年 1 月 11 日发布之后,它不会有新的发布映像。 - -您可以通过访问其[官方网站][9]了解更多关于 Rhino Linux 的信息。 - -_💬 你觉得 Rhino Linux 怎么样?它可以成为值得尝试的官方 Ubuntu 风格的竞争者吗?_ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/rhino-linux/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/rhino-linux.png -[2]: https://github.com/rollingrhinoremix -[3]: https://www.xfce.org/ -[4]: https://news.itsfoss.com/content/images/2022/10/XFCE_4.14.png -[5]: https://github.com/pacstall/pacstall -[6]: https://itsfoss.com/aur-arch-linux/ -[7]: https://github.com/Henryws -[8]: https://github.com/wizard-28 -[9]: https://rhinolinux.org/ From 3bf6a2b1f21ed10c04aee80c3a1bfbf0f7f719b3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 30 Oct 2022 10:56:58 +0800 Subject: [PATCH 198/925] RP @geekpi https://linux.cn/article-15193-1.html --- ...netes help solve automation challenges-.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221014 Can Kubernetes help solve automation challenges-.md (56%) diff --git a/translated/tech/20221014 Can Kubernetes help solve automation challenges-.md b/published/20221014 Can Kubernetes help solve automation challenges-.md similarity index 56% rename from translated/tech/20221014 Can Kubernetes help solve automation challenges-.md rename to published/20221014 Can Kubernetes help solve automation challenges-.md index 695da770ac..ff7192f67f 100644 --- a/translated/tech/20221014 Can Kubernetes help solve automation challenges-.md +++ b/published/20221014 Can Kubernetes help solve automation challenges-.md @@ -3,49 +3,52 @@ [#]: author: "Rom Adams https://opensource.com/users/romdalf" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15193-1.html" Kubernetes 能否帮助解决自动化挑战? ====== -组织层面的自动化一直是一个难以实现的目标,但 Kubernetes 或许能够改变这一切。 -当我在 2002 年采用 Gentoo Linux 作为我的主要操作系统时,我开始了我的自动化之旅。二十年后,自动化还没有完成。当我与客户和合作伙伴会面时,他们分享了团队内部的自动化胜利,但他们也描述了在组织层面实现类似成功所面临的挑战。 +![](https://img.linux.net.cn/data/attachment/album/202210/30/105625ocz9sd9z6g4dzb44.jpg) -大多数 IT 组织都能够端到端地配置虚拟机,从而将过去 4 周的交付周期缩短到仅 5 分钟。这种级别的自动化本身就是一个复杂的工作流程,需要网络(IP 地址管理、DNS、代理、网络区域等)、身份访问管理、[hypervisor][2]、存储、备份、更新操作系统、应用最新的配置文件、监控、安全和强化以及合规性基准测试。哇! +> 组织层面的自动化一直是一个难以实现的目标,但 Kubernetes 或许能够改变这一切。 -满足高速、可扩展和按需自动化的业务需求并不容易。例如,考虑使用经典的网上商店或在线政府服务来提交纳税申报表。工作负载有明确的峰值需要吸收。 +当我在 2002 年采用 Gentoo Linux 作为我的主要操作系统时,我开始了我的自动化之旅。二十年后,自动化还没有完成。当我与客户和合作伙伴会面时,他们分享了团队内部的自动化成果,但他们也描述了在组织层面实现类似成功所面临的挑战。 -处理此类负载的一种常见方法是拥有一个超大的服务器集群,以供 IT 专业人员的特定团队使用,监控客户或公民的季节性涌入。每个人都希望及时部署整个栈。他们希望基础架构在混合云场景的上下文中运行工作负载,使用“构建-消耗-垃圾”模型来优化成本,同时从无限弹性中受益。 +大多数 IT 组织都能够端到端地提供虚拟机,从而将过去 4 周的交付周期缩短到仅 5 分钟。这种级别的自动化本身就是一个复杂的工作流程,需要网络(IP 地址管理、DNS、代理、网络区域等)、身份访问管理、[虚拟机管理程序][2]、存储、备份、更新操作系统、应用最新的配置文件、监控、安全和强化以及合规性基准测试,等等。哇,这么多! + +满足高速、可扩展和按需自动化的业务需求并不容易。例如,来看看经典的网上商店或提交纳税申报表的在线政府服务,其工作负载有明确的峰值需要面对。 + +处理此类负载的一种常见方法是拥有一个超大的服务器集群,以供 IT 专业人员的特定团队使用,监控客户或公民的季节性涌入。每个人都希望及时部署整个栈。他们希望基础架构在混合云场景的上下文中运行工作负载,使用“构建-消耗-回收build-consume-trash”模型来优化成本,同时从无限弹性中受益。 换句话说,每个人都想要乌托邦式的“云体验”。 ### 云真的能交付吗? -一切都没有丢失,这主要归功于 [Kubernetes][3] 的设计方式。 Kubernetes 的指数级采用推动了创新,取代了管理平台和应用的标准传统做法。 Kubernetes 需要使用 Everything-as-Code (EaC) 来定义所有资源的期望状态,从简单的计算节点到 TLS 证书。 Kubernetes 强制使用三种主要的设计结构: +尚有一线机会,这主要归功于 [Kubernetes][3] 的设计方式。Kubernetes 的指数级普及推动了创新,取代了管理平台和应用的标准传统做法。 Kubernetes 需要使用 “万物皆代码Everything-as-Code”(EaC)来定义从简单的计算节点到 TLS 证书的所有资源的期望状态。Kubernetes 强制使用三种主要的设计结构: * 一个标准接口,以减少内部和外部组件之间的整合问题 * API 优先及仅 API 的方法来标准化其所有组件的 CRUD(创建、读取、更新、删除)操作 * 使用 [YAML][4] 作为通用语言,以简单易读的方式定义这些组件的所有所需状态 -这三个关键组成部分基本上是选择自动化平台的相同要求,至少如果你想让跨职能团队轻松采用。这也模糊了团队之间的职责分工,有助于提高跨孤岛的协作,这是一件好事! +这三个关键组成部分基本上是选择自动化平台的相同要求,至少如果你想让跨职能团队轻松采用是这样的。这也模糊了团队之间的职责分工,有助于提高跨越孤岛的协作,这是一件好事! -事实上,采用 Kubernetes 的客户和合作伙伴正在加速进入超自动化状态。 Kubernetes 有机地推动团队采用多种 [DevOps 基础和实践][5],如: EaC、[使用 Git 进行版本控制][6]、同行评审、[文档即代码][7]并鼓励跨职能协作。这些实践有助于提高团队的自动化技能,并帮助团队在处理应用生命周期和基础架构的 GitOps 和 CI/CD 管道方面获得良好的开端。 +事实上,采用 Kubernetes 的客户和合作伙伴正在加速进入超自动化状态。Kubernetes 有机地推动团队采用多种 [DevOps 基础和实践][5],如:EaC、[使用 Git 进行版本控制][6]、同行评审、[文档即代码][7]Documentation as Code,并鼓励跨职能协作。这些实践有助于提高团队的自动化技能,并帮助团队在处理应用生命周期和基础架构的 GitOps 和 CI/CD 管道方面取得良好的开端。 ### 让自动化成为现实 -你没看错!网络商店或政府报告等复杂系统的整个栈可以用清晰、可理解、通用的术语定义,可以在任何本地或云提供商上执行。可以定义具有自定义指标的自动伸缩器以触发所需栈的即时部署,以解决季节性高峰期间客户或市民的涌入问题。当指标恢复正常,且云计算资源不再有存在的理由时,你将它们回收并恢复常规运营,一组核心资产在本地接管业务,直到下一次激增。 +你没看错!网络商店或政府报告等复杂系统的整个栈可以用清晰、可理解、通用的术语定义,可以在任何本地或云提供商上执行。可以定义具有自定义指标的自动伸缩器以触发所需栈的即时部署,以解决季节性高峰期间客户或市民的涌入问题。当指标恢复正常,且云计算资源不再有存在的理由时,你将它们回收并恢复常规运营,而由一组核心资产在本地接管业务,直到下一次激增。 ### 鸡和蛋的悖论 考虑到 Kubernetes 和云原生模式,自动化是必须的。但它提出了一个重要的问题:一个组织可以在解决自动化战略之前采用 Kubernetes 吗? -似乎从 Kubernetes 开始可以激发更好的自动化,但这并不是一个定局。工具不是对技能、实践和文化问题的解决方案。但是,设计良好的平台可以成为 IT 组织内学习、变革和跨职能协作的催化剂。 +似乎从 Kubernetes 开始可以激发更好的自动化,但这并不是一个一成不变的结论。工具不是对技能、实践和文化问题的解决方案。但是,设计良好的平台可以成为 IT 组织内学习、变革和跨职能协作的催化剂。 ### 开始使用 Kubernetes -即使你觉得自己错过了自动化列车,也不要害怕从简单、不复杂的栈上开始使用 Kubernetes。当你[掌握了初始步骤][8],就可以拥抱这个出色的编排器的简单性,并根据更复杂的需求进行迭代。 +即使你觉得自己错过了自动化列车,也不要害怕从简单、不复杂的栈上开始使用 Kubernetes。当你 [掌握了初始步骤][8],就可以拥抱这个出色的编排系统的简单性,并根据更复杂的需求进行迭代。 -------------------------------------------------------------------------------- @@ -54,7 +57,7 @@ via: https://opensource.com/article/22/10/kubernetes-solve-automation-challenges 作者:[Rom Adams][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/) 荣誉推出 From 6deb7504a78c3a2ab841afe9839e673adc495408 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 30 Oct 2022 12:41:53 +0800 Subject: [PATCH 199/925] RP @geekpi https://linux.cn/article-15194-1.html --- ...u 22.10 and Make it Default Text Editor.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md (72%) diff --git a/translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md b/published/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md similarity index 72% rename from translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md rename to published/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md index 2b2023b118..a4ea73de8f 100644 --- a/translated/tech/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md +++ b/published/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md @@ -3,41 +3,44 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15194-1.html" -# 在 Ubuntu 22.10 上安装 Gedit 并将其设为默认文本编辑器 +在 Ubuntu 22.10 上安装 Gedit 并将其设为默认文本编辑器 +====== -[GNOME 有一个全新的文本编辑器][1]来取代旧的 Gedit 编辑器。 +![](https://img.linux.net.cn/data/attachment/album/202210/30/124029bf0qjklphcpzpclh.jpg) -虽然 GNOME 42 已经可以使用它,但 Ubuntu 22.04 依赖于 Gedit。 +[GNOME 有了一个全新的文本编辑器][1],以取代旧的 Gedit 编辑器。 -这在 Ubuntu 22.10 中发生了变化。 GNOME 文本编辑器是默认程序,甚至没有安装 Gedit。 +虽然 GNOME 42 已经可以使用了它,但 Ubuntu 22.04 还依赖于 Gedit。 + +这在 Ubuntu 22.10 中发生了变化。 GNOME 文本编辑器Text Editor 现在是默认程序,甚至没有安装 Gedit。 ![搜索文本编辑器只出现 GNOME 文本编辑器][2] 虽然新编辑器足够好,但并不是每个人都喜欢它。如果你将 Gedit 与其他插件一起频繁使用,则尤其如此。 -如果你属于这些人,让我向你展示如何在 Ubuntu 上安装 Gedit。我还将分享如何将其设为默认文本编辑器。 +如果你属于这类人,让我向你展示如何在 Ubuntu 上安装 Gedit。我还将分享如何将其设为默认文本编辑器。 ### 在 Ubuntu 上安装 Gedit 这实际上是不费吹灰之力的。虽然默认未安装 Gedit,但它仍然可以在 Ubuntu 仓库中找到。 -所以,你所要做的就是使用 apt 命令来安装它: +所以,你所要做的就是使用 `apt` 命令来安装它: ``` sudo apt install gedit ``` -Gedit 也可以在软件中心中找到,但它是 snap 包。如果你愿意,你可以安装它。 +Gedit 也可以在软件中心中找到,但它是 Snap 包。如果你愿意,你可以安装它。 ![Gedit 也可以在 Ubuntu 的 Snap 商店中找到][3] #### 安装 Gedit 插件(可选) -默认情况下,Gedit 为你提供访问一些插件的选项。你可以从 menu->preference->plugins 启用或禁用插件。 +默认情况下,Gedit 为你提供访问一些插件的选项。你可以从 “汉堡菜单->偏好Preference->插件Plugins” 启用或禁用插件。 ![在 Gedit 中访问插件][4] @@ -55,15 +58,15 @@ sudo apt install gedit-plugins ![其他 Gedit 插件][6] -**提示**:如果你发现 Gedit 因缺少底角而显得有些格格不入,你可以安装一个名为 [Round Bottom Corner][7] 的 GNOME 扩展。这将为包括 Gedit 在内的所有应用强制圆底角。 +**提示**:如果你发现 Gedit 因缺少底角而显得有些格格不入,你可以安装一个名为 [Round Bottom Corner][7] 的 GNOME 扩展。这将为包括 Gedit 在内的所有应用强制添加圆底角。 ### 使 Gedit 成为默认文本编辑器 -好了!你已经安装了 Gedit,但文本文件仍然在双击操作后使用 GNOME 文本编辑器打开。要使用 Gedit 打开文件,你需要右键单击,然后选择“打开方式”选项。 +好了!你已经安装了 Gedit,但文本文件仍然在双击操作后使用 GNOME 文本编辑器打开。要使用 Gedit 打开文件,你需要右键单击,然后选择“打开方式open with”选项。 如果你希望一直使用 Gedit 打开文本文件,你可以将其设置为默认程序。 -右键单击文本文件并选择“打开方式”选项。在此处选择 Gedit 并从底部启用“始终用于此文件类型”选项。 +右键单击文本文件并选择“打开方式open with”选项。在此处选择 Gedit 并从底部启用“始终用于此文件类型Always use for this file type”选项。 ![设置 Gedit 为默认文本编辑器][8] @@ -94,7 +97,7 @@ via: https://itsfoss.com/install-gedit-ubuntu/ 作者:[Abhishek Prakash][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/) 荣誉推出 From 4348666d2e65f482fee13d2527462d5cb2f7344f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 30 Oct 2022 15:27:47 +0800 Subject: [PATCH 200/925] RP @geekpi https://linux.cn/article-15195-1.html --- ...thon 3.10 in Ubuntu and Other Related Linux.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) rename {translated/tech => published}/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md (70%) diff --git a/translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md b/published/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md similarity index 70% rename from translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md rename to published/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md index 768e7a7091..04f9379ddf 100644 --- a/translated/tech/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md +++ b/published/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md @@ -3,38 +3,40 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15195-1.html" 如何在 Ubuntu 和其他相关 Linux 中安装 Python 3.10 ====== -**计划为工作安装 Python 3.10?以下是在 Ubuntu 和相关发行版中安装 Python 3.10 的方法。** +![](https://img.linux.net.cn/data/attachment/album/202210/30/152139lddzddabu5u4buud.jpg) -Python 3.10 于 2021 年 10 月 25 日发布,具有附加功能和更新。此版本带来了更好的错误消息处理、新的模式匹配功能、TypeAlias、用户定义的类型保护等。你可以在[此处][1]阅读发布亮点。 +> 计划为工作安装 Python 3.10?以下是在 Ubuntu 和相关发行版中安装 Python 3.10 的方法。 + +Python 3.10 于 2021 年 10 月 25 日发布,具有附加功能和更新。此版本带来了更好的错误消息处理、新的模式匹配功能、类型别名TypeAlias、用户定义的类型保护等。你可以在 [此处][1] 阅读发布重点。 在编写本指南时,大多数当前发行版都采用 Python 3.10。例如,Ubuntu 22.04 LTS 和 Fedora 36 默认都有 Python 3.10。 -也就是说,如果你现在需要任何不支持的版本中的 Python 3.10,你可以使用[下面的可靠 PPA][2]在 Ubuntu 中安装最新的 Python 3.10。下面是方法。 +也就是说,如果你现在在任何不支持的版本中需要 Python 3.10,你可以使用 [下面的可靠 PPA][2] 在 Ubuntu 中安装最新的 Python 3.10。下面是方法。 ### 如何在 Ubuntu 上安装 Python 3.10 -此 PPA 可用于 Ubuntu 21.10、Ubuntu 21.04、Ubuntu 20.04 LTS、Ubuntu 18.04 LTS 和 Linux Mint 20.x、Elementary OS 6 和其他相关的基于 Ubuntu 的发行版。大多数默认情况下不支持 3.10。 +此 PPA 可用于 Ubuntu 21.10、Ubuntu 21.04、Ubuntu 20.04 LTS、Ubuntu 18.04 LTS 和 Linux Mint 20.x、Elementary OS 6 和其他相关的基于 Ubuntu 的发行版。这些发行版大多数默认情况下不支持 3.10。 -- 打开终端并添加以下 PPA。 +打开终端并添加以下 PPA: ``` sudo add-apt-repository ppa:deadsnakes/ppa ``` -- 使用以下命令刷新缓存。 +使用以下命令刷新缓存: ``` sudo apt update ``` -- 并使用以下命令安装 Python 3.10。 +并使用以下命令安装 Python 3.10: ``` sudo apt install python3.10 @@ -42,9 +44,9 @@ sudo apt install python3.10 ### 设置 Python 版本 -将 Python 3.10 设置为默认值需要一些额外的步骤。请跟上。 +将 Python 3.10 设置为默认值需要一些额外的步骤。如下。 -**警告**:你的 Ubuntu 系统中的许多应用程序依赖于 Python 3.9 的库存版本。因此,请确保你的工作应用(例如 GIMP、GNOME 终端等)与 Python 3.10 兼容。所以,要小心。 +> **警告**:你的 Ubuntu 系统中的许多应用程序依赖于 Python 3.9 的库存版本。因此,请确保你的工作应用(例如 GIMP、GNOME 终端等)与 Python 3.10 兼容。所以,要小心。 **快速提示:** 如果要检查已安装的系统包中的哪些依赖于特定版本,请使用 `apt-cache` 命令的 `rdepends` 开关。在下面的示例中,我检查哪些已安装的包依赖于 Python 3.8。 @@ -100,13 +102,13 @@ gedit #### 使用 Python 3.10 作为默认 Python3 -- 首先,使用终端中的以下命令检查当前默认版本。 +首先,使用终端中的以下命令检查当前默认版本。 ``` python3 --version ``` -- 使用 `update-alternatives` 创建指向 python3 的符号链接。 +使用 `update-alternatives` 创建指向 `python3` 的符号链接。 ``` sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 @@ -116,7 +118,7 @@ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2 ``` -- 并通过以下命令选择使用哪一个作为 Python3: +并通过以下命令选择使用哪一个作为 `python3`: ``` sudo update-alternatives --config python3 @@ -133,7 +135,7 @@ via: https://www.debugpoint.com/install-python-3-10-ubuntu/ 作者:[Arindam][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/) 荣誉推出 From bc5f28694b8bca8350d0184124474cab36977a07 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Sun, 30 Oct 2022 17:19:03 +0800 Subject: [PATCH 201/925] translating --- ...ay commits created on a specific day with the git log command.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md b/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md index 3df3f70944..3d0add6c8f 100644 --- a/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md +++ b/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/git-log-command" [#]: author: "Agil Antony https://opensource.com/users/agantony" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 075ec9619f6df7d7c2acb0f5eb9c9446c2605c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 31 Oct 2022 01:57:39 +0800 Subject: [PATCH 202/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221030.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Enable=20?= =?UTF-8?q?Dark=20Mode=20in=20Web=20Browser.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Enable Dark Mode in Web Browser.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md diff --git a/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md new file mode 100644 index 0000000000..7ca77ebd2f --- /dev/null +++ b/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md @@ -0,0 +1,100 @@ +[#]: subject: "How to Enable Dark Mode in Web Browser" +[#]: via: "https://www.debugpoint.com/dark-mode-browser/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Enable Dark Mode in Web Browser +====== + +**This guide is about helping you how to enable dark mode in popular web browser(s) such as Firefox, Google Chrome, Chromium and Microsoft Edge.** + +We all love dark mode. Many people prefer it over standard light mode. While many desktop applications provide the dark mode natively, some apps adapt to dark mode via the desktop environment’s underlying modes. + +You can not deny that we all spend hours on web browsers. We seldom use desktop apps (unless you are specific to work, such as video editing, etc.). So, when you spend many hours reading and studying in a browser, you can always opt for dark mode. But, coming to the web browser, things are a little different. + +This guide gives you the simple steps which you can follow to enable dark mode in Mozilla Firefox, Chromium, Google Chrome and Edge browsers. + +### Enable Dark Mode in Web Browser + +#### Enable Dark Mode in Firefox + +- Open Firefox and click on the little hamburger menu at the right-top. +- Click `Settings > Extension and Themes`. +- Select the `Dark Theme` and click `enable`. And you should see the dark mode is applied to Firefox. + +![Enable dark mode in Firefox][1] + +Enable dark mode in Firefox browser + +![Firefox in Dark Mode][2] + +Firefox in Dark Mode + +- To revert it back, follow the same steps and select Light Theme. + +#### Dark Mode in Chromium and Google Chrome + +Chromium or Google Chrome doesn’t pre-install any dark theme by default. Hence, you need to go to Chrome Web Store and download any dark theme you want. For this guide, I would recommend “Morpheon Dark” theme, which over a million users use. + +Open the Morpheon Dark theme page (below link) from the Chromium web browser. + +[Morpheon Dark Theme in Chrome Web Store][3] + +Click on Add To Chrome button. And it should be enabled in Chrome. + +You may want to explore other Black and White or dark themes available in Chrome Web Store. [Visit this page for all collections of dark themes.][4] + +However, one thing you should remember is that – this theme would not change the settings or context menu, which is obvious. Because it just changes the browser window, and those menus are part of the operating system itself (sometimes). + +![Chromium Dark Theme][5] + +Chromium Dark Theme + +Follow the same steps for the Google Chrome browser as well. + +#### Edge Browser – Dark Mode + +[Microsoft Edge browser][6], however, comes with a better dark theme by default. It allows you to use GTK+, Light and Dark modes from settings. + +- Open Edge Browser +- Click on the three little dots on the right-top side. +- Go to Appearance and choose Dark. And you should be all set. + +This dark theme implementation of Edge is better because it changes the context menu and the address bar. + +![Edge in Dark Theme][7] + +Edge in Dark Theme + +### Closing Notes + +If you are an advanced user, you probably do not need this guide. You can figure it out. + +But we cover all the basic to advanced tutorials for all our readers. Many new Linux users may not know how also to enable dark mode in the browser. + +So, that said, I hope this helps you and others. Let me know in the comment box below if you face any trouble. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/dark-mode-browser/ + +作者:[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/2021/10/Enable-dark-mode-in-Firefox.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/10/Firefox-in-Dark-Mode-1024x423.jpg +[3]: https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en-GB +[4]: https://chrome.google.com/webstore/category/collection/dark_themes +[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/Chromium-Dark-Theme-1024x463.jpg +[6]: https://www.debugpoint.com/2020/10/how-to-install-edge-ubuntu-linux/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/Edge-in-Dark-Theme-1024x541.jpg From 48fc2d5d9e96f935d3636a94a1e487b87ce9d721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 31 Oct 2022 02:05:33 +0800 Subject: [PATCH 203/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221030.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=203?= =?UTF-8?q?=20Best=20Free=20Photoshop=20Alternatives=20for=20Ubuntu=20and?= =?UTF-8?q?=20other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...otoshop Alternatives for Ubuntu and other Linux.md | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 sources/tech/20221030.1 ⭐️⭐️ 3 Best Free Photoshop Alternatives for Ubuntu and other Linux.md diff --git a/sources/tech/20221030.1 ⭐️⭐️ 3 Best Free Photoshop Alternatives for Ubuntu and other Linux.md b/sources/tech/20221030.1 ⭐️⭐️ 3 Best Free Photoshop Alternatives for Ubuntu and other Linux.md new file mode 100644 index 0000000000..c8531f1390 --- /dev/null +++ b/sources/tech/20221030.1 ⭐️⭐️ 3 Best Free Photoshop Alternatives for Ubuntu and other Linux.md @@ -0,0 +1,160 @@ +[#]: subject: "3 Best Free Photoshop Alternatives for Ubuntu and other Linux" +[#]: via: "https://www.debugpoint.com/3-best-free-photoshop-alternatives-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +3 Best Free Photoshop Alternatives for Ubuntu and other Linux +====== + +**We present three best Photoshop alternatives for Linux systems that are free and open-source.** + +Photoshop is a raster graphics image editor and manipulator developed by Adobe. This decade-old software is a de facto standard for the photographic industry. However, it is a paid product and doesn’t run on Linux. For many users in this industry, Photoshop is still costly and comes with a hefty subscription fee. Since it does not run on Linux, you must use Windows or macOS with additional free operating systems and hardware. + +As you can see, to use Photoshop, you end up paying additional fees, which are not even related to Photoshop. + +Though nothing technically replaces software, below are some free and open-source apps that come close to Photoshop in terms of its functionality. + +Also, all these three apps are available as Flatpak and Snap. So you can install it in any Linux distribution. + +### Best Photoshop Alternatives for Linux + +#### 1. GIMP + +[GIMP][1], aka GNU Image Manipulation Program, is the default and best image editor program available as free in Linux, Windows and Mac. GIMP is also as old as Photoshop regarding how long the software has been in the industry. + +GIMP is very active in the development, and each new release delivers the next set of improvements, keeping in line with the industry. + +![GIMP is one of the best Photoshop Alternative available for free][2] + +GIMP is one of the best Photoshop Alternative available for free + +Though some very advanced Photoshop features are not available in GIMP, GIMP can still match its features as closely as Photoshop. GIMP also supports scripting, which is a powerful feature of this application. GIMP is supported by a huge list of free plugins, such as GMIC for filters, which you can use to extend its features to a great extent. + +##### Key features of GIMP + +- 8-bit and 16-bit CMYK(A) TILL files support +- WebP image support +- JPEG XL, and BIGTIFF file support +- Configurable user interfaces with light/dark/system theme. +- Extensible layer options +- External add-on support +- Localized glyphs in the text tool + +##### How To Install + +GIMP is available as both Flatpak and Snap, which you can run in any Linux distribution. Download from the below links. I would recommend using Flatpak since it gets you the latest version of this app as soon as it releases. + +For Flatpak, [set up your system][3], and then run the below to install from the terminal. + +``` +flatpak install flathub org.gimp.GIMP +``` + +Also, for Snap installation, visit [this page][4]. + +For those who prefer the native apt package, you can run the following from the terminal to install it. + +``` +sudo apt install gimp +``` + +For Windows and Mac, visit [this page][5] for download options. + +#### 2. Inkscape + +[Inkscape][6] is a vector graphics editor for editing illustrations, logos and complex paintings. Though this app is mainly used to manipulate SVG diagrams, it can also be used for editing images and helping with certain functionalities of Photoshop. This can act as a lightweight alternative to Photoshop. + +![][7] + +##### Key features of Inkscape + +- Object creation and manipulation +- Freehand drawing, simple path, calligraphy support +- Wide variety of shape tools +- Text tools (multi-line text, full-on canvas) +- RGB, HSL, CYMK, CMS colour selector +- Gradient editor +- Nodes and paths +- Boolean operations +- Command line options + +##### How to Install + +Inkscape is available in Flatpak, Snap and native deb/RPM formats. For Flatpak installation, [set up your system to use Flatpak][3] and use the following command to install it. This is recommended way. + +``` +flatpak install flathub org.inkscape.Inkscape +``` + +For the Snap package, visit [this page][8]. + +If you prefer the native deb/rpm package, use the following commands to install it in Fedora and Ubuntu. + +``` +sudo apt install inkscape +``` + +``` +sudo dnf install inkscape +``` + +#### 3. Darktable + +[Darktable][9] is a photo editing and photo workflow application designed to handle raw photos. It can manage photos in a non-destructive way for post-production. + +Like Photoshop, it can also handle/edit raster graphics, and this app is beneficial to photographers who handle many photos for their workflow. + +You can find more darktable features [here][10]. + +##### How to Install + +Darktable is also available as both Flatpak and Snap. The recommended way is to use the Flatpak version. To do that, first [set up your system to use Flatpak][3]. Then run the following command. + +``` +flatpak install flathub org.darktable.Darktable +``` + +For Snap, visit [this page][11]. + +If you prefer the legacy way of installation, then follow the below commands via the terminal. You can also use the respective distro’s Software repo to install. + +``` +sudo apt install darktable +``` + +``` +sudo dnf install darktable +``` + +### Summary + +Photoshop is an amazing application and has become a standard today. However, I feel the above three free apps can somewhat be close to photoshop and act as the best photoshop alternatives for Linux systems. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/3-best-free-photoshop-alternatives-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.gimp.org/ +[2]: https://www.debugpoint.com/wp-content/uploads/2018/09/GIMP-is-one-of-the-best-Photoshop-Alternative-available-for-free.jpg +[3]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[4]: https://snapcraft.io/gimp +[5]: https://www.gimp.org/downloads/ +[6]: https://gitlab.com/inkscape/inkscape +[7]: https://www.debugpoint.com/wp-content/uploads/2018/09/Inkscape-Running.png +[8]: https://snapcraft.io/inkscape +[9]: https://www.darktable.org/ +[10]: https://www.darktable.org/about/features/ +[11]: https://snapcraft.io/darktable From 1fa40928e798938a0e1539797a6b71b9a7674667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 31 Oct 2022 02:09:10 +0800 Subject: [PATCH 204/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221030.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20In?= =?UTF-8?q?stall=20WoeUSB=20on=20Ubuntu=20to=20Create=20a=20Bootable=20Win?= =?UTF-8?q?dows=20USB.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eUSB on Ubuntu to Create a Bootable Windows USB.md | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md diff --git a/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md new file mode 100644 index 0000000000..78c2e75f83 --- /dev/null +++ b/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md @@ -0,0 +1,190 @@ +[#]: subject: "Install WoeUSB on Ubuntu to Create a Bootable Windows USB" +[#]: via: "https://itsfoss.com/install-woeusb-ubuntu/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Install WoeUSB on Ubuntu to Create a Bootable Windows USB +====== + +Want to create a bootable Windows USB on Linux? Ventoy is a pretty good option. + +But before Ventoy, WoeUSB used to be the go-to tool for this purpose. The original WoeUSB project got discontinued around 2014. + +Owing to its popularity, a new developer took the task of bringing the project back from the dead. And hence WoeUSB-ng was born. “ng” here stands for “new generation”. In other words, [WoeUSB-ng][1] is the new generation WoeUSB. But since the original tool doesn’t exist anymore, I’ll be referring WoeUSB-ng as WoeUSB. + +In this tutorial, I’ll show you how to install WoeUSB on Ubuntu Linux. I’ll also share the steps for creating bootable Windows USBs with WoeUSB. + +But before that, let’s quickly look at the features of this awesome tool. + +### WoeUSB + +![install woeusb ubuntu][2] + +WoeUSB is a simple tool that has the sole purpose of [creating bootable Windows USB on Linux][3]. + +The original WoeUSB is a shell script. This same WoeUSB is rewritten as WoeUSB-ng in python, which can be installed on your system and provides both a command-line and GUI interface. + +**Features:** + +- Support Legacy PC/UEFI booting +- Support FAT32 and NTFS filesystems +- Support using physical installation disc or disk image as source +- It can be used for Windows Vista and later with any language or edition variants +- Legacy/MBR-style/IBM PC compatible boot mode +- Native UEFI booting is supported for Windows 7 and later images (limited to the FAT filesystem as the target) + +### Installing WoeUSB on Ubuntu and other Linux distros + +Arch Linux users can install WoeUSB-ng from AUR. + +For other distros, WoeUSB can be installed using PIP. It’s a Python application, after all. I am going to provide commands for Ubuntu/Debian here. + +To install WoeUSB-ng, you need to [install PIP][4] and other necessary dependencies first. + +``` +sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin +``` + +After this, you can install WoeUSB-ng by running: + +``` +sudo pip3 install WoeUSB-ng +``` + +For all other installations, you can refer to their [instructions][5]. + +[WoeUSB-ng][1] + +### Prerequisite: Get Windows ISO and a compatible USB + +This one goes without saying. You need to have the ISO file of the Windows version you want to install. + +From the Microsoft website, you should be able to get the ISO for Windows 10 and 11. + +[Download Windows][6] + +If you have ISOs for older Windows versions, they can also be used. + +Apart from that, you need to have a USB key/pen drive of at least 8 GB in size. You should format it in NTFS filesystem. + +### Method 1: Using WoeUSB to create a bootable Windows USB graphically (recommended) + +Open woeusb-gui from the activity overview or menu. + +![woeusb in ubuntu activities overview][7] + +In the application window, select the downloaded Windows ISO and the desired USB drive as shown in the screenshot and press **Install**. + +![woeusb gui setup][8] + +There are also other tweaks available within the app, which can be accessed by the top menu bar. + +After pressing install, the woeUSB will start formatting and copying files. You need to wait for some time because there are approximately 6 GB of files to be copied. + +![woeusb writing windows iso to the usb drive][9] + +Once copying completes, WoeUSB will prompt a success dialog. You can now safely eject the USB and use it as a bootable USB. + +![woeusb completed writing and gives a success message][10] + +### Method 2: Using WoeUSB from the terminal (for experts) + +WoeUSB-ng package also provides a command-line utility called woeusb. + +To create the bootable Windows USB using WoeUSb, you need to run the following command: + +``` +sudo woeusb --device --target-filesystem ntfs +``` + +Here, the `--device` flag is used to wipe the USB and create a bootable from scratch completely. Also, the –target-filesystem flag is set to NTFS, to avoid problems of copying files more than the size limits of the FAT system. + +![woeusb commandline][11] + +The process will take some time to complete copying. Once completed, it will display a success message. + +![woeusb commandline success message][12] + +At this point, you can eject the USB safely and use it as a Windows bootable USB on other PCs. + +### Bonus: Using WoeUSB Bash shell script (for experts) + +WoeUSB is also available as a bash shell script, which can be used without installing anything on your system. + +First, you want to download the shell script from the [releases page of the project][13]. + +Before [executing the shell file][14], you need to get the required dependencies. To install, run: + +``` +sudo apt install wimtools +``` + +Now make it executable either through file manager or through command-line. + +![make woeusb script executable][15] + +Or you can run `chmod +x ` to make it executable. Now, run`./woeusb-5.2.4.bash -h` inside the downloaded directory to get help. + +In order to create a live USB, the process is same as the command-line part of woeusb-ng, except, you are not installing anything. + +So, in a terminal, run: + +``` +sudo --device --target-filesystem ntfs +``` + +This will start writing the ISO to USB drive, as shown in the screenshot below: + +![woeusb bash script running without installation][16] + +Once completed, you can safely eject the USB and use it as bootable USB. + +### Removing WoeUSB + +If you installed WoeUSB using PIP, you can also remove it similarly: + +``` +pip3 uninstall WoeUSB-ng +``` + +You can keep the installed dependencies on your system or remove them. That’s entirely up to you. I would suggest keeping them. + +### Wrapping Up + +WoeUSB was an immensely popular tool around ten years ago. It’s good that it has been continued in another form by someone else. That’s the beauty of open source. + +I hope this tutorial helped you. If somehow the Windows USB created by WoeUSB doesn’t work as expected, you may [try using Ventoy][3]. Enjoy it. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-woeusb-ubuntu/ + +作者:[Sreenath][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/sreenath/ +[b]: https://github.com/lkxed +[1]: https://github.com/WoeUSB/WoeUSB-ng +[2]: https://itsfoss.com/wp-content/uploads/2022/10/install-woeusb-ubuntu.png +[3]: https://itsfoss.com/bootable-windows-usb-linux/ +[4]: https://itsfoss.com/install-pip-ubuntu/ +[5]: https://github.com/WoeUSB/WoeUSB-ng#installation +[6]: https://www.microsoft.com/en-in/software-download/ +[7]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-in-ubuntu-activities-overview.png +[8]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-gui-setup.png +[9]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-writing-windows-iso-to-the-usb-drive.png +[10]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-completed-writing-and-gives-a-success-message.png +[11]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline.png +[12]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline-success-message.png +[13]: https://github.com/WoeUSB/WoeUSB/releases/tag/v5.2.4 +[14]: https://itsfoss.com/run-shell-script-linux/ +[15]: https://itsfoss.com/wp-content/uploads/2022/10/make-woeusb-script-executable.png +[16]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-bash-script-running-without-installation.png From aa7c052fa858f3c60a833a01e004c12c94cbcf6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Mon, 31 Oct 2022 07:39:14 +0800 Subject: [PATCH 205/925] Translated --- ...ntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 117 ----------------- ...ntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 118 ++++++++++++++++++ 2 files changed, 118 insertions(+), 117 deletions(-) delete mode 100644 sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md create mode 100644 translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md diff --git a/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md deleted file mode 100644 index 314a431bab..0000000000 --- a/sources/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md +++ /dev/null @@ -1,117 +0,0 @@ -[#]: subject: "How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic)" -[#]: via: "https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic) -====== - -**Here are the steps on how to upgrade your current Ubuntu 22.04 LTS Jammy Jellyfish to Ubuntu 22.10 Kinetic Kudu.** - -Always stay with long-term support release. That is the thumb rule. So, the prior [Ubuntu 22.04 LTS][1] Jammy Jellyfish is supported until April 2027. That’s a long time. - -In addition, LTS releases are super stable. They rarely break and become unstable. So, if you use your laptop/desktop or server installation with the LTS version, stay with it. - -However, if you want the latest Kernel, GNOME 43, and new technology like Pipewire – you might want to make the jump and want to upgrade to [Ubuntu 22.10 Kinetic Kudu][2]. - -Here’s how. - -### Upgrade Ubuntu 22.04 LTS (Jammy Jellyfish) to Ubuntu 22.10 (Kinetic Kudu) - -**Note**: I hope you are not running Ubuntu 21.10 Impish Indri, released last October. Because that’s out of support. But for any reason, if you are still running it, I would recommend you do a fresh install of 22.10. Or, do a step upgrade to 22.04 and then 22.10. - -#### Before you upgrade - -Before you upgrade, do a little housekeeping. This is super important. - -- Take backups of your `/home`, /`downloads` and other files to USB or any separate partition in case the upgrade fails. - -- If you have added additional PPA over time, make sure you note them down. However, the upgrade process would disable the PPA before it starts. However, after the upgrade is complete, make sure to enable them manually. - -- Note down and disable all the GNOME Extensions. Extensions tend to break after the upgrade if it’s not updated by the developer aligned with the GNOME version. - -- Keep a LIVE USB stick handy. - -#### Upgrade steps - -- Open Software & Update. - -- Go to the Updates tab. - -- Select ‘`Notify me of a new Ubuntu version'`and change it to `'For any new version'.` - -- This will tell the package manager to look for the Ubuntu 22.10 release details. - -![Make sure to change the option for new Ubuntu 22.10 release][3] - -- Open a terminal and run below. - -``` -sudo apt updatesudo apt upgrade -``` - -Alternatively, you can open the Software Updater as well. Install all the pending packages. - -- Once both the commands are complete, open the ‘Software Updates’. And you will see a prompt to Upgrade to Ubuntu 22.10 (as shown in the below image). - -![New version update prompt from the GUI method][4] - -- Now click on the `Upgrade` button and follow the on-screen instructions. The upgrade process takes time, so be patient and wait until it finishes. Make sure you have stable internet connectivity for the entire upgrade process. - -If you still don’t get the update, wait a day or two and try. - -- If you do not see the above prompt, do a manual reboot of your system. Add try again. - -**Via terminal** - -- Open the following file via the nano file editor in the terminal. - -``` -nano /etc/update-manager/release-upgrades -``` - -- Change the `Prompt=LTS` to `Prompt=normal`. Note: If you have changed the updates tab to “For any new version” as mentioned above, then this file should be updated already. But verify once. - -![Change the release upgrade file][5] - -- Press CTRL+O and CTRL+X to save and exit. - -- Finally, you can also run the below command to force the upgrade process from the terminal. - -``` -sudo do-release-upgrade -c -``` - -![New version update prompt from the terminal method][6] - -The upgrade process will take some time (minimum half-hour or more) based on your internet connection and hardware. Wait until it is complete. Once done, restart and enjoy the Ubuntu 22.10 Kinetic Kudu. - -![Upgrade is in progress][7] - -While the upgrade process is in progress, take a look at the exciting articles we [recently published on Ubuntu 22.10][8]. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/ - -作者:[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/ubuntu-22-04-review/ -[2]: https://www.debugpoint.com/ubuntu-22-10/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Make-sure-to-change-the-option-for-new-Ubuntu-22.10-release.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-GUI-method2.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Change-the-release-upgrade-file.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-terminal-method.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Upgrade-is-in-progress.jpg -[8]: https://www.debugpoint.com/tag/ubuntu-22-10 diff --git a/translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md new file mode 100644 index 0000000000..c1c7bf6143 --- /dev/null +++ b/translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md @@ -0,0 +1,118 @@ +[#]: subject: "How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic)" +[#]: via: "https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何从 Ubuntu 22.04 LTS 升级到 22.10 (从 Jammy 到 Kinetic) +====== + +**这里是一些关于如何将你当前的 Ubuntu 22.04 LTS Jammy Jellyfish 升级到 Ubuntu 22.10 Kinetic Kudu 的步骤。** + +一直停留在长期支持的发布版本,这是金科玉律。因为,先前的 [Ubuntu 22.04 LTS][1] Jammy Jellyfish 将被支持到2027年4月。这是一段很长的时间。 + +此外,LTS 版本超级稳定。它们很少损坏并变得不稳定。因此,如果你在笔记本电脑/台式机电脑或服务器上安装使用 LTS 版本,保持使用它。 + +然而,如果你想要最新的内核、GNOME 43 和最新的技术,像 like Pipewire – 你可能会想完成版本跳级,并升级到 [Ubuntu 22.10 Kinetic Kudu][2] 。 + +这里是如何做的方法。 + +### 升级 Ubuntu 22.04 LTS (Jammy Jellyfish) 到 Ubuntu 22.10 (Kinetic Kudu) + +**注意**: 我希望你没有运行去年10月份发布的 Ubuntu 21.10 Impish Indri 。因为它已经不被支持。但是鉴于某些原因,你正在运行它,我建议你直接重新安装 22.10 。或者,先升级到 22.04 ,再升级到 22.10 。 + +#### 在你升级前 + +在你升级前,做一些内务整理。这是非常重要的。 + +- 备份你的 `/home`、/`downloads` 和其它的文件到 USB 驱动器或任意独立的分区,以防升级失败。 + +- 如果你随着时间的流逝而添加了一些额外的 PPA ,确保将它们记录下来。虽然,在升级过程开始前,升级过程将禁用 PPA 。不过,在升级完成后,确保手动启用 PPA 。 + +- 记录并禁用所有的 GNOME 扩展。如果开发人员没有按照 GNOME 版本进行更新,那么扩展在升级后将会损坏。 + +- 家中常备一个 LIVE USB 磁盘。 + +#### 升级步骤 + +- 打开 软件包和更新 Software & Update 。 + +- 转到 更新 Updates 标签页 + +- 转到 通知我新的 Ubuntu 版本 Notify me of a new Ubuntu version +- 选择 并将其更改为 任意新的版本 For any new version + +- 这将告诉软件包管理器来查找 Ubuntu 22.10 发布版本的详细信息。 + +![Make sure to change the option for new Ubuntu 22.10 release][3] + +- 打开一个终端,并运行下面的命令。 + +``` +sudo apt updatesudo apt upgrade +``` + +或者,你也可以打开软件包更新程序。安装所有的准备服役的软件包。 + +- 在两个命令完成后,打开软件包更新。你将会看到一个升级到 Ubuntu 22.10 的提示 (如下图所示) 。 + +![New version update prompt from the GUI method][4] + +- 现在,单击 升级Upgrade 按钮,并按照屏幕上的说明进行操作。升级过程需要一些时间,因此,要耐心等待,直至升级完成。确保在整个升级过程中有稳定的互联网链接。 + +如果你尚未获得更新,请等待一、两天后再次尝试。 + +- 如果你没有看到上述提示,手动重新启动一次系统I。并再次添加尝试。 + +**通过终端** + +- 在终端中通过 nano 文件编辑器打开下面的文件。 + +``` +nano /etc/update-manager/release-upgrades +``` + +- 将 `Prompt=LTS` 更改为 `Prompt=normal` 。注意:如果你已经如上所述将更新标签页更改为 “任意新的版本” ,那么这个文件应该已经更新了。但是,要验证它一次。 + +![Change the release upgrade file][5] + +- 分别按下组合键 CTRL+O 和组合键 CTRL+X 来保存和退出。 + +- 最后,你也可以运行下面的命令来从终端中强制升级过程。 + +``` +sudo do-release-upgrade -c +``` + +![New version update prompt from the terminal method][6] + +升级过程需要花费一些时间 (最少半个小时,上不封顶),这主要取决于你的互联网连接和硬件。直至等到其完成。在完成后,重新启动并享受 Ubuntu 22.10 Kinetic Kudu. + +![Upgrade is in progress][7] + +在升级过程进行时,看看我们 [不久前发布的关于 Ubuntu 22.10][8] 的精彩文章。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[校对者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/ubuntu-22-04-review/ +[2]: https://www.debugpoint.com/ubuntu-22-10/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Make-sure-to-change-the-option-for-new-Ubuntu-22.10-release.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-GUI-method2.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/Change-the-release-upgrade-file.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/New-version-update-prompt-from-the-terminal-method.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Upgrade-is-in-progress.jpg +[8]: https://www.debugpoint.com/tag/ubuntu-22-10 From 1707b44aeb2541b315f1649d4c6f6fd04e744c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Mon, 31 Oct 2022 11:12:10 +0800 Subject: [PATCH 206/925] Translating --- ...⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md index 78c2e75f83..d01f64b415 100644 --- a/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md +++ b/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/install-woeusb-ubuntu/" [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 7e82aa072c47375f3fd5d756983d3fab23621f44 Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 31 Oct 2022 15:14:13 +0800 Subject: [PATCH 207/925] translated --- ...t you need to know about compiling code.md | 102 ------------------ ...t you need to know about compiling code.md | 100 +++++++++++++++++ 2 files changed, 100 insertions(+), 102 deletions(-) delete mode 100644 sources/tech/20221013 What you need to know about compiling code.md create mode 100644 translated/tech/20221013 What you need to know about compiling code.md diff --git a/sources/tech/20221013 What you need to know about compiling code.md b/sources/tech/20221013 What you need to know about compiling code.md deleted file mode 100644 index c5d7f16a36..0000000000 --- a/sources/tech/20221013 What you need to know about compiling code.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: subject: "What you need to know about compiling code" -[#]: via: "https://opensource.com/article/22/10/compiling-code" -[#]: author: "Alan Smithee https://opensource.com/users/alansmithee" -[#]: collector: "lkxed" -[#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -What you need to know about compiling code -====== -Use this handy mousetrap analogy to understand compiling code. Then download our new eBook, An open source developer's guide to building applications. - -Source code must be compiled in order to run, and in open source software everyone has access to source code. Whether you've written code yourself and you want to compile and run it, or whether you've downloaded somebody's project to try it out, it's useful to know how to process source code through a [compiler][2], and also what exactly a compiler does with all that code. - -### Build a better mousetrap - -We don't usually think of a mousetrap as a computer, but believe it or not, it does share some similarities with the CPU running the device you're reading this article on. The classic (non-cat) mousetrap has two states: it's either set or released. You might consider that *on* (the kill bar is set and stores potential energy) and *off* (the kill bar has been triggered.) In a sense, a mousetrap is a computer that calculates the presence of a mouse. You might imagine this code, in an imaginary language, describing the process: - -``` -if mousetrap == 0 then - There's a mouse! -else - There's no mouse yet. -end -``` - -In other words, you can derive mouse data based on the state of a mousetrap. The mousetrap isn't foolproof, of course. There could be a mouse next to the mousetrap, and the mousetrap would still be registered as *on* because the mouse has not yet triggered the trap. So the program could use a few enhancements, but that's pretty typical. - -### Switches - -A mousetrap is ultimately a switch. You probably use a switch to turn on the lights in your house. A lot of information is stored in these mechanisms. For instance, people often assume that you're at home when the lights are on. - -You could program actions based on the activity of lights on in your neighborhood. If all lights are out, then turn down your loud music because people have probably gone to bed. - -A CPU uses the same logic, multiplied by several orders of measure, and shrunken to a microscopic level. When a CPU receives an electrical signal at a specific register, then some other register can be tripped, and then another, and so on. If those registers are made to be meaningful, then there's communication happening. Maybe a chip somewhere on the same motherboard becomes active, or an LED lights up, or a pixel on a screen changes color. - -**[[ Related read 6 Python interpreters to try in 2022 ]][3]** - -What comes around goes around. If you really want to detect a rodent in more places than the one spot you happen to have a mousetrap set, you could program an application to do just that. With a webcam and some rudimentary image recognition software, you could establish a baseline of what an empty kitchen looks like and then scan for changes. When a mouse enters the kitchen, there's a shift in the pixel values where there was previously no mouse. Log the data, or better yet trigger a drone that focuses in on the mouse, captures it, and moves it outside. You've built a better mousetrap through the magic of on and off signals. - -### Compilers - -A code compiler translates human-readable code into a machine language that speaks directly to the CPU. It's a complex process because CPUs are legitimately complex (even more complex than a mousetrap), but also because the process is more flexible than it strictly "needs" to be. Not all compilers are flexible. There are some compilers that have exactly one target, and they only accept code files in a specific layout, and so the process is relatively straight-forward. - -Luckily, modern general-purpose compilers aren't simple. They allow you to write code in a variety of languages, and they let you link libraries in different ways, and they can target several different architectures. The [GNU C Compiler (GCC)][4] has over 50 lines of options in its `--help` output, and the LLVM `clang` compiler has over 1000 lines in its `--help` output. The GCC manual contains over 100,000 words. - -You have lots of options when you compile code. - -Of course, most people don't need to know all the possible options. There are sections in the GCC man page I've never read, because they're for Objective-C or Fortran or chip architectures I've never even heard of. But I value the ability to compile code for several different architectures, for 64-bit and 32-bit, and to run open source software on computers the rest of the industry has left behind. - -### The compilation lifecycle - -Just as importantly, there's real power to understanding the different stages of compiling code. Here's the lifecycle of a simple C program: - -1. C source with macros (.c) is preprocessed with `cpp` to render an `.i` file. -2. C source code with expanded macros (.i) is translated with `gcc` to render an `.s` file. -3. A text file in Assembly language (.s) is `as`sembled with as into an `.o` file. -4. Binary object code with instructions for the CPU, and with offsets not tied to memory areas relative to other object files and libraries (*.o) is linked with `ld` to produce an executable. -5. The final binary file either has all required objects within it, or it's set to load linked dynamic libraries (*.so files). - -And here's a simple demonstration you can try (with some adjustment for library paths): - -``` -$ cat << EOF >> hello.c - #include - int main(void) - { printf("hello world\n"); -   return 0; } -   EOF -$ cpp hello.c > hello.i -$ gcc -S hello.i -$ as -o hello.o hello.s -$ ld -static -o hello \ --L/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/ \ -/usr/lib64/crt1.o /usr/lib64/crti.o hello.o \ -/usr/lib64/crtn.o  --start-group -lc -lgcc \ --lgcc_eh --end-group -$ ./hello -hello world -``` - -### Attainable knowledge - -Computers have become amazingly powerful, and pleasantly user-friendly. Don't let that fool you into believing either of the two possible extremes: computers aren't as simple as mousetraps and light switches, but they also aren't beyond comprehension. You can learn about compiling code, about how to link, and compile for a different architecture. Once you know that, you can debug your code better. You can understand the code you download. You may even fix a bug or two. Or, in theory, you could build a better mousetrap. Or a CPU out of mousetraps. It's up to you. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/compiling-code - -作者:[Alan Smithee][a] -选题:[lkxed][b] -译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/alansmithee -[b]: https://github.com/lkxed -[2]: https://opensource.com/article/19/5/primer-assemblers-compilers-interpreters -[3]: https://opensource.com/article/22/9/python-interpreters-2022 -[4]: https://opensource.com/article/22/5/gnu-c-compiler diff --git a/translated/tech/20221013 What you need to know about compiling code.md b/translated/tech/20221013 What you need to know about compiling code.md new file mode 100644 index 0000000000..0ed6f694e3 --- /dev/null +++ b/translated/tech/20221013 What you need to know about compiling code.md @@ -0,0 +1,100 @@ +[#]: subject: "What you need to know about compiling code" +[#]: via: "https://opensource.com/article/22/10/compiling-code" +[#]: author: "Alan Smithee https://opensource.com/users/alansmithee" +[#]: collector: "lkxed" +[#]: translator: "Donkey-Hao" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +关于编译代码你应该知道的 +====== +用这个老鼠夹比喻来理解编译代码。然后下载我们新电子书《开源开发者开发应用指导手册》。 + +每个人都可以获取开源软件源代码,必须源代码要经过编译才能够运行程序。无论你是自己编写了代码,并且想要编译和运行它,还是你已经下载了某人的项目来尝试它,了解如何通过 [编译器][2] 处理源代码,以及编译器如何处理这些代码,这都很有用。 + +### 创建一个更好的老鼠夹 + +一般情况我们不会将一个老鼠夹比作电脑,但不管你信不信,它确实与你正在使用的设备(手机或电脑)的 CPU 有一些相似之处。经典的老鼠夹有两种状态:打开或者释放。你可以认为 *打开* 是将老鼠夹设置好准备捕获老鼠,以及 *释放* 是夹子被老鼠触发。某种意义上来说,老鼠夹就像是有鼠标的电脑。你可能会想到这个代码,用虚构的语言来描述这个过程: + +``` +if mousetrap == 0 then + There's a mouse! +else + There's no mouse yet. +end +``` + +换句话说,你可以基于老鼠夹的状态发现是否有老鼠。当然,老鼠夹不是万无一失的,有可能有一只老鼠在老鼠夹旁边,由于老鼠还没有触发老鼠夹,所以它的状态还是 *打开* 的。因此该程序可以进行改进,这都是非常典型的。 + +### 开关 + +总的来说,老鼠夹就是一个开关。你会在家里使用开关打开灯。可以从开关中获得许多信息。比如,人们会从你家灯的状态了解到你是否在家。 + +你可以根据邻居家灯的状态来改变行为。如果邻居家所有的灯都熄灭了,那么请关掉你大声的音乐,因为人们可能已经上床睡觉了。 + +乘以几个数量级,缩小到微观级别的 CPU 也使用这样的逻辑。当 CPU 在特定寄存器处接收到电信号时,可以触发其他一些寄存器,然后触发另一个,以此类推。如果这些寄存器有特定的意义,那么就可以通信。也许激活同一主板上某处的芯片,或者使 LED 亮起,或者改变屏幕上的像素颜色。 + +**[[ 相关阅读:2022 年可以尝试的 6 个 Python 解释程序 ]][3]** + +种瓜得瓜,种豆得豆。如果你真的想在多个位置而不是仅限于一处发现老鼠,但是你只有一个老鼠夹,那你应该开发一个应用才行。使用网络摄像头和一些基本的图像识别软件,你可以建立空厨房的模型,然后扫描变化。当老鼠进入厨房,在原先没有老鼠的图像上会有像素的变化。记录下这些数据,如果有无人机可以追踪老鼠并捕获会更好,这样就可以将老鼠赶出厨房了。这时,你通过打开和关闭信号的魔法,创造了一个更好的捕鼠器。 + +### 编译器 + +代码编译器将人们可阅读的代码转换成 CPU 可以理解的机器语言。这是非常复杂的过程,因为 CPU 非常复杂(甚至比老鼠夹更加复杂),同时因为该过程比严格“需要”的更加灵活。并不是所有的编译器都很灵活。有一些编译器只有一个目标,它们只会处理固定格式的代码文件,处理过程也因此而简单明了。 + +幸运的是,现代通用编译器不简单。它们允许你编写不同语言的代码,也允许你用不同的方式链接库文件,并且可以生成运行在不同架构的文件。[GNU C 语言编译器][4](GCC) 的 `--help` 会输出超过 50 行的选项,LLVM 的 `clang` 编译器的 `--help` 输出超过 1000 行。GCC 指导手册的字数超过 10 万。当你在编译代码时会有很多选项。 + +当然,大多数人并不需要知道所有的选项。我从未读过 GCC 的手册页面(man page),因为它为 `Objective-C`、`Fortran` 以及我从未听说过的`芯片架构` 提供帮助。不过我重视它将代码编译为不同的架构—— 64 位或者 32 位——的能力,并且它是开源软件,这已经将其他的编译器甩在后面了。 + +### 编译生命周期 + +同样重要的是,真正厉害的是理解编译代码的不同阶段。这是一个简单的 C 语言程序的生命周期: + +1、 带有宏定义的 C 源代码 `.c` 文件,会被当作 `.cpp` 文件进行预处理为 `.i` 文件。 +2、带有扩展宏定义的 C 源代码 `.i` 文件,会被 `gcc` 翻译输出 `.s` 文件。 +3、汇编语言文本文件 `.s` 会被汇编为 `.o` 文件。 +4、带有 CPU 指令的二进制目标代码,以及相对于其他目标文件和库 (\*.o) 与内存区域无关的偏移量,使用 `ld` 链接以生成可执行文件。 +5、最终的二进制文件要么包含所有需要的对象,要么设置为加载链接的动态库(\*.so 文件)。 + +你可以试试这个简单示例(可能需要对库路径做一些调整): + +``` +$ cat << EOF >> hello.c + #include + int main(void) + { printf("hello world\n"); + return 0; } + EOF +$ cpp hello.c > hello.i +$ gcc -S hello.i +$ as -o hello.o hello.s +$ ld -static -o hello \ +-L/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/ \ +/usr/lib64/crt1.o /usr/lib64/crti.o hello.o \ +/usr/lib64/crtn.o --start-group -lc -lgcc \ +-lgcc_eh --end-group +$ ./hello +hello world +``` + +### 可获得的知识 + +计算机已经变得非常强大,并且用户友好。请不要走向这两种可能的极端中的任何一种:计算机不像捕鼠器和电灯开关那么简单,但它们也不是无法理解的。你可以了解编译代码、如何链接以及针对不同架构进行编译。一旦你知道了,你就可以更好地调试代码。你可以理解你下载的代码,甚至可以修复其中的一两个 `bug`。同时从理论上来讲,你可以建造一个更好的捕鼠器,或者 CPU 没有捕鼠器。由你决定。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/compiling-code + +作者:[Alan Smithee][a] +选题:[lkxed][b] +译者:[Donkey-Hao](https://github.com/Donkey-Hao) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/alansmithee +[b]: https://github.com/lkxed +[2]: https://opensource.com/article/19/5/primer-assemblers-compilers-interpreters +[3]: https://opensource.com/article/22/9/python-interpreters-2022 +[4]: https://opensource.com/article/22/5/gnu-c-compiler From 468e68aa1c3995993ea0c8d47289e1847e0055c2 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 31 Oct 2022 20:47:53 +0800 Subject: [PATCH 208/925] translating --- ...0.0 ⭐️ How to Enable Dark Mode in Web Browser.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md index 7ca77ebd2f..f0f5a59a1e 100644 --- a/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md +++ b/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md @@ -2,13 +2,12 @@ [#]: via: "https://www.debugpoint.com/dark-mode-browser/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " -How to Enable Dark Mode in Web Browser -====== +# How to Enable Dark Mode in Web Browser **This guide is about helping you how to enable dark mode in popular web browser(s) such as Firefox, Google Chrome, Chromium and Microsoft Edge.** @@ -78,16 +77,16 @@ But we cover all the basic to advanced tutorials for all our readers. Many new L So, that said, I hope this helps you and others. Let me know in the comment box below if you face any trouble. --------------------------------------------------------------------------------- +--- via: https://www.debugpoint.com/dark-mode-browser/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[译者 ID](https://github.com/译者ID) +校对:[校对者 ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 [a]: https://www.debugpoint.com/author/admin1/ [b]: https://github.com/lkxed From d8730503a4b7298342a7013edbd5fd42513c1fd2 Mon Sep 17 00:00:00 2001 From: FYJNEVERFOLLOWS Date: Mon, 31 Oct 2022 21:15:44 +0800 Subject: [PATCH 209/925] translating1031 --- ...2 Convert audio files with this versatile Linux command.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20210202 Convert audio files with this versatile Linux command.md b/sources/tech/20210202 Convert audio files with this versatile Linux command.md index 683907b70f..a9d1803e4e 100644 --- a/sources/tech/20210202 Convert audio files with this versatile Linux command.md +++ b/sources/tech/20210202 Convert audio files with this versatile Linux command.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (FYJNEVERFOLLOWS ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) @@ -226,7 +226,7 @@ via: https://opensource.com/article/20/2/linux-sox 作者:[Klaatu][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From d1eac8bf97aa37385a344a277dc3cca407315ea4 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 31 Oct 2022 21:29:38 +0800 Subject: [PATCH 210/925] translated --- ...️ How to Enable Dark Mode in Web Browser.md | 99 ------------------- ...️ How to Enable Dark Mode in Web Browser.md | 99 +++++++++++++++++++ 2 files changed, 99 insertions(+), 99 deletions(-) delete mode 100644 sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md create mode 100644 translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md diff --git a/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md deleted file mode 100644 index f0f5a59a1e..0000000000 --- a/sources/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md +++ /dev/null @@ -1,99 +0,0 @@ -[#]: subject: "How to Enable Dark Mode in Web Browser" -[#]: via: "https://www.debugpoint.com/dark-mode-browser/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -# How to Enable Dark Mode in Web Browser - -**This guide is about helping you how to enable dark mode in popular web browser(s) such as Firefox, Google Chrome, Chromium and Microsoft Edge.** - -We all love dark mode. Many people prefer it over standard light mode. While many desktop applications provide the dark mode natively, some apps adapt to dark mode via the desktop environment’s underlying modes. - -You can not deny that we all spend hours on web browsers. We seldom use desktop apps (unless you are specific to work, such as video editing, etc.). So, when you spend many hours reading and studying in a browser, you can always opt for dark mode. But, coming to the web browser, things are a little different. - -This guide gives you the simple steps which you can follow to enable dark mode in Mozilla Firefox, Chromium, Google Chrome and Edge browsers. - -### Enable Dark Mode in Web Browser - -#### Enable Dark Mode in Firefox - -- Open Firefox and click on the little hamburger menu at the right-top. -- Click `Settings > Extension and Themes`. -- Select the `Dark Theme` and click `enable`. And you should see the dark mode is applied to Firefox. - -![Enable dark mode in Firefox][1] - -Enable dark mode in Firefox browser - -![Firefox in Dark Mode][2] - -Firefox in Dark Mode - -- To revert it back, follow the same steps and select Light Theme. - -#### Dark Mode in Chromium and Google Chrome - -Chromium or Google Chrome doesn’t pre-install any dark theme by default. Hence, you need to go to Chrome Web Store and download any dark theme you want. For this guide, I would recommend “Morpheon Dark” theme, which over a million users use. - -Open the Morpheon Dark theme page (below link) from the Chromium web browser. - -[Morpheon Dark Theme in Chrome Web Store][3] - -Click on Add To Chrome button. And it should be enabled in Chrome. - -You may want to explore other Black and White or dark themes available in Chrome Web Store. [Visit this page for all collections of dark themes.][4] - -However, one thing you should remember is that – this theme would not change the settings or context menu, which is obvious. Because it just changes the browser window, and those menus are part of the operating system itself (sometimes). - -![Chromium Dark Theme][5] - -Chromium Dark Theme - -Follow the same steps for the Google Chrome browser as well. - -#### Edge Browser – Dark Mode - -[Microsoft Edge browser][6], however, comes with a better dark theme by default. It allows you to use GTK+, Light and Dark modes from settings. - -- Open Edge Browser -- Click on the three little dots on the right-top side. -- Go to Appearance and choose Dark. And you should be all set. - -This dark theme implementation of Edge is better because it changes the context menu and the address bar. - -![Edge in Dark Theme][7] - -Edge in Dark Theme - -### Closing Notes - -If you are an advanced user, you probably do not need this guide. You can figure it out. - -But we cover all the basic to advanced tutorials for all our readers. Many new Linux users may not know how also to enable dark mode in the browser. - -So, that said, I hope this helps you and others. Let me know in the comment box below if you face any trouble. - ---- - -via: https://www.debugpoint.com/dark-mode-browser/ - -作者:[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/2021/10/Enable-dark-mode-in-Firefox.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2021/10/Firefox-in-Dark-Mode-1024x423.jpg -[3]: https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en-GB -[4]: https://chrome.google.com/webstore/category/collection/dark_themes -[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/Chromium-Dark-Theme-1024x463.jpg -[6]: https://www.debugpoint.com/2020/10/how-to-install-edge-ubuntu-linux/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/Edge-in-Dark-Theme-1024x541.jpg diff --git a/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md new file mode 100644 index 0000000000..4150dcc145 --- /dev/null +++ b/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md @@ -0,0 +1,99 @@ +[#]: subject: "How to Enable Dark Mode in Web Browser" +[#]: via: "https://www.debugpoint.com/dark-mode-browser/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +# 如何在 Web 浏览器中启用深色模式 + +**本指南旨在帮助你在 Firefox、Google Chrome、Chromium 和 Microsoft Edge 等流行的网络浏览器中启用深色模式。** + +我们都喜欢黑暗模式。与标准浅色模式相比,许多人更喜欢它。虽然许多桌面应用原生提供深色模式,但一些应用通过桌面环境的底层模式适应深色模式。 + +你不能否认我们在网络浏览器上花费数小时。我们很少使用桌面应用(除非你从事专门的工作,例如视频编辑等)。因此,当你花费大量时间在浏览器中阅读和学习时,你始终可以选择深色模式。但是,来到网络浏览器,事情就有些不同了。 + +本指南为你提供了在 Mozilla Firefox、Chromium、Google Chrome 和 Edge 浏览器中启用深色模式的简单步骤。 + +### 在 Web 浏览器中启用深色模式 + +#### 在 Firefox 中启用深色模式 + +- 打开 Firefox 并点击右上角的菜单。 +- 单击 `设置 > 扩展和主题`。 +- 选择`深色主题`并点击`启用`。你应该会看到深色模式已应用于 Firefox。 + +![Enable dark mode in Firefox][1] + +在 Firefox 浏览器中启用深色模式 + +![Firefox in Dark Mode][2] + +深色模式下的 Firefox + +- 要将其还原,请按照相同的步骤并选择浅色主题。 + +#### Chromium 和 Google Chrome 中的浅色模式 + +默认情况下,Chromium 或 Google Chrome 不会预安装任何深色主题。因此,你需要前往 Chrome 应用商店并下载你想要的任何深色主题。对于本指南,我会推荐超过一百万用户使用的 “Morpheon Dark” 主题。 + +从 Chromium 浏览器打开 Morpheon Dark 主题页面(以下链接)。 + +[Chrome 应用商店中的 Morpheon Dark 主题][3] + +点击 “Add To Chrome” 按钮。它应该会在 Chrome 中启用。 + +你可能想探索 Chrome 应用店中提供的其他深色或浅色主题。 [访问此页面获取所有深色主题的集合][4]。 + +但是,你应该要记住的一件事是:此主题不会更改设置或上下文菜单,这是显而易见的。因为它只是改变了浏览器窗口,而这些菜单(有时)是操作系统本身的一部分。 + +![Chromium Dark Theme][5] + +Chromium 深色主题 + +对 Google Chrome 浏览器也遵循相同的步骤。 + +#### Edge 浏览器 – 深色模式 + +但是,[Microsoft Edge 浏览器][6]默认带有更好的深色主题。它允许你从设置中使用 GTK+、浅色和深色模式。 + +- 打开 Edge 浏览器 +- 点击右上角的三个小点。 +- 转到外观并选择深色。你应该准备好了。 + +Edge 的这种深色主题实现更好,因为它改变了上下文菜单和地址栏。 + +![Edge in Dark Theme][7] + +深色主题的 Edge + +### 结束语 + +如果你是高级用户,你可能不需要本指南。你可以弄清楚。 + +但我们为所有读者涵盖了所有基础到高级教程。许多新的 Linux 用户可能不知道如何在浏览器中启用深色模式。 + +所以,就是说,我希望这对你和其他人有帮助。如果你遇到任何问题,请在下面的评论框中告诉我。 + +--- + +via: https://www.debugpoint.com/dark-mode-browser/ + +作者:[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/2021/10/Enable-dark-mode-in-Firefox.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/10/Firefox-in-Dark-Mode-1024x423.jpg +[3]: https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en-GB +[4]: https://chrome.google.com/webstore/category/collection/dark_themes +[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/Chromium-Dark-Theme-1024x463.jpg +[6]: https://www.debugpoint.com/2020/10/how-to-install-edge-ubuntu-linux/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/Edge-in-Dark-Theme-1024x541.jpg From 0f6e472971f8c52df37178571b79b4874b5b0a73 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 31 Oct 2022 22:28:33 +0800 Subject: [PATCH 211/925] =?UTF-8?q?=E5=BD=92=E6=A1=A3=20202210?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => 202210}/20210207 The Real Novelty of the ARPANET.md | 0 .../{ => 202210}/20210415 A beginner-s guide to load balancing.md | 0 .../20210530 Complete Guide to Configuring SSH in Ubuntu.md | 0 .../20210601 Get started with Java serverless functions.md | 0 .../20210602 New ways to learn about open organizations.md | 0 .../20210604 Optimize Java serverless functions in Kubernetes.md | 0 .../20210629 Try Linux on any operating system with VirtualBox.md | 0 published/{ => 202210}/20210721 Write your first web component.md | 0 ...29 Troubleshooting -Bash- Command Not Found- Error in Linux.md | 0 .../20211022 How to Install Visual Studio Code Extensions.md | 0 .../{ => 202210}/20220129 Reasons for servers to support IPv6.md | 0 ...20616 Using habits to practice open organization principles.md | 0 ... 7 summer book recommendations from open source enthusiasts.md | 0 .../20220902 Julia and Python- Which Language is Quicker-.md | 0 published/{ => 202210}/20220902 Where is DevOps Headed-.md | 0 .../20220906 Advantages and Disadvantages of Using Linux.md | 0 .../20220912 Python Microservices Using Flask on Kubernetes.md | 0 .../{ => 202210}/20220914 3 steps to protect your home network.md | 0 ... CNCF Accepts Open Source Hexa Project As A Sandbox Project.md | 0 ...0220915 How To Prevent Command Arguments With Sudo In Linux.md | 0 ...fault Gateway IP Address In Linux And Unix From Commandline.md | 0 .../20220919 PyLint- The good, the bad, and the ugly.md | 0 .../{ => 202210}/20220920 3 ways to use the Linux inxi command.md | 0 ...d in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md | 0 .../{ => 202210}/20220922 5 Git configurations I make on Linux.md | 0 ...lasma Themes to Make Your Linux Desktop Even More Beautiful.md | 0 .../20220923 5 Free and Open-Source Figma Alternatives.md | 0 .../{ => 202210}/20220923 Install JDBC on Linux in 3 steps.md | 0 .../{ => 202210}/20220924 Drop your database for PostgreSQL.md | 0 ...Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md | 0 ...eech Recognition to Text in Linux, Ubuntu using Google Docs.md | 0 ...26 The story behind Joplin, the open source note-taking app.md | 0 .../20220927 Attacks On Open Source Software Are On The Rise.md | 0 .../20220927 GUI Apps for Package Management in Arch Linux.md | 0 ...t change alerts from any website with this open source tool.md | 0 ...tem76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 0 ...ra is Dropping Support for Popular Video Codecs [Here-s Why!].md | 0 ...ot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md | 0 ...0220929 How to Use Picture in Picture Mode in Brave Browser.md | 0 ...ve] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md | 0 ... Native Linux GPU Driver for Apple Silicon is Almost Ready!.md | 0 ...21002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md | 0 ...21003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md | 0 .../20221004 Security Issues With Open Source In Today-s World.md | 0 ... Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md | 0 ...ogle AI Unveils A New Open Source Library for Array Storage.md | 0 ...ntu Pro Now Gives You 10 Years of Security Updates for Free.md | 0 ...de Various Kinds of Packages in Linux at Once With Topgrade.md | 0 .../20221008 How to Create LVM Partition Step-by-Step in Linux.md | 0 .../20221010 How to Update Google Chrome on Ubuntu Linux.md | 0 .../{ => 202210}/20221010 Xubuntu 22.10- Top New Features.md | 0 .../20221011 Easiest Way to Open Files as Root in GNOME Files.md | 0 .../20221011 How to Enable Snap Support in Arch Linux.md | 0 ....0 Releases With Secure Boot and Full VM Encryption Support.md | 0 ...0221012 How to Set Static IP Address on Ubuntu Server 22.04.md | 0 ...0221013 Enjoy the Classic Snake Game in Your Linux Terminal.md | 0 .../20221013 Learn Bash base64 Encode and Decode With Examples.md | 0 .../20221014 Can Kubernetes help solve automation challenges-.md | 0 ...21014 First Look at LURE! Bringing AUR to All Linux Distros.md | 0 ...stall Gedit on Ubuntu 22.10 and Make it Default Text Editor.md | 0 ...ion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md | 0 ... but rolling but also stable That's what Rhino Linux aims to be.md | 0 ...1017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md | 0 ...0221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md | 0 ...b Copilot Appears To Be In Violation Of The Open Source Licence.md | 0 .../{ => 202210}/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md | 0 ...⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md | 0 ....10 Release Improves Control Center and Removes Some GNOME Apps.md | 0 ...ubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md | 0 published/{ => 202210}/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md | 0 ...️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md | 0 ... How to Install Python 3.10 in Ubuntu and Other Related Linux.md | 0 72 files changed, 0 insertions(+), 0 deletions(-) rename published/{ => 202210}/20210207 The Real Novelty of the ARPANET.md (100%) rename published/{ => 202210}/20210415 A beginner-s guide to load balancing.md (100%) rename published/{ => 202210}/20210530 Complete Guide to Configuring SSH in Ubuntu.md (100%) rename published/{ => 202210}/20210601 Get started with Java serverless functions.md (100%) rename published/{ => 202210}/20210602 New ways to learn about open organizations.md (100%) rename published/{ => 202210}/20210604 Optimize Java serverless functions in Kubernetes.md (100%) rename published/{ => 202210}/20210629 Try Linux on any operating system with VirtualBox.md (100%) rename published/{ => 202210}/20210721 Write your first web component.md (100%) rename published/{ => 202210}/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md (100%) rename published/{ => 202210}/20211022 How to Install Visual Studio Code Extensions.md (100%) rename published/{ => 202210}/20220129 Reasons for servers to support IPv6.md (100%) rename published/{ => 202210}/20220616 Using habits to practice open organization principles.md (100%) rename published/{ => 202210}/20220621 7 summer book recommendations from open source enthusiasts.md (100%) rename published/{ => 202210}/20220902 Julia and Python- Which Language is Quicker-.md (100%) rename published/{ => 202210}/20220902 Where is DevOps Headed-.md (100%) rename published/{ => 202210}/20220906 Advantages and Disadvantages of Using Linux.md (100%) rename published/{ => 202210}/20220912 Python Microservices Using Flask on Kubernetes.md (100%) rename published/{ => 202210}/20220914 3 steps to protect your home network.md (100%) rename published/{ => 202210}/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md (100%) rename published/{ => 202210}/20220915 How To Prevent Command Arguments With Sudo In Linux.md (100%) rename published/{ => 202210}/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md (100%) rename published/{ => 202210}/20220919 PyLint- The good, the bad, and the ugly.md (100%) rename published/{ => 202210}/20220920 3 ways to use the Linux inxi command.md (100%) rename published/{ => 202210}/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md (100%) rename published/{ => 202210}/20220922 5 Git configurations I make on Linux.md (100%) rename published/{ => 202210}/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md (100%) rename published/{ => 202210}/20220923 5 Free and Open-Source Figma Alternatives.md (100%) rename published/{ => 202210}/20220923 Install JDBC on Linux in 3 steps.md (100%) rename published/{ => 202210}/20220924 Drop your database for PostgreSQL.md (100%) rename published/{ => 202210}/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md (100%) rename published/{ => 202210}/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md (100%) rename published/{ => 202210}/20220926 The story behind Joplin, the open source note-taking app.md (100%) rename published/{ => 202210}/20220927 Attacks On Open Source Software Are On The Rise.md (100%) rename published/{ => 202210}/20220927 GUI Apps for Package Management in Arch Linux.md (100%) rename published/{ => 202210}/20220927 Get change alerts from any website with this open source tool.md (100%) rename published/{ => 202210}/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md (100%) rename published/{ => 202210}/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md (100%) rename published/{ => 202210}/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md (100%) rename published/{ => 202210}/20220929 How to Use Picture in Picture Mode in Brave Browser.md (100%) rename published/{ => 202210}/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md (100%) rename published/{ => 202210}/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md (100%) rename published/{ => 202210}/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md (100%) rename published/{ => 202210}/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md (100%) rename published/{ => 202210}/20221004 Security Issues With Open Source In Today-s World.md (100%) rename published/{ => 202210}/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md (100%) rename published/{ => 202210}/20221006 Google AI Unveils A New Open Source Library for Array Storage.md (100%) rename published/{ => 202210}/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md (100%) rename published/{ => 202210}/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md (100%) rename published/{ => 202210}/20221008 How to Create LVM Partition Step-by-Step in Linux.md (100%) rename published/{ => 202210}/20221010 How to Update Google Chrome on Ubuntu Linux.md (100%) rename published/{ => 202210}/20221010 Xubuntu 22.10- Top New Features.md (100%) rename published/{ => 202210}/20221011 Easiest Way to Open Files as Root in GNOME Files.md (100%) rename published/{ => 202210}/20221011 How to Enable Snap Support in Arch Linux.md (100%) rename published/{ => 202210}/20221011 VirtualBox 7.0 Releases With Secure Boot and Full VM Encryption Support.md (100%) rename published/{ => 202210}/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md (100%) rename published/{ => 202210}/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md (100%) rename published/{ => 202210}/20221013 Learn Bash base64 Encode and Decode With Examples.md (100%) rename published/{ => 202210}/20221014 Can Kubernetes help solve automation challenges-.md (100%) rename published/{ => 202210}/20221014 First Look at LURE! Bringing AUR to All Linux Distros.md (100%) rename published/{ => 202210}/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md (100%) rename published/{ => 202210}/20221014 Notion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md (100%) rename published/{ => 202210}/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md (100%) rename published/{ => 202210}/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md (100%) rename published/{ => 202210}/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md (100%) rename published/{ => 202210}/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md (100%) rename published/{ => 202210}/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md (100%) rename published/{ => 202210}/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md (100%) rename published/{ => 202210}/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md (100%) rename published/{ => 202210}/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md (100%) rename published/{ => 202210}/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md (100%) rename published/{ => 202210}/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md (100%) rename published/{ => 202210}/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md (100%) diff --git a/published/20210207 The Real Novelty of the ARPANET.md b/published/202210/20210207 The Real Novelty of the ARPANET.md similarity index 100% rename from published/20210207 The Real Novelty of the ARPANET.md rename to published/202210/20210207 The Real Novelty of the ARPANET.md diff --git a/published/20210415 A beginner-s guide to load balancing.md b/published/202210/20210415 A beginner-s guide to load balancing.md similarity index 100% rename from published/20210415 A beginner-s guide to load balancing.md rename to published/202210/20210415 A beginner-s guide to load balancing.md diff --git a/published/20210530 Complete Guide to Configuring SSH in Ubuntu.md b/published/202210/20210530 Complete Guide to Configuring SSH in Ubuntu.md similarity index 100% rename from published/20210530 Complete Guide to Configuring SSH in Ubuntu.md rename to published/202210/20210530 Complete Guide to Configuring SSH in Ubuntu.md diff --git a/published/20210601 Get started with Java serverless functions.md b/published/202210/20210601 Get started with Java serverless functions.md similarity index 100% rename from published/20210601 Get started with Java serverless functions.md rename to published/202210/20210601 Get started with Java serverless functions.md diff --git a/published/20210602 New ways to learn about open organizations.md b/published/202210/20210602 New ways to learn about open organizations.md similarity index 100% rename from published/20210602 New ways to learn about open organizations.md rename to published/202210/20210602 New ways to learn about open organizations.md diff --git a/published/20210604 Optimize Java serverless functions in Kubernetes.md b/published/202210/20210604 Optimize Java serverless functions in Kubernetes.md similarity index 100% rename from published/20210604 Optimize Java serverless functions in Kubernetes.md rename to published/202210/20210604 Optimize Java serverless functions in Kubernetes.md diff --git a/published/20210629 Try Linux on any operating system with VirtualBox.md b/published/202210/20210629 Try Linux on any operating system with VirtualBox.md similarity index 100% rename from published/20210629 Try Linux on any operating system with VirtualBox.md rename to published/202210/20210629 Try Linux on any operating system with VirtualBox.md diff --git a/published/20210721 Write your first web component.md b/published/202210/20210721 Write your first web component.md similarity index 100% rename from published/20210721 Write your first web component.md rename to published/202210/20210721 Write your first web component.md diff --git a/published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md b/published/202210/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md similarity index 100% rename from published/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md rename to published/202210/20210929 Troubleshooting -Bash- Command Not Found- Error in Linux.md diff --git a/published/20211022 How to Install Visual Studio Code Extensions.md b/published/202210/20211022 How to Install Visual Studio Code Extensions.md similarity index 100% rename from published/20211022 How to Install Visual Studio Code Extensions.md rename to published/202210/20211022 How to Install Visual Studio Code Extensions.md diff --git a/published/20220129 Reasons for servers to support IPv6.md b/published/202210/20220129 Reasons for servers to support IPv6.md similarity index 100% rename from published/20220129 Reasons for servers to support IPv6.md rename to published/202210/20220129 Reasons for servers to support IPv6.md diff --git a/published/20220616 Using habits to practice open organization principles.md b/published/202210/20220616 Using habits to practice open organization principles.md similarity index 100% rename from published/20220616 Using habits to practice open organization principles.md rename to published/202210/20220616 Using habits to practice open organization principles.md diff --git a/published/20220621 7 summer book recommendations from open source enthusiasts.md b/published/202210/20220621 7 summer book recommendations from open source enthusiasts.md similarity index 100% rename from published/20220621 7 summer book recommendations from open source enthusiasts.md rename to published/202210/20220621 7 summer book recommendations from open source enthusiasts.md diff --git a/published/20220902 Julia and Python- Which Language is Quicker-.md b/published/202210/20220902 Julia and Python- Which Language is Quicker-.md similarity index 100% rename from published/20220902 Julia and Python- Which Language is Quicker-.md rename to published/202210/20220902 Julia and Python- Which Language is Quicker-.md diff --git a/published/20220902 Where is DevOps Headed-.md b/published/202210/20220902 Where is DevOps Headed-.md similarity index 100% rename from published/20220902 Where is DevOps Headed-.md rename to published/202210/20220902 Where is DevOps Headed-.md diff --git a/published/20220906 Advantages and Disadvantages of Using Linux.md b/published/202210/20220906 Advantages and Disadvantages of Using Linux.md similarity index 100% rename from published/20220906 Advantages and Disadvantages of Using Linux.md rename to published/202210/20220906 Advantages and Disadvantages of Using Linux.md diff --git a/published/20220912 Python Microservices Using Flask on Kubernetes.md b/published/202210/20220912 Python Microservices Using Flask on Kubernetes.md similarity index 100% rename from published/20220912 Python Microservices Using Flask on Kubernetes.md rename to published/202210/20220912 Python Microservices Using Flask on Kubernetes.md diff --git a/published/20220914 3 steps to protect your home network.md b/published/202210/20220914 3 steps to protect your home network.md similarity index 100% rename from published/20220914 3 steps to protect your home network.md rename to published/202210/20220914 3 steps to protect your home network.md diff --git a/published/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md b/published/202210/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md similarity index 100% rename from published/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md rename to published/202210/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md diff --git a/published/20220915 How To Prevent Command Arguments With Sudo In Linux.md b/published/202210/20220915 How To Prevent Command Arguments With Sudo In Linux.md similarity index 100% rename from published/20220915 How To Prevent Command Arguments With Sudo In Linux.md rename to published/202210/20220915 How To Prevent Command Arguments With Sudo In Linux.md diff --git a/published/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md b/published/202210/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md similarity index 100% rename from published/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md rename to published/202210/20220919 How To Find Default Gateway IP Address In Linux And Unix From Commandline.md diff --git a/published/20220919 PyLint- The good, the bad, and the ugly.md b/published/202210/20220919 PyLint- The good, the bad, and the ugly.md similarity index 100% rename from published/20220919 PyLint- The good, the bad, and the ugly.md rename to published/202210/20220919 PyLint- The good, the bad, and the ugly.md diff --git a/published/20220920 3 ways to use the Linux inxi command.md b/published/202210/20220920 3 ways to use the Linux inxi command.md similarity index 100% rename from published/20220920 3 ways to use the Linux inxi command.md rename to published/202210/20220920 3 ways to use the Linux inxi command.md diff --git a/published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md b/published/202210/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md similarity index 100% rename from published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md rename to published/202210/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md diff --git a/published/20220922 5 Git configurations I make on Linux.md b/published/202210/20220922 5 Git configurations I make on Linux.md similarity index 100% rename from published/20220922 5 Git configurations I make on Linux.md rename to published/202210/20220922 5 Git configurations I make on Linux.md diff --git a/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/published/202210/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md similarity index 100% rename from published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md rename to published/202210/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md diff --git a/published/20220923 5 Free and Open-Source Figma Alternatives.md b/published/202210/20220923 5 Free and Open-Source Figma Alternatives.md similarity index 100% rename from published/20220923 5 Free and Open-Source Figma Alternatives.md rename to published/202210/20220923 5 Free and Open-Source Figma Alternatives.md diff --git a/published/20220923 Install JDBC on Linux in 3 steps.md b/published/202210/20220923 Install JDBC on Linux in 3 steps.md similarity index 100% rename from published/20220923 Install JDBC on Linux in 3 steps.md rename to published/202210/20220923 Install JDBC on Linux in 3 steps.md diff --git a/published/20220924 Drop your database for PostgreSQL.md b/published/202210/20220924 Drop your database for PostgreSQL.md similarity index 100% rename from published/20220924 Drop your database for PostgreSQL.md rename to published/202210/20220924 Drop your database for PostgreSQL.md diff --git a/published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/published/202210/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md similarity index 100% rename from published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md rename to published/202210/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md diff --git a/published/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md b/published/202210/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md similarity index 100% rename from published/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md rename to published/202210/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md diff --git a/published/20220926 The story behind Joplin, the open source note-taking app.md b/published/202210/20220926 The story behind Joplin, the open source note-taking app.md similarity index 100% rename from published/20220926 The story behind Joplin, the open source note-taking app.md rename to published/202210/20220926 The story behind Joplin, the open source note-taking app.md diff --git a/published/20220927 Attacks On Open Source Software Are On The Rise.md b/published/202210/20220927 Attacks On Open Source Software Are On The Rise.md similarity index 100% rename from published/20220927 Attacks On Open Source Software Are On The Rise.md rename to published/202210/20220927 Attacks On Open Source Software Are On The Rise.md diff --git a/published/20220927 GUI Apps for Package Management in Arch Linux.md b/published/202210/20220927 GUI Apps for Package Management in Arch Linux.md similarity index 100% rename from published/20220927 GUI Apps for Package Management in Arch Linux.md rename to published/202210/20220927 GUI Apps for Package Management in Arch Linux.md diff --git a/published/20220927 Get change alerts from any website with this open source tool.md b/published/202210/20220927 Get change alerts from any website with this open source tool.md similarity index 100% rename from published/20220927 Get change alerts from any website with this open source tool.md rename to published/202210/20220927 Get change alerts from any website with this open source tool.md diff --git a/published/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/published/202210/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md similarity index 100% rename from published/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md rename to published/202210/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md diff --git a/published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md b/published/202210/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md similarity index 100% rename from published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md rename to published/202210/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md diff --git a/published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/published/202210/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md similarity index 100% rename from published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md rename to published/202210/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md diff --git a/published/20220929 How to Use Picture in Picture Mode in Brave Browser.md b/published/202210/20220929 How to Use Picture in Picture Mode in Brave Browser.md similarity index 100% rename from published/20220929 How to Use Picture in Picture Mode in Brave Browser.md rename to published/202210/20220929 How to Use Picture in Picture Mode in Brave Browser.md diff --git a/published/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/published/202210/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md similarity index 100% rename from published/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md rename to published/202210/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md diff --git a/published/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/published/202210/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md similarity index 100% rename from published/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md rename to published/202210/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md diff --git a/published/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md b/published/202210/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md similarity index 100% rename from published/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md rename to published/202210/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md diff --git a/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/published/202210/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md similarity index 100% rename from published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md rename to published/202210/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md diff --git a/published/20221004 Security Issues With Open Source In Today-s World.md b/published/202210/20221004 Security Issues With Open Source In Today-s World.md similarity index 100% rename from published/20221004 Security Issues With Open Source In Today-s World.md rename to published/202210/20221004 Security Issues With Open Source In Today-s World.md diff --git a/published/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/published/202210/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md similarity index 100% rename from published/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md rename to published/202210/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md diff --git a/published/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/published/202210/20221006 Google AI Unveils A New Open Source Library for Array Storage.md similarity index 100% rename from published/20221006 Google AI Unveils A New Open Source Library for Array Storage.md rename to published/202210/20221006 Google AI Unveils A New Open Source Library for Array Storage.md diff --git a/published/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/published/202210/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md similarity index 100% rename from published/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md rename to published/202210/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md diff --git a/published/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md b/published/202210/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md similarity index 100% rename from published/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md rename to published/202210/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md diff --git a/published/20221008 How to Create LVM Partition Step-by-Step in Linux.md b/published/202210/20221008 How to Create LVM Partition Step-by-Step in Linux.md similarity index 100% rename from published/20221008 How to Create LVM Partition Step-by-Step in Linux.md rename to published/202210/20221008 How to Create LVM Partition Step-by-Step in Linux.md diff --git a/published/20221010 How to Update Google Chrome on Ubuntu Linux.md b/published/202210/20221010 How to Update Google Chrome on Ubuntu Linux.md similarity index 100% rename from published/20221010 How to Update Google Chrome on Ubuntu Linux.md rename to published/202210/20221010 How to Update Google Chrome on Ubuntu Linux.md diff --git a/published/20221010 Xubuntu 22.10- Top New Features.md b/published/202210/20221010 Xubuntu 22.10- Top New Features.md similarity index 100% rename from published/20221010 Xubuntu 22.10- Top New Features.md rename to published/202210/20221010 Xubuntu 22.10- Top New Features.md diff --git a/published/20221011 Easiest Way to Open Files as Root in GNOME Files.md b/published/202210/20221011 Easiest Way to Open Files as Root in GNOME Files.md similarity index 100% rename from published/20221011 Easiest Way to Open Files as Root in GNOME Files.md rename to published/202210/20221011 Easiest Way to Open Files as Root in GNOME Files.md diff --git a/published/20221011 How to Enable Snap Support in Arch Linux.md b/published/202210/20221011 How to Enable Snap Support in Arch Linux.md similarity index 100% rename from published/20221011 How to Enable Snap Support in Arch Linux.md rename to published/202210/20221011 How to Enable Snap Support in Arch Linux.md diff --git a/published/20221011 VirtualBox 7.0 Releases With Secure Boot and Full VM Encryption Support.md b/published/202210/20221011 VirtualBox 7.0 Releases With Secure Boot and Full VM Encryption Support.md similarity index 100% rename from published/20221011 VirtualBox 7.0 Releases With Secure Boot and Full VM Encryption Support.md rename to published/202210/20221011 VirtualBox 7.0 Releases With Secure Boot and Full VM Encryption Support.md diff --git a/published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md b/published/202210/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md similarity index 100% rename from published/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md rename to published/202210/20221012 How to Set Static IP Address on Ubuntu Server 22.04.md diff --git a/published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md b/published/202210/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md similarity index 100% rename from published/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md rename to published/202210/20221013 Enjoy the Classic Snake Game in Your Linux Terminal.md diff --git a/published/20221013 Learn Bash base64 Encode and Decode With Examples.md b/published/202210/20221013 Learn Bash base64 Encode and Decode With Examples.md similarity index 100% rename from published/20221013 Learn Bash base64 Encode and Decode With Examples.md rename to published/202210/20221013 Learn Bash base64 Encode and Decode With Examples.md diff --git a/published/20221014 Can Kubernetes help solve automation challenges-.md b/published/202210/20221014 Can Kubernetes help solve automation challenges-.md similarity index 100% rename from published/20221014 Can Kubernetes help solve automation challenges-.md rename to published/202210/20221014 Can Kubernetes help solve automation challenges-.md diff --git a/published/20221014 First Look at LURE! Bringing AUR to All Linux Distros.md b/published/202210/20221014 First Look at LURE! Bringing AUR to All Linux Distros.md similarity index 100% rename from published/20221014 First Look at LURE! Bringing AUR to All Linux Distros.md rename to published/202210/20221014 First Look at LURE! Bringing AUR to All Linux Distros.md diff --git a/published/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md b/published/202210/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md similarity index 100% rename from published/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md rename to published/202210/20221014 Install Gedit on Ubuntu 22.10 and Make it Default Text Editor.md diff --git a/published/20221014 Notion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md b/published/202210/20221014 Notion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md similarity index 100% rename from published/20221014 Notion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md rename to published/202210/20221014 Notion-like Markdown Note-Taking App -Obsidian- is Out of Beta.md diff --git a/published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md b/published/202210/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md similarity index 100% rename from published/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md rename to published/202210/20221017.2 ⭐️ Ubuntu but rolling but also stable That's what Rhino Linux aims to be.md diff --git a/published/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md b/published/202210/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md similarity index 100% rename from published/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md rename to published/202210/20221017.3 ⭐️⭐️⭐️ Open source DevOps tools in a platform future.md diff --git a/published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md b/published/202210/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md similarity index 100% rename from published/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md rename to published/202210/20221018.4 ⭐️⭐️ Give Your Linux Desktop a Halloween Makeover.md diff --git a/published/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md b/published/202210/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md similarity index 100% rename from published/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md rename to published/202210/20221019.0 ⭐️ GitHub Copilot Appears To Be In Violation Of The Open Source Licence.md diff --git a/published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md b/published/202210/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md similarity index 100% rename from published/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md rename to published/202210/20221020.1 ⭐️ Kubuntu 22.10 is Now Available!.md diff --git a/published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md b/published/202210/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md similarity index 100% rename from published/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md rename to published/202210/20221020.2 ⭐️ Ubuntu MATE 22.10 Release Has Some Interesting Upgrades!.md diff --git a/published/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md b/published/202210/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md similarity index 100% rename from published/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md rename to published/202210/20221020.3 ⭐️ Ubuntu Budgie 22.10 Release Improves Control Center and Removes Some GNOME Apps.md diff --git a/published/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md b/published/202210/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md similarity index 100% rename from published/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md rename to published/202210/20221020.4 ⭐️ Xubuntu 22.10 Releases With Xfce Upgrades, and Other Refinements.md diff --git a/published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md b/published/202210/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md similarity index 100% rename from published/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md rename to published/202210/20221020.5 ⭐️ Ubuntu 22.10 Is Here!.md diff --git a/published/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md b/published/202210/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md similarity index 100% rename from published/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md rename to published/202210/20221021.2 ⭐️⭐️ 10 Things to Do After Installing Ubuntu 22.10 [With Bonus Tip].md diff --git a/published/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md b/published/202210/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md similarity index 100% rename from published/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md rename to published/202210/20221022.1 ⭐️ How to Install Python 3.10 in Ubuntu and Other Related Linux.md From ccc01dd9d4da4e876ca8817ff1bde4b149af4a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 1 Nov 2022 00:48:11 +0800 Subject: [PATCH 212/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221031.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=2020=20technology=20horror=20stories=20about?= =?UTF-8?q?=20learning=20the=20hard=20way.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...chnology horror stories about learning the hard way.md | 262 ++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 sources/talk/20221031.0 ⭐️⭐️⭐️ 20 technology horror stories about learning the hard way.md diff --git a/sources/talk/20221031.0 ⭐️⭐️⭐️ 20 technology horror stories about learning the hard way.md b/sources/talk/20221031.0 ⭐️⭐️⭐️ 20 technology horror stories about learning the hard way.md new file mode 100644 index 0000000000..6902cdd07b --- /dev/null +++ b/sources/talk/20221031.0 ⭐️⭐️⭐️ 20 technology horror stories about learning the hard way.md @@ -0,0 +1,262 @@ +[#]: subject: "20 technology horror stories about learning the hard way" +[#]: via: "https://opensource.com/article/22/10/technology-horror-stories" +[#]: author: "AmyJune Hineline https://opensource.com/users/amyjune" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +20 technology horror stories about learning the hard way +====== + +Sysadmins, web designers, engineers, and programmers share their scariest experiences on the command line. + +Halloween will be here before you know it! This fun, over-the-top holiday is a great time to ponder the mortal fears of the developer in each of us. What haunts you the most, in the quiet moments just before your code starts to run? + +Getting into the spirit of Halloween, I asked some Opensource.com writers: What's the scariest code you've seen or written? + +### Bad permissions + +I was responsible for a server, and I FTP'd something up. There were some funky things displaying, so I thought some permissions needed to be changed. + +Needless to say, I foolishly turned off read mode and took down the site. (A website is not much good when nobody can access it.) + +It took me hours to fix. This was at an agency years ago when I was the sole web developer. + +—[Miriam Goldman][1] + +### Shambling HTML + +I took down a client's website, who was an author on the Wall Street Journal bestseller list at the time, because the original WordPress default theme had an update available. + +His developer had hardcoded HTML into the theme instead of creating a child theme. I ran the update. + +This was in the days when folks didn't have nightly backups easily, so I spent hours on the phone with the hosting provider. Things like staging, child themes, nightly backups, or manual backups, are all now normal things, as well as the ability to auto-update and manually roll back. Not so in that era. + +—[Courtney Robertson][2] + +### Not-so-secret key + +I think many of us have seen a secret key in public code before. Or another favorite: A friend of mine sending emails to 100,000 users from the dev server. + +—[John E. Picozzi][3] + +### Unix mix-up + +This is a Unix story. It's fixed in [Linux][4] today. + +A day before I was going to give an important demo of a new component to management, I had to refresh my code (this was way before [Git][5] existed.) I went to my home directory, found the project directory, and deleted everything. Unfortunately, in that flavor of Unix, this command followed symbolic links, and I had a link to the latest version of the code (not all was on the source code system as it was still in the testing phase). + +A day later, there was a network problem in the building, so the demo was delayed for a day, and we managed to recover. It was more than three decades ago. Even now I have no clue whether the network problem was a coincidence or an attempt of our sysadmin to save us (if so, it worked!) + +—[Josh Salomon][6] + +### Imperative + +Seeing `!important;` all over a CSS file instead of proper use of specificity. + +I once had to override and customize almost all of a WordPress theme's CSS because the owner of the site wouldn't budge on getting a new theme that was closer to the design he wanted. + +That same theme was last updated by the developer in 2018, and the website is still using it. + +—[Christi Nickerson][7] + +### Misquoted + +In a previous role, my predecessor misquoted the lyrics to Journey's "Any Way You Want It" in a code comment. + +—[Ben Cotton][8] + +### The ghost of Algol68 + +Algol68's complexity, back in the late 1960s and early 1970s, frightened away many influential people, including Niklaus Wirth. The most common complaint I can recall back then was along the lines of "who could write a compiler for such a complicated beast?" And yet many people did. Moreover, many of the concepts developed or at least formalized as [Algol68][9] appeared in later languages, notably in C and the Bourne shell (thanks to Steve Bourne). + +Some of Algol68's concepts have not aged well. The concept of I/O dealing with "books" and "chapters," and so on, is a bit weird today. Leaving things like character sets to the implementation seems pretty old-fashioned. + +But some are, or should be, tremendously relevant today, such as expressions that yield a value, strong typing (types in Algol68 are called "modes"), [heap memory and garbage collection][10], definition and overloading of operators, and more. + +Sticking with the Hallowe'en theme, both tricks and treats. + +Algol68 is a language that merits study, if for no other reason than to see where so many of modern computing's ideas came from, and to see how many have been lost along the way. + +—[Chris Hermansen][11] + +### Passwords exposed + +I was doing a tech audit for an incoming support client, and the previous developer put passwords in plain text throughout the full theme, and used horrible ways to connect to a remote database. Their composer file was also ghoulishly bloated. It took five minutes every time I tried to get the site up and running locally. Outdated dependencies, repos I could not access, the list goes on. + +—[Miriam Goldman][1] + +### The maze + +The scariest code I ever saw was a piece of PDP-11 assembly language in the kernel of an operating system named RSTS, which nobody remembers today. Source code was on microfiche in those days, and I had followed this code path through a few twists and turns, trying to figure out what was going on. And then, I ran into this instruction: + +``` +MOV R5,PC +``` + +I threw up my hands and wailed. I really did wail. People in the office thought I'd hit my head, or had a heart attack. + +In those days, memory was precious and a `MOV` instruction used a teeny tiny bit less memory than a `BR` (for "branch") instruction. Copying the contents of register 5 into the program counter was really a cheap unconditional branch to the address stored in register 5. Except, I had no clue what was stored in register 5, or how to find it. + +To this day, almost 40 years later, I wonder who would write code like that and how anyone could debug it. + +—[Greg Scott][12] + +### Off by one + +I work in the automation industry, where the PLCs are programmed in some pretty weird languages. + +An example that haunts me is the fact that in the language [ST][13], you can define arrays to begin at index 1. It means that the first element is at position 1, not 0. It drives me nuts when I see it. + +—[Stephan Avenwedde][14] + +### Divergence + +I took a MongoDB instance down for 40 minutes once during a stage-to-prod launch. Our staging environment had diverged from production. It was just a database configuration difference—not very exciting. But it's a good lesson to make sure your staging and prod environments are in sync! + +—[Em Nouveau][15] + +### Unearthly whispers + +This is from a project that's still alive and kicking, but I've changed the code to hide the source. + +``` +for(int c =0; y < yyy && c < ccc; y++, c++){// some code here} +``` + +It seems like an innocent loop at first. But maybe you're asking why there are two variables with two stop conditions and two increments. And then you realize there's only one initializer and the second variable (`y`) is initialized before this loop in a different code block. + +When I realized this, it took me about an hour to understand why the code was written in this way, and how it's supposed to work. Obviously, there were no `c` comments and the variable names are meaningless (`c` is called `c` in the code and `y` has a bit more meaningful name, but not meaningful enough to explain to me its meaning, not even today when I understand what it does). + +—[Josh Salomon][6] + +### Critical data + +Around 1980, I got my first job after college. I was the Assistant Computing Center Director at an engineering college in Indiana. That's a fancy title for the second-in-command of a two-person IT shop. I handled administrative computing on a PDP-11/40, with RK05 removable "pizza platter" disk drives (2.5 MB each.) Each admin office had one drive, and part of my job was to back them up, disk to disk, every week. But I got busy over that summer and skipped the Registrar's Office four weeks in a row. And then I realized the risk, so I made sure to start my monthly disk-to-tape backup. + +I dismounted the Registrar's pizza platter from the 11/40 and mounted it on the 11/70, which had a 9-track tape drive, and started my backup. A few minutes later, I heard a scraping noise inside that disk drive. Yep, the heads crashed. In a few short minutes, I'd destroyed all the Registrar's data, and the then-most-recent backup, which was a four-week-old 9 track tape. + +It was a, well, uncomfortable moment when I had to look the Registrar department head in the eye and tell him I had destroyed all his data. + +Today, I tell new IT people you're not a pro until you've destroyed somebody's critical data, and there's no way to recover it. Remember that feeling in the pit of your stomach forever. + +—[Greg Scott][12] + +### Angry mob + +A client hacked WordPress core to add features that later came out in a routine update and couldn't understand why the site kept crashing every time they attempted to update LearnDash. (They also didn't like our report that called out their poor development practices.) They basically showed us the door calling us liars and incompetents. To this day, I still have delegate access to their domains and wp-admin access to production and development of two domains. + +They also, despite us sharing a link to an encrypted location for sharing access credentials, sent our logins over emails. + +—[Laura Byrne][16] + +### Don't forget to backup + +I've not worked much on corporate networks, so I haven't downed any servers. However, as I young person, I tried to help a person with an IT problem and somehow caused Windows 95 to crash, and had to reinstall it for free. + +Another of my saddest moments as a very young Amiga user was when my save disk, containing all my files, broke due to some mechanical failure. Nowadays, I've gotten better at backing up more of my important personal files. + +—[Rikard Grossman-Nielsen][17] + +### Root of all evil + +I was new to Linux, and I'd just come from DOS where I used Norton Commander. Then Midnight Commander got released and I was very happy about it. It wasn't packaged for the Linux distro I used at the time (Jurix), so I compiled it myself from source, just like other software I used at that time. It worked perfectly well, and suddenly I felt more at home on Linux. + +That's not the horror story. + +My colleagues told me not to run Midnight Commander as root, regardless of how comforting it was. But root was easy, and it felt more like DOS, so I ignored their advice. Long story short: I accidentally removed the content of the entire `/etc` directory. Until that time, I'd never had to use backups, but that day I learned that backups are actually useful. + +27 years later, I still remember this story, and I do regular backups. + +—[Peter Czanik][18] + +### Illusion + +The worst project one agency had me "make" was a one-pager that seemed straightforward at first. I said I'd be able to hash it together with some HTML and CSS, maybe a little Javascript. But they specifically asked me not to do that. They wanted me to cut out the design and literally use CSS to position those pieces around the page. They also had me add all CSS inline, directly into the HTML file, because they literally wanted **one page**. + +None of the text was real text. + +There were no real HTML elements aside from the ones needed to position those images. + +I told them that the design was simple enough that I could throw it together with actual code, but they didn't want that. They only wanted me to spend the time to cobble the pieces together and then move on to a different project. They had me make two little one-page sites like that. + +It hurt my front-end soul. It was physically painful for me to do that project. It was a temp-to-perm gig, and when they offered me full-time, I politely declined. + +—[Rachel Vasquez][19] + +### Corruption + +The scariest things to me are memory corruptions that can occur in ANSI C99. During a screencast, I captured this (not quite) paranormal occurrence in this [YouTube clip][20]. + +![Image of gseqencer before memory corruption.][21] + +The GtkEntry labeled `file` shows some random glyphs. I've double checked the [code][22], but didn't find any issues. + +The `ags_export_soundcard_open_response_callback()` function is a callback to the "response" event of GtkFileChooserDialog. (For the record, the tool to target this problem is [valgrind][23].) + +![Image of gsequencer after memory corruption.][24] + +—[Joël Krähemann][25] + +### Python fears + +The most horrific programming feature I ever saw is the access Python gives to its `dict`. Changing the type of an object at runtime is against my programming code of conduct. + +—[Josh Salomon][6] + +### Franken-net + +In 2006, I built firewalls based on Fedora and a bunch of scripting, and persuaded a customer with a large website inside a colo center to replace a proprietary firewall with one of mine. I built it and showed up to install it at 4AM one morning. That was when I learned (the hard way) that he had a load balancer behind his firewall, but with a public IP address. The customer endured a 5-minute outage, but I reconnected everything to the original, and it all came back online. + +I found a way to handle his franken-net configuration by using proxy ARP. The idea was whenever anyone from the outside world did an ARP request for the load balancer, I would answer. A few days later, I showed up at 4AM again and installed my system. This time, I knocked everything in the entire colo center offline. I had set up my proxy ARP to respond to everything, and so all traffic on the LAN eventually found me and disappeared into a black hole. + +Once I realized what I'd done, I put it all back the way it was. But the damage was done. If you tried to browse your favorite website around 4AM US Central time one morning in 2006 and it didn't respond, it might have been my fault. I knocked an entire colo site offline by installing one system in a rack and turning it on. + +The website operator screamed and I slunk out the door. They never invited me back to try again. That was a shame, because bridging probably would have worked. + +—[Greg Scott][12] + +### Your horror story + +What's your favorite technology-related horror story? Tell us in the comments (but be nice, and change project names to protect the innocent!) + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/technology-horror-stories + +作者:[AmyJune Hineline][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/amyjune +[b]: https://github.com/lkxed +[1]: https://opensource.com/users/miriamgoldman +[2]: https://opensource.com/users/courtneyrdev +[3]: https://opensource.com/users/johnpicozzi +[4]: https://opensource.com/tags/linux +[5]: https://opensource.com/downloads/cheat-sheet-git +[6]: https://opensource.com/users/joshs +[7]: http://cnickerson.com +[8]: https://opensource.com/users/bcotton +[9]: https://opensource.com/article/20/12/learn-algol-68 +[10]: https://opensource.com/article/22/6/garbage-collection-java-virtual-machine +[11]: https://opensource.com/users/clhermansen +[12]: https://opensource.com/users/greg-scott +[13]: https://en.wikipedia.org/wiki/Structured_text +[14]: https://opensource.com/users/hansic99 +[15]: https://opensource.com/users/nouveau +[16]: http://twitter.com/@NewYorkerLaura +[17]: https://opensource.com/users/rikardgn +[18]: https://opensource.com/users/czanik +[19]: https://opensource.com/users/rachievee +[20]: https://youtu.be/Go6r-CT06zc?t=103 +[21]: https://opensource.com/sites/default/files/2022-10/gsequencer-before-memory-corruption.png +[22]: https://git.savannah.nongnu.org/cgit/gsequencer.git/tree/ags/app/ags_export_soundcard_callbacks.c?h=4.4.x#n397 +[23]: https://opensource.com/article/21/8/memory-programming-c +[24]: https://opensource.com/sites/default/files/2022-10/scarygsequencer-after-memory-corruption.png +[25]: https://opensource.com/users/joel2001k From 21bcedc9de166a4c97f5722bd9c7ce5529e4c704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 1 Nov 2022 00:50:34 +0800 Subject: [PATCH 213/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221031.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=2010=20universal=20steps=20for=20open=20sour?= =?UTF-8?q?ce=20code=20review.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 10 universal steps for open source code review.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 sources/tech/20221031.1 ⭐️⭐️⭐️ 10 universal steps for open source code review.md diff --git a/sources/tech/20221031.1 ⭐️⭐️⭐️ 10 universal steps for open source code review.md b/sources/tech/20221031.1 ⭐️⭐️⭐️ 10 universal steps for open source code review.md new file mode 100644 index 0000000000..f432506bf1 --- /dev/null +++ b/sources/tech/20221031.1 ⭐️⭐️⭐️ 10 universal steps for open source code review.md @@ -0,0 +1,134 @@ +[#]: subject: "10 universal steps for open source code review" +[#]: via: "https://opensource.com/article/22/10/code-review" +[#]: author: "Martin Kopec https://opensource.com/users/martin-kopec" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +10 universal steps for open source code review +====== + +Code review doesn't have to be scary when you follow this universal process. + +Have you ever found yourself in a situation where you needed to do a code review but didn't fully understand the project? Maybe you did not review it to avoid looking like you didn't know what you were doing. + +This article assures you that there's a better way. You don't need to know everything to provide a code review. In fact, based on my experience, that's quite common. + +I remember when I joined Red Hat as an intern and was asked to help with code reviews. We used a system of +1 or -1 votes, and I was initially very hesitant to weigh in. I found myself asking whether when I gave a +1 on a change but then someone else voted -1, would I look foolish? + +What does happen if someone votes -1 on a change you've vote +1? The answer is nothing! You might have missed a detail that the other person noticed. It's not the end of the world. That's why we have this voting system. Like the rest of open source, merging code is a collaborative effort. + +Lately, I've been so inundated with code reviews that I can hardly keep up with them. I also noticed that the number of contributors doing these reviews steadily decreased. + +For this reason, I'm writing about my point of view on writing a code review. In this article, I'll share some helpful tips and tricks. I'll show you a few questions you should ask yourself and a few ideas of what to look for when doing a code review. + +### What is the purpose of a code review? + +Have you ever written a really simple patch? Something you think is so trivial that it doesn't require a review? Maybe you merged it straight away. Later, it turns out there was a mistake, something obvious or silly, like the wrong indentation or a few duplicated lines of code instead of a function call (yes, I'm speaking from experience!). + +A code review by someone else would have caught these things. + +The point of a code review is to bring a fresh pair of eyes with a new perspective on the problem you're trying to solve. That new context is exactly the reason a code review is crucial. + +You may think that you must be an expert in the language to review someone else's code, the project, or both. Here's a secret all code reviewers want you to know: That's wrong! You don't need to fully understand the project or the language to provide a fresh perspective on a change. There's a universal process of code review. + +### The universal process of a code review + +Here's my process for code review, grouped into a couple of points. The process provides questions I ask myself to help me focus on a code change and its consequences. You don't need to go in this specific order. If there's a step, you can't execute for any reason, just move to another step. + +### 1. Understand the change, what it's trying to solve, and why + +The explanation of why the change is needed and any relevant context should be in the commit message. If it isn't, request it and feel free to -1 until it's provided. + +Is it something that needs to be solved? Is it something the project should focus on, or is it completely out of scope? + +### 2. How would you implement the solution? Would it be different? + +At this point, you know what the code change is about. How would you have done it? Think about this before reviewing the change in detail. If the solution you have in mind is different from the one you're reviewing, and you think it's better, bring that up in the review. You don't need to -1 it; just ask why the author didn't go in this direction and see how the discussion evolves. + +### 3. Run the code with and without the change + +I usually put a few breakpoints into the code, run it, and inspect how the new code interacts with the rest. + +If you can't run the whole code, try to copy the function containing the new code to a new local file, simulate the input data, and run that. This is helpful when you either don't know how to run the whole project or when it requires a specific environment to which you don't have access. + +### 4. Can the new code break anything? + +I mean, really anything. Think about the consequences. + +In the case of a new command-line option, will it always be accepted by the target? + +Can a situation occur when the option wouldn't be accepted or when it could conflict with something? + +Maybe it's a new import. Is the new library, and possibly a new dependency, available in the older releases or systems you ship the project for? + +What about security? Is the new dependency safe to use? The least you can do is run a quick Internet search to find out. Also, look for warnings in the console log. Sometimes there are more secure methods within the same library. + +### 5. Is the code effective? + +You've determined that the proposed solution is probably correct. Now it's time to check the code itself, its effectiveness, and its necessity. + +Check the style of the new code. Does it match the style of the project? Any open source project has (or should have) a document informing (new) contributors about the styles and good practices the project follows. + +For instance, every project in the OpenStack community has a HACKING.rst file. There's often also [a guide for new contributors][1] with all the must-know information. + +### 6. Check that all new variables and imports are used + +Often, there have been many iterations of the code you're reviewing, and sometimes the final version is very different from when it started. It's easy to forget an import or a new variable that was needed in a former version of the new code. Automation usually checks these things using linting tools like [flake8][2] in the case of Python code. + +Can you rewrite the code without declaring new variables? Well, usually, yes, but the question is whether it's better that way. Does it bring any benefit? The goal isn't to create as many one-liners as possible. The goal is to write code that is both efficient and easy to read. + +### 7. Are the new functions or methods necessary? + +Is there a similar function that can be reused somewhere in the project? It's always worth helping to avoid reinventing the wheel and re-implementing logic that's already been defined. + +### 8. Are there unit tests? + +If the patch adds a new function or new logic in a function, it should also include new unit tests for that. It's always better when the author of a new function also writes unit tests for it. + +### 9. Verify refactoring + +If the commit refactors existing code (it renames a variable, changes variable scope, changes the footprint of a function by adding or removing arguments, or removes something), ask yourself: + +- Can this be removed? Will it affect the stable branch? +- Are all the occurrences deleted? + +You can use the [grep command][3] to find out. You wouldn't believe how many times I've voted -1 just because of this. This is a simple mistake that anyone can make, but that also means anyone can uncover it. + +The owner of the commit can easily overlook these things, which is totally understandable. It's happened to me many times too. I'd finally figured out the root of the problem I'd been fixing, so I was in a rush to propose the review, and then I forgot to check the whole repo. + +Apart from the project's repository, sometimes it's also necessary to check other code consumers. If some other project imports this one, they may need refactoring, too. In the OpenStack community, we have a tool that searches across every community project. + +### 10. Does project documentation need to be modified? + +Again, you can use the [grep command][4] to check whether the project documentation mentions anything related to the code change. Apply common sense to determine whether a change needs to be documented for end users or it's just an internal change that doesn't affect user experience. + +### Bonus tip: Be considerate + +Be considerate, precise, and descriptive if you make a suggestion or comment on something after you've reviewed the new code. Ask questions if you don't understand something. If you think the code is wrong, explain why you think so. Remember, the author can't fix it if they don't know what's broken. + +### Final words + +The only bad review is no review. By reviewing and voting, you provide your point of view and vote only for that. Nobody expects you to give the final yes or no (unless you're a core maintainer!), but the voting system allows you to provide your perspective and opinion. A patch owner will be glad you did it, trust me. + +Can you think of any other steps for a good review? Do you have any special technique different from mine? Let us all know in the comments! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/code-review + +作者:[Martin Kopec][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/martin-kopec +[b]: https://github.com/lkxed +[1]: https://docs.openstack.org/tempest/latest/contributor/contributing.html +[2]: https://opensource.com/article/19/5/python-flake8 +[3]: https://opensource.com/downloads/grep-cheat-sheet +[4]: https://www.redhat.com/sysadmin/how-to-use-grep From 31cc767d8585392abaef93affaffb507c9dd5652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 1 Nov 2022 00:51:17 +0800 Subject: [PATCH 214/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221031.2=20=E2=AD=90=EF=B8=8F=20How=20to=20View=20AV?= =?UTF-8?q?IF=20Images=20in=20Ubuntu=20and=20Other=20Linux=20Distributions?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ges in Ubuntu and Other Linux Distributions.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sources/tech/20221031.2 ⭐️ How to View AVIF Images in Ubuntu and Other Linux Distributions.md diff --git a/sources/tech/20221031.2 ⭐️ How to View AVIF Images in Ubuntu and Other Linux Distributions.md b/sources/tech/20221031.2 ⭐️ How to View AVIF Images in Ubuntu and Other Linux Distributions.md new file mode 100644 index 0000000000..4c046a8533 --- /dev/null +++ b/sources/tech/20221031.2 ⭐️ How to View AVIF Images in Ubuntu and Other Linux Distributions.md @@ -0,0 +1,90 @@ +[#]: subject: "How to View AVIF Images in Ubuntu and Other Linux Distributions" +[#]: via: "https://itsfoss.com/view-avif-images-linux/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to View AVIF Images in Ubuntu and Other Linux Distributions +====== + +PNGs are the best when it comes to quality but they are huge in size and hence not ideal for websites. + +JPEGs reduce the file size but they reduce the quality of the images significantly. + +WebP is a relatively newer format that produces better-quality images with significantly smaller sizes. + +Now, [AVIF][1] is a new file format that compresses images without sacrificing quality. They are smaller than WebP for the same image quality. + +[Linux has started providing WebP support][2] recently. However, AVIF image format is not yet supported by default in many distributions. + +If you download an image in AVIF format from the web, it won’t display the thumbnail. + +![avif image no thumbnail][3] + +And if you try to open it with the default image viewer, it is likely to show ‘unrecognized image file format’ error. + +![avif images dont open linux][4] + +So, what’s the solution? Can you not view AVIF images on Linux at all? + +Nope, that’s not the case. There is always a workaround when it comes to Linux. + +### Viewing AVIF image files in Linux + +There is a handy [image viewer][5] called gThumb that can be used for opening AVIF images on Linux. + +It should be available in the repositories of most Linux distributions, if not all. + +On Ubuntu and Debian-based distributions, use the following command to install gThumb. + +``` +sudo apt install gthumb +``` + +![install gthumb ubuntu][6] + +Once installed, select an AVIF image, right-click on it and select “Open With” option. Here, select gThumb, make it default for AVIF images and open it. + +![make gthumb default for avif][7] + +gThumb shows all the images from the same folder in thumbnail format under the opened image. + +![avif image opened with gthumb in linux][8] + +Once you open AVIF images with gThumb, they should also be displayed with thumbnails. + +![avif image thumbnail][9] + +That’s it. You can now enjoy AVIF images on your Linux desktop. + +### Conclusion + +gThumb is an extremely versatile and capable application. It makes me wonder why it is not used as the default image viewer in GNOME or other desktop environments and distributions. + +And about default AVIF support in Linux, sooner or later it will be added. For now, gThumb does the job. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/view-avif-images-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/ +[b]: https://github.com/lkxed +[1]: https://aomediacodec.github.io/av1-avif/ +[2]: https://itsfoss.com/webp-ubuntu-linux/ +[3]: https://itsfoss.com/wp-content/uploads/2022/10/avif-image-no-thumbnail.png +[4]: https://itsfoss.com/wp-content/uploads/2022/10/avif-images-dont-open-linux.png +[5]: https://itsfoss.com/image-viewers-linux/ +[6]: https://itsfoss.com/wp-content/uploads/2022/10/install-gthumb-ubuntu.png +[7]: https://itsfoss.com/wp-content/uploads/2022/10/make-gthumb-default-for-avif.png +[8]: https://itsfoss.com/wp-content/uploads/2022/10/avif-image-opened-with-gthumb-in-linux.webp +[9]: https://itsfoss.com/wp-content/uploads/2022/10/avif-image-thumbnail.png From 03047c7b30c8ea9c2bed80c5e548c129a4f781fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 1 Nov 2022 00:51:56 +0800 Subject: [PATCH 215/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221031.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20Best=20Mastodon=20Clients=20for=20Ubuntu=20and=20Other=20Lin?= =?UTF-8?q?ux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...est Mastodon Clients for Ubuntu and Other Linux.md | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 sources/tech/20221031.3 ⭐️⭐️ 5 Best Mastodon Clients for Ubuntu and Other Linux.md diff --git a/sources/tech/20221031.3 ⭐️⭐️ 5 Best Mastodon Clients for Ubuntu and Other Linux.md b/sources/tech/20221031.3 ⭐️⭐️ 5 Best Mastodon Clients for Ubuntu and Other Linux.md new file mode 100644 index 0000000000..e6167e0765 --- /dev/null +++ b/sources/tech/20221031.3 ⭐️⭐️ 5 Best Mastodon Clients for Ubuntu and Other Linux.md @@ -0,0 +1,168 @@ +[#]: subject: "5 Best Mastodon Clients for Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/mastodon-clients-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Best Mastodon Clients for Ubuntu and Other Linux +====== + +**Are you planning to leave Twitter and join Mastodon? Use these free and open-source Mastodon clients for your Linux desktop.** + +[Mastodon][1] is a free and open-source microblogging platform similar to Twitter. It is designed as a decentralised platform that can communicate with other Fediverse protocols such as GNU Social and Pleroma. With the recent news stories about Twitter, many users are trying Mastodon and migrating to the platform. + +With that in mind, we give you a list of free Mastodon clients for Linux desktops as well as Windows and macOS in this post. + +### Top 5 Mastodon Clients for Ubuntu and Other Linux Distributions + +#### 1. Tootle + +Perhaps the best on this list is the GNOME App Tootle. Tootle is a super-fast Mastodon client for Linux desktops written in GTK. It comes with a clean and native interface that you can use while using Mastodon. With this app, you can easily browse posts, view feeds, have a customised home page and follow accounts. In addition to that, dedicated tabs gives you options to quickly jump between your home page, notifications, mentions and federated feed. + +Tootle is actively developed, and it is an official GNOME Circle app. And we featured it in our [GNOME Apps series (#5)][2]. + +![Tootle Mastodon Client for Linux][3] + +Tootle + +The easiest way to install Tootle is using Flatpak in any Linux distribution. Setup your system using this [guide for Flatpa][4]k (if not done yet) and hit the below link to install. + +[Install Tootle][5] + +**More information about Tootle** + +- [Source Code][6] +- [Home page][7] + +#### 2. Tokodon + +The Tokodon is another Mastodon client which brings a little different user interface to access this social platform. Its part of KDE Applications and built primarily using C++. It gives you an excellent clean user interface with a basic home page view. On top of that, you can browse local accounts to your mastodon server and the global ones. The bottom navigation gives easy access to all the Mastodon sections. + +![Tokodon Mastodon Client for Linux][8] + +Tokodon Mastodon Client for Linux + +The easiest way to install Tokodon is using Flatpak in any Linux distribution. Setup your system using this [guide for Flatpa][4]k (if not done yet) and hit the below link to install. + +[Install Tokodon via Flathub][9] + +**More information about****Tokodon** + +- [Source code][10] +- [Home page][11] + +#### 3. Sengi + +Among this list, Sengi is most likely the versatile Mastodon client for Linux desktops. It comes with usual features such as notification, account view and follows features. On top of that, it brings Tweetdeck styled live interface with the timeline. + +Sengi is perfect for heavy Mastodon users who want to manage multiple accounts and timelines. You can even set up and Twitter bridge as well. + +Furthermore, you should note that it is designed with web technology and packaged as desktop applications. Finally, it is available for Linux, macOS and Windows as well. + +![Sengi Mastodon Client][12] + +Sengi Mastodon Client | Image Credit: Sengi + +Finally, installing Sengi is very easy because the developer provides all types of executables, including native deb and AppImage. You can grab the .deb or .appimage file from the below link in addition to the windows and Mac executables. + +[Download Sengi][13] + +**More information about Sengi** + +- [Source code][14] + +#### 4. Whalebird + +Whalebird is another free and open-source Mastodon client built using Electron. Moreover, this web-based application is feature-rich and is the most stable Mastodon client. Using Whalebird, you can manage multiple accounts and monitor multiple timelines. In addition to that, you can also create a custom timeline to follow your favourite hashtags with a simple chronological workspace view. + +![Whalebird Mastodon Client][15] + +Whalebird Mastodon Client | Image Credit: Whalebird + +Finally, installing Whalebird is easy because it comes with an AppImage executable for Linux. Also, it provides the exe and dmg file for other OSes, which you can grab using the below link. + +[Download Whalebird][16] + +**More information about Whalebird** + +- [Source code][17] + +#### 5. TheDesk + +The fifth Mastodon client for Linux and other OSes we would like to feature is TheDesk. It is perhaps the most feature-rich client with a vast list of features. Its workflow is similar to Hootsuite and Tweetdeck for heavy social media monitoring and usage. You can customise it to follow a particular user, hashtags with options to create multiple timeline views. + +But it might not be a stable client and may contain bugs. But you can still try it out. + +Installing is made easy by its developer with app image, deb, snap and exe files available on GitHub for its releases. You can grab them here. + +[Download TheDesk][18] + +**More information about TheDesk** + +- [Source code][19] +- [Home page][20] + +### Other Options to access Mastodon + +#### Mastodon Web + +If you are reluctant to install another app, you can use the web version of your choice or favourite pod. You can register for a new account using the below link and connect via the web. + +[https://joinmastodon.org/][1] + +#### Tusky + +Finally, if you are an Android mobile phone user, you can try Tusky. It is a fine and superfast Mastodon client available for Android with many features. You can [download it from Google Play Store here][21]. You can also [get the F-Droid version][22] of this app for Linux Phones. + +#### Apple iPhone & iPad + +If you are iPhone or iPad user, you can get the official Mastodon client (developed by Mastodon) [from here][23]. It should work for MacBook as well. + +### Closing Notes + +Wrapping up the list of Mastodon clients for Linux, I hope you get to choose your favourite for your Linux distribution or mobile from the above list. Also, you can always use the Mastodon web for easy access. + +**Finally, don’t forget to follow us on our official Mastodon page using the link below.** + +- [Mastodon][24] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/mastodon-clients-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://joinmastodon.org/ +[2]: https://www.debugpoint.com/2022/03/best-gnome-apps-part-5/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Tootle.jpg +[4]: https://flatpak.org/setup/ +[5]: https://dl.flathub.org/repo/appstream/com.github.bleakgrey.tootle.flatpakref +[6]: https://github.com/bleakgrey/tootle +[7]: https://apps.gnome.org/app/com.github.bleakgrey.tootle/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Tokodon-Mastodon-Client-for-Linux.jpg +[9]: https://dl.flathub.org/repo/appstream/org.kde.tokodon.flatpakref +[10]: https://invent.kde.org/network/tokodon +[11]: https://apps.kde.org/tokodon/ +[12]: https://www.debugpoint.com/wp-content/uploads/2022/04/Sengi-Mastodon-Client.jpg +[13]: https://github.com/NicolasConstant/sengi/releases +[14]: https://nicolasconstant.github.io/sengi/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/04/Whalebird-Mastodon-Client.jpg +[16]: https://github.com/h3poteto/whalebird-desktop/releases +[17]: https://github.com/h3poteto/whalebird-desktop +[18]: https://www.debugpoint.com +[19]: https://github.com/cutls/TheDesk +[20]: https://thedesk.top/en/ +[21]: https://play.google.com/store/apps/details?id=com.keylesspalace.tusky&hl=en_IN&gl=US +[22]: https://tusky.app/ +[23]: https://apps.apple.com/us/app/mastodon-for-iphone-and-ipad/id1571998974 +[24]: https://floss.social/@debugpoint From bad31dd3ccd1b3fc521d845784ea995ebba4038c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 1 Nov 2022 00:54:32 +0800 Subject: [PATCH 216/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221031.4=20=E2=AD=90=EF=B8=8F=20Portmaster=201.0=20R?= =?UTF-8?q?elease=20Marks=20it=20as=20a=20Solid=20Open-Source=20Applicatio?= =?UTF-8?q?n=20Firewall=20for=20Privacy-Focused=20Users.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lication Firewall for Privacy-Focused Users.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md diff --git a/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md b/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md new file mode 100644 index 0000000000..cf0854927f --- /dev/null +++ b/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md @@ -0,0 +1,123 @@ +[#]: subject: "Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users" +[#]: via: "https://news.itsfoss.com/portmaster-1-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users +====== + +Portmaster is an all-in-one open-source privacy tool that you probably need. Give it a try! + +![Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users][1] + +Portmaster by [Safing][2] is a free and open-source application firewall that aims to automate the process of protecting the privacy of its users. + +**It allows you to monitor network activity, add custom connection rules for applications, and more.** + +We tested it during the alpha stage, and came to the conclusion that it had good potential to act as a viable alternative to [GlassWire][3]. Of course, it may not be a replacement, but it can be one in the near future: + +With the release of Portmaster 1.0, we can recommend everyone to give it a try. + +> 💡Portmaster 1.0 is a stable release suitable for every user. + +### 🆕 Portmaster 1.0: What's New? + +![portmaster 1.0][4] + +Considering this is Portmaster's first stable release, there could be room for improvement. + +However, some of the features that it brings with it include: + +- **Easy navigation to monitor app network connections** +- **Secure DNS by default** +- **Automatic blocking of trackers & malware** + +#### Automatic Blocking Of Trackers & Malware + +![portmaster 1.0 filter lists][5] + +Portmaster lets you automatically block various trackers and malware by using well-known filter lists from the likes of [AdAway][6], [abuse.ch][7], [AdGuard][8], and a few of their curated lists. + +#### Side-Dash Menu + +![portmaster 1.0 side dash menu][9] + +The presence of sidebar menu in Portmaster makes things easy, meaning it acts as a quick switcher between apps and settings. + +![portmaster side-dash][10] + +It also shows key information regarding apps that are using the network. + +Additionally, suppose you are using their [paid SPN service][11] (or Portmaster Unlimited). In that case, you can use the Side-Dash to see which countries each app connects to, alongside the number of identities in use. + +![portmaster 1.0 country identity details][12] + +#### Other Features + +![allow or block connections][13] + +In addition to the key highlights, it also gives you some powerful abilities that include: + +- **Choose your favorite DNS-over-TLS provider, like Cloudflare, Quad9, AdGuard, etc., to encrypt DNS requests.** +- **Allow/Block specific websites or applications.** +- **Specify if you do not want your apps to connect to specific countries.** +- **Block all p2p connections.** + +### 📥 Download Portmaster 1.0 + +Portmaster is currently only available for Windows and Linux, with no news on the release of a macOS version. + +They plan to support mobile platforms in the future as well. + +You can visit its official [downloads page][14] to get started for Linux (.deb/.rpm packages) and Windows. + +Explore more about the project on its [GitHub page][15]. + +[Portmaster 1.0][14] + +### 💭 My Thoughts + +Portmaster aims to succeed in a space where GlassWire is a very well-known name. It is easy to use and offers an intuitive experience. + +**But, GlassWire is not open-source and does not have a client for Linux.** + +With further refinements, I think it would be an impressive addition to every privacy-conscious computer user. + +Of course, a free and open-source alternative to any proprietary tool is a good thing, as it enables more users to try it out. + +And, Portmaster is something that helps you monitor your network connections and automate your privacy protections, I think you should take it for a spin! 😊 + +💬 Is Portmaster a good application firewall for your use-case? What do you think about it? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/portmaster-1-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/portmaster-1-0-release.png +[2]: https://safing.io/ +[3]: https://www.glasswire.com/ +[4]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0.png +[5]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Filter_Lists.png +[6]: https://adaway.org/ +[7]: https://abuse.ch/ +[8]: https://adguard.com/ +[9]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Side_Dash.png +[10]: https://news.itsfoss.com/content/images/2022/10/portmaster-1-0-screenshot.png +[11]: https://safing.io/spn/ +[12]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Country_Details.png +[13]: https://news.itsfoss.com/content/images/2022/10/manually-allow-ord-block-connections.png +[14]: https://safing.io/download/ +[15]: https://github.com/safing/portmaster/ From 26bf6cccc3d8cefbd4d8c83512b7f4d89aa270c6 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 1 Nov 2022 08:50:02 +0800 Subject: [PATCH 217/925] translated --- ...ow to Check:Xorg or Wayland Display Server.md | 91 ------------------- ...ow to Check:Xorg or Wayland Display Server.md | 91 +++++++++++++++++++ 2 files changed, 91 insertions(+), 91 deletions(-) delete mode 100644 sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md create mode 100644 translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md diff --git a/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md b/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md deleted file mode 100644 index a3d04b3f18..0000000000 --- a/sources/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: "How to Check: Xorg or Wayland Display Server?" -[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Check: Xorg or Wayland Display Server? -====== - -**Here’s how you can quickly check whether you are running Xorg or Wayland Display Server.** - -With every passing day, the modern Wayland display server is making its way to all Linux distributions. Although the legacy Xorg is still relevant and will stay, Wayland is undoubtedly better in security and other performance aspects. - -However, Xorg will not completely phase out anytime soon. Probably never. - -If you are running any Linux distribution, how can you check whether you are running Xorg or Wayland? Here’s how. - -### Wayland or Xorg: Which one are you running? - -- Open a terminal window (CTRL+ALT+T) in your Linux distributions (e.g. Ubuntu, Fedora, Arch…etc.). - -- Then type the following command and hit enter. - -``` -echo $XDG_SESSION_TYPE -``` - -- The output of the command will tell you whether the current session is Wayland or Xorg (X11). - -``` -[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland -``` - -![This command can give you details about Xorg or Wayland][1] - -That’s simple. However, there are other ways as well. - -### Other methods - -#### Using Settings - -If you want a graphical method, open your Linux distribution settings application. In the about section, you should see the Wayland/X11 mentioned under some label. - -For example, in the GNOME Settings, you can find it under “Windowing system”, as shown below. - -![In GNOME Settings you can find it][2] - -#### Using session values - -You can also find it out using `loginctl` which is the [systemd][3] login manager. Remember, it only works for systemd-based systems. - -Open a terminal and run the below command. You can see the session id value. In this example `c2`. - -``` -loginctl -``` - -Now, pass the session id to the following command to get the display server type. Make sure to change c2 to your system spec. - -``` -loginctl show-session c2 -p Type -``` - -![Using loginctl to find out][4] - -### Wrapping Up - -So, these are some of the ways you can find out whether you are running Systemd or Xorg in your Linux system. You can also use the above commands in your shell scripts for further process automation. - -Cheers. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/check-wayland-or-xorg/ - -作者:[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/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg -[3]: https://www.debugpoint.com/tag/systemd/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg \ No newline at end of file diff --git a/translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md b/translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md new file mode 100644 index 0000000000..1e3e8ef099 --- /dev/null +++ b/translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md @@ -0,0 +1,91 @@ +[#]: subject: "How to Check: Xorg or Wayland Display Server?" +[#]: via: "https://www.debugpoint.com/check-wayland-or-xorg/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何检查: 是 Xorg 还是 Wayland 显示服务器? +====== + +**以下是快速检查在运行 Xorg 还是 Wayland 显示服务器的方法。** + +随着时间的推移,现代 Wayland 显示服务器正在进入所有 Linux 发行版。尽管遗留的 Xorg 仍然相关并且会继续存在,但 Wayland 无疑在安全性和其他性能方面更好。 + +但是,Xorg 不会很快完全淘汰。可能永远不会。 + +如果你在运行任何 Linux 发行版,如何检查运行的是 Xorg 还是 Wayland?下面是方法。 + +### Wayland 或 Xorg:你在运行哪一个? + +- 在你的 Linux 发行版(例如 Ubuntu、Fedora、Arch 等)中打开一个终端窗口 (CTRL+ALT+T)。 + +- 然后输入以下命令并回车。 + +``` +echo $XDG_SESSION_TYPE +``` + +- 命令输出会告诉你当前会话是 Wayland 还是 Xorg (X11)。 + +``` +[debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland +``` + +![此命令可以为您提供有关 Xorg 或 Wayland 的详细信息][1] + +这很简单。但是,还有其他方法。 + +### 其他方法 + +#### 使用设置 + +如果你需要图形方法,请打开你的 Linux 发行版的设置应用。在关于部分,你应该看到某个标签下中的 Wayland/X11。 + +例如,在 GNOME 设置中,你可以在 “Windowing system” 下找到它,如下图所示。 + +![在 GNOME 设置中可以找到它][2] + +#### 使用会话值 + +你还可以使用 [systemd][3] 登录管理器 `loginctl` 找到它。请记住,它仅适用于基于 systemd 的系统。 + +打开终端并运行以下命令。你可以看到会话 id 值。在此示例中为 `c2`。 + +``` +loginctl +``` + +现在,将会话 ID 传递给以下命令以获取显示服务器类型。确保将 c2 更改为您的系统规格。 + +``` +loginctl show-session c2 -p Type +``` + +![使用 loginctl 查找][4] + +### 总结 + +这些是你可以确定在 Linux 系统中运行的是 Systemd 还是 Xorg 的一些方法。你还可以在 shell 脚本中使用上述命令来实现进一步的流程自动化。 + +干杯。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/check-wayland-or-xorg/ + +作者:[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/10/This-command-can-give-you-details-about-Xorg-or-Wayland-1024x612.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/In-GNOME-Settings-you-can-find-it.jpg +[3]: https://www.debugpoint.com/tag/systemd/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Using-loginctl-to-find-out.jpg \ No newline at end of file From 88bb139bf422759490a5abf6ba0be9755822f745 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 1 Nov 2022 08:52:36 +0800 Subject: [PATCH 218/925] translating --- ...ow to Check CPU and HDD Temperature in Ubuntu and Other Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md index f431d04ade..3473208de8 100644 --- a/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md +++ b/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1a8fdd73f16ed61e57ba27b9e5d5fc74dc999ddf Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Tue, 1 Nov 2022 10:09:31 +0800 Subject: [PATCH 219/925] translated --- ... on a specific day with the git log command.md | 66 ------------------- ... on a specific day with the git log command.md | 66 +++++++++++++++++++ 2 files changed, 66 insertions(+), 66 deletions(-) delete mode 100644 sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md create mode 100644 translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md diff --git a/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md b/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md deleted file mode 100644 index 3d0add6c8f..0000000000 --- a/sources/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md +++ /dev/null @@ -1,66 +0,0 @@ -[#]: subject: "How to display commits created on a specific day with the git log command" -[#]: via: "https://opensource.com/article/22/10/git-log-command" -[#]: author: "Agil Antony https://opensource.com/users/agantony" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to display commits created on a specific day with the git log command -====== - -The git log command is an important reporting tool and yet another reason to use Git. - -The `git log` command offers many opportunities to learn more about the commits made by contributors. One way you might consume such information is by date. To view commits in a Git repository created on a specific date or range of dates, use the `git log` command with the options `--since` or `--until`, or both. - -First, checkout the branch you want to inspect (for example, `main`): - -``` -$ git checkout main -``` - -Next, display the commits for the current date (today): - -``` -$ git log--oneline--since="yesterday" -``` - -Display commits for the current date by a specific author only (for example, `Agil`): - -``` -$ git log--oneline--since="yesterday"--author="Agil" -``` - -You can also display results for a range of dates. Display commits between any two dates (for example, 22 April 2022 and 24 April 2022): - -``` -$ git log--oneline--since="2022-04-22"--until="2022-04-24" -``` - -In this example, the output displays all the commits between 22 April 2022 and 24 April 2022, which excludes the commits done on 22 April 2022. If you want to include the commits done on 22 April 2022, replace `2022-04-22` with `2022-04-21`. - -Run the following command to display commits between any two dates by a specific author only (for example, `Agil`): - -``` -$ git log--oneline--since="2022-04-22" \--until="2022-04-24"--author="Agil" -``` - -### Reporting - -Git has many advantages, and one of them is the way it enables you to gather data about your project. The `git log` command is an important reporting tool and yet another reason to use Git! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/git-log-command - -作者:[Agil Antony][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/agantony -[b]: https://github.com/lkxed - diff --git a/translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md b/translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md new file mode 100644 index 0000000000..bdbc274031 --- /dev/null +++ b/translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md @@ -0,0 +1,66 @@ +[#]: subject: "How to display commits created on a specific day with the git log command" +[#]: via: "https://opensource.com/article/22/10/git-log-command" +[#]: author: "Agil Antony https://opensource.com/users/agantony" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +用 git log 命令显示在特定日期的提交记录 +====== + +`git log` 命令是 Git 中一个很重要的查看提交记录的工具,它也是人们喜欢使用 Git 的原因之一。 + +`git log` 命令能够让你了解到更多关于贡献者 提交 commit 的记录。使用 `git log` 的一种方式是按日期查看提交记录 。要查看**在指定日期或日期范围内**创建的 Git 存储库中的提交记录,请使用带有选项 `--since` 或 `--until` 或者同时使用以上两个选项的 `git log` 命令。 + +首先,进入你要查看的分支(例如,`main` 分支): + +``` +$ git checkout main +``` + +接下来,你可以使用以下命令,来显示当前日期(即今天)的提交记录: + +``` +$ git log --oneline --since="yesterday" +``` + +仅显示某一特定用户(例如,用户 `Agil`)在今天的提交记录: + +``` +$ git log --oneline --since="yesterday" --author="Agil" +``` + +还可以显示在某一日期范围内的提交记录。使用以下命令,显示在任意两个日期之间(例如,2022 年 4 月 22 日至 2022 年 4 月 24 日)的提交记录: + +``` +$ git log --oneline --since="2022-04-22" --until="2022-04-24" +``` + +在上面这个例子中,会输出 2022 年 4 月 22 日至 2022 年 4 月 24 日期间,不包括 2022 年 4 月 22 日的所有提交记录。如果你想要包括 2022 年 4 月 22 日的提交记录,请将命令中的 `2022-04-22` 替换为 `2022-04-21`。 + +运行以下命令,能够显示某一特定用户(例如,用户 `Agil`)在两个指定的日期之间的提交记录: + +``` +$ git log --oneline --since="2022-04-22" --until="2022-04-24" --author="Agil" +``` + +### 总结 + +Git 有很多优点,其中一个优点就是 Git 让你能够收集你项目的相关数据。`git log` 命令是一个重要的查看提交记录的工具,也是人们喜欢使用 Git 的原因之一! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/git-log-command + +作者:[Agil Antony][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/agantony +[b]: https://github.com/lkxed + From 60ee8a5a0f6473643b8bbf7f09c90a27298a5255 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 1 Nov 2022 11:05:22 +0800 Subject: [PATCH 220/925] RP @robsean https://linux.cn/article-15199-1.html --- ...ntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 58 +++++++++---------- 1 file changed, 27 insertions(+), 31 deletions(-) rename {translated/tech => published}/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md (50%) diff --git a/translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md similarity index 50% rename from translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md rename to published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md index c1c7bf6143..4e0c0aae4f 100644 --- a/translated/tech/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md +++ b/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md @@ -3,85 +3,81 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15199-1.html" -如何从 Ubuntu 22.04 LTS 升级到 22.10 (从 Jammy 到 Kinetic) +如何从 Ubuntu 22.04 LTS 升级到 22.10 ====== -**这里是一些关于如何将你当前的 Ubuntu 22.04 LTS Jammy Jellyfish 升级到 Ubuntu 22.10 Kinetic Kudu 的步骤。** +> 这里是如何将你当前的 Ubuntu 22.04 LTS Jammy Jellyfish 升级到 Ubuntu 22.10 Kinetic Kudu 的步骤。 -一直停留在长期支持的发布版本,这是金科玉律。因为,先前的 [Ubuntu 22.04 LTS][1] Jammy Jellyfish 将被支持到2027年4月。这是一段很长的时间。 +始终停留在长期支持的发布版本,这是金科玉律。因为,先前的 [Ubuntu 22.04 LTS][1] Jammy Jellyfish 将被支持到 2027 年 4 月。这是一段很长的时间。 此外,LTS 版本超级稳定。它们很少损坏并变得不稳定。因此,如果你在笔记本电脑/台式机电脑或服务器上安装使用 LTS 版本,保持使用它。 -然而,如果你想要最新的内核、GNOME 43 和最新的技术,像 like Pipewire – 你可能会想完成版本跳级,并升级到 [Ubuntu 22.10 Kinetic Kudu][2] 。 +然而,如果你想要最新的内核、GNOME 43 和 Pipewire 之类的最新技术 – 你可能会想完成版本跳级,并升级到 [Ubuntu 22.10 Kinetic Kudu][2]。 这里是如何做的方法。 -### 升级 Ubuntu 22.04 LTS (Jammy Jellyfish) 到 Ubuntu 22.10 (Kinetic Kudu) +### 升级 Ubuntu 22.04 LTS 到 Ubuntu 22.10 -**注意**: 我希望你没有运行去年10月份发布的 Ubuntu 21.10 Impish Indri 。因为它已经不被支持。但是鉴于某些原因,你正在运行它,我建议你直接重新安装 22.10 。或者,先升级到 22.04 ,再升级到 22.10 。 +**注意**:我希望你没有运行去年 10 月份发布的 Ubuntu 21.10 Impish Indri 。因为它已经不被支持。但是鉴于某些原因,你正在运行它,我建议你直接重新安装 22.10 。或者,先升级到 22.04 ,再升级到 22.10 。 #### 在你升级前 在你升级前,做一些内务整理。这是非常重要的。 - 备份你的 `/home`、/`downloads` 和其它的文件到 USB 驱动器或任意独立的分区,以防升级失败。 - -- 如果你随着时间的流逝而添加了一些额外的 PPA ,确保将它们记录下来。虽然,在升级过程开始前,升级过程将禁用 PPA 。不过,在升级完成后,确保手动启用 PPA 。 - +- 如果你随着时间的流逝而添加了一些额外的 PPA ,确保将它们记录下来。虽然,在升级过程开始前,升级过程将禁用 PPA 。而在升级完成后,确保手动启用 PPA 。 - 记录并禁用所有的 GNOME 扩展。如果开发人员没有按照 GNOME 版本进行更新,那么扩展在升级后将会损坏。 - -- 家中常备一个 LIVE USB 磁盘。 +- 家中常备一个现场 USB 磁盘。 #### 升级步骤 -- 打开 软件包和更新 Software & Update 。 +打开 “软件包和更新Software & Update” 。 -- 转到 更新 Updates 标签页 +转到 “更新Updates” 标签页。 -- 转到 通知我新的 Ubuntu 版本 Notify me of a new Ubuntu version -- 选择 并将其更改为 任意新的版本 For any new version +转到 “通知我新的 Ubuntu 版本Notify me of a new Ubuntu version”,选择并将其更改为 “任意新的版本For any new version”。 -- 这将告诉软件包管理器来查找 Ubuntu 22.10 发布版本的详细信息。 +这将告诉软件包管理器来查找 Ubuntu 22.10 发布版本的详细信息。 ![Make sure to change the option for new Ubuntu 22.10 release][3] -- 打开一个终端,并运行下面的命令。 +打开一个终端,并运行下面的命令: ``` sudo apt updatesudo apt upgrade ``` -或者,你也可以打开软件包更新程序。安装所有的准备服役的软件包。 +或者,你也可以打开软件包更新程序。安装所有的准备就绪的软件包。 -- 在两个命令完成后,打开软件包更新。你将会看到一个升级到 Ubuntu 22.10 的提示 (如下图所示) 。 +在两个命令完成后,打开软件包更新。你将会看到一个升级到 Ubuntu 22.10 的提示(如下图所示)。 ![New version update prompt from the GUI method][4] -- 现在,单击 升级Upgrade 按钮,并按照屏幕上的说明进行操作。升级过程需要一些时间,因此,要耐心等待,直至升级完成。确保在整个升级过程中有稳定的互联网链接。 +现在,单击 “升级Upgrade” 按钮,并按照屏幕上的说明进行操作。升级过程需要一些时间,因此,要耐心等待,直至升级完成。确保在整个升级过程中有稳定的互联网链接。 如果你尚未获得更新,请等待一、两天后再次尝试。 -- 如果你没有看到上述提示,手动重新启动一次系统I。并再次添加尝试。 +如果你没有看到上述提示,手动重新启动一次系统。并再次添加尝试。 -**通过终端** +#### 通过终端 -- 在终端中通过 nano 文件编辑器打开下面的文件。 +在终端中通过 nano 文件编辑器打开下面的文件。 ``` nano /etc/update-manager/release-upgrades ``` -- 将 `Prompt=LTS` 更改为 `Prompt=normal` 。注意:如果你已经如上所述将更新标签页更改为 “任意新的版本” ,那么这个文件应该已经更新了。但是,要验证它一次。 +将 `Prompt=LTS` 更改为 `Prompt=normal` 。注意:如果你已经如上所述将更新标签页更改为 “任意新的版本For any new version” ,那么这个文件应该已经更新了。但是,要验证它一次。 ![Change the release upgrade file][5] -- 分别按下组合键 CTRL+O 和组合键 CTRL+X 来保存和退出。 +分别按下组合键 `CTRL+O` 和组合键 `CTRL+X` 来保存和退出。 -- 最后,你也可以运行下面的命令来从终端中强制升级过程。 +最后,你也可以运行下面的命令来从终端中强制升级过程。 ``` sudo do-release-upgrade -c @@ -89,7 +85,7 @@ sudo do-release-upgrade -c ![New version update prompt from the terminal method][6] -升级过程需要花费一些时间 (最少半个小时,上不封顶),这主要取决于你的互联网连接和硬件。直至等到其完成。在完成后,重新启动并享受 Ubuntu 22.10 Kinetic Kudu. +升级过程需要花费一些时间(最少半个小时,上不封顶),这主要取决于你的互联网连接和硬件。直至等到其完成。在完成后,重新启动并享受 Ubuntu 22.10 Kinetic Kudu. ![Upgrade is in progress][7] @@ -102,7 +98,7 @@ via: https://www.debugpoint.com/upgrade-ubuntu-22-04-22-10/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[robsean](https://github.com/robsean) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 650126abe466aac76d2aacd1eb2f5929c3db3e67 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 1 Nov 2022 16:03:55 +0800 Subject: [PATCH 221/925] RP @qfzy1233 https://linux.cn/article-15200-1.html --- ...⭐️ Use open source commands in Powershell.md | 88 ++++++++++++++++++ ...⭐️ Use open source commands in Powershell.md | 93 ------------------- 2 files changed, 88 insertions(+), 93 deletions(-) create mode 100644 published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md delete mode 100644 translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md diff --git a/published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md new file mode 100644 index 0000000000..74e9bd07e9 --- /dev/null +++ b/published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md @@ -0,0 +1,88 @@ +[#]: subject: "Use open source commands in Powershell" +[#]: via: "https://opensource.com/article/22/10/set-path-powershell" +[#]: author: "Alan Smithee https://opensource.com/users/alansmithee" +[#]: collector: "lkxed" +[#]: translator: "qfzy1233" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15200-1.html" + +设置路径在 Powershell 中使用开源命令 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/01/160141i03e33e8pp5xp3vs.jpg) + +> 在 Windows 上设置你的路径,这样你就可以使用开源的命令。 + +当你在操作系统上启动应用程序时,操作系统需要使用某些代码库和实用程序来运行该应用程序。你的操作系统知道如何找到这些库和实用程序,因为它有一个 _系统路径_,这是一个通往许多应用程序需要的共同共享数据的地图。所有操作系统都有这一点,但用户通常不会意识到这一点,因为他们通常不需要在意它。然而,当你需要编程或使用特殊的网络实用程序或命令时,你可能需要关心你自己的 `PATH` 变量配置。 + +`PATH` 变量使你可以将命令保存到一致的位置,并使用命令提示符或更强大(而开源的)[Powershell][1] 从系统上的任何位置调用它们。 + +例如,假设你想安装开源应用程序 `pscp.exe`,它是 Windows 上著名的 PuTTY OpenSSH 客户端的命令行界面。你可以将它下载到你的硬盘,但是你的命令行如何知道它的存在呢?其实一开始,它并不知道: + +``` +PS> pscp + pscp: 命令 “pscp” 不能被识别为 cmdlet、脚本文件或可操作程序的名称。 + 检查名称的拼写,或者如果包含了路径,则检查路径是否正确,然后再试一次。 +``` + +如果你正在使用一个开源命令行,例如 Powershell 或 [Cmder][2],那么你将得到一个有用的错误提示,提示这可能是你的路径有问题(或缺少路径)。下面是解决这个问题的方法。 + +### 设置 PATH + +首先,在桌面上创建一个名为 `App` 的文件夹。 + +接下来,右键单击屏幕左下角的 Windows 菜单,然后选择 “系统System”。 + +![Image of the Windows menu system.][3] + +在弹出的 “系统System” 窗口中,单击窗口左侧的 “高级系统设置Advanced system settings” 链接。 + +在出现的 “系统属性System properties” 窗口中,单击窗口底部的 “环境变量Environment variables” 按钮。 + +![Image Windows system enviroment variables.][4] + +在 “环境变量Environment variables” 窗口中,单击 “用户变量User variables” 面板下的 “新建New” 按钮。 + +![Image of new Windows enviroment variables.][5] + +在弹出的对话框中,为 “变量名Variable name” 字段输入 `PATH`,为 “变量值Variable value” 字段输入 `%USERPROFILE\Desktop\App` 。单击 “确定OK” 按钮保存更改。 + +![Image of Windows path set.][6] + +在 `Desktop/Apps` 中放置你想从命令提示符中访问的命令和应用程序,Powershell、Cmder 甚至 Cmd 都能找到它们。 + + +``` +PS> pscp –version + pscp: Release 0.XY + Build platform: 64-bit x86 Windows + PS> +``` + +### 自动设置路径 + +许多应用程序会在安装过程中自动添加到系统路径中。然而,并不是所有的程序都如此,要么是因为你在安装过程中遗漏了一个复选框,要么是因为应用程序开发人员希望你自己添加它。当自动路径失败时,你现在知道如何自己设置路径。 + +*(图像来自:Alan Smithee, CC BY-SA 4.0)* + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/set-path-powershell + +作者:[Alan Smithee][a] +选题:[lkxed][b] +译者:[qfzy1222](https://github.com/qfzy1233) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/alansmithee +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/2/powershell-people +[2]: http://cmder.app/ +[3]: https://opensource.com/sites/default/files/2022-10/windows-menu-system.png +[4]: https://opensource.com/sites/default/files/2022-10/windows-system-environment-variables.png +[5]: https://opensource.com/sites/default/files/2022-10/windows-environment-variables-new.png +[6]: https://opensource.com/sites/default/files/2022-10/windows-path-set.png diff --git a/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md deleted file mode 100644 index 59d165394d..0000000000 --- a/translated/tech/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md +++ /dev/null @@ -1,93 +0,0 @@ -[#]: subject: "Use open source commands in Powershell" -[#]: via: "https://opensource.com/article/22/10/set-path-powershell" -[#]: author: "Alan Smithee https://opensource.com/users/alansmithee" -[#]: collector: "lkxed" -[#]: translator: "qfzy1233" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -在Powershell 中使用开源命令 -====== - -当你在操作系统上启动应用程序时,操作系统需要使用某些代码库和实用程序来运行该应用程序。你的操作系统知道如何找到这些库和实用程序,因为它有一个_系统路径_,一个到许多应用程序都需要用到的公共共享数据的映射。所有操作系统都有这一点,但用户通常不会意识到这一点,因为他们通常不需要在意它。然而,当你需要编程或使用特殊的网络实用程序或命令时,你可能需要关心你自己的PATH变量配置。 - -PATH变量使你可以将命令保存到一致的位置,并使用命令提示符或更强大(也是开源的)[Powershell][1]从系统上的任何位置调用它们。 - -例如,假设你想安装开源应用程序“pscp.exe”,它是Windows上著名的PuTTY OpenSSH客户端的命令行界面。你可以将它下载到你的硬盘,但是你的命令行如何知道它的存在呢?实时一开始,它并不知道: - -``` -PS> pscp - pscp: 命令“pscp”不能被识别为cmdlet、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含了路径,则检查路径是否正确,然后再试一次。 -``` - -如果你正在使用一个开源命令行,例如Powershell或[Cmder][2],那么你将得到一个有用的错误提示,提示这可能是你的路径有问题(或没有问题)。下面是解决这个问题的方法。 - -### 设置 PATH - -- 首先,在桌面上创建一个名为`App`的文件夹。 -- 接下来,右键单击屏幕左下角的Windows菜单,然后选择 **系统**. - -![Image of the Windows menu system.][3] - -Image by: - -(Alan Smithee, CC BY-SA 4.0) - -- 在弹出的“**系统**”窗口中,单击窗口左侧的“**高级系统设置**”链接。 -- 在出现的**系统属性**窗口中,单击窗口底部的**环境变量**按钮。 - -![Image Windows system enviroment variables.][4] - -Image by: - -(Alan Smithee, CC BY-SA 4.0) - -- 在**环境变量**窗口中,单击**用户变量**面板下的**新建**按钮。 - -![Image of new Windows enviroment variables.][5] - -Image by: - -(Alan Smithee, CC BY-SA 4.0) - -- 在弹出的对话框中,为**变量名**字段输入`PATH`,为**变量值**字段输入 `%USERPROFILE\Desktop\App` 。单击**OK**按钮保存更改。 - -![Image of Windows path set.][6] - -Image by: - -(Alan Smithee, CC BY-SA 4.0) - -将那些你希望从命令提示符在`Desktop\Apps`和Powershell, Cmder,Cmd中调用的命令和应用程序放置于`Desktop\Apps`路径下: - -``` -PS> pscp –version - pscp: Release 0.XY - Build platform: 64-bit x86 Windows - PS> -``` - -### PATH路径自动设置 - -许多应用程序会在安装过程中自动添加到系统路径中。然而,并不是所有的程序都如此,要么是因为你在安装过程中遗漏了一个复选框,要么是因为应用程序开发人员希望你自己添加它。当自动路径失败时,你现在知道如何自己设置路径。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/set-path-powershell - -作者:[Alan Smithee][a] -选题:[lkxed][b] -译者:[qfzy1222](https://github.com/qfzy1233) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/alansmithee -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/18/2/powershell-people -[2]: http://cmder.app/ -[3]: https://opensource.com/sites/default/files/2022-10/windows-menu-system.png -[4]: https://opensource.com/sites/default/files/2022-10/windows-system-environment-variables.png -[5]: https://opensource.com/sites/default/files/2022-10/windows-environment-variables-new.png -[6]: https://opensource.com/sites/default/files/2022-10/windows-path-set.png From 2f5c16c6786b0ed1a6e76bd43b6ca2730bf0493c Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Tue, 1 Nov 2022 21:12:34 +0800 Subject: [PATCH 222/925] translating --- .../tech/20220524 12 essential Linux commands for beginners.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220524 12 essential Linux commands for beginners.md b/sources/tech/20220524 12 essential Linux commands for beginners.md index c5273a7bc3..4fe7b342b8 100644 --- a/sources/tech/20220524 12 essential Linux commands for beginners.md +++ b/sources/tech/20220524 12 essential Linux commands for beginners.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/5/essential-linux-commands" [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3d77663b20a460a01d6cdb6dc1d0a6e8e2f2c800 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 1 Nov 2022 21:35:11 +0800 Subject: [PATCH 223/925] RP @robsean https://linux.cn/article-15202-1.html --- ...ow to Recover Arch Linux Install via chroot.md | 112 ++++++++++++++++++ ...ow to Recover Arch Linux Install via chroot.md | 110 ----------------- 2 files changed, 112 insertions(+), 110 deletions(-) create mode 100644 published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md delete mode 100644 translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md diff --git a/published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md new file mode 100644 index 0000000000..549069132d --- /dev/null +++ b/published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md @@ -0,0 +1,112 @@ +[#]: subject: "How to Recover Arch Linux Install via chroot" +[#]: via: "https://www.debugpoint.com/recover-arch-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15202-1.html" + +如何通过 chroot 恢复 Arch Linux 安装 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/01/213036fel3lq00iz0377v3.jpg) + +> 这篇速成指南诠释了一些步骤,它对于恢复一个 Arch Linux 安装很有帮助。 + +作为一个滚动发布版本,Arch Linux 有时会崩溃。那不是你自身的问题,而是因为数百个其它的原因,例如一个新内核与你的硬件或软件的兼容性。但是,即使如此,Arch Linux 仍然是比较优秀的,并且提供最新的软件包和应用程序。 + +但是,有些时候,它会给你带来麻烦,最后你只会看到一个闪烁的光标。 + +因此,在这种情况下,在你放弃希望前,你可能希望尝试恢复系统的安装以及数据,而不是重新格式化或重新安装。这篇指南在这些方面概述了一些步骤。 + +### 恢复 Arch Linux 安装 + +第一步是创建一个可启动的 Arch Linux 的现场Live USB 。从下面的链接中下载 ISO 镜像文件,并创建一个可启动的 ISO 的启动盘。你可以查看 [这篇](https://linux.cn/article-15020-1.html) 关于如何使用 Etcher 创建可启动的 ISO 的启动盘的指南。记住,这一步骤需要在另一个工作稳定的系统上完成,很明显,这是因为你当前系统是不可用的。 + +> **[下载 arch linux][1]** + +你需要知道在 **你的 Arch Linux 安装在哪个分区上**。这是关键的一步。如果你不知道,你可以使用 GParted 来找出来。或者在你的 Grub 菜单中查看,或者也可以运行下面的命令来找出来。这将列出你所有的磁盘分区、大小和标签。 + +``` +sudo lsblk -o name,mountpoint,label,size,uuid +``` + +在完成后,插入 USB 设备,并从中启动。你应该会在现场 USB 启动后看到 Arch Linux 提示符。 + +现在,使用下面的命令挂载 Arch Linux 分区。将 `/dev/sda3` 更改为你实际对应的分区。 + +``` +mount /dev/sda3 /mnt +arch-chroot /mnt +``` + +`arch-chroot` 命令将在终端中挂载你的 Arch Linux 分区,然后,使用你的 Arch 用户名和密码来登录系统。现在,取决于你在这个阶段的需要,你可能有下面的一些选项。 + +- 你可以前往 `/home` 文件夹来备份你的数据。为防止排错手段不能解决问题。你可以复制这些文件到一块外部的 USB 磁盘或其它的分区。 +- 检查日志文件,尤其是 pacman 日志,因为升级一些软件包可能会导致系统不稳定工作,例如,图形驱动程序或其它一些驱动程序。依据日志的记载,如果你有需要的话,你可以降级一些具体指定的软件包。 + +你可以使用下面的命令来查看 pacman 日志文件的最新的 200 行日志,来找出一些引起失败的项或依赖项的缺失。 + +``` +tail -n 200 /var/log/pacman.log | less +``` + +上面的命令给出 `pacman.log` 文件的末尾处的 200 行来用于查对。现在,仔细检查自你上次成功启动以来更新了哪些软件包。 + +在某个地方记录下软件包的名称和版本。你可以尝试逐个降级软件包,或者,如果你认为是某个特定的软件包造成的问题的话,你可以使用 `pacman` 命令的 `-U` 开关选项来降级它。 + +``` +pacman -U +``` + +在降级后(如果有一些软件包进行降级的话),你可以运行下面的命令来启动你的 Arch 系统。 + +``` +exec /sbin/init +``` + +检查你的显示管理器的状态,并检查其是否有一些错误。有时,显示管理器会产生不能与 X 服务器X Server 通信的问题。例如,如果你正在使用 Lightdm ,那么你可以通过下面的命令来检查它的状态。 + +``` +systemctl status lightdm +``` + +或者,你可能希望通过下面的命令来启动它并检查错误。 + +``` +lightdm --test-mode --debug +``` + +这里是一个 Lightdm 故障的示例,它导致了 Arch 系统不稳定工作。 + +![lightdm - test mode][2] + +或者,使用 `startx` 来启动 X 服务器进行检查。 + +根据我的经验,如果你在上面的命令中看到这些错误,尝试安装另外一个显示管理器(例如 sddm)并启动它可以消除错误。 + +- 根据你的系统的实际状态来尝试上面的步骤并解决问题。针对特定的显示管理器 Lightdm 的错误,我们有一份 [指南][3],你可能会想查看它。 +- 如果你正在使用 sddm ,那么,试试 [这些排错步骤][4] 看看是否工作。 + +### 结语 + +每个系统环境都是不同的。上面的步骤不一定适合你。但是,它值得一试,根据我的经验,它是可行的。如果它可行,那么恭喜你。否则,在下面的评论区让我知晓你是如何进行的。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/recover-arch-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[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://archlinux.org/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg +[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/ +[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting diff --git a/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md deleted file mode 100644 index c89805c7d6..0000000000 --- a/translated/tech/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md +++ /dev/null @@ -1,110 +0,0 @@ -[#]: subject: "How to Recover Arch Linux Install via chroot" -[#]: via: "https://www.debugpoint.com/recover-arch-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何通过 chroot 恢复 Arch Linux 安装 -====== - -**这篇速成指南诠释了一些步骤,它对于恢复一个 Arch Linux 安装很有帮助。** - -作为一个滚动发布版本,Arch Linux 有时会崩溃。那不是因为你自身的行为,而是因为数百个其它的原因,例如一个新内核与你的硬件或软件的兼容性。但是,即使如此,Arch Linux 仍然是比较优秀的,并且提供最新的软件包和应用程序。 - -但是,有些时候,它会给你带来麻烦,最后你只会看到一个闪烁的光标。 - -因此,在这种情况下,在你放弃希望前,你可能希望尝试恢复系统的安装以及数据,而不是重新格式化或重新安装。这篇指南在这些方面概述了一些步骤。 - -### 恢复 Arch Linux 安装 - -- 第一步骤是创建一个可启动的 Arch Linux 的 LIVE USB 。从下面的链接中下载 ISO 镜像文件,并创建一个可启动的 ISO 的启动盘。你可以查看这篇关于如何使用 Etcher 创建可启动的 ISO 的启动盘的指南。记住,这一步骤需要在另一个工作稳定的系统上完成,很明显,这是因为你当前系统是不可用的。 - -[下载 arch linux][1] - -- 你需要知道在 **哪个分区上安装了你的 Arch Linux** 。这是关键的一步。如果你不知道,你可以使用 GParted 来找出来。或者在你的 Grub 菜单中查看,或你可以运行下面的命令来找出来。这将列出你所有的磁盘分区、大小和标签。 - -``` -sudo lsblk -o name,mountpoint,label,size,uuid -``` - -- 在完成后,插入 USB 设备,并设置从中启动。你应该会在 LIVE 介质中看到 Arch Linux 提示符。 - -- 现在,使用下面的命令挂载 Arch Linux 分区。将 `/dev/sda3` 更改为你实际对应的分区。 - -``` -mount /dev/sda3 /mnt -arch-chroot /mnt -``` - -- arch-chroot 命令将在终端中挂载你的 Arch Linux 分区,如此,以便使用你的 Arch 用户名和密码来登录系统。现在,取决于你在这个阶段的各种需要,你可能有下面的一些选项。 - -- 你可以前往 /home 文件夹来备份你的数据。为防止不能正常的解决重大问题。你可以复制这些文件到一块外部的 USB 磁盘或其它的分区。 - -- 验证日志文件,尤其是 pacman 日志,因为升级一些软件包可能会导致系统不稳定工作,例如,图形驱动程序或其它一些驱动程序。依据日志的记载,如果你有需要的话,你可以降级一些具体指定的软件包。 -- 你可以使用下面的命令来查看 pacman 日志文件的最新的 200 行日志,来找出一些引起失败的项或依赖项的缺失。 - -``` -tail -n 200 /var/log/pacman.log | less -``` - -- 上面的命令向你给出 pacman.log 文件的末尾处的 200 行来用于查对。现在,仔细检查自你成功启动以来更新了哪些软件包。 - -- 并且,在某个地方下,记录下软件包的名称和版本。你可以尝试逐个降级软件包,或者,如果你认为是某个特定的软件包造成的问题话,你可以使用 pacman 命令的 -U 开关选项来降级它。 - -``` -pacman -U -``` - -- 在降级后(如果有一些软件包进行降级的话),你可以运行下面的命令来启动你的 Arch 系统。 - -``` -exec /sbin/init -``` - -- 检查你的显示管理器的状态,并检查其是否有一些错误。有时,显示管理器会产生不能与 X 服务器 X Server 通信的问题。例如,如果你正在使用 lightdm ,那么你可以通过下面的命令来检查它的状态。 - -``` -systemctl status lightdm -``` - -- 或者,你可能希望通过下面的命令来启动它并检查错误。 - -``` -lightdm --test-mode --debug -``` - -- 这里是一个 lightdm 故障的示例,它导致了 Arch 系统不稳定工作。 - -![lightdm - test mode][2] - -- 或者,使用 `startx` 来启动 X 服务器 进行检查。 - -- 根据我的经验,如果你在上面的命令中看到这些错误,尝试安装另外一个显示管理器,例如, **sddm** 并启动它。它可以消除错误。 - -- 根据你的系统的实际状态来尝试上面的步骤,并解决重大问题。针对特定的显示管理器 lightdm 的错误,我们有一份[指南][3],你可能会想查看它。 -- 如果你正在使用 sddm ,那么,检查 [这些解决重大问题的步骤][4] 是否工作。 - -### 结束语 - -每个系统安装都是不同的。上面的步骤不一定适合你。但是,它值得一试,根据我的经验,它是工作的。如果它工作,对你有好处。不管怎样,在下面的评论区让我知晓它是如何进行的。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/recover-arch-linux/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[robsean](https://github.com/robsean) -校对:[校对者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://archlinux.org/download/ -[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/lightdm-test-mode.jpg -[3]: https://www.debugpoint.com/2021/03/failed-to-start-lightdm/ -[4]: https://wiki.archlinux.org/title/SDDM#Troubleshooting From 034ef2d912d1eaac2bd7062507c2fd5da99c6eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:14:30 +0800 Subject: [PATCH 224/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ge?= =?UTF-8?q?t=20started=20with=20Parseable,=20an=20open=20source=20log=20st?= =?UTF-8?q?orage=20and=20observability=20platform.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n source log storage and observability platform.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 sources/tech/20221101.0 ⭐️⭐️ Get started with Parseable, an open source log storage and observability platform.md diff --git a/sources/tech/20221101.0 ⭐️⭐️ Get started with Parseable, an open source log storage and observability platform.md b/sources/tech/20221101.0 ⭐️⭐️ Get started with Parseable, an open source log storage and observability platform.md new file mode 100644 index 0000000000..97cb466de6 --- /dev/null +++ b/sources/tech/20221101.0 ⭐️⭐️ Get started with Parseable, an open source log storage and observability platform.md @@ -0,0 +1,156 @@ +[#]: subject: "Get started with Parseable, an open source log storage and observability platform" +[#]: via: "https://opensource.com/article/22/11/parseable-observability-platform" +[#]: author: "Nitish Tiwari https://opensource.com/users/tiwarinitish86" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Get started with Parseable, an open source log storage and observability platform +====== + +Written in Rust, Parseable leverages data compression, storage, and networking advances to bring a simple, efficient logging platform that just works. + +Log data is one of the fastest-growing segments across data storage. It's also one of the most complicated spaces. There are several products and solutions with overlapping use cases and confusing marketing. + +This article looks at Parseable, a log storage and observability platform. Parseable is geared towards a better user experience, with an easy-to-deploy and use interface and a simple, cloud-native architecture. I'll also show how to set up Parseable with FluentBit to store logs. + +### What is Parseable? + +[Parseable][1] is a free and open source log storage and observability platform. Written in Rust, Parseable leverages data compression, storage, and networking advances to bring a simple, efficient logging platform that just works. + +Some core concepts for building Parseable are: + +#### Indexing free + +Traditionally, text search engines like Elastic have doubled as log storage platforms. This makes sense because log data must be searched to be really useful. But indexing comes at a high cost. It is CPU intensive and slows down ingestion. Also, the index data generated by these systems are of the same order of storage as the raw log data. This doubles the storage cost and increases complexity. Parseable changes this. With columnar data formats (parquet), it is possible to compress and query the log data efficiently without indexing it. + +#### Ownership of both data and content + +With parquet as the storage format and stored in standard object storage buckets, users own their log data and have complete access to the actual content. This means users can easily use analysis tools like Spark, Presto, or TensorFlow to extract more value from the data. This feature is extremely powerful, opening up new avenues of data analysis. + +#### Fluid schema + +Logs are generally semi-structured by nature, and they're ever-evolving. For example, a developer may start with a log schema like this: + +``` +{ +  "Status": "Ready", +  "Application": "Example" +} +``` + +But as more information is collected, the log schema may evolve to: + +``` +{ +  "Status": "Ready", +  "Application": { +    "UserID": "3187F492-8449-4486-A2A0-015AE34F1D09", +    "Name": "Example" +  } +} +``` + +Engineering and SRE teams regularly face schema-related issues. Parseable solves this with a fluid schema approach that lets users change the schema on the fly. + +#### Simple ingestion + +The current ingestion mechanism for logging platforms is quite convoluted, with several available protocols and connectors. Parseable aims to make log ingestion as easy as possible. The result is you can use HTTP POST calls to send logs to Parseable. No complicated SDKs are required. + +What if you want to use a logging agent like FluentBit, Vector, LogStash, or others? Almost all the major log collectors support HTTP, so Parseable is already compatible with your favorite log collection agent. + +### Get started + +You can use a Docker image to try out Parseable. This image shows Parseable in demo mode, using publicly-accessible object storage. + +``` +$ cat<< EOF > parseable-envP_S3_URL=https://minio.parseable.io:9000P_S3_ACCESS_KEY=minioadminP_S3_SECRET_KEY=minioadminP_S3_REGION=us-east-1P_S3_BUCKET=parseableP_LOCAL_STORAGE=/dataP_USERNAME=parseableP_PASSWORD=parseable +EOF +$ mkdir-p/tmp/data +$ docker run \-p8000:8000 \--env-file parseable-env \-v/tmp/data:/data \ +  parseable/parseable:latest +``` + +Log in to the Parseable UI using the credentials passed here (that's `parseable` and `parseable`.) The demo already contains some data because Parseable is pointing to the publicly-open bucket. + +Make sure to change the bucket and credentials to your object storage instance before sending any data to Parseable. + +Refer to the [documentation][2] to understand how Parseable works and how to ingest logs. + +### Set up FluentBit to send logs to Parseable + +You can use a Docker compose file to configure both Parseable and FluentBit, making it easier to set up and tear down as needed. + +First, save this file as `fluent-bit.conf` in a directory. The file is the configuration used to send data to Parseable. + +``` +[SERVICE] +  Flush 5 +  Daemon Off +  Log_Level debug +[INPUT] +  Name dummy +  Tag dummy +[OUTPUT] +  Name http +  Match * +  Host parseable +  http_User parseable +  http_Passwd parseable +  format json +  Port 8000 +  Header X-P-META-meta1 value1 +  Header X-P-TAG-tag1 value1 +  URI /api/v1/logstream/fluentbit1 +  Json_date_key timestamp +  Json_date_format iso8601 +``` + +Now save the following file as `docker-compose.yaml` in the same directory as above: + +``` +version: "3.7" +services: +  fluent-bit: +    image: fluent/fluent-bit +    volumes:      - ./fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf +    depends_on:      - parseable +  parseable: +    image: parseable/parseable +    ports:      - "8000:8000" +    environment:      - P_S3_URL=https://minio.parseable.io:9000 +      - P_S3_ACCESS_KEY=minioadmin +      - P_S3_SECRET_KEY=minioadmin +      - P_S3_REGION=us-east-1 +      - P_S3_BUCKET=parseable +      - P_LOCAL_STORAGE=/tmp/data +      - P_USERNAME=parseable +      - P_PASSWORD=parseable +``` + +The `docker-compose.yaml` refers to the `fluent-bit.conf` file and passes it to the FluentBit container as the configuration file. + +Parseable is deployed with the default configuration (as in the above Docker setup). You can observe the data FluentBit container sent to Parseable in the Parseable Console running at **[http://localhost:8000][3]**. + +### Wrap up + +In this article, you've taken your first look at Parseable, the open source log storage and analysis platform built in Rust. A single Docker command gets you started with Parseable so you can experience the UI and establish FluentBit as a data source. If you think this looks too easy, then it's probably time to try Parseable! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/parseable-observability-platform + +作者:[Nitish Tiwari][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/tiwarinitish86 +[b]: https://github.com/lkxed +[1]: https://github.com/parseablehq/parseable +[2]: https://www.parseable.io/docs/introduction +[3]: http://localhost:8000 From 14624d3a379f4b6c32dc5616d509eb6df61af777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:16:06 +0800 Subject: [PATCH 225/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?ansfer=20files=20and=20folders=20from=20Windows=20to=20Linux=20?= =?UTF-8?q?with=20WinSCP.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s and folders from Windows to Linux with WinSCP.md | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md diff --git a/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md new file mode 100644 index 0000000000..8ea3584f78 --- /dev/null +++ b/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md @@ -0,0 +1,112 @@ +[#]: subject: "Transfer files and folders from Windows to Linux with WinSCP" +[#]: via: "https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp" +[#]: author: "Paul https://opensource.com/users/plaubscher" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Transfer files and folders from Windows to Linux with WinSCP +====== + +If you're looking for a way to quickly transfer files from your Windows computer to your Linux computer, then the open source WinSCP utility makes it easy to transfer a file or a folder of files over the network. + +Sometimes you need to transfer files over a network. There are lots of file sharing services out there, but most require that you send your file to the Internet. This seems like a long way to go (not to mention the privacy concerns) when two computers are right beside each other, or at least in the same building. The open source WinSCP utility makes it quick and easy to transfer a file or a folder of files over the network from your Windows computer to your Linux computer. + +### IP address + +Before you can make the transfer, you must know the IP address or fully-qualified domain name of the destination computer. Assuming it's a computer on your same network, and that you're not running a DNS server to resolve computer names, you can find the destination IP address using the `ip` command on the Linux machine: + +``` +[linux]$ ip addr show |grep'inet ' +inet 127.0.0.1/8 scope host lo   +inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 +``` + +In all cases, 127.0.0.1 is a loopback address that the computer uses only to talk to itself, so in this example the correct address is 192.168.1.23. On your system, the IP address is likely to be different. If you're not sure which is which, you can try each one in succession until you get the right one (and then write it down somewhere!) + +Alternatively, you can look in your router's settings, which list all addresses assigned over DHCP. + +### Firewalls and servers + +The `WinSCP` command uses the OpenSSH protocol, so your Linux computer must be running the OpenSSH server software, and its firewall must allow SSH traffic. + +If you're not sure whether your Linux machine is running SSH, then run this command on the Linux machine: + +``` +[linux]$ sudo systemctl enable--now sshd +``` + +To ensure your firewall allows SSH traffic, run this command: + +``` +[linux]$ sudo firewall-cmd --add-servicessh--permanent +``` + +For more information on firewalls on Linux, read [Make Linux stronger with firewalls][1]. + +### Using WinSCP + +WinSCP is an open source SSH file transfer application for Microsoft Windows. To use it, you first must [download and][2][install][2] it. + +Once you're installed it, open WinSCP and select the **SCP** option in the **File Protocol** field. + +Add the IP address or DNS name of your Linux computer in the **Host name** field, and enter **22** in the **Port number** field. Enter you user name and password for the Linux computer, and then click the **Login** button at the bottom of the WinSCP window. + +![Image of the WinSCP login window.][3] + +Verify that you are authenticated to the Linux computer. Upon success, your Linux computer's IP address or DNS name appears at the top of the window. + +![Image of a WinSCP window showing where IP adress is located.][4] + +Now you can drag and drop a file (I used `winscp-test.txt` as an example) from the left Windows pane to the destination Linux computer pane on the right, and the file transfers. + +![Image of drag and drop window in WinSCP.][5] + +Alternatively, you can right-click on a file in the left pane and upload it to the remote destination in the right pane. + +![Image of a right click option to upload files in WinSCP.][6] + +### Verify the copy + +Open a Linux terminal and use the `ls` command to view the transferred `winscp-test.txt` file. In my example, it appears in my home directory, `/_home_/sysadmin`. + +``` +$ ls +Desktop +Documents +Downloads +Music +Pictures +pscp-test.txt[...] +``` + +You've successfully transferred a file from a Windows computer to a Linux computer over the network! + +Of course, you can use the same technique as above to transfer files and folders from a Linux computer to a Windows computer. + +### Remote copying + +With the power of the open source WinSCP application, you have access to any computer in your house or workplace, to servers you have accounts on, and even mobile, [edge][7], and Internet of Things devices. Use this great tool to transfer files as easily as you would copy a file from one local directory to another! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp + +作者:[Paul][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/plaubscher +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[2]: https://sourceforge.net/projects/winscp/files/ +[3]: https://opensource.com/sites/default/files/2022-10/winscp.loginwindow.png +[4]: https://opensource.com/sites/default/files/2022-10/WinSCPwindow.showing.IPinfo.png +[5]: https://opensource.com/sites/default/files/2022-10/WinSCP.drapdropwindow.png +[6]: https://opensource.com/sites/default/files/2022-10/RightclickUploadfileWInSCP.png +[7]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM From f12d8054fd0f2d11d1bbe64a50c97c3053e1d7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:16:59 +0800 Subject: [PATCH 226/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.2=20=E2=AD=90=EF=B8=8F=20Uninstall=20Snap=20P?= =?UTF-8?q?ackages=20from=20Ubuntu=20and=20Other=20Linux=20Distros.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ackages from Ubuntu and Other Linux Distros.md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sources/tech/20221101.2 ⭐️ Uninstall Snap Packages from Ubuntu and Other Linux Distros.md diff --git a/sources/tech/20221101.2 ⭐️ Uninstall Snap Packages from Ubuntu and Other Linux Distros.md b/sources/tech/20221101.2 ⭐️ Uninstall Snap Packages from Ubuntu and Other Linux Distros.md new file mode 100644 index 0000000000..f9c464b5b8 --- /dev/null +++ b/sources/tech/20221101.2 ⭐️ Uninstall Snap Packages from Ubuntu and Other Linux Distros.md @@ -0,0 +1,117 @@ +[#]: subject: "Uninstall Snap Packages from Ubuntu and Other Linux Distros" +[#]: via: "https://itsfoss.com/remove-snap/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Uninstall Snap Packages from Ubuntu and Other Linux Distros +====== + +Installed Snap package earlier and now you want to uninstall it? + +To remove a snap package, use the command in the following fashion: + +``` +sudo snap remove package_name +``` + +You need to know the exact package name here. How do you get that? Let me discuss all this in a bit more detail. + +### Uninstall Snap packages + +You need the exact package name to remove it. The tab completion works too. + +For that, list all the snap packages installed on your system: + +``` +snap list +``` + +Do you notice some entries with ✓ check marks in the screenshot below? They are ‘verified’ snap [packages from official developers][1]. + +![Listing all the installed Snap packages][2] + +If there are too many packages, you can grep with an appropriate search term. + +Once you get the package name, use it to uninstall the package. + +``` +sudo snap remove package_name +``` + +At least on the Ubuntu desktop, if you don’t use sudo with snap remove, it prompts for the password graphically. But it’s better to use sudo because you need elevated privileges for removing snap applications anyways. + +In my case, I installed Spotify on Ubuntu in snap format. Now, I remove it like this: + +``` +sudo snap remove spotify +``` + +It takes a few seconds and you should see some messages about the removal. By the end of the process, you only see the completion message. + +![uninstall snap package][3] + +And that’s how you remove applications installed in snap format. + +But what about removing snap entirely? Not the snap applications but the snap [daemon][4] itself. + +### Remove Snap entirely (not for Ubuntu) + +**WARNING! Please do not remove snapd and other core snap stuff from Ubuntu. Snap is an integral part of Ubuntu and removing them could have adverse consequences.** + +For non-Ubuntu distributions, where you manually installed Snap support, removing snapd should not create any problems. + +First, make sure that you don’t have any snap packages installed. + +``` +snap list +``` + +If there are any, remove those snap packages first. + +``` +sudo snap remove package1 package2 package3 +``` + +On Debian, Linux Mint, elementary OS etc, use the apt command to remove snapd: + +``` +sudo apt remove --purge snapd +``` + +On Fedora-based distributions, use the DNF command: + +``` +sudo dnf remove snapd +``` + +Later on, you can remove the snap folder from your home directory and /var/cache/snapd if you are particular about that. + +### Conclusion + +This was a quick tutorial for showing the steps for uninstalling snap applications. + +Some people have a strong aversion to Snap because of its “close” nature. Personally, I don’t have any special liking or dislike for it. I prefer using apt but when I don’t get the required package or version, I go for other formats like Snap, Flatpak and AppImage. + +As I mentioned earlier, please don’t remove snap daemon from Ubuntu. It may leave you with a broken system and neither of us wants that. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/remove-snap/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://forum.snapcraft.io/t/verified-developers/2005 +[2]: https://itsfoss.com/wp-content/uploads/2022/11/list-installedsnap-packages.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/uninstall-snap-package.png +[4]: https://itsfoss.com/linux-daemons/ From b13907fd57dd7d27bce25447612a8fdc6e731ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:25:16 +0800 Subject: [PATCH 227/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221101.3=20=E2=AD=90=EF=B8=8F=20The=20Android=20Open?= =?UTF-8?q?=20Source=20Project=20Is=20Now=20RISC-V=20Compatible.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pen Source Project Is Now RISC-V Compatible.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md diff --git a/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md b/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md new file mode 100644 index 0000000000..d039e99cc4 --- /dev/null +++ b/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md @@ -0,0 +1,38 @@ +[#]: subject: "The Android Open Source Project Is Now RISC-V Compatible" +[#]: via: "https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +The Android Open Source Project Is Now RISC-V Compatible +====== + +![android][1] + +A crucial advancement for the technology is the porting of the Android Open Source Project (AOSP) to the RISC-V processor architecture. + +The AOSP has begun enabling RISC-V upstream, which will promote the use of RISC-V CPUs in wearables, the Internet of Things, and eventually smartphones and laptops. + +In an effort to open up the ecosystem, engineers and software developers from the Chinese Academy of Sciences’ PLCT Lab started porting Android 10 to the RISC-V architecture in 2020. Together, Alibaba’s Cloud division and T-Head chip subsidiary have worked hard to maintain the development up to date with the latest Android releases. + +“We are glad to see more support from Google for building AOSP targeting RISC-V! Alibaba Cloud has been committed to supporting the RISC-V community through a series of innovations, such as progressing the porting of basic Android functions onto RISC-V, which proves the feasibility of using RISC-V based devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence. We look forward to engaging with the Android team to contribute to the thriving RISC-V community down the road,” said Dr. David Chen, Director of Ecosystem from Alibaba Cloud and Vice Chair of the Applications & Tools Horizontal Committee at RISC-V International. + +By enhancing the fundamental capabilities of Android on RISC-V, experts at Alibaba Cloud made a significant effort to actively assist the software ecosystem throughout 2021. The RISC-V Android Working Group and the software repository are where the RISC-V on Android efforts are concentrated. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/ + +作者:[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/11/android-696x364.jpg From 1e59cf597240c27ce048f1c5c16b6fed1a3eddfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:27:30 +0800 Subject: [PATCH 228/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221101.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ka?= =?UTF-8?q?te=20Editor=20is=20Getting=20Four=20New=20Awesome=20Features.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ate Editor is Getting Four New Awesome Features.md | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md diff --git a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md new file mode 100644 index 0000000000..cc4268394e --- /dev/null +++ b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md @@ -0,0 +1,114 @@ +[#]: subject: "Kate Editor is Getting Four New Awesome Features" +[#]: via: "https://news.itsfoss.com/kate-editor-22-12-features/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kate Editor is Getting Four New Awesome Features +====== + +KDE's feature-packed text editor is getting better and more useful! + +![Kate Editor is Getting Four New Awesome Features][1] + +[Kate Editor][2] is a constantly evolving and powerful open-source text editor that acts as a viable alternative to Microsoft's proprietary Visual Studio Code application. + +It is available for Linux, Windows, and macOS. + +The code editor received a significant upgrade in 2021 potentially making it KDE's answer to Microsoft's offering. + +With the upcoming Kate and KWrite 22.12 release, they aim to add a number of much-needed features. + +Let's take a brief look at what we can expect from Kate. + +### 🆕 Kate Editor: New Feature Additions + +If you have been reading [Nate's blog][3] for KDE improvements, you probably know all about the upgrades coming to KDE Plasma and the applications. + +However, some exciting additions are coming to Kate 22.12 that I wanted to highlight: + +- **Support for Qt Widgets** +- **Updated Welcome Page** +- **Git Diff Viewer** +- **Configuration Tab** +- **Clipboard History** + +#### Welcome Page + +![kate 22.12 welcome page][4] + +Image Credits: KDE + +Like many other [KDE apps][5], Kate will now show a welcome page that will greet users with a welcome screen and include options like creating or opening a file, starting a new session, viewing recent documents, and more. + +For users who might not like this, an option will be provided on the welcome page to disable this behavior for a new window. + +#### Git Diff Viewer + +![kate 22.12 git diff support][6] + +Image Credits: KDE + +Kate will finally get support for viewing git-diff; users will be able to compare their code to check for differences and find those pesky bugs that are causing their application not to run correctly. + +Users will also be able to choose from a variety of views, such as unified, side-by-side, and raw. + +#### New Clipboard History Paste Dialog + +![kate 22.12 clipboard history][7] + +Image Credits: KDE + +A new dialog has been added to Kate, showing users a list of previous clipboard content while pasting. + +This can be helpful if you are juggling between multiple lines of code and don't want to lose track of the essential bits. + +#### Configuration Tab + +![kate 22.12 configuration tab][8] + +Image Credits: KDE + +Kate will also feature a configuration tab that lets users change significant settings and a search bar to quickly find specific settings. + +#### 🛠️ Other Changes and Improvements + +Some other notable improvements to be featured on Kate 22.12 are: + +- **Optimized Status Bar** +- **Improvements to the Build Plugin** +- **Moveable Sidebar Buttons** +- **Improvements to Window Handling** + +Kate is shaping to be a suitable alternative to Microsoft's [Visual Studio Code][9] and has come a long way since its major revamp in 2021. + +In Kate's [official blog post][10], you can learn more about these changes and watch them in action. + +💬 Are you looking forward to the release of Kate 22.12? Or do you prefer VS Code? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kate-editor-22-12-features/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/kate-4-new-features.jpg +[2]: https://kate-editor.org/ +[3]: https://pointieststick.com +[4]: https://news.itsfoss.com/content/images/2022/11/Kate_22.12_Welcome.png +[5]: https://apps.kde.org/ +[6]: https://news.itsfoss.com/content/images/2022/11/Kate_22.12_GitDiff-1.png +[7]: https://news.itsfoss.com/content/images/2022/11/Kate_22.12_Clipboard_Hist-1.png +[8]: https://news.itsfoss.com/content/images/2022/11/Kate_22.12_Config-1.png +[9]: https://code.visualstudio.com/ +[10]: https://kate-editor.org/post/2022/2022-10-31-treats-for-kate/ From a06a64d98946645255bea580a68e790fae081f4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:28:35 +0800 Subject: [PATCH 229/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221101.5=20=E2=AD=90=EF=B8=8F=20Linux=20Lite=206.2?= =?UTF-8?q?=20Released.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221101.5 ⭐️ Linux Lite 6.2 Released.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md diff --git a/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md new file mode 100644 index 0000000000..fb828c9572 --- /dev/null +++ b/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -0,0 +1,106 @@ +[#]: subject: "Linux Lite 6.2 Released" +[#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Lite 6.2 Released +====== + +Linux Lite 6.2 is an ideal upgrade with the useful changes, nothing too fancy. + +![Linux Lite 6.2 Released][1] + +Linux Lite is a popular lightweight Windows-like distro that gives users a familiar operating system. + +The latest release, Linux Lite 6.2, is based on Ubuntu 22.04 LTS and has brought forward a variety of changes to the UI along with various bug fixes. + +### Linux Lite 6.2: What's New? + +![linux lite 6.2 desktop][2] + +This release of Linux Lite focuses on user interface tweaks and bug fixes, with changes to a few applications. + +Some key highlights include: + +- **Updated Icons** +- **New Wallpapers** +- **Shotcut Video Editor** +- **Removal Of Microsoft Teams** +- **LibreOffice 7.3.6.2** +- **Linux Kernel 5.15** + +#### Shotcut Replaces OpenShot + +![linux lite 6.2 shotcut video editor][3] + +Yes, [Shotcut][4] now replaces [OpenShot][5] as the default video editor on Linux Lite 6.2. + +OpenShot gets the place because it didn't work well with Ubuntu 22.04, and without a utility like this, users would have to look for one on their own. + +Shotcut is undoubtedly a good video editor. So, it should be a good option. + +#### Microsoft Teams Removed + +Another significant change is that Microsoft Teams is no longer included in the distro. + +The reason for that is the discontinuation of the Linux application by Microsoft in favor of a progressive web app version. + +Our previous coverage can give you more insight into that: + +#### Updated Icons and New Wallpapers + +![linux lite 6.2 new wallpapers][6] + +Linux Lite 6.2 features the latest [Papirus][7] icon set alongside a bunch of new Linux Lite-themed wallpapers. + +This should give the distro a refreshed look that users might like. + +#### 🛠️ Other Changes and Improvements + +![][8] + +Other notable changes include: + +- Updates to the task manager +- Improved end dialogue in the Lite Upgrade application. +- The latest updates for various applications, bug fixes, and more. + +You can go through the [full release notes][9] to learn more. + +Linux Lite 6.2 seems to be a satisfactory upgrade over the previous version, with many significant changes and additions. + +### 📥 Download Linux Lite 6.2 + +You can download the latest ISO from its official website or upgrade to it using the Lite Upgrade tool. + +[Linux Lite 6.2][10] + +💬 What do you think of Linux Lite 6.2? Willing to give it a try? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-lite-6-2-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/linux-lite-6.2.png +[2]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Desktop.png +[3]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Shotcut.png +[4]: https://shotcut.org/ +[5]: https://www.openshot.org/ +[6]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Wallpapers.png +[7]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme +[8]: https://news.itsfoss.com/content/images/2022/11/lite-upgrade.png +[9]: https://www.linuxliteos.com/forums/release-announcements/linux-lite-6-2-final-released/ +[10]: https://www.linuxliteos.com/download.php From b101ab3201bfcec033ab9dd1459a945fcfab40aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:29:14 +0800 Subject: [PATCH 230/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20and=20Use=20GNOME=20Boxes=20to=20Create=20Vi?= =?UTF-8?q?rtual=20Machines.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... and Use GNOME Boxes to Create Virtual Machines.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 sources/tech/20221101.6 ⭐️⭐️ How to Install and Use GNOME Boxes to Create Virtual Machines.md diff --git a/sources/tech/20221101.6 ⭐️⭐️ How to Install and Use GNOME Boxes to Create Virtual Machines.md b/sources/tech/20221101.6 ⭐️⭐️ How to Install and Use GNOME Boxes to Create Virtual Machines.md new file mode 100644 index 0000000000..8126c15ad3 --- /dev/null +++ b/sources/tech/20221101.6 ⭐️⭐️ How to Install and Use GNOME Boxes to Create Virtual Machines.md @@ -0,0 +1,169 @@ +[#]: subject: "How to Install and Use GNOME Boxes to Create Virtual Machines" +[#]: via: "https://www.debugpoint.com/install-use-gnome-boxes/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install and Use GNOME Boxes to Create Virtual Machines +====== + +**This quick tutorial explains the steps to install and use GNOME Boxes and create virtual machines, with some tips and troubleshooting.** + +Virtualization is the process of running a virtual instance (rather than an actual one) with an abstracted layer of hardware. In popular terms, it allows you to install and run multiple operating systems (Linux, Windows) simultaneously.  + +A [Virtual machine][1] is a simulated operating system that runs on top of another operating system and uses the same hardware and storage space as the host machine. Although, you can control how much shared memory or space can be allocated to virtual machines. + +Multiple software is available to create virtual machines, e.g. [Virtual Box][2], [virt-manager][3], KVM, Hyper-V, VM Ware player, and GNOME Boxes. + +But honestly, most of them are a little complex (for beginners) and sometimes not stable enough. [GNOME Boxes][4] is another free and open-source software that is very easy to use and makes it simple for you to create and manage virtual machines by abstracting lots of options. + +### Install GNOME Boxes + +If you are running Fedora with GNOME Spin, you should already have it installed. However, you can run the below for Ubuntu, Linux Mint, Kubuntu, and other distributions to install it in your system. + +``` +sudo apt install gnome-boxes +``` + +#### Via Flatpak + +It is also available via the Flatpak package. I would recommend you use this version. First, set up your system to use Flatpak using [this guide][5], and then run the following command from the terminal to install. + +``` +flatpak install flathub org.gnome.Boxes +``` + +### Create Virtual Machine using GNOME Boxes + +- Launch GNOME Boxes from the application menu. + +- To create a virtual machine, you need an image (*.ISO) of the operating system you want to virtualize. + +- You can download any operating system iso images from the official download page of the distributions. For this guide, I am using Pop! OS, which is an excellent Linux distribution. + +- After you launch, click on the “+” icon at the top to start and select “Create a virtual machine”. + +![Create Virtual Machine][6] + +Create Virtual Machine + +In the next window, you can choose already available downloads, or you can select your iso file as OS source. Click on the “Operating system image file” and choose your iso file. + +Assign the memory and storage space of your virtual machine. Remember, your virtual machine would take the memory and storage from your host system. So try not to assign as max. + +For example, in the below image – I have assigned 2GB memory for the virtual machine (guest) from the total 8GB memory of the host system. + +Similarly, choose minimum storage space as well if you want to just test any OS. But if you are creating a virtual machine for servers or serious work, be logical in how much space or memory you want to assign. + +Another important thing to remember is that the storage disk space which you allow will be blocked permanently unless you delete the virtual machine. So, you won’t get that much of disk space as free even if your virtual machine doesn’t use the entire allocated space.  + +![Allocate resources for your virtual machine][7] + +Allocate resources for your virtual machine + +Continue with the installation. + +In the partition window, you should see one hard disk and partition, which is the virtual machine disk space. Usually, they are named as `/dev/vda` or `/dev/sda`. + +Don’t worry; you can play around with this partition, which will not impact your physical disk partitions or any data on your actual host system. Follow the same /root partition while installing Linux, and continue. + +![Virtual machine partition][8] + +Virtual machine partition + +After you complete the installation, you should see your new operating system in the virtual machine. In the GNOME Boxes, you should see an entry to the system. You can click once to boot your virtual machine. + +You can power off the virtual machine by using your virtual machine operating system’s internal shutdown option. + +If you want, you can also delete the virtual machine by choosing the context menu option. + +![Context menu in installed virtual machine][9] + +Context menu in installed virtual machine + +You can also check how much memory and CPU your virtual machine uses from the properties window. + +Note that you can adjust your existing virtual machines’ memory and other items using properties. + +![System properties][10] + +System properties + +### Troubleshooting + +Here are some common errors or issues you may face while using GNOME Boxes. + +##### 1. Display resolution problem in virtual machines + +If your virtual machine has low resolution, which is incompatible with your host system, you must install the items below. Open up the terminal in the guest system (not in the host system) and run the below commands. + +**For Ubuntu-based distributions** + +``` +sudo apt install spice-vdagent spice-webdavd  +``` + +**For Fedora** + +``` +sudo dnf install spice-vdagent spice-webdavd  +``` + +These two packages help to determine proper resolutions, copy/paste between host and guest, share files via public folders, etc. + +Once installed, reboot the guest system, Or you can log off and re-login once after reboot; you should see the proper resolution. + +##### 2. GNOME Boxes don’t start a virtual machine in Ubuntu 18.04 + +If you are creating a virtual machine in Boxes 3.34 then you should know that there was a bug that caused your virtual machine to fail to start. To fix that you have to follow some additional steps. Remember these are not required for the latest Boxes 3.36. + +Open a terminal window and run the below command to change the qemu config file. + +``` +sudo gedit /etc/modprobe.d/qemu-system-x86.conf +``` + +Add the below line in the above file and save. + +``` +group=kvm +``` + +Now, run the below command to add your username to the KVM group. + +``` +sudo usermod -a -G kvm  +``` + +### Wrapping Up + +In this article, you have seen how to install and use GNOME Boxes to take advantage of virtualization. I hope it helps you. + +🗨️ If you face any errors or have any questions about virtual machines with GNOME Boxes, let me know using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-use-gnome-boxes/ + +作者:[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.redhat.com/en/topics/virtualization/what-is-a-virtual-machine +[2]: https://www.debugpoint.com/tag/virtualbox/ +[3]: https://www.debugpoint.com/virt-manager/ +[4]: https://wiki.gnome.org/Apps/Boxes +[5]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[6]: https://www.debugpoint.com/wp-content/uploads/2020/05/Create-Virtual-Machine.png +[7]: https://www.debugpoint.com/wp-content/uploads/2020/05/Allocate-resources-for-your-virtual-machine.png +[8]: https://www.debugpoint.com/wp-content/uploads/2020/05/Virtual-machine-partition.png +[9]: https://www.debugpoint.com/wp-content/uploads/2020/05/Context-menu-in-installed-virtual-machine.png +[10]: https://www.debugpoint.com/wp-content/uploads/2020/05/System-properties.png From 0dc16a63bd177049ad80f3729ccfe80d845ecc86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:32:14 +0800 Subject: [PATCH 231/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.7=20=E2=AD=90=EF=B8=8F=20Move=20Virtual=20Mac?= =?UTF-8?q?hine=20Image=20to=20Another=20Host=20Using=20GNOME=20Boxes.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ine Image to Another Host Using GNOME Boxes.md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md diff --git a/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md new file mode 100644 index 0000000000..920fc0b3ad --- /dev/null +++ b/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md @@ -0,0 +1,84 @@ +[#]: subject: "Move Virtual Machine Image to Another Host Using GNOME Boxes" +[#]: via: "https://www.debugpoint.com/move-virtual-machine-image-another-host/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Move Virtual Machine Image to Another Host Using GNOME Boxes +====== + +**This guide explains the steps you need to move a Virtual Machine Image to Another Host Using GNOME Boxes.** + +GNOME Boxes is a virtualization utility created by the GNOME project. This utility works as a front end for libvirt. libvirt is an open-source API, daemon, and management tool for managing platform virtualization. It supports different virtualization technologies such as KVM, Xen, VMware ESXi, QEMU, etc. + +If you want to create virtual machines using GNOME Boxes, [refer to this guide.][1] + +In this tutorial, I will explain how you can move any Virtual Machine image file (which is already created and running using GNOME Boxes) to a different host and run it. + +This way, you do not need to re-install the virtual machine from the operating system anymore. Moreover, it is portable and you can carry your virtual machine image in a USB stick. + +### How to Move Virtual Machine Image to Another Host Using GNOME Boxes + +I hope you have already had a virtual machine created in GNOME Boxes; if not, check out [this guide][1]. + +- GNOME Boxes and [libvert][2] uses below directories for the virtual machine images and configurations. You need to take backups of each, as mentioned below, carefully. + +- GNOME Boxes keeps the virtual machine’s physical image (usually in the size of GB) in the below path. For each of your virtual machines, you will find an image there. + +``` +~/.local/share/gnome-boxes/images/ +``` + +![Machine Images][3] + +- Copy the image file to your new host’s path: `~/.local/share/gnome-boxes/images/` + +- Copy the libvirt configuration XML from the below path to your new host’s same location. + +``` +~/.config/libvirt/qemu/ +``` + +![Image XML][4] + +- In the above path, you should see separate xml files for each of your virtual machines. Copy the one you need. + +- Open the below file in your current system. + +``` +~/.config/gnome-boxes/sources/'QEMU Session' +``` + +- Copy the section (from “[display” … to end of this section) which belongs to your virtual machine. You can easily find it using the name (see below – ‘last seen name’). + +![QEMU Session File][5] + +- Open the same above file in the other host machine and append the copied content at the end. Save the file. + +- Close all applications, including GNOME Boxes, in the new host machine. + +Open GNOME Boxes now, and you should see your virtual machine moved with its contents in your new host. + +You can now have a portable virtual machine that can easily carry and move around. Remember, the target machine should have GNOME Boxes installed to make this work. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/move-virtual-machine-image-another-host/ + +作者:[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/2020/05/install-use-gnome-boxes/ +[2]: https://libvirt.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2020/06/Machine-Images.png +[4]: https://www.debugpoint.com/wp-content/uploads/2020/06/Image-XML.png +[5]: https://www.debugpoint.com/wp-content/uploads/2020/06/QEMU-Session-File.png From ca7ec28a999803ae0894d847a6eab81ed0a29151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:33:25 +0800 Subject: [PATCH 232/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.8=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fe?= =?UTF-8?q?ren=20OS=20Review=20Clever=20KDE=20Distro=20for=20Easy=20Migrat?= =?UTF-8?q?ion=20from=20Windows.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ever KDE Distro for Easy Migration from Windows.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/tech/20221101.8 ⭐️⭐️ Feren OS Review Clever KDE Distro for Easy Migration from Windows.md diff --git a/sources/tech/20221101.8 ⭐️⭐️ Feren OS Review Clever KDE Distro for Easy Migration from Windows.md b/sources/tech/20221101.8 ⭐️⭐️ Feren OS Review Clever KDE Distro for Easy Migration from Windows.md new file mode 100644 index 0000000000..a981459f91 --- /dev/null +++ b/sources/tech/20221101.8 ⭐️⭐️ Feren OS Review Clever KDE Distro for Easy Migration from Windows.md @@ -0,0 +1,142 @@ +[#]: subject: "Feren OS Review: Clever KDE Distro for Easy Migration from Windows" +[#]: via: "https://www.debugpoint.com/feren-os-review/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Feren OS Review: Clever KDE Distro for Easy Migration from Windows +====== + +**A review of Feren OS – a KDE Plasma and Ubuntu fusion specially designed for Windows users to help them migrate.** + +Over the years, many readers commented about Feren OS and its advantages on this website. I never got a chance to try this distribution in terms of its benefits and why it stands out among hundreds of distros. + +So, here’s a review of the great Feren OS. + +### Feren OS Review + +First and foremost, its creators designed and marketed it as an ideal replacement for Windows and macOS. At its core, it’s based on Ubuntu LTS with a base KDE Plasma desktop and additional tweaks. However, it does bring several goodies specially designed for Windows users. A lot on that a little later. Let’s download and install it. + +#### Download and Install + +The Feren OS (20.04) ISO file is about 2.5 GB, and it has only one variant for KDE Plasma – which is the only offering. However, the download took around 6 hours from SourceForge. + +A few interesting things happened when I booted this up in a VM ([virt-manager][1]). During my years of [distro review][2], I haven’t seen any distro do this. + +First, the LIVE medium understood that I was using the virtual machine and changed the compositor by itself to Xrender for better performance in VM. Second, it also gave the option to install guest additions for VirtualBox and VM Tools for VM Ware for additional functionalities. + +![Virtual Machine detected by Feren OS installer][3] + +Moreover, Feren OS gave options to transfer files from the Windows partition before installing the system! And an option to choose the desktop layout if you are installing it on a touch-based device. + +![You can take backups of Windows data before install][4] + +The installer is Calamares and not Ubuntu’s Ubiquity, although it depends on Ubuntu LTS. While installing the system, Feren OS doesn’t do the account creation, keyboard and other selections. It prompts you for user account creation and additional info after the first reboot and post-installation. Fedora Linux workstation edition does this via the Anaconda installer. + +Apparently, it is probably nothing. But from a Windows user’s perspective, an “easy install” experience is important, and I believe the team made an excellent decision on this. + +Finally, the installation went smooth, and no such surprises there. + +#### First boot and looks + +During the first boot, you need to set up the user accounts and other initial settings. The wizard gives you options to choose the light/dark theme, desktop layouts and different initial configs. This is a nice touch and looks professional. + +The KDE Plasma desktop is nice and clean with the pre-configured taskbar and the Breeze theme. The taskbar has the application menu on the left side. In the middle of the taskbar, you find the shortcut to Vivaldi, File manager and homegrown Store. And at the right is a traditional system tray. + +![Feren OS Desktop][5] + +Feren OS pre-loads a good set of Plasma Global Themes other than the usual Breeze variants. All of them are perfect and give your desktop a nice touch with just one click. As of the current version, you get Feren OS, Hooman, Dooars and Mac n’ Cheese theme. In addition, you also can get the Tablet and Classic settings of the desktop. It also features the Inspire icon theme and DMZ cursor theme by default. + +#### Workspaces and Full-screen Application View + +One of the unique features I want to highlight is the default workspace configuration that Feren OS brings. By default, there are four desktops to work with. At the taskbar, there is an icon which brings up the new workspaces in the KDE Plasma desktop. + +![Feren OS - Default four desktops][6] + +If you apply the pre-defined macOS theme, the application view is quite spectacular (which is a KDE widget, btw). It even searches the apps and individual settings when you start typing. See the image below. + +![Fullscreen app menu with dynamic search][7] + +Also, the global menu gives you the extra edge and precious screen space for your workflow. + +#### Native and Installed Applications + +Let’s talk about some exciting app choices that Feren OS installs by default. + +Although it’s based on KDE Plasma, some apps are chosen carefully based on their features and performances. For example, the file manager is Nemo instead of Dolphin, which is a good choice since Nemo is an awesome file manager. + +In addition, Feren OS packages Geary [email desktop client][8], GDebi package manager, Timeshift backup utility, and VLC Media player – some of the essential non-KDE Apps. + +The native apps are quite interesting. + +A native app called “Store” manages application search, installation and uninstall. It’s a homegrown tool which looks similar to GNOME’s Software. It supports usual categories and one-click installation. However, it seems it doesn’t support managing software sources. I belives that’s the reason Synaptic package manager is installed by default. + +![Natively designed Store manager][9] + +Other than that, there is an app, “Web Browser Manager”, which lets you install additional browsers with just one click. It’s interesting to see a dedicated app to manage just the web browsers. + +#### A note about the Transfer Tool + +Since its target audiences are Windows users, it brings a dedicated tool to transfer data from your Windows partitions and helps you to take backups to a custom target drive or device. The tool can easily detect generic Windows folders such as Documents, Users, Pictures, Videos etc. + +![Feren OS Transfer Tool][10] + +It’s a handy tool if you want a quick backup of your Windows partition. More importantly, you can use this in a LIVE medium without installing Feren OS. + +#### Performance + +You might have guessed about FerenOS’s performance as it’s based on Ubuntu LTS and KDE Plasma desktop. The performance, in simple words, is the same as that of Kubuntu. + +In an idle state (i.e. desktop is boot and kept inactive), it consumes around 1.8 GB of memory, and the CPU is at 4% to 8%. The latte dock consumes most system resources and plasma desktop, followed by the KWin. This is when the macOS theme is enabled. + +![Feren OS - Performance at Idle State][11] + +Next, I make it run through heavy workload situations with one instance each for File manager, media player, Vivaldi browser, image editor, LibreOffice and Console application. At this heavy performance stage, Feren OS consumes around 2.1 GB of system memory, and the CPU is hovering at 8 to 10 %. + +![Feren OS - Performance at Heavy workload State][12] + +I think it’s an impressive performance metric in the heavy workflow state. I was expecting a little higher memory and CPU consumption. + +The only reason I believe the performance is better in a heavy workflow state is not to use Firefox or Chrome. Vivaldi is performing better in the memory utilization space than that Firefox or Chrome. + +### Wrapping Up + +Feren OS is one of those Linux distros which packs a default look with Stability together. It’s one of the “not-so-popular” & mainstream distros with many prospects. Its unique way of implementing several critical items, from installation to the first experience for a new or migrated Windows user, is a great touch. + +Besides, its in-house apps and utilities are one of the best implementations for a distro targeted at Windows users. And the Ubuntu LTS base gives them an edge over the players. + +The only drawback I can see is the major release is a little delayed. For example, the Ubuntu 22.04 LTS version is not yet out. Perhaps the delay is because of a small dev team. + +But, besides that, it’s a perfect and ready-to-use daily driver. You may give it a try. + +You can download Feren OS from the [official website][13]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/feren-os-review/ + +作者:[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/virt-manager/ +[2]: https://www.debugpoint.com/tag/linux-distro-review +[3]: https://www.debugpoint.com/wp-content/uploads/2022/07/Virtual-Machine-detected-by-Feren-OS-installer.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/07/You-can-take-backups-of-Windows-data-before-install.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/07/Feren-OS-Desktop.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/07/Feren-OS-Default-four-desktops.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/07/Fullscreen-app-menu-with-dynamic-search.jpg +[8]: https://www.debugpoint.com/best-email-client-linux-windows/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/07/Natively-designed-Store-manager.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/07/Feren-OS-Transfer-Tool.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/07/Feren-OS-Performance-at-Idle-State.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/07/Feren-OS-Performance-at-Heavy-workload-State.jpg +[13]: https://ferenos.weebly.com/get-feren-os.html From aeae153e2a6c2f0c02125aaf6b43db59f3f9f93d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:34:58 +0800 Subject: [PATCH 233/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.9=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Garuda=20Linux=20All-Rounder=20Distro=20Ba?= =?UTF-8?q?sed=20on=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Garuda Linux All-Rounder Distro Based on Arch Linux.md | 167 ++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md diff --git a/sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md b/sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md new file mode 100644 index 0000000000..0326410d91 --- /dev/null +++ b/sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md @@ -0,0 +1,167 @@ +[#]: subject: "Garuda Linux: All-Rounder Distro Based on Arch Linux" +[#]: via: "https://www.debugpoint.com/garuda-linux-review-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Garuda Linux: All-Rounder Distro Based on Arch Linux +====== + +**A review of the Arch Linux based Garuda Linux, which brings a collection of desktop environments, window managers, and tools for general users and gamers.** + +Over the years, we [reviewed][1] a couple of Arch-based distros – spread across new ones, stables distros and more. Each one of them is a little different from the others. Finally, we review the Garuda Linux in 2022 – it’s our first review of this distro, and we will continue with all the major releases. + +![Garuda Linux Desktop (2022)][2] + +### What does it offer? + +There are many customized and easy-to-use Arch-based Linux distributions available. Every one of those tries to present something new other than just another variant of Arch Linux. + +Garuda Linux does offer a few new features compared to others. + +Firstly, it **brings almost all popular desktops and window managers** such as KDE, Xfce, GNOME, LXQt-kwin, Cinnamon, Mate, Wayfire, Qtile, i3wm and Sway. + +Second, it offers the **default BTRFS file system with zstd compression** for better performance. In addition, it provides the popular **Chaotic-Aur**, which contains a vast collection of pre-compiled binaries from AUR. Moreover, a group of hand-picked themes, icons and cursors give Garuda Linux an edge over the other Arch-based distros. + +Finally, its primary selling point is i**ts pre-made for Gaming in Arch Linux** with native apps such as Garuda Gamer and the option for Zen Kernel. + +### Garuda Linux Review – 2022 Edition + +This review is based on Garuda’s default offering, i.e. Garuda dragonized zen kernel with KDE Plasma (April 28, 2022 iso). + +#### Download and Installation + +![Garuda Linux - boot screen][3] + +The download via torrent was fast without any problems. The LIVE boot asks whether you want to boot using open-source or NVIDIA drivers. Finally, the welcome screen is well designed and gives you clear instructions to launch the installer. + +Garuda offers **separate ISO files for different desktops** and window managers. Because a massive set of packages pre-loaded in ISO files also gives you the option for the LITE version with KDE Plasma. The LITE versions are the base Garuda Linux without additional theming and packages. + +So, pick the one you want for your needs. + +Garuda Linux uses **Calamares** installer. The Calamares are not configured heavily, and installation is pretty straightforward. However, Calamares doesn’t give you the option to choose the desktop environments or packages. As I mentioned above, it has a separate installer for each of those. + +During my test, the installation went smoothly, and it took around 5 minutes to launch the LIVE medium to completion in an Intel i5, 8 GB, SSD configuration. **It’s blazing fast, in my opinion.** + +#### Look and Feel + +After the successful installation, you see a **nice login screen** (SDDM with themes). It is well designed and aligned with Garda Linux’s design patterns. + +![The Login screen (SDDM) of Garuda Linux][4] + +The KDE Plasma desktop is heavily customized in terms of look in Garuda Linux. Firstly, the Latte dock is well placed with essential shortcuts at the bottom. No unnecessary shortcuts are there, which is nice. + +![Garuda Linux Desktop with Latte dock][5] + +Second, at the top bar, you get the application menu of KDE Plasma with Latte dock widgets. All the widgets are well placed and necessary for all user bases. By default, the top bar contains NEtSpeed widgets, clipboard and volume controls and the event calendar widget of the Latte dock. + +Garuda Linux uses **Kvantum theme engine** with “sweetified-plasma” theme with kvantum-dark application style, giving it its unique look. In addition, the famous BeautyLine icon theme provides the much-needed contrast (as designed) to this distro. + +#### Initial Setup and Applications + +Firstly, the initial setup gives you several options to quickly configure your desktop before your first use. + +A series of terminal-based operations is provided by its welcome applications, such as system upgrades. + +The welcome application gives an assorted list of Garuda utilities, ranging from system configurations to changing looks. It includes system cleaner, partition manager, Chaotic-aur managers, Gaming utilities, etc. + +Not only that, but it also provides access to Garuda services for its users directly from the desktop. It helps new to advanced users in terms of discovery of the services and features. + +![Garuda Welcome App][6] + +Now, I would like to highlight two crucial apps in this Garuda Linux review. + +First, the **Snapper tool** gives you controls to **create system restore points**using several options. If your system breaks at some point, you can always restore it to a stable state using this utility. This is one of the much-needed applications, considering it’s a rolling release. + +![The Snapper Tools for system restore points][7] + +Second, the **Octopi software manager**(similar to synaptic) gives you access to all necessary packages in the Arch repo. You can easily install with one click after verifying the dependencies. Moreover, it also gives you the ability to add and remove Arch repositories via GUI. + +It’s worth mentioning here that Garuda includes “chaotic-aur” and “multilib” repo by default in addition to the typical “community”, “extra”, and “core” repo. + +![Octopi Software Manager][8] + +#### The Browser + +Garuda doesn’t provide a Firefox web browser by default. It includes the **customized LibreWolf-based [FireDragon][9] web browser**, which integrates well with the KDE Plasma desktop. + +In addition, UBlock Origin and Dark Reader add-ons are pre-installed in FireDragon. The FireDragon web browser uses Garuda’s server for searching the web. I am not entirely sure whether it connects to Google in the backend. + +![FireDragon Web browser][10] + +In addition to the above apps, Garuda uses the advanced Fish shell for command line work. However, LibreOffice and other graphical utilities are not installed by default. + +#### Performance and Resource Usage + +Garuda is a little resource-heavy, even in an idle state. It consumed around 17% of CPU and RAM usage of approximately 1.2 GB at idle. And if you open more apps, then it will further shoot up. + +The htop shows that most of the idle state resources are consumed by KWin. I am not sure why there are five forks of KWin running (perhaps for Kvuntam and other theming). I cross-checked this with a standard Plasma installation, where only one process of KWin runs. + +The default KDE Plasma edition of Garuda Linux takes around 6.4 GB of disk space. + +![Garuda Linux Performance - Idle State][11] + +With the above performance metric, you may be unable to run it in low-end hardware. I recommend using an Intel i7 or similar system with at least 8GB of memory for better performance. However, the official system requirement states 4 GB of memory as below. + +- 30 GB storage space +- 4 GB RAM +- Video card with OpenGL 3.3 or better +- 64-bit system + +Also, it is worth mentioning that other flavours, such as GNOME, Cinnamon etc., should have much better performance metrics. + +### Things which grabbed my attention + +Garuda requires 30 GB of disk space, which I overlooked before installing. And it also seems a hard requirement, and the Calamares installer is configured that way. So, you must have a minimum of 30 GB of root partition to install this version of Garuda Linux. + +Moreover, it takes around 6 GB of disk space for a default install, and I am not sure why the 30 GB limit is too hardcoded in the installer. + +![Garuda Linux requires min 30 GB disk space for installation][12] + +While Garuda Linux looks wonderful, I feel the default theming and colour contrast are a little “too much”. It feels excellent with high contrast colours on a dark backdrop at first look. But it does look a little “fanboy” type. Although look and feel are subjective, everyone has a different taste. + +But always, you can change the themes, icons and whatnot with just a click in KDE Plasma. + +### Closing Notes + +Finally, to wrap up the Garuda Linux review of 2022, I must say it is one of the Arch-based distros which stands out from the other distros in the same category. Due to its popularity and active participation from the user base, it shall not be discontinued in the future. + +From a general user’s perspective, community help is available via several active channels (which can be accessed via shortcuts from the welcome screen). + +If you are keen on gaming, zen Kernel and passionate about Arch Linux, you can choose Garuda. The use case of this distro may vary. I would not recommend it for serious development, projects, media related work. + +Then again, Garuda undoubtedly brings unique apps to manage Arch Linux, which is also a plus point. If you need a fancy-looking Arch-based distro to start your Linux journey, it’s perfect. + +That said, you can download Garuda Linux from the [official website][13]. + +And do let me know your opinion about Garuda in the comment box down below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/garuda-linux-review-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/tag/linux-distro-review +[2]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Linux-Desktop-2022.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Linux-boot-screen.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/The-Login-screen-SDDM-of-Garuda-Linux.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Linux-Desktop-with-Latte-dock.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Welcome-App.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/05/The-Snapper-Tools-for-system-restore-points.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/Octopi-Software-Manager.jpg +[9]: https://github.com/dr460nf1r3/firedragon-browser +[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/FireDragon-Web-browser.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Linux-Performance-Idle-State.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/05/Garuda-Linux-requires-min-30-GB-disk-space-for-installation.jpg +[13]: https://garudalinux.org/downloads.html From 756ba8d2b72c91c790a3d7ea352d02f89136fa08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 00:36:57 +0800 Subject: [PATCH 234/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.10=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20B?= =?UTF-8?q?est=20Remote=20Desktop=20Clients=20for=20Ubuntu=20and=20Other?= =?UTF-8?q?=20Linux=20[2022].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sktop Clients for Ubuntu and Other Linux [2022].md | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md diff --git a/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md b/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md new file mode 100644 index 0000000000..758bb8c21e --- /dev/null +++ b/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md @@ -0,0 +1,195 @@ +[#]: subject: "Best Remote Desktop Clients for Ubuntu and Other Linux [2022]" +[#]: via: "https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Best Remote Desktop Clients for Ubuntu and Other Linux [2022] +====== + +**A list of best remote desktop clients for Ubuntu and other Linux distros.** + +Remote desktop clients allow you to connect to any other desktop/server and perform tasks remotely. It’s one of the important aspects of IT support and other commercial use cases. In Linux, there are many remote desktop clients available. Some of them are free, while others are paid versions. All of these clients support popular remote desktop protocols (RDP) such as VNC, RDP and others. + +This article looks at some of the best free remote desktop clients for Ubuntu and other distros. The list includes free and open-source apps and some free-to-use but proprietary apps. + +Note: You need a remote desktop server (such as Xrdp) in your target system to establish a remote connection successfully. Then only you can connect using the following apps. It’s a two-way process. If you want to get more insight, refer to one of our case studies: [Connecting to Ubuntu from Windows via RDP][1]. + +### Best Remote Desktop Clients for Ubuntu + Others + +#### GNOME Connections + +![GNOME Connections][2] + +The first remote desktop client is a native [GNOME app][3] – “GNOME Connections”. This GTK-based app brings a simple user interface. It’s a perfect app for beginners. It’s also a perfect way quickly set up and connect in a minute (if you know the IP and other details). + +In addition, it comes with clear instructions on whether you want to connect to a Linux machine or Windows. GNOME Connections support VNC (for Linux) and RDP (for Windows) protocols. + +Installing this app is super easy with Flatpak. Set up your system to use Flatpak and install it using the following command. + +``` +flatpak install flathub org.gnome.Connections +``` + +**More information** + +- [Source code and home page][4] + +#### KRDC + +![KRDC][5] + +The next app is KRDC, a [KDE app][6] that allows you to view and control remote desktop sessions on another machine. It supports VNC and RDP protocol. You can also control the resolutions and passwords; of course, it integrates well with your Plasma desktop. + +So, this is it if you are looking for a native-KDE app for a remote desktop. For the KDE Plasma desktop, it should be installed by default. + +If not, the ideal way to install it is using Flatpak. [Set up your system to use Flatpak][7], and then use the following command to install. + +``` +flatpak install flathub org.kde.krdc +``` + +**More information** + +- [Home page][8] +- [Documentation][9] +- [Source code][10] + +#### Remmina + +![Remmina remote desktop client][11] + +Remmina is one of the oldest remote desktop clients for Linux systems. Probably the “go-to” client when you are in need. This free and open-source app is available Linux as well as for macOS. It supports many remote protocols, such as RDP, VNC, NX, X2GO, SPICE, HTTPS and SSH. + +Moreover, it is powerful with its simple yet profound user interface and is super-active in development and bug fixes. + +This app is already in all the major distro’s repositories. You can search for “remmina” in your Software app in Ubuntu and related apps in other distros. And hit install. + +Alternatively, you can also use the following commands to install. + +Furthermore, you can also [set up your system for Flatpak][7] and install it as Flatpak using the following command. + +``` +flatpak install flathub org.remmina.Remmina +``` + +**More information** + +- [Home page][12] +- [Source code][13] + +#### TigerVNC + +TigerVNC is a free and open-source “platform-neutral” implementation of the VNC (Virtual Network Computing) protocol that comes with both client and server packages. You can use this remote desktop when there is a need for high performance because it works best and is optimized for 3D/Video data over a remote connection. + +Furthermore, it still provides a 32-bit installer, along with the usual 64-bit and a command line interface. The client program name for TigerVNC is `vncviewer` and options are present [here][14]. + +You can get the pre-compiled deb and RPM packages from the [Sourceforge page here][15]. + +**More information** + +- [Home page][16] +- [Documentation][17] +- [Source code][18] + +#### X2Go + +![X2Go][19] + +[X2][20][G][20][o][20] is a Linux-based remote desktop software based on NX technology which is developed by NoMachine. It is a collection of client and server packages that enables you to connect to remote machines via proxy. + +For the remote client part – it comes with two options. You can use either the X2Go client or Pyhoca-GUI (based on Python). All of these are bundled together in the repositories available for Linux. In addition, all the components are also available for Windows and macOS. + +You can download this software’s client and server parts from the below page. + +Download X2Go + +#### Chrome Remote Desktop + +![Chrome Remote Desktop][21] + +If you prefer a remote connection over a web browser or have limitations in installing an RDP server, you can try out a remote connection via Google Chrome. + +The Chrome Remote Desktop service is created by Google and is available over the internet. This service runs via WebRTC protocol over a browser and uses some proprietary technology. + +Once launched, a server component is downloaded from the host machine and uses Chrome to provide the functionality. And in the client machine uses a Google Chrome Extension to enable your remote connection. + +You can open the below URL to access this service via Chrome and WebRTC-supported browser. + +[https://remotedesktop.google.com/][22] + +Furthermore, it provides an on-the-fly PIN-based authentication mechanism for remote viewing of your systems. And it is limited to being used by up to 100 clients only. + +### More remote clients + +The above list should suffice for most of the common use cases. However, if you are still hungry for more remote desktop clients, here’s a list I have prepared for you with a brief of their nature. + +#### Free and open-source + +- [TurboVNC][23] (Free and open-source) +- [UltraVNC][24] (Free and open-source) +- FreeRDP (Free + require compilation + support Wayland) + +#### Commercial closed source and requires a license to use + +- [Thincast][25] (Free to use; Flatpak package; Available for Raspberry Pi; Closed source & Proprietary license) +- [NoMachine][26] (Free for personal; Paid for business; Popular, available for Linux, Windows, macOS, Raspberry Pi) +- [AnyDesk][27] (Free for personal; Paid for business; closed source) +- [VNC Connect][28] (Paid; closed source) +- [TightVNC][29] (requires a license with an email address to be used in Linux) +- [itopia][30] (Free with a trial version; Flatpak) + +### Wrapping Up + +This article lists some of the latest remote desktop clients for Ubuntu and other Linux distributions. Some of them are free and easy to use. You can use them for remote support, studying, and other use cases. IN addition, I also mentioned WebRTC-based remote service, which doesn’t require any installation except a browser extension. + +Furthermore, for the benefit of everyone, I have mentioned some of the commercial ones as well. Because if you are a small and medium enterprise, you might want to check the paid version apps with support. + +Finally, which one of the remote client software is your “go-to” app? Let me know in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/ + +作者:[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/connect-ubuntu-20-04-windows-10/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/GNOME-Connections.jpg +[3]: https://www.debugpoint.com/best-gnome-apps-part-1/ +[4]: https://gitlab.gnome.org/GNOME/connections +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/KRDC.jpg +[6]: https://www.debugpoint.com/best-kde-apps-part-1/ +[7]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[8]: https://apps.kde.org/krdc/ +[9]: https://docs.kde.org/?application=krdc +[10]: https://invent.kde.org/network/krdc +[11]: https://www.debugpoint.com/wp-content/uploads/2020/03/Remmina.png +[12]: https://remmina.org/ +[13]: https://gitlab.com/Remmina/Remmina +[14]: https://tigervnc.org/doc/vncviewer.html +[15]: https://sourceforge.net/projects/tigervnc/files/stable/ +[16]: https://tigervnc.org/ +[17]: https://github.com/TigerVNC/tigervnc/wiki +[18]: https://github.com/TigerVNC/tigervnc/releases +[19]: https://www.debugpoint.com/wp-content/uploads/2020/03/X2Go.jpg +[20]: https://wiki.x2go.org/doku.php/download:start +[21]: https://www.debugpoint.com/wp-content/uploads/2020/03/Chrome-Remote-Desktop.png +[22]: https://remotedesktop.google.com/ +[23]: https://www.turbovnc.org/ +[24]: https://www.uvnc.com/ +[25]: https://thincast.com/ +[26]: https://www.nomachine.com/ +[27]: https://anydesk.com/ +[28]: https://www.realvnc.com/en/connect/ +[29]: https://www.tightvnc.com/ +[30]: https://itopia.com/ From b69e43d5ece7aa82bad9693d79b04218cfc8fe7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 2 Nov 2022 02:19:09 +0800 Subject: [PATCH 235/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221101.11=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20H?= =?UTF-8?q?ow=20to=20Install=20Flatpak=20Apps=20in=20Ubuntu=20and=20Other?= =?UTF-8?q?=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Install Flatpak Apps in Ubuntu and Other Linux.md | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 sources/tech/20221101.11 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md diff --git a/sources/tech/20221101.11 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md b/sources/tech/20221101.11 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..6639886773 --- /dev/null +++ b/sources/tech/20221101.11 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md @@ -0,0 +1,170 @@ +[#]: subject: "How to Install Flatpak Apps in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Flatpak Apps in Ubuntu and Other Linux +====== + +**A beginner’s guide on how to install Flatpak in Ubuntu and other Linux distributions.** + +### What is Flatpak? + +[Flatpak][1] is the new way of distributing apps across the Linux universe, irrespective of the distribution. This cross-distro application distribution and deployment framework enable developers to Flatpak setup for apps for all major distributions. + +The major hurdles in any Linux app distribution are dependencies, and Flatpak covers that. Flatpak builds bundles the dependencies for the respective apps, and end-users need not worry about it. + +With the growing trends, many app developers are now providing the Flatpak builds along with traditional packages, e.g. *.deb, etc. With a quick setup for your distributions, you can be ready to explore the world of Flatpak apps. All the major Flatpak apps are available on flathub.org. You can search and just click a button, you can install the Flatpak apps. Here’s how to set it up for Ubuntu and other Linux distributions. + +### How to setup Flatpak in Ubuntu + +- For Ubuntu 18.10 (Cosmic Cuttlefish), use the following command to install Flatpak (that includes Ubuntu 22.04 as well). + +``` +sudo apt install flatpak +``` + +If you are using an older version of Ubuntu, use the following repo. + +``` +sudo add-apt-repository ppa:alexlarsson/flatpak +sudo apt update +sudo apt install flatpak +``` + +- The second step is optional if you want to install Flatpak apps via the browser. Enable Ubuntu Software to recognize Flatpak apps and their installations. Run the below commands from the terminal and provide the password when prompted. + +``` +sudo apt install gnome-software-plugin-flatpak +``` + +- Add the Flathub repository where all the Flatpak apps reside. Run the below commands from the terminal. + +``` +flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +``` + +- Reboot. + +### Install in Other Linux Distributions + +Flatpak is available to install almost all possible distributions. Here’s a quick list of commands you can run from the terminal in all the distros. + +| **Linux distro name** | **Instructions or commands to set up Flatpak** | +| :- | :- | +| AlmaLinux | Enabled by default. No action is required. | +| Alpine Linux | Run the following commands:`sudo apk add flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Arch Linux | Run the following commands:`sudo pacman -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| CentOS | Enabled by default. No action is required. | +| Clear Linux | Enabled by default. No action is required. | +| Debian | Run the following commands:`apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Deepin OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| elementary OS | Enabled by default. No action is required. | +| Endeavour OS | Enabled by default. No action is required. | +| Endless OS | Enabled by default. No action is required. | +| Fedora Linux | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak app. | +| Gentoo | Run the following commands:`echo -e 'sys-apps/flatpak ~amd64\nacct-user/flatpak ~amd64\nacct-group/flatpak ~amd64\ndev-util/ostree ~amd64' >> /etc/portage/package.accept_keywords/flatpakemerge sys-apps/flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| KDE Neon | Enabled by default. No action is required. | +| Kubuntu | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``sudo apt install plasma-discover-backend-flatpak``reboot` | +| Linux Mint | Enabled by default. No action is required. | +| Mageia | Run the following commands:`dnf install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Manjaro Linux (Arch-based) | Installed by default since Manjaro 20 and higher.Make sure it is enabled in the below navigation:**Software Manager > Preferences > Flatpak Tab > Enable Flatpak Support**Reboot your system | +| MX Linux | Enabled by default. No action is required. | +| Nix OS | Open `/etc/nixos/configuration.nix` and add the following:`Services.flatpak.enable = true;`And then run the followings:`sudo nixos-rebuild switch``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| openSUSE Leap and Tumbleweed | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak apps. | +| Pop OS | Enabled by default. No action is required. | +| Raspberry Pi OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Red Hat Enterprise Linux (RHEL) | `sudo yum install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Solus | Run the following commands:`sudo eopkg install flatpak xdg-desktop-portal-gtk``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Void Linux | Run the following commands:`sudo xbps-install -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Zorin OS | Enabled by default. No action is required. | + +Once installation is completed, and reboot is done, you can proceed with installing some cool Flatpak apps via the below steps. + +### How to Install Flatpak Apps in Ubuntu and Other Linux + +There are two ways you can install Flatpak apps. Firstly via the command line, which I recommend. And second is the browser method. + +I recommend using the command line because it is faster and easier. + +#### Using the command line (recommended) + +The sample command to install any Flatpak app is available at the bottom section of the Flathub app page. A sample command is below: + +``` +flatpak install org.gimp.GIMP +``` + +Change the above “org.gimp.GIMP” for your application. Remember, this is case-sensitive. + +#### Using the graphical method via browser + +- Go to [Flathub][3]. +- Search for any apps you want to install. + +![][4] + +- Click install after selecting your desired app. + +![Install Flatpak][5] + +- Click Ok when it prompts you to start the installation via Software. + +![Open Flatpackref via Software][6] + +- The Software will open and wait till the installation finishes. + +### How to update Flatpak after you install them? + +Updating Flatpak is super easy via the terminal. For example, if you want to update the above GIMP package, you need to run the below command. + +``` +flatpak update org.gimp.GIMP +``` + +So, this will update a single package. Replace your package’s name (i.e. Application ID) for your use case. If you don’t know the Application ID, run the command `flatpak list` from the terminal, and you will find it. + +If you want to update ALL the Flatpak packages in your system, simply run the following: + +``` +flatpak update +``` + +### How to uninstall a Flatpak? + +You can uninstall a package using the following command. Make sure to change the Application ID for your use case. You can find out the Application ID from the command `flatpak list`. + +``` +flatpak remove org.gimp.GIMP +``` + +### Closing Notes + +In this tutorial, I have explained how you can easily set up Flatpak and install apps from Flathub. Moreover, Flatpak applications are a great way to install and manage them easily. In my opinion, Flatpak will eventually dominate Snap and AppImage in the future. + +You may want to check out our other articles about [Flatpak][7], which include how to manage permission, various Flatpak commands and more. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-install-flatpak-apps-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://flatpak.org/ +[2]: https://flathub.org/repo/flathub.flatpakrepo +[3]: https://flathub.org/apps +[4]: https://www.debugpoint.com/wp-content/uploads/2018/07/Search-in-Flathub.png +[5]: https://www.debugpoint.com/wp-content/uploads/2018/07/Install-Flatpak.png +[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/Open-Flatpackref-via-Software.png +[7]: https://www.debugpoint.com/tag/flatpak From df5422b944a70e1ca4e1bb9e18afe5c885fe1341 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 2 Nov 2022 08:56:01 +0800 Subject: [PATCH 236/925] translated --- ...lean Up Snap Versions to Free Up Disk Space.md | 106 ------------------ ...lean Up Snap Versions to Free Up Disk Space.md | 106 ++++++++++++++++++ 2 files changed, 106 insertions(+), 106 deletions(-) delete mode 100644 sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md create mode 100644 translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md diff --git a/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md b/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md deleted file mode 100644 index 8a01af005a..0000000000 --- a/sources/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md +++ /dev/null @@ -1,106 +0,0 @@ -[#]: subject: "How to Clean Up Snap Versions to Free Up Disk Space" -[#]: via: "https://www.debugpoint.com/clean-up-snap/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Clean Up Snap Versions to Free Up Disk Space -====== - -**This quick guide with a script helps to clean up old snap versions and free some disk space in your Ubuntu systems.** - -I was running out of disk space in my test system with Ubuntu. So I was investigating via GNOME’s Disk Usage Analyser to find out which package is consuming the precious SSD space. Apart from the usual cache and home directory – to my surprise, I found that Snap and Flatpak consume a considerable amount of storage space. - -![Snap size - before cleanup][1] - -Although, I always maintain a rule – not to use Snap or Flatpak unless necessary. This is mainly because of their installation size and other issues. I prefer vanilla deb and rpm packages. Over the years, I have installed and removed a certain amount of Snap packages in this test system. - -The problem arises after uninstallation; Snap keeps some residue files in the system, unknown to the general users. - -So I opened the Snap folder `/var/lib/snapd/snaps` and discovered that Snap is keeping track of older versions of previously installed/uninstalled packages. - -For example, in the below image, you can see GNOME 3.28, 3.34, and Wine – all of these are removed long back. But they are still there. It’s happening because of the Snap design, which keeps versions of uninstalled packages after a proper uninstallation. - -![Files under snaps directory][2] - -Alternatively, you can get the same in the terminal using: - -``` -snap list --all -``` - -![snap list all][3] - -The default value is 3 for several revisions for retention. That means Snap keeps three older versions of each package, including the active version. This is okay if you do not have constraints on your disk space. - -But for servers and other use cases, this can easily run into cost issues, consuming your disk space. - -However, you can easily modify the count using the following command. The value can be between 2 to 20. - -``` -sudo snap set system refresh.retain=2 -``` - -### Clean Up Snap Versions - -In a post in SuperUser, Popey, the ex-Engineering Manager at Canonical, [provided a simple script][4] that can clean up old versions of Snaps and keep the latest one. - -Here’s the script we will use to clean the Snap up. - -``` -#!/bin/bash - #Removes old revisions of snaps - #CLOSE ALL SNAPS BEFORE RUNNING THIS - set -eu - LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | - while read snapname revision; do - snap remove "$snapname" --revision="$revision" - done -``` - -Save the above script as .sh in a directory (for example`clean_snap.sh`), give it executable permission and run. - -``` -chmod +x clean_snap.sh -``` - -When I ran the script, it reduced a lot of disk space. The script would also show the name of the package being removed. - -![Executing the script][5] - -![Snaps size after cleanup][6] - -### Closing Notes - -There are always debates on how efficient Snap’s design is. Many say it is broken by design, bloated, and heavy on systems. Some part of that argument is true, I would not deny it. The whole concept of sandboxing applications is great if implemented and enhanced properly. I believe, Flatpak does a better job compared to Snap. - -That said, I hope this helps you clean up some disk space. Although it is tested in Ubuntu, it should work in all Linux distribution that supports Snap. - -Also, check out our guide on [how to clean up Ubuntu][7] with additional steps. - -Finally, if you are looking to clean up **Flatpak** apps, refer [this guide][8]. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/clean-up-snap/ - -作者:[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/2021/03/Snap-size-before-cleanup.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/Files-under-snaps-directory.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/snap-list-all.jpg -[4]: https://superuser.com/a/1330590 -[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/Executing-the-script.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/Snaps-size-after-cleanup.jpg -[7]: https://www.debugpoint.com/2018/07/4-simple-steps-clean-ubuntu-system-linux/ -[8]: https://www.debugpoint.com/clean-up-flatpak/ diff --git a/translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md b/translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md new file mode 100644 index 0000000000..366dfc69e7 --- /dev/null +++ b/translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md @@ -0,0 +1,106 @@ +[#]: subject: "How to Clean Up Snap Versions to Free Up Disk Space" +[#]: via: "https://www.debugpoint.com/clean-up-snap/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何清理 Snap 版本以释放磁盘空间 +====== + +**这个带有脚本的快速指南有助于清理旧的 snap 版本并释放 Ubuntu 系统中的一些磁盘空间。** + +我在使用 Ubuntu 的测试系统中的磁盘空间不足。因此,我通过 GNOME 的磁盘使用分析器进行调查,以找出哪个包正在消耗宝贵的 SSD 空间。除了通常的缓存和主目录,令我惊讶的是,我发现 Snap 和 Flatpak 消耗了大量的存储空间。 + +![Snap 大小 - 清理前][1] + +尽管如此,我始终坚持一个规则:除非必要,否则不要使用 Snap 或 Flatpak。这主要是因为它们的安装尺寸和其他问题。我更喜欢原生 deb 和 rpm 包。多年来,我在这个测试系统中安装和移除了一定数量的 Snap 包。 + +卸载后出现问题。Snap 在系统中保留了一些残留文件,一般用户不知道。 + +所以我打开了 Snap 文件夹 `/var/lib/snapd/snaps`,发现 Snap 保留了以前安装/卸载的软件包的旧版本。 + +例如,在下图中,你可以看到 GNOME 3.28、3.34 和 Wine 都被删除了。但它们还在那里。发生这种情况是因为 Snap 的设计,它在正确卸载后保留已卸载软件包的版本。 + +![snaps 目录下的文件][2] + +或者,你可以在终端中使用: + +``` +snap list --all +``` + +![snap 列出全部][3] + +对于保留的版本,默认值为 3。这意味着 Snap 会保留每个软件包的三个旧版本,包括活动版本。如果你对磁盘空间没有限制,这是可以的。 + +但是对于服务器和其他情况,这很容易遇到成本问题,它会消耗你的磁盘空间。 + +但是,你可以使用以下命令轻松修改计数。该值可以在 2 到 20 之间。 + +``` +sudo snap set system refresh.retain=2 +``` + +### 清理 Snap 版本 + +在 SuperUser 的一篇文章中,Canonical 的前工程经理 Popey [提供了一个简单的脚本][4],它可以清理旧版本的 Snaps 并保留最新版本。 + +这是我们将用来清理 Snap 的脚本。 + +``` +#!/bin/bash +#Removes old revisions of snaps +#CLOSE ALL SNAPS BEFORE RUNNING THIS +set -eu +LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | +while read snapname revision; do +snap remove "$snapname" --revision="$revision" +done +``` + +将上面的脚本以 .sh 格式保存在一个目录中(例如 `clean_snap.sh`),赋予它可执行权限并运行。 + +``` +chmod +x clean_snap.sh +``` + +当我运行脚本后,它减少了很多磁盘空间。该脚本还将显示要删除的包的名称。 + +![执行脚本][5] + +![清理后的 Snap 大小][6] + +### 结束语 + +对于 Snap 的设计效率如何,人们总是争论不休。许多人说,它的设计是坏的,是臃肿的,是消耗系统资源的。这种说法的某些部分是真实的,我不会否认它。如果实施和加强得当,整个沙盒应用的概念是很好的。我相信,与 Snap 相比,Flatpak 工作做得更好。 + +也就是说,我希望这可以帮助你清理一些磁盘空间。尽管它在 Ubuntu 中进行了测试,但它应该适用于所有支持 Snap 的 Linux 发行版。 + +此外,请查看我们关于[如何清理 Ubuntu][7] 的指南以及其他步骤。 + +最后,如果你要清理 **Flatpak** 应用,请参阅[本指南][8]。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/clean-up-snap/ + +作者:[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/2021/03/Snap-size-before-cleanup.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/03/Files-under-snaps-directory.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/03/snap-list-all.jpg +[4]: https://superuser.com/a/1330590 +[5]: https://www.debugpoint.com/wp-content/uploads/2021/03/Executing-the-script.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/03/Snaps-size-after-cleanup.jpg +[7]: https://www.debugpoint.com/2018/07/4-simple-steps-clean-ubuntu-system-linux/ +[8]: https://www.debugpoint.com/clean-up-flatpak/ \ No newline at end of file From 2bbc3840d5f2abb47912c9ee1b009fd2640c8197 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 2 Nov 2022 09:00:57 +0800 Subject: [PATCH 237/925] translating --- ...⭐️ Transfer files and folders from Windows to Linux with PSCP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md index 6e818f79a3..caff6920cf 100644 --- a/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md +++ b/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/transfer-files-windows-linux-pscp" [#]: author: "Paul https://opensource.com/users/plaubscher" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 6b4f9434c7d336528761c8c466426ac66aa36877 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 2 Nov 2022 10:24:25 +0800 Subject: [PATCH 238/925] =?UTF-8?q?Rename=2020221101.9=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Garuda=20Linux?= =?UTF-8?q?=20All-Rounder=20Distro=20Based=20on=20Arch=20Linux.md=20to=202?= =?UTF-8?q?0221101.9=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Garuda=20Lin?= =?UTF-8?q?ux=20All-Rounder=20Distro=20Based=20on=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...=> 20221101.9 ⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md => 20221101.9 ⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md} (100%) diff --git a/sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md b/sources/tech/20221101.9 ⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md similarity index 100% rename from sources/tech/20221101.9 ⭐️⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md rename to sources/tech/20221101.9 ⭐️⭐️ Garuda Linux All-Rounder Distro Based on Arch Linux.md From bcf812169e7eeee67d8d24331836eedd2478eed2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 10:34:07 +0800 Subject: [PATCH 239/925] =?UTF-8?q?=E5=9B=9E=E6=94=B6=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ds Clip Launching and Apple Silicon Support.md | 100 --------------- ...at Ability to the Steam Snap App for Gamers.md | 88 ------------- ...ure Messaging and Bitcoin Lightning Network.md | 87 ------------- ...️ Oh No! Fedora 37 Release Gets Delayed.md | 63 ---------- ...Released, It's All About Useful Refinements.md | 116 ------------------ 5 files changed, 454 deletions(-) delete mode 100644 sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md delete mode 100644 sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md delete mode 100644 sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md delete mode 100644 sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md delete mode 100644 sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md diff --git a/sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md b/sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md deleted file mode 100644 index 68d9f07ca9..0000000000 --- a/sources/news/20221018.1 ⭐️ Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support.md +++ /dev/null @@ -1,100 +0,0 @@ -[#]: subject: "Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support" -[#]: via: "https://news.itsfoss.com/ardour-7-0-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support -====== - -Ardour 7.0 is a major upgrade with much-needed improvements. - -![Ardour 7.0 Release Marks the end of 32-bit builds; Adds Clip Launching and Apple Silicon Support][1] - -[Ardour][2] is a popular open-source digital audio workstation software that audio professionals use. - -Ardour 7.0 has been in development for a little more than a year since the release of 6.9 and has come a long way since Ardour 5.0. - -Let's take a look at the highlights of this release. - -### 🆕 Ardour 7.0: What's New? - -![ardour 7.0][3] - -This release introduces a variety of changes and feature additions, some of the highlights are: - -- **Discontinuation of 32-bit Builds.** -- **Clip Launching feature (similar to what other DAWs provide).** -- **Support for Apple Silicon.** -- **Integration of Loop Library.** -- **Audio sample library support by Freesound.** - -#### Clip Launching - -![ardour 7.0 clip launching][4] - -Similar to many mainstream DAWs like Ableton Live, Ardour now has support for clip launching. - -Users can now play/stop audio clips and adjust the timing to fit the tempo map of a session. Pretty useful for live performances. - -#### Loop Library - -![ardour 7.0 loop library][5] - -In addition to Clip Launching, users can also take advantage of a vast collection of loops sourced from a few hand-picked creators of [looperman][6]. - -Users can choose from any of the royalty-free loops, with more to be added in the near future. - -#### End of 32-bit Builds - -There won't be any further 32-bit builds of Ardour, only a few will remain available on the nightly build channels for now. - -You may want to look around at some of the DAWs available for Linux to see what else might offer a 32-bit build. - -#### Sound Samples Available by Freesound - -![ardour 7.0 freesound integration][7] - -Another feature that complements the Loop Library is the integration with [Freesound][8]. - -With this, users can make use of over 600,000 samples of audio. To do this, users must have a Freesound account linked to their Ardour installation. - -#### 🛠️ Other Changes - -Other notable changes include: - -- **New Themes.** -- **Ripple Editing Modes.** -- **Mixer Scenes.** -- **Improvements to MIDI Editing.** -- **Support for I/O Plugins.** - -You can go through the official [release notes][9] for more details of the release. - -_💬 Are you going to try out Ardour 7.0? Satisfied with the DAW you currently use?_ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ardour-7-0-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ardour-7-0-release.jpg -[2]: https://ardour.org/ -[3]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0.png -[4]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Clip_Launching.png -[5]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Loop_Library.png -[6]: https://www.looperman.com/ -[7]: https://news.itsfoss.com/content/images/2022/10/Ardour_7.0_Freesound_Integration.png -[8]: https://freesound.org/ -[9]: https://ardour.org/whatsnew.html diff --git a/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md b/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md deleted file mode 100644 index 77f6676cee..0000000000 --- a/sources/news/20221027.13 ⭐️ Canonical's Adding a Neat Ability to the Steam Snap App for Gamers.md +++ /dev/null @@ -1,88 +0,0 @@ -[#]: subject: "Canonical's Adding a Neat Ability to the Steam Snap App for Gamers" -[#]: via: "https://news.itsfoss.com/steam-snap-app-mesa/" -[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Canonical's Adding a Neat Ability to the Steam Snap App for Gamers -====== - -Canonical is making reasonable efforts with its Steam snap app. A snap app that you can't hate? - -![Canonical's Adding a Neat Ability to the Steam Snap App for Gamers][1] - -Gaming on Linux is getting popular and evolving every year, with Valve and the Steam Deck playing a significant part. - -According to the [Steam Hardware and Software survey][2], Ubuntu remains one of the most popular Linux distros for gaming. - -The company behind Ubuntu – Canonical – is taking the necessary steps to make gaming on Ubuntu a seamless experience. They announced the launch of Steam as a Snap application in **April 2022** which is currently in 'early access'. - -![steam snap][3] - -Now, Canonical aims to elevate the gaming experience by letting users choose different Mesa graphics stacks effortlessly. - -### Easy Switch to Latest Mesa for Best Experience - -[Mesa][4] is an integral part of gaming on Linux, especially for AMD and Intel users. It is an open-source graphics stack that includes a range of graphics APIs like OpenGL and Vulkan to help run your favorite games. - -Since the Steam Snap bundles all the required dependencies and supports 32-bit libraries, users don't need to do anything manually to get things running. The Steam snap is containerized and isolated from the operating system. - -**But what about the Mesa graphics drivers?** - -For now, the Snap app installs the latest Mesa driver available in [oibaf's PPA repo][5] by default. You get the bleeding-edge drivers out of the box. But, you cannot change it quickly. - -In a [blog post][6] by Canonical, they mentioned some improvements to the Steam's snap app that makes this easy. - -It includes the introduction of **Content snaps** as an easier way to make use of Mesa drivers. - -Unlike regular dependencies, Content snaps are packaged separately from the main Steam snap. They can be utilized by other applications and thus prevent bloat or duplication. Moreover, they are also updated independently since they aren't directly bundled with the Steam snap. - -There are three Mesa driver stacks available - - -- **oibaf-latest** – Default bleeding-edge release -- **kisak-turtle**– Stable release -- **kisak-fresh** –  Latest point release, highly unstable - -Users can customize their Mesa stack by easily switching between them anytime. To play the latest games on the market, users may need to use the bleeding-edge release to avoid issues while gaming. On the other hand, the stable build should do for older titles. - -The blog post mentions: - -> This will enable users to choose their preferred Mesa track independently of the upgrade track of the Steam snap. - -So, users should be able to toggle between the available driver stacks. - -Sounds useful, isn't it? 😃 - -> 💡This feature is still being worked on and should be added to the stable channel soon along with Steam snap. As of now, it is available through the beta channel. - -### Thoughts?🤔 - -Snaps may not appeal to all Linux users due to some of their disadvantages. - -But gamers may find Steam as a snap quite helpful. The option to choose the preferred graphics stack should be very welcoming to users. Ubuntu seems to be taking gaming quite seriously. - -**Via:**[omg!ubuntu!][7] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/steam-snap-app-mesa/ - -作者:[Rishabh Moharir][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/rishabh/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/steam-snap-app-upgrade-for-gamers.png -[2]: https://store.steampowered.com/hwsurvey?platform=linux -[3]: https://news.itsfoss.com/content/images/2022/10/steam-snap.jpg -[4]: https://itsfoss.com/install-mesa-ubuntu/ -[5]: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers -[6]: https://canonical.com/blog/what-the-steam-snap-is-evolving -[7]: https://www.omgubuntu.co.uk/2022/10/canonicals-steam-snap-will-let-you-switch-between-different-mesa-stacks diff --git a/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md b/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md deleted file mode 100644 index b31ef4cc07..0000000000 --- a/sources/news/20221028.3 ⭐️ A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network" -[#]: via: "https://news.itsfoss.com/impervious-browser/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network -====== - -An open-source browser that promises P2P decentralized internet experience with bitcoin integration. - -![A New Web Browser For P2P Internet Experience With Secure Messaging and Bitcoin Lightning Network][1] - -P2P services for chat, video calls, and document editing are not yet mainstream. - -However, the idea for a P2P connection provides better control over the data and security and prevents censorship. - -Impervious browser is an exciting initiative that gives you access to P2P tools and a decentralized experience. The tools include: - -- **End-to-end encrypted chat.** -- **Encrypted P2P video and audio calls.** -- **Live Docs.** - -Additionally, it supports the [Bitcoin lightning network][2], which facilitates instant Bitcoin transactions. If you are a fan of cryptocurrency integrations, this could sound interesting, or it's just another fancy addition for most common users. - -### Impervious Browser: How Does it Work? - -Technically, the browser is a customized Mozilla Firefox experience. So, you can expect the same features and capabilities. - -The browser relies on Decentralized Identifiers (DIDs), i.e., decentralized digital IDs, to verify a person or connect with them. - -![impervious DID][3] - -Digital Identity - -You can find the DID from the settings, which you can share with anyone on the web to add you as a contact. - -Once you do that, you can send a message, initiate a video call, and collaborate with the live document feature for any work. - -![][4] - -Connection Request with a contact - -And this is what a conversation looks like: - -![][5] - -For users fond of Bitcoin transactions, you can utilize the Lightning network for super-fast payments while in a video call or message conversation. - -You need to connect to a lightning node to use the functionality. If you do not have one, Impervious supports creating a [Voltage Lightning Node][6]. - -I haven't tried it. So, if you are someone who uses cryptocurrency and appreciates the integration while collaborating with people through Impervious's P2P network, it should be a seamless experience. - -### Download Impervious - -> 💡Impervious is in the Alpha stage. You can download it but it may not work as you would expect. - -The Impervious browser is available for Linux and macOS (M1/Intel). They intend to release a Windows build soon. - -You can download the latest build from its [GitHub releases section][7] or head to its official website. - -[Impervious][8] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/impervious-browser/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/first-look-at-impervious-browser.png -[2]: https://lightning.network -[3]: https://news.itsfoss.com/content/images/2022/10/impervious-did.png -[4]: https://news.itsfoss.com/content/images/2022/10/impervious-connection-request.png -[5]: https://news.itsfoss.com/content/images/2022/10/impervious-browser-messages.png -[6]: https://voltage.cloud -[7]: https://github.com/imperviousai/imp-browser -[8]: https://www.impervious.ai diff --git a/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md b/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md deleted file mode 100644 index fb27469873..0000000000 --- a/sources/news/20221028.4 ⭐️ Oh No! Fedora 37 Release Gets Delayed.md +++ /dev/null @@ -1,63 +0,0 @@ -[#]: subject: "Oh No! Fedora 37 Release Gets Delayed" -[#]: via: "https://news.itsfoss.com/fedora-37-release-delay/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Oh No! Fedora 37 Release Gets Delayed -====== - -Fedora 37 release is getting delayed for a security fix. Here's what you should know about it. - -![Oh No! Fedora 37 Release Gets Delayed][1] - -The Fedora team usually targets an early release and a delayed date for their schedule. - -This time around, Fedora 37 is getting pushed back with an unexpected delay. From a release target date of 18th October to 25th October, and then 1st November. - -Now, we have to wait until **15 November 2022** to download Fedora 37 available. - -But why the delay? Isn't the testing complete for Fedora 37? What is the hold-up? - -> 💡**OpenSSL has announced a new version that addresses a critical security bug**. The new version is scheduled to release on November 1, 2022. - -Until the release, Fedora's team is unaware of the details regarding the security fix. It could be significant, so Red Hat recommends waiting for it before releasing Fedora 37. - -**Here's what Fedora's Program Manager mentions in a [blog post][2]:** - -> When a security issue is discovered, this information is often shared with the project confidentially. This allows the developers to fix the issue before more people know about it and can exploit it. Projects then share information with downstreams so they can be ready.Ironically, Fedora’s openness means we can’t start preparing ahead of time. All of our build pipelines and artifacts are open. If we were to start building updates, this would disclose the vulnerability before the embargo lifts. As a result, we only know that OpenSSL considers this the highest level of severity and Red Hat’s Product Security team strongly recommended we wait for a fix before releasing Fedora Linux 37. - -#### Time Needed to Test the Release Candidate With OpenSSL's New Version - -The developers need enough time to test Fedora 37's release candidate after they update the necessary package. - -While they could rush it, they intend to push a release only after they are confident about it: - -> The OpenSSL project team plans to publish the security fix about 48 hours before we’d make the go/no-go decision for an 8 November target. Factoring in time to build the updated openssl package and generate a release candidate, that gives us about a day and a half to do testing. That’s not enough time to be comfortable with a change to such an important package. - -Considering it is an important update, it is an excellent decision to test it and prepare it for release. - -Of course, the delay could be for nothing if the security fix is not a massive one. - -However, I believe it is better to have a release that provides a secure experience out of the box instead of having a vulnerable package. - -What do you think about Fedora 37 release being delayed? Share your thoughts in the comments down below. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/fedora-37-release-delay/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/fedora-37-delayed.png -[2]: https://fedoramagazine.org/fedora-linux-37-update/ diff --git a/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md b/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md deleted file mode 100644 index 9d9b361666..0000000000 --- a/sources/news/20221028.5 ⭐️ Zorin OS 16.2 Released, It's All About Useful Refinements.md +++ /dev/null @@ -1,116 +0,0 @@ -[#]: subject: "Zorin OS 16.2 Released, It's All About Useful Refinements" -[#]: via: "https://news.itsfoss.com/zorin-os-16-2-release/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Zorin OS 16.2 Released, It's All About Useful Refinements -====== - -Zorin OS 16.2 is a sweet upgrade with essential refinements across the board. - -![Zorin OS 16.2 Released, It's All About Useful Refinements][1] - -Zorin OS is one of the [most beautiful Linux distributions][2] based on the Ubuntu LTS releases. - -Not just limited to that, we think of it as one of the finest distros for beginners: - -The latest version, Zorin OS 16.2, is now available to download. - -### Zorin OS 16.2: What's New? - -There are several significant improvements, those include: - -- **Easier to install Windows apps** -- **Improved compatibility with Microsoft office documents** -- **Improved Zorin Connect** -- **GDevelop tool added to Zorin OS Education** - -> 💡The Zorin OS 16 series will get software updates and patches until April 2025. - -#### Easier to Install Windows Apps - -Zorin OS could already detect .exe files and guide you to install them on your distribution using Wine under the hood. - -Now, it gets easier. - -![zorin os windows app support menu][3] - -A new "**Windows App Support**" menu sits under the "**System Tools**" section. - -You can enable Windows app support through it. - -Along with the new menu, the database to detect Windows installer files has also expanded to guide you to a better user experience. - -For instance, launching Windows installers for Epic Games Store or GOG Galaxy directs you to install [Heroic Games Launcher][4]. - -![zorin os heroic games][5] - -### Office Experience Enhancements - -Zorin OS has added alternatives to popular proprietary fonts to improve compatibility with Microsoft Office documents. - -For example, [Carlito][6] is an alternative to Calibri (the default typeface in Office 365). - -### Zorin Connect Gets Better - -Zorin Connect is a valuable utility that helps you connect your mobile device to a Zorin OS-powered computer. - -It already offered a seamless experience. Now, you can view your computer's battery status on your phone, which should be handy for laptop users. - -The battery stats are available by default in Zorin OS 16.2. If you have an older version of Zorin OS, you should update the Zorin Connect app first. - -![zorin connect][7] - -Next, you need to navigate to the paired phone battery option in the Zorin Connect computer app and enable "**Share Statistics**". - -### GDevelop in Zorin OS Education - -![zorin os gdevelop][8] - -Zorin OS offers different editions for various users, and the education variant provides all the valuable tools to learners. - -[GDevelop][9] is a new tool to the list. It is a no-code game development software that reduces the learning curve for programming and helps boost creativity. - -### 🛠️ Other Improvements - -In addition to the highlights, other significant changes include: - -- Updated [LibreOffice 7.4][10] app with WebP support -- Updated applications and graphics drivers -- Added a maximize effect and refined physics for Jelly Mode -- Newer hardware compatibility - -### Download Zorin OS 16.2 - -You can upgrade to the latest version from the Software Updater. If it is a fresh installation, download the ISO from its official website. - -[Zorin OS 16.2][11] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/zorin-os-16-2-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/content/images/size/w1200/2022/10/zoring-os-16-2-release.jpg -[2]: https://itsfoss.com/beautiful-linux-distributions/ -[3]: https://news.itsfoss.com/content/images/2022/10/zorin-os-16-2-menu.jpg -[4]: https://github.com/Heroic-Games-Launcher -[5]: https://news.itsfoss.com/content/images/2022/10/heroic-epic-zorin-os-16-2.png -[6]: https://www.fontsquirrel.com/fonts/carlito -[7]: https://news.itsfoss.com/content/images/2022/10/zorin-connect-battery-share-statistics.png -[8]: https://news.itsfoss.com/content/images/2022/10/gdevelop.jpg -[9]: https://gdevelop.io -[10]: https://news.itsfoss.com/libreoffice-7-4-release/ -[11]: https://zorin.com/os/download/ From e8956f71a33da0b83095487f37c60af013f17b70 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 10:39:54 +0800 Subject: [PATCH 240/925] =?UTF-8?q?=E8=B6=85=E6=9C=9F=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @FelixYFZ @HankChow @yjacks --- .../20210709 What you need to know about security policies.md | 2 +- ...06 How to send raw network packets in Python with tun-tap.md | 2 +- ...manager Virtual Machine Manager in Ubuntu and Other Linux.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/tech/20210709 What you need to know about security policies.md b/sources/tech/20210709 What you need to know about security policies.md index 2e94785530..12289bea9b 100644 --- a/sources/tech/20210709 What you need to know about security policies.md +++ b/sources/tech/20210709 What you need to know about security policies.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/7/what-security-policy) [#]: author: (Chris Collins https://opensource.com/users/clcollins) [#]: collector: (lujun9972) -[#]: translator: (FelixYFZ ) +[#]: translator: ( ) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) diff --git a/sources/tech/20220906 How to send raw network packets in Python with tun-tap.md b/sources/tech/20220906 How to send raw network packets in Python with tun-tap.md index f7f5e863bf..836dff1842 100644 --- a/sources/tech/20220906 How to send raw network packets in Python with tun-tap.md +++ b/sources/tech/20220906 How to send raw network packets in Python with tun-tap.md @@ -2,7 +2,7 @@ [#]: via: "https://jvns.ca/blog/2022/09/06/send-network-packets-python-tun-tap/" [#]: author: "Julia Evans https://jvns.ca/" [#]: collector: "lujun9972" -[#]: translator: "HankChow" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " diff --git a/sources/tech/20220910 How to Install and Use virt-manager Virtual Machine Manager in Ubuntu and Other Linux.md b/sources/tech/20220910 How to Install and Use virt-manager Virtual Machine Manager in Ubuntu and Other Linux.md index 637044c34a..1712b69513 100644 --- a/sources/tech/20220910 How to Install and Use virt-manager Virtual Machine Manager in Ubuntu and Other Linux.md +++ b/sources/tech/20220910 How to Install and Use virt-manager Virtual Machine Manager in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/virt-manager/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: "yjacks" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 8baf7b8415868a8b6178bbd0aae88fc6f8762d08 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 11:28:43 +0800 Subject: [PATCH 241/925] ALL @wxy https://linux.cn/article-15203-1.html --- ...OS More Than Just Vanilla GNOME With Ubuntu.md | 136 ++++++++++++++++++ ...OS More Than Just Vanilla GNOME With Ubuntu.md | 132 ----------------- 2 files changed, 136 insertions(+), 132 deletions(-) create mode 100644 published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md delete mode 100644 sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md diff --git a/published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md b/published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md new file mode 100644 index 0000000000..21a78e56a3 --- /dev/null +++ b/published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md @@ -0,0 +1,136 @@ +[#]: subject: "Vanilla OS: More Than Just Vanilla GNOME With Ubuntu" +[#]: via: "https://news.itsfoss.com/vanilla-os-beta/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15203-1.html" + +Vanilla OS:不只是原味 GNOME 的 Ubuntu +====== + +> Vanilla OS 是建立在 GNOME 上的、具有按需不变性和软件包选择自由的 Ubuntu。听起来很有趣?在这里阅读更多信息。 + +![Vanilla OS:不仅仅是原味 GNOME 的 Ubuntu][1] + +这正是我第一次接触 Vanilla OS 时的想法。 + +当 [Bottles][2] 的创建者 **Mirko Brombin** 在 Twitter 上宣布它时,让我对它产生了兴趣 😎。 + +我加入了他们的 Discord 频道并成为了一名测试者。虽然我没有做出什么贡献,但关注项目发展是很有趣的。 + +回到至关重要的问题上:**什么是 Vanilla OS?** + +**Vanilla OS 的目标是提供一个干净、原味的 GNOME 体验,并具有按需不变性的能力。** + +听起来很有趣?让我告诉你我试了试它的第一个开放测试版本后的一些细节。 + +> 💡 Vanilla OS 计划在 11 月有一个稳定的版本。 +> +> 它将跟随 Ubuntu 的小版本发布。 +> +> 因此,你可以期待每年发布**两个版本**。例如,你可以从 Ubuntu 22.04 升级到 Ubuntu 22.10 甚至更之后的版本。 +> +> 除非你知道自己在做什么,否则你不应该把它作为日常系统来使用。 + +### Vanilla OS:又一个基于 Ubuntu 的发行版? + +![vanilla os home][3] + +**是,也不是**。 + +对于初学者来说,我认为有以下独特的理由可以尝试一下: + +- 在 Ubuntu 之上获得 **原装 GNOME 体验**。(Fedora 也是一个很好的选择,但并不适合所有人!) +- 在其安装后的首次设置时,**允许你选择并启用 Flatpak/Snap/AppImage**。 +- **按需不变性**,意味着你可以使系统变成只读,以防止来自第三方应用程序和更新的关键变化。 +- **一个新的软件包管理器**(apx)允许你默认在管理的容器内安装软件包。 + +首次设置过程的体验很轻松。 + +> ℹ️ 目前,它使用 Calamares 安装程序。他们打算用 Crystal Linux 中使用的 Jade 取代它。 + +![Vanilla OS 安装程序][4] + +越来越多的发行版投身于此;我相信更多的用户会乐意加入到 Linux 中来。 + +![][5] + +*Vanilla OS 对软件包管理器的选择* + +当然,像 Ubuntu MATE 和 Pop!_OS 这样的发行版已经付出了巨大的努力,而 Vanilla OS 也为此增加了一些改进。 + +![Vanilla OS 颜色选择][6] + +这看起来是一种漂亮的体验!😊 + +一旦你完成了首次设置,你就没有什么可担心的了。你会得到通常的 GNOME 桌面,以及由 **Patrik Kramolis** 制作的漂亮的壁纸。 + +![Vanilla OS 主页][7] + +接下来,我试着检查了按需不变性,你可以用以下命令查看和调整: + +![Vanilla OS 终端][8] + +你可以在 [GitHub][9] 上了解更多这个(基本上)使之成为可能的工具。 + +接下来,看看新的软件包管理器,我喜欢 Distrobox 的底层概念,使其与 apx 成为可能。 + +Distrobox 的创建者 **Luca di Maio** 也参与了 Vanilla OS 的开发。 + +不过,当用 apx 安装一个软件包时,你需要用命令来初始化容器: + +``` +apx init +``` + +如果它能自动完成,那就更直观了。 + +![Vanilla OS apx][10] + +当然,我不知道技术上的限制。但是,对于用户端来说会感觉更顺滑! + +总的来说,一个利用容器安装应用程序的软件包管理器、获得选择你的软件包管理器的能力、按需不变性,以及原味的 GNOME 使它看起来是一个值得关注的好东西。 + +### 前面的路:第一印象 + +我觉得,一旦它进入稳定版,它就会成为我的日常使用系统。 + +**原因是**:我总是喜欢原装的 GNOME 体验,而且不需要处理 Fedora 的定期升级。 + +当然,等我使用了稳定版之后,我可以给你写一篇整体的用户体验评判。 + +在那之前,我想说这是一个我相信很多用户都会喜欢的项目 👏。 + +目前,你可以通过加入其 Discord 频道来下载 ISO。该 ISO 还没有公开向所有人提供。如果你感兴趣,可以看看它的 [文档][11]。 + +> **[Vanilla OS][12]** + +然而,按照路线图,他们计划很快就会有一个候选版本。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vanilla-os-beta/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/first-look-at-vanilla-os.jpg +[2]: https://usebottles.com +[3]: https://news.itsfoss.com/content/images/2022/10/vanillaos.jpg +[4]: https://news.itsfoss.com/content/images/2022/10/vanillaos-installer.jpg +[5]: https://news.itsfoss.com/content/images/2022/10/choosing-package-vanillaos.png +[6]: https://news.itsfoss.com/content/images/2022/10/vanilla-os-first-setup.png +[7]: https://news.itsfoss.com/content/images/2022/10/vanillaos-wallpaper.jpg +[8]: https://news.itsfoss.com/content/images/2022/10/Screenshot-from-2022-10-25-12-54-29.png +[9]: https://github.com/Vanilla-OS/almost +[10]: https://news.itsfoss.com/content/images/2022/10/apx-install.jpg +[11]: https://documentation.vanillaos.org +[12]: https://vanillaos.org/roadmap diff --git a/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md b/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md deleted file mode 100644 index 13f4fd9dda..0000000000 --- a/sources/news/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md +++ /dev/null @@ -1,132 +0,0 @@ -[#]: subject: "Vanilla OS: More Than Just Vanilla GNOME With Ubuntu" -[#]: via: "https://news.itsfoss.com/vanilla-os-beta/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Vanilla OS: More Than Just Vanilla GNOME With Ubuntu -====== - -Vanilla OS is Ubuntu on stock GNOME with on-demand immutability and package selection freedom. Sounds fun? Read more here. - -![Vanilla OS: More Than Just Vanilla GNOME With Ubuntu][1] - -That was precisely my thought when I first came across Vanilla OS. - -When**Mirko Brombin**, the creator of [Bottles][2], announced it on Twitter, that had me interested in it 😎 - -I joined their Discord channel and hopped in to become a tester. While I did not point out anything new that other testers already did, keeping an eye on the project development is fun. - -Back to the vital question: **What is Vanilla OS?** - -**Vanilla OS aims to offer a clean vanilla GNOME experience with on-demand immutability.** - -Sounds interesting? Let me tell you a few details about it while I give its first open beta build a try. - -> 💡Vanilla OS plans to have a stable release in November. It will follow Ubuntu point releases. So, you can expect **two releases per year**. For example, you can upgrade from Ubuntu 22.04 to Ubuntu 22.10 and further. You should not replace it as a daily driver unless you know what you are doing. - -### Vanilla OS: Yet Another Ubuntu-based Distro? - -![vanilla os home][3] - -**Yes and no.** - -For starters, I see the following unique reasons to give it a try: - -- To get a **stock GNOME experience** on top of Ubuntu. (Fedora is an excellent option too, but not for everyone!) -- **Allows you to choose and enable Flatpak/Snap/AppImage** with its first-time setup after installation. -- **On-demand immutability**, meaning you can make the system read-only to prevent critical changes from third-party applications and updates. -- **A new package manager** (apx) allows you to install packages inside a managed container by default. - -The first-time setup process is a breeze to experience. - -> ℹ️Currently, it uses the Calamares installer. They intend to replace it with Jade, used in **Crystal Linux**. - -![vanilla os installer][4] - -The more distributions do things like this; I believe more users would be happy to get on board with Linux. - -![][5] - -Vanilla OS Package Manager Selection - -Of course, distributions like Ubuntu MATE and Pop!_OS have already put in great efforts, and Vanilla OS also adds some improvement to the table. - -![Vanilla os color selection][6] - -It looks like a pretty experience! 😊 - -Once you finish the first-time setup,  you have nothing else to worry about. You get the usual GNOME desktop with nice wallpapers out of the box by **Patrik Kramolis.** - -![vanilla os home][7] - -Image Credits: Mirko Brombin - -Next, I tried checking the on-demand immutability, which you can see and tweak using the following commands: - -![vanilla OS terminal][8] - -You can explore more about the utility (almost) that makes this possible on [GitHub][9]. - -Next, coming to the new package manager, I like the concept of distrobox under the hood, making this possible with apx. - -The Distrobox creator **Luca di Maio** is also involved in developing Vanilla OS. - -However, when installing a package with apx, you need to initialize the container using the command: - -``` -apx init -``` - -If it had done it automatically, I would call it intuitive. - -![vanilla os apx][10] - -Of course, I'm not aware of the technical limitations. But, for the user end, that would feel seamless! - -Overall, a package manager that installs applications utilizing a container, getting the ability to choose your package managers, on-demand immutability, and vanilla GNOME make it seem like a good deal to keep an eye on. - -### The Road Ahead: First Impressions - -I can see it as my daily driver once it hits the stable release. - -**The reason is**: I always like the stock GNOME experience, and I do not have to deal with Fedora's regular upgrades. - -Of course, once I get to use the stable release, I can give you a verdict on the entire user experience. - -Until then, I'd say it is a project that I believe a lot of users will appreciate 👏 - -You can download the ISO by joining its Discord channel for now. The ISO is not yet publicly available to all. Take a look at its [documentation][11] if you are curious. - -[Vanilla OS][12] - -However, as per the roadmap, they plan to have a release candidate soon enough. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/vanilla-os-beta/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/first-look-at-vanilla-os.jpg -[2]: https://usebottles.com -[3]: https://news.itsfoss.com/content/images/2022/10/vanillaos.jpg -[4]: https://news.itsfoss.com/content/images/2022/10/vanillaos-installer.jpg -[5]: https://news.itsfoss.com/content/images/2022/10/choosing-package-vanillaos.png -[6]: https://news.itsfoss.com/content/images/2022/10/vanilla-os-first-setup.png -[7]: https://news.itsfoss.com/content/images/2022/10/vanillaos-wallpaper.jpg -[8]: https://news.itsfoss.com/content/images/2022/10/Screenshot-from-2022-10-25-12-54-29.png -[9]: https://github.com/Vanilla-OS/almost -[10]: https://news.itsfoss.com/content/images/2022/10/apx-install.jpg -[11]: https://documentation.vanillaos.org -[12]: https://vanillaos.org/roadmap From 071db72051f1e9b955891dfc53dd1d56f62aa17a Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Wed, 2 Nov 2022 14:04:06 +0800 Subject: [PATCH 242/925] translated --- ... essential Linux commands for beginners.md | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 translated/tech/20220524 12 essential Linux commands for beginners.md diff --git a/translated/tech/20220524 12 essential Linux commands for beginners.md b/translated/tech/20220524 12 essential Linux commands for beginners.md new file mode 100644 index 0000000000..38805ec653 --- /dev/null +++ b/translated/tech/20220524 12 essential Linux commands for beginners.md @@ -0,0 +1,189 @@ +[#]: subject: "12 essential Linux commands for beginners" +[#]: via: "https://opensource.com/article/22/5/essential-linux-commands" +[#]: author: "Don Watkins https://opensource.com/users/don-watkins" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +新手教程:12 个重要的 Linux 命令 +====== +我向所有的 Linux 初学者推荐以下这些命令。 + +![Command line prompt][1] + +在使用 Linux 命令行时,很容易就会迷失方向,这可能会导致灾难性的后果:我有一次使用 删除命令 `rm` command 删除文件,然而删除之后我才意识到我刚刚是删除了计算机的引导目录。后来,我学会了使用 `pwd` 命令,来知道当前在文件系统的哪个目录下;并且我使用了 [trashy 和 trash-cli][2] 这一命令行回收站工具,在删除文件时 trash-cli 会充当中间人,将文件先“删除”到桌面上的垃圾箱中,能够通过垃圾箱或通过终端的 `trash` 命令,来恢复垃圾箱中已删除的文件。 + +当我刚开始使用 Linux 时,我有一个放在桌子上的“作弊小抄”,它就是 *《101 条你应该知道的 Linux 命令》* 101 commands for Linux ,我在管理 Linux 服务器时能参考“作弊小抄”上面的这些命令。随着我越来越熟悉这些命令,我越来越精通服务器管理了。 + +以下是我认为最有用的 12 个 Linux 命令。 + +### 1. 打印工作目录(pwd) + +`pwd` 命令会打印出你的工作目录。换句话来说,它输出你当前所在目录的路径。`pwd` 命令有两种选项:`-L`(即逻辑路径 logical) 用来打印当前的目录路径(不考虑符号链接),`-P` (即物理路径 physical)会解析符号链接,并打印出物理目录。你可以进一步阅读我们翻译的 [另一篇文章](https://linux.cn/article-4356-1.html) + +### 2. 创建目录(mkdir) + +使用 `mkdir` 命令来创建一个新目录,是非常容易的。以下命令,创建了一个名为 `example` 目录(若 `example` 已存在,则无法创建): + +``` +$ mkdir example +``` + +你也可以在嵌套地创建目录及其子目录: + +``` +$ mkdir -p example/one/two +``` + +如果目录 `example` 和目录 `one` 都已存在,则仅会创建目录 `two`。如果上述目录都不存在,则会创建三个嵌套目录。 + +### 3. 列出文件(ls) + +我最早使用的是 MS-DOS(微软磁盘操作系统),因此我习惯于使用 `dir` 命令,来列出文件。我不记得当时是否能在 Linux 上使用 `dir` 命令,但是如今 `dir` 命令已经包含在 GNU 核心实用程序包 GNU Core Utilities package 中了。大多数人会使用 `ls` 命令,来显示目录中的文件及其所有的属性。`ls` 命令有许多选项,包括 `-l` 查看文件的长列表,显示文件所有者和权限等信息。 + +### 4. 更改当前工作目录(cd) + +在 Linux 中经常要更改当前工作目录,这就是 `cd` 命令的功能。例如,以下的示例将让你从 主目录 home 进入 `Documents` 目录: + +``` +$ cd Documents +``` + +你可以使用 `cd ~`或者`cd`,来快速转换到你的 主目录 home 。你可以使用 `cd ..` 来返回到上一级目录。 + +### 5. 删除文件(rm) + +删除文件是很危险的,因为在 Linux 终端上用 `rm` 命令会**彻底地**删除文件,并没有像桌面的垃圾桶那样依旧保存着删除的文件。许多终端用户有一个坏习惯,他们会永久地删除他们认为不再需要的文件。然而,因为没有“取消删除”命令,这个坏习惯可能会导致严重的问题:你会不小心删除了包含重要数据的目录。 + +Linux 系统为文件删除提供了 `rm` 和 `shred` 命令。要删除文件 `example.txt`,请输入以下内容: + +``` +$ rm example.txt +``` + +然而,使用 trash 命令要安全得多,例如[trashy][3] 或者 [trash-cli][4],它会将文件先“删除”到桌面上的垃圾箱中: + +``` +$ trash example.txt +``` + +关于 Trash-Cli 的更多信息可以参考我们翻译的 [另一篇文章](https://linux.cn/article-10029-1.html)。 + +### 6. 复制文件(cp) + +使用 `cp` 命令,来复制文件。`cp` 的语法是从*旧文件*复制到*新文件*。这里有一个例子: + +``` +$ cp file1.txt newfile1.txt +``` + +你也可以复制整个目录: + +``` +$ cp -r dir1 newdirectory +``` + +### 7. 移动并重命名文件(mv) + +重命名和移动文件在功能上是相同的过程。当你移动文件时,从一个目录中取出一个文件,并将其放入一个新目录中;当你重命名文件时,将一个目录中的文件更改为新名称,并放回到同一目录或另一个目录下。无论是重命名还是移动文件,你都可以使用 `mv` 命令: + +``` +$ mv file1.txt file_001.txt +``` + +### 8. 创建一个空文件(touch) + +使用 `touch` 命令可以简单地创建一个空文件: + +``` +$ touch one.txt + +$ touch two.txt + +$ touch three.md +``` + +### 9. 更改权限(chmod) + +使用 `chmod` 命令,来更改文件的权限。`chmod` 最常见的用途是让文件能够执行: + +``` +$ chmod +x myfile +``` + +以下的示例展示了如何用 `chmod` 命令给文件赋予权限,这对于脚本来说特别方便。尝试一下这个简单的练习吧: + +``` +$ echo 'echo Hello $USER' > hello.sh + +$ chmod +x hello.sh + +$ ./hello.sh +Hello, Don +``` + +### 10. 提升为 root 权限(sudo) + +在管理自己的 Linux 系统时,可能需要提升为超级用户(也称为 root),这就是 `sudo`(即 *super user do*)命令的来源。假设你想要做一些只有管理员(或 root 用户)才能做的事情,只需在命令前加一个 `sudo` 即可: + +``` +$ touch /etc/os-release && echo "Success" +touch: cannot touch '/etc/os-release': Permission denied + +$ sudo touch /etc/os-release && echo "Success" +Success +``` + +### 11. 关机(poweroff) + +`poweroff` 命令的功能和它的字面意思一样:把你的计算机关机。需要在 `poweroff` 前面加一个 `sudo` 才能成功关机。 + +实际上,还有很多方法可以关闭你的计算机,这些方法有略微的不同。例如,`shutdown` 命令会在指定的时间(例如 60 秒)后关闭计算机: + +``` +$ sudo shutdown -h 60 +``` + +Or immediately: +或者立即关闭计算机: + +``` +$ sudo shutdown -h now +``` + +你也可以用 `sudo shutdown -r now` 或者 `reboot` 来重启计算机。 + +### 12. 阅读手册(man) + +`man` 命令可能是 Linux 中最重要的命令了,你可以通过 `man` 命令查看 Linux 系统上每个命令的官方文档。例如,要阅读更多有关 `mkdir` 的信息,可以输入: + +``` +$ man mkdir +``` + +一个与 `man` 相关的命令是 `info` 命令,它提供了一组不同的手册,它通常会提供比简洁的 `man` 页面更详细一点的内容。 + +### 你最喜欢的 Linux 命令是什么? + +There are many more commands on a Linux system—hundreds! What's your favorite command, the one you find yourself using time and time again? +Linux 系统上还有数百个其他命令!你最喜欢使用的 Linux 命令是什么呢?什么命令是你一直反复使用的呢? + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/5/essential-linux-commands + +作者:[Don Watkins][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/don-watkins +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/command_line_prompt.png +[2]: https://www.redhat.com/sysadmin/recover-file-deletion-linux +[3]: https://gitlab.com/trashy/trashy +[4]: https://github.com/andreafrancia/trash-cli From 858574caa8d6cf3ac1318ca585d64e2eafe5b272 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Wed, 2 Nov 2022 14:08:20 +0800 Subject: [PATCH 243/925] remove the article in source/tech --- ... essential Linux commands for beginners.md | 187 ------------------ 1 file changed, 187 deletions(-) delete mode 100644 sources/tech/20220524 12 essential Linux commands for beginners.md diff --git a/sources/tech/20220524 12 essential Linux commands for beginners.md b/sources/tech/20220524 12 essential Linux commands for beginners.md deleted file mode 100644 index 4fe7b342b8..0000000000 --- a/sources/tech/20220524 12 essential Linux commands for beginners.md +++ /dev/null @@ -1,187 +0,0 @@ -[#]: subject: "12 essential Linux commands for beginners" -[#]: via: "https://opensource.com/article/22/5/essential-linux-commands" -[#]: author: "Don Watkins https://opensource.com/users/don-watkins" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -12 essential Linux commands for beginners -====== -I recommend these commands to anyone who is getting started with Linux. - -![Command line prompt][1] - -Image by: Opensource.com - -When operating on the Linux command line, it is easy to get disoriented, which can have disastrous consequences. I once issued a remove command before realizing that I'd moved the boot directory of my computer. I learned to use the `pwd` command to know exactly which part of the file system I was in (and these days, there are command projects, like [trashy and trash-cli][2], that serve as intermediates when removing files). - -When I was new to Linux, I had a cheat sheet that hung over my desk to help me remember those commands as I managed my Linux servers. It was called the *101 commands for Linux* cheat sheet. As I became more familiar with these commands, I became more proficient with server administration. - -Here are 12 Linux commands I find most useful. - -### 1. Print working directory (pwd) - -The `pwd` command prints your working directory. In other words, it outputs the path of the directory you are currently working in. There are two options: `--logical` to display your location with any symlinks and `--physical` to display your location after resolving any symlinks. - -### 2. Make directory (mkdir) - -Making directories is easy with the `mkdir` command. The following command creates a directory called `example` unless `example` already exists: - -``` -$ mkdir example -``` - -You can make directories within directories: - -``` -$ mkdir -p example/one/two -``` - -If directories `example` and `one` already exist, only directory `two` is created. If none of them exist, then three nested directories are created. - -### 3. List (ls) - -Coming from MS-DOS, I was used to listing files with the `dir` command. I don't recall working on Linux at the time, although today, `dir` is in the GNU Core Utilities package. Most people use the `ls` command to display the files, along with all their properties, are in a directory. The `ls` command has many options, including `-l` to view a long listing of files, displaying the file owner and permissions. - -### 4. Change directory (cd) - -It is often necessary to change directories. That's the `cd` command's function. For instance, this example takes you from your home directory into the `Documents` directory: - -``` -$ cd Documents -``` - -You can quickly change to your home directory with `cd ~` or just `cd` on most systems. You can use `cd ..` to move up a level. - -### 5. Remove a file (rm) - -Removing files is inherently dangerous. Traditionally, the Linux terminal has no Trash or Bin like the desktop does, so many terminal users have the bad habit of permanently removing data they believe they no longer need. There's no "un-remove" command, though, so this habit can be problematic should you accidentally delete a directory containing important data. - -A Linux system provides `rm` and `shred` for data removal. To delete file `example.txt`, type the following: - -``` -$ rm example.txt -``` - -However, it's much safer to install a trash command, such as [trashy][3] or [trash-cli][4]. Then you can send files to a staging area before deleting them forever: - -``` -$ trash example.txt -``` - -### 6. Copy a file (cp) - -Copy files with the `cp` command. The syntax is copy *from-here* *to-there*. Here's an example: - -``` -$ cp file1.txt newfile1.txt -``` - -You can copy entire directories, too: - -``` -$ cp -r dir1 newdirectory -``` - -### 7. Move and rename a file (mv) - -Renaming and moving a file is functionally the same process. When you move a file, you take a file from one directory and put it into a new one. When renaming a file, you take a file from one directory and put it back into the same directory or a different directory, but with a new name. Either way, you use the `mv` command: - -``` -$ mv file1.txt file_001.txt -``` - -### 8. Create an empty file (touch) - -Easily create an empty file with the `touch` command: - -``` -$ touch one.txt - -$ touch two.txt - -$ touch three.md -``` - -### 9. Change permissions (chmod) - -Change the permissions of a file with the `chmod` command. One of the most common uses of `chmod` is making a file executable: - -``` -$ chmod +x myfile -``` - -This example is how you give a file permission to be executed as a command. This is particularly handy for scripts. Try this simple exercise: - -``` -$ echo 'echo Hello $USER' > hello.sh - -$ chmod +x hello.sh - -$ ./hello.sh -Hello, Don -``` - -### 10. Escalate privileges (sudo) - -While administering your system, it may be necessary to act as the super user (also called root). This is where the `sudo` (or *super user do*) command comes in. Assuming you're trying to do something that your computer alerts you that only an administrator (or root) user can do, just preface it with the command `sudo` : - -``` -$ touch /etc/os-release && echo "Success" -touch: cannot touch '/etc/os-release': Permission denied - -$ sudo touch /etc/os-release && echo "Success" -Success -``` - -### 11. Shut down (poweroff) - -The `poweroff` command does exactly what it sounds like: it powers your computer down. It requires `sudo` to succeed. - -There are actually many ways to shut down your computer and some variations on the process. For instance, the `shutdown` command allows you to power down your computer after an arbitrary amount of time, such as 60 seconds: - -``` -$ sudo shutdown -h 60 -``` - -Or immediately: - -``` -$ sudo shutdown -h now -``` - -You can also restart your computer with `sudo shutdown -r now` or just `reboot`. - -### 12. Read the manual (man) - -The `man` command could be the most important command of all. It gets you to the documentation for each of the commands on your Linux system. For instance, to read more about `mkdir` : - -``` -$ man mkdir -``` - -A related command is `info`, which provides a different set of manuals (as long as they're available) usually written more verbosely than the often terse man pages. - -### What's your favorite Linux command? - -There are many more commands on a Linux system—hundreds! What's your favorite command, the one you find yourself using time and time again? - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/5/essential-linux-commands - -作者:[Don Watkins][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/don-watkins -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/command_line_prompt.png -[2]: https://www.redhat.com/sysadmin/recover-file-deletion-linux -[3]: https://gitlab.com/trashy/trashy -[4]: https://github.com/andreafrancia/trash-cli From 463b855c83bd83f515501bd394dda305d6ba3242 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 16:20:34 +0800 Subject: [PATCH 244/925] RP @geekpi https://linux.cn/article-15205-1.html --- ... to Install Viber in Ubuntu and Other Linux.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md (74%) diff --git a/translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md b/published/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md similarity index 74% rename from translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md rename to published/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md index 2c972b0998..79097920ba 100644 --- a/translated/tech/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md +++ b/published/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md @@ -3,18 +3,20 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15205-1.html" -如何在 Ubuntu 和其他 Linux 中安装 Viber +如何在 Ubuntu 中安装 Viber ====== -**这是有关如何在 Ubuntu 和其他 Linux 系统中安装 Viber 的快速指南。** +![](https://img.linux.net.cn/data/attachment/album/202211/02/161951egly6ylguc6g0w5g.jpg) -[Viber][1] 是一个免费、安全的呼叫和聊天程序,适用于所有流行的移动平台和操作系统。 +> 这是在 Ubuntu 和其他 Linux 系统中安装 Viber 的快速指南。 -它具有丰富的功能,例如语音/视频通话、带有 GIF 的文本消息、贴纸、照片和视频。此外,Viber 还具有群聊、群呼和消失消息功能。 +[Viber][1] 是一个免费、安全的通话和聊天程序,适用于所有流行的移动平台和操作系统。 + +它具有丰富的功能,例如语音/视频通话、支持 GIF 的文本消息、贴纸、照片和视频。此外,Viber 还具有群聊、群呼和消失消息功能。 Viber 是一个闭源程序,但有免费的 Linux 原生可执行客户端。 @@ -24,24 +26,23 @@ Viber 是一个闭源程序,但有免费的 Linux 原生可执行客户端。 它以 AppImage 可执行文件、deb 和 rpm 包的形式提供。按照下面的相应按钮直接下载。平均可执行文件大小约为 180MB。 -[下载适用于所有 Linux 发行版的 Appimage][2] +> **[下载适用于所有 Linux 发行版的 Appimage][2]** -[适用于 Ubuntu 的 Deb 可执行文件][3] +> **[适用于 Ubuntu 的 Deb 可执行文件][3]** -[Fedora 的 RPM 包][8] +> **[Fedora 的 RPM 包][8]** 如果你已下载 AppImage,只需从任意文件管理器将权限更改为可执行文件即可。然后运行。 +对于 Ubuntu、Linux Mint、Debian 和相关发行版,你可以通过[多种方法][4]安装 deb 包。 -- 对于 Ubuntu、Linux Mint、Debian 和相关发行版,你可以通过[多种方法][4]安装 deb 包。 - -- 你可以通过已安装的软件管理器双击打开。或者通过 dpkg 命令安装,如下所示。 +你可以通过已安装的软件管理器双击打开。或者通过 `dpkg` 命令安装,如下所示。 ``` sudo dpkg -i viber.deb ``` -- 对于 Fedora 和基于 RPM 的软件包,你可以通过以下命令安装。 +对于 Fedora 和基于 RPM 的软件包,你可以通过以下命令安装。 ``` sudo dnf localinstall viber.rpm @@ -75,7 +76,7 @@ via: https://www.debugpoint.com/install-viber-linux/ 作者:[Arindam][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/) 荣誉推出 From 514990fd655fa3ea02d8c656ec0e7a10ea25c828 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 22:08:15 +0800 Subject: [PATCH 245/925] RP @cool-summer-021 https://linux.cn/article-15206-1.html --- ... My top 5 tips for setting up Terraform.md | 77 +++++++++++++++++++ ... My top 5 tips for setting up Terraform.md | 75 ------------------ 2 files changed, 77 insertions(+), 75 deletions(-) create mode 100644 published/20210811 My top 5 tips for setting up Terraform.md delete mode 100644 translated/tech/20210811 My top 5 tips for setting up Terraform.md diff --git a/published/20210811 My top 5 tips for setting up Terraform.md b/published/20210811 My top 5 tips for setting up Terraform.md new file mode 100644 index 0000000000..0b109a9db6 --- /dev/null +++ b/published/20210811 My top 5 tips for setting up Terraform.md @@ -0,0 +1,77 @@ +[#]: subject: "My top 5 tips for setting up Terraform" +[#]: via: "https://opensource.com/article/21/8/terraform-tips" +[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma" +[#]: collector: "lujun9972" +[#]: translator: "cool-summer-021" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15206-1.html" + +关于配置 Terraform 的五条建议 +====== + +> 本文介绍我使用 Terraform 五年之后吸取到的经验。 + +![](https://img.linux.net.cn/data/attachment/album/202211/02/220728ngg0kzjg0rldu0l7.jpg) + +使用 Terraform 五年的经历让我吸取到一些重要经验。无论团队大小、项目性质,有五条要点对于配置合乎逻辑且可用的 Terraform 平台至关重要。 + +### 1、了解你的目标受众 + +这一点似乎显而易见,但我也见过一些在这方面犯错的案例。当组织和规划 Terraform 的相关代码时,无论是将目录结构标准化还是确定命名规范,考虑目标受众是非常重要的。例如:你的团队是否会使用这些 Terraform 脚本和模块?你是否会向其他团队交接工作?你的团队是否会有新成员加入?你是否正在独自进行项目开发?你是否会半年或一年后仍然使用这些配置,还是会将它安排给别人? + +这类问题会影响某些决策。理想情况下,无论如何都应该有 [远程状态][2]Remote State[状态锁定][3]State Locking 两种状态。远程状态确保你的笔记本电脑不是你的 Terraform 唯一运行的机器,状态锁定确保同一时刻只有一个人对基础设施进行修改操作。 + +命名规范应该对项目的最终拥有者有意义,而不是只对开发团队有意义。如果项目会转交给其他团队,应该确保他们对命名规范有发言权。如果代码由非技术的利益相关者或内部安全/ GCR 团队负责审查,应该确保他们会检查命名规范。另外,对于资源名称,为了让代码审查人员更仔细地进行检查,你应该使用资源标签,把有关的数据分类/隐私需求(高、中、低)标示出来。 + +### 2、重用,重用,重用 + +[Terraform 注册表][4] 为大多数普通用例提供了现成模块类库。我已经使用过 VPC 模块和安全模块中的大量功能,这些功能只需要提供相关的参数就能使用。使用不同的参数,简单调用这些模块对于处理大部分用例已经足够了。尽可能多地重用这些公共模块,可以避免大量且重复的编码、测试、检查、修复、重构等操作。 + +我也发现,基于使用或变更的频率划分模块和资源大有好处。例如,只使用一次的基础设施手脚架,例如 VPC 相关设置、安全模块、路由表、VPC 端点等,可以放在一起。但是像私有托管域条目、自动伸缩模块、目标模块、负载均衡器等,每次部署时都会变化,所以把这些与一次性的基础设施手脚架分离开来,会令代码检查更方便,调试更快速。 + +### 3、要明确,而非隐含 + +Terraform 代码中有一些常见的模式,它会导致设计中出现错误的假设。团队可以假设用来写代码的 Terraform 版本永远保持不变,外部模块不会变化,或它们使用的提供者不会变更。当这些外部依赖不可避免地发生变化时,就会导致一些难以发现的问题。 + +无论何处(包括主要的 Terraform 组、提供者组、功能模块组)都要确保定义是明确的。事先定义版本,可以确保依赖库是固定的,因此你可以在讨论、审查、测试后,明明白白地更新依赖关系。 + +### 4、自动化每一处,包括笔记本电脑、共享虚拟机、CI/CD。 + +在部署的各个阶段使用自动化方法,可以避免可能发生的问题。 + +在你提交代码前,使用 [Git 预提交钩子][5] 运行 `terraform fmt` 和 `terraform validate`。预提交钩子的作用是确保你的代码满足最低程度的格式和语法正确。把这个预提交文件检入到仓库,对你的团队成员都有好处。项目的第一步就进行质量控制相关的操作,它虽然表面上是小事一桩,但也很重要,能为项目节省大量时间。 + +一切现代化部署工具都有 CI 流程。当你向原始仓库推送代码时,可以使用它来运行 SAST 和单元测试工具。我写过一篇 [博客][6],是关于使用 Checkov 测试 Terraform 代码的安全性和合规性,并为组织特定的惯例创建自定义检查。把这些单元测试工具加入到你的 CI 管道,可以改进代码质量和健壮性。 + +### 5、写个好的 README.md 文件 + +我们都认为 Terraform 代码是自文档化的。的确如此,但是只有当未来的团队已经了解你的公司的命名规范、开发指南、机密通信、圈内笑话,以及你的仓库内除有效的 Terraform 代码之外其他所有东西,才会如此。维护 `README.md` 文件是个好习惯,它能节省大量时间,而且团队成员要为自己向 README 文件提交的任何内容负责,这样也就确保团队成员的忠诚度。 + +你的 README 文件至少应该包含在你的工作环境下(Linux、 Windows、Mac 等等)初始化 Terraform 环境的步骤,包括 Terraform 的版本信息。它应当确定需要的依赖库(Checkov、 TerraGrunt 及其他依赖)和其版本,以及团队使用的方便的 Linux 别名(例如有人喜欢将 `terraform fmt` 简写为 `tff`)。最重要的是,需要确定分支和 PR 审核策略和流程、命名规范和资源标签的相关标准。 + +README 文件需要通过这样的检验:如果团队有新成员加入,能否告诉他们做什么以及如何正确地完成工作?如果不能,在后续的几个月内,你将面对的是无休止的标准和流程讨论会议。 + +### 结束语 + +这些就是我使用 Terraform 多年后,认为需要传授给大家的五条有用的建议。也欢迎你分享自己的最佳实践。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/8/terraform-tips + +作者:[Ayush Sharma][a] +选题:[lujun9972][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ayushsharma +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen) +[2]: https://www.terraform.io/docs/language/state/index.html +[3]: https://www.terraform.io/docs/language/state/locking.html +[4]: https://registry.terraform.io/ +[5]: https://opensource.com/life/16/8/how-construct-your-own-git-server-part-6 +[6]: https://notes.ayushsharma.in/2021/07/cloud-infrastructure-sast-terraform-checkov diff --git a/translated/tech/20210811 My top 5 tips for setting up Terraform.md b/translated/tech/20210811 My top 5 tips for setting up Terraform.md deleted file mode 100644 index e85f4b3759..0000000000 --- a/translated/tech/20210811 My top 5 tips for setting up Terraform.md +++ /dev/null @@ -1,75 +0,0 @@ -[#]: subject: "My top 5 tips for setting up Terraform" -[#]: via: "https://opensource.com/article/21/8/terraform-tips" -[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma" -[#]: collector: "lujun9972" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -关于配置 Terraform 的五条建议 -====== -本文介绍我使用 Terraform 五年之后吸取到的经验。 -![Puzzle pieces coming together to form a computer screen][1] - -使用 Terraform 五年的经历让我吸取到一些重要经验。无论团队大小、项目性质,有五条要点对于配置合乎逻辑且可用的 Terraform 平台至关重要。 - -### 1\. 了解你的目标受众 - -这一点似乎显而易见,但我也见过一些在这方面犯错的案例。当组织和规划 Terraform 的相关代码时,无论是将目录结构标准化还是确定命名规范,考虑目标受众是非常重要的。例如:你的团队是否将使用这些 Terraform 脚本和模块?你是否会向其他团队交接工作?你的团队是否会有新成员加入?你是否正在独自进行项目开发?半年或一年后,你是否仍然使用这些配置,还是会将它安排给别人? - -这类问题会影响某些决策。理想情况下,无论如何都会有[远程状态][2]和[状态锁定][3]两种状态。远程状态确保你的机器不是 Terraform 唯一运行的机器,状态锁定确保同一时刻只有一个人对基础设施进行修改操作。 - -命名规范应该对项目的最终拥有者有意义,而不是只对开发团队有意义。如果项目会转交给其他团队,应该确保他们对命名规范有发言权。如果代码由非技术的利益相关者或内部安全/GCR 团队负责审查,应该确保他们会检查命名规范。另外,对于资源名称,为了让代码审查人员更仔细地进行检查,你应该使用资源标签,把有关的数据分类/隐私需求(高、中、低)标示出来。 - -### 2\. 重用,重用,重用 - -[Terraform 注册表][4]为大多数普通用例提供了现成模块类库。我已经使用过 VPC 模块和安全模块中的大量功能,这些功能只需要提供相关的参数就能使用。使用不同的参数,简单调用这些模块对于处理大部分用例已经足够了。尽可能多地重用这些公共模块,可以避免大量且重复的编码、测试、检查、修复、重构等操作。 - -我也发现,基于使用或变更的频率划分模块和资源大有好处。例如,只使用一次的基础设施手脚架,例如 VPC 相关设置、安全模块、路由表、VPC 端点等,可以放在一起。但是像私有托管域条目、自动伸缩模块、目标模块、负载均衡器等,每次部署时都会变化, 所以把这些与基础设施手脚架分离开来,会令代码检查更方便,调试更快速。 - -### 3\. 要明确,而非隐含 - -Terraform 代码中有一些常见的模式,它会导致设计中出现错误的假设。 团队可以假设用来写代码的 Terraform 版本永远保持不变,外部模块不会变化,或供应商不会变更。当这些外部依赖不可避免地发生变化时,就会导致一些难以发现的问题。 - -无论何处(包括主要的 Terraform 组、Provider 组、功能模块组)都要确保定义是明确的。事先定义版本,可以确保依赖库是固定的,因此你可以在讨论、审查、测试后,明明白白地更新依赖关系。 - -### 4\. 无论何处都要进行自动化,包括笔记本电脑、共享虚拟机、CI/CD。 - -在部署的各个阶段使用自动化方法,都可以避免可能发生的问题。 - -在你提交代码前,使用 [Git pre-commit hooks][5] 运行 `terraform fmt` 和 `terraform validate`。Pre-commit hooks 的作用是确保你的代码满足最低程度的格式和语法正确。把这个 pre-commit 文件检入到仓库,对你的团队成员都有好处。项目的第一步就进行质量控制相关的操作,它虽然表面上是小事一桩,但也很重要,能为项目节省大量时间。 - -一切现代化部署工具都有 CI 流程。当你向原始仓库推送代码时,可以使用它来运行 SAST 和单元测试工具。我写过一篇博客,是关于[使用 Checkov 测试 Terraform 代码的安全性和一致性以及进行自定义检查][6]的。把这些单元测试工具加入到你的 CI 管道,可以改进代码质量和健壮性。 - -### 5\. 具有极好的 README.md 文件 - -我们都认为 Terraform 代码是自文档化的。的确如此,但是只有当未来的团队已经了解你的公司的命名规范、开发指南、机密通信、圈内笑话以及除有效代码之外你的仓库内的其他所有东西,才会如此。维护 `README.md` 文件是个好习惯,它能节省大量时间,而且团队成员要为自己向 README 文件提交的任何内容负责,这样也就确保团队成员的忠诚度。 - -你的 README 文件至少应该包含在你的工作环境下(Linux, Windows, Mac 等等)初始化 Terraform 环境的步骤,包括 Terraform 的版本信息。它应当确定需要的依赖库(Checkov, TerraGrunt及其他依赖)和其版本,以及团队使用的 Linux 别名(例如有人喜欢将 `terraform fmt` 简写为 `tff`)。最重要的是,需要确定分支和 PR 审核策略和流程、命名规范和资源标签的相关标准。 - -README 文件需要通过这样的检验:如果团队有新成员加入,能否告诉他们做什么以及如何正确地完成工作?如果不能,在后续的几个月内,你将面对的是无休止的标准和流程讨论会议。 - -### 结束语 - -这些就是我使用 Terraform 多年后,认为需要传授给大家的五条有用的建议。也欢迎您分享自己的最佳实践。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/8/terraform-tips - -作者:[Ayush Sharma][a] -选题:[lujun9972][b] -译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ayushsharma -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen) -[2]: https://www.terraform.io/docs/language/state/index.html -[3]: https://www.terraform.io/docs/language/state/locking.html -[4]: https://registry.terraform.io/ -[5]: https://opensource.com/life/16/8/how-construct-your-own-git-server-part-6 -[6]: https://notes.ayushsharma.in/2021/07/cloud-infrastructure-sast-terraform-checkov From 32f7c72b5217a5d8d792e9ef1da2741ce5dacfe6 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 2 Nov 2022 23:13:03 +0800 Subject: [PATCH 246/925] R --- ...to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md index 4e0c0aae4f..823b3f50dd 100644 --- a/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md +++ b/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md @@ -48,7 +48,8 @@ 打开一个终端,并运行下面的命令: ``` -sudo apt updatesudo apt upgrade +sudo apt update +sudo apt upgrade ``` 或者,你也可以打开软件包更新程序。安装所有的准备就绪的软件包。 From 62c95d700208f0f96d8ef24fb1b4ef571b6d6d0e Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 2 Nov 2022 23:21:24 +0800 Subject: [PATCH 247/925] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md index fb828c9572..6cacb3db8e 100644 --- a/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md +++ b/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3d0ab233188c69687d7dffb35d17f64745fdd118 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 2 Nov 2022 23:41:46 +0800 Subject: [PATCH 248/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221101.5 ⭐️ Linux Lite 6.2 Released.md | 106 ------------------ .../20221101.5 ⭐️ Linux Lite 6.2 Released.md | 106 ++++++++++++++++++ 2 files changed, 106 insertions(+), 106 deletions(-) delete mode 100644 sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md create mode 100644 translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md diff --git a/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md deleted file mode 100644 index 6cacb3db8e..0000000000 --- a/sources/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md +++ /dev/null @@ -1,106 +0,0 @@ -[#]: subject: "Linux Lite 6.2 Released" -[#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux Lite 6.2 Released -====== - -Linux Lite 6.2 is an ideal upgrade with the useful changes, nothing too fancy. - -![Linux Lite 6.2 Released][1] - -Linux Lite is a popular lightweight Windows-like distro that gives users a familiar operating system. - -The latest release, Linux Lite 6.2, is based on Ubuntu 22.04 LTS and has brought forward a variety of changes to the UI along with various bug fixes. - -### Linux Lite 6.2: What's New? - -![linux lite 6.2 desktop][2] - -This release of Linux Lite focuses on user interface tweaks and bug fixes, with changes to a few applications. - -Some key highlights include: - -- **Updated Icons** -- **New Wallpapers** -- **Shotcut Video Editor** -- **Removal Of Microsoft Teams** -- **LibreOffice 7.3.6.2** -- **Linux Kernel 5.15** - -#### Shotcut Replaces OpenShot - -![linux lite 6.2 shotcut video editor][3] - -Yes, [Shotcut][4] now replaces [OpenShot][5] as the default video editor on Linux Lite 6.2. - -OpenShot gets the place because it didn't work well with Ubuntu 22.04, and without a utility like this, users would have to look for one on their own. - -Shotcut is undoubtedly a good video editor. So, it should be a good option. - -#### Microsoft Teams Removed - -Another significant change is that Microsoft Teams is no longer included in the distro. - -The reason for that is the discontinuation of the Linux application by Microsoft in favor of a progressive web app version. - -Our previous coverage can give you more insight into that: - -#### Updated Icons and New Wallpapers - -![linux lite 6.2 new wallpapers][6] - -Linux Lite 6.2 features the latest [Papirus][7] icon set alongside a bunch of new Linux Lite-themed wallpapers. - -This should give the distro a refreshed look that users might like. - -#### 🛠️ Other Changes and Improvements - -![][8] - -Other notable changes include: - -- Updates to the task manager -- Improved end dialogue in the Lite Upgrade application. -- The latest updates for various applications, bug fixes, and more. - -You can go through the [full release notes][9] to learn more. - -Linux Lite 6.2 seems to be a satisfactory upgrade over the previous version, with many significant changes and additions. - -### 📥 Download Linux Lite 6.2 - -You can download the latest ISO from its official website or upgrade to it using the Lite Upgrade tool. - -[Linux Lite 6.2][10] - -💬 What do you think of Linux Lite 6.2? Willing to give it a try? - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linux-lite-6-2-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/linux-lite-6.2.png -[2]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Desktop.png -[3]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Shotcut.png -[4]: https://shotcut.org/ -[5]: https://www.openshot.org/ -[6]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Wallpapers.png -[7]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme -[8]: https://news.itsfoss.com/content/images/2022/11/lite-upgrade.png -[9]: https://www.linuxliteos.com/forums/release-announcements/linux-lite-6-2-final-released/ -[10]: https://www.linuxliteos.com/download.php diff --git a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md new file mode 100644 index 0000000000..13257fe2ae --- /dev/null +++ b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -0,0 +1,106 @@ +[#]: subject: "Linux Lite 6.2 Released" +[#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Lite 6.2 发布 +====== + +Linux Lite 6.2 是一个近乎完美且有用的升级,没什么太花哨的东西。 + +![Linux Lite 6.2 Released][1] + +Linux Lite 是一种流行的轻量级的类Windows 发行版,为用户提供熟悉的操作系统。 + +最新版本 Linux Lite 6.2 基于 Ubuntu 22.04 LTS,对 UI 进行了各种更改以及各种bug的修复。 + +Linux Lite 6.2:有什么新功能? + +![linux lite 6.2 desktop][2] + +此版本的 Linux Lite 侧重于用户界面调整和错误修复,并对一些应用程序进行了更改。 + +一些主要亮点包括: + +- **更新的图标s** +- **新壁纸** +- **Shotcut 视频编辑器** +- **删除 Microsoft Teams** +- **LibreOffice 7.3.6.2** +- **Linux 内核 5.15** + +#### Shotcut 取代 OpenShot + +![linux lite 6.2 shotcut video editor][3] + +是的,[Shotcut][4] 现在取代[OpenShot][5]作为 Linux Lite 6.2 上的默认视频编辑器。 + +OpenShot 获得了这个位置,因为它不能很好地与 Ubuntu 22.04 配合使用,而且如果没有一个好用的视频编辑器,用户将不得不自己寻找一个。 + +Shotcut 无疑是一款出色的视频编辑器。所以,应该是一个不错的选择。 + +#### 微软团队已删除 + +另一个重大变化是 Microsoft Teams 不再包含在发行版中。 + +其原因是微软停止了 Linux 应用程序,转而支持他们认为是进步的 Web 应用程序版本。 + +我们之前的报道可以让您更深入地了解: + +#### 更新的图标和新壁纸 + +![linux lite 6.2 new wallpapers][6] + +Linux Lite 6.2 具有最新的 [Papirus][7] 图标集以及一系列新的 Linux Lite 主题壁纸。 + +这应该会给发行版带来用户可能喜欢的焕然一新的外观。 + +#### 🛠️ 其他更改和改进 + +![][8] + +其他值得注意的变化包括: + +- 任务管理器的更新 +- 改进了 Lite Upgrade 应用程序中的结束对话。 +- 各种应用程序的最新更新、错误修复等。 + +您可以阅读完整的发行说明以[了解更多信息][9]。 + +Linux Lite 6.2 似乎是对以前版本的令人满意的升级,有许多重大的变化和补充。 + +### 📥下载 Linux 精简版 6.2 + +您可以从其官方网站下载最新的 ISO 或使用 Lite 升级工具升级到它。 + +[Linux Lite 6.2][10] + +💬您如何看待 Linux Lite 6.2?愿意试一试吗? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-lite-6-2-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/linux-lite-6.2.png +[2]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Desktop.png +[3]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Shotcut.png +[4]: https://shotcut.org/ +[5]: https://www.openshot.org/ +[6]: https://news.itsfoss.com/content/images/2022/10/Linux_Lite_6.2_Wallpapers.png +[7]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme +[8]: https://news.itsfoss.com/content/images/2022/11/lite-upgrade.png +[9]: https://www.linuxliteos.com/forums/release-announcements/linux-lite-6-2-final-released/ +[10]: https://www.linuxliteos.com/download.php From bd94764636915a6f8f9fa4f9348eb94ab6485450 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 2 Nov 2022 23:44:20 +0800 Subject: [PATCH 249/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 名字加好了 --- translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md index 13257fe2ae..a3868386d9 100644 --- a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md +++ b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -87,7 +87,7 @@ via: https://news.itsfoss.com/linux-lite-6-2-release/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[littlebirdnest](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From de42d8695cd1f906fb3020861a5ed7ee46db2d4d Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 3 Nov 2022 08:34:56 +0800 Subject: [PATCH 250/925] translated --- ...d HDD Temperature in Ubuntu and Other Linux.md | 119 ----------------- ...d HDD Temperature in Ubuntu and Other Linux.md | 120 ++++++++++++++++++ 2 files changed, 120 insertions(+), 119 deletions(-) delete mode 100644 sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md create mode 100644 translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md diff --git a/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md deleted file mode 100644 index 3473208de8..0000000000 --- a/sources/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md +++ /dev/null @@ -1,119 +0,0 @@ -[#]: subject: "How to Check CPU and HDD Temperature in Ubuntu and Other Linux" -[#]: via: "https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Check CPU and HDD Temperature in Ubuntu and Other Linux -====== - -**Wondering how you can check the CPU and HDD temperature in Ubuntu and other Linux on your desktop or laptop? Here’s a quick guide.** - -You do not actually require checking CPU or HDD temperature if you are an average user. But, if you are using very older hardware or a thin one, you may run into an overheating problem. Because these thin ones are tightly coupled together inside, and no matter how much heat transfer mechanism is implemented, it heats up. Therefore, it is essential to monitor the temperature of the hardware. However, modern Linux distributions are well capable of handling overheating situations via software sensors. - -### Steps for monitoring CPU and HDD temperature on Ubuntu - -#### Using terminal - -We are going to use a couple of packages to achieve the same. Open a terminal in your Ubuntu-based system and install the following. - -``` -sudo apt install hddtemp -sudo apt install lm-sensors -``` - -The [hddtemp][1] utility gives you the temperature of your optical hard disk drive as well as SSD (as per my test). And the [lm-sensors][2] package gives you temperature details from the CPUs and other sensors accessed via PCI ports. - -After installation, run the following from the terminal. You need to know your disk identifier for this – for example `/dev/sda` or `/dev/sdb`, etc. - -To find out the disk identifiers, you can use `fdisk`. - -``` -sudo fdisk -l -``` - -Then run below to check the HDD or SSD temperature. - -``` -sudo hddtemp -``` - -![HDD or SSD Temperature from terminal][3] - -HDD or SSD Temperature from terminal - -Checking the CPU temperature and other information requires an additional step. - -First, run the below command so that the utility of the sensor can detect the sensors in your system. - -``` -sudo sensors-detect -``` - -The above command might ask you some YES/NO questions. Keep pressing ENTER to choose the default options. - -Once done, run the below command to view the CPU and other interface temperatures. - -``` -sensors -``` - -![using sensors][4] - -using sensors - -#### Using GUI tools - -If you prefer a nice GUI which does all the above, you can install [psensor][5]. This utility works across Linux systems such as Ubuntu, Fedora, [Arch][6] and other variants. This gives you nice graphical plus tabular view of - -**Ubuntu and its derivatives** - -``` -sudo apt install psensor -``` - -**Fedora and RPM-based derivatives** - -``` -sudo dnf install psensor -``` - -**Arch, Manjaro and similar derivatives** - -``` -pacman -S psensor -``` - -Once installed, run via `psensor from the terminal or launch it from the`application menu. - -As you can see in the below screenshot, it gives you a nice view of all the important temperatures across CPU, GPU, and HDD with a nice graph. Using its preferences, you can tweak it as per your need. This lightweight utility can be helpful in many cases. - -![psensor running][7] - -psensor running - -So, these are some ways in which you can monitor CPU, GPU or HDD temperature in your Ubuntu and other Linux systems. Let me know if you know of any other ways to find these out using the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.debugpoint.com/author/admin1/ -[b]: https://github.com/lkxed -[1]: https://wiki.archlinux.org/title/Hddtemp -[2]: https://github.com/lm-sensors/lm-sensors -[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/HDD-or-SSD-Temperature-from-terminal.png -[4]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor.png -[5]: https://wpitchoune.net/psensor/ -[6]: https://www.debugpoint.com/tag/arch-linux -[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor-running-1024x465.png diff --git a/translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..5d5259988d --- /dev/null +++ b/translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md @@ -0,0 +1,120 @@ +[#]: subject: "How to Check CPU and HDD Temperature in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu 和其他 Linux 中检查 CPU 和硬盘温度 +====== + +**想知道如何在台式机或笔记本电脑上检查 Ubuntu 和其他 Linux 中的 CPU 和硬盘温度?这是一个快速指南。** + +如果你是普通用户,那么实际上不需要检查 CPU 或 HDD 温度。但是,如果你使用的是非常旧的硬件或较薄的硬件,你可能会遇到过热问题。因为这些薄的硬件内部紧密耦合在一起,无论做了多少传热机制,它都会升温。因此,必须监控硬件的温度。然而,现代 Linux 发行版能够通过软件传感器很好地处理过热情况。 + +### 在 Ubuntu 上监控 CPU 和硬盘温度的步骤 + +#### 使用终端 + +我们将使用几个包来实现相同的目的。在基于 Ubuntu 的系统中打开一个终端并安装以下内容。 + +``` +sudo apt install hddtemp +sudo apt install lm-sensors +``` + +[hddtemp][1] 程序为你提供光驱和 SSD 的温度(根据我的测试)。 [lm-sensors][2] 包为你提供来自 CPU 和其他通过 PCI 端口访问的传感器的温度详细信息。 + +安装后,从终端运行以下命令。你需要知道你的磁盘标识符,例如 `/dev/sda` 或 `/dev/sdb` 等。 + +要找出磁盘标识符,你可以使用 `fdisk`。 + +``` +sudo fdisk -l +``` + +然后运行以下命令检查 HDD 或 SSD 温度。 + +``` +sudo hddtemp +``` + +![HDD or SSD Temperature from terminal][3] + +来自终端的 HDD 或 SSD 温度 + +检查 CPU 温度和其他信息需要额外的步骤。 + +首先,运行以下命令,以便传感器程序可以检测到系统中的传感器。 + +``` +sudo sensors-detect +``` + +上面的命令可能会问你一些是/否的问题。继续按回车选择默认选项。 + +完成后,运行以下命令查看 CPU 和其他接口温度。 + +``` +sensors +``` + +![using sensors][4] + +使用传感器 + +#### 使用 GUI 工具 + +If you prefer a nice GUI which does all the above, you can install [psensor][5]. This utility works across Linux systems such as Ubuntu, Fedora, [Arch][6] and other variants. This gives you nice graphical plus tabular view of +如果你更喜欢能完成上述所有操作的漂亮 GUI,你可以安装 [psensor][5]。该程序适用于 Linux 系统,例如 Ubuntu、Fedora、[Arch][6] 和其他变体。它为你提供了漂亮的图形和表格视图: + +**Ubuntu 及其衍生版** + +``` +sudo apt install psensor +``` + +**Fedora 和基于 RPM 的衍生版** + +``` +sudo dnf install psensor +``` + +**Arch、Manjaro 和类似的衍生版** + +``` +pacman -S psensor +``` + +安装后,从`终端运行 psensor 或从应用菜单`启动它。 + +正如你在下面的截图中所见,它通过漂亮的图表让你可以很好地了解 CPU、GPU 和 HDD 的所有重要温度。使用它的首选项,你可以根据需要对其进行调整。这个轻量级的程序在很多情况下都会很有帮助。 + +![psensor running][7] + +psensor 运行 + +因此,这些是你可以在 Ubuntu 和其他 Linux 系统中监控 CPU、GPU 或 HDD 温度的一些方法。如果你知道其他方法,请通过下面的评论栏告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/ + +作者:[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://wiki.archlinux.org/title/Hddtemp +[2]: https://github.com/lm-sensors/lm-sensors +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/HDD-or-SSD-Temperature-from-terminal.png +[4]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor.png +[5]: https://wpitchoune.net/psensor/ +[6]: https://www.debugpoint.com/tag/arch-linux +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/psensor-running-1024x465.png From b9d4098589343d73926c61e2dbf597c393fb3953 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 3 Nov 2022 08:43:09 +0800 Subject: [PATCH 251/925] translating --- ... Move Virtual Machine Image to Another Host Using GNOME Boxes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md index 920fc0b3ad..fd611913af 100644 --- a/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md +++ b/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/move-virtual-machine-image-another-host/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f66ab91375d713c35827daa2e05297343d4626a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Thu, 3 Nov 2022 15:26:08 +0800 Subject: [PATCH 252/925] Translated --- ...eUSB on Ubuntu to Create a Bootable Windows USB.md | 190 ------------------ ...eUSB on Ubuntu to Create a Bootable Windows USB.md | 190 ++++++++++++++++++ 2 files changed, 190 insertions(+), 190 deletions(-) delete mode 100644 sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md create mode 100644 translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md diff --git a/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md deleted file mode 100644 index d01f64b415..0000000000 --- a/sources/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md +++ /dev/null @@ -1,190 +0,0 @@ -[#]: subject: "Install WoeUSB on Ubuntu to Create a Bootable Windows USB" -[#]: via: "https://itsfoss.com/install-woeusb-ubuntu/" -[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Install WoeUSB on Ubuntu to Create a Bootable Windows USB -====== - -Want to create a bootable Windows USB on Linux? Ventoy is a pretty good option. - -But before Ventoy, WoeUSB used to be the go-to tool for this purpose. The original WoeUSB project got discontinued around 2014. - -Owing to its popularity, a new developer took the task of bringing the project back from the dead. And hence WoeUSB-ng was born. “ng” here stands for “new generation”. In other words, [WoeUSB-ng][1] is the new generation WoeUSB. But since the original tool doesn’t exist anymore, I’ll be referring WoeUSB-ng as WoeUSB. - -In this tutorial, I’ll show you how to install WoeUSB on Ubuntu Linux. I’ll also share the steps for creating bootable Windows USBs with WoeUSB. - -But before that, let’s quickly look at the features of this awesome tool. - -### WoeUSB - -![install woeusb ubuntu][2] - -WoeUSB is a simple tool that has the sole purpose of [creating bootable Windows USB on Linux][3]. - -The original WoeUSB is a shell script. This same WoeUSB is rewritten as WoeUSB-ng in python, which can be installed on your system and provides both a command-line and GUI interface. - -**Features:** - -- Support Legacy PC/UEFI booting -- Support FAT32 and NTFS filesystems -- Support using physical installation disc or disk image as source -- It can be used for Windows Vista and later with any language or edition variants -- Legacy/MBR-style/IBM PC compatible boot mode -- Native UEFI booting is supported for Windows 7 and later images (limited to the FAT filesystem as the target) - -### Installing WoeUSB on Ubuntu and other Linux distros - -Arch Linux users can install WoeUSB-ng from AUR. - -For other distros, WoeUSB can be installed using PIP. It’s a Python application, after all. I am going to provide commands for Ubuntu/Debian here. - -To install WoeUSB-ng, you need to [install PIP][4] and other necessary dependencies first. - -``` -sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin -``` - -After this, you can install WoeUSB-ng by running: - -``` -sudo pip3 install WoeUSB-ng -``` - -For all other installations, you can refer to their [instructions][5]. - -[WoeUSB-ng][1] - -### Prerequisite: Get Windows ISO and a compatible USB - -This one goes without saying. You need to have the ISO file of the Windows version you want to install. - -From the Microsoft website, you should be able to get the ISO for Windows 10 and 11. - -[Download Windows][6] - -If you have ISOs for older Windows versions, they can also be used. - -Apart from that, you need to have a USB key/pen drive of at least 8 GB in size. You should format it in NTFS filesystem. - -### Method 1: Using WoeUSB to create a bootable Windows USB graphically (recommended) - -Open woeusb-gui from the activity overview or menu. - -![woeusb in ubuntu activities overview][7] - -In the application window, select the downloaded Windows ISO and the desired USB drive as shown in the screenshot and press **Install**. - -![woeusb gui setup][8] - -There are also other tweaks available within the app, which can be accessed by the top menu bar. - -After pressing install, the woeUSB will start formatting and copying files. You need to wait for some time because there are approximately 6 GB of files to be copied. - -![woeusb writing windows iso to the usb drive][9] - -Once copying completes, WoeUSB will prompt a success dialog. You can now safely eject the USB and use it as a bootable USB. - -![woeusb completed writing and gives a success message][10] - -### Method 2: Using WoeUSB from the terminal (for experts) - -WoeUSB-ng package also provides a command-line utility called woeusb. - -To create the bootable Windows USB using WoeUSb, you need to run the following command: - -``` -sudo woeusb --device --target-filesystem ntfs -``` - -Here, the `--device` flag is used to wipe the USB and create a bootable from scratch completely. Also, the –target-filesystem flag is set to NTFS, to avoid problems of copying files more than the size limits of the FAT system. - -![woeusb commandline][11] - -The process will take some time to complete copying. Once completed, it will display a success message. - -![woeusb commandline success message][12] - -At this point, you can eject the USB safely and use it as a Windows bootable USB on other PCs. - -### Bonus: Using WoeUSB Bash shell script (for experts) - -WoeUSB is also available as a bash shell script, which can be used without installing anything on your system. - -First, you want to download the shell script from the [releases page of the project][13]. - -Before [executing the shell file][14], you need to get the required dependencies. To install, run: - -``` -sudo apt install wimtools -``` - -Now make it executable either through file manager or through command-line. - -![make woeusb script executable][15] - -Or you can run `chmod +x ` to make it executable. Now, run`./woeusb-5.2.4.bash -h` inside the downloaded directory to get help. - -In order to create a live USB, the process is same as the command-line part of woeusb-ng, except, you are not installing anything. - -So, in a terminal, run: - -``` -sudo --device --target-filesystem ntfs -``` - -This will start writing the ISO to USB drive, as shown in the screenshot below: - -![woeusb bash script running without installation][16] - -Once completed, you can safely eject the USB and use it as bootable USB. - -### Removing WoeUSB - -If you installed WoeUSB using PIP, you can also remove it similarly: - -``` -pip3 uninstall WoeUSB-ng -``` - -You can keep the installed dependencies on your system or remove them. That’s entirely up to you. I would suggest keeping them. - -### Wrapping Up - -WoeUSB was an immensely popular tool around ten years ago. It’s good that it has been continued in another form by someone else. That’s the beauty of open source. - -I hope this tutorial helped you. If somehow the Windows USB created by WoeUSB doesn’t work as expected, you may [try using Ventoy][3]. Enjoy it. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/install-woeusb-ubuntu/ - -作者:[Sreenath][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/sreenath/ -[b]: https://github.com/lkxed -[1]: https://github.com/WoeUSB/WoeUSB-ng -[2]: https://itsfoss.com/wp-content/uploads/2022/10/install-woeusb-ubuntu.png -[3]: https://itsfoss.com/bootable-windows-usb-linux/ -[4]: https://itsfoss.com/install-pip-ubuntu/ -[5]: https://github.com/WoeUSB/WoeUSB-ng#installation -[6]: https://www.microsoft.com/en-in/software-download/ -[7]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-in-ubuntu-activities-overview.png -[8]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-gui-setup.png -[9]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-writing-windows-iso-to-the-usb-drive.png -[10]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-completed-writing-and-gives-a-success-message.png -[11]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline.png -[12]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline-success-message.png -[13]: https://github.com/WoeUSB/WoeUSB/releases/tag/v5.2.4 -[14]: https://itsfoss.com/run-shell-script-linux/ -[15]: https://itsfoss.com/wp-content/uploads/2022/10/make-woeusb-script-executable.png -[16]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-bash-script-running-without-installation.png diff --git a/translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md new file mode 100644 index 0000000000..37769c50b0 --- /dev/null +++ b/translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md @@ -0,0 +1,190 @@ +[#]: subject: "Install WoeUSB on Ubuntu to Create a Bootable Windows USB" +[#]: via: "https://itsfoss.com/install-woeusb-ubuntu/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在 Ubuntu 上安装 WoeUSB 来创建一个可启动 Windows USB +====== + +想在 Linux 上创建一个可启动 Windows USB ?Ventoy 是一个很好的选择。 + +但是,在 Ventoy 出道之前,WoeUSB 是用于创建可启动 Windows USB 的首选工具。原始的 WoeUSB 工程在 2014 年左右香消玉损。 + +鉴于其流行程度,一位新的开发者接过了将其起死回生的任务。因此,WoeUSB-ng 诞生了。在这里,“ng” 是 新生代new generation 的缩写。换句话说,[WoeUSB-ng][1] 是新生代的 WoeUSB 。但是,因为原始的工具已经不存在了,我将 WoeUSB-ng 描述为 WoeUSB 。 + +在这篇教程中,我将向你展示如何在 Ubuntu Linux 上安装 WoeUSB 。我也将分享使用 WoeUSB 来创建可启动 Windows USB 的步骤。 + +但是,在此之前,让我们快速查看这个令人惊叹的工具的特色。 + +### WoeUSB + +![install woeusb ubuntu][2] + +WoeUSB 是一个简单的工具,其唯一的目的是 [在 Linux 上创建可启动 Windows USB][3] 。 + +原始的 WoeUSB 是一个 shell 脚本。这个原始的 WoeUSB 被使用 Python 重写为 WoeUSB-ng ,它可以安装在你的系统上,并且通过命令行或 GUI 界面。 + +**特色:** + +- 支持 Legacy PC/UEFI 启动 +- 支持 FAT32 和 NTFS 文件系统 +- 支持使用物理安装盘或磁盘镜像作为源 +- 它可以用于 Windows Vista 及其更高版本的任意语言或变体版本 +- Legacy/MBR/IBM PC 兼容启动模式 +- 本机 UEFI 启动支持 Windows 7 及其更高版本的镜像 (仅限于将 FAT 文件系统作为目标的情况) + +### 在 Ubuntu 和其它的 Linux 发行版上安装 WoeUSB + +Arch Linux 用户可以从 AUR 安装 WoeUSB-ng 。 + +对于其它的发行版,可以使用 PIP 来安装 WoeUSB 。毕竟,它是一个 Python 应用程序。在这里,我将为 Ubuntu/Debian 提供一些命令。 + +为安装 WoeUSB-ng ,你首先需要 [安装 PIP][4] 和其它必要的依赖项。 + +``` +sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin +``` + +在这之后,你可以安装 WoeUSB-ng ,通过运行: + +``` +sudo pip3 install WoeUSB-ng +``` + +对于所有的其它安装,你可以参考其 [操作指南][5] 。 + +[WoeUSB-ng][1] + +### 前提条件: 获取 Windows 的 ISO 文件和一个兼容的 USB 磁盘 + +这一点没有什么需要说的。你需要有一个你将要安装的 Windows 版本的 ISO 文件。 + +从微软的网站,你应该能够获取 Windows 10 和 11 的ISO 文件。 + +[下载 Windows][6] + +如果你有较旧的 Windows 版本的 ISO 文件,也可以使用它们。 + +除此之外,你需要有一个至少 8 GB 大小的 USB 驱动器磁盘。你应该使用 NTFS 的文件系统来格式化它filesystem. + +### 方法 1: 使用图形用户界面化的 WoeUSB 来创建一个可启动的 Windows USB (推荐) + +从 活动概述activity overview 或菜单中打开 woeusb-gui 。 + +![woeusb in ubuntu activities overview][7] + +在应用程序窗口中,选择下载的 Windows ISO 和所希望的 USB 驱动器,如截屏所示,然后按下 安装Install 按钮。 + +![woeusb gui setup][8] + +在应用程序中也其它可用的调整,可以通过顶部的菜单栏来访问使用。 + +在按下安装按钮后,woeUSB 将开始格式化和复制文件。你需要等待一些时间,因为这里有大约 6 GB 的文件需要复制。 + +![woeusb writing windows iso to the usb drive][9] + +在复制完成后,WoeUSB 将会提示一个成功的对话框。你现在可用安全弹出 USB 驱动器,并将其作为一个可启动 USB 驱动器来使用。 + +![woeusb completed writing and gives a success message][10] + +### 方法 2: 从终端中使用 WoeUSB (针对专家) + +WoeUSB-ng 软件包也提供一个名称为 woeusb 的命令行实用程序。 + +为使用 WoeUSb 来创建一个可启动的 Windows USB ,你需要运行下面的命令: + +``` +sudo woeusb --device --target-filesystem ntfs +``` + +在这里,`--device` 标识用于擦除 USB 和从零开始创建一个可启动 USB 驱动器。同样,–target-filesystem 标识用于设置为 NTFS ,来避免将要复制的文件大小超过 FAT 文件系统的限制。 + +![woeusb commandline][11] + +该过程将花费一些时间来完成复制。在完成复制后,它将显示一条成功的信息。 + +![woeusb commandline success message][12] + +此时,你可以安全地弹出 USB 驱动器,并在其它的个人电脑上将其作为一个 Windows 可启动 USB 来使用。 + +### 惊喜欲狂: 使用 WoeUSB 的 Bash shell 脚本 (针对专家) + +WoeUSB 也提供一个 bash shell 脚本,在你的系统上,它不需要安装任何东西就可以使用。 + +首先,你需要从 [该工程的发布版本页面][13] 下载 shell 脚本。 + +在 [执行 shell 文件][14] 之前,你需要获取所需要的依赖项。为安装它,运行: + +``` +sudo apt install wimtools +``` + +现在,通过文件管理器或通过命令行来使它可执行。 + +![make woeusb script executable][15] + +或者,你可以运行 `chmod +x ` 来使它可执行。现在,运行已下载目录中的 `./woeusb-5.2.4.bash -h` 来获取帮助。 + +为创建一个 live USB ,该进程类似于 woeusb-ng 的命令行部分,但是你没有安装任何东西。 + +因此,在一个终端中,运行: + +``` +sudo --device --target-filesystem ntfs +``` + +这将开始将 ISO 写入 USB 驱动器,如下面的截屏所示: + +![woeusb bash script running without installation][16] + +在完成后,你可以安全地弹出 USB 驱动器,并将其作为可启动 USB 使用。 + +### 移除 WoeUSB + +如果你使用 PIP 安装 WoeUSB ,你也可以类似地移除它: + +``` +pip3 uninstall WoeUSB-ng +``` + +你可以在你的系统上保留或移除已安装的依赖项。这完全取决于你。我建议保留它们。 + +### 总结 + +大约 10 年前,WoeUSB 是一个非常流行的工具。其他人以另外一种形式将其复活是很好的,这就是开源的艺术。 + +我希望这篇教程会帮助你。如果通过 WoeUSB 创建的 Windows USB 不能按部就班地工作,你可以 [尝试使用 Ventoy][3] 。享受它。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-woeusb-ubuntu/ + +作者:[Sreenath][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sreenath/ +[b]: https://github.com/lkxed +[1]: https://github.com/WoeUSB/WoeUSB-ng +[2]: https://itsfoss.com/wp-content/uploads/2022/10/install-woeusb-ubuntu.png +[3]: https://itsfoss.com/bootable-windows-usb-linux/ +[4]: https://itsfoss.com/install-pip-ubuntu/ +[5]: https://github.com/WoeUSB/WoeUSB-ng#installation +[6]: https://www.microsoft.com/en-in/software-download/ +[7]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-in-ubuntu-activities-overview.png +[8]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-gui-setup.png +[9]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-writing-windows-iso-to-the-usb-drive.png +[10]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-completed-writing-and-gives-a-success-message.png +[11]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline.png +[12]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-commandline-success-message.png +[13]: https://github.com/WoeUSB/WoeUSB/releases/tag/v5.2.4 +[14]: https://itsfoss.com/run-shell-script-linux/ +[15]: https://itsfoss.com/wp-content/uploads/2022/10/make-woeusb-script-executable.png +[16]: https://itsfoss.com/wp-content/uploads/2022/10/woeusb-bash-script-running-without-installation.png From c8223a7a803c89ab3fb23d971775b755c30792c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Thu, 3 Nov 2022 15:34:13 +0800 Subject: [PATCH 253/925] Translating --- ...️ Transfer files and folders from Windows to Linux with WinSCP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md index 8ea3584f78..127132272e 100644 --- a/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md +++ b/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp" [#]: author: "Paul https://opensource.com/users/plaubscher" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ef8fe245e654cba91b6a6cda889ef0c4475a79e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 3 Nov 2022 19:07:08 +0800 Subject: [PATCH 254/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221102.1=20=E2=AD=90=EF=B8=8F=20Linux=20Mint's=20Upd?= =?UTF-8?q?ate=20Manager=20Now=20Supports=20Flatpak.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Mint's Update Manager Now Supports Flatpak.md | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md diff --git a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md new file mode 100644 index 0000000000..a7a1436009 --- /dev/null +++ b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md @@ -0,0 +1,98 @@ +[#]: subject: "Linux Mint's Update Manager Now Supports Flatpak" +[#]: via: "https://news.itsfoss.com/linux-mint-update-manager/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Mint's Update Manager Now Supports Flatpak +====== + +Linux Mint's Update Manager just got more helpful! + +![Linux Mint's Update Manager Now Supports Flatpak][1] + +Linux Mint's Update Manager is an essential part of the distro that makes the experience easier for new users. + +A recent update has pushed many improvements to Linux Mint 21, including Flatpak support with the update manager. + +**You just need to update your system to get these refinements.** + +### ⭐ Flatpak Support In Update Manager + +![linux mint 21 flatpak support in update manager][2] + +Image Credits: The Linux Mint Blog + +Yes, you read that right. It is finally happening. + +Flatpak support has been added to the Update Manager, letting users update Flatpak applications and runtimes in a few clicks. + +This should make way for a unified update experience that further improves the user experience. + +It is beneficial for new users who need not be familiar with terminal commands to update Flatpak. Also, you do not require to integrate Flatpak with the software center (for GNOME). + +In other words, the Linux Mint team enhanced your experience with Flatpak apps. + +**Alongside Flatpak support, the update includes a few more enhancements to Linux Mint 21, which is immediately available as an update.** + +Some of the refinements include: + +### Improvements To Corner Bar + +![linux mint 21 updated corner bar][3] + +Image Credits: The Linux Mint Blog + +The corner bar on Linux Mint 21 has received two new additions: + +- **Ability to set left click and middle click actions to the corner bar; you can configure it to show the desktop, the workspace selector, or the desklets.** +- **A new option lets you hover your mouse on the corner bar to show the desktop.** + +### Updates To Nemo + +![linux mint 21 updated nemo file manager][4] + +Image Credits: The Linux Mint Blog + +The Nemo file manager has received a few tweaks; now, when files are selected, only the file names will be highlighted instead of the icon and file name. + +**If you did not know**, you could enhance the Nemo file manager experience with some of our suggested tweaks as well: + +Furthermore, the desktop icon has been flipped vertically, and a new shortcut has been added to the desktop's context menu to give quick access to the display settings. + +### Fewer Password Prompts + +This is another user experience tweak that many of you might like. + +When removing a Flatpak or any shortcut or local application, it will no longer ask you for a password. + +Similarly, in the case of Synaptic and the Update Manager, pkexec will be used to remember the password. + +This way, users do not have to enter the password every time they perform multiple operations. + +You can refer to [Linux Mint's monthly blog post][5] to learn about other changes. + +**Via: [DebugPointNews][6]** + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-mint-update-manager/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/mint-updater-tool-flatpak-support.png +[2]: https://news.itsfoss.com/content/images/2022/11/Linux_Mint_21_UM_FlatpakSupport.png +[3]: https://news.itsfoss.com/content/images/2022/11/Linux_Mint_21_CornerBar_Update.png +[4]: https://news.itsfoss.com/content/images/2022/11/Linux_Mint_21_Nemo_Updates.png +[5]: https://blog.linuxmint.com/?p=4424 +[6]: https://debugpointnews.com/linux-mint-update-flatpak/ From cd9c6ae4e2fd48b284012d6cb7eb29a23b5c6ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 3 Nov 2022 23:12:36 +0800 Subject: [PATCH 255/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221102.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Be?= =?UTF-8?q?st=205=20Alternatives=20to=20Microsoft=20Office=20[Compared].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...t 5 Alternatives to Microsoft Office [Compared].md | 178 ++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md diff --git a/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md b/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md new file mode 100644 index 0000000000..2a2343f4e9 --- /dev/null +++ b/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md @@ -0,0 +1,178 @@ +[#]: subject: "Best 5 Alternatives to Microsoft Office [Compared]" +[#]: via: "https://www.debugpoint.com/best-alternatives-microsoft-office-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Best 5 Alternatives to Microsoft Office [Compared] +====== + +**Here we give you the five best alternatives to Microsoft Office. We compare them based on features, are easy to use and provide you with a guide to choosing the one you need.** + +We all agree that Microsoft Office is one of the best software developed by Mircosoft. It has a presence almost everywhere in the entire world in nearly every business. It is a fine piece of software that evolved over a few decades. + +And obviously, it doesn’t have a Linux native installer and comes with a significant price. The current Microsoft Office 365 subscription pricing is a little higher if you are a business owner or a personal user. And not everyone can afford that price bucket for a longer time. + +Then what are the alternatives? You can try other options that relatively get the job done for most users or businesses. + +This article gives you the five best alternatives to Microsoft Office. + +### Best Alternatives to Microsoft Office + +### 1. LibreOffice + +![LibreOffice][1] + +The first alternative we highlight here is [LibreOffice][2]. The Document Foundation develops and manages the entire LibreOffice free and open-source office suite, available for Linux, macOS and Windows. + +Firstly, it comes with a spreadsheet ([Calc][3]), word processor (Writer), presentation (Impress), drawing (Draw) and a database program (Base). + +Secondly, this project is actively developed, and compatibility with Microsoft Office documents is improved in every release iteration. If appropriately used, LibreOffice can effectively do all the work that a Mircosoft office program does. In addition, a massive set of documentation and communities can help you adopt LibreOffice in no time. + +You don’t need to pay for the software if you are a small or large corporation. But paid deployment and support are also available at minimal cost if you require them for your critical work. + +However, LibreOffice does not come with an Outlook-like email program. This might be one of the minor drawbacks, but you can access emails from web browsers today for all email service providers. + +**More details about LibreOffice** + +- [Home page][2] +- [For Business][4] +- [Download for general-purpose personal use][5] +- [Help and Documentation][6] +- [Official support forum][7] + +### 2. Google Docs + +![Google Docs - alternatives to Microsoft Office][8] + +The search engine giant Google provides a complete web-based Office suite (aka [Google Docs][9]) with its Docs (document processor), Sheets (spreadsheet program) and Slides (presentation) for free users. + +You can access and create documents in your Google Drive account by default and access them from anywhere. The office components provide well-designed web-based toolbars, advanced options, spell check, Voice to Text feature (only in Chrome), encryption and cloud access. Google also offers mobile apps for iOS and Android to access your documents and edit them on the go. + +One of the best features of Google Docs is templates. With the power of pre-built templates, you can start professional-grade documents in time. The collaboration option gives you more control when sharing and deploying documents with a Google account-based authentication and authorization mechanism for a wider audience. + +If you need more from Google Docs, you may opt for Google Workspace with a minimal price compared to costly Microsoft Office. The Google Workspace is a complete and integrated solution that gives you Google Forms to collect data and integrate it into your docs and Sheets, website builder Google Sites, Google Calendar and more storage options to keep your document. + +**More details about Google Docs** + +- [Home page][9] +- [Documentation][10] + +### 3. OnlyOffice + +![OnlyOffice - alternatives to Microsoft Office][11] + +[OnlyOffice][12] is a free and open-source complete Office productivity suite with a text editor, spreadsheet program, and presentation tool for you and your office work. It supports advanced features such as real-time collaboration with proper tracking changes for your shared documents, fillable forms, and many other features. + +This powerful office suite looks better with its Office 365-type ribbons, which helps to adopt this program quickly. In addition, this product has better Microsoft Office compatibility with .docx .xlsx and .pptx file formats which are easy for you and your organization to share documents. + +It’s worth mentioning that it provides an Enterprise office suite, aka “ONLYOFFICE Workspace, ” a paid product with additional features and instant support. This enterprise suite is perfect for those with a tight budget on office products but needs near compatibility with Office 365. + +Furthermore, the ONLYOFFICE Workspace comes with an Email client, CRM product, Project Management tool and an integrated calendar. Although everything works well, you face issues with spell checking, print preview, page size and some bugs. But you should not worry as the team is receptive, and you can report issues on GitHub and get help. + +**More details** + +- [Home page][12] +- [Download][13] +- [Documentation and help][14] + +### 4. Softmaker Free Office + +![FreeOffice - alternatives to Microsoft Office][15] + +The [FreeOffice][16] is another option if you are looking for Microsoft Office alternatives. SoftMaker developed this office suite, and it is arguably one of the choices you may have. Let’s talk a little about its features. + +Firstly, the FreeOffice brings TextMaker (like Word), PlanMaker (like Excel), Presentations and a comparison utility. Secondly, the user interfaces as two options. The modern Ribbon option makes it a desirable product due to its popularity. Moreover, it has a traditional Legacy user interface with a menu and toolbar with a considerable fanbase. + +Besides these, the SoftMaker FreeOffice provides a specific user interface and features for touch-based devices. The Microsoft Office document format compatibility is well established to get the most done. + +However, you may have little trouble working with Open Document Format files, whose support is limited. + +This is a closed-source product. + +**More details about SoftMaker FreeOffice** + +- [Home page][16] +- [Download][17] +- [Documentation and help][18] + +### 5. WPS Office + +![WPS Office][19] + +Remember Kingston Office? Well, it’s now renamed and repackaged as WPS Office, the acronym for Word, Presentation and Spreadsheets. Today, the WPS Office is one of the oldest office suites, with more than three decades of development and release. It is a fully-featured office suite available for all platforms and mobile devices. + +Some of the noteworthy features of WPS Office are its real-time collaboration in its core programs which helps you work in a team on a shared document. The office suite comes with 100,000+ templates which allows you to create professional-grade documents and presentations. + +The WPS Office comes with the standard edition, free to download and use but limited in features. + +Moreover, if you need additional features such as PDF editing, Cloud support, collaborations and enterprise support, then you can opt for the WPS Premium of WPS Business option with a price. + +It’s important to mention that this is a closed-source program and may contain Ads. Also, it was developed by a Chinese company. + +**More details about WPS Office** + +- [Home page][20] +- [Documentation][21] +- [Download][22] + +### Comparison + +Here’s a quick comparison of the free Microsoft Office alternatives based on noteworthy features and other details. + +| Product | Price | Source Type | Pros | Cons | +| :- | :- | :- | :- | :- | +| LibreOffice | Free | Open source | Free and cross-platformMulti-language supportComplete support of ODF filesBest compatibility support of Microsoft OfficeVery active development | No email and project management suiteThe database program depends on Java | +| Google Docs | Free | Close source | Free and cross-platformWell documented supportAccess documents via cloud anywhereComplete Mobile device support | Requires internet connectionLittle slow due to the web-based toolNo native desktop executable available | +| OnlyOffice | Free (basic product) | Open source | The user interface is almost similar to Microsoft OfficeBetter support and compatibility with Microsoft Office filesCloud integration and plugin supportCross-platform | It may face problems with some basic features.Cloud integrations are not compatible with the EU due to GDPRThe web app version is slow | +| FreeOffice | Free (basic product) | Close source | Free and lightweight compared to LibreOffice.Touchscreen supportGood Microsoft Office compatibilityCross-platform | The free version only has documents, spreadsheets and presentations.Additional products need purchaseOpen Document Format support is limitedNot open source product | +| WPS Office | Free | Close source | Good Microsoft office compatibilityCross-platform productTabbed interfaceMulti-language support | Not open source productDeveloped by a Chinese companyMay contain ads | + +### Our Recommendation + +Besides all the pros and cons, if you cannot choose which Office suite is best for you, I recommend going ahead with LibreOffice. Because LibreOffice and TDF have a good vision, active development and worldwide community support. LibreOffice has a considerable knowledge base about tips and tutorials on the helpful web. And you can easily automate tasks with Basic or Python Macro. + +### Closing Notes + +I hope this guide helps you choose the best alternatives for Microsoft Office for your personal or business usage. Genuinely speaking, none of the above office products come close in comparison to Microsoft Office in the true sense. Not everyone or every company can pay a hefty monthly subscription fee for Microsoft Office. For those, I believe some of these options can be a good starting point. + +Some image credits: Respective product owner + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-alternatives-microsoft-office-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/wp-content/uploads/2022/03/LibreOffice.jpg +[2]: https://www.libreoffice.org/discover/libreoffice/ +[3]: https://www.debugpoint.com/category/libreoffice/libreoffice-calc/ +[4]: https://www.libreoffice.org/download/libreoffice-in-business/ +[5]: https://www.libreoffice.org/download/download/ +[6]: https://help.libreoffice.org/latest/en-US/text/shared/05/new_help.html +[7]: https://ask.libreoffice.org/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/03/Google-Docs.jpg +[9]: https://www.google.com/docs/about/ +[10]: https://support.google.com/docs/?hl=en#topic=1382883 +[11]: https://www.debugpoint.com/wp-content/uploads/2022/03/OnlyOffice.jpg +[12]: https://www.onlyoffice.com/ +[13]: https://www.onlyoffice.com/desktop.aspx +[14]: https://forum.onlyoffice.com/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/FreeOffice.jpg +[16]: https://www.freeoffice.com/en/ +[17]: https://www.freeoffice.com/en/download/applications +[18]: https://forum.softmaker.com/ +[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/WPS-Office.jpg +[20]: https://www.wps.com/ +[21]: https://www.wps.com/academy/ +[22]: https://www.wps.com/download/ From 00a9e54e141711cc5ed11be092610dad1dda9b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 3 Nov 2022 23:13:22 +0800 Subject: [PATCH 256/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221102.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20To?= =?UTF-8?q?p=2010=2032-Bit=20Linux=20Distributions=20in=202022=20[Compared?= =?UTF-8?q?].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 32-Bit Linux Distributions in 2022 [Compared].md | 255 ++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md diff --git a/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md b/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md new file mode 100644 index 0000000000..02cfb6ff2a --- /dev/null +++ b/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md @@ -0,0 +1,255 @@ +[#]: subject: "Top 10 32-Bit Linux Distributions in 2022 [Compared]" +[#]: via: "https://www.debugpoint.com/32-bit-linux-distributions/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 10 32-Bit Linux Distributions in 2022 [Compared] +====== + +**We list the best 32-bit Linux distributions that still support ancient systems.** + +### What is happening with 32-bit Linux Distros? + +Linux always supports older hardware, thanks to the community. But more and more Linux operating systems are dropping support for 32-bit systems mainly because it takes additional testing effort to keep another build apart from 64-bit, and the number of 32-bit systems is reducing daily. + +Most of the older hardware manufactured before 2007 has 32-bit architecture-based CPUs, which we mostly know as i386, i586, i486 and x86. However, the hardware manufactured after 2007 are primarily 64-bit and may term as modern. + +Recently, many famous and lightweight Linux distros dropped support for 32-bit architecture. But some projects are still strong and provide users with an option to run the older machines with full functionality. + +I will list the ten best Linux distros that still support 32-bit systems. + +### Top 10 32-bit Linux distros in 2022 + +#### 1. Debian + +Debian Linux is the foundation of hundreds of Linux distributions across multiple architectures. Millions use it as a desktop and server operating system. Debian is a “universal operating system” because it supports x86-64, arm64, armel,armhf, i386, mips, mipsel, mips64el, ppc64el, s390x architectures with work in progress for riscv64. + +In addition, it supports a wide range of hardware and includes free and non-free packages. On the desktop side, all the major [desktop environments][1] are available for you to install on your older hardware. + +Perhaps, it is the safest choice if you are looking for a vanilla 32-bit Linux distro experience. + +![Debian Logo][2] + +#### Why is Debian the best 32-bit distro? + +- Most popular and widely used +- Dependable and used by millions +- Well documentation, tutorials and user guides +- Proper framed future roadmap +- [Support for all architectures and platforms][3] + +[Download Debian][4] + +#### 2. MX Linux + +MX Linux is a systemd-free distro based on Debian stable branch. It is recently trending among users who want a clean system that supports older to modern hardware. + +MX Linux is popular because it’s carefully created to give you a perfect and stable system with its native applications and tools. + +![MX Linux][5] + +The team behind it gives a lot of thought while packaging the applications in this distro. Besides that, it is also based on antiX components and comes with KDE Plasma desktop, Xfce and Fluxbox. + +MX Linux is probably the best choice in this list because it is easy to download and use in older systems. + +![mx linux logo][6] + +#### Why is MX Linux the best? + +- Systemd free, hence faster +- Based on Debian stable, it gives a more stable system +- Unique in-house applications to help users with generic tasks +- 3 desktop flavour options to choose from +- Well-supported community and user-base + +[Download MX Linux][7] + +#### 3. Q4OS + +The third 32-bit Linux distro in this list is Q4OS. Q4OS is a unique Linux operating system based on Debian and brings KDE and Trinity desktop environments. It comes with a 32-bit installer which can be used to install. In addition, Q4OS also features a Windows installer where you can parallel run this distro inside WIndows. + +An exciting and related trivia about Q4OS is that it was created as an alternative to Windows XP when Microsoft discontinued it on 2014. And it’s still going strong and providing a stable 32-bit alternative to many users. + +![Q4OS Logo][8] + +#### Here are some of the critical advantages of Q4OS + +- Well-defined roadmap and unlikely to be discontinued +- Based on Debian and long-term support has been available for more than five years +- Provides KDE and Trinity desktop both (for those who like KDE 3) +- The unique installer gives the ability to install it inside Windows and take advantage of the entire hardware (not like in VM) +- Themes, Software centre, and third-party app installers are available + +[Download Q4OS][9] + +#### 4. NixOS + +The fourth Linux distro in this list of 32-bit distributions is NixOS, built on top of the Nix Package manager. This independent Linux distribution is perfect for DevOps and deployment pipeline tasks and supports atomic updates. It uses a configuration script for several tasks, including installation. + +That said, NixOS is not for the beginner or average Linux users, although it functions like other Linux distributions. It’s not designed to be an end-user Linux operating system. + +However, since it provides a 32-bit variant, it’s perfect for some use cases where you need to set up a remote server or pipeline in older hardware. You can learn more and download using the below link. + +[Download NixOS][10] + +#### 5. Void Linux + +Void Linux is an independent Linux distro (not depending on Debian or Fedora, etc.) which follows a unique rolling release model. It comes with X Binary Package System (XBPS), which helps you to install apps and packages directly from sources. In addition, it uses runit as init system, instead of systemd.  + +Void Linux provides a 32-bit installer with the latest packages alongside the usual 64-bit and ARM installation methods. Hence, you can quickly try it out on your older hardware. Moreover, Void Linux also support all major desktop environments, such as Xfce, Cinnamon, LXDE, LXQt and more. + +![Void Linux Logo][11] + +#### Here are some of the advantages of Void Linux + +- Independent distribution and free from Debian, Ubuntu or Fedora base +- Well-defined path for future updates and continuity +- Excellent XBPS package management system +- A rolling release-based distro which is stable +- All major desktop environments supported + +[Download Void Linux][12] + +#### 6. Zorin OS Lite 15.3 + +Zorin OS is an excellent and popular Linux distribution, a fusion of Xfce and GNOME 3 desktop. It comes with a Pro and Lite version. The Zorin OS Lite version provides a 32-bit installer at the moment. + +![Zorin OS - Best Linux Distributions of 2022][13] + +But there is a catch. Currently, the Zorin OS 15.3 Lite version only supports the 32-bit version. And its support ends on April 2023. + +After that, Zorin OS will not be supporting the 32-bit version anymore. The reason is it is based on Ubuntu LTS. And Ubuntu discontinued the 32-bit image from Ubuntu 20.04 LTS Focal Fossa version. + +Hence, you can use Zorin OS 15.3 Lite until April 2023 and take advantage of its beautiful desktop and additional features. + +[Download Zorin OS 15.3 Lite (32 bit)][14] + +#### 7. Porteus + +If you are a fan of the Old-KDE desktop and looking for a 32-bit operating system, then you can try Porteus Linux. Porteus is a Slackware Linux spin that features a KDE 4.0+ desktop environment. It is based on bleeding edge Slackware Linux and provides a fast desktop experience. Moreover, it can run from a Live USB/CD. The installer size is 300 MB, perfect for CD-based older hardware. + +![Porteus Logo][15] + +#### The reason why Porteus can be an ideal 32-bit Linux OS + +- Based on bleeding-edge Slackware Linux +- Enjoy the simplicity of Slackware +- Installer size can fit into a CD (300 MB only) +- Legacy KDE 4.0 Desktop support +- Can run off a USB or CD + +[Download Porteus Linux][16] + +#### 8. antiX + +The antiX Linux is slightly different on the desktop level than other 32-bit distros in this list. It is a lightweight Linux distribution based on Debian stable branch and brings some exciting features. First and foremost, it comes with a 32-bit installer, which has four variants – Full, Core, Base and Net. Secondly, it features famous primarily Windows Managers and Not desktop environments. Hence it is faster. + +The antiX Linux features IceWM, Fluxbox, and ROX desktop options. In addition, it is free of systemd and uses sysVinit & runit as init system. + +A perfect 32-bit Linux distribution that brings window manager, sydtemd-free and Debian base. + +![Antix Logo][17] + +#### Why is antiX an excellent 32-bit distro? + +- Provides stability with Debian stable branch +- Provides a 32-bit installer with four variants +- Systemd free distribution  +- Window manager support, rather than desktops + +[Download antiX][18] + +#### 9. BunsenLabs Linux + +Remember the famous Crunchbang project? The BunsenLabs Linux is a successor of the Crunchbang project based on the Debian stable branch. Like antiX, it also features Windows Manager rather than desktop environments. It brings Openbox Window manager with an excellent tint2 panel at its core. In addition, some goodies such as Conky presets, jgmenu makes it a well-designed 32-bit distro for that ancient hardware. + +![BunsenLabs Logo][19] + +#### Why is BunsenLabs the best? + +- Powered by Debian stable branch +- Openbox Window manager is for the desktop experience +- Pre-configured Concky with tint2 panel, jgmenu +- A good amount of help and support is available + +[Download BunsenLabs][20] + +#### 10. Alpine Linux + +A list of 32-bit Linux distributions is incomplete without Alpine Linux. Alpine Linux is an almost two-decade-old Linux distro created for developers and power users. It’s unique and provides a 32-bit variant among other architectures. + +At its core, it uses musl and BusyBox instead of GNU tools and packages. Also, Alpine uses OpenRC as init system. + +This independent Linux is perfect for containers and hypervisors and boasts about its security. Perhaps, not so suitable for usual desktop usage. However, the popular PostmarketOS mobile Linux OS platform is based on Alpine Linux. + +![Alpine Logo][21] + +#### Alpine Linux advantages + +- Independent Linux distro +- Not based on GNU toolchain (uses musl and BusyBox) +- APK package manager +- Suitable for containers and Hypervisors +- Well secured at the core level + +[Download AlpineLinux][22] + +### List of significant distros that dropped support of 32-bit recently + +Since you went thru the above list, it’s always to remember that a bunch of distros which depended on Ubuntu dropped their 32-bit support. From the version Ubuntu 20.04 Focal Fossa, Ubuntu officially closed the support for 32-bit. Hence all the Ubuntu-LTS variants are also forced to follow this decision. + +Here’s a brief list of awesome distros which unfortunately discontinued the 32-bit support in the recent past. + +- Linux Mint 20 and above +- Puppy Linux 9.5 and above +- Ubuntu 20.04 LTS Focal Fossa and above +- All the official Ubuntu flavours (such as Lubuntu and Xubuntu) from 20.04 onwards + +### Closing Notes + +You can rest assured that there will always be support for 32-bit Linux distributions to support older hardware. If a day comes when all distro stops support, Debian will always support all hardware possible. That’s the beauty of Debian. + +Also, other niche distros, such as Puppy and Void Linux – will continue to support 32-bit hardware in the coming days. Because they are built with this purpose only. + +Finally, I hope this list helps you to pick the best 32-bit distro for your PC or hardware. Also, don’t forget to check out the [best lightweight distros][23] for older hardware which contain 64-bit distros for older hardware. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/32-bit-linux-distributions/ + +作者:[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/category/desktop-environment +[2]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_debian.png +[3]: https://www.debugpoint.com/install-debian-buster/ +[4]: https://www.debian.org/distrib/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/07/mx-linux-logo-2.png +[7]: https://mxlinux.org/download-links/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_q4os_lightblue.png +[9]: https://www.q4os.org/downloads1.html +[10]: https://nixos.org/ +[11]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_void.png +[12]: https://voidlinux.org/download/ +[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS.jpg +[14]: https://zorin.com/os/download/15/lite/32/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/07/Porteus-Logo.png +[16]: http://www.porteus.org/ +[17]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_antix.png +[18]: https://antixlinux.com/download/ +[19]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_bunsenlabs_yellow_black.png +[20]: https://www.bunsenlabs.org/installation.html +[21]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_alpine.png +[22]: https://alpinelinux.org/downloads/ +[23]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ From fbe220a7d30f930026f573b5b1bfd7109958f72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 3 Nov 2022 23:14:25 +0800 Subject: [PATCH 257/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221102.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20To?= =?UTF-8?q?p=2010=20Features=20of=20Linux=20Mint=2021=20=E2=80=9CVanessa?= =?UTF-8?q?=E2=80=9D.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Top 10 Features of Linux Mint 21 “Vanessa”.md | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md diff --git a/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md b/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md new file mode 100644 index 0000000000..86ba70d901 --- /dev/null +++ b/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md @@ -0,0 +1,188 @@ +[#]: subject: "Top 10 Features of Linux Mint 21 “Vanessa”" +[#]: via: "https://www.debugpoint.com/linux-mint-21-features/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 10 Features of Linux Mint 21 “Vanessa” +====== + +**We round up Linux Mint 21 “Vanessa” top features. Find out what’s in store for you.** + +![Linux Mint 21 Cinnamon Desktop][1] + +Linux Mint 21 “Vanessa” is the 36th release of [Linux Mint][2], which carries a good list of features along with several usability improvements across the desktop. The features are scattered across the Cinnamon desktop, core changes, Xapps updates and more. + +I have summarized all of them in this list of top features of Linux Mint 21. + +### Top Features of Linux Mint 21 “Vanessa” + +#### 1. Ubuntu 22.04 and associated updates + +Perhaps the most crucial change is the base of Linux Mint 21, which is now based upon [Ubuntu 22.04 “Jammy Jellyfish”][3]. The last major release, i.e. Linux Mint 20 “Ulyana”, was based on Ubuntu 20.04 “Focal Fossa”, when released four years back. The state of the world in 2020 was utterly different, considering everything going on. + +Hence, a lot of packages, version upgrades, and new performance improvements – all these under-the-hood updates come to Linux Mint 21. That includes the latest LTS [Linux Kernel 5.15][4], which brings further hardware lineup support, and toolchain updates for programming, development and networking. + +#### 2. Major changes in the Timeshift backup tool + +A few months back, the Mint team [announced][5] that they are taking over developing the popular backup tool Timeshift and continuing its development as a “XApps”. So, this is a significant change. Why, may you ask? + +Well, the developer of the Timeshift tool, Tony George, is busy with other projects. You may have heard about “[TeeJeeTech][6]” apps for Linux. It was created by Tony and had some cool apps. However, he doesn’t have the time to concentrate on Timeshift development and enhancement. + +![Timeshift creating snapshot][7] + +With that said, since Linux Mint now maintains it, some new features land in this release, such as Timeshift now determining how much disk space you need for the next backup in rsync mode (not in btrfs mode). In addition, it stops the backup process if it seems the disk space is less than 1 GB after the backup. + +#### 3. WebP Support + +WebP image is a reasonably new image format created by Google for the web. It brings better compression and reduced size while maintaining good quality to traditional JPEG or PNG images. + +WebP support (view images, thumbnail or edit) in Linux Desktop requires some [additional installation][8] of packages. Looking at the popularity Linux Mint team brings out-of-the-box WebP support across the desktop apps and flavours. + +That means Nemo file manager can show thumbnails of WebP images and view them in xviewer. The mint team always thinks about the end-user first because other distros are still behind on supporting WebP by default, such as Ubuntu. Not only that, the new app [xapp-thumbnailers][9] now helps Nemo file manager to preview additional file types as well: + +- ePub +- MP3 with Album Arts +- RAW Images +- AppImage + +#### 4. Process Monitor + +A small but handy process monitor tool will give you a heads-up on what’s happening in your system. This little icon at the system tray shows up when your system is undergoing automatic updates or backup by TImeshift. Your system may become slow in those situations, and this nifty icon can show you why. + +#### 5. Improved printing support + +Linux Mint is well equipped for devices, and the printer supports it by default. This edition of Mint brings [Internet Printing Protocol (IPP)][10] for driverless printing and scanning. + +In addition, HP’s driver, HPLIP’s latest edition (3.21.12), is also installed by default. + +All these changes streamline printer and scanner usage. And users like you can enjoy effortless printing and scanning. It is such an essential aspect of a Linux distro, but it doesn’t work all the time. While [reviewing many distros][11], I found many fails to detect the printers or even print. + +It’s good to see that the mint team contributed to this critical functionality. + +#### 6. Window Animation updates + +There are some considerable changes come in the Window and desktop animation effects. Firstly, the Effects settings for Windows and desktop are merged now. Earlier, separate sections gave more granular control of the animations. + +Here’s a side-by-side view. + +![][12] + +![][13] + +Secondly, the mapping windows and desktop effects options are removed. + +Third, a new control changes the animation speed from slower to faster. + +Finally, a global switch to disable or enable all the animation on the entire desktop gives you the option for more control. + +I believe this is a well-designed dialog and advanced options for better clarity. + +#### 7. Mutter rebase + +Let’s talk about [Cinnamon desktop version 5.4][14], which comes with Linux Mint 21. It’s the latest Cinnamon release, and Mint is the first distro to bring it to the user (other than traditional Arch Linux folks, who got it [a little early][15]). + +Finally, the team completed the rebase of Mutter into its window manager, Muffin in Cinnamon 5.4. Since Muffin was initially forked from Mutter, it was always lagging behind the upstream Mutter features, despite the backporting of changes. A significant amount of effort went to feature inclusion, bug fixes & clean up to make Muffin as close to the Mutter code base. + +Hence, in the future, it is now easier to port back changes from Mutter upstream and clean things in Muffin as needed. + +#### 8. Window manager and GTK Themes + +With the changes in Muffin, the team also moved some of the display settings from gnome-control-center to cinnamon-control-center. In addition, the display configs from csd-xrandr moved into the Muffin window manager in Cinnamon 5.4. Apparently, you may not see any difference in the Display settings window. However, you may see some performance boost and fewer bugs or issues while scaling displays or in high-res windows. + +Another critical change that the Mint team introduced via CInnamon 5.4 is the uniform render of GTK dialogs in apps. Earlier, if a GTK app used a header bar, then the dialog was a mix of CSD (client side decoration) and GTK themes. + +Now with Cinnamon 5.4, all the windows are rendered using the GTK theme irrespective of their design. And with that, the legacy Metacity themes also dropped. + +On a side note, I loved the Metacity, and its “legacy look” when [they were a thing][16] in the early days of GNOME. + +#### 9. Package Management updates + +Following the trends of Debian, KDE Plasma desktop, Linux Mint also protects your system from uninstalling critical dependent packages. + +When you try to uninstall, Mint now checks the dependencies and whether critical desktop packages will be removed. + +If found, you get an error message that stops you from going further. + +On the other hand, when you successfully uninstall a package, it cleans up all the dependencies with it installed. + +#### 10. Disable the Systemd OOMD (out-of-memory daemon) service + +The “systemd-oomd” had some bad feedback recently since the Ubuntu 22.04 LTS release. Users across the web [reported][17] the sudden closing of applications (such as Firefox) without any warning or user intervention. Further investigation pointed to the “not so well” implementation of the systemd-oomd service. + +In theory, the [systemd-oomd.service][18] monitors your system for out-of-memory situations, and it has the authority to kill any processes which consume more system resources. Ubuntu team did not communicate this with importance, which eventually led to an unpleasant user experience. + +With that knowledge, Linux Mint 21 decides [not to feature][19] this service and disables it. Because the user base of Linux Mint is general users, students, etc., it would be a bad experience for users if apps closed unexpectedly. + +![Systemd OOMD service is not enabled][20] + +#### 11. Other Changes + +Finally, let’s round up some tiny yet impactful changes to wrap up the Linux Mint 21 features. + +- The default document reader app Xreader is now capable of minor annotation. This is a handy feature. +- The WebApp manager now brings custom browser parameters. +- Warpinator file transfer utility now shows you other sources on Windows, Android and iOS devices. +- Mint packages Firefox web browser as deb and not the Snap version, which defaults in Ubuntu 22.04 LTS. Thanks to the Mint team, users need not worry about the [complex set of commands][21] to remove the Firefox Snap from Jammy. + +![Firefox 102 in Linux Mint 21 - Exclusively packaged as deb executable][22] + +- The bulk renamer app Thingy gets some UI improvements. +- The os-prober of GRUB2 is now available to detect all the operating systems in your hardware (handy for dual boot or more systems). +- The Bluetooth manager Blueman replaces Blueberry, bringing additional features for connecting and managing your Bluetooth devices. +- Finally, new wallpapers for your new desktop arrive in this release. + +![New Wallpapers in Linux Mint 21][23] + +### Things that are NOT changing + +From a very high level, you might feel that most of the Linux Mint 21 remain the same as its predecessors. The default desktop looks and default wallpaper remains the same. Xfce and MATE desktop didn’t have any major releases. Hence they are precisely the same. In addition, the default icon theme, application menu, etc., may give you a similar feel to the entire desktop. + +### Wrapping Up + +Overall, a good set of features benefits end users rather than being fancy gestures and stuff. For this very fact, Linux Mint is the best Linux distro today for beginners or end users. So, that concludes the feature highlights of Linux Mint 21. + +You can download/update Linux Mint 21 from the [official website][24]. Also, stay tuned for our detailed distro review of Linux Mint 21 soon. + +What do you think about the new features of Linux mint 21? Is there any feature you expected but didn’t arrive in this release? Let’s discuss this in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/linux-mint-21-features/ + +作者:[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/Linux-Mint-21-Cinnamon-Desktop.jpg +[2]: https://www.debugpoint.com/linux-mint/ +[3]: https://www.debugpoint.com/web-stories/ubuntu-22-04-review/ +[4]: https://www.debugpoint.com/linux-kernel-5-15/ +[5]: https://blog.linuxmint.com/?p=4323 +[6]: https://teejeetech.com/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/07/Timeshift-creating-snapshot.jpg +[8]: https://www.debugpoint.com/view-webp-ubuntu-linux/ +[9]: https://github.com/linuxmint/xapp-thumbnailers +[10]: https://datatracker.ietf.org/doc/html/rfc8011 +[11]: https://www.debugpoint.com/tag/linux-distro-review/ +[12]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-20.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-21.jpg +[14]: https://github.com/linuxmint/cinnamon-desktop/releases/tag/5.4.0 +[15]: https://www.debugpoint.com/cinnamon-arch-linux-install/ +[16]: https://www.debugpoint.com/gnome-classic-ubuntu-22-04/ +[17]: https://askubuntu.com/questions/1404888/how-do-i-disable-the-systemd-oom-process-killer-in-ubuntu-22-04 +[18]: https://www.freedesktop.org/software/systemd/man/systemd-oomd.service.html +[19]: https://debugpointnews.com/linux-mint-21-systemd-oom/ +[20]: https://www.debugpoint.com/wp-content/uploads/2022/07/Systemd-OOMD-service-is-not-enabled.jpg +[21]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ +[22]: https://www.debugpoint.com/wp-content/uploads/2022/07/Firefox-102-in-Linux-Mint-21-Exclusively-packaged-as-deb-executable.jpg +[23]: https://www.debugpoint.com/wp-content/uploads/2022/07/New-Wallpapers-in-Linux-Mint-21.jpg +[24]: https://www.linuxmint.com/download.php From 45eb597299fe12a5a833b6c5ff6912946db8d3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:03:18 +0800 Subject: [PATCH 258/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221103.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Is?= =?UTF-8?q?=20Lua=20worth=20learning.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221103.0 ⭐️⭐️ Is Lua worth learning.md | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md diff --git a/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md new file mode 100644 index 0000000000..179addf957 --- /dev/null +++ b/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md @@ -0,0 +1,190 @@ +[#]: subject: "Is Lua worth learning?" +[#]: via: "https://opensource.com/article/22/11/lua-worth-learning" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Is Lua worth learning? +====== + +Lua is a fun and robust language, with progressive improvements made with each release, and an ever-growing developer base. Discover all of its possibilities. + +Lua is a scripting language used for procedural programming, functional programming, and even [object-oriented programming][1]. It uses a C-like syntax, but is dynamically typed, features automatic memory management and garbage collection, and runs by interpreting bytecode with a register-based virtual machine. This makes it a great language for beginners, but also a powerful tool for experienced programmers. + +Lua has been somewhat eclipsed from the public view by languages like [Python][2] and [JavaScript][3], but Lua has several advantages that make it popular in some major software projects. Lua is easily embedded within other languages, meaning that you can include Lua files in the code base of something written in (for instance) Java and it runs as if it were native Java code. It sounds like magic, but of course there are projects like [luaj][4] working to make it possible, and it's only possible because Lua is designed for it. It's partly because of this flexibility that you're likely to find Lua as the scripting language for video games, graphic applications, and more. + +As with anything, it takes time to perfect, but Lua is easy (and fun) to learn. It's a consistent language, a friendly language with useful error messages, and there's lots of great support online. Ready to get started? + +### Installing Lua + +On Linux, you can install Lua using your distribution's package manager. For instance, on Fedora, CentOS, Mageia, OpenMandriva, and similar distributions: + +``` +$ sudo dnf install lua +``` + +On Debian and Debian-based systems: + +``` +$ sudo apt install lua +``` + +For Mac, you can use [MacPorts][5] or [Homebrew][6]. + +``` +$ sudo port install lua +``` + +For Windows, install Lua using [Chocolatey][7]. + +To test Lua in an interactive interpreter, type `lua` in a terminal. + +### Functions + +As with many programming languages, Lua syntax generally involves a built-in function or keyword, followed by an argument. For instance, the `print` function displays any argument you provide to it. + +``` +$ lua +Lua 5.4.2 Copyright (C) 1994-2020 Lua.org, PUC-Rio + +> print('hello') +hello +``` + +Lua's `string` library can manipulate words (called "strings" in programming.) For instance, to count the letters in a string, you use the `len` function of the `string` library: + +``` +> string.len('hello') +5 +``` + +### Variables + +A variable allows you to create a special place in your computer's memory for temporary data. You can create variables in Lua by inventing a name for your variable, and then putting some data into it. + +``` +> foo = "hello world" +> print(foo) +hello world +> bar = 1+2 +> print(bar) +3 +``` + +### Tables + +Second only to the popularity of variables in programming is the popularity of arrays. The word "array" literally means an arrangement, and that's all a programming array is. It's a specific arrangement of data, and because there is an arrangement, an array has the advantage of being structured. An array is often used to perform essentially the same purpose as a variable, except that an array can enforce an order to its data. In Lua, an array is called a `table`. + +Creating a table is like creating a variable, except that you set its initial content to two braces (`{}`): + +``` +> mytable = {} +``` + +When you add data to a table, it's also a lot like creating a variable, except that your variable name always begins with the name of the table, and is separated with a dot: + +``` +> mytable.foo = "hello world" +> mytable.bar = 1+2 +> print(mytable.foo) +hello world +> print(mytable.bar) +3 +``` + +### Scripting with Lua + +Running Lua in the terminal is great for getting instant feedback, but it's more useful to run Lua as a script. A Lua script is just a text file containing Lua code, which the Lua command can interpret and execute. + +The eternal question, when just starting to learn a programming language, is how you're supposed to know what to write. This article has provided a good start, but so far you only know two or three Lua functions. The key, of course, is in documentation. The Lua language isn't that complex, and it's very reasonable to refer to the [Lua documentation site][8] for a list of keywords and functions. + +Here's a practice problem. + +Suppose you want to write a Lua script that counts words in a sentence. As with many programming challenges, there are many ways to go about this, but say the first relevant function you find in the Lua docs is `string.gmatch`, which can search for a specific character in a string. Words are usually separated by an empty space, so you decide that counting spaces + 1 ought to render a reasonably accurate count of the words they're separating. + +Here's the code for that function: + +``` +function wc(words,delimiter) + count=1 + for w in string.gmatch(words, delimiter) do + count = count + 1 + end + + return count +end +``` + +These are the components of that sample code: + +- `function`: A keyword declaring the start of a function. A custom function works basically the same way as built-in functions (like `print` and `string.len`.) +- `words` and `delimiter`: Arguments required for the function to run. In the statement `print('hello')`, the word `hello` is an argument. +- `counter`: A variable set to 1. +- `for`: A loop using the `string.gmatch` function as it iterates over the `words` you've input into the function, and searches for the `delimiter` you've input. +- `count = count +1`: For each `delimiter` found, the value of `count` is re-set to its current value plus 1. +- `end`: A keyword ending the `for` loop. +- `return count`: This function outputs (or returns) the contents of the `count` variable. +- `end`: A keyword ending the function. + +Now that you've created a function all your own, you can use it. That's an important thing to remember about a function. It doesn't run on its own. It waits for you to call it in your code. + +Type this sample code into a text file and save it as `words.lua`: + +``` +function wc(words,delimiter) + count=1 + for w in string.gmatch(words, delimiter) do + count = count + 1 + end + return count +end + +result = wc('zombie apocalypse', ' ') +print(result) + +result = wc('ice cream sandwich', ' ') +print(result) + +result = wc('can you find the bug? ', ' ') +print(result) +``` + +You've just created a Lua script. You can run it with Lua. Can you find the problem with this method of counting words? + +``` +$ lua ./words.lua +2 +3 +6 +``` + +You might notice that the count is incorrect for the final phrase because there's a trailing space in the argument. Lua correctly detected the space and tallied it into `count`, but the word count is incorrect because that particular space happens not to delimit a word. I leave it to you to solve that problem, or to find other ways in which this method isn't ideal. There's a lot of rumination in programming. Sometimes it's purely academic, and other times it's a question of whether an application works at all. + +### Learning Lua + +Lua is a fun and robust language, with progressive improvements made with each release, and an ever-growing developer base. You can use Lua as a utilitarian language for personal scripts, or to advance your career, or just as an experiment in learning a new language. Give it a try, and see what Lua brings to the table. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/lua-worth-learning + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/object-oriented-lua%20 +[2]: https://opensource.com/resources/python +[3]: https://opensource.com/article/22/9/javascript-glossary +[4]: https://github.com/luaj/luaj +[5]: https://opensource.com/article/20/11/macports +[6]: https://opensource.com/article/20/6/homebrew-linux +[7]: https://opensource.com/article/20/3/chocolatey +[8]: http://www.lua.org/docs.html From 71fef3d3b77f8b513de30cbf3ad6b2e89317c9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:05:18 +0800 Subject: [PATCH 259/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221103.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Trim=20a=20Video=20in=20VLC=20Player=20[If=20You=20Rea?= =?UTF-8?q?lly=20Want=20to].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...m a Video in VLC Player [If You Really Want to].md | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md diff --git a/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md new file mode 100644 index 0000000000..83b730942d --- /dev/null +++ b/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md @@ -0,0 +1,132 @@ +[#]: subject: "How to Trim a Video in VLC Player [If You Really Want to]" +[#]: via: "https://itsfoss.com/vlc-trim-video/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Trim a Video in VLC Player [If You Really Want to] +====== + +VLC media player is one of the [best media players][1] out there. This cross-platform player is feature rich and it can literally play any media format that’s available. + +You’ll be surprised to know that VLC is much more than just a video player. It can do a lot of things with your media files. + +[Downloading YouTube video with VLC][2] is one of the [VLC tips][3] we have shared on It’s FOSS. + +Let me share another one with you. How about trimming a video with VLC? It’s not the best way to [trim videos][4] but it is available as an option. + +### Trim videos using VLC + +Trimming a video in VLC essentially means recording the video from the beginning to end of the required portion. The recording control tools are usually not visible in the VLC panel by default. + +Let me show the steps in detail. + +#### Step 1: Enable advanced controls + +To get the controls, you need to make it visible on the main control panel. + +First select the view option and then check the Advanced controls check box. Now, a new row of controls with a couple of buttons appears as shown in the screenshot. + +![enable advanced controls view in vlc player][5] + +#### Step 2: Open the video + +In order to trim a video, you need to open it in VLC. You can either open the video in VLC player by Media > Open File: + +![open media file through vlc file menu][6] + +Or you can open the video file with VLC from Nautilus file manager: + +![open media file with vlc player from nautilus file manager][7] + +#### Step 3: Trim video using VLC’s recording feature + +Once video file is opened, set the timeline to the starting point of the required output and pause the video. After that, press the record button and play the video. + +![pause at start point and start record by pressing record button][8] + +When the end point of the required output is reached, pause the video and press the record button again to stop recording. + +![pause at end point and press record][9] + +This should save the trimmed output to your ~/Videos directory. + +![original and trimmed file in nautilus file manager][10] + +### Troubleshooting: Unrecognized Output File + +VLC records the videos in .ts file format. This is supported in VLC, and you can use that as you want. But many other players in Ubuntu, including the native video player doesn’t recognize the format. So, in this case, there are two solutions. + +#### Gnome-Video prompts Installation of GStreamer package + +When you try to open the file, GNOME-Videos will prompt an error and suggestion to install Gstreamer multimedia codecs. + +![converted video shows a play error in gnome video player app][11] + +You can click on the “Find in Ubuntu Software” button as shown above, which will open ubuntu software center. There you can install the required codec package. + +![install gstreamer from software as prompted by the gnome video player][12] + +Install the same and open the video with Gnome-videos again will solve the problem. + +#### Convert the Video file using VLC + +If you don’t want to install any additional packages for the purpose, you can use VLC itself to convert the .ts file to mp4 format to play in any other player. + +For this, open VLC and select Convert option under File menu. + +![select convert from media menu][13] + +Now, provide the location of the file that needs to be converted using the “Add” button and select Convert/Save as shown in the screenshot. + +![select file to convert in the media convert dialog box][14] + +Select the required output profile (MP4) and set a file name for the output and press Start. + +![set conversion profiles and output file name in vlc media convert menu][15] + +This will start the conversion and will be completed as per the duration of the source. Once done, you can access the converted output from your ~/Videos directory. + +![original trimmed and converted file in nautilus file manager][16] + +### Wrapping Up + +While it is true that VLC player can be used to trim videos, the entire process is in no way similar to a dedicated [video editor][17]. + +The biggest issue is that you need to watch the entire trim portion to compete the trimming, which is not convenient if you are trimming a large portion of a video spanning several minutes. + +Anyway, this cool feature can be a handy tool on some occasion, where all you want is to trim a particular small clip or make a gif from a movie scene. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/vlc-trim-video/ + +作者:[Sreenath][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/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/video-players-linux/ +[2]: https://itsfoss.com/download-youtube-videos-vlc/ +[3]: https://itsfoss.com/simple-vlc-tips/ +[4]: https://itsfoss.com/video-trimmer/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/enable-advanced-controls-view-in-vlc-player.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-through-vlc-file-menu.png +[7]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-with-vlc-player-from-nautilus-file-manager.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-start-point-and-start-record-by-pressing-record-button.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-end-point-and-press-record.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/original-and-trimmed-file-in-nautilus-file-manager.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/converted-video-shows-a-play-error-in-gnome-video-player-app.png +[12]: https://itsfoss.com/wp-content/uploads/2022/11/install-gstreamer-from-software-as-prompted-by-the-gnome-video-player.png +[13]: https://itsfoss.com/wp-content/uploads/2022/11/select-convert-from-media-menu.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/select-file-to-convert-in-the-media-convert-dialog-box.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/set-conversion-profiles-and-output-file-name-in-vlc-media-convert-menu.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/original-trimmed-and-converted-file-in-nautilus-file-manager.png +[17]: https://itsfoss.com/open-source-video-editors/ From 07b5061eabcf3553129c12771ee054cf41c31980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:07:31 +0800 Subject: [PATCH 260/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221103.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Xf?= =?UTF-8?q?ce=204.18=20Top=20New=20Features=20&=20Release=20Guide.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Xfce 4.18 Top New Features & Release Guide.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md diff --git a/sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md b/sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md new file mode 100644 index 0000000000..1e16d2a91d --- /dev/null +++ b/sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md @@ -0,0 +1,163 @@ +[#]: subject: "Xfce 4.18: Top New Features & Release Guide" +[#]: via: "https://www.debugpoint.com/xfce-4-18-features/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Xfce 4.18: Top New Features & Release Guide +====== + +**A comprehensive guide of Xfce 4.18 features across core & native apps.** + +After almost two years of development, Xfce 4.18 will be released during Christmas 2022. Coming as a major release since [Xfce 4.16][1], the development was going on to enhance this lightweight desktop under the development tag 4.17. + +Xfce 4.18 is a significant milestone considering GTK4 updates, initial Wayland support and revamp of core native apps. The volume of updates is massive. + +Release-wise, the first Xfce 4.18 pre-release (pre1) is now out. There shall be another pre-release in the first week of December 2022. And the Xfce 4.18 final release is expected between December 15 and December 29, 2022. + +Since there is no official detailed write-up yet, I have summarised this article with essential and major Xfce 4.18 features. + +Read on. + +![Xfce 4.18 pre1 (compiled in Arch)][2] + +### Xfce 4.18: New Features + +#### 1. Core library updates + +The dependencies of Xfce 4.18 is changed and compiled using the following versions. + +- glib-2.0 >= 2.66 +- gtk >= 3.24 +- libcairo >= 1.16 +- gdk-pixbuf-2.0 >= 2.40 +- gobject-introspection >= 1.66 + +#### 2. Desktop and Panel + +The primary top panel brings new settings and tweaks. But the overall look remains the same as before in the 4.16 version. Some default Panel applets are also changing in this version. The desktop icons, right-click context menu, and items remain unchanged. + +Panel preference gets two new options. Firstly, the length of the Panel is **now in pixels** rather than in percentages. Secondly, a new option, **“Keep panel above windows”**, helps you to send back window dialogues behind the panel. Earlier the app windows could only reach up to the panel edge. + +![Panel preferences in Xfce 4.18][3] + +The clock applet settings are overhauled. Yes, finally, you can change the font style in the Xfce clock applet. Along with that, four clock layout arrives – + +- date only +- time only +- date and time +- time and date + +In addition, you can also add commands to Calendar. + +![Finally you can change the font of Xfce Clock applet][4] + +#### 3. Thunar File manager + +Perhaps, the most exciting change in this release is the features in the Thunar file manager. Firstly, a new **search icon replaces the reload button in the toolbar**. When clicked, it brings up the search at the address bar, it does a recursive search with your search keyword. The reload button goes to the View menu. + +Secondly, a **new item, “Recent”,** is added on the left navigation bar. At the bottom, the metadata is more organized (from comma separated to pipe separated), and a new context menu item to select your desired option. + +![Thunar 4.18 visual changes][5] + +The main menu of Thunar gets many changes. Here is a list of significant ones. Also marked in the following images is what has changed since 4.16. + +- A **new bookmark menu** is introduced, adding the current folder to the sidebar as a shortcut. +- The Edit menu gets **UNDO and REDO** options. +- Go menu gets Recent and search for the file option. + +Thunar gets the **Split view** via the View menu item for the first time! Yes, you can now drag & drop items in the view panels. + +A while back, I [reported][6] that the image preview was arriving in Thunar. And it’s finally here. Developed part of Google Summer of Code 2022, you can now see the image preview in the sidebar embedded. Or at a new panel at the right as a standalone mode. It can be changed via preferences. + +Here’s how it looks. + +![Thunar split view with standalone image preview][7] + +![Thunar split view with embedded image preview][8] + +#### 4. Thunar Preferences + +A significant number of tweaks arrive in Thunar settings. Firstly, a new tab with the option to customize your keyboard shortcuts for Thunar. You can directly assign new keyboard combinations and change the existing ones from this tab. + +![New shortcut tab in Thunar][9] + +The display settings get a new section for Thumbnails where you can now specify the file size for Thumbnails. And the Thumbnail specific settings are grouped together. + +![Thunar Display Settings in 4.18][10] + +The Side Pane tab gets a new option for image preview, which you saw above. You can change the settings to embedded or standalone preview. Furthermore, the Behaviour tab gets the option to **restore tabs on startup** and show the **full directory path** in tab titles, which will help insanely. + +The Advanced tab gets a new settings section for File transfer with two new options to **intermediate file copy & verify the**checksum. In addition, a new option for recursive search is also added in this tab. You can also set Thunar to **execute** the **Shell script directly** via the following option. + +![Advanced options of Thunar 4.18][11] + +In addition to the above changes, the folder properties dialogue now show you the **count of file and folders**. Also, a new highlight option enables you to choose any **custom colour** for your folder icon background and foreground. This will allow you to navigate if you have a complex folder structure quickly. + +Here’s how it looks. + +![Folder highlight demo][12] + +#### Settings + +- Appearances settings now allow you to turn on and off the header bar in dialogs. + +- Desktop settings allow the Delete option in the file context menu (on or off) + +- Display settings now allow you to set a default for multiple display situations – whether to mirror, extend the display or do nothing. Earlier, the options were available when displays were connected. + +#### Wayland and other updates + +In addition to the above Xfce 4.18 features, many additional bug fixes and performance improvements have arrived for the window manager and desktop. Those are all under the hood, and you should feel a more polished Xfce desktop experience. + +Wayland migration work for Xfce desktop core and native apps started. It’s a long way until it is fully ready. In this release, you may not get much of Wayland updates. However, many apps already work fine under Wayland. You can learn more about the migration status on [this page][13]. + +### Download & Distro Availability + +Xfce 4.18 should make it to Ubuntu 23.04 Lunar Lobster on April 2023 and in Fedora 38. Rolling release-based distros such as Arch Linux, Manjaro and OpenSUSE Tumbleweed should get it within a few days of its release on December 2022. Lightweight and popular distro [MX Linux][14] should feature this version in 2023 while refreshing itself for Debian Bookworm. + +The first pre-release of Xfce 4.18 is [now out][15]. You can download the source tar balls from the below page and compile them. Refer to the official [compilation guide][16]. + +[Download Xfce 4.18 source (pre1)][17] + +### Closing Notes + +Overall, the number of changes is massive. Many core changes and needed ones made it to this release. The Thunar file manager updates were long-due and should be perfect for Xfce lovers. + +With Wayland’s support, the future Xfce release might bring a workable version of Xfce. The Wayland support is still in progress, and many decisions are pending for each component. Many distributions and critical deployments still prefer Xfce over KDE Plasma or GNOME. Considering those use cases and future roadmap, Xfce 4.18 is a major stepping stone before the next release. + +What is your favourite feature in the list? Let me know in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/xfce-4-18-features/ + +作者:[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/xfce-4-16-review/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Xfce-4.18-pre1-compiled-in-Arch-1024x594.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Panel-preferences-in-Xfce-4.18.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Finally-you-can-change-the-font-of-Xfce-Clock-applet.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-4.18-visual-changes.jpg +[6]: https://debugpointnews.com/thunar-image-preview/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-embedded-image-preview.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-sidebar-image-preview.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/11/New-shortcut-tab-in-Thunar.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-Display-Settings-in-4.18.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/11/Advanced-options-of-Thunar-4.18.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/11/Folder-highlight-demo.jpg +[13]: https://wiki.xfce.org/releng/wayland_roadmap +[14]: https://www.debugpoint.com/tag/mx-linux +[15]: https://www.reddit.com/r/xfce/comments/yjiwwv/announce_xfce_418pre1_released/ +[16]: https://docs.xfce.org/xfce/building +[17]: https://archive.xfce.org/xfce/4.18pre1/fat_tarballs From ea910e90af1270ed34a0990e5124e78c7a130a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:08:27 +0800 Subject: [PATCH 261/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221103.4=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20and=20Use=20Snap=20Packages=20in=20Ubuntu.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... to Install and Use Snap Packages in Ubuntu.md | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 sources/tech/20221103.4 ⭐️ How to Install and Use Snap Packages in Ubuntu.md diff --git a/sources/tech/20221103.4 ⭐️ How to Install and Use Snap Packages in Ubuntu.md b/sources/tech/20221103.4 ⭐️ How to Install and Use Snap Packages in Ubuntu.md new file mode 100644 index 0000000000..0248cc800c --- /dev/null +++ b/sources/tech/20221103.4 ⭐️ How to Install and Use Snap Packages in Ubuntu.md @@ -0,0 +1,160 @@ +[#]: subject: "How to Install and Use Snap Packages in Ubuntu" +[#]: via: "https://www.debugpoint.com/how-to-install-and-use-snap-packages-in-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install and Use Snap Packages in Ubuntu +====== + +**A tutorial on how to find, install and maintain snap packages in Ubuntu.** + +Snappy (in short, Snap) packages are transactional packages developed by Canonical for Ubuntu for its line of solution offerings. Due to its transactional nature, snap packages can be used in across Linux Distributions. Snap packages are handy due to their atomic update in nature for critical industrial use cases such as IoT. + +The packages can be found and installed via the command line, primarily from a web store called [Snapcraft][1]. The snap packages can also be downloaded from this store as .snap files, containing all the dependencies needed inside the .snap package. + +The installed snap software is installed in their respective folders and doesn’t interfere with the rest of the system. That means if you have installed software via typical `apt-get install xyz` and installed the same software by installing`xyz.snap`, then both versions of the same software can co-exist on your PC without interfering with each other. + +In contrast, [Flatpak][2] also has a similar concept and offers much more robust offerings, mainly for GUI-driven apps. + +This article will show you how to perform basic operations with snap via the command line. + +### How to install and manage Snap packages in Ubuntu + +#### 1. Find a Snap Package + +To find a snap package, run the below command. It will give you a list of all available snap packages, their version and description. + +``` +snap find +``` + +![snap find][3] + +You can give the name as an argument to find a specific snap package. + +``` +snap find name_of_package +``` + +![snap find name][4] + +#### 2. Install a Snap Package from Command Line + +To install a snap package, run the below command with the snap package name. + +``` +sudo snap install name-of-the-package +``` + +![snap install][5] + +The command will install the package with all of its dependencies in your system. In addition, you can also see the progress of your installation. + +After installation, you can launch the application directly from the application menu. + +#### 3. Updating Snap Package + +You can update an installed snap package by using the below command: + +``` +sudo snap refresh name-of-the-package +``` + +![snap refresh][6] + +#### 4. List your installed snaps + +To list down all the snap packages installed in your system, use the below command; + +``` +snap list +``` + +![snap list][7] + +#### 5. Removing (or uninstalling) a snap package + +To remove a snap package from your system, run the below command: + +``` +sudo snap remove name-of-the-package +``` + +![snap remove][8] + +#### 6. View Snap Activity + +To view the recent changes done using snap in your system, run the below command. This will give the installed/updated activity list in those snap packages with the date and time stamps. + +``` +snap changes +``` + +![snap changes][9] + +#### 7. Handling Snap Errors + +There are some errors you may encounter while installing/maintaining snap packages. E.g. while downloading a snap package via command `snap install`, if you press `CTRL+C` for abort, then you may get the below error while trying for the second time and so on. This is so bad that you can’t even install any other snap packages. + +``` +error: can't install "notes": snap "ubuntu-core" has changes in progress. +``` + +![snap err][10] + +Ideally, when you do the same when installing via the apt install command, apt will take care when you run it for the second time. + +**To solve this error, follow these steps:** + +- Run the below command to find out the ID of the error installation. + +``` +snap changes +``` + +![snap changes abort][11] + +- As you can see, ID=7 is the installation which I aborted. Now, run the below command with the ID. + +``` +sudo snap abort 7 +``` + +![snap abort][12] + +- This will abort the pending change that still has a pending task. Now you can continue installing the same package or a different package. + +### Closing Notes + +In this article, you learned some fundamental commands for managing snap packages in the Ubuntu system via the terminal. This should get you started for now. Also, for more common tasks such as install and remove – you can visit snapcraft.io and use install methods there. Further documentation about snap is available in the [official reference][13]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-install-and-use-snap-packages-in-ubuntu/ + +作者:[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://snapcraft.io/ +[2]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[3]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-find.png +[4]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-find-name.png +[5]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-install.png +[6]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-refresh.png +[7]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-list.png +[8]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-remove.png +[9]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-changes.png +[10]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-err.png +[11]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-changes-abort.png +[12]: https://www.debugpoint.com/wp-content/uploads/2016/07/snap-abort.png +[13]: https://snapcraft.io/docs From 657623357d676b41ae21f1e9149c7b9377f72c98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:09:03 +0800 Subject: [PATCH 262/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221103.5=20=E2=AD=90=EF=B8=8F=20Grafana=20Phlare=20i?= =?UTF-8?q?s=20a=20New=20Scalable=20Open-Source=20Database=20to=20Enhance?= =?UTF-8?q?=20Observability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...en-Source Database to Enhance Observability.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md diff --git a/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md b/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md new file mode 100644 index 0000000000..8a36782a27 --- /dev/null +++ b/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md @@ -0,0 +1,95 @@ +[#]: subject: "Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability" +[#]: via: "https://news.itsfoss.com/grafana-phlare/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability +====== + +Grafana Phlare aims to be a scalable, durable, cheap, and open-source database for continuous profiling data. + +![Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability][1] + +[Grafana][2] is a popular open-source data visualization tool that supports various object storage and cloud services. + +To improve on what they offer, Grafana has announced a **new open-source database for continuous profiling data** that helps enhance the monitoring of servers (or your application), making life easier for performance engineers and enterprises. + +### Open Source Database for Continuous Profiling + +![Introducing Grafana Phlare][3] + +Credits: Grafana Labs + +> 💡Continuous Profiling is a dynamic method of analyzing key performance metrics of a server, such as CPU utilization, memory usage, and more, at any period of time. + +Grafana Phlare is a highly scalable database that aims to provide users with a long-term storage solution for continuous profiling data. + +The core features involve: + +- **Easy to install** +- **Horizontal scalability** +- **High availability** +- **Cheap, durable profile storage** +- **Natively multi-tenant (enabling independent teams to share the same database)** + +You would say that: there are already a few similar open-source projects. And you wouldn't be wrong. + +But, the team behind Phlare mentioned that those tools were not reliable or scalable enough to meet Grafana Labs' continuous profiling needs. + +> So we decided to get to work creating a database for continuous profiling telemetry, based on the design principles that have made our other open source observability backends, Loki, Tempo, and Mimir, so successful: horizontally scalable architecture and use of object storage.- Cyril Tovena, Software Engineer at Grafana + +As for the technical tidbits of Phlare, it uses object storage to store profiling data and supports various object storage services such as[Amazon S3][4], [Google Cloud Storage][5], [OpenStack Swift][6], and more. + +Also, Cyril mentions that Grafana Phlare is incredibly easy to install: + +> It’s easy to install with just one binary and no additional dependencies, just like [Prometheus][7]. + +![grafana phlare][8] + +Credits: Grafana Labs + +**Furthermore**, it can natively integrate with Grafana to show users a detailed view of the whole stack and includes various observability signals such as metrics, logs, and traces. + +To complement Phlare, the team also added a new Flame graph panel to better visualize system resources data via various data sources. + +![grafana phlare flame graph panel][9] + +Credits: Grafana Labs + +**As a bonus**, Grafana also announced a data source plugin for another open-source continuous profiler called '[Parca][10]'. + +### 👨‍💻 Try Grafana Phlare + +Grafana Phlare is made available as a single binary and can be procured from the official [GitHub repository][11]. + +You may want to review its [official documentation][12] to learn more about it. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/grafana-phlare/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/grafana-phlare-opensource-scalable-db.png +[2]: https://grafana.com/grafana/ +[3]: https://player.vimeo.com/video/766320003?h=8c877d70d4&app_id=122963 +[4]: https://aws.amazon.com/s3/ +[5]: https://cloud.google.com/storage +[6]: https://github.com/openstack/swift +[7]: https://grafana.com/oss/prometheus/?pg=blog&plcmt=body-txt +[8]: https://news.itsfoss.com/content/images/2022/11/Grafana-2.png +[9]: https://news.itsfoss.com/content/images/2022/11/Grafana.png +[10]: https://www.parca.dev +[11]: https://github.com/grafana/phlare +[12]: https://grafana.com/docs/phlare/latest/ From be61d081d988876405fc144b6685a83c58741cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:23:45 +0800 Subject: [PATCH 263/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221103.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20How=20To=20Securely=20Transfer=20Files=20W?= =?UTF-8?q?ith=20SCP=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How To Securely Transfer Files With SCP In Linux.md | 535 ++++++++++++++++++ 1 file changed, 535 insertions(+) create mode 100644 sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md diff --git a/sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md new file mode 100644 index 0000000000..5dd5dc34d8 --- /dev/null +++ b/sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -0,0 +1,535 @@ +[#]: subject: "How To Securely Transfer Files With SCP In Linux" +[#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How To Securely Transfer Files With SCP In Linux +====== + +File transfer over a network can be done in various ways and using different protocols. The most commonly used protocols for **copying files remotely** are **Rsync**, **SCP** and **SFTP**. In this guide, we will look at **what is SCP** and how to **securely transfer files between local and remote computers with SCP** in Linux and Unix-like operating systems. + +### What is SCP? + +SCP, stands for **Secure Copy**, is a command line program to copy files and directories between a local and a remote system or between two remote systems in a secure way in Linux and Unix-like operating systems. + +Using `scp` command, you can securely copy a file or a directory, + +- from your local system to a remote system, +- from a remote system to your local system, +- between remote systems from your local system. + +When transferring data with the scp command, the files and directories are both encrypted. So even if your network is compromised, the perpetrators can't get any meaningful data. + +SCP is a component of the openSSH program and it uses the SSH protocol to securely transfer files. OpenSSH comes pre-installed with almost all modern Linux and Unix distributions, so don't bother installing it. + +#### A word of caution: + +According to the **official announcement** from the openSSH developers, + +> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] + +However, the majority of the users still prefer SCP over other protocols. Because, SCP handles remote-to-remote file transfers more efficiently than its counterparts such as SFTP and Rsync. + +And also, SCP works exactly like `cp` command, while `rsync` changes its behavior based on whether the source directory has a **trailing slash** or not. Take a look at the following commands: + +- `rsync source destination/` - would copy the source into the destination folder. +- `rsync source/ destination/` - would copy the contents of the source folder into the destination folder. + +So you must always double check if you've put the trailing slash in the path. + +I personally use **[Rsync][2]** for copying large size files between two hosts and SCP for copying single files over a network. + +### SCP Command Syntax + +The general syntax for SCP command is given below: + +``` +scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target +``` + +Depending upon the file transfer path, the syntax will differ. Here I have included some example syntax format. + +Copy a file from your local system to a remote system: + +``` +scp SourceFile User@RemoteHost:RemotePath +``` + +Similarly, to copy a directory from your local system to a remote system, use `-r` flag: + +``` +scp -r SourceDirectory User@RemoteHost:RemotePath +``` + +Copy multiple files to a remote system: + +``` +scp SourceFile1 SourceFile2 User@RemoteHost:RemotePath +``` + +Copy a file from remote system to your local system: + +``` +scp User@RemoteHost:RemoteFilePath DestinationFile +``` + +Copy a directory from remote system to local system: + +``` +scp -r User@RemoteHost:RemoteDirectoryPath DestinationDirectory +``` + +Copy a file from one remote system to another remote system from your local system: + +``` +scp User@RemoteHost1:RemoteFile1 User@RemoteHost2:RemotePath +``` + +Please note that when you copy files between two remote systems, the traffic will not pass through the local system. The operation takes place directly between two remote systems. You can, however, pass the traffic from the system on which you run scp command using `-3` option. + +Copy a directory from one remote system to another remote system from your local system: + +``` +scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath +``` + +### SCP Command Options + +The most commonly used options of SCP command are: + +- **`-C`** : Enable compression. Here, C stands for Compression. When you use this option, the data transfer speed will be faster, because the data is compressed. SCP will automatically enable the compression at the source system and decompression at the destination system. +- **-c ** : c stands for cipher. By default, SCP uses **'AES-128'** encryption method for encrypting data. You can change the encryption method using `-c` option. +- **`-i `** : i stands for Identity file or Private key. As you already know, there are password-based and key-based authentication used in SSH. If you want to use key-based authentication while transferring files, you can use the -i option to specify the Identity file or Private key. +- **`-l limit`** : l stands for limit bandwidth. Using this option, you can set the maximum bandwidth used for transferring data. The limit should be specified in **`Kbit/s`**. +- **-F ** : Some times, you may need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `-F` option. +- **`-P port`** - P stands for Port. Please note that it is uppercase P. By default, SSH uses port number 22. You might have changed the port number in the destination host for security reasons. In that case, you should explicitly mention the new port number using `-P` option. +- **-p** : if you want to preserve modification times, access times, and modes from the original file, you need to use -p option while copying files. Please note that it is lowercase p. +- **`-r`** : Recursively copy entire directories. +- **`-B`** : B stands for batch mode. It is used for selecting batch mode while transferring files. It prevents asking for passwords or passphrases. +- **`-S program`** : Name of the program to use for the encrypted connection. +- **-v** : v stands for verbose. When using the `-v` option, the command will print the progress in your Terminal screen. So, you will see the what exactly is going on when the files are being transferred. It is useful in debugging connection, authentication, and configuration problems. + +SCP has so many options. You can check the man pages of SCP command to learn about other options. Let us see some **useful scp command examples**. + +### Important Notes to Remember before You Begin + +- The `scp` command relies on `ssh` for secure file transfer. So you must have either a **ssh key** or **password** to authenticate to the remote systems. +- To be able to transfer files, you must have **read permission on the source files** and **write permission on the destination** location. +- The `scp` command will not check the destination location before writing. Any files in the destination with the same name will be **overwritten without notification**. +- To be able to distinguish between local and remote locations, use a **colon** (**`:`**). +- When transferring large files, it is recommended to start the task inside a **[Screen][3]** or **[Tmux][4]** session. + +### Transfer Files With SCP in Linux + +As I already mentioned, we can use `scp` command to copy a file or a directory from a local system to a remote system and vice versa and copy files and folders between one remote computer to another remote computer. + +#### 1 Copy Files with SCP from Local System to Remote System + +To copy a file from a local system to a remote system using `scp` command, run: + +``` +$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +**Sample Output:** + +``` +ostechnix@192.168.1.40's password: +File1.txt 100% 104 814.0KB/s 00:00 +``` + +Let us break down the above command and see what each option does. + +- `**File1.txt**` - The source file to be copied to the destination. +- `**ostechnix**` - The username of the remote system. +- `**192.168.1.40**` - The IP address of the remote system. +- `**/home/ostechnix/**` - The destination directory in the remote system. This is the absolute path where we want to transfer the source file i.e. `File.txt`. + +You can also copy the file and rename it as well. The following command transfers the **`File1.txt`** to the destination and saves the file with different name **`myfile.txt`**. + +``` +$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/myfile.txt +``` + +![Copy Files From Local System To Remote System][5] + +Copy Files from Local System to Remote System + +#### 2. Copy Multiple Files with SCP from Local System to Remote System + +To transfer multiple files from a local system to a remote system with `scp` command, run: + +``` +$ scp File1.txt File2.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +**Sample Output:** + +``` +ostechnix@192.168.1.40's password: +File1.txt 100% 104 689.4KB/s 00:00 +File2.txt 100% 496 6.3MB/s 00:00 +``` + +![Copy Multiple Files from Local System to Remote System][6] + +Copy Multiple Files from Local System to Remote System + +Here, + +- `**File1.txt**` and **`File2.txt`** - The name of the sources that will be copied to the specified destination. +- `**ostechnix@192.168.1.40**` - The username and IP address of the remote system. +- `**/home/ostechnix**` - The destination path where we want to put the copied files. + +If the files have same extension, you can use the following alternative commands to achieve the same goal. + +``` +$ scp {File1,File2}.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +Or, + +``` +$ scp *.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 3. Recursively Copy Directories with SCP from Local System to Remote System + +To recursively copy an entire directory including the sub-directories and its contents from your local system to a remote system, use **`-r`** flag like below. + +``` +$ scp -r Documents/ ostechnix@192.168.1.40:/home/ostechnix/ +``` + +![Copy a Directory from Local System to Remote System][7] + +Copy a Directory from Local System to Remote System + +The above command will copy the entire directory **'`Documents`'** including its contents to the destination system. + +Here, + +- **`-r`** : Copy files and directories recursively including the sub-directories and its contents. +- **`Documents`** : The name of the source directory that we want to copy to the destination. +- `**ostechnix@192.168.1.40**` : The username and IP address of the remote system. +- `**/home/ostechnix**` : The destination path where we want to put the copied directory. + +#### 4. Transfer Files with SCP from Remote System to Local System + +Remember we copied `FIle1.txt` to the remote system from our local system. Let us copy it back to the local system. + +To copy a file from a remote system to your local system with `scp`, run: + +``` +$ scp ostechnix@192.168.1.40:/home/ostechnix/File1.txt Downloads/ +``` + +Here, + +- `**ostechnix@192.168.1.40**` : The username and IP address of the remote system. +- **`/home/ostechnix/File.txt`** : The absolute path of file that we want to copy to the local system. +- **`Downloads`** - The location where to save the copied file. + +![Transfer Files from Remote System to Local System][8] + +Transfer Files from Remote System to Local System + +#### 5. Transfer Multiple Files using SCP from Remote System to Local System + +To copy multiple files from a remote system to your local system, mention the absolute path of the files that you want to copy **within the curly braces** as shown below. + +``` +$ scp ostechnix@192.168.1.40:/home/ostechnix/\{File1.txt,File2.txt\} Downloads/ +``` + +![Transfer Multiple Files from Remote System to Local System][9] + +Transfer Multiple Files from Remote System to Local System + +The above command will copy the `File1.txt` and `File2.txt` from the `/home/ostechnix/` directory of the remote system to the `Downloads` directory of the local system. + +Please note that there is **no spaces after the commas within the curly braces**. + +#### 6. Recursively Copy Directories from Remote System to Local System + +To copy an entire directory including the sub-directories and its contents recursively from a remote computer to your local system using `scp`, use **`-r`** flag. + +``` +$ scp -r ostechnix@192.168.1.40:/home/ostechnix/Documents Downloads/ +``` + +The above command will copy the entire **`Documents`** from the remote system to the **`Downloads`** directory in your local system. + +#### 7. Copy Files using SCP between Two Remote Computers + +To copy files directly from one remote system to another remote system with `scp`, run: + +``` +$ scp senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ +``` + +You will be asked to enter the password of the both remote systems. + +Here, + +- **`senthil@192.168.1.40`** - The username and IP address of the remote system from the file is currently located. +- **`/home/senthil/File1.txt`** - The name the file1 that is being copied and its location. +- `**kumar@192.168.1.20**` - The username and IP address of the remote system where we want to copy the file. +- **`/home/kumar`** - The location where to save the copied file on the remote system. + +The above command will copy the `/home/senthil/File1.txt` from the remote host `192.168.1.40` to `/home/kumar/` directory on the remote host `192.168.1.20`. + +In this method, the data will be transferred directly from one remote system to another remote system. If you want to route the traffic through the machine on which the command is run, use `**-3**` flag like below. + +``` +$ scp -3 senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ +``` + +#### 8. Enable Compression while Copying Files with SCP + +So far we have transferred files without compressing them. Now we will enable compression while transferring files using **`-C`** flag. + +``` +$ scp -C File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +The `-C` flag will enable compression of data at the source and automatically decompress the data at destination side. + +By enabling compression, you can increase the file copy or transfer speed significantly. + +#### 9. Limit Bandwidth while Transferring Files using SCP + +We can limit the bandwidth while copying files with SCP using `-l` flag. Please note that the maximum bandwidth is specified in Kbits/s. 1 byte=8 bits. So if you want to limit bandwidth to 200 KB/s, the value for `-l` would be **1600** (200*8). + +``` +$ scp -l 1600 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +This is useful when transferring large files to prevent SCP from throttling the bandwidth. + +#### 10. Use Different Port while Copying Files using SCP + +As a system admin, you might **[have changed the default port of your SSH protocol][10]** on the remote servers for security reasons. In such cases, you can specify the port number with `-P` flag when transferring files. Please note that this is **uppercase P**. + +``` +$ scp -P 2022 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 11. Use Different Cipher while Copying Files with SCP + +By default, SCP uses **'`AES-128`'** for encrypting files. If you want to use different cipher, use **`-c`** flag followed by the cipher name. + +For example, if you want to use **'`3des-cbc`'** cipher, the command would be like below: + +``` +$ scp -c 3des-cbc File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +To view the list of supported ciphers, run: + +``` +$ ssh -Q cipher localhost | paste -d, -s - +``` + +**Sample Output:** + +``` +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com +``` + +#### 12. Copying Files with SCP in Verbose Mode + +if you want to know what's going on behind the scenes while copying files with scp, you can use `**-v**` flag. When transferring files with SCP in Verbose mode, the step by step process of the SCP command execution will be displayed in the terminal. This comes in handy when troubleshooting times. + +``` +$ scp -v File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +You will see a whole lot of output when sending files in Verbose mode as shown in the following output. + +![Copying Files with SCP in Verbose Mode][11] + +Copying Files with SCP in Verbose Mode + +#### 13. Transferring Files with SCP in Quiet Mode + +We can transfer files in quiet mode with **`-q`** flag. When sharing files in quiet mode, it will not show the copy progress, warning or diagnostic message in the output. + +``` +$ scp -q File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 14. Preserve File Attributes when Transferring Files with SCP + +To preserve file attributes such as file modification times, access times, and modes when copying files with SCP, use **`-p`** flag. Please note that this is **lowercase p**. + +``` +$ scp -p File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 15. Use Identity File when Copying Files with SCP + +SSH supports both password-based and key-based authentication. Key-based authentication is most widely used authentication method in Linux environments. + +If you want to use key-based authentication while transferring files, use the **`-i`** option to specify the Identity file or Private key. + +``` +$ scp -i my_private_key.pem File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 16. Use Different ssh_config File when Transferring Files with SCP + +There are situations where you need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `**-F**` option. + +``` +$ scp -F /home/ostechnix/my_ssh_config File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 17. Copy files with SCP using IPv4 or IPv6 + +We can force SCP to only use IPv4 or IPv6 addresses when copying files. This can be achieved by adding **`-4`** for IPv4 networks and **`-6`** for IPv6 networks. + +``` +$ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +### Frequently Asked Questions + +#### Question 1: What is SCP? + +**Answer:** SCP is a command line program to securely transfer files and directories from a local system to a remote system and vice versa, or between two remote systems directly. + +#### Question 2: How to copy a file from the local computer to remote computer using SCP? + +To copy a file from your local system to a remote system, the command would be: + +``` +scp SourceFile.txt User@RemoteHost:/some/remote/directory +``` + +#### Question 3: How to copy recursively copy files and directories? + +To recursively copy a directory including the sub-directories, use `-r` flag. + +``` +scp -r /some/local/directory User@RemoteHost:/some/remote/directory +``` + +#### Question 4: Can I transfer multiple files using SCP? + +Yes, you can. Just mention the source file names with space separated. + +Copy multiple files from local to remote: + +``` +scp file1.txt file2.txt file3.txt User@RemoteHost:/some/remote/directory +scp {file1,file2,file3}.txt User@RemoteHost:/some/remote/directory +scp *.txt User@RemoteHost:/some/remote/directory +``` + +Copy multiple files from remote to local: + +``` +scp User@RemoteHost:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} /some/local/directory +``` + +Copy multiple files from remote to remote: + +``` +$ scp User@RemoteHost1:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} User@RemoteHost2:/some/remote/directory/ +``` + +#### Question 5: How to transfer all files in a directory? + +To transfer all files in a directory, switch to that directory: + +``` +cd dir_name +``` + +``` +scp *.txt User@RemoteHost:/some/remote/directory +``` + +#### Question 6: Can I compress files? + +Yes, you can. Use **`-C`** to compress files. The files are compressed at source and decompress at destination automatically. + +``` +scp -C /some/large/file User@RemoteHost:/some/remote/directory +``` + +#### Question 7: Can I preserve file attributes? + +To preserve file attributes such as modification times, access times, and modes from the original file, use `-p` flag. + +``` +scp -p file.txt User@RemoteHost:/some/remote/directory +``` + +#### Question 8: Can I use different port? + +Yes. SCP allows you to use different port with `-P` flag. + +``` +scp -P 2022 file.txt User@RemoteHost:/some/remote/directory +``` + +#### Question 9: Can I use different cipher? + +Yes, you can. Use -c flag to use different cipher. + +``` +scp -c 3des-cbc User@RemoteHost:/some/remote/directory +``` + +#### Question 10: How do I list the supported ciphers by SSH? + +To view the list of supported ciphers by SSH and SCP, use the following command + +``` +ssh -Q cipher localhost | paste -d, -s - +``` + +#### Question 11: Is SCP really secure? + +Yes, it is completely secure to use. SCP uses the same SSH mechanism used by openSSH. The data in transit is encrypted at the source side and decrypted at destination. + +#### Question 12: Can I transfer files from a Windows system to a Linux system? + +Yes, you can. Use either **PSCP** program to transfer files from windows platform to Linux platform. You can also use **WinSCP**. + +### Conclusion + +In this comprehensive guide, we learned what is SCP, and how to **securely transfer files with SCP** in Linux. We provided **17 SCP command examples**. We also looked at the commonly asked questions about SCP. + +Whether you're a Linux Admin, or a Developer or a Regular user, you will have to copy files to and from a remote system at some point. Knowing how to **use SCP to securely copy files** will be definitely useful. + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/securely-transfer-files-with-scp-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://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html +[2]: https://ostechnix.com/linux-rsync-command-examples-for-beginners/ +[3]: https://ostechnix.com/screen-command-examples-to-manage-multiple-terminal-sessions/ +[4]: https://ostechnix.com/tmux-command-examples-to-manage-multiple-terminal-sessions/ +[5]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Files-from-Local-System-to-Remote-System.png +[6]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Multiple-Files-from-Local-System-to-Remote-System.png +[7]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Directory-from-Local-System-to-Remote-System.png +[8]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Files-from-Remote-System-to-Local-System.png +[9]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Multiple-Files-from-Remote-System-to-Local-System.png +[10]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ +[11]: https://ostechnix.com/wp-content/uploads/2022/11/Copying-Files-with-SCP-in-Verbose-Mode.png From 96239749e73ea95c55ed8d404746f5045a8e21e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:24:52 +0800 Subject: [PATCH 264/925] =?UTF-8?q?Update=20and=20rename=2020221103.0=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20How=20?= =?UTF-8?q?To=20Securely=20Transfer=20Files=20With=20SCP=20In=20Linux.md?= =?UTF-8?q?=20to=2020221103.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20How=20To=20Securely=20Transfer=20Files=20W?= =?UTF-8?q?ith=20SCP=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... 20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md} | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename sources/tech/{20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md => 20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md} (99%) diff --git a/sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md similarity index 99% rename from sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md rename to sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index 5dd5dc34d8..edb5555758 100644 --- a/sources/tech/20221103.0 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -30,7 +30,8 @@ SCP is a component of the openSSH program and it uses the SSH protocol to secure According to the **official announcement** from the openSSH developers, -> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] +> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. +> Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] However, the majority of the users still prefer SCP over other protocols. Because, SCP handles remote-to-remote file transfers more efficiently than its counterparts such as SFTP and Rsync. From 90c6c3536fc54335e3db45f4d59a5f54bdea610b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:25:55 +0800 Subject: [PATCH 265/925] =?UTF-8?q?Update=2020221103.6=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20How=20To=20Secu?= =?UTF-8?q?rely=20Transfer=20Files=20With=20SCP=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index edb5555758..a5f88fc19c 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -30,7 +30,7 @@ SCP is a component of the openSSH program and it uses the SSH protocol to secure According to the **official announcement** from the openSSH developers, -> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. +> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. \ > Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] However, the majority of the users still prefer SCP over other protocols. Because, SCP handles remote-to-remote file transfers more efficiently than its counterparts such as SFTP and Rsync. From b7e72a6ea7599d87f371370b9be5c422958c309d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:26:27 +0800 Subject: [PATCH 266/925] =?UTF-8?q?Update=2020221103.6=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20How=20To=20Secu?= =?UTF-8?q?rely=20Transfer=20Files=20With=20SCP=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index a5f88fc19c..f48c1b500e 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -30,7 +30,8 @@ SCP is a component of the openSSH program and it uses the SSH protocol to secure According to the **official announcement** from the openSSH developers, -> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. \ +> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. +> > Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] However, the majority of the users still prefer SCP over other protocols. Because, SCP handles remote-to-remote file transfers more efficiently than its counterparts such as SFTP and Rsync. From bf8ae28fb7572bdb7e0cc078ccd3d49178af9a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:28:46 +0800 Subject: [PATCH 267/925] =?UTF-8?q?Update=2020221103.6=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20How=20To=20Secu?= =?UTF-8?q?rely=20Transfer=20Files=20With=20SCP=20In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index f48c1b500e..2858b33b75 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -104,16 +104,16 @@ scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath The most commonly used options of SCP command are: - **`-C`** : Enable compression. Here, C stands for Compression. When you use this option, the data transfer speed will be faster, because the data is compressed. SCP will automatically enable the compression at the source system and decompression at the destination system. -- **-c ** : c stands for cipher. By default, SCP uses **'AES-128'** encryption method for encrypting data. You can change the encryption method using `-c` option. +- **`-c `** : c stands for cipher. By default, SCP uses **'AES-128'** encryption method for encrypting data. You can change the encryption method using `-c` option. - **`-i `** : i stands for Identity file or Private key. As you already know, there are password-based and key-based authentication used in SSH. If you want to use key-based authentication while transferring files, you can use the -i option to specify the Identity file or Private key. - **`-l limit`** : l stands for limit bandwidth. Using this option, you can set the maximum bandwidth used for transferring data. The limit should be specified in **`Kbit/s`**. -- **-F ** : Some times, you may need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `-F` option. +- **`-F `** : Some times, you may need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `-F` option. - **`-P port`** - P stands for Port. Please note that it is uppercase P. By default, SSH uses port number 22. You might have changed the port number in the destination host for security reasons. In that case, you should explicitly mention the new port number using `-P` option. -- **-p** : if you want to preserve modification times, access times, and modes from the original file, you need to use -p option while copying files. Please note that it is lowercase p. +- **`-p`** : if you want to preserve modification times, access times, and modes from the original file, you need to use -p option while copying files. Please note that it is lowercase p. - **`-r`** : Recursively copy entire directories. - **`-B`** : B stands for batch mode. It is used for selecting batch mode while transferring files. It prevents asking for passwords or passphrases. - **`-S program`** : Name of the program to use for the encrypted connection. -- **-v** : v stands for verbose. When using the `-v` option, the command will print the progress in your Terminal screen. So, you will see the what exactly is going on when the files are being transferred. It is useful in debugging connection, authentication, and configuration problems. +- **`-v`** : v stands for verbose. When using the `-v` option, the command will print the progress in your Terminal screen. So, you will see the what exactly is going on when the files are being transferred. It is useful in debugging connection, authentication, and configuration problems. SCP has so many options. You can check the man pages of SCP command to learn about other options. Let us see some **useful scp command examples**. From 00c19946465a62b22d61a5595083bcfa395f80bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 01:41:30 +0800 Subject: [PATCH 268/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221101.12=20=E2=AD=90=EF=B8=8F=20OpenSSL=203.0.7=20F?= =?UTF-8?q?ixes=20Two=20High-CVEs=20with=20Buffer=20Overflow.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....7 Fixes Two High-CVEs with Buffer Overflow.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md diff --git a/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md b/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md new file mode 100644 index 0000000000..cafd073efe --- /dev/null +++ b/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md @@ -0,0 +1,61 @@ +[#]: subject: "OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow" +[#]: via: "https://debugpointnews.com/openssl-3-0-7/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow +====== + +![][1] + +**OpenSSL 3.0.7, released today, fixes two critical security issues that have caused panic since last week.** + +### OpenSSL 3.0.7 release + +The highly anticipated OpenSSL 3.0.7 is now released, fixing two high-severity CVEs. All the major Linux distributions across desktops and, most importantly, server admins have been waiting for this fix since it was reported last week by the OpenSSL team. Due to the criticality of this package, some distro releases got delayed (such as [Fedora 37][2]), and probably some patching activities across the industry. + +Both the high severity fixes are due to buffer overrun, which impacts the entire OpenSSL 3.0.0 series (i.e. from 3.0.0 to 3.0.6). Alarming, it may sound, but these two vulnerabilities have been out in the wild for almost a year since the 3.0.0 release in 2021. + +The first [CVE-2022-3786][3] triggers when a malicious email address with arbitrary payload with character “.” (decimal 46). The second vulnerability, CVE-2022-3602, also deals with another payload with the same email address in name constraints, checking for X.509 certificates. + +### Distro Patching + +As of publishing this, major distros (Debian, Ubuntu, Fedora, RedHat) are yet to update their OpenSSL package with version 3.0.7. + +So, as soon as it arrives, make sure you update your desktops and servers immediately. This is critical for those who deal with TLS-based authentication over remote connections to various servers. + +Keep a watch on the below pages for updated packages for major Linux distributions. + +- [Ubuntu][4] (Jammy) +- [Fedora][5] +- [Debian][6] (Bookworm, testing) + +Arch Linux folks are superfast, it seems. It’s already in the[staging repo][7]within two hours of the release! + +Via [OpenSSL release notes][8]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/openssl-3-0-7/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/11/openssl-head-816x459.jpg +[2]: https://debugpointnews.com/fedora-37-release-delay/ +[3]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-3602 +[4]: https://packages.ubuntu.com/jammy/openssl +[5]: https://packages.fedoraproject.org/pkgs/openssl/openssl/ +[6]: https://packages.debian.org/bookworm/openssl +[7]: https://archlinux.org/packages/?sort=&q=openssl&maintainer=&flagged= +[8]: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000241.html From d5edae18e9b13ca84af0eda83a107737a107810b Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Fri, 4 Nov 2022 04:36:49 +0800 Subject: [PATCH 269/925] =?UTF-8?q?Rename=20sources/tech/20221103.3=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Xfce=204.18=20Top=20New?= =?UTF-8?q?=20Features=20&=20Release=20Guide.md=20to=20sources/news/202211?= =?UTF-8?q?03.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Xfce=204.18=20Top?= =?UTF-8?q?=20New=20Features=20&=20Release=20Guide.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/{tech => news}/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md (100%) diff --git a/sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md b/sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md similarity index 100% rename from sources/tech/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md rename to sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md From ab34b23cb4be4e784abfab8e615a22287171b6cb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 4 Nov 2022 05:01:53 +0800 Subject: [PATCH 270/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 用翻译工具翻译完都不看吗?!提出批评。 --- .../20221101.5 ⭐️ Linux Lite 6.2 Released.md | 54 ++++++++++--------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md index a3868386d9..8c5f90c4da 100644 --- a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md +++ b/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -3,22 +3,22 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "littlebirdnest" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " Linux Lite 6.2 发布 ====== -Linux Lite 6.2 是一个近乎完美且有用的升级,没什么太花哨的东西。 +> Linux Lite 6.2 是一个理想的升级,带来一些有用的变化,没什么太花哨的东西。 ![Linux Lite 6.2 Released][1] -Linux Lite 是一种流行的轻量级的类Windows 发行版,为用户提供熟悉的操作系统。 +Linux Lite 是一种流行的轻量级的类 Windows 发行版,为用户提供了一个熟悉的操作系统感受。 -最新版本 Linux Lite 6.2 基于 Ubuntu 22.04 LTS,对 UI 进行了各种更改以及各种bug的修复。 +最新版本 Linux Lite 6.2 基于 Ubuntu 22.04 LTS,对 UI 进行了各种更改以及各种错误的修复。 -Linux Lite 6.2:有什么新功能? +### Linux Lite 6.2:有什么新功能? ![linux lite 6.2 desktop][2] @@ -26,30 +26,32 @@ Linux Lite 6.2:有什么新功能? 一些主要亮点包括: -- **更新的图标s** -- **新壁纸** -- **Shotcut 视频编辑器** -- **删除 Microsoft Teams** -- **LibreOffice 7.3.6.2** -- **Linux 内核 5.15** +- 更新的图标 +- 新壁纸 +- Shotcut 视频编辑器 +- 删除微软 Teams +- LibreOffice 7.3.6.2 +- Linux 内核 5.15 #### Shotcut 取代 OpenShot ![linux lite 6.2 shotcut video editor][3] -是的,[Shotcut][4] 现在取代[OpenShot][5]作为 Linux Lite 6.2 上的默认视频编辑器。 +是的,[Shotcut][4] 现在取代了 [OpenShot][5],成为 Linux Lite 6.2 上的默认视频编辑器。 -OpenShot 获得了这个位置,因为它不能很好地与 Ubuntu 22.04 配合使用,而且如果没有一个好用的视频编辑器,用户将不得不自己寻找一个。 +OpenShot 之所以被删除,是因为它不能很好地与 Ubuntu 22.04 配合使用,而如果没有一个好用的视频编辑器,用户将不得不自己寻找一个。 Shotcut 无疑是一款出色的视频编辑器。所以,应该是一个不错的选择。 -#### 微软团队已删除 +#### 微软 Teams 已删除 -另一个重大变化是 Microsoft Teams 不再包含在发行版中。 +另一个重大变化是微软 Teams 不再包含在发行版中。 -其原因是微软停止了 Linux 应用程序,转而支持他们认为是进步的 Web 应用程序版本。 +其原因是微软停止了 Linux 应用程序,转而支持一个渐进式 Web 应用程序版本。 -我们之前的报道可以让您更深入地了解: +我们之前的报道可以让你更深入地了解: + +> **[微软决定放弃 Teams 的 Linux 应用,代之以渐进式Web应用](https://news.itsfoss.com/microsoft-linux-app-retire/)** #### 更新的图标和新壁纸 @@ -66,20 +68,20 @@ Linux Lite 6.2 具有最新的 [Papirus][7] 图标集以及一系列新的 Linux 其他值得注意的变化包括: - 任务管理器的更新 -- 改进了 Lite Upgrade 应用程序中的结束对话。 +- 改进了 Lite 升级应用程序中的结束对话。 - 各种应用程序的最新更新、错误修复等。 -您可以阅读完整的发行说明以[了解更多信息][9]。 +你可以阅读完整的发行说明以 [了解更多信息][9]。 -Linux Lite 6.2 似乎是对以前版本的令人满意的升级,有许多重大的变化和补充。 +Linux Lite 6.2 看起来是对以前版本的令人满意的升级,有许多重大的变化和补充。 -### 📥下载 Linux 精简版 6.2 +### 📥 下载 Linux Lite 6.2 -您可以从其官方网站下载最新的 ISO 或使用 Lite 升级工具升级到它。 +你可以从其官方网站下载最新的 ISO 或使用 Lite 升级工具升级到它。 -[Linux Lite 6.2][10] +> [Linux Lite 6.2][10] -💬您如何看待 Linux Lite 6.2?愿意试一试吗? +💬 你如何看待 Linux Lite 6.2?愿意试一试吗? -------------------------------------------------------------------------------- @@ -87,8 +89,8 @@ via: https://news.itsfoss.com/linux-lite-6-2-release/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 5530cd644223d84b0baae18f9d84f9919d034de3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 4 Nov 2022 05:02:31 +0800 Subject: [PATCH 271/925] P @littlebirdnest https://linux.cn/article-15212-1.html --- .../20221101.5 ⭐️ Linux Lite 6.2 Released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20221101.5 ⭐️ Linux Lite 6.2 Released.md (98%) diff --git a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/published/20221101.5 ⭐️ Linux Lite 6.2 Released.md similarity index 98% rename from translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md rename to published/20221101.5 ⭐️ Linux Lite 6.2 Released.md index 8c5f90c4da..41d9e03f2f 100644 --- a/translated/news/20221101.5 ⭐️ Linux Lite 6.2 Released.md +++ b/published/20221101.5 ⭐️ Linux Lite 6.2 Released.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15212-1.html" Linux Lite 6.2 发布 ====== From 7eb612ee77bdc12a4434ca31bd5bfd0aff59f187 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 4 Nov 2022 05:42:53 +0800 Subject: [PATCH 272/925] R @Donkey-Hao --- ...t you need to know about compiling code.md | 55 ++++++++++--------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/translated/tech/20221013 What you need to know about compiling code.md b/translated/tech/20221013 What you need to know about compiling code.md index 0ed6f694e3..24dbbf9fd3 100644 --- a/translated/tech/20221013 What you need to know about compiling code.md +++ b/translated/tech/20221013 What you need to know about compiling code.md @@ -3,19 +3,22 @@ [#]: author: "Alan Smithee https://opensource.com/users/alansmithee" [#]: collector: "lkxed" [#]: translator: "Donkey-Hao" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " 关于编译代码你应该知道的 ====== -用这个老鼠夹比喻来理解编译代码。然后下载我们新电子书《开源开发者开发应用指导手册》。 -每个人都可以获取开源软件源代码,必须源代码要经过编译才能够运行程序。无论你是自己编写了代码,并且想要编译和运行它,还是你已经下载了某人的项目来尝试它,了解如何通过 [编译器][2] 处理源代码,以及编译器如何处理这些代码,这都很有用。 +![](https://img.linux.net.cn/data/attachment/album/202211/04/054126nec50keexencosc4.jpg) -### 创建一个更好的老鼠夹 +> 用这个方便的捕鼠器比喻来理解编译代码。 -一般情况我们不会将一个老鼠夹比作电脑,但不管你信不信,它确实与你正在使用的设备(手机或电脑)的 CPU 有一些相似之处。经典的老鼠夹有两种状态:打开或者释放。你可以认为 *打开* 是将老鼠夹设置好准备捕获老鼠,以及 *释放* 是夹子被老鼠触发。某种意义上来说,老鼠夹就像是有鼠标的电脑。你可能会想到这个代码,用虚构的语言来描述这个过程: +源代码必须要经过编译才能够运行程序,而对于开源软件,每个人都可以获取源代码。无论你是自己编写了代码,想要编译和运行它,还是下载了某人的项目来尝试它,了解如何通过 [编译器][2] 处理源代码,以及编译器如何处理这些代码,这都很有用。 + +### 创建一个更好的捕鼠器 + +一般情况我们不会将一个捕鼠器比作电脑,但不管你信不信,它确实与你正在使用的设备(手机或电脑)的 CPU 有一些相似之处。经典的捕鼠器(我说的不是 🐈)有两种状态:打开或者释放。你可以认为 *打开* 是将捕鼠器设置好准备捕获老鼠,以及 *释放* 是捕鼠器被老鼠触发。某种意义上来说,捕鼠器就像是一台有鼠标的电脑。你可以想象一下这个代码,用一种虚构的语言来描述这个过程: ``` if mousetrap == 0 then @@ -25,37 +28,37 @@ else end ``` -换句话说,你可以基于老鼠夹的状态发现是否有老鼠。当然,老鼠夹不是万无一失的,有可能有一只老鼠在老鼠夹旁边,由于老鼠还没有触发老鼠夹,所以它的状态还是 *打开* 的。因此该程序可以进行改进,这都是非常典型的。 +换句话说,你可以基于捕鼠器的状态发现是否有老鼠(数据)。当然,捕鼠器不是万无一失的,有可能有一只老鼠在捕鼠器旁边,由于老鼠还没有触发捕鼠器,所以它的状态还是 *打开* 的。因此该程序可以进行改进,这都是非常典型的。 ### 开关 -总的来说,老鼠夹就是一个开关。你会在家里使用开关打开灯。可以从开关中获得许多信息。比如,人们会从你家灯的状态了解到你是否在家。 +总的来说,捕鼠器就是一个开关。你会在家里使用开关打开灯。可以从开关中获得许多信息。比如,人们会从你家灯的状态了解到你是否在家。 你可以根据邻居家灯的状态来改变行为。如果邻居家所有的灯都熄灭了,那么请关掉你大声的音乐,因为人们可能已经上床睡觉了。 -乘以几个数量级,缩小到微观级别的 CPU 也使用这样的逻辑。当 CPU 在特定寄存器处接收到电信号时,可以触发其他一些寄存器,然后触发另一个,以此类推。如果这些寄存器有特定的意义,那么就可以通信。也许激活同一主板上某处的芯片,或者使 LED 亮起,或者改变屏幕上的像素颜色。 +CPU 也使用这样的逻辑,只不过乘以几个数量级,缩小到了微观级别。当 CPU 在特定寄存器上接收到电信号时,可以触发其他一些寄存器,然后触发另一个,以此类推。如果这些寄存器有特定的意义,那么就可以通信。也许激活同一主板上某处的芯片,或者使 LED 亮起,或者改变屏幕上的像素颜色。 -**[[ 相关阅读:2022 年可以尝试的 6 个 Python 解释程序 ]][3]** - -种瓜得瓜,种豆得豆。如果你真的想在多个位置而不是仅限于一处发现老鼠,但是你只有一个老鼠夹,那你应该开发一个应用才行。使用网络摄像头和一些基本的图像识别软件,你可以建立空厨房的模型,然后扫描变化。当老鼠进入厨房,在原先没有老鼠的图像上会有像素的变化。记录下这些数据,如果有无人机可以追踪老鼠并捕获会更好,这样就可以将老鼠赶出厨房了。这时,你通过打开和关闭信号的魔法,创造了一个更好的捕鼠器。 +种瓜得瓜,种豆得豆。如果你真的想在多个位置而不是仅限于一处发现老鼠,但是你只有一个捕鼠器,那你应该开发一个应用才行。使用网络摄像头和一些基本的图像识别软件,你可以建立空厨房的模型,然后扫描变化。当老鼠进入厨房,在原先没有老鼠的图像上会有像素的变化。记录下这些数据,如果有无人机可以追踪老鼠并捕获会更好,这样就可以将老鼠赶出厨房了。这时,你通过打开和关闭信号的魔法,创造了一个更好的捕鼠器。 ### 编译器 -代码编译器将人们可阅读的代码转换成 CPU 可以理解的机器语言。这是非常复杂的过程,因为 CPU 非常复杂(甚至比老鼠夹更加复杂),同时因为该过程比严格“需要”的更加灵活。并不是所有的编译器都很灵活。有一些编译器只有一个目标,它们只会处理固定格式的代码文件,处理过程也因此而简单明了。 +代码编译器将人们可阅读的代码转换成 CPU 可以理解的机器语言。这是非常复杂的过程,因为 CPU 非常复杂(甚至比捕鼠器更加复杂),同时因为该过程比严格“需要”的更加灵活。并不是所有的编译器都很灵活。有一些编译器只有一个目标,它们只会处理特定格式的代码文件,处理过程也因此而简单明了。 -幸运的是,现代通用编译器不简单。它们允许你编写不同语言的代码,也允许你用不同的方式链接库文件,并且可以生成运行在不同架构的文件。[GNU C 语言编译器][4](GCC) 的 `--help` 会输出超过 50 行的选项,LLVM 的 `clang` 编译器的 `--help` 输出超过 1000 行。GCC 指导手册的字数超过 10 万。当你在编译代码时会有很多选项。 +幸运的是,现代的通用编译器并不简单。它们允许你编写不同语言的代码,也允许你用不同的方式链接库文件,并且可以生成运行在不同架构上的文件。[GNU 编译器集合][4](GCC)的 `gcc` 编译器 `--help` 会输出超过 50 行的选项,LLVM 的 `clang` 编译器的 `--help` 输出超过 1000 行。GCC 指导手册的字数超过 10 万。 -当然,大多数人并不需要知道所有的选项。我从未读过 GCC 的手册页面(man page),因为它为 `Objective-C`、`Fortran` 以及我从未听说过的`芯片架构` 提供帮助。不过我重视它将代码编译为不同的架构—— 64 位或者 32 位——的能力,并且它是开源软件,这已经将其他的编译器甩在后面了。 +当你在编译代码时会有很多选项。 + +当然,大多数人并不需要知道所有的选项。我从未读过 GCC 的手册页,因为它们是针对 Objective-C、Fortran 以及我从未听说过的芯片架构的。不过我重视它将代码编译为不同的架构 —— 64 位或者 32 位 —— 的能力,以及在其他行业已经落后的计算机上运行开源软件的能力。 ### 编译生命周期 -同样重要的是,真正厉害的是理解编译代码的不同阶段。这是一个简单的 C 语言程序的生命周期: +同样重要的是,理解编译代码的不同阶段。这是一个简单的 C 语言程序的生命周期: -1、 带有宏定义的 C 源代码 `.c` 文件,会被当作 `.cpp` 文件进行预处理为 `.i` 文件。 -2、带有扩展宏定义的 C 源代码 `.i` 文件,会被 `gcc` 翻译输出 `.s` 文件。 -3、汇编语言文本文件 `.s` 会被汇编为 `.o` 文件。 -4、带有 CPU 指令的二进制目标代码,以及相对于其他目标文件和库 (\*.o) 与内存区域无关的偏移量,使用 `ld` 链接以生成可执行文件。 -5、最终的二进制文件要么包含所有需要的对象,要么设置为加载链接的动态库(\*.so 文件)。 +1. 带有宏定义的 C 源代码 `.c` 文件,用 `cpp` 预处理为 `.i` 文件。 +2. 扩展了宏定义的 C 源代码 `.i` 文件,会被 `gcc` 转译成 `.s` 文件。 +3. 以汇编语言写的文本文件 `.s` 文件被汇编为目标 `.o` 文件。 +4. 带有 CPU 指令的二进制目标代码,以及其他目标文件和库 `*.o` 文件,以内存区域无关的偏移量,使用 `ld` 链接以生成可执行文件。 +5. 最终的二进制文件要么包含所有需要的目标,要么设置以动态链接库 `*.so` 文件加载。 你可以试试这个简单示例(可能需要对库路径做一些调整): @@ -70,17 +73,17 @@ $ cpp hello.c > hello.i $ gcc -S hello.i $ as -o hello.o hello.s $ ld -static -o hello \ --L/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/ \ -/usr/lib64/crt1.o /usr/lib64/crti.o hello.o \ -/usr/lib64/crtn.o --start-group -lc -lgcc \ --lgcc_eh --end-group + -L/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/ \ + /usr/lib64/crt1.o /usr/lib64/crti.o hello.o \ + /usr/lib64/crtn.o --start-group -lc -lgcc \ + -lgcc_eh --end-group $ ./hello hello world ``` ### 可获得的知识 -计算机已经变得非常强大,并且用户友好。请不要走向这两种可能的极端中的任何一种:计算机不像捕鼠器和电灯开关那么简单,但它们也不是无法理解的。你可以了解编译代码、如何链接以及针对不同架构进行编译。一旦你知道了,你就可以更好地调试代码。你可以理解你下载的代码,甚至可以修复其中的一两个 `bug`。同时从理论上来讲,你可以建造一个更好的捕鼠器,或者 CPU 没有捕鼠器。由你决定。 +计算机已经变得非常强大,并且用户友好。请不要走向这两种可能的极端中的任何一种:计算机不像捕鼠器和电灯开关那么简单,但它们也不是无法理解的。你可以了解编译代码、如何链接以及针对不同架构进行编译。一旦你知道了,你就可以更好地调试代码。你可以理解你下载的代码,甚至可以修复其中的一两个错误。同时从理论上来讲,你可以建造一个更好的捕鼠器,或者用捕鼠器造一个 CPU。由你决定。 -------------------------------------------------------------------------------- @@ -89,7 +92,7 @@ via: https://opensource.com/article/22/10/compiling-code 作者:[Alan Smithee][a] 选题:[lkxed][b] 译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9b0be6e3b397363c2ea011af62e841ee58dddeed Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 4 Nov 2022 05:44:33 +0800 Subject: [PATCH 273/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Donkey-Hao https://linux.cn/article-15213-1.html 恭喜您,成为了⭐️⭐️⭐️⭐️贡献者!非常感谢您一直以来的贡献!! --- .../20221013 What you need to know about compiling code.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221013 What you need to know about compiling code.md (98%) diff --git a/translated/tech/20221013 What you need to know about compiling code.md b/published/20221013 What you need to know about compiling code.md similarity index 98% rename from translated/tech/20221013 What you need to know about compiling code.md rename to published/20221013 What you need to know about compiling code.md index 24dbbf9fd3..88ca0a42d1 100644 --- a/translated/tech/20221013 What you need to know about compiling code.md +++ b/published/20221013 What you need to know about compiling code.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "Donkey-Hao" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15213-1.html" 关于编译代码你应该知道的 ====== From d2ba31a32f341854176cf6f2794f2eef7d942e1f Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Fri, 4 Nov 2022 07:40:35 +0800 Subject: [PATCH 274/925] translating --- .../20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md index a411e29b73..7fcd03cbfc 100644 --- a/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md +++ b/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/upgrade-pip-packages/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 9cc216007d39236e724603c0f2d8784029e2f1a2 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 4 Nov 2022 08:42:27 +0800 Subject: [PATCH 275/925] translated --- ...les and folders from Windows to Linux with PSCP.md | 139 ------------------ ...les and folders from Windows to Linux with PSCP.md | 139 ++++++++++++++++++ 2 files changed, 139 insertions(+), 139 deletions(-) delete mode 100644 sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md create mode 100644 translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md diff --git a/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md deleted file mode 100644 index caff6920cf..0000000000 --- a/sources/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md +++ /dev/null @@ -1,139 +0,0 @@ -[#]: subject: "Transfer files and folders from Windows to Linux with PSCP" -[#]: via: "https://opensource.com/article/22/10/transfer-files-windows-linux-pscp" -[#]: author: "Paul https://opensource.com/users/plaubscher" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Transfer files and folders from Windows to Linux with PSCP -====== - -The open source PSCP utility makes it easy to transfer files and folders between Windows and Linux computers. - -Are you looking for a way to quickly transfer files from your Windows computer to your Linux computer and back again? The open source PSCP utility makes it easy to transfer files and folders, and of course it's open source. - -### Setting your PATH in Windows - -Knowing how to set your command path in Windows makes it easier to use a handy utility like PSCP. If you're unfamiliar with that process, read [how to set a PATH on Windows][1]. - -### Using PSCP - -PSCP (PuTTY Secure Copy Protocol) is a command-line tool for transferring files and folders from a Windows computer to a Linux computer. - -- Download `pscp.exe` from its [website][2]. -- Move `pscp.exe` to a folder in your PATH (for example, `Desktop\App` if you followed the PATH tutorial here on [Opensource.com][3]). If you haven't set a PATH variable for yourself, you can alternately move `pscp.exe` to the folder holding the files you're going to transfer. -- Open Powershell on your Windows computer using the search bar in the Windows taskbar (type 'powershell` into the search bar.) -- Type `pscp –version` to confirm that your computer can find the command. - -### IP address - -Before you can make the transfer, you must know the IP address or fully-qualified domain name of the destination computer. Assuming it's a computer on your same network, and that you're not running a DNS server to resolve computer names, you can find the destination IP address using the `ip` command on the Linux machine: - -``` -[linux]$ ip addr show |grep'inet ' -inet 127.0.0.1/8 scope host lo -inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 -``` - -In all cases, 127.0.0.1 is a loopback address that the computer uses only to talk to itself, so in this example the correct address is 192.168.1.23. On your system, the IP address is likely to be different. If you're not sure which is which, you can try each one in succession until you get the right one (and then write it down somewhere!) - -Alternately, you can look in the settings of your router, which lists all addresses assigned over DHCP. - -### Firewalls and servers - -The `pscp` command uses the OpenSSH protocol, so your Linux computer must be running the OpenSSH server software, and its firewall must allow SSH traffic. - -If you're not sure whether your Linux machine is running SSH, then run this command on the Linux machine: - -``` -[linux]$ sudo systemctl enable--now sshd -``` - -To ensure your firewall allows SSH traffic, run this command: - -``` -[linux]$ sudo firewall-cmd --add-servicessh--permanent -``` - -For more information on firewalls on Linux, read [Make Linux stronger with firewalls][4]. - -### Transfer the file - -In this example, I have a file called `pscp-test.txt` that I want to transfer from `C:\Users\paul\Documents` on my Windows computer to my destination Linux computer home directory `/_home_/paul`. - -Now that you have the `pscp` command and the destination address, you're ready to transfer the test file `pscp-test.txt`. Open Powershell and use the `dir` command to change to the `Documents` folder, where the sample file is located: - -PS> dir %USERPROFILE%\Documents\ - -Now execute the transfer: - -``` -PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul| Password: -End of keyboard-interactive prompts from server -pscp-test.txt |0 kb |0.0 kB/s | ETA: 00:00:00 |100% -``` - -Here's the syntax, word for word: - -- `pscp`: The command used to transfer the file. -- `pscp-test.txt` is the name of the file you want to transfer from Windows. -- `paul@192.168.1.23` is my username on the Linux computer, and the IP address of the Linux computer. You must replace this with your own user and destination information. Notice that `pscp` requires a destination path on the target computer, and `:/home/paul` at the end of the IP address specifies that I want the file copied to my home folder. - -After you authenticate to the Linux computer, the `pscp-test.txt` file is transferred to the Linux computer. - -### Verifying the transferred - -On your Linux computer, open a terminal and use the `ls` command to verify that the file `pscp-test.txt` appears in your home directory. - -``` -[linux]$ ls -Documents -Downloads -Music -Pictures -pscp-test.txt -``` - -### Copying a file off of a Linux system - -You aren't limited to just copying files to your Linux system. With `pscp`, you can also copy a file from Linux onto Windows. The syntax is the same, only in reverse: - -``` -PS> pscp paul@192.168.1.23:/home/paul/pscp-test.txt %USERPROFILE%\Documents\pscp-win.txt -``` - -Here's the syntax: - -- `pscp`: The command used to transfer the file. -- `paul@192.168.1.23:/home/paul/pscp-test.txt` is my username on the Linux computer, the IP address of the Linux computer, and the path to the file I want to copy. -- `%USERPROFILE%\Documents` is the location on my Windows computer where I want to save the file. Notice that in copying the file back to my Windows computer, I can give it a new name, such as `pscp-win.txt`, to differentiate it from the original. You don't have to rename the file, of course, but for this demonstration it's a useful shortcut. - -Open your file manager to verify that the `pscp-win.txt` file was copied to the Windows `C:\Users\paul\Documents` path from the Linux computer. - -![Image of a file manager.][5] - -### Remote copying - -With the power of the open source `pscp` command, you have access to any computer in your house, and servers you have accounts on, and even mobile and [edge devices][6]. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/transfer-files-windows-linux-pscp - -作者:[Paul][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/plaubscher -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/10/set-path-powershell -[2]: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html -[3]: http://Opensource.com -[4]: https://opensource.com/article/19/7/make-linux-stronger-firewalls -[5]: https://opensource.com/sites/default/files/2022-10/Filemanager.pscp_.png -[6]: https://opensource.com/tags/edge-computing diff --git a/translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md new file mode 100644 index 0000000000..3a058f58d1 --- /dev/null +++ b/translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md @@ -0,0 +1,139 @@ +[#]: subject: "Transfer files and folders from Windows to Linux with PSCP" +[#]: via: "https://opensource.com/article/22/10/transfer-files-windows-linux-pscp" +[#]: author: "Paul https://opensource.com/users/plaubscher" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 PSCP 将文件和文件夹从 Windows 传输到 Linux +====== + +开源 PSCP 程序可以轻松地在 Windows 和 Linux 计算机之间传输文件和文件夹。 + +你是否正在寻找一种将文件从 Windows 计算机快速传输到 Linux 计算机并再次传输回来的方法?开源 PSCP 程序可以轻松传输文件和文件夹,当然它是开源的。 + +### 在 Windows 中设置 PATH + +了解如何在 Windows 中设置命令路径可以更轻松地使用 PSCP 等方便的程序。如果你不熟悉该过程,请阅读[如何在 Windows 上设置 PATH][1]。 + +### 使用 PSCP + +PSCP(PuTTY 安全复制协议)是一个命令行工具,用于将文件和文件夹从 Windows 计算机传输到 Linux 计算机。 + +- 从[网站][2]下载 `pscp.exe`。 +- 将 `pscp.exe` 移动到 PATH 中的文件夹(例如,如果你按照 [Opensource.com][3] 上的 PATH 教程进行操作,则为 `Desktop\App`)。如果你没有设置 PATH 变量,你也可以将 `pscp.exe` 移动到保存要传输的文件的文件夹中。 +- 使用 Windows 任务栏中的搜索栏在 Windows 计算机上打开 Powershell(在搜索栏中输入 `powershell`。) +- 输入 `pscp –version` 以确认你的计算机可以找到该命令。 + +### IP 地址 + +在进行传输之前,你必须知道目标计算机的 IP 地址或完全限定域名。假设它是同一网络上的计算机,并且你没有运行 DNS 服务器来解析计算机名称,你可以在 Linux 机器上使用 `ip` 命令找到目标 IP 地址: + +``` +[linux]$ ip addr show |grep'inet ' +inet 127.0.0.1/8 scope host lo +inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 +``` + +在所有情况下,127.0.0.1 都是计算机仅用于与自身通信的环回地址,因此在此示例中,正确的地址是 192.168.1.23。在你的系统上,IP 地址可能不同。如果你不确定哪个是哪个,你可以连续尝试每个,直到找到正确的(然后在某处写下来!) + +或者,你可以查看路由器的设置,其中列出了通过 DHCP 分配的所有地址。 + +### 防火墙和服务器 + +`pscp` 命令使用 OpenSSH 协议,因此你的 Linux 计算机必须运行 OpenSSH 服务器软件,并且防火墙必须允许 SSH 流量。 + +如果你不确定你的 Linux 机器是否正在运行 SSH,请在 Linux 机器上运行以下命令: + +``` +[linux]$ sudo systemctl enable--now sshd +``` + +要确保你的防火墙允许 SSH 流量,请运行以下命令: + +``` +[linux]$ sudo firewall-cmd --add-servicessh--permanent +``` + +有关 Linux 上的防火墙的更多信息,请阅读[使用防火墙使 Linux 更强大][4]。 + +### 传输文件 + +在这个例子中,我有一个名为 `pscp-test.txt` 的文件,我想将它从我的 Windows 计算机上的 `C:\Users\paul\Documents` 传输到我的目标 Linux 计算机主目录 `/_home_/paul`。 + +现在你已经有了 `pscp` 命令和目标地址,你可以传输测试文件 `pscp-test.txt`。打开 Powershell 并使用 `dir` 命令切换到示例文件所在的 `Documents` 文件夹: + +PS> dir %USERPROFILE%\Documents\ + +现在执行传输: + +``` +PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul| Password: +End of keyboard-interactive prompts from server +pscp-test.txt |0 kb |0.0 kB/s | ETA: 00:00:00 |100% +``` + +这是语法,逐字逐句来: + +- `pscp`:用于传输文件的命令。 +- `pscp-test.txt` 是你要从 Windows 传输的文件的名称。 +- `paul@192.168.1.23` 是我在 Linux 计算机上的用户名,以及 Linux 计算机的 IP 地址。你必须将其替换为你自己的用户和目的地信息。请注意,`pscp` 需要目标计算机上的目标路径,而 IP 地址末尾的 `:/home/paul` 指定我希望将文件复制到我的主文件夹。 + +对 Linux 计算机进行身份验证后,`pscp-test.txt` 文件将传输到 Linux 计算机。 + +### 验证已传输 + +在你的 Linux 计算机上,打开终端并使用 `ls` 命令验证文件 `pscp-test.txt` 是否出现在您的主目录中。 + +``` +[linux]$ ls +Documents +Downloads +Music +Pictures +pscp-test.txt +``` + +### 从 Linux 系统复制文件 + +你不仅限于将文件复制到 Linux 系统。使用 `pscp`,你还可以将文件从 Linux 复制到 Windows。语法是一样的,只是反过来: + +``` +PS> pscp paul@192.168.1.23:/home/paul/pscp-test.txt %USERPROFILE%\Documents\pscp-win.txt +``` + +这是语法: + +- `pscp`:用于传输文件的命令。 +- `paul@192.168.1.23:/home/paul/pscp-test.txt` 是我在 Linux 计算机上的用户名、Linux 计算机的 IP 地址,以及我要复制的文件的路径。 +- `%USERPROFILE%\Documents` 是我的 Windows 计算机上我要保存文件的位置。 请注意,在将文件复制回我的 Windows 计算机时,我可以给它一个新名称,例如 `pscp-win.txt`,以区别于原始文件。 当然,你不必重命名文件,但对于本演示来说,它是一个有用的快捷方式。 + +打开文件管理器以验证 `pscp-win.txt` 文件是否已从 Linux 计算机复制到 Windows `C:\Users\paul\Documents` 下。 + +![Image of a file manager.][5] + +### 远程复制 + +借助开源 `pscp` 命令的强大功能,你可以访问家中的任何计算机、拥有帐户的服务器,甚至是移动设备和[边缘设备][6]。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/transfer-files-windows-linux-pscp + +作者:[Paul][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/plaubscher +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/set-path-powershell +[2]: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html +[3]: http://Opensource.com +[4]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[5]: https://opensource.com/sites/default/files/2022-10/Filemanager.pscp_.png +[6]: https://opensource.com/tags/edge-computing From 7088bfa52e51a8eb1ca186361f9aa1d574af646a Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 4 Nov 2022 08:53:42 +0800 Subject: [PATCH 276/925] translating --- ...⭐️ How to Trim a Video in VLC Player [If You Really Want to].md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md index 83b730942d..16e58bc5ff 100644 --- a/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md +++ b/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/vlc-trim-video/" [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 01523250cdb2bdc1b993b614b478a84f097668ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:09:55 +0800 Subject: [PATCH 277/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Enable=20?= =?UTF-8?q?=E2=80=98Dark=20Mode=E2=80=99=20in=20LibreOffice.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Enable ‘Dark Mode’ in LibreOffice.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md diff --git a/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md b/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md new file mode 100644 index 0000000000..6013077195 --- /dev/null +++ b/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md @@ -0,0 +1,99 @@ +[#]: subject: "How to Enable ‘Dark Mode’ in LibreOffice" +[#]: via: "https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Enable ‘Dark Mode’ in LibreOffice +====== + +**Tutorial for you on how to enable dark mode in LibreOffice in Ubuntu, Linux and Windows systems.** + +[LibreOffice,][1]the free and open-source office productivity software, is used by millions worldwide. This cross-platform software runs on Windows, Linux, and other distributions. + +Millions of users around the world use LibreOffice. Probably that includes you. And everyone seems to prefer dark mode these days. And there are some advantages as well. + +Research suggests that dark mode protects eyes for extended use of mobiles and computers and saves a bit of battery as well, especially for AMOLED displays. That’s not all, dark mode makes the text looks crisp and clear and improves productivity. + +Dark mode can be enabled for apps and system-wide as well if your system – Linux or Windows supports it. + +LibreOffice doesn’t provide a direct dark mode, per se. But you can tweak some settings with its dark icon themes to make it dark with the help of your OS settings. This is how you can do it. Remember these settings should also be applicable for Windows, Linux, and macOS from LibreOffice’s perspective. + +### How to Enable Dark Mode in LibreOffice + +We will explain it in two steps – a) **Windows** and b) **Linux**. Because for both the OS, LibreOffice look different due to their OS-specific own dark themes. + +##### Windows + +The dark mode will look a bit different if you use Windows. Windows 10 doesn’t provide application-specific dark mode at the moment. The Windows 10 dark mode is limited to the start menu and certain applications (such as Google Chrome Windows build). + +- Open LibreOffice. Open any component – Writer, Calc etc. +- From the menu, click on `Tools -> Options`. +- On the Options dialog, on the left side, click on `Personalization`. + +![][2] + +- Select the `pre-installed` theme – dark. +- Go to Application Colors, and select the document background as Black. You can also choose the Application background as Black. +- If you want to change to a dark theme, change it from the View options on the left. + +![][3] + +Once done, press OK. + +That’s all. Enjoy your dark or night mode of LibreOffice in Windows. + +If everything works well, you will see the Writer or Calc like below. + +![LibreOffice Writer in dark mode in Windows][4] + +![LibreOffice Calc in dark mode in LibreOffice][5] + +##### Ubuntu, Linux + +- Open LibreOffice. Open any component – Writer, Calc etc. +- From the menu, click. `Tools -> Options`. +- Go to Application Colors, and select the `document background` as `Black`. You can also choose the `Application background` as `Black`. +- If you want to change to a dark icon theme, change it from the View options on the left for better visibility of the toolbar icons. I recommend selecting any of the icon themes with the name “dark” – see below. + +![Changing Application Colours Settings in LibreOffice][6] + +![Select a dark icon theme for LibreOffice][7] + +- Then, from Settings, select any dark GTK theme (e.g. Adwaita Dark) and apply. LibreOffice is more compatible with Ubuntu. Hence the GTK dark themes are correctly applied. +- If you are using the latest Ubuntu, Fedora, then select `Settings > Appearance > Dar`k. This will apply systems wide dark theme and applies automatically to LibreOffice. +- For other desktops, such as KDE Plasma and Xfce – select any applicable dark theme for your desktop, and you should be good. + +That’s all. Your LibreOffice should look like the one below. + +![LibreOffice Writer in Ubuntu][8] + +![LibreOffice in dark mode in Ubuntu][9] + +**Do you like this dark mode? Let us know in the comments.** + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/ + +作者:[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]: http://www.libreoffice.org +[2]: https://www.debugpoint.com/wp-content/uploads/2020/01/Dark-theme.png +[3]: https://www.debugpoint.com/wp-content/uploads/2020/01/app-background.png +[4]: https://www.debugpoint.com/wp-content/uploads/2020/01/Writer-in-Dark-theme.png +[5]: https://www.debugpoint.com/wp-content/uploads/2020/01/Calc-in-dark-mode.png +[6]: https://www.debugpoint.com/wp-content/uploads/2020/01/Changing-Application-Colours-Settings-in-LibreOffice.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/01/Select-a-dark-icon-theme-for-LibreOffice.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/01/LibreOffice-Writer-in-Dark-Mode-in-Ubuntu-Linux.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2020/01/LibreOffice-in-dark-mode-in-Ubuntu-1024x578.jpg From e465c5eef01bcb0f1d6ee983ebd9b08186eece38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:12:01 +0800 Subject: [PATCH 278/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Make=20Li?= =?UTF-8?q?breOffice=20Look=20Like=20Microsoft=20Office.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Make LibreOffice Look Like Microsoft Office.md | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md diff --git a/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md b/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md new file mode 100644 index 0000000000..efc97c43b2 --- /dev/null +++ b/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md @@ -0,0 +1,112 @@ +[#]: subject: "How to Make LibreOffice Look Like Microsoft Office" +[#]: via: "https://www.debugpoint.com/libreoffice-like-microsoft-office/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Make LibreOffice Look Like Microsoft Office +====== + +**We attempted to make the LibreOffice suite look like Microsoft Office. Is it possible? Let’s find out.** + +[LibreOffice][1] is a free and open-source office productivity suite that provides you with a complete collection of applications. It consists of a Word processor (Writer), a spreadsheet program (Calc), Presentation (Impress), and a drawing program (Draw). It also gives you a stand-alone database system LibreOffice Base while LibreOffice Math is a program that helps students and researchers write formulas and equations. + +While the widely used [Microsoft Office][2] is a paid office productivity suite that gives you excellent programs to perform almost all tasks related to study, office, and enterprise usage. + +Adopting LibreOffice is sometimes difficult compared to Microsoft Office – although most of the menu items and tools are the same. Both programs are different, but their objective is the same in terms of functionality. Due to its popularity, Microsoft office is used widely and is well-known to users. However, many users prefer the free LibreOffice for their work and activities. + +That said, if you can make LibreOffice look like Microsoft Office, it is much easier for first-time users to adopt – mostly coming from a Microsoft Office background. The look and feel play a big part in users’ minds, including their muscle memory, familiarity with colours, and menu items. + +Of course, you can not make it exactly like Microsoft Office because of the different icons, fonts, etc. However, you can make it look up to a certain amount. + +### Make LibreOffice Look Like Microsoft Office + +#### 1. User Interface changes + +LibreOffice has a “Ribbon” style toolbar called Tabbed Bar. However, it has many toolbar options (see below). For this guide, I have used the Tabbed bar option. + +- Open LibreOffice and go to `Menu > View > User Interface`. +- Select `Tabbed` from the UI Section. + +![tabbed bar option][3] + +- Click on Apply to All. +- LibreOffice also provides an option to apply the toolbar type-specific to Writer or Calc. If you want a different toolbar type, you can choose that way. But I would recommend using the Apply to All to make it consistent. + +- Now you should have the Microsoft Office-style Ribbon. Although they are not precisely the same, you get the feel of it. + +#### 2. Microsoft Office Icons for LibreOffice + +The Icons in the toolbar play a big part in your workflow. LibreOffice provides some nice icons for your toolbar. The best ones are the – + +- Karasa Jaga +- Colibre +- Elementary + +For this guide, we will use Office 2013 icon set, which an author develops. It is available in Devian Art. + +- Go to the below link and download the LibreOffice extension file (*.oxt). For the newer versions of LibreOffice, you need to use extension files to install icon sets. + +[download office 2013 icon sets for libreoffice][4] + +- After downloading, double-click the .oxt file to open. Or, press CTRL+ALT+E to open the Extension Manager and select the downloaded .oxt file using the Add button. Close the window once done. + +![Import icon sets in Extension Manager][5] + +- Now go to `Tools > Options > View`. From the Icon style, choose Office 2013. + +- Change the icon size via `Icon Size > Notebookbar > Large`. If you feel the icons are small, you can change them. However, I think to make it more Office-like, the large settings work better. + +![Change icons in Options][6] + +And that’s it. Your LibreOffice installation should look like this. + +![Making LibreOffice look like Microsoft Office in KDE Plasma][7] + +![Making LibreOffice look like Microsoft Office in Windows 10][8] + +![Making LibreOffice look like Microsoft Office in GNOME][9] + +Remember, the looks may be different if you are using Ubuntu, KDE Plasma, or any Linux distribution. But I think it looks closer to Microsoft Office in KDE Plasma than GNOME. LibreOffice doesn’t look good in GTK-based systems at the moment. + +In Windows, however, it looks better because it uses a system font and colour palette. + +These are some settings that you can use. However, you can play around with more customizations, icons, and themes as you wish. If you fancy dark mode in LibreOffice, you may want to read our tutorial – on [how to enable dark mode in LibreOffice][10]. + +### Closing Notes + +Microsoft Office is undoubtedly the market leader in the Office productivity space. There is a reason for it, it comes with decades of development, and it’s not a free product. The latest Office 365 Home usage price is around ~7 USD per month for 3 to 4 devices, which is a bit pricy if you ask me. + +Whereas LibreOffice is free and community-developed and headed by The Document Foundation. It is not trying to be Microsoft Office, but it allows millions of users, schools, non-profits, colleges, and students to work and learn using a free office suite. Hence, the development is slower, and features arrive late. + +Hence, it is beneficial if it can mimic the basic look and feel to make it like Microsoft Office to increase LibreOffice’s adoption. And I hope this guide serves a little purpose in that direction. + +[Link: Official Feature comparison between LibreOffice and Microsoft Office.][11] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/libreoffice-like-microsoft-office/ + +作者:[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]: http://libreoffice.com +[2]: http://office.com +[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/tabbed-bar-option.jpg +[4]: https://www.deviantart.com/users/outgoing?https://1drv.ms/u/s!ArgKmgFcmBYHhSQkPfyMZRnXX5LJ +[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/Import-icon-sets-in-Extension-Manager.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/06/Change-icons-in-Options-1024x574.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-KDE-Plasma.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-Windows-10.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-GNOME.jpg +[10]: https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/ +[11]: https://wiki.documentfoundation.org/Feature_Comparison:_LibreOffice_-_Microsoft_Office From 633bc2f02763bb303f5750c1674c5a29353e0ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:12:25 +0800 Subject: [PATCH 279/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.2=20=E2=AD=90=EF=B8=8F=20Upgrade=20to=20Lates?= =?UTF-8?q?t=20LibreOffice=20in=20Ubuntu,=20Linux=20Mint=20and=20Windows.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...breOffice in Ubuntu, Linux Mint and Windows.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 sources/tech/20221104.2 ⭐️ Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows.md diff --git a/sources/tech/20221104.2 ⭐️ Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows.md b/sources/tech/20221104.2 ⭐️ Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows.md new file mode 100644 index 0000000000..f2b7a88691 --- /dev/null +++ b/sources/tech/20221104.2 ⭐️ Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows.md @@ -0,0 +1,113 @@ +[#]: subject: "Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows" +[#]: via: "https://www.debugpoint.com/libreoffice-upgrade-update-latest/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows +====== + +**This beginner’s guide explains the steps required to upgrade to the latest LibreOffice in Ubuntu, Linux Mint****and Windows.** + +![LibreOffice 7.3.x Community Edition in Ubuntu 22.04 LTS Jammy Jellyfish][1] + +[LibreOffice][2], used by millions of users worldwide, is the most popular free office suite today. It consists of a spreadsheet program (Calc), document processor (Writer), presentation (Impress), drawing (Draw), and Math module to help you with most of the office, business, academic, and day-to-day work. + +LibreOffice can act as an excellent replacement for paid Microsoft Office suite due to its compatibility with proprietary file formats such as DOCX, PPTX, and XLSX. It is a fork of the Apache OpenOffice productivity suite and is actively developed by thousands of global contributors. + +![LibreOffice Logo][3] + +### Upgrade to Latest LibreOffice + +LibreOffice recently changed its versioning methods from the Fresh and Still concept. Now, LibreOffice has a **community** edition and a recommended **enterprise** edition. This is because many businesses use the latest LibreOffice version with cutting-edge features, hampering the development effort. Hence the team suggested the business users get paid support from official LibreOffice partners for long-term support. You can read the blog post [here][4]. + +That said, here are the current versions. + +#### Latest LibreOffice Versions + +- The current LibreOffice Community version series is **LibreOffice 7.4.x.** +- And the LibreOffice stable recommended version for business is **LibreOffice 7.3.x**. + +#### Upgrade to Latest LibreOffice in Ubuntu, Linux Mint, and Other Ubuntu Based distributions + +[Ubuntu 22.04 LTS Jammy Jellyfish][5] have LibreOffice 7.3.x. + +**Ubuntu 20.04 LTS** has LibreOffice 6.4.7 at the moment, and soon it will get the update for the next iteration. + +**Ubuntu 18.04 LTS,** supported until[April 2023][6], has the LibreOffice 6.2 version. Linux Mint 19.x also provides the same. You can still download and install LibreOffice 6.3.x version in Ubuntu 18.04 or Linux Mint 19.x. + +It is always wiser to stick to the LibreOffice version provided by the distribution. Moreover, unless you need the latest features, you should not upgrade. If you like to experiment, you can go ahead. + +##### Via PPA + +- You can install and upgrade to the latest Fresh version using the official LibreOffice PPA. Open a terminal and run the below commands in Ubuntu or Linux Mint. + +``` +sudo add-apt-repository ppa:libreoffice/ppa +``` + +``` +sudo apt update && sudo apt install libreoffice +``` + +- To **downgrade** LibreOffice and remove the PPA, run the below commands from the terminal sequentially. + +``` +sudo add-apt-repository --remove ppa:libreoffice/ppa +``` + +``` +sudo apt install ppa-purge && sudo ppa-purge ppa:libreoffice/ppa +``` + +##### Via Snap + +You can also have the option to install the latest LibreOffice as Snap via the below option. [Snap packages][7] can be used across supported Linux distributions as a standalone package. Thus, you can keep your existing installation of LibreOffice and still run the latest Snap version. + +Remember that technically you can run two versions of LibreOffice in parallel using one Snap version. However, ensure there might be slight file association issues and other problems. This applies to Flatpak as well. + +[Download LibreOffice as Snap][8] + +##### Via Flatpak + +Flatpak is another way by which you can have the latest LibreOffice alongside the distro-provided version. You can [set up your system for Flatpak][9] and download LibreOffice via the below link. + +[Download LibreOffice as Flatpak][10] + +#### Upgrade for Windows + +For Windows, you can’t upgrade directly from the existing installation. You can download the latest LibreOffice from [this page][11] and do the installation. During installation, your existing version would be uninstalled. + +### Upgrade Troubleshooting + +If you encounter any problems or system instability after the upgrade, it is better to do a clean install. So, you can download the latest copy from [this link][11] and install it. If you are using Ubuntu or Linux Mint, don’t forget to remove the stock version first before installing the latest version. + +Finally, drop a comment below if you face issues while upgrading to the latest LibreOffice in Ubuntu Linux and others. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ + +作者:[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/2019/09/LibreOffice-7.3.x-Community-Edition-in-Ubuntu-22.04-LTS-Jammy-Jellyfish.jpg +[2]: https://www.libreoffice.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2019/09/LibreOffice-Icon.png +[4]: https://blog.documentfoundation.org/blog/2021/02/03/libreoffice-7-1-community/ +[5]: https://www.debugpoint.com/2022/01/ubuntu-22-04-lts/ +[6]: https://www.debugpoint.com/ubuntu-release-dates-wiki/ +[7]: https://www.debugpoint.com/2016/07/how-to-install-and-use-snap-packages-in-ubuntu/ +[8]: https://snapcraft.io/libreoffice +[9]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ +[10]: https://flathub.org/apps/details/org.libreoffice.LibreOffice +[11]: https://www.libreoffice.org/download/download/ From 35d0fbf1f0052f00e5075cc0b808cf0586b4fc15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:13:00 +0800 Subject: [PATCH 280/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.3=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20Latest=20LibreOffice=20in=20Ubuntu=20and=20other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...atest LibreOffice in Ubuntu and other Linux.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md diff --git a/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md new file mode 100644 index 0000000000..79b939b88d --- /dev/null +++ b/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md @@ -0,0 +1,134 @@ +[#]: subject: "How to Install Latest LibreOffice in Ubuntu and other Linux" +[#]: via: "https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Latest LibreOffice in Ubuntu and other Linux +====== + +**Here’s a quick guide on how to install the latest LibreOffice version in Ubuntu and other Linux.** + +The free and open-source office suite LibreOffice comes in two versions. The Community and Enterprise versions. The “community” version is for early adopters who want the latest bleeding-edge software tech. And the “enterprise” version is more stable and may not include all the latest features, but it is ideal for the production environment and professional work. + +### Install Latest LibreOffice in Ubuntu and other Linux + +#### 1. Remove pre-installed LibreOffice + +The Ubuntu operating system and other Linux ideally come with pre-installed LibreOffice. That might not be the latest one because of the distribution-specific release cycles. However, before you do a fresh install, you can remove the stock version of LibreOffice in Ubuntu and its related derivatives via the below command: + +Open a terminal and run the below commands to remove the installed LibreOffice in Ubuntu and related distributions. For others, you can use your distro’s package manager to remove it. + +``` +sudo apt remove –purge libreoffice* +sudo apt autoclean +sudo apt autoremove +``` + +Do a reboot to ensure everything is okay (though you could skip this step). + +#### 2. Install via download + +Go to the [official download page][1]. And download the “Fresh” version by choosing the type from the drop-down. For Ubuntu and other derivatives, choose the .deb file. + +![LibreOffice download and install from official website][2] + +After downloading, extract the files; you should see all the packages below. + +![Extracted LibreOffice DEB files][3] + +Now, open a terminal at the extracted files’ exact location and run the commands below in sequence. Firstly, you need to install the `ure` package. The second is the `core` package and followed by all the basic packages. Finally, the main `LibreOffice` packages. A typical set of commands are present below. You need to change the version numbers for other releases. + +``` +sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0* +``` + +``` +sudo dpkg -i libreoffice7.0* +``` + +If you are using Fedora Linux or Red Hat Linux, use the [dnf command][4] to install in the same order as mentioned above. + +![Install LibreOffice via dpkg][5] + +Wait for the installation to finish. After completion, you can find LibreOffice via the application menu. + +![Latest LibreOffice in Menu][6] + +This should complete the steps to install the latest LibreOffice. If you don’t want to follow the above method, see the below options. + +#### Install via PPA + +If you like to install it via PPA, then follow the below steps. Make sure to remove the existing LibreOffice in step 1 above. + +``` +sudo add-apt-repository ppa:libreoffice/ppa +``` + +And finally, run the below commands to install the latest LibreOffice 5.4 series from this official PPA. + +``` +sudo apt update +sudo apt install libreoffice +``` + +Once installed, you can launch LibreOffice via Dash search. + +![LibreOffice 5.4.2 Running in Ubuntu][7] + +#### Install via Snap and Flatpak + +If you are a Linux user, you may try the LibreOffice self-contained executable, which runs in a sandbox like Snap or Flatpak. + +- To install LibreOffice via [Flatpak][8], visit [this page][9] to set it up and then run the below command to install it. + +``` +flatpak install flathub org.libreoffice.LibreOffice +``` + +- Similarly, for the [Snap version][10], use the following command to install. + +``` +sudo snap install libreoffice +``` + +### How can I upgrade to the latest LibreOffice version? + +If you do not want to remove LibreOffice but want to upgrade to the latest version, please read our complete guide below. + +> [Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows][11] + +![“Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows” — DebugPoint.com][12] + +Feel free to comment if you are having trouble installing the latest LibreOffice. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-latest-libreoffice-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.libreoffice.org/download/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-download-and-install-from-official-website.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2017/10/Extracted-LibreOffice-DEB-files.jpg +[4]: https://www.debugpoint.com/dnf-commands-examples/ +[5]: https://www.debugpoint.com/wp-content/uploads/2017/10/Install-LibreOffice-via-dpkg.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2017/10/Latest-LibreOffice-in-Menu.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-5.4.2-Running-in-Ubuntu-.png +[8]: https://flathub.org/apps/details/org.libreoffice.LibreOffice +[9]: https://flatpak.org/setup/ +[10]: https://snapcraft.io/libreoffice +[11]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ +[12]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/embed/#?secret=KINquNxuYI#?secret=FGij1s6Mfc From 00ae019e52d34fb191e9e03b3c02dc95b365be1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:13:25 +0800 Subject: [PATCH 281/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.4=20=E2=AD=90=EF=B8=8F=20How=20to=20Remove=20?= =?UTF-8?q?Firefox=20Snap=20from=20Ubuntu=20(21.10=20+).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o Remove Firefox Snap from Ubuntu (21.10 +).md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md diff --git a/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md new file mode 100644 index 0000000000..657c6e0b34 --- /dev/null +++ b/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md @@ -0,0 +1,131 @@ +[#]: subject: "How to Remove Firefox Snap from Ubuntu (21.10 +)" +[#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Remove Firefox Snap from Ubuntu (21.10 +) +====== + +**Ubuntu 21.10 Impish Indri and the following versions make Firefox Snap a default browser. If you don’t like Snap, this is how you can remove it and use the stock version.** + +There is always a debate about whether Snap is a better alternative to apt. And many users prefer it for their system, and some hates snap to its core. Ubuntu and Canonical consider it as one of the best installation repositories and package management tools for Linux. The primary reason Snap is hated is its slow startup time. However, that argument is for another article. + +### Remove Firefox Snap version from Ubuntu + +So, if you haven’t [heard the story][1], Ubuntu 21.10 (and all subsequent versions) ships Firefox as a Snap package by default. So, when you install Ubuntu 21.10 onwards, the default left-dock shortcut is a snap version of Firefox. And you can verify it using the various methods below. + +![snap list - Firefox][2] + +![Firefox snap desktop shortcut][3] + +If you don’t like Snap due to its [performance, and][4]storage issues, you can remove it via the following commands. + +- Close all the Firefox instances if open. + +- Open a terminal. Then run the below command. + +``` +sudo snap remove firefox +``` + +- Wait for the command to complete. This will remove the snap executables from your system and disconnect Firefox from various system services. But the home snap directory will still be there. You can manually remove that using the below command. + +``` +cd ~/snaprm -r firefox +``` + +### Install Firefox Alternative Methods + +Now, as you removed Firefox, you have the following options to use this browser. + +#### Method 1 – Use PPA (Recommended) + +- Before using this method, make sure to remove the snap version of Firefox as mentioned above. +- There is an [official PPA for Firefox][5], maintained by its development team. You can add this PPA to your software sources and use it to install the latest Firefox. +- Make sure to create a file using a text editor to create a preference file to stop Ubuntu from pickup the snap version of Firefox while running the apt update command. + +``` +sudo gedit /etc/apt/preferences.d/firefox-no-snap +``` + +- Add the following lines to the above file and save it. + +``` +Package: firefox*Pin: release o=Ubuntu*Pin-Priority: -1 +``` + +- Use the following commands in sequence. The first command removes it from your system completely. + +``` +sudo apt purge firefox +sudo add-apt-repository ppa:mozillateam/firefox +sudo apt-get update +sudo apt install firefox +``` + +- After installation is finished, make sure to enable the auto-upgrade using the command below. + +``` +echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox +``` + +- Restart your system (optional) and enjoy the deb version of Firefox. + +#### Method 2 – Use the compressed executable of Firefox + +- You can download the compressed Firefox executable for Ubuntu and other Linux from the official website (link below). Then extract it and double-click to run the firefox executable. This is the safest approach. You can still get updates if you use this method. + +[Download Firefox][6] + +![Download Firefox and Extract][7] + +![And then run the executable][8] + +#### Method 3 – Use Flatpak for Firefox + +- You can also use the [Flatpak version of Firefox][9], which is available below after [setting up Ubuntu for Flatpak][10]. Then you can run the below command to install. + +``` +flatpak install flathub org.mozilla.firefox +``` + +#### Method 4 – Use Snap with less system coupling with Firefox + +- If you think you can still continue with the Snap version but want less sandboxing in your system, then you may want to reinstall Firefox using the below command with a [classic switch][11]. + +``` +sudo snap install firefox --classic +``` + +### Closing Notes + +So, this is the step to remove the firefox snap version from Ubuntu 21.10 onwards. And some alternatives. I am inquisitive to find out what step Linux Mint takes, as they don’t go well with Snap. Also, those distros depend on Ubuntu upstream repo for Firefox, It’s interesting to see what they will do. Debian maintains its own repo, but it’s mostly the ESR version. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ + +作者:[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://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1943840 +[2]: https://www.debugpoint.com/wp-content/uploads/2021/09/snap-list-Firefox.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Firefox-snap-desktop-shortcut-1024x490.jpg +[4]: https://www.debugpoint.com/2021/03/clean-up-snap/ +[5]: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa +[6]: https://www.mozilla.org/en-US/firefox/new/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Download-Firefox-and-Extract.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/09/And-then-run-the-executable.jpg +[9]: https://flathub.org/apps/details/org.mozilla.firefox +[10]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ +[11]: https://snapcraft.io/docs/snap-confinement From 46ff33cb382bce813738376b955e3dd29e2dc535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:14:15 +0800 Subject: [PATCH 282/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221104.5=20=E2=AD=90=EF=B8=8F=20Gitpod,=20An=20Open?= =?UTF-8?q?=20Source=20Developer=20Platform,=20Obtains=20$25M.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pen Source Developer Platform, Obtains $25M.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md diff --git a/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md b/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md new file mode 100644 index 0000000000..f9bbd27d95 --- /dev/null +++ b/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md @@ -0,0 +1,44 @@ +[#]: subject: "Gitpod, An Open Source Developer Platform, Obtains $25M" +[#]: via: "https://www.opensourceforu.com/2022/11/gitpod-an-open-source-developer-platform-obtains-25m/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Gitpod, An Open Source Developer Platform, Obtains $25M +====== + +![open srs2][1] + +The new category created by the corporation is intended to increase productivity among the most expensive and in-demand workers for businesses: developers. + +Gitpod GmbH, a start-up open source developer platform, revealed today that it has raised $25 million in fresh funding to establish a new category it calls cloud development environments. + +The Series A investment was led by Tom Preston-Werner, the creator and former CEO of GitHub. Other notable individual investors included General Catalyst, Crane Venture Partners, Vertex Ventures US, Speedinvest, Pebblebed, GTMfund, and MongoDB Ventures. According to information from Crunchbase, Gitpod has now raised $14 million in total, including the fresh capital. + +Gitpod, a 2019 startup, provides an online integrated development environment that can be opened from any GitHub page in a web browser. The business claims that Gitpod offers a fully functional programming environment with support for desktop or browser-based VS Code or any JetBrains integrated development environment, enabling developers to get started coding in only a few seconds. The exact project that is being updated is automatically configured in a separate cloud-based Linux container. + +To reduce the hassle of manually setting up and maintaining a development environment, there is a service called Gitpod. According to the business, developers can work more rapidly using Gitpod since it gives them access to all the tools they need to upgrade or build new apps more quickly. + +Gitpod’s platform was being used by more than 350,000 developers as of its most recent investment round in April 2021. Eighteen months later, there are now 750,000 people. Gitpod is used by developer teams at notable organisations like Google LLC, GitLab Inc., DataStax Inc., and Amazon Web Services Inc. + +According to Gitpod, clients report losing up to five hours of work time per week due to unreliable development environments; CDEs are designed to fix this issue. + +The organisation guarantees that they will be instantaneously accessible and offer limitless secure development settings. A workspace plugin system, application programming interfaces, and enhanced extensibility are on the development agenda. With preview environments and new collaborative procedures, CDEs are also believed to open up completely new options for team members to collaborate more closely. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/11/gitpod-an-open-source-developer-platform-obtains-25m/ + +作者:[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/11/open-srs2-696x444.png From 4cb859d986cb697eb5bfe95b392e1fee988bf190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:15:00 +0800 Subject: [PATCH 283/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2010?= =?UTF-8?q?=20Best=20Open=20Source=20Bots=20for=20Your=20Discord=20Server.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 Best Open Source Bots for Your Discord Server.md | 245 ++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 sources/tech/20221104.6 ⭐️⭐️ 10 Best Open Source Bots for Your Discord Server.md diff --git a/sources/tech/20221104.6 ⭐️⭐️ 10 Best Open Source Bots for Your Discord Server.md b/sources/tech/20221104.6 ⭐️⭐️ 10 Best Open Source Bots for Your Discord Server.md new file mode 100644 index 0000000000..1b94a34692 --- /dev/null +++ b/sources/tech/20221104.6 ⭐️⭐️ 10 Best Open Source Bots for Your Discord Server.md @@ -0,0 +1,245 @@ +[#]: subject: "10 Best Open Source Bots for Your Discord Server" +[#]: via: "https://itsfoss.com/open-source-discord-bots/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +10 Best Open Source Bots for Your Discord Server +====== + +Discord started as a platform where gamers and friends could hang out. **[Discord][1] has over 150 million users** in **2022**, even after [turning down][2] a **$12 billion offer from Microsoft**. + +If it is your first time hearing about it, consider it something like Slack, but with countless fun functionalities to create communities (i.e., servers). + +Among all the features, Discord bots allow automating things or spice up your server. But most of them are proprietary. So, in this list, I suggest some of the **best open-source Discord bots**. + +**Note:**Bots can spread malware and affect your entire Discord server. You must ensure that you do not add bots you do not know about. And this is why you might want to trust open-source Discord bots more than other options. + +### 1. MonitoRSS + +![monitorss itsfoss][3] + +Highlights: + +- **RSS Feed** +- **Filters and Subscriptions** +- **Hosted** + +[MonitoRSS][4] is a useful Discord bot that enables your community to receive news from any sources that support RSS. + +It is a reasonably popular bot that works as expected. You can add it to a particular channel, customize its look, and start getting news updates on your Discord server. + +It also lets you filter articles for your feed and allow users to subscribe to an article as per their liking. This can be managed and customized using a web interface control panel. + +Explore more on its [GitHub page][5]. + +### 2. ModMail + +![modmail discord][6] + +Highlights: + +- **Enables users to contact server staff** +- **Self-host** +- **Hosted version** +- **Optional premium** + +[ModMail][7] is a simple open-source Discord bot that seamlessly lets a user contact the staff/admins/moderators of a Discord channel. + +Traditionally, you have to reach out to multiple people via DMs to expect help on something you want to know. However, some servers have many users, so it may be difficult for the server staff to get back to you. + +ModMail creates a separate channel when you send a message to the bot. And this channel acts as a shared inbox to all the administrators, mods, and you. + +![modmail bot][8] + +Not only does easy messaging, but it also helps the server staff to conveniently read past transcripts, enable automated replies, save snippets of them, respond anonymously, and more. Some features are premium-only. + +You can check out its [official website][9] and [GitHub page][10] for more info. It also gives you all the necessary information to self-host it. + +### 3. Red Discord Bot (Self-Hosted) + +![red discord bot][11] + +Highlights: + +- **Highly Customizable** +- **Moderation****tasks** +- **Good documentation** +- **Multipurpose** + +[Red][12] is an entirely modular bot that provides you with many functions, including music, moderation, trivia, stream alerts, and more. + +Red should be useful whether you want it to send welcome messages or help moderate the server. + +Unlike some others, you cannot add the bot directly to your server. You will have to self-host it, configure it, and then get the ability to add it to your server. + +The installation does not need any sort of coding; you have to follow the [documentation][13]. + +### 4. Discord Music Bot (Self-Hosted) + +![discord music bot][14] + +Highlights: + +- **It****supports Spotify, SoundCloud, and YouTube**. +- **It offers shuffling, volume control, and a web dashboard to manage it all**. + +[Discord Music Bot][15] (not a unique name, I know) is a pretty popular Discord bot that you can self-host. + +It supports Spotify, SoundCloud, and YouTube. Some features include shuffling, volume control, and a web dashboard. + +You can follow the instructions on its [GitHub page][15] to install and configure it for your server. + +### 5. Discord Tickets (Self-Hosted) + +![discord tickets][16] + +Highlights: + +- **Ticket management** +- **Add custom branding for free** + +Do you have customers for your services/products on Discord? You can use [Discord Tickets][17] to manage/create tickets and add your branding for free. + +Most of the Discord’s popular ticket management bots are proprietary and require a premium subscription to add your brand logo. + +With Discord Tickets, you can self-host and customize as per your requirements. Explore more about it on its [GitHub page][18]. + +### 6. EvoBot (Self-Hosted) + +![evobot][19] + +Highlights: + +- **Highly customizable** +- **Search for music or use a URL to play** + +[EvoBot][20] is yet another open-source music Discord bot with lots of customization options. + +You can play music from YouTube and SoundCloud using its URL or search/play. + +Explore more about its installation and configuration on its [GitHub page][20]. + +### 7. Atlanta Bot + +![atlanta bot][21] + +Highlights: + +- **Hosted version** +- **Self-host option** +- **Web dashboard** +- **Multipurpose** + +[AtlantaBot][22] is yet another all-in-one bot that provides functionalities for moderation, music, fun commands, and several commands. + +Furthermore, it features its dashboard with valuable options. You can set up the dashboard and manage your server/configuration through it. You can also perform limited translations using the bot. + +It can be self-hosted, but if you would rather not make an effort, you can invite a hosted version of the bot. + +### 8. YAGPDB (Self-Hosted) + +![reddit feed yagpdb][23] + +Highlights: + +- **Custom commands** +- **Automatic moderator** +- **Reddit/YouTube feed** +- **Moderation****tasks** + +[YAGPDB][24] stands for **Yet Another General Purpose Discord Bot**. + +With this bot, you can quickly perform general moderation tasks, add custom commands, create an automatic moderator, manage/create roles, and pull Reddit/YouTube feeds. + +It is configurable. So, you can do more with it than what I just mentioned. Explore more about it on its [GitHub page][25]. + +### 9. Loritta + +![loritta][26] + +Highlights: + +- **Hosted version** +- **Self-host option** +- **Engagement and Moderation features.** + +If you are looking for a multipurpose Discord bot with an interesting character, [Loritta][27] would be a good pick. + +It supports moderation, entertainment, and automation features. You can self-host it or use the hosted version. + +The developer presents the bot as a girl who helps you moderate, entertain, and engage the members of your server. Additionally, it offers a premium plan for some extra perks. + +Explore more about it on its [GitHub page][28]. + +### 10. Melijn + +![melijn][29] + +Highlights: + +- **Hosted version** +- **Self-host option** +- **Moderation features.** + +[Melijn][30] is yet another multipurpose bot for Discord servers. + +You can interact with audio commands, moderate, perform user verifications, and create role groups. + +It offers a hosted version and lets you self-host it, following the instructions on its [GitHub page][31]. + +### What’s Your Favorite Discord Bot? + +If you are a Discord server moderator or admin, what bot do you like to use for your community? + +Do you focus on moderation features or engagement features? What are the standard features that you look for in a Discord bot? + +Share your thoughts in the comments below. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/open-source-discord-bots/ + +作者:[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://discord.com/company +[2]: https://www.bloomberg.com/news/articles/2021-04-20/chat-app-discord-is-said-to-end-takeover-talks-with-microsoft +[3]: https://itsfoss.com/wp-content/uploads/2022/11/monitorss-itsfoss.jpg +[4]: https://monitorss.xyz +[5]: https://github.com/synzen/MonitoRSS +[6]: https://itsfoss.com/wp-content/uploads/2022/11/modmail-discord.jpg +[7]: https://modmail.xyz/ +[8]: https://itsfoss.com/wp-content/uploads/2022/11/modmail-bot.png +[9]: https://modmail.xyz/premium +[10]: https://github.com/chamburr/modmail +[11]: https://itsfoss.com/wp-content/uploads/2022/11/red-discord-bot.png +[12]: https://github.com/Cog-Creators/Red-DiscordBot +[13]: https://docs.discord.red/en/stable/ +[14]: https://itsfoss.com/wp-content/uploads/2022/11/discord-music-bot.png +[15]: https://github.com/SudhanPlayz/Discord-MusicBot +[16]: https://itsfoss.com/wp-content/uploads/2022/11/discord-tickets.jpg +[17]: https://discordtickets.app +[18]: https://github.com/discord-tickets/bot +[19]: https://itsfoss.com/wp-content/uploads/2022/11/evobot.png +[20]: https://github.com/eritislami/evobot +[21]: https://itsfoss.com/wp-content/uploads/2022/11/atlanta-bot.png +[22]: https://github.com/Androz2091/AtlantaBot +[23]: https://itsfoss.com/wp-content/uploads/2022/11/reddit-feed-yagpdb.png +[24]: https://yagpdb.xyz +[25]: https://github.com/botlabs-gg/yagpdb +[26]: https://itsfoss.com/wp-content/uploads/2022/11/loritta.jpg +[27]: https://loritta.website/us/ +[28]: https://github.com/LorittaBot +[29]: https://itsfoss.com/wp-content/uploads/2022/11/melijn.jpg +[30]: https://melijn.com +[31]: https://github.com/ToxicMushroom/Melijn From 9c1b2109708aa5e1af5fdc1324be2dec6a0ef71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:26:21 +0800 Subject: [PATCH 284/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221104.7=20=E2=AD=90=EF=B8=8F=20How=20to=20iterate?= =?UTF-8?q?=20over=20tables=20in=20Lua.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....7 ⭐️ How to iterate over tables in Lua.md | 215 ++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md diff --git a/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md b/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md new file mode 100644 index 0000000000..4cdc87d0a6 --- /dev/null +++ b/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md @@ -0,0 +1,215 @@ +[#]: subject: "How to iterate over tables in Lua" +[#]: via: "https://opensource.com/article/22/11/iterate-over-tables-lua" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to iterate over tables in Lua +====== + +Create structure that makes it easier to find stored data. + +In the [Lua][1] programming language, an array is called a table. A table is used in Lua to store data. If you're storing a lot of data in a structured way, it's useful to know your options for retrieving that data when you need it. + +### Creating a table in Lua + +To create a table in Lua, you instantiate the table with an arbitrary name: + +``` +mytable ={} +``` + +There are different ways you can structure your data in a table. You could fill it with values, essentially creating a list (called a list in some languages): + +``` +mytable ={'zombie','apocalypse'} +``` + +Or you could create an associated array (called a map or dictionary in some languages). You can add arbitrary keys to the table using dot notation. You can also add a value to that key the same way you add a value to a variable: + +``` +myarray ={} + +myarray.baz='happy' + +myarray.qux='halloween' +``` + +You can add verification with the `assert()` function: + +``` +[assert][2](myarray.baz=='happy','unexpected value in myarray.baz') +[assert][2](myarray.qux=='halloween','unexpected value in myarray.qux') +``` + +You now have two tables: a list-style `mytable` and an associative array-style `myarray`. + +### Iterating over a table with pairs + +Lua's `pairs()` function extracts key and value pairs from a table. + +``` +print('pairs of myarray:') +for k,v in pairs(myarray)do + +  print(k,v) + +end +``` + +Here's the output: + +``` +pairs of myarray: + +baz     happy + +qux     halloween +``` + +If there are no keys in a table, Lua uses an index. For instance, the `mytable` table contains the values `zombie` and `apocalypse`. It contains no keys, but Lua can improvise: + +``` +print('pairs of mytable:') +for k,v in pairs(mytable)do + +  print(k,v) + +end +``` + +Here's the output: + +``` +1   zombie +2   apocalypse +``` + +### Iterating over a table with ipairs + +To account for the fact that tables without keys are common, Lua also provides the `ipairs` function. This function extracts the index and the value: + +``` +print('ipairs of mytable:') +for i,v in ipairs(mytable)do + +  print(i,v) + +end +``` + +The output is, in this case, the same as the output of `pairs`: + +``` +1   zombie +2   apocalypse +``` + +However, watch what happens when you add a key and value pair to `mytable`: + +``` +mytable.surprise='this value has a key' + +print('ipairs of mytable:') +for i,v in ipairs(mytable)do + +  print(i,v) + +end +``` + +Lua ignores the key and value because `ipairs` retrieves only indexed entries: + +``` +1   zombie +2   apocalypse +``` + +The key and value pair, however, have been stored in the table: + +``` +print('pairs of mytable:') +for k,v in ipairs(mytable)do + +  print(k,v) + +end +``` + +The output: + +``` +1          zombie +2          apocalypse + +surprise   this value has a key +``` + +### Retrieving arbitrary values + +You don't have to iterate over a table to get data out of it. You can call arbitrary data by either index or key: + +``` +print('call by index:') + +print(mytable[2]) + +print(mytable[1]) + +print(myarray[2]) + +print(myarray[1]) + +print('call by key:') + +print(myarray['qux']) + +print(myarray['baz']) + +print(mytable['surprise']) +``` + +The output: + +``` +call by index: + +apocalypse + +zombie + +nil + +nil + +call by key: + +halloween + +happy + +this value has a key +``` + +### Data structures + +Sometimes using a Lua table makes a lot more sense than trying to keep track of dozens of individual variables. Once you understand how to structure and retrieve data in a language, you're empowered to generate complex data in an organized and safe way. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/iterate-over-tables-lua + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/11/lua-worth-learning +[2]: http://www.opengroup.org/onlinepubs/009695399/functions/assert.html From b0ee84c90227fd0fad578881b94b6c203fc2f12d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 4 Nov 2022 20:43:47 +0800 Subject: [PATCH 285/925] =?UTF-8?q?Update=2020221104.7=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20How=20to=20iterate=20over=20tables=20in=20Lua.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....7 ⭐️ How to iterate over tables in Lua.md | 67 +++++-------------- 1 file changed, 18 insertions(+), 49 deletions(-) diff --git a/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md b/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md index 4cdc87d0a6..08bd33cad8 100644 --- a/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md +++ b/sources/tech/20221104.7 ⭐️ How to iterate over tables in Lua.md @@ -19,30 +19,28 @@ In the [Lua][1] programming language, an array is called a table. A table is use To create a table in Lua, you instantiate the table with an arbitrary name: ``` -mytable ={} +mytable = {} ``` There are different ways you can structure your data in a table. You could fill it with values, essentially creating a list (called a list in some languages): ``` -mytable ={'zombie','apocalypse'} +mytable = {'zombie','apocalypse'} ``` Or you could create an associated array (called a map or dictionary in some languages). You can add arbitrary keys to the table using dot notation. You can also add a value to that key the same way you add a value to a variable: ``` -myarray ={} - -myarray.baz='happy' - -myarray.qux='halloween' +myarray = {} +myarray.baz = 'happy' +myarray.qux = 'halloween' ``` You can add verification with the `assert()` function: ``` -[assert][2](myarray.baz=='happy','unexpected value in myarray.baz') -[assert][2](myarray.qux=='halloween','unexpected value in myarray.qux') +[assert][2](myarray.baz == 'happy', 'unexpected value in myarray.baz') +[assert][2](myarray.qux == 'halloween', 'unexpected value in myarray.qux') ``` You now have two tables: a list-style `mytable` and an associative array-style `myarray`. @@ -53,10 +51,8 @@ Lua's `pairs()` function extracts key and value pairs from a table. ``` print('pairs of myarray:') -for k,v in pairs(myarray)do - -  print(k,v) - +for k, v in pairs(myarray) do +  print(k, v) end ``` @@ -64,9 +60,7 @@ Here's the output: ``` pairs of myarray: - baz     happy - qux     halloween ``` @@ -74,10 +68,8 @@ If there are no keys in a table, Lua uses an index. For instance, the `mytable` ``` print('pairs of mytable:') -for k,v in pairs(mytable)do - -  print(k,v) - +for k, v in pairs(mytable) do +  print(k, v) end ``` @@ -94,10 +86,8 @@ To account for the fact that tables without keys are common, Lua also provides t ``` print('ipairs of mytable:') -for i,v in ipairs(mytable)do - -  print(i,v) - +for i, v in ipairs(mytable) do +  print(i, v) end ``` @@ -111,13 +101,10 @@ The output is, in this case, the same as the output of `pairs`: However, watch what happens when you add a key and value pair to `mytable`: ``` -mytable.surprise='this value has a key' - +mytable.surprise = 'this value has a key' print('ipairs of mytable:') -for i,v in ipairs(mytable)do - -  print(i,v) - +for i, v in ipairs(mytable) do +  print(i, v) end ``` @@ -132,10 +119,8 @@ The key and value pair, however, have been stored in the table: ``` print('pairs of mytable:') -for k,v in ipairs(mytable)do - -  print(k,v) - +for k, v in ipairs(mytable) do +  print(k, v) end ``` @@ -144,7 +129,6 @@ The output: ``` 1          zombie 2          apocalypse - surprise   this value has a key ``` @@ -154,21 +138,13 @@ You don't have to iterate over a table to get data out of it. You can call arbit ``` print('call by index:') - print(mytable[2]) - print(mytable[1]) - print(myarray[2]) - print(myarray[1]) - print('call by key:') - print(myarray['qux']) - print(myarray['baz']) - print(mytable['surprise']) ``` @@ -176,21 +152,14 @@ The output: ``` call by index: - apocalypse - zombie - nil - nil call by key: - halloween - happy - this value has a key ``` From d9f546a302052c02c0b157fb9c00ea5c86e6669e Mon Sep 17 00:00:00 2001 From: wangzequan <46700056+hadisi1993@users.noreply.github.com> Date: Fri, 4 Nov 2022 23:27:06 +0800 Subject: [PATCH 286/925] Update 20210623 Parsing config files with Lua.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 申领翻译 --- sources/tech/20210623 Parsing config files with Lua.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210623 Parsing config files with Lua.md b/sources/tech/20210623 Parsing config files with Lua.md index 50b47fa003..ee7e98e14f 100644 --- a/sources/tech/20210623 Parsing config files with Lua.md +++ b/sources/tech/20210623 Parsing config files with Lua.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/parsing-config-files-lua) [#]: author: (Seth Kenlon https://opensource.com/users/seth) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: ( hadisi1993) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 20dd16a14f58ddaaeb6a0f8d64c56aabac1f47d0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 5 Nov 2022 09:23:46 +0800 Subject: [PATCH 287/925] RP @chai001125 https://linux.cn/article-15215-1.html --- ... essential Linux commands for beginners.md | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) rename {translated/tech => published}/20220524 12 essential Linux commands for beginners.md (63%) diff --git a/translated/tech/20220524 12 essential Linux commands for beginners.md b/published/20220524 12 essential Linux commands for beginners.md similarity index 63% rename from translated/tech/20220524 12 essential Linux commands for beginners.md rename to published/20220524 12 essential Linux commands for beginners.md index 38805ec653..ee5b742c0f 100644 --- a/translated/tech/20220524 12 essential Linux commands for beginners.md +++ b/published/20220524 12 essential Linux commands for beginners.md @@ -3,27 +3,28 @@ [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15215-1.html" -新手教程:12 个重要的 Linux 命令 +12 个对新手最重要的 Linux 命令 ====== -我向所有的 Linux 初学者推荐以下这些命令。 -![Command line prompt][1] +> 我向所有的 Linux 初学者推荐以下这些命令。 -在使用 Linux 命令行时,很容易就会迷失方向,这可能会导致灾难性的后果:我有一次使用 删除命令 `rm` command 删除文件,然而删除之后我才意识到我刚刚是删除了计算机的引导目录。后来,我学会了使用 `pwd` 命令,来知道当前在文件系统的哪个目录下;并且我使用了 [trashy 和 trash-cli][2] 这一命令行回收站工具,在删除文件时 trash-cli 会充当中间人,将文件先“删除”到桌面上的垃圾箱中,能够通过垃圾箱或通过终端的 `trash` 命令,来恢复垃圾箱中已删除的文件。 +![](https://img.linux.net.cn/data/attachment/album/202211/05/092308plqfl6a6z0g7afx7.jpg) -当我刚开始使用 Linux 时,我有一个放在桌子上的“作弊小抄”,它就是 *《101 条你应该知道的 Linux 命令》* 101 commands for Linux ,我在管理 Linux 服务器时能参考“作弊小抄”上面的这些命令。随着我越来越熟悉这些命令,我越来越精通服务器管理了。 +在使用 Linux 命令行时,很容易就会迷失方向,这可能会导致灾难性的后果:我有一次使用删除命令 `rm` 删除文件,然而删除之后我才意识到我刚刚是删除了计算机的引导目录。后来,我学会了使用 `pwd` 命令,来知道当前在文件系统的哪个目录下;并且我使用了 [trashy 和 trash-cli][2] 这一命令行回收站工具(LCTT 译注:在删除文件时 `trash-cli` 会充当中间人,将文件先“删除”到桌面上的垃圾箱中,能够通过垃圾箱或通过终端的 `trash` 命令,来恢复垃圾箱中已删除的文件。) + +当我刚开始使用 Linux 时,我有一个放在桌子上的“速查表”,它就是《101 条你应该知道的 Linux 命令》,我在管理 Linux 服务器时能参考速查表上面的这些命令。随着我越来越熟悉这些命令,我越来越精通服务器管理了。 以下是我认为最有用的 12 个 Linux 命令。 -### 1. 打印工作目录(pwd) +### 1、打印工作目录(pwd) -`pwd` 命令会打印出你的工作目录。换句话来说,它输出你当前所在目录的路径。`pwd` 命令有两种选项:`-L`(即逻辑路径 logical) 用来打印当前的目录路径(不考虑符号链接),`-P` (即物理路径 physical)会解析符号链接,并打印出物理目录。你可以进一步阅读我们翻译的 [另一篇文章](https://linux.cn/article-4356-1.html) +`pwd` 命令会打印出你的工作目录。换句话来说,它输出你当前所在目录的路径。`pwd` 命令有两种选项:`-L` 或 `--logical`(即逻辑路径)用来打印当前的目录路径(不解析符号链接),`-P` 或 `--physial`(即物理路径)会打印出解析符号链接后的物理目录。(LCTT 译注:你可以进一步阅读我们翻译的 [另一篇文章](https://linux.cn/article-4356-1.html)。) -### 2. 创建目录(mkdir) +### 2、创建目录(mkdir) 使用 `mkdir` 命令来创建一个新目录,是非常容易的。以下命令,创建了一个名为 `example` 目录(若 `example` 已存在,则无法创建): @@ -37,23 +38,23 @@ $ mkdir example $ mkdir -p example/one/two ``` -如果目录 `example` 和目录 `one` 都已存在,则仅会创建目录 `two`。如果上述目录都不存在,则会创建三个嵌套目录。 +如果目录 `example` 和目录 `one` 都已存在,则仅会创建目录 `two`。如果上述目录都不存在,则会创建这三个嵌套的目录。 -### 3. 列出文件(ls) +### 3、列出文件(ls) -我最早使用的是 MS-DOS(微软磁盘操作系统),因此我习惯于使用 `dir` 命令,来列出文件。我不记得当时是否能在 Linux 上使用 `dir` 命令,但是如今 `dir` 命令已经包含在 GNU 核心实用程序包 GNU Core Utilities package 中了。大多数人会使用 `ls` 命令,来显示目录中的文件及其所有的属性。`ls` 命令有许多选项,包括 `-l` 查看文件的长列表,显示文件所有者和权限等信息。 +我最早使用的是 MS-DOS(微软磁盘操作系统),因此我习惯于使用 `dir` 命令,来列出文件。我不记得当时是否能在 Linux 上使用 `dir` 命令,但是如今 `dir` 命令已经包含在 GNU 核心实用程序包GNU Core Utilities package 中了。大多数人会使用 `ls` 命令,来显示目录中的文件及其所有的属性。`ls` 命令有许多选项,包括 `-l` 查看文件的长列表,显示文件所有者和权限等信息。 -### 4. 更改当前工作目录(cd) +### 4、更改当前工作目录(cd) -在 Linux 中经常要更改当前工作目录,这就是 `cd` 命令的功能。例如,以下的示例将让你从 主目录 home 进入 `Documents` 目录: +在 Linux 中经常要更改当前工作目录,这就是 `cd` 命令的功能。例如,以下的示例将让你从 主目录home 进入 `Documents` 目录: ``` $ cd Documents ``` -你可以使用 `cd ~`或者`cd`,来快速转换到你的 主目录 home 。你可以使用 `cd ..` 来返回到上一级目录。 +你可以使用 `cd ~` 或者 `cd`,来快速转换到你的主目录。你可以使用 `cd ..` 来返回到上一级目录。 -### 5. 删除文件(rm) +### 5、删除文件(rm) 删除文件是很危险的,因为在 Linux 终端上用 `rm` 命令会**彻底地**删除文件,并没有像桌面的垃圾桶那样依旧保存着删除的文件。许多终端用户有一个坏习惯,他们会永久地删除他们认为不再需要的文件。然而,因为没有“取消删除”命令,这个坏习惯可能会导致严重的问题:你会不小心删除了包含重要数据的目录。 @@ -63,15 +64,15 @@ Linux 系统为文件删除提供了 `rm` 和 `shred` 命令。要删除文件 ` $ rm example.txt ``` -然而,使用 trash 命令要安全得多,例如[trashy][3] 或者 [trash-cli][4],它会将文件先“删除”到桌面上的垃圾箱中: +然而,使用 `trash` 命令要安全得多,例如 [trashy][3] 或者 [trash-cli][4],它会将文件先“删除”到桌面上的垃圾箱中: ``` $ trash example.txt ``` -关于 Trash-Cli 的更多信息可以参考我们翻译的 [另一篇文章](https://linux.cn/article-10029-1.html)。 +(LCTT 译注:关于 Trash-Cli 的更多信息可以参考我们翻译的 [另一篇文章](https://linux.cn/article-10029-1.html)。) -### 6. 复制文件(cp) +### 6、复制文件(cp) 使用 `cp` 命令,来复制文件。`cp` 的语法是从*旧文件*复制到*新文件*。这里有一个例子: @@ -85,7 +86,7 @@ $ cp file1.txt newfile1.txt $ cp -r dir1 newdirectory ``` -### 7. 移动并重命名文件(mv) +### 7、移动并重命名文件(mv) 重命名和移动文件在功能上是相同的过程。当你移动文件时,从一个目录中取出一个文件,并将其放入一个新目录中;当你重命名文件时,将一个目录中的文件更改为新名称,并放回到同一目录或另一个目录下。无论是重命名还是移动文件,你都可以使用 `mv` 命令: @@ -93,7 +94,7 @@ $ cp -r dir1 newdirectory $ mv file1.txt file_001.txt ``` -### 8. 创建一个空文件(touch) +### 8、创建一个空文件(touch) 使用 `touch` 命令可以简单地创建一个空文件: @@ -105,7 +106,7 @@ $ touch two.txt $ touch three.md ``` -### 9. 更改权限(chmod) +### 9、更改权限(chmod) 使用 `chmod` 命令,来更改文件的权限。`chmod` 最常见的用途是让文件能够执行: @@ -124,9 +125,9 @@ $ ./hello.sh Hello, Don ``` -### 10. 提升为 root 权限(sudo) +### 10、提升为 root 权限(sudo) -在管理自己的 Linux 系统时,可能需要提升为超级用户(也称为 root),这就是 `sudo`(即 *super user do*)命令的来源。假设你想要做一些只有管理员(或 root 用户)才能做的事情,只需在命令前加一个 `sudo` 即可: +在管理自己的 Linux 系统时,可能需要提升为超级用户(也称为 root),这就是 `sudo`(即 以超级用户做super user do)命令的来源。假设你想要做一些只有管理员(或 root 用户)才能做的事情,只需在命令前加一个 `sudo` 即可: ``` $ touch /etc/os-release && echo "Success" @@ -136,7 +137,7 @@ $ sudo touch /etc/os-release && echo "Success" Success ``` -### 11. 关机(poweroff) +### 11、关机(poweroff) `poweroff` 命令的功能和它的字面意思一样:把你的计算机关机。需要在 `poweroff` 前面加一个 `sudo` 才能成功关机。 @@ -146,7 +147,6 @@ Success $ sudo shutdown -h 60 ``` -Or immediately: 或者立即关闭计算机: ``` @@ -155,7 +155,7 @@ $ sudo shutdown -h now 你也可以用 `sudo shutdown -r now` 或者 `reboot` 来重启计算机。 -### 12. 阅读手册(man) +### 12、阅读手册(man) `man` 命令可能是 Linux 中最重要的命令了,你可以通过 `man` 命令查看 Linux 系统上每个命令的官方文档。例如,要阅读更多有关 `mkdir` 的信息,可以输入: @@ -167,7 +167,6 @@ $ man mkdir ### 你最喜欢的 Linux 命令是什么? -There are many more commands on a Linux system—hundreds! What's your favorite command, the one you find yourself using time and time again? Linux 系统上还有数百个其他命令!你最喜欢使用的 Linux 命令是什么呢?什么命令是你一直反复使用的呢? -------------------------------------------------------------------------------- @@ -177,7 +176,7 @@ via: https://opensource.com/article/22/5/essential-linux-commands 作者:[Don Watkins][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1c0b0ff170a7655e583a12525a8b7321ac257e6b Mon Sep 17 00:00:00 2001 From: wangzequan <46700056+hadisi1993@users.noreply.github.com> Date: Sat, 5 Nov 2022 10:22:00 +0800 Subject: [PATCH 288/925] Update and rename sources/tech/20210623 Parsing config files with Lua.md to translated/tech/20210623 Parsing config files with Lua.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提交译文 --- .../20210623 Parsing config files with Lua.md | 231 ------------------ .../20210623 Parsing config files with Lua.md | 212 ++++++++++++++++ 2 files changed, 212 insertions(+), 231 deletions(-) delete mode 100644 sources/tech/20210623 Parsing config files with Lua.md create mode 100644 translated/tech/20210623 Parsing config files with Lua.md diff --git a/sources/tech/20210623 Parsing config files with Lua.md b/sources/tech/20210623 Parsing config files with Lua.md deleted file mode 100644 index ee7e98e14f..0000000000 --- a/sources/tech/20210623 Parsing config files with Lua.md +++ /dev/null @@ -1,231 +0,0 @@ -[#]: subject: (Parsing config files with Lua) -[#]: via: (https://opensource.com/article/21/6/parsing-config-files-lua) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: ( hadisi1993) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -Parsing config files with Lua -====== -Configure persistent application settings with the Lua programming -language. -![Woman sitting in front of her computer][1] - -Not all applications need configuration files; many applications benefit from starting fresh each time they are launched. Simple utilities, for instance, rarely require preferences or settings that persist across uses. However, when you write a complex application, it's nice for users to be able to configure how they interact with it and how it interacts with their system. That's what configuration files are for, and this article discusses some of the ways you can implement persistent settings with the Lua programming language. - -### Choose a format - -The important thing about configuration files is that they are consistent and predictable. You do not want to dump information into a file under the auspices of saving user preferences and then spend days writing code to reverse-engineer the random bits of information that have ended up in the file. - -There are several popular [formats for configuration files][2]. Lua has libraries for most of the common configuration formats; in this article, I'll use the INI format. - -### Installing the library - -The central hub for Lua libraries is [Luarocks.org][3]. You can search for libraries on the website, or you can install and use the `luarocks` terminal command. - -On Linux, you can install it from your distribution's software repository. For example: - - -``` -`$ sudo dnf install luarocks` -``` - -On macOS, use [MacPorts][4] or [Homebrew][5]. On Windows, use [Chocolatey][6]. - -Once `luarocks` is installed, you can use the `search` subcommand to search for an appropriate library. If you don't know the name of a library, you can search for a keyword, like `ini` or `xml` or `json`, depending on what's relevant to what you're trying to do. In this case, you can just search for `inifile`, which is the library I use to parse text files in the INI format: - - -``` -$ luarocks search inifile -Search results: -inifile - 1.0-2 (rockspec) - - 1.0-2 (src) - - 1.0-1 (rockspec) - - [...] -``` - -A common trap programmers fall into is installing a library on their system and forgetting to bundle it with their application. This can create problems for users who don't have the library installed. To avoid this, use the `--tree` option to install the library to a local folder within your project directory. If you don't have a project directory, create one first, and then install: - - -``` -$ mkdir demo -$ cd demo -$ luarocks install --tree=local inifile -``` - -The `--tree` option tells `luarocks` to create a new directory, called `local` in this case, and install your library into it. With this simple trick, you can install all the dependency code your project uses directly into the project directory. - -### Code setup - -First, create some INI data in a file called `myconfig.ini`: - - -``` -[example] -name=Tux -species=penguin -enabled=false - -[demo] -name=Beastie -species=demon -enabled=false -``` - -Save the file as `myconfig.ini` into your home directory, _not_ into your project directory. You usually want configuration files to exist outside your application so that even when a user uninstalls your application, the data they generate while using the application remains on their system. Users might remove unnecessary config files manually, but many don't. As a result, if they reinstall an application, it will retain all of their preferences. - -Config file locations are technically unimportant, but each operating system (OS) has a specification or a tradition of where they ought to be placed. On Linux, this is defined by the [Freedesktop specification][7]. It dictates that configuration files are to be saved in a hidden folder named `~/.config`. For clarity during this exercise, just save the file in your home directory so that it's easy to find and use. - -Create a second file named `main.lua` and open it in your favorite text editor. - -First, you must tell Lua where you've placed the additional library you want it to use. The `package.path` variable determines where Lua looks for libraries. You can view Lua's default package path in a terminal: - - -``` -$ Lua -> print(package.path) -./?.lua;/usr/share/lua/5.3/?.lua;/usr/share/lua/5.3/?/init.lua;/usr/lib64/lua/5.3/?.lua;/usr/lib64/lua/5.3/?/init.lua -``` - -In your Lua code, append your local library location to `package.path`: - - -``` -`package.path = package.path .. ';local/share/lua/5.3/?.lua` -``` - -### Parsing INI files with Lua - -With the package location established, the next thing to do is to require the `inifile` library and then handle some OS logistics. Even though this is a simple example application, the code needs to get the user's home directory location from the OS and establish how to communicate filesystem paths back to the OS when necessary: - - -``` -package.path = package.path .. ';local/share/lua/5.3/?.lua -inifile = require('inifile') - -\-- find home directory -home = os.getenv('HOME') - -\-- detect path separator -\-- returns '/' for Linux and Mac -\-- and '\' for Windows -d = package.config:sub(1,1) -``` - -Now you can use `inifile` to parse data from the config file into a Lua table. Once the data has been placed into a table, you can query the table as you would any other Lua table: - - -``` -\-- parse the INI file and -\-- put values into a table called conf -conf = inifile.parse(home .. d .. 'myconfig.ini') - -\-- print the data for review -print(conf['example']['name']) -print(conf['example']['species']) -print(conf['example']['enabled']) -``` - -Run the code in a terminal to see the results: - - -``` -$ lua ./main.lua -Tux -penguin -false -``` - -That looks correct. Try doing the same for the `demo` block. - -### Saving data in the INI format - -Not all parser libraries read and write data (often called _encoding_ and _decoding_), but the `inifile` library does. That means you can use it to make changes to a configuration file. - -To change a value in a configuration file, you set the variable representing the value in the parsed table, and then you write the table back to the configuration file: - - -``` -\-- set enabled to true -conf['example']['enabled'] = true -conf['demo']['enabled'] = true - -\-- save the change -inifile.save(home .. d .. 'myconfig.ini', conf) -``` - -Take a look at the configuration file now: - - -``` -$ cat ~/myconfig.ini -[example] -name=Tux -species=penguin -enabled=true - -[demo] -name=Beastie -species=demon -enabled=true -``` - -### Config files - -The ability to save data about how a user wants to use an application is an important part of programming. Fortunately, it's a common task for programmers, so much of the work has probably already been done. Find a good library for encoding and decoding into an open format, and you can provide a persistent and consistent user experience. - -Here's the entire demo code for reference: - - -``` -package.path = package.path .. ';local/share/lua/5.3/?.lua' -inifile = require('inifile') - -\-- find home directory -home = os.[getenv][8]('HOME') - -\-- detect path separator -\-- returns '/' for Linux and Mac -\-- and '\' for Windows -d = package.config:sub(1,1) - -\-- parse the INI file and -\-- put values into a table called conf -conf = inifile.parse(home .. d .. 'myconfig.ini') - -\-- print the data for review -print(conf['example']['name']) -print(conf['example']['species']) -print(conf['example']['enabled']) - -\-- enable Tux -conf['example']['enabled'] = true - -\-- save the change -inifile.save(home .. d .. 'myconfig.ini', conf) -``` - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/parsing-config-files-lua - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_2.png?itok=JPlR5aCA (Woman sitting in front of her computer) -[2]: https://opensource.com/article/21/6/config-files-and-their-formats -[3]: https://opensource.com/article/19/11/getting-started-luarocks -[4]: https://opensource.com/article/20/11/macports -[5]: https://opensource.com/article/20/6/homebrew-mac -[6]: https://opensource.com/article/20/3/chocolatey -[7]: https://www.freedesktop.org/wiki/Specifications -[8]: http://www.opengroup.org/onlinepubs/009695399/functions/getenv.html diff --git a/translated/tech/20210623 Parsing config files with Lua.md b/translated/tech/20210623 Parsing config files with Lua.md new file mode 100644 index 0000000000..f9da03da65 --- /dev/null +++ b/translated/tech/20210623 Parsing config files with Lua.md @@ -0,0 +1,212 @@ +[#]: subject: (Parsing config files with Lua) +[#]: via: (https://opensource.com/article/21/6/parsing-config-files-lua) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: ( hadisi1993) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +使用Lua解析配置文件 +====== +使用Lua配置持久化应用设置 +![坐在电脑前的女人][1] +不是所有的应用都需要配置文件;对很多应用来说,在启动时变得焕然一新对它们更有利。例如,简单的工具就极少需要偏好项和设置在使用过程中保持稳定不变。然而,当你编写一个复杂的应用程序时,如果能让用户设置与应用的交互方式,以及应用与系统交互的方式会很不错。这就是配置文件用来做的事情。本文将讨论一些利用Lua进行持久化配置的方法。 + +### 选择一种格式 +关于配置文件很重要的两点是一致性和可预见性。你不会希望为了保存用户偏好项,将信息转储到文件中,然后再花几天去编码实现“逆向工程”,处理最后出现在文件里的随机信息。 + +这里用一些常用的[配置文件格式][2]。Lua有一些库可以处理大多数常用的配置格式;在本文中,我会采用INI格式。 +### 安装库 +Lua库的核心仓库是[Luarocks.org][3].你可以在这个网站搜索库,或者你可以安装并使用`luarocks`终端命令。 +Linux环境中,你可以从发行版的软件仓库中下载它,例如: + +``` +`$ sudo dnf install luarocks` +``` + +在macOS上,请使用[MacPorts][4] 或者[Homebrew][5]. 在Windows上,请使用[Chocolatey][6]. +一旦`luarocks`被安装,你可以使用`search`子命令来搜索一个恰当的库。如果你不知道库的名字,可以通过关键词来搜索这个库,例如`ini` ,`xml` 或者 `json`,这取决于你想要用这个库做什么。打个比方,你可以搜索`inifile`, 这个库被我用来解析INI格式的文本文件。 + +``` +$ luarocks search inifile +Search results: +inifile + 1.0-2 (rockspec) - + 1.0-2 (src) - + 1.0-1 (rockspec) - + [...] +``` + +A common trap programmers fall into is installing a library on their system and forgetting to bundle it with their application. This can create problems for users who don't have the library installed. To avoid this, use the `--tree` option to install the library to a local folder within your project directory. If you don't have a project directory, create one first, and then install: +一个开发者容易犯的错误是在系统上安装了这个库却忘了把它和应用打包。这会给没有安装这个库的用户带来麻烦。为了防止这个问题发生,可以使用`--tree`选项将它安装在项目的本地文件夹中。如果你没有这个项目文件夹,那就先创建这个文件夹再安装库。 + +``` +$ mkdir demo +$ cd demo +$ luarocks install --tree=local inifile +``` + +`--tree` 选项指示`luarocks`创建一个新文件夹并在其中安装你的库,例如这个例子中的`local`文件夹。 使用这个简单的技巧,你可以将所有你项目要使用的依赖项直接安装到项目文件夹中。 +### Code setup +### 配置代码 +首先,在一个名`myconfig.ini`的文件中创建一些INI数据 + +``` +[example] +name=Tux +species=penguin +enabled=false + +[demo] +name=Beastie +species=demon +enabled=false +``` + +将这个文件保存到你的home文件夹下,命名为`myconfig.ini`, _不要_ 存到项目文件夹下。你通常会希望配置文件独立于你的文件存在,这样当用户卸载你的应用时,使用应用时产生的数据可以保存在系统中。有些用户会删除不重要的配置文件,但大多数不会。最终,如果他们要重装这个应用,还会保留着所有的用户偏好项。 + + +配置文件的地址以技术来说并不重要,但每一个操作系统都有特指或者默认的路径存储它们。在Linux中,这个路径被[Freedesktop specification][7]指定。它规定配置文件被保存在一个名为`~/.config`的隐藏文件夹中。为了操作时更加清晰明确,可以在home目录下存储配置文件,以便于使用和寻找 + + +创建第二个文件,命名为`main.lua`,并在你喜欢的文本编辑器中打开它。 + +首先,你必须告诉Lua你将想要使用的附加库放置在哪里。`package.path`变量决定了Lua到哪里去寻找这些库。你可以中终端中查看Lua默认的包地址: + +``` +$ Lua +> print(package.path) +./?.lua;/usr/share/lua/5.3/?.lua;/usr/share/lua/5.3/?/init.lua;/usr/lib64/lua/5.3/?.lua;/usr/lib64/lua/5.3/?/init.lua +``` + +在你的Lua代码中,将你本地库的路径添加到`package.path`中: + +``` +`package.path = package.path .. ';local/share/lua/5.3/?.lua` +``` + +### Parsing INI files with Lua +### 使用Lua解析INI文件 +当包地址被创建以后,下一个件事就是引入`inifile`库并处理OS逻辑。即使这是一个很简单的应用,代码也需要从操作系统获取到用户home目录的路径并建立在必要时将文件系统路径返回给操作系统的通信方式。 + +``` +package.path = package.path .. ';local/share/lua/5.3/?.lua +inifile = require('inifile') + +\-- find home directory +home = os.getenv('HOME') + +\-- detect path separator +\-- returns '/' for Linux and Mac +\-- and '\' for Windows +d = package.config:sub(1,1) +``` + +现在你可使用`inifile`来从配置文件解析数据到Lua表中。一旦这些数据被导入进表中,你可以像查询其他的Lua表一样查询它。 + +``` +\-- parse the INI file and +\-- put values into a table called conf +conf = inifile.parse(home .. d .. 'myconfig.ini') + +\-- print the data for review +print(conf['example']['name']) +print(conf['example']['species']) +print(conf['example']['enabled']) +``` + +在终端中运行代码可以看见结果: + +``` +$ lua ./main.lua +Tux +penguin +false +``` + +这看起来是正确的。试试在demo块中执行同样的操作。 +### 使用INI格式存储数据 +不是所有用来解析的库都会读写数据(通常被称为 _编码 和 _解码_), 但是`inifile`会这样做。这意味着你可以使用它对配置文件进行修改。 + +为了改变配置文件中的值,你可以对被解析的表中的变量进行设置,然后把表重写回配置文件中。 + +``` +\-- set enabled to true +conf['example']['enabled'] = true +conf['demo']['enabled'] = true + +\-- save the change +inifile.save(home .. d .. 'myconfig.ini', conf) +``` + +现在再来看看配置文件: + +``` +$ cat ~/myconfig.ini +[example] +name=Tux +species=penguin +enabled=true + +[demo] +name=Beastie +species=demon +enabled=true +``` + +### Config files +### 配置文件 +按照用户的设想来存储数据对程序来说是至关重要的。幸运的是, 这对工程师来说是一个很常规的任务,大多数工作可能早已被完成了。只要找到一个好用的库完成开放格式下编码和解码,你就能为用户提供一致且持续的体验。 + +以下是完整的demo,可供参考。 + +``` +package.path = package.path .. ';local/share/lua/5.3/?.lua' +inifile = require('inifile') + +\-- find home directory +home = os.[getenv][8]('HOME') + +\-- detect path separator +\-- returns '/' for Linux and Mac +\-- and '\' for Windows +d = package.config:sub(1,1) + +\-- parse the INI file and +\-- put values into a table called conf +conf = inifile.parse(home .. d .. 'myconfig.ini') + +\-- print the data for review +print(conf['example']['name']) +print(conf['example']['species']) +print(conf['example']['enabled']) + +\-- enable Tux +conf['example']['enabled'] = true + +\-- save the change +inifile.save(home .. d .. 'myconfig.ini', conf) +``` + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/parsing-config-files-lua + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[译者ID](hadisi1993) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_2.png?itok=JPlR5aCA (坐在电脑前的女人) +[2]: https://opensource.com/article/21/6/config-files-and-their-formats +[3]: https://opensource.com/article/19/11/getting-started-luarocks +[4]: https://opensource.com/article/20/11/macports +[5]: https://opensource.com/article/20/6/homebrew-mac +[6]: https://opensource.com/article/20/3/chocolatey +[7]: https://www.freedesktop.org/wiki/Specifications +[8]: http://www.opengroup.org/onlinepubs/009695399/functions/getenv.html From 12606b172ed55b21695f0bf12c5daa8cf3a368b2 Mon Sep 17 00:00:00 2001 From: wangzequan <46700056+hadisi1993@users.noreply.github.com> Date: Sat, 5 Nov 2022 10:24:17 +0800 Subject: [PATCH 289/925] Update 20210623 Parsing config files with Lua.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提交译文 --- translated/tech/20210623 Parsing config files with Lua.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/translated/tech/20210623 Parsing config files with Lua.md b/translated/tech/20210623 Parsing config files with Lua.md index f9da03da65..d8467d752b 100644 --- a/translated/tech/20210623 Parsing config files with Lua.md +++ b/translated/tech/20210623 Parsing config files with Lua.md @@ -10,6 +10,8 @@ 使用Lua解析配置文件 ====== 使用Lua配置持久化应用设置 + + ![坐在电脑前的女人][1] 不是所有的应用都需要配置文件;对很多应用来说,在启动时变得焕然一新对它们更有利。例如,简单的工具就极少需要偏好项和设置在使用过程中保持稳定不变。然而,当你编写一个复杂的应用程序时,如果能让用户设置与应用的交互方式,以及应用与系统交互的方式会很不错。这就是配置文件用来做的事情。本文将讨论一些利用Lua进行持久化配置的方法。 @@ -48,7 +50,6 @@ $ luarocks install --tree=local inifile ``` `--tree` 选项指示`luarocks`创建一个新文件夹并在其中安装你的库,例如这个例子中的`local`文件夹。 使用这个简单的技巧,你可以将所有你项目要使用的依赖项直接安装到项目文件夹中。 -### Code setup ### 配置代码 首先,在一个名`myconfig.ini`的文件中创建一些INI数据 @@ -86,7 +87,6 @@ $ Lua `package.path = package.path .. ';local/share/lua/5.3/?.lua` ``` -### Parsing INI files with Lua ### 使用Lua解析INI文件 当包地址被创建以后,下一个件事就是引入`inifile`库并处理OS逻辑。即使这是一个很简单的应用,代码也需要从操作系统获取到用户home目录的路径并建立在必要时将文件系统路径返回给操作系统的通信方式。 @@ -155,7 +155,6 @@ species=demon enabled=true ``` -### Config files ### 配置文件 按照用户的设想来存储数据对程序来说是至关重要的。幸运的是, 这对工程师来说是一个很常规的任务,大多数工作可能早已被完成了。只要找到一个好用的库完成开放格式下编码和解码,你就能为用户提供一致且持续的体验。 From 1e6630c4d8439167eef1b372adb5d661979b0381 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 5 Nov 2022 10:30:11 +0800 Subject: [PATCH 290/925] RP @geekpi https://linux.cn/article-15216-1.html --- ...ow to Check:Xorg or Wayland Display Server.md | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) rename {translated/tech => published}/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md (73%) diff --git a/translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md b/published/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md similarity index 73% rename from translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md rename to published/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md index 1e3e8ef099..1240c18aea 100644 --- a/translated/tech/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md +++ b/published/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md @@ -3,16 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15216-1.html" 如何检查: 是 Xorg 还是 Wayland 显示服务器? ====== -**以下是快速检查在运行 Xorg 还是 Wayland 显示服务器的方法。** +![](https://img.linux.net.cn/data/attachment/album/202211/05/102913nmpm4pzka6b6aar1.jpg) -随着时间的推移,现代 Wayland 显示服务器正在进入所有 Linux 发行版。尽管遗留的 Xorg 仍然相关并且会继续存在,但 Wayland 无疑在安全性和其他性能方面更好。 +> 以下是快速检查在运行 Xorg 还是 Wayland 显示服务器的方法。 + +随着时间的推移,现代 Wayland 显示服务器正在进入所有 Linux 发行版。尽管老旧的 Xorg 仍然能用并且会继续存在,但 Wayland 无疑在安全性和其他性能方面更好。 但是,Xorg 不会很快完全淘汰。可能永远不会。 @@ -20,21 +22,21 @@ ### Wayland 或 Xorg:你在运行哪一个? -- 在你的 Linux 发行版(例如 Ubuntu、Fedora、Arch 等)中打开一个终端窗口 (CTRL+ALT+T)。 +在你的 Linux 发行版(例如 Ubuntu、Fedora、Arch 等)中打开一个终端窗口(`CTRL+ALT+T`)。 -- 然后输入以下命令并回车。 +然后输入以下命令并回车: ``` echo $XDG_SESSION_TYPE ``` -- 命令输出会告诉你当前会话是 Wayland 还是 Xorg (X11)。 +命令输出会告诉你当前会话是 Wayland 还是 Xorg(X11)。 ``` [debugpoint@fedora ~]$ echo $XDG_SESSION_TYPEwayland ``` -![此命令可以为您提供有关 Xorg 或 Wayland 的详细信息][1] +![此命令可以为你提供有关 Xorg 或 Wayland 的详细信息][1] 这很简单。但是,还有其他方法。 @@ -44,7 +46,7 @@ echo $XDG_SESSION_TYPE 如果你需要图形方法,请打开你的 Linux 发行版的设置应用。在关于部分,你应该看到某个标签下中的 Wayland/X11。 -例如,在 GNOME 设置中,你可以在 “Windowing system” 下找到它,如下图所示。 +例如,在 GNOME 设置中,你可以在 “窗口子系统Windowing system” 下找到它,如下图所示: ![在 GNOME 设置中可以找到它][2] @@ -52,13 +54,13 @@ echo $XDG_SESSION_TYPE 你还可以使用 [systemd][3] 登录管理器 `loginctl` 找到它。请记住,它仅适用于基于 systemd 的系统。 -打开终端并运行以下命令。你可以看到会话 id 值。在此示例中为 `c2`。 +打开终端并运行以下命令。你可以看到会话 id 值。在此示例中为 `c2`: ``` loginctl ``` -现在,将会话 ID 传递给以下命令以获取显示服务器类型。确保将 c2 更改为您的系统规格。 +现在,将会话 ID 传递给以下命令以获取显示服务器类型。确保将 c2 更改为你的系统规格。 ``` loginctl show-session c2 -p Type @@ -70,7 +72,7 @@ loginctl show-session c2 -p Type 这些是你可以确定在 Linux 系统中运行的是 Systemd 还是 Xorg 的一些方法。你还可以在 shell 脚本中使用上述命令来实现进一步的流程自动化。 -干杯。 +祝好。 -------------------------------------------------------------------------------- @@ -79,7 +81,7 @@ via: https://www.debugpoint.com/check-wayland-or-xorg/ 作者:[Arindam][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/) 荣誉推出 From 6982d50aba80c28774e1e5d9a6dca96b10674b35 Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sat, 5 Nov 2022 13:55:48 +0800 Subject: [PATCH 291/925] APL --- sources/tech/20220903 Infuse your awk scripts with Groovy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220903 Infuse your awk scripts with Groovy.md b/sources/tech/20220903 Infuse your awk scripts with Groovy.md index 0dd7cadd45..c8d3a03714 100644 --- a/sources/tech/20220903 Infuse your awk scripts with Groovy.md +++ b/sources/tech/20220903 Infuse your awk scripts with Groovy.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/9/awk-groovy" [#]: author: "Chris Hermansen https://opensource.com/users/clhermansen" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "lxbwolf" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f84e6c63a86688022631376119b08ff87386c42b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 5 Nov 2022 15:11:17 +0800 Subject: [PATCH 292/925] RP @robsean https://linux.cn/article-15217-1.html --- ...eUSB on Ubuntu to Create a Bootable Windows USB.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) rename {translated/tech => published}/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md (79%) diff --git a/translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/published/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md similarity index 79% rename from translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md rename to published/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md index 37769c50b0..4ec2ffed02 100644 --- a/translated/tech/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md +++ b/published/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md @@ -3,18 +3,18 @@ [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" [#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15217-1.html" 在 Ubuntu 上安装 WoeUSB 来创建一个可启动 Windows USB ====== -想在 Linux 上创建一个可启动 Windows USB ?Ventoy 是一个很好的选择。 +> 想在 Linux 上创建一个可启动 Windows USB ?Ventoy 是一个很好的选择。 -但是,在 Ventoy 出道之前,WoeUSB 是用于创建可启动 Windows USB 的首选工具。原始的 WoeUSB 工程在 2014 年左右香消玉损。 +但是,在 Ventoy 出道之前,WoeUSB 是用于创建可启动 Windows USB 的首选工具。原版 WoeUSB 工程在 2014 年左右香消玉损。 -鉴于其流行程度,一位新的开发者接过了将其起死回生的任务。因此,WoeUSB-ng 诞生了。在这里,“ng” 是 新生代new generation 的缩写。换句话说,[WoeUSB-ng][1] 是新生代的 WoeUSB 。但是,因为原始的工具已经不存在了,我将 WoeUSB-ng 描述为 WoeUSB 。 +鉴于其流行程度,一位新的开发者接过了将其起死回生的任务。因此,WoeUSB-ng 诞生了。在这里,“ng” 是 新生代new generation 的缩写。换句话说,[WoeUSB-ng][1] 是新生代的 WoeUSB 。但是,因为原版的工具已经不存在了,我将 WoeUSB-ng 描述为 WoeUSB 。 在这篇教程中,我将向你展示如何在 Ubuntu Linux 上安装 WoeUSB 。我也将分享使用 WoeUSB 来创建可启动 Windows USB 的步骤。 @@ -26,16 +26,16 @@ WoeUSB 是一个简单的工具,其唯一的目的是 [在 Linux 上创建可启动 Windows USB][3] 。 -原始的 WoeUSB 是一个 shell 脚本。这个原始的 WoeUSB 被使用 Python 重写为 WoeUSB-ng ,它可以安装在你的系统上,并且通过命令行或 GUI 界面。 +原版 WoeUSB 是一个 shell 脚本。这个原版 WoeUSB 被使用 Python 重写为 WoeUSB-ng ,它可以安装在你的系统上,并且通过命令行或 GUI 界面。 -**特色:** +特色: -- 支持 Legacy PC/UEFI 启动 +- 支持老式 PC 启动或 UEFI 启动 - 支持 FAT32 和 NTFS 文件系统 - 支持使用物理安装盘或磁盘镜像作为源 - 它可以用于 Windows Vista 及其更高版本的任意语言或变体版本 -- Legacy/MBR/IBM PC 兼容启动模式 -- 本机 UEFI 启动支持 Windows 7 及其更高版本的镜像 (仅限于将 FAT 文件系统作为目标的情况) +- 老式的 MBR/IBM PC 兼容启动模式 +- 本机 UEFI 启动支持 Windows 7 及其更高版本的镜像(仅限于将 FAT 文件系统作为目标的情况) ### 在 Ubuntu 和其它的 Linux 发行版上安装 WoeUSB @@ -57,7 +57,7 @@ sudo pip3 install WoeUSB-ng 对于所有的其它安装,你可以参考其 [操作指南][5] 。 -[WoeUSB-ng][1] +> **[WoeUSB-ng][1]** ### 前提条件: 获取 Windows 的 ISO 文件和一个兼容的 USB 磁盘 @@ -65,13 +65,13 @@ sudo pip3 install WoeUSB-ng 从微软的网站,你应该能够获取 Windows 10 和 11 的ISO 文件。 -[下载 Windows][6] +> **[下载 Windows][6]** 如果你有较旧的 Windows 版本的 ISO 文件,也可以使用它们。 除此之外,你需要有一个至少 8 GB 大小的 USB 驱动器磁盘。你应该使用 NTFS 的文件系统来格式化它filesystem. -### 方法 1: 使用图形用户界面化的 WoeUSB 来创建一个可启动的 Windows USB (推荐) +### 方法 1: 使用图形用户界面化的 WoeUSB 来创建一个可启动的 Windows USB(推荐) 从 活动概述activity overview 或菜单中打开 woeusb-gui 。 @@ -83,17 +83,17 @@ sudo pip3 install WoeUSB-ng 在应用程序中也其它可用的调整,可以通过顶部的菜单栏来访问使用。 -在按下安装按钮后,woeUSB 将开始格式化和复制文件。你需要等待一些时间,因为这里有大约 6 GB 的文件需要复制。 +在按下“安装”按钮后,woeUSB 将开始格式化和复制文件。你需要等待一些时间,因为这里有大约 6 GB 的文件需要复制。 ![woeusb writing windows iso to the usb drive][9] -在复制完成后,WoeUSB 将会提示一个成功的对话框。你现在可用安全弹出 USB 驱动器,并将其作为一个可启动 USB 驱动器来使用。 +在复制完成后,WoeUSB 将会提示一个成功的对话框。你现在可以安全地弹出 USB 驱动器,并将其作为一个可启动 USB 驱动器来使用。 ![woeusb completed writing and gives a success message][10] -### 方法 2: 从终端中使用 WoeUSB (针对专家) +### 方法 2: 从终端中使用 WoeUSB(针对专家) -WoeUSB-ng 软件包也提供一个名称为 woeusb 的命令行实用程序。 +WoeUSB-ng 软件包也提供一个名称为 `woeusb` 的命令行实用程序。 为使用 WoeUSb 来创建一个可启动的 Windows USB ,你需要运行下面的命令: @@ -101,7 +101,7 @@ WoeUSB-ng 软件包也提供一个名称为 woeusb 的命令行实用程序。 sudo woeusb --device --target-filesystem ntfs ``` -在这里,`--device` 标识用于擦除 USB 和从零开始创建一个可启动 USB 驱动器。同样,–target-filesystem 标识用于设置为 NTFS ,来避免将要复制的文件大小超过 FAT 文件系统的限制。 +在这里,`--device` 标识用于擦除 USB 和从零开始创建一个可启动 USB 驱动器。同样,`--target-filesystem` 标识用于设置为 NTFS ,来避免将要复制的文件大小超过 FAT 文件系统的限制。 ![woeusb commandline][11] @@ -111,13 +111,13 @@ sudo woeusb --device --target-fil 此时,你可以安全地弹出 USB 驱动器,并在其它的个人电脑上将其作为一个 Windows 可启动 USB 来使用。 -### 惊喜欲狂: 使用 WoeUSB 的 Bash shell 脚本 (针对专家) +### 超值: 使用 WoeUSB 的 Bash Shell 脚本(针对专家) -WoeUSB 也提供一个 bash shell 脚本,在你的系统上,它不需要安装任何东西就可以使用。 +WoeUSB 也提供一个 Bash Shell 脚本,在你的系统上,它不需要安装任何东西就可以使用。 -首先,你需要从 [该工程的发布版本页面][13] 下载 shell 脚本。 +首先,你需要从 [该工程的发布版本页面][13] 下载 Shell 脚本。 -在 [执行 shell 文件][14] 之前,你需要获取所需要的依赖项。为安装它,运行: +在 [执行 Shell 文件][14] 之前,你需要获取所需要的依赖项。为安装它,运行: ``` sudo apt install wimtools @@ -129,7 +129,7 @@ sudo apt install wimtools 或者,你可以运行 `chmod +x ` 来使它可执行。现在,运行已下载目录中的 `./woeusb-5.2.4.bash -h` 来获取帮助。 -为创建一个 live USB ,该进程类似于 woeusb-ng 的命令行部分,但是你没有安装任何东西。 +为创建一个现场 USB ,该进程类似于 woeusb-ng 的命令行部分,但是你没有安装任何东西。 因此,在一个终端中,运行: @@ -166,7 +166,7 @@ via: https://itsfoss.com/install-woeusb-ubuntu/ 作者:[Sreenath][a] 选题:[lkxed][b] 译者:[robsean](https://github.com/robsean) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 6dd55bc5a28e8e40464de1c49dfdc7e98d743024 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Sat, 5 Nov 2022 15:53:52 +0800 Subject: [PATCH 293/925] translated --- ...️ How to Upgrade Python Packages with Pip.md | 108 ------------------ ...️ How to Upgrade Python Packages with Pip.md | 108 ++++++++++++++++++ 2 files changed, 108 insertions(+), 108 deletions(-) delete mode 100644 sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md create mode 100644 translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md diff --git a/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md deleted file mode 100644 index 7fcd03cbfc..0000000000 --- a/sources/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md +++ /dev/null @@ -1,108 +0,0 @@ -[#]: subject: "How to Upgrade Python Packages with Pip" -[#]: via: "https://itsfoss.com/upgrade-pip-packages/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Upgrade Python Packages with Pip -====== - -When was the last that you updated Python packages installed via Pip? Most of the users tend to forget that those packages also need to be updated, as just updating the system repository is not going to work here. - -So let’s take a moment and see how to update old Python packages with Pip. - -### How to use pip to upgrade Python packages - -[Pip (Pip Installs Packages)][1] is a command line utility to manage python packages. You can think of this as how we use apt to manage packages in Ubuntu and Debian. - -So let’s dive deep into how you can use this fab utility to manage everything related to Python packages. - -#### 1. List outdated packages - -Listing the outdated packages is the best idea to plan how you want to update packages as not many want to update their entire library of packages at once and wants to be selective. - -To list outdated packages of Python, you just have to pair `pip` command with `list` option and `--outdated` flag as shown: - -``` -pip list --outdated -``` - -![outdated packages][2] - -#### 2. Upgrade a specific package - -Once you get the list of the packages that need to be updated, you can be selective as I mentioned earlier, and to update a specific package, you’ll need to follow the given command syntax: - -``` -pip install package_name -U -``` - -For example, I want to upgrade the package named `anime-api` to the most recent version, so I’ll be using the given command: - -``` -pip install anime-api -U -``` - -![update anime api][3] - -#### 3. Upgrade package to specific version - -It is not necessary to use only the most recent version of the software (cough [Debian][4] cough) and if you are in need of using packages to a specific version that may or may not be the most recent software, can be done using the given command syntax: - -``` -pip install --upgrade == -``` - -So I want to update the package named `xdg` to version 5.1 which is one point release behind the most recent build so my command would be: - -``` -pip install --upgrade xdg==5.1 -``` - -![upgrade xdg to specific iteration][5] - -#### 4. Upgrade every package using Pip - -**NOTE: I do not recommend upgrading every package at once as most of the time, the dependencies are too complex to be handled.** - -To upgrade every python package, you’d need to follow the given command: - -``` -pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U -``` - -![upgrade everything][6] - -The above command utilizes [xargs][7]. First, it will grab the packages that are needed to be updated and then perform `pip3 install -U` command over each package. - -And I used pip3 here instead of pip. In Ubuntu 22.04 and later, both pip and pip3 commands are available. - -### Wrapping Up - -Upgrading everything at once has never been a good idea in the case of pip. And I found myself in a state of broken dependencies so make sure you know what you will have. - -And if you have any queries, feel free to ask in the comments. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/upgrade-pip-packages/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/install-pip-ubuntu/ -[2]: https://itsfoss.com/wp-content/uploads/2022/09/outdated-packages.png -[3]: https://itsfoss.com/wp-content/uploads/2022/09/update-anime-api.png -[4]: https://www.debian.org/ -[5]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-xdg-to-specific-iteration.png -[6]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-everything.png -[7]: https://linuxhandbook.com/xargs-command/ diff --git a/translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md new file mode 100644 index 0000000000..8b81eec3eb --- /dev/null +++ b/translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md @@ -0,0 +1,108 @@ +[#]: subject: "How to Upgrade Python Packages with Pip" +[#]: via: "https://itsfoss.com/upgrade-pip-packages/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 Pip 升级 Python 软件包 +====== + +你上次更新通过 Pip 安装的 Python 软件包是什么时候?大多数用户往往会忘记这些 Python 软件包也需要手动更新,因为仅仅更新系统存储库对于软件包来说是不起作用的。 + +因此,让我们花点时间看看如何使用 Pip,来更新旧的 Python 软件包吧。 + +### 如何使用 Pip 升级 Python 软件包 + +[Pip(Pip Installs Packages)][1] 是一个用于管理 Python 软件包的 命令行实用程序 command line utility 。你可以将 Pip 安装 Python 软件包,类比为在 Ubuntu 和 Debian 中使用 `apt` 管理软件包那样。 + +因此,接下来就让我们深入了解如何使用这个极好的工具 Pip,来管理与 Python 软件包相关的内容吧。 + +#### 1. 列出过时的 Python 软件包 + +在计划更新什么软件包之前,我们先要列出有哪些过时的软件包,你可以在其中选择想要更新的软件包,因为大多数人不会想一下子更新整个软件包库。 + +要列出过时的 Python 软件包,你只需将 `pip` 命令与 `list` 选项、`--outdated` 标志一同使用即可,如下图所示: + +``` +pip list --outdated +``` + +![outdated packages][2] + +#### 2. 升级特定的软件包 + +获得可更新的软件包列表后,你可以像我之前提到的那样,选择你要更新的那个特定的软件包,pip 升级软件包命令的语法如下: + +``` +pip install package_name -U +``` + +例如,我想将名为 `anime-api` 的软件包升级到最新版本,所以我将使用下面的命令来升级: + +``` +pip install anime-api -U +``` + +![update anime api][3] + +#### 3. 将软件包升级到特定的版本 + +没有必要总是使用软件的最新版本,如果你想将软件包升级到不是最新的某个特定版本,参考如下的命令语法: + +``` +pip install --upgrade == +``` + +例如,我想将名为 `xdg` 的软件包更新到 5.1 版本,5.1 版本是最新版本的前一个版本,所以可以使用以下命令: + +``` +pip install --upgrade xdg==5.1 +``` + +![upgrade xdg to specific iteration][5] + +#### 4. 使用 Pip 一次性升级所有软件包 + +**请注意:我不建议你一次性升级所以软件包,因为 Python 软件包的依赖项太复杂了,一次性的升级无法处理相互依赖项。** + +要一次性升级所有 python 软件包,你可以使用以下命令: + +``` +pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U +``` + +![upgrade everything][6] + +上面的命令使用了 [xargs][7]。首先,会得到所有需要更新的软件包,然后对每个软件包执行 `pip3 install -U` 命令。 + +我在这里使用的是 pip3,而不是 pip。在 Ubuntu 22.04 及更高的版本中,pip 和 pip3 命令都可以使用。 + +### 总结 + +使用 Pip 一次性更新所有 Python 软件包并不是一个好主意。我发现一次性更新后,软件包之间的依赖关系被破坏了,所以请确保只更新你想要更新的软件包。 + +如果你还有其他的疑问,就请在评论区中留言吧。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/upgrade-pip-packages/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/install-pip-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/09/outdated-packages.png +[3]: https://itsfoss.com/wp-content/uploads/2022/09/update-anime-api.png +[4]: https://www.debian.org/ +[5]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-xdg-to-specific-iteration.png +[6]: https://itsfoss.com/wp-content/uploads/2022/09/upgrade-everything.png +[7]: https://linuxhandbook.com/xargs-command/ From 60e5a3984b96f0a1a7fde0dadf2bae70f5c15ba3 Mon Sep 17 00:00:00 2001 From: MareDevi Date: Sat, 5 Nov 2022 16:43:11 +0800 Subject: [PATCH 294/925] Update 20210426 How we built an open source design system to create new community logos.md --- ...gn system to create new community logos.md | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/sources/tech/20210426 How we built an open source design system to create new community logos.md b/sources/tech/20210426 How we built an open source design system to create new community logos.md index 6032ddb852..ed562d462c 100644 --- a/sources/tech/20210426 How we built an open source design system to create new community logos.md +++ b/sources/tech/20210426 How we built an open source design system to create new community logos.md @@ -7,107 +7,106 @@ [#]: publisher: ( ) [#]: url: ( ) -How we built an open source design system to create new community logos +我们如何建立一个开源的设计系统来创造新的社区Logo ====== -Learn how Ansible's new logos were developed with stakeholder input to -ensure a consistent brand across the entire project. +了解Ansible的新logo是如何根据股东的意见开发以确保整个项目的品牌一致性。(确保整个项目有一个统一的品牌) ![UX design Mac computer with mobile and laptop][1] -As interaction designers on Red Hat's User Experience (UX) Design and Ansible product teams, we worked for about six months to build a logo family with the Ansible community. This journey started even earlier when a project manager asked us for a "quick and easy" logo for a slide deck. After gathering a few requirements, we presented a logo to the stakeholders within a few days and without much need for iteration. A few months later, another stakeholder decided they would also benefit from having imagery for their materials, so we repeated the process. +作为红帽的用户体验(UX)设计和Ansible产品团队的交互设计师,我们花了大约6个月的时间为Ansible社区建立了一系列logo。 这段旅程开始得很早,当时一位项目经理要求我们为一个幻灯片提供一个 "快速而简单 "的标志。在收集了一些需求后,我们在几天内就向股东展示了一个标志,而且不需要太多迭代。几个月后,另一个股东决定他们也将从材料的图像中受益,所以我们重复了这个过程。 -At this point, we noticed a pattern: logo resources like these no longer represented individual requests but rather a common need across the Ansible project. After completing several logo requests, we had built a makeshift series that—without conscious branding and design conventions—created the potential for visual inconsistencies across the Ansible brand. As the logo collection grew, we recognized this looming problem and the need to combat it. +在这一点上,我们注意到一个模式:像这样的logo资源不再代表个人的要求,而是整个Ansible项目的共同需要。在完成了几个logo要求后,我们设计了一个临时的系列,但在没有意识到品牌和设计惯例的情况下,造成了整个Ansible品牌的视觉不一致的可能性。随着logo系列的增加,我们认识到了这个迫在眉睫的问题,并需要解决它。 -Our solution was to create an Ansible design system, a brand-specific resource to guide consistent logo design well into the future. +我们的解决方案是创建一个Ansible设计系统,这是一个针对品牌的资源,可以指导未来一致的标志设计。 -### What is a design system? +### 什么是设计系统? -A design system is a collection of reusable assets and guidelines that help inform the visual language of any digital product suite. Design systems create patterns to bring separate products together and elevate brands through scalability and consistency. +设计系统是一个可重复使用的资源和指导方法的集合,有助于告知任何数字产品套件的视觉语言。设计系统创造了一些模式,将独立的产品整合在一起,并通过可扩展性和一致性提升品牌。 -Especially in a large corporation with multiple products in the portfolio, scaling does not come easily without standardization as different teams contribute to each product. Design systems work as a baseline for each team to build new assets on. With a standardized look and feel, products are unified as one family across the portfolio. +特别是在一个有多种产品的大公司里,如果没有标准化,扩展起来就不容易,因为不同的团队对每个产品都有贡献。设计系统可以作为每个团队建立新资产的基线。有了标准化的外观和感觉,产品在整个组合中被统一为一个家族。 -### Getting started building a design system +### 开始构建一个设计系统 -After receiving a series of requests from stakeholders to create logos for the open source Ansible community, such as Ansible Builder, Ansible Runner, and Project Receptor, we decided to design a structure for our workflow and create a single source of truth to work for moving forward. +在收到股东提出的为开源Ansible社区(如Ansible Builder、Ansible Runner和Project Receptor)创建logo的一系列要求后,我们决定为我们的工作流程设计一个结构,并创建一个单一的事实来源,为之努力。 -First, we conducted a visual audit of the existing logos to determine what we had to work with. Ansible's original logo family consists of four main images: the Angry Spud for AWX, the Ansibull for Ansible Core/Engine, and the monitor with wings for AWX. Most of the logos were tied together with a consistent shade of red and bull imagery, but the stroke width, stroke color, line quality, and typography were vast and varied. +首先,我们对现有的logo进行了视觉审计,以确定我们要做的是什么。 Ansible的原始logo系列由四个主要图像组成:代表AWX的Angry Spud,代表Ansible Core/Engine的Ansibull,以及代表AWX的带翅膀的显示器。 大部分的标志都是用一致的红色阴影和公牛的形象联系在一起的,但是笔画的宽度、笔画的颜色、线条的质量和排版都是庞大而多样的。 ![Original Ansible logos][2] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -The Angry Spud uses a tan outline and a hand-drawn style, while the bull is a symmetrical, geometric vector. The AWX monitor was the outlier with its thin line-art wings, blue vector rectangle, and Old English typeface (not included here, but an exception from the rest of the family, which uses a modern sans serif). +愤怒的飞毛腿使用棕褐色的轮廓和手绘风格,而公牛则是一个对称的几何矢量。AWX显示器是一个异类,它有细线画的翅膀,蓝色的矢量矩形,以及古英语字体(这里没有包括在内,但与家族中其他使用现代无衬线的字体相比,它是一个例外)。 -### Establishing new design criteria +### 确立新的设计标准 -Taking color palette, typography, and imagery into consideration, we generated a consistent composition that features the Ansibull for all core Ansible products, along with bold lines and vibrant colors. +考虑到调色板、排版和图像,我们产生了一个一致的构图,以Ansibull为特色的所有核心Ansible产品,以及大胆的线条和充满活力的颜色。 ![Ansible design system][4] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -The new Ansible community logo design style guide details the color palette, typography, sizing, spacing, and logo variations for Ansible product logos. +新的Ansible社区logo设计风格指南详细说明了Ansible产品logo的调色、排版、尺寸、间距和logo变化。 -The new style guide presents a brand new, modern custom typeface based on GT America by [Grilli Type][5], an independent Swiss type foundry. We created a softer look for the typeface to match the imagery's roundedness by rounding out certain corners of each letter. +新的风格指南展示了一种全新的、现代的定制字体,该字体基于瑞士独立字体铸造厂[Grilli Type][5]的GT America。我们为该字体创造了一个柔和的外观,通过使每个字母的圆角来配合图像的圆润度。 -We decided to curate a more lively, saturated, and universal color palette by incorporating more colors in the spectrum and basing them on primary colors. The new palette features light blue, yellow, and pink, each with a lighter highlight and darker shadow. This broader color scope allows more flexibility within the system and introduces a 3D look and feel. +我们决定通过在光谱中加入更多的颜色并以原色为基础,设计一个更生动、更饱和、更普遍的调色板。新的调色板具有浅蓝色、黄色和粉红色,每种颜色都有较浅的高光和较深的阴影。这种更广泛的颜色范围使系统内有更多的灵活性,并引入了3D的外观和感觉。 ![New Ansible logos][6] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -We also introduced new imagery, such as the hexagons in the Receptor and AWX logos for visual continuity. Finally, we made sure each logo works on both light and dark backgrounds for maximum flexibility. +我们还引入了新的图像,如Receptor和AWXlogo中的六边形,以保持视觉上的连续性。最后,我们确保每个logo在浅色和深色背景上都能使用,以获得最大的灵活性。 -### Expanding the design portfolio +### 拓展设计组合 -Once we established the core logo family, we moved onto creating badges for Ansible services, such as Ansible Demo and Ansible Workshop. To differentiate services from products, we decided to enclose service graphics in a circle that contains the name of the service in the same custom typography. The new service badges show the baby Ansibull (from the Ansible Builder logo) completing tasks related to each service, such as pointing to a whiteboard for Ansible Demo or using building tools for Ansible Workshop. +一旦我们建立了核心logo系列,我们就开始为Ansible服务创建徽章,如Ansible Demo和Ansible Workshop。为了将服务与产品区分开来,我们决定将服务图形包围在一个圆圈中,圆圈中包含了相同的定制排版的服务名称。新的服务徽章显示了幼儿Ansibull(来自Ansible Builder的标志)正在完成与每个服务相关的任务,例如Ansible Demo指向白板,Ansible Workshop则使用构建工具。 ![New Ansible services logos][7] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -### Using open source for design decisions +### 利用开放源码进行设计决策 -The original AWX logo was influenced by rock-and-roll imagery, such as the wings and the heavy metal typeface (omitted from the image here). +最初的AWX标志受到了摇滚乐图像的影响,如翅膀和重金属字体(此处省略)。 ![Original AWX logo][8] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -Several members of the Ansible community, including the Red Hat Diversity and Inclusion group, brought to our attention that these elements resemble imagery used by hate groups. +Ansible社区的一些成员,包括红帽多样性和包容性小组,提请我们注意,这些元素类似于仇恨组织使用的图像。 -Given the social implications of the original logo's imagery, we had to work quickly with the Ansible community to design a replacement. Instead of working in a silo, as we did for the initial logos, we broadened the project's scope to carefully consider a wider range of stakeholders, including the Ansible community, Red Hat Diversity and Inclusion group, and Red Hat Legal team. +考虑到原logo的社会影响,我们必须迅速与Ansible社区合作,设计一个替代logo。我们没有像最初的logo那样在一个孤岛上工作,而是扩大了项目的范围,仔细考虑了更多的利益相关者,包括Ansible社区、红帽多样性和包容性小组,以及红帽法律团队。 -We started brainstorming by reaching out to the Ansible open source community for ideas. One of the Ansible engineers, Rebeccah Hunter, contributed in the sketching phase and later became an embedded part of our design team. Part of the challenge of involving a large group of stakeholders was that we had a variety of ideas for new logo concepts, ranging from an auxiliary cable to a bowl of ramen. +我们开始了头脑风暴,向Ansible开源社区征求意见。Ansible的一位工程师Rebeccah Hunter在草图绘制阶段做出了贡献,后来成为我们设计团队中的一员。让一大群股东参与进来的挑战之一是,我们对新的标志概念有各种各样的想法,从一条辅助电缆到一碗拉面。 -We sketched five community-surfaced logos, each featuring a different branded visual: a sprout, a rocket, a monitor, a bowl of ramen, and an auxiliary cable. +我们勾画了五个社区外部的logo,每个标识都有不同的品牌视觉:一个豆芽、一个火箭、一个显示器、一碗拉面和一个辅助电缆。 ![AWX logo concepts][9] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -After completing these initial concept sketches, we set up a virtual voting mechanism that we used throughout the iteration process. This voting system allowed us to use community feedback to narrow from five initial concepts down to three: the rocket, the bowl of ramen, and the monitor. We further iterated on these three directions and presented back, via a Slack channel dedicated to this effort, until we landed on one direction, the AWX monitor, that aligned with the community's vision. +在完成这些初步的概念草图后,我们建立了一个虚拟的投票机制,并在整个迭代过程中使用。这个投票系统使我们能够利用社区的反馈,从五个初始概念缩小到三个:火箭、一碗拉面和显示器。我们在这三个方向上进一步迭代,并通过专门的Slack频道进行反馈,直到我们找到一个符合社区愿景的方向,即AWX显示器。 ![New AWX logo][10] (Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) -With community voices as our guide, we pursued the monitor logo concept for AWX. We preserved the monitor element from the original logo while modernizing the look and feel to match our updated design system. We used a more vibrant color palette, a cleaner sans-serif typeface, and elements, including the hexagon motif, from the Project Receptor logo. +以社区的意见为指导,我们为AWX追求显示器的logo概念。我们保留了原logo中的显示器元素,同时使其外观和感觉现代化,以配合我们更新的设计系统。我们使用了更鲜艳的色调,更简洁的无衬线字体,以及来自Project Receptor logo的元素,包括六角形图案。 -By engaging with our community from the beginning of the process, we were able to design and iterate in the open with a sense of inclusiveness from all stakeholders. In the end, we felt this was the best approach for replacing a controversial logo. The final version was handed off to the Red Hat Legal team, and after approval, we replaced all current assets with this new logo. +通过从一开始就与我们的社区接触,我们能够在公开场合进行设计和迭代,所有股东都有一种包容感。最后,我们认为这是取代一个有争议的logo的最好方法。最终的版本被移交给了红帽法律团队,在获得批准后,我们用这个新的logo替换了所有的现有资产。 -### Key takeaways +### 主要收获 -Creating a set of rules and assets for a design system keeps your digital products consistent across the board, eliminates brand confusion, and enables scalability. +为设计系统创建一套规则和资源,使你的数字产品全面保持一致,消除品牌混乱,并实现可扩展性。 -As you explore building a design system with your own community, you may benefit from these key takeaways we learned along our path: +在你探索与你自己的社区建立一个设计系统时,你可能会从我们在这条路上学到的这些关键经验中受益: - * Scaling new logos with a design system is a much easier process than without one. - * Juggling design options becomes less daunting when you use a polling system to validate results. - * Directing a large audience's attention on sets of three eliminates decision fatigue and focuses community feedback. + * 用设计系统来扩展新的标识,比没有设计系统要容易得多。 + * 当你使用投票系统来验证结果时,杂乱无章的设计方案就会变得不那么令人生畏。 + * 将大量群众的注意力引向多组,消除决策疲劳,集中社区反馈。 -We hope this article provides insight into designing a system with an open source community and helps you recognize the benefit of developing a system early in your process. If you are creating a new design system, what questions do you have? And if you have created one, what lessons have you learned? Please share your ideas in the comments. +我们希望这篇文章能够为设计一个具有开放源码社区的系统提供启示,并帮助你认识到在早期开发系统的好处。如果你正在创建一个新的设计系统,你有什么问题?如果你已经创建了一个,你学到了什么教训?请在评论中分享你的想法。 -------------------------------------------------------------------------------- @@ -115,7 +114,7 @@ via: https://opensource.com/article/21/4/ansible-community-logos 作者:[Fiona Lin][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[MareDevi](https://github.com/MareDEvi) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 65d8deee74c8632180e1590a4d5cb909a879124f Mon Sep 17 00:00:00 2001 From: MareDevi Date: Sat, 5 Nov 2022 18:21:57 +0800 Subject: [PATCH 295/925] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... an open source design system to create new community logos.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20210426 How we built an open source design system to create new community logos.md (100%) diff --git a/sources/tech/20210426 How we built an open source design system to create new community logos.md b/translated/tech/20210426 How we built an open source design system to create new community logos.md similarity index 100% rename from sources/tech/20210426 How we built an open source design system to create new community logos.md rename to translated/tech/20210426 How we built an open source design system to create new community logos.md From ade9bd708b1f779f669e5824bf781feab77c8efd Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sat, 5 Nov 2022 23:24:47 +0800 Subject: [PATCH 296/925] TSL --- ...903 Infuse your awk scripts with Groovy.md | 348 ------------------ ...903 Infuse your awk scripts with Groovy.md | 348 ++++++++++++++++++ 2 files changed, 348 insertions(+), 348 deletions(-) delete mode 100644 sources/tech/20220903 Infuse your awk scripts with Groovy.md create mode 100644 translated/tech/20220903 Infuse your awk scripts with Groovy.md diff --git a/sources/tech/20220903 Infuse your awk scripts with Groovy.md b/sources/tech/20220903 Infuse your awk scripts with Groovy.md deleted file mode 100644 index c8d3a03714..0000000000 --- a/sources/tech/20220903 Infuse your awk scripts with Groovy.md +++ /dev/null @@ -1,348 +0,0 @@ -[#]: subject: "Infuse your awk scripts with Groovy" -[#]: via: "https://opensource.com/article/22/9/awk-groovy" -[#]: author: "Chris Hermansen https://opensource.com/users/clhermansen" -[#]: collector: "lkxed" -[#]: translator: "lxbwolf" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Infuse your awk scripts with Groovy -====== -Awk and Groovy complement each other to create robust, useful scripts. - -Recently I wrote a series on using Groovy scripts to clean up the tags in my music files. I developed a [framework][2] that recognized the structure of my music directory and used it to iterate over the content files. In the final article of that series, I separated this framework into a utility class that my scripts could use to process the content files. - -This separate framework reminded me a lot of the way awk works. For those of you unfamiliar with awk, you might benefit from Opensource.com's eBook, [A practical guide to learning awk][3]. - -I have used awk extensively since 1984, when our little company bought its first "real" computer, which ran System V Unix. For me, awk was a revelation: It had associative memory— think arrays indexed by strings instead of numbers. It had regular expressions built in, seemed designed to deal with data, especially in columns, and was compact and easy to learn. Finally, it was designed to work in Unix pipelines, reading its data from standard input or files and writing to output, with no ceremony required to do so—data just appeared in the input stream. - -To say that awk has been an essential part of my day-to-day computing toolkit is an understatement. And yet there are a few things about how I use awk that leave me unsatisfied. - -Probably the main issue is that awk is good at dealing with data presented in delimited fields but curiously not good at handling comma-separated-value files, which can have field delimiters embedded within a field, provided that the field is quoted. Also, regular expressions have moved on since awk was invented, and needing to remember two sets of regular expression syntax rules is not conducive to bug-free code. [One set of such rules is bad enough][4]. - -Because awk is a small language, it's missing some things that I sometimes find useful, like a richer assortment of base types, structures, switch statements, and so on. - -In contrast, Groovy has all of these good things: access to [the OpenCSV library][5], which facilitates dealing with CSV files, Java regular expressions and great matching operators, a rich assortment of base types, classes, switch statements, and more. - -What Groovy lacks is the simple pipeline-oriented view of data as an incoming stream and processed data as an outgoing stream. - -But my music directory processing framework made me think, maybe I can create a Groovy version of awk's "engine". That's my objective for this article. - -### Install Java and Groovy - -Groovy is based on Java and requires a Java installation. Both a recent and decent version of Java and Groovy might be in your Linux distribution's repositories. Groovy can also be installed following the instructions on the [Groovy homepage][6]. A nice alternative for Linux users is [SDKMan][7], which can be used to get multiple versions of Java, Groovy and many other related tools. For this article, I'm using SDK's releases of: - -* Java: version 11.0.12-open of OpenJDK 11; -* Groovy: version 3.0.8. - -### Creating awk with Groovy - -The basic idea here is to encapsulate the complexities of opening a file or files for processing, splitting the line into fields, and providing access to the stream of data in three parts: - -* Before any data is processed -* On each line of data -* After all data is processed - -I'm not going for the general case of replacing awk with Groovy. Instead, I'm working toward my typical use case, which is: - -* Use a script file rather than having the code on the command line -* Process one or more input files -* Set my default field delimiter to `|` and split lines read on that delimiter -* Use OpenCSV to do the splitting (what I can't do in awk) - -### The framework class - -Here's the "awk engine" in a Groovy class: - -``` -1 @Grab('com.opencsv:opencsv:5.6') - 2 import com.opencsv.CSVReader - 3 public class AwkEngine { - 4 // With admiration and respect for - 5 //     Alfred Aho - 6 //     Peter Weinberger - 7 //     Brian Kernighan - 8 // Thank you for the enormous value - 9 // brought my job by the awk -10 // programming language -11 Closure onBegin -12 Closure onEachLine -13 Closure onEnd - -14 private String fieldSeparator -15 private boolean isFirstLineHeader -16 private ArrayList fileNameList -    -17 public AwkEngine(args) { -18     this.fileNameList = args -19     this.fieldSeparator = "|" -20     this.isFirstLineHeader = false -21 } -    -22 public AwkEngine(args, fieldSeparator) { -23     this.fileNameList = args -24     this.fieldSeparator = fieldSeparator -25     this.isFirstLineHeader = false -26 } -    -27 public AwkEngine(args, fieldSeparator, isFirstLineHeader) { -28     this.fileNameList = args -29     this.fieldSeparator = fieldSeparator -30     this.isFirstLineHeader = isFirstLineHeader -31 } -    -32 public void go() { -33     this.onBegin() -34     int recordNumber = 0 -35     fileNameList.each { fileName -> -36         int fileRecordNumber = 0 -37         new File(fileName).withReader { reader -> -38             def csvReader = new CSVReader(reader, -39                 this.fieldSeparator.charAt(0)) -40             if (isFirstLineHeader) { -41                 def csvFieldNames = csvReader.readNext() as -42                     ArrayList -43                 csvReader.each { fieldsByNumber -> -44                     def fieldsByName = csvFieldNames. -45                         withIndex(). -46                         collectEntries { name, index -> -47                             [name, fieldsByNumber[index]] -48                         } -49                     this.onEachLine(fieldsByName, -50                             recordNumber, fileName, -51                             fileRecordNumber) -52                     recordNumber++ -53                     fileRecordNumber++ -54                 } -55             } else { -56                 csvReader.each { fieldsByNumber -> -57                     this.onEachLine(fieldsByNumber, -58                         recordNumber, fileName, -59                         fileRecordNumber) -60                     recordNumber++ -61                     fileRecordNumber++ -62                 } -63             } -64         } -65     } -66     this.onEnd() -67 } -68 } -``` - -While this looks like a fair bit of code, many of the lines are continuations of a split longer lines (for example, normally you would combine lines 38 and 39, lines 41 and 42, and so on). Let's look at this line by line. - -Line 1 uses the `@Grab` annotation to fetch the OpenCSV library version 5.6 from [Maven Central][8]. No XML required. - -In line 2, I import OpenCSV's `CSVReader` class. - -In line 3, just as with Java, I declare a public utility class, `AwkEngine`. - -Lines 11-13 define the Groovy Closure instances used by the script as hooks into this class. These are "public by default" as is the case with any Groovy class—but Groovy creates the fields as private and external references to these (using getters and setters provided by Groovy). I'll explain that further in the sample scripts below. - -Lines 14-16 declare the private fields—the field separator, a flag to indicate whether the first line of a file is a header, and a list for the file name. - -Lines 17-31 define three constructors. The first receives the command line arguments. The second receives the field separator character. The third receives the flag indicating whether the first line is a header or not. - -Lines 31-67 define the engine itself, as the `go()` method. - -Line 33 calls the `onBegin()` closure (equivalent to the awk `BEGIN {}` statement). - -Line 34 initializes the `recordNumber` for the stream (equivalent to the awk `NR` variable) to 0 (note I am doing 0-origin here rather than the awk 1-origin). - -Lines 35-65 use each `{}` to loop over the list of files to be processed. - -Line 36 initializes the `fileRecordNumber` for the file (equivalent to the awk `FNR` variable) to 0 (0-origin, not 1-origin). - -Lines 37-64 get a `Reader` instance for the file and process it. - -Lines 38-39 get a `CSVReader` instance. - -Line 40 checks to see whether the first line is being treated as a header. - -If the first line is being treated as a header, then lines 41-42 get the list of field header names from the first record. - -Lines 43-54 process the rest of the records. - -Lines 44-48 copy the field values into the map of `name:value`. - -Lines 49-51 call the onEachLine`()` closure (equivalent to what appears in an awk program between `BEGIN {}` and `END {}`, though no pattern can be attached to make the execution conditional), passing in the map of `name:value`, the stream record number, the file name and the file record number. - -Lines 52-53 increment the stream record number and file record number. - -Otherwise: - -Lines 56-62 process the records. - -Lines 57-59 call the `onEachLine()` closure, passing in the array of field values, the stream record number, the file name and the file record number. - -Lines 60-61 increment the stream record number and file record number. - -Line 66 calls the `onEnd()` closure (equivalent to the awk `END {}` ). - -That's it for the framework. Now you can compile it: - -``` -$ groovyc AwkEngine.groovy -``` - -A couple of comments: - -If an argument is passed in that is not a file, the code fails with a standard Groovy stack trace, which looks something like this: - -``` -Caught: java.io.FileNotFoundException: not-a-file (No such file or directory) -java.io.FileNotFoundException: not-a-file (No such file or directory) -at AwkEngine$_go_closure1.doCall(AwkEngine.groovy:46) -``` - -OpenCSV tends to return `String[]` values, which are not as convenient as `List` values in Groovy (for example there is no `each {}` defined for an array). Lines 41-42 convert the header field value array into a list, so perhaps `fieldsByNumber` in line 57 should also be converted into a list. - -### Using the framework in scripts - -Here's a very simple script using `AwkEngine` to examine a file like `/etc/group`, which is colon-delimited and has no header: - -``` -1 def ae = new AwkEngine(args, ‘:') -2 int lineCount = 0 - -3 ae.onBegin = { -4    println “in begin” -5 } - -6 ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> -7    if (lineCount < 10) -8       println “fileName $fileName fields $fields” -9       lineCount++ -10 } - -11 ae.onEnd = { -12    println “in end” -13    println “$lineCount line(s) read” -14 } - -15 ae.go() -``` - -Line 1 calls the two-argument constructor, passing in the argument list and the colon as delimiter. - -Line 2 defines a script top-level variable, `lineCount`, used to record the count of lines read (note that Groovy closures don't require variables defined external to the closure to be final). - -Lines 3-5 define the `onBegin()` closure, which just prints the string "in begin" on standard output. - -Lines 6-10 define the `onEachLine()` closure, which prints the file name and the fields for the first 10 lines and in any case increments the line count. - -Lines 11-14 define the `onEnd()` closure, which prints the string "in end" and the count of the number of lines read. - -Line 15 runs the script using the `AwkEngine`. - -Run this script as follows: - -``` -$ groovy Test1Awk.groovy /etc/group -in begin -fileName /etc/group fields [root, x, 0, ] -fileName /etc/group fields [daemon, x, 1, ] -fileName /etc/group fields [bin, x, 2, ] -fileName /etc/group fields [sys, x, 3, ] -fileName /etc/group fields [adm, x, 4, syslog,clh] -fileName /etc/group fields [tty, x, 5, ] -fileName /etc/group fields [disk, x, 6, ] -fileName /etc/group fields [lp, x, 7, ] -fileName /etc/group fields [mail, x, 8, ] -fileName /etc/group fields [news, x, 9, ] -in end -78 line(s) read -$ -``` - -Of course the `.class` files created by compiling the framework class must be on the classpath for this to work. Naturally, you could use `jar` to package up those class files. - -I really like Groovy's support for the delegation of behavior, which requires various shenanigans in other languages. For many years Java required anonymous classes and quite a bit of extra code. Lambdas have gone a long way to fixing this, but they still cannot refer to non-final variables outside their scope. - -Here's another, more interesting script that is very reminiscent of my typical use of awk: - -``` -1 def ae = new AwkEngine(args, ‘;', true) -2 ae.onBegin = { -3    // nothing to do here -4 } - -5 def regionCount = [:] -6    ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> -7    regionCount[fields.REGION] = -8    (regionCount.containsKey(fields.REGION) ? -9    regionCount[fields.REGION] : 0) + -10   (fields.PERSONAS as Integer) -11 } - -12 ae.onEnd = { -13    regionCount.each { region, population -> -14    println “Region $region population $population” -15    } -16 } - -17 ae.go() -``` - -Line 1 calls the three-argument constructor, recognizing that this is a "true CSV" file with the header being on the first line. Because it's a Spanish file, where the comma is used as the decimal "point", the standard delimiter is the semicolon. - -Lines 2-4 define the `onBegin()` closure which in this case doesn't do anything. - -Line 5 defines an (empty) `LinkedHashMap`, which you will fill with String keys and Integer values. The data file is from Chile's most recent census and you are calculating the number of people in each region of Chile in this script. - -Lines 6-11 processes the lines in the file (there are 180,500 including the header)—note that in this case, because you are defining line 1 as the CSV column headers, the fields parameter is going to be an instance of `LinkedHashMap`. - -Lines 7-10 increment the `regionCount` map, using the value in the field REGION as the key and the value in the field PERSONAS as the value—note that, unlike awk, in Groovy you can't refer to a non-existent map entry on the right-hand side and expect a blank or zero value to materialize. - -Lines 12- 16 print out population by region. - -Line 17 runs the script on the `AwkEngine` instance. - -Run this script as follows: - -``` -$ groovy Test2Awk.groovy ~/Downloads/Censo2017/ManzanaEntidad_CSV/Censo*csv -Region 1 population 330558 -Region 2 population 607534 -Region 3 population 286168 -Region 4 population 757586 -Region 5 population 1815902 -Region 6 population 914555 -Region 7 population 1044950 -Region 8 population 1556805 -Region 16 population 480609 -Region 9 population 957224 -Region 10 population 828708 -Region 11 population 103158 -Region 12 population 166533 -Region 13 population 7112808 -Region 14 population 384837 -Region 15 population 226068 -$ -``` - -That's it. For those of you who love awk and yet would like a little more, I hope you enjoy this Groovy approach. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/awk-groovy - -作者:[Chris Hermansen][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/clhermansen -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/browser_screen_windows_files.png -[2]: https://opensource.com/article/22/8/music-tagging-framework-groovy -[3]: https://opensource.com/downloads/awk-ebook -[4]: http://regex.info/blog/2006-09-15/247 -[5]: http://opencsv.sourceforge.net/ -[6]: https://groovy.apache.org/download.html -[7]: https://opensource.com/article/22/3/manage-java-versions-sdkman -[8]: https://mvnrepository.com/artifact/com.opencsv/opencsv diff --git a/translated/tech/20220903 Infuse your awk scripts with Groovy.md b/translated/tech/20220903 Infuse your awk scripts with Groovy.md new file mode 100644 index 0000000000..c515288b3e --- /dev/null +++ b/translated/tech/20220903 Infuse your awk scripts with Groovy.md @@ -0,0 +1,348 @@ +[#]: subject: "Infuse your awk scripts with Groovy" +[#]: via: "https://opensource.com/article/22/9/awk-groovy" +[#]: author: "Chris Hermansen https://opensource.com/users/clhermansen" +[#]: collector: "lkxed" +[#]: translator: "lxbwolf" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +为你的 awk 脚本注入 Groovy +====== +Awk 和 Groovy 相辅相成,可以创建强大、有用的脚本。 + +最近我写了一个关于使用 Groovy 脚本来清理我的音乐文件中的标签的系列。我开发了一个[框架][2],可以识别我的音乐目录的结构,并使用它来遍历内容文件。在该系列的最后一篇文章中,我从框架中分离出一个实用类,我的脚本可以用它来处理内容文件。 + +这个独立的框架让我想起了很多 awk 的工作方式。对于那些不熟悉 awk 的人来说,你学习下发表在 Opensource.com 的电子书 [awk 实用指南][3]。 + +我从 1984 年开始大量使用 awk,当时我们的小公司买了第一台”真正的“计算机,它运行的是 System V Unix。对我来说,awk 是非常完美的:它有关联内存——认为数组是由字符串而不是数字来索引的。它内置了正则表达式,尤其是在列处理中似乎专为处理数据而生,而且结构紧凑,易于学习。最后,它非常适合在 Unix 工作流使用,从标准输入或文件中读取数据并写入到输出,数据不需要经过其他的转换就出现在了输入流中。 + +说 awk 是我日常计算工具箱中的一个重要部分一点也不为过。然而,在我使用 awk 的过程中,有几件事让我感到不满意。 + +可能主要的问题是 awk 善于处理有分隔字段的数据,但很奇怪它不善于处理 CSV 文件,因为 CSV 文件的字段被引号包围时可以嵌入分隔符。另外,自 awk 发明以来,正则表达式已经有了很大的发展,我们需要记住两套正则表达式的语法规则,而这并不利于编写无 bug 的代码。[一套这样的规则已经很糟糕了][4]。 + +由于 awk 是一门简洁的语言,因此它缺少很多我认为有用的东西,比如更丰富的基础类型、结构体、switch 语句等等。 + +相比之下,Groovy 拥有这些能力:请参照 [OpenCSV 库][5],它很擅长处理 CSV 文件、Java 正则表达式和强大的匹配运算符、丰富的基础类型、类、 switch 语句等等。 + +Groovy 所缺乏的是简单的面向管道的概念,即把要处理数据作为一个传入的流,以及把处理过的数据作为一个传出的流。 + +但我的音乐目录处理框架让我想到,也许我可以创建一个 Groovy 版本的 awk "引擎"。这就是我写这篇文章的目的。 + +### 安装 Java 和 Groovy + +Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 和 Groovy 版本可能都在你的 Linux 发行版的软件库中。Groovy 也可以按照 [Groovy主页][6]上的说明进行安装。对于 Linux 用户来说,一个不错的选择是 [SDKMan][7],它可以用来获得多个版本的 Java、Groovy 和其他许多相关工具。在这篇文章中,我使用的是SDK的版本: + +* Java: version 11.0.12-open of OpenJDK 11; +* Groovy: version 3.0.8. + +### 使用 Groovy 创建 awk + +这里的基本想法是将打开一个或多个文件进行处理、将每行分割成字段、以及提供对数据流的访问等复杂情况封装在三个部分: + +* 在处理数据之前 +* 在处理每行数据时 +* 在处理完所有数据之后 + +我并不打算用 Groovy 来取代 awk。相反,我只是在努力实现我的典型用例,那就是: + +* 使用一个脚本文件而不是在命令行写代码 +* 处理一个或多个输入文件 +* 设置默认的分隔符为 `|`,并基于这个分隔符分割所有行 +* 使用 OpenCSV 完成分割工作(awk 做不到) + +### 框架类 + +下面是 “awk 引擎”的 Groovy 类: + +``` +1 @Grab('com.opencsv:opencsv:5.6') + 2 import com.opencsv.CSVReader + 3 public class AwkEngine { + 4 // With admiration and respect for + 5 //     Alfred Aho + 6 //     Peter Weinberger + 7 //     Brian Kernighan + 8 // Thank you for the enormous value + 9 // brought my job by the awk +10 // programming language +11 Closure onBegin +12 Closure onEachLine +13 Closure onEnd + +14 private String fieldSeparator +15 private boolean isFirstLineHeader +16 private ArrayList fileNameList +    +17 public AwkEngine(args) { +18     this.fileNameList = args +19     this.fieldSeparator = "|" +20     this.isFirstLineHeader = false +21 } +    +22 public AwkEngine(args, fieldSeparator) { +23     this.fileNameList = args +24     this.fieldSeparator = fieldSeparator +25     this.isFirstLineHeader = false +26 } +    +27 public AwkEngine(args, fieldSeparator, isFirstLineHeader) { +28     this.fileNameList = args +29     this.fieldSeparator = fieldSeparator +30     this.isFirstLineHeader = isFirstLineHeader +31 } +    +32 public void go() { +33     this.onBegin() +34     int recordNumber = 0 +35     fileNameList.each { fileName -> +36         int fileRecordNumber = 0 +37         new File(fileName).withReader { reader -> +38             def csvReader = new CSVReader(reader, +39                 this.fieldSeparator.charAt(0)) +40             if (isFirstLineHeader) { +41                 def csvFieldNames = csvReader.readNext() as +42                     ArrayList +43                 csvReader.each { fieldsByNumber -> +44                     def fieldsByName = csvFieldNames. +45                         withIndex(). +46                         collectEntries { name, index -> +47                             [name, fieldsByNumber[index]] +48                         } +49                     this.onEachLine(fieldsByName, +50                             recordNumber, fileName, +51                             fileRecordNumber) +52                     recordNumber++ +53                     fileRecordNumber++ +54                 } +55             } else { +56                 csvReader.each { fieldsByNumber -> +57                     this.onEachLine(fieldsByNumber, +58                         recordNumber, fileName, +59                         fileRecordNumber) +60                     recordNumber++ +61                     fileRecordNumber++ +62                 } +63             } +64         } +65     } +66     this.onEnd() +67 } +68 } +``` + +虽然这看起来是相当多的代码,但许多行是因为太长换行了(例如,通常你会合并第 38 行和第 39 行,第 41 行和第 42 行,等等)。让我们逐行看一下。 + +第 1 行使用 `@Grab` 注解从 [Maven Central][8] 获取 OpenCSV 库的 5.6 本周。不需要 XML。 + +第 2 行我引入了 OpenCSV 的 `CSVReader` 类 + +第 3 行,像 Java 一样,我声明了一个 public 实用类 `AwkEngine`。 + +第 11-13 行定义了脚本所使用的 Groovy 闭包实例,作为该类的钩子。像任何 Groovy 类一样,它们“默认是 public”,但 Groovy 将这些字段创建为 private,并对其进行外部引用(使用 Groovy 提供的 getter 和 setter 方法)。我将在下面的示例脚本中进一步解释这个问题。 + +第 14-16 行声明了 private 字段 —— 字段分隔符,一个指示文件第一行是否为标题的 flag,以及一个文件名的列表。 + +第 17-31 行定义了三个构造函数。第一个接收命令行参数。第二个接收字段的分隔符。第三个接收指示第一行是否为标题的 flag。 + +第 31-67 行定义了引擎本身,即 `go()` 方法。 + +第 33 行调用了 `onBegin()` 闭包(等同于 awk 的 `BEGIN {}` 语句)。 + +第 34 行初始化流的 `recordNumber`(等同于 awk 的 `NR` 变量)为 0(注意我这里是从 00 而不是 1 开始的)。 + +第 35-65 行实用 each `{}` 来循环处理列表中的文件。 + +第 36 行初始化文件的 `fileRecordNumber`(等同于 awk 的 `FNR` 变量)为 0(从 0 而不是 1 开始)。 + +第 37-64 行获取一个文件对应的 `Reader` 实例并处理它。 + +第 38-39 行获取一个 `CSVReader` 实例。 + +第 40 行检测第一行是否为标题。 + +如果第一行是标题,那么在 41-42 行会从第一行获取字段的标题名字列表。 + +第 43-54 行处理其他的行。 + +第 44-48 行把字段的值复制到 `name:value` 的 map 中。 + +第 49-51 行调用 `onEachLine()` 闭包(等同于 awk 程序 `BEGIN {}` 和 `END {}` 之间的部分,不同的是,这里不能输入执行条件),传入的参数是 `name:value` map、处理过的总行数、文件名和该文件处理过的行数。 + +第 52-53 行是处理过的总行数和该文件处理过的行数的自增。 + +如果第一行不是标题: + +第 56-62 行处理每一行。 + +第 57-59 调用 `onEachLine()` 闭包,传入的参数是字段值的数组、处理过的总行数、文件名和该文件处理过的行数。 + +第 60-61 行是处理过的总行数和该文件处理过的行数的自增。 + +第 66 行调用 `onEnd()` 闭包(等同于 awk 的 `END {}`)。 + +这就是该框架的内容。现在你可以编译它: + +``` +$ groovyc AwkEngine.groovy +``` + +一点注释: + +如果传入的参数不是一个文件,编译就会失败,并出现标准的 Groovy 堆栈跟踪,看起来像这样: + +``` +Caught: java.io.FileNotFoundException: not-a-file (No such file or directory) +java.io.FileNotFoundException: not-a-file (No such file or directory) +at AwkEngine$_go_closure1.doCall(AwkEngine.groovy:46) +``` + +OpenCSV 可能会返回 `String[]` 值,不像 Groovy 中的 `List` 值那样方便(例如,数组没有 `each {}`)。第 41-42 行将标题字段值数组转换为 list,因此第 57 行的 `fieldsByNumber` 可能也应该转换为 list。 + +### 在脚本中使用这个框架 + +下面是一个使用 `AwkEngine` 来处理 `/etc/group` 之类由冒号分隔并没有标题的文件的简单脚本: + +``` +1 def ae = new AwkEngine(args, ‘:') +2 int lineCount = 0 + +3 ae.onBegin = { +4    println “in begin” +5 } + +6 ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> +7    if (lineCount < 10) +8       println “fileName $fileName fields $fields” +9       lineCount++ +10 } + +11 ae.onEnd = { +12    println “in end” +13    println “$lineCount line(s) read” +14 } + +15 ae.go() +``` + +第 1 行 调用的有两个参数的构造函数,传入了参数列表,并定义冒号为分隔符。 + +第 2 行定义一个脚本级的变量 `lineCount`,用来记录处理过的行数(注意,Groovy 闭包不要求定义在外部的变量为 final)。 + +第 3-5 行定义 `onBegin()` 闭包,在标准输出中打印出 “in begin” 字符串。 + +第 6-10 行定义 `onEachLine()` 闭包,打印文件名和前 10 行字段,无论是否为前 10 行,处理过的总行数 `lineCount` 都会自增。 + +第 11-14 行定义 `onEnd()` 闭包,打印 “in end” 字符串和处理过的总行数。 + +第 15 行运行脚本,使用 `AwkEngine`。 + +像下面一样运行一下脚本: + +``` +$ groovy Test1Awk.groovy /etc/group +in begin +fileName /etc/group fields [root, x, 0, ] +fileName /etc/group fields [daemon, x, 1, ] +fileName /etc/group fields [bin, x, 2, ] +fileName /etc/group fields [sys, x, 3, ] +fileName /etc/group fields [adm, x, 4, syslog,clh] +fileName /etc/group fields [tty, x, 5, ] +fileName /etc/group fields [disk, x, 6, ] +fileName /etc/group fields [lp, x, 7, ] +fileName /etc/group fields [mail, x, 8, ] +fileName /etc/group fields [news, x, 9, ] +in end +78 line(s) read +$ +``` + +当然,编译框架类生成的 `.class` 文件需要在 classpath 中,这样才能正常运行。通常你可以用 `jar` 把这些 class 文件打包起来。 + +我非常喜欢 Groovy 对行为委托的支持,这在其他语言中需要各种诡异的手段。许多年来,Java 需要匿名类和相当多的额外代码。Lambda 已经在很大程度上解决了这个问题,但它们仍然不能引用其范围之外的非 final 变量。 + +下面是另一个更有趣的脚本,它很容易让人想起我对 awk 的典型使用方式: + +``` +1 def ae = new AwkEngine(args, ‘;', true) +2 ae.onBegin = { +3    // nothing to do here +4 } + +5 def regionCount = [:] +6    ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> +7    regionCount[fields.REGION] = +8    (regionCount.containsKey(fields.REGION) ? +9    regionCount[fields.REGION] : 0) + +10   (fields.PERSONAS as Integer) +11 } + +12 ae.onEnd = { +13    regionCount.each { region, population -> +14    println “Region $region population $population” +15    } +16 } + +17 ae.go() +``` + +第 1 行调用了三个函数的构造方法,`true` 表示这是“真正的 CSV” 文件,第一行为标题。由于它是西班牙语的文件,因此它的逗号表示数字的`点`,标准的分隔符是分号。 + +第 2-4 行定义 `onBegin()` 闭包,这里什么也不做。 + +第 5 行定义一个(空的)`LinkedHashmap`,key 是 String 类型,value 是 Integer 类型。数据文件来自于智利最近的人口普查,你要在这个脚本中计算出智利每个地区的人口数量。 + +第 6-11 行处理文件中的行(加上标题一共有 180,500 行)—— 请注意在这个案例中,由于你定义 第 1 行为 CSV 列的标题,因此 `fields` 参数会成为 `LinkedHashMap` 实例。 + +第 7-10 行是 `regionCount` map 计数增加,key 是 `REGION` 字段的值,value 是 `PERSONAS` 字段的值 —— 请注意,与 awk 不同,在 Groovy 中你不能在赋值操作的右边使用一个不存在的 map 而期望得到空值或零值。 + +第 12-16 行,打印每个地区的人口数量。 + +第 17 行运行脚本,调用 `AwkEngine` 。 + +像下面一样运行一下脚本: + +``` +$ groovy Test2Awk.groovy ~/Downloads/Censo2017/ManzanaEntidad_CSV/Censo*csv +Region 1 population 330558 +Region 2 population 607534 +Region 3 population 286168 +Region 4 population 757586 +Region 5 population 1815902 +Region 6 population 914555 +Region 7 population 1044950 +Region 8 population 1556805 +Region 16 population 480609 +Region 9 population 957224 +Region 10 population 828708 +Region 11 population 103158 +Region 12 population 166533 +Region 13 population 7112808 +Region 14 population 384837 +Region 15 population 226068 +$ +``` + +以上为全部内容。对于那些喜欢 awk 但又希望得到更多的东西的人,我希望你能喜欢这种 Groovy 的方法。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/awk-groovy + +作者:[Chris Hermansen][a] +选题:[lkxed][b] +译者:[lxbwolf](https://github.com/lxbwolf) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/clhermansen +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/browser_screen_windows_files.png +[2]: https://opensource.com/article/22/8/music-tagging-framework-groovy +[3]: https://opensource.com/downloads/awk-ebook +[4]: http://regex.info/blog/2006-09-15/247 +[5]: http://opencsv.sourceforge.net/ +[6]: https://groovy.apache.org/download.html +[7]: https://opensource.com/article/22/3/manage-java-versions-sdkman +[8]: https://mvnrepository.com/artifact/com.opencsv/opencsv From 8b8d1723da8a6aedeb54101edae587972cb6ebcb Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 6 Nov 2022 08:16:49 +0800 Subject: [PATCH 297/925] translating --- ...ve of Ubuntu- Here are the Mascots of All Ubuntu Releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md index 096deb298b..2e402a9564 100644 --- a/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md +++ b/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/all-Ubuntu-mascots/" [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3ab4276a9705005c775bf80635d3f76ab8065eae Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 6 Nov 2022 08:36:05 +0800 Subject: [PATCH 298/925] RP @geekpi https://linux.cn/article-15219-1.html --- ...lean Up Snap Versions to Free Up Disk Space.md | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) rename {translated/tech => published}/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md (73%) diff --git a/translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md b/published/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md similarity index 73% rename from translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md rename to published/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md index 366dfc69e7..f524717305 100644 --- a/translated/tech/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md +++ b/published/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md @@ -3,22 +3,24 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15219-1.html" 如何清理 Snap 版本以释放磁盘空间 ====== -**这个带有脚本的快速指南有助于清理旧的 snap 版本并释放 Ubuntu 系统中的一些磁盘空间。** +![](https://img.linux.net.cn/data/attachment/album/202211/06/082905iomvvhsgoooc5czg.jpg) -我在使用 Ubuntu 的测试系统中的磁盘空间不足。因此,我通过 GNOME 的磁盘使用分析器进行调查,以找出哪个包正在消耗宝贵的 SSD 空间。除了通常的缓存和主目录,令我惊讶的是,我发现 Snap 和 Flatpak 消耗了大量的存储空间。 +> 这个带有脚本的快速指南有助于清理旧的 Snap 版本并释放 Ubuntu 系统中的一些磁盘空间。 + +我正在使用的 Ubuntu 测试系统中的磁盘空间不足。因此,我通过 GNOME 的磁盘使用分析器进行调查,以找出哪个包正在消耗宝贵的 SSD 空间。除了通常的缓存和主目录,令我惊讶的是,我发现 Snap 和 Flatpak 消耗了大量的存储空间。 ![Snap 大小 - 清理前][1] 尽管如此,我始终坚持一个规则:除非必要,否则不要使用 Snap 或 Flatpak。这主要是因为它们的安装尺寸和其他问题。我更喜欢原生 deb 和 rpm 包。多年来,我在这个测试系统中安装和移除了一定数量的 Snap 包。 -卸载后出现问题。Snap 在系统中保留了一些残留文件,一般用户不知道。 +但卸载后还有问题。Snap 在系统中保留了一些残留文件,一般用户不知道。 所以我打开了 Snap 文件夹 `/var/lib/snapd/snaps`,发现 Snap 保留了以前安装/卸载的软件包的旧版本。 @@ -57,11 +59,11 @@ sudo snap set system refresh.retain=2 set -eu LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do -snap remove "$snapname" --revision="$revision" + snap remove "$snapname" --revision="$revision" done ``` -将上面的脚本以 .sh 格式保存在一个目录中(例如 `clean_snap.sh`),赋予它可执行权限并运行。 +将上面的脚本以 `.sh` 扩展名保存在一个目录中(例如 `clean_snap.sh`),赋予它可执行权限并运行。 ``` chmod +x clean_snap.sh @@ -75,13 +77,13 @@ chmod +x clean_snap.sh ### 结束语 -对于 Snap 的设计效率如何,人们总是争论不休。许多人说,它的设计是坏的,是臃肿的,是消耗系统资源的。这种说法的某些部分是真实的,我不会否认它。如果实施和加强得当,整个沙盒应用的概念是很好的。我相信,与 Snap 相比,Flatpak 工作做得更好。 +对于 Snap 的设计效率如何,人们总是争论不休。许多人说,它的设计是坏的,是臃肿的,是消耗系统资源的。这种说法的某些部分是真实的,我不会否认它。如果实施和加强得当,整个沙盒应用的概念是很好的。但我相信,与 Snap 相比,Flatpak 工作做得更好。 -也就是说,我希望这可以帮助你清理一些磁盘空间。尽管它在 Ubuntu 中进行了测试,但它应该适用于所有支持 Snap 的 Linux 发行版。 +也就是说,我希望这可以帮助你清理一些磁盘空间。尽管它只在 Ubuntu 中进行了测试,但它应该适用于所有支持 Snap 的 Linux 发行版。 -此外,请查看我们关于[如何清理 Ubuntu][7] 的指南以及其他步骤。 +此外,请查看我们关于 [如何清理 Ubuntu][7] 的指南以及其他步骤。 -最后,如果你要清理 **Flatpak** 应用,请参阅[本指南][8]。 +最后,如果你要清理 **Flatpak** 应用,请参阅 [这篇指南][8]。 -------------------------------------------------------------------------------- @@ -90,7 +92,7 @@ via: https://www.debugpoint.com/clean-up-snap/ 作者:[Arindam][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/) 荣誉推出 From 9597fc86874f1dd49e784503614cb781b99a4ed7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 6 Nov 2022 08:55:42 +0800 Subject: [PATCH 299/925] RP @chai001125 https://linux.cn/article-15220-1.html --- ...eated on a specific day with the git log command.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) rename {translated/tech => published}/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md (77%) diff --git a/translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md b/published/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md similarity index 77% rename from translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md rename to published/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md index bdbc274031..1fac3cd7ad 100644 --- a/translated/tech/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md +++ b/published/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md @@ -3,16 +3,18 @@ [#]: author: "Agil Antony https://opensource.com/users/agantony" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15220-1.html" 用 git log 命令显示在特定日期的提交记录 ====== -`git log` 命令是 Git 中一个很重要的查看提交记录的工具,它也是人们喜欢使用 Git 的原因之一。 +![](https://img.linux.net.cn/data/attachment/album/202211/06/085449j5diiljl7dzgdr0z.jpg) -`git log` 命令能够让你了解到更多关于贡献者 提交 commit 的记录。使用 `git log` 的一种方式是按日期查看提交记录 。要查看**在指定日期或日期范围内**创建的 Git 存储库中的提交记录,请使用带有选项 `--since` 或 `--until` 或者同时使用以上两个选项的 `git log` 命令。 +> `git log` 命令是 Git 中一个很重要的查看提交记录的工具,它也是人们喜欢使用 Git 的原因之一。 + +`git log` 命令能够让你了解到更多关于贡献者 提交commit 的记录。使用 `git log` 的一种方式是按日期查看提交记录 。要查看**在指定日期或日期范围内**创建的 Git 存储库中的提交记录,请使用带有选项 `--since` 或 `--until` 或者同时使用以上两个选项的 `git log` 命令。 首先,进入你要查看的分支(例如,`main` 分支): @@ -57,7 +59,7 @@ via: https://opensource.com/article/22/10/git-log-command 作者:[Agil Antony][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1d0a6e6878865ca9404f03fe6357c61b92a8aa52 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 6 Nov 2022 09:12:28 +0800 Subject: [PATCH 300/925] ALL @wxy https://linux.cn/article-15221-1.html --- ...pen Source Project Is Now RISC-V Compatible.md | 38 +++++++++++++++++++ ...pen Source Project Is Now RISC-V Compatible.md | 38 ------------------- 2 files changed, 38 insertions(+), 38 deletions(-) create mode 100644 published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md delete mode 100644 sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md diff --git a/published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md b/published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md new file mode 100644 index 0000000000..145bf40640 --- /dev/null +++ b/published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md @@ -0,0 +1,38 @@ +[#]: subject: "The Android Open Source Project Is Now RISC-V Compatible" +[#]: via: "https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15221-1.html" + +安卓开源项目(AOSP)现在兼容 RISC-V 了 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/06/091143bfvf3wz0sluua229.jpg) + +> 安卓的一个重要进展是将安卓开源项目Android Open Source Project(AOSP)移植到 RISC-V 处理器架构。 + +AOSP 已经开始在上游启用 RISC-V,这将促进 RISC-V CPU 在可穿戴设备、物联网,以及最终在智能手机和笔记本电脑中的使用。 + +为了开放生态系统,中国科学院 PLCT 实验室的工程师和软件开发人员在 2020 年开始将 Android 10 移植到 RISC-V 架构上。阿里巴巴的云计算部门和平头哥芯片子公司一起努力保持开发与最新的安卓版本同步。 + +“我们很高兴看到谷歌对构建针对 RISC-V 的 AOSP 的更多支持!阿里云一直致力于通过一系列的创新来支持 RISC-V 社区的发展,比如将安卓的基本功能移植到 RISC-V 上,这证明了在从多媒体到信号处理、设备互联和人工智能等场景中使用基于 RISC-V 的设备的可行性。”阿里云生态系统总监、RISC-V 国际组织的应用与工具水平委员会副主席 David Chen 博士说:“我们期待着与安卓团队合作,为繁荣的 RISC-V 社区做出贡献。” + +通过增强 RISC-V 上的安卓系统的基本功能,在 2021 年,阿里云的专家们付出了巨大的努力,积极推动了软件生态系统的发展。 RISC-V on Android 的工作集中在 RISC-V Android 工作组和软件库中进行。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed +[1]: https://www.opensourceforu.com/wp-content/uploads/2022/11/android-696x364.jpg diff --git a/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md b/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md deleted file mode 100644 index d039e99cc4..0000000000 --- a/sources/news/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md +++ /dev/null @@ -1,38 +0,0 @@ -[#]: subject: "The Android Open Source Project Is Now RISC-V Compatible" -[#]: via: "https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -The Android Open Source Project Is Now RISC-V Compatible -====== - -![android][1] - -A crucial advancement for the technology is the porting of the Android Open Source Project (AOSP) to the RISC-V processor architecture. - -The AOSP has begun enabling RISC-V upstream, which will promote the use of RISC-V CPUs in wearables, the Internet of Things, and eventually smartphones and laptops. - -In an effort to open up the ecosystem, engineers and software developers from the Chinese Academy of Sciences’ PLCT Lab started porting Android 10 to the RISC-V architecture in 2020. Together, Alibaba’s Cloud division and T-Head chip subsidiary have worked hard to maintain the development up to date with the latest Android releases. - -“We are glad to see more support from Google for building AOSP targeting RISC-V! Alibaba Cloud has been committed to supporting the RISC-V community through a series of innovations, such as progressing the porting of basic Android functions onto RISC-V, which proves the feasibility of using RISC-V based devices in scenarios ranging from multimedia to signal processing, device interconnection, and artificial intelligence. We look forward to engaging with the Android team to contribute to the thriving RISC-V community down the road,” said Dr. David Chen, Director of Ecosystem from Alibaba Cloud and Vice Chair of the Applications & Tools Horizontal Committee at RISC-V International. - -By enhancing the fundamental capabilities of Android on RISC-V, experts at Alibaba Cloud made a significant effort to actively assist the software ecosystem throughout 2021. The RISC-V Android Working Group and the software repository are where the RISC-V on Android efforts are concentrated. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/11/the-android-open-source-project-is-now-risc-v-compatible/ - -作者:[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/11/android-696x364.jpg From 731ad13fa835dad8c85fa771c96969a3762520d5 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Sun, 6 Nov 2022 15:06:49 +0800 Subject: [PATCH 301/925] =?UTF-8?q?Update=2020221102.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Linux=20Mint's=20Update=20Manager=20Now=20Supports?= =?UTF-8?q?=20Flatpak.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md index a7a1436009..6f05ff9fd5 100644 --- a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md +++ b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/linux-mint-update-manager/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "qfzy1233" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -83,7 +83,7 @@ via: https://news.itsfoss.com/linux-mint-update-manager/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[qfzy1233](https://github.com/qfzy1233) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 825ab4ce52c822c8313aa11819c060aa5e9a3f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:09:02 +0800 Subject: [PATCH 302/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221105.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fi?= =?UTF-8?q?x=20scanned=20images=20with=20ImageMagick.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Fix scanned images with ImageMagick.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md diff --git a/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md new file mode 100644 index 0000000000..117c015832 --- /dev/null +++ b/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md @@ -0,0 +1,91 @@ +[#]: subject: "Fix scanned images with ImageMagick" +[#]: via: "https://opensource.com/article/22/11/fixing-scanned-images-imagemagick" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fix scanned images with ImageMagick +====== + +It's easy to correct images, even in batches, with this open source tool. + +Years ago while rummaging through the contents of a shelf in a used bookstore, I happened upon a booklet titled "UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD," published by Specialized Systems Consultants. I bought it as a curiosity item because it was nearly 20 years old yet still largely applicable to modern Linux and BSD. + +That amused me then and now. A booklet written in 1986 was still largely relevant in 2016, while books on the same shelf about a proprietary OS weren't worth the paper they were printed on. (Think about it: What technology do you think is going to survive a zombie apocalypse?) I've had the booklet on my own bookshelf for several years now, but it occurred to me that it's probably worth doing a little digital preservation of this artifact, so I decided to scan the booklet to create a [CBZ ebook][1]. + +Scanning was easy, albeit time-consuming, with [Skanlite][2]. After I was finished, however, I discovered that some pages weren't quite level. + +![A page of text, including a table of contents and a glossary, that is crooked and distorted][3] + +In printing, this is called a registration problem, meaning that the position of what's being printed isn't correctly orientated on the page. + +### ImageMagick + +[ImageMagick][4] is a non-interactive terminal-based graphics editor. It might seem counterintuitive to try to edit a graphic in a graphic-less environment like a text-only terminal, but it's actually very common. For instance, when you upload an image to use as a profile picture to a web application, it's likely that a script on the application's server processes your image using ImageMagick or its libraries. The advantage of a non-interactive editor is that you can formulate what needs to be done to a sample image, then apply those effects to hundreds of other images at the press of a button. + +ImageMagick is generally just as capable as any graphics editor, as long as you take the time to uncover its many functions and how to combine them to achieve the desired effects. In this case, I want to rotate pages that are askew. After searching through ImageMagick's documentation, I discovered that the ImageMagick term for the solution I needed was called deskew. Aligning your terminology with somebody else's terminology is a challenge in anything that you don't already know, so when you approach ImageMagick (or anything), keep in mind that the word you've decided describes a problem or solution may not be the same word used by someone else. + +To deskew an image with crooked text using ImageMagick: + +``` +$ convert page_0052.webp -deskew25% fix_0052.webp +``` + +The `-deskew` option represents the threshold of acceptable skew. A skew is determined by tracing peaks and valleys of objects that appear to be letters. Depending on how crooked your scan is, you may need more or less than 25% threshold. I've gone as high as 80%, and so far nothing under 25% has had an effect. + +Here's the result: + +![The same page of text, now with the text properly aligned][5] + +Fixed! Applying this to the remaining 55 pages of the document fixed skewed pages while doing nothing to pages that were already straight. In other words, it was safe to run this command on pages that needed no adjustment, thanks to my threshold setting. + +### Cropping an image with ImageMagick + +After correcting for a skew, and because I scanned more of each page than necessary anyway to prevent accidentally cutting off words, I decided that it made sense to crop my corrected pages. I was happy to keep some space around the margins, but not quite as much as I had. I use the `crop` function of ImageMagick often enough for images on this very website, so I was familiar with the option. However, I needed to determine how to crop each page. + +First, I needed the size of the image: + +``` +$ identify fixed_0052.webp +WEBP 1128x2593 1128x2593+0+08-bit sRGB 114732B 0.020u 0:00.021 +``` + +Knowing the size, I was able to make some estimations about how many pixels I could stand to lose. After a few trial runs, I came up with this: + +``` +convert fix_0052.webp -gravity Center -crop 950x2450+0+0 crop_0052.webp +``` + +This isn't an exact fit, but it proved important when I applied it to other images in the booklet. The pages varied in content and scanner placement here and there, so I was happy to give each one a little breathing room. + +Here's the corrected and cropped image: + +![The same page of text, with the previous fixes applied and crooked white margins around the page cropped out.][6] + +### Batch image editing with open source + +The beauty of ImageMagick is that once you've figured out the formula for fixing your image, you can apply that fix to all images requiring the same fix. I do this with [GNU Parallel][7], which uses all my CPU cores to finish image correction across hundreds of pages. It doesn't take long, and the results speak for themselves. More importantly, I've got a digital archive of a fun artifact of UNIX history. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/3/comic-book-archive-djvu +[2]: https://opensource.com/article/22/2/scan-documents-skanlite-linux-kde +[3]: https://opensource.com/sites/default/files/2022-10/imagemagick-crook_1.png +[4]: https://opensource.com/article/17/8/imagemagick +[5]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-fix.png +[6]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-crop.png +[7]: http://LINK-TO-SETH-GNU-PARALLEL-REDHAT.COM/SYSADMIN From 7187c6755321f21a728e2df46ff070b213ed2b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:10:19 +0800 Subject: [PATCH 303/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221106.0=20=E2=AD=90=EF=B8=8F=20Guide=20How=20to=20S?= =?UTF-8?q?hare=20A=20Folder=20Between=20UbuntuLinux=20and=20Windows.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...re A Folder Between UbuntuLinux and Windows.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md diff --git a/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md b/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md new file mode 100644 index 0000000000..cfae20f66c --- /dev/null +++ b/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md @@ -0,0 +1,95 @@ +[#]: subject: "Guide: How to Share A Folder Between Ubuntu/Linux and Windows" +[#]: via: "https://www.debugpoint.com/guide-how-share-folder-between-ubuntu-linux-windows/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Guide: How to Share A Folder Between Ubuntu/Linux and Windows +====== + +**This beginner’s guide explains how you can quickly share a folder in Ubuntu/Linux.** + +Sharing a folder in Ubuntu/Linux and accessing the same over the network in other OS such as Windows is not that difficult. To perform this, the required packages are not installed by default in Ubuntu. However, you can bring up the install wizard to install the required software automatically to share a folder.  + +This [guide][1]applies to all Ubuntu versions (including [22.04][2], 20.04, 18.04, 19.10 and upcoming – unless there are major changes in how this function is designed). + +### Steps to Share a Folder in Ubuntu + +**Step 1:**Open the file manager and right-click on the folder you want to share. Click on the option “Local Network Share” in the context menu. + +![Local Network Share Option][3] + +**Step 2:**Click on the Share this folder checkbox in the Folder Sharing dialog. + +This would install [Samba][4]packages in your system. Samba is used to share files and printers over the network between Windows and Unix systems. + +![Folder Sharing Option - Install Samba][5] + +**Step 3:**After samba installation, do the following to share a folder or directory. + +- Select the checkbox Share this folder. +- Input a share name. This would be the name you would be seeing from another system, e.g. Windows. Try not to use any name with spaces. +- (Optional) You can control the write permission to the shared folder and allow guest access by checking the corresponding option. +- If you allow guest access, people without credentials can access the shared folder. So be cautious. +- If you want your users to enter their usernames and password, open the terminal and run the below command. + +``` +sudo smbpasswd -a **Username** +``` + +**username**should be a valid user of the respective Ubuntu system. + +You should be all set now to access the folder/directory. + +### How to Access the Shared Folder + +To access the shared folder from Ubuntu/Linux system, you need your system’s IP address/hostname. To do that, open `System Settings -> Wifi -> Get the IP address`. + +![IP Address Settings][6] + +This step may vary if you are running different Linux distribution other than Ubuntu. You may also want to run `ip addr` to get the IP address as below. + +![Finding out IP Address in Linux][7] + +Once you have the address, you can open File Manager in Ubuntu/Linux systems and type below in the address bar. You should change the IP address based on your system. + +You can now see that the shared folder is shown with a tiny shared icon that denotes a network share folder. + +![Share Folder][8] + +To access the shared folder from the **Windows system**, Open Run (Windows Key+R) or open Explorer and enter the below address. You should change the IP address and Folder name based on your system + +``` +\\192.168.43.19\Folder +``` + +You should be able to view the contents of the shared folder and modify it based on permission given. + +### Wrapping Up + +I have shown you how to share a folder from Ubuntu and access Windows systems via IP address. You can also follow the same steps for other Linux distributions. Do let me know in the comment box below if this article helped you. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/guide-how-share-folder-between-ubuntu-linux-windows/ + +作者:[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/category/tutorials/ +[2]: https://www.debugpoint.com/web-stories/ubuntu-22-04-review/ +[3]: https://www.debugpoint.com/wp-content/uploads/2020/01/Local-Network-Share-Option.jpg +[4]: https://en.wikipedia.org/wiki/Samba_(software) +[5]: https://www.debugpoint.com/wp-content/uploads/2020/01/Folder-Sharing-Option-Install-Samba-1024x552.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/01/IP-Address-Settings.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/01/Finding-out-IP-Address-in-Linux.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/01/Share-Folder-1.jpg From 7880bf6e27c1c1b8132a1ae015641883f78ce9bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:10:42 +0800 Subject: [PATCH 304/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221106.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20MATE=20Desktop=20in=20Arch=20Linux=20[Complete=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...MATE Desktop in Arch Linux [Complete Guide].md | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 sources/tech/20221106.1 ⭐️ How to Install MATE Desktop in Arch Linux [Complete Guide].md diff --git a/sources/tech/20221106.1 ⭐️ How to Install MATE Desktop in Arch Linux [Complete Guide].md b/sources/tech/20221106.1 ⭐️ How to Install MATE Desktop in Arch Linux [Complete Guide].md new file mode 100644 index 0000000000..cfcdccd046 --- /dev/null +++ b/sources/tech/20221106.1 ⭐️ How to Install MATE Desktop in Arch Linux [Complete Guide].md @@ -0,0 +1,98 @@ +[#]: subject: "How to Install MATE Desktop in Arch Linux [Complete Guide]" +[#]: via: "https://www.debugpoint.com/mate-desktop-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install MATE Desktop in Arch Linux [Complete Guide] +====== + +**This guide explains the steps you need to install MATE Desktop in Arch Linux.** + +This guide has two parts. The first part deals with installing the base Arch system. The second part is installing the complete MATE desktop environment on top of Arch Linux. + +This article tested in the following versions: MATE 1.24, and MATE 1.26. + +### What is the MATE Desktop? + +When the GNOME desktop changed its direction from GNOME 2 to GNOME 3 – by changing the user interaction and interface, the MATE desktop continued the older/Legacy GNOME 2 development. So, the MATE desktop environment continues the GNOME 2 desktop, which preserved the traditional desktop experience in Linux. It is fast and low on memory consumption. In my opinion, one of the underrated desktop environments which need more love! + +The MATE team continued development as it is one of the popular GNOME 2 based desktop while supporting newer technologies. You can learn more on its [official website][1]. + +### Install MATE Desktop in Arch Linux + +#### Part 1: Install Arch Linux + +If you already have Arch Linux installed, you can skip this step and directly go to the [installation of MATE Desktop section below][2]. + +For a quick Arch Linux installation, follow this automated archinstall guide which is super easy to follow. And once installed, continue to Part 2. + +#### Part 2: Install MATE Desktop in Arch Linux + +After reboot, choose Arch Linux from grub. In the Arch Linux prompt, start running the following commands in sequence. These commands install the Xorg server, display manager, MATE desktop components, controller packages, and additional applications. + +For all the commands, use default, i.e. press enter when asked. + +- **Install Xorg. Approx install size is 80 MB.** + +``` +sudo pacman -S --needed xorg +``` + +- **Install display manager, and MATE desktop components. Approx install size is 380 MB.** + +``` +sudo pacman -S --needed mate mate-extra ttf-freefont lightdm lightdm-gtk-greeter +``` + +![Installing MATE Packages][3] + +- **Install applications** + +This is just a reference. You can also install the ones you require. + +``` +sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper +``` + +Now it’s time to enable the display manager and network manager as a service. So that the next time you log on, they can run automatically by systemd. + +``` +systemctl enable lightdm +systemctl enable NetworkManager +``` + +Reboot the system using the reboot command. + +``` +reboot +``` + +You should see a login prompt on the MATE desktop if all goes well. + +And you can now log in using the user ID and password which you just created. A superfast and legacy MATE Desktop would welcome you. + +![MATE Desktop in Arch Linux][4] + +I hope this guide helps you create your own Arch Linux environment with a legacy MATE desktop from scratch. Please let me know if you run into trouble using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/mate-desktop-arch-linux-install/ + +作者:[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://mate-desktop.org/ +[2]: https://www.debugpoint.com/archinstall-guide/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/08/Installing-MATE-Packages.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/08/MATE-Desktop-in-Arch-Linux-1.jpg From 715ca03e4d7f49a33b9fcc679b11d809a745daeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:11:27 +0800 Subject: [PATCH 305/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221105.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20Cinnamon=20Desktop=20in=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w to Install Cinnamon Desktop in Arch Linux.md | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md diff --git a/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md new file mode 100644 index 0000000000..3c354cd47f --- /dev/null +++ b/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md @@ -0,0 +1,137 @@ +[#]: subject: "How to Install Cinnamon Desktop in Arch Linux" +[#]: via: "https://www.debugpoint.com/cinnamon-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Cinnamon Desktop in Arch Linux +====== + +**Cinnamon is the default desktop environment for Linux Mint. This quick guide explains the steps to install the Cinnamon desktop environment in Arch Linux.** + +The [Cinnamon desktop environment][1] is the default desktop flavour for [Linux Mint][2]. This GTK-based desktop environment is created to provide a traditional desktop flavour with old GNOME (i.e. pre-GNOME 3 looks). The desktop itself is lightweight and very user-friendly. Because it keeps the time-tested icon and menu-driven desktop behaviour, hence it is considered (in combination with Linux Mint) one of the easy-to-use desktops for new Linux users. + +Although Cinnamon and its packages are closely coupled with Linux Mint, this desktop can be installed as a separate desktop environment in Ubuntu, Fedora, or Arch Linux. + +Installing Cinnamon in Arch Linux is fairly easy, like other desktops such as Xfce and KDE Plasma in Arch. But it requires some specific packages to be installed to make it look like a proper Cinnamon desktop. + +Let’s dive in. + +### Install Cinnamon Desktop in Arch Linux + +#### Step 1: Install Base System + +This guide assumes that you have installed the base Arch system already. If you do not have the base system installed, please install it using the [automated arch install guide][3] (recommended method). Then follow the below steps. + +#### Step 2: Update Your System + +Open a terminal in your Arch installation. And make sure the system is up to date by running the below command: + +``` +pacman -Syu +``` + +#### Step 3: Instal yay AUR Helper + +Some packages that are required for configuring Cinnamon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][4]. + +#### Step 4: Install Cinnamon Desktop in Arch Linux + +The basic Cinnamon desktop is available in the [cinnamon][5] package, which is present in the Community repo. Open a terminal and run the following commands to install the Cinnamon desktop and the terminal application. + +``` +sudo pacman -S cinnamon gnome-terminal +``` + +Install the display server and display manager. LightDM is lightweight and ideal for Cinnamon. Although, you can use any other display manager, such as SDDM or GDM. But I would recommend that you stick with lightdm. + +``` +sudo pacman -S xorg lightdm lightdm-gtk-greeter +``` + +Enable the display manager and Network services to start in the next boot. + +``` +systemctl enable lightdm +systemctl enable NetworkManager +``` + +Reboot the system. + +#### Step 5: Configure Cinnamon Desktop + +After a successful reboot, you should see the lightdm login prompt. Log in using the username and password which you may have created while installing the base system. + +When I first log in to the base Cinnamon desktop, it looks very bland. So it needed a bit of customization. + +![Cinnamon Desktop in Arch (Before Configuration)][6] + +Open a terminal and install some important packages such as sound drivers, browsers, etc. This would ensure that proper fonts and additional items are installed. + +``` +sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol firefox vlc gimp xfburn thunderbird gedit gnome-system-monitor +``` + +Then install faenza icon theme for a Cinnamon-specific icon set. + +``` +sudo pacman -S mate-icon-theme-faenza +``` + +The numix themes require yay to be installed. Make sure you follow [this guide][4]to install yay AUR helper before running the below command to install it. + +``` +yay -S numix-themes +``` + +After all the installation is complete, reboot the system. + +When you log in back, open the Themes application and change the Window borders, Icons, Controls, and Desktop as per below. + +![Theme Changes for this guide][7] + +You may also choose to download additional themes in the second tab (Add/remove) as well. + +![Additional Themes for you to download][8] + +Change the default GNOME wallpaper (which comes with Cinnamon) to something you like. This guide uses the Cinnamon logo wallpaper from [cinnamon-look.org][9]. + +If all goes well, your desktop should look like this. + +![Cinnamon Desktop in Arch Linux][10] + +![Cinnamon Desktop Running in Arch Linux][11] + +So, that concludes the basic steps for installing and configuring the Cinnamon desktop in Arch Linux. You may want to add additional settings, such as desklets, etc. + +### Closing Notes + +Cinnamon is a modern and easy-to-use desktop for new users. And with the flexibility of Arch Linux and Cinnamon at its core, this combo can be ideal for many users who like Cinnamon desktop (mainly Linux Mint) but want Arch Linux with it. I hope this guide helps you set up your Cinnamon box with Arch Linux. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/cinnamon-arch-linux-install/ + +作者:[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://cinnamon-spices.linuxmint.com/ +[2]: https://www.debugpoint.com/linux-mint/ +[3]: https://www.debugpoint.com/archinstall-guide/ +[4]: https://www.debugpoint.com/2021/01/install-yay-arch/ +[5]: https://archlinux.org/packages/community/x86_64/cinnamon/ +[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Before-Configuration.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Theme-Changes-for-this-guide.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Additional-Themes-for-you-to-download.jpg +[9]: https://www.cinnamon-look.org/browse/cat/ +[10]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Linux-1024x535.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-Running-in-Arch-Linux-1024x640.jpg From 7e2c42ab9f18418601149c857ab198e68a7b800e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:12:11 +0800 Subject: [PATCH 306/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221105.2=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20and=20Configure=20KDE=20Plasma=20Desktop=20in=20Arch=20Linux?= =?UTF-8?q?=20[Complete=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...asma Desktop in Arch Linux [Complete Guide].md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sources/tech/20221105.2 ⭐️ How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide].md diff --git a/sources/tech/20221105.2 ⭐️ How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide].md b/sources/tech/20221105.2 ⭐️ How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide].md new file mode 100644 index 0000000000..1d5beda8c7 --- /dev/null +++ b/sources/tech/20221105.2 ⭐️ How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide].md @@ -0,0 +1,117 @@ +[#]: subject: "How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide]" +[#]: via: "https://www.debugpoint.com/kde-plasma-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install and Configure KDE Plasma Desktop in Arch Linux [Complete Guide] +====== + +**If you love KDE and Arch Linux, this guide is for you. This guide explains the steps needed to set up a fully functioning KDE Plasma desktop with all of its native applications.** + +Let’s take a look at how you can install KDE Plasma in Arch Linux. + +In the earlier posts, we explained that you could set up a bare minimum Arch Linux with an [automated archinstall script][1] and also explained how you can install GNOME, LXQt, and Xfce desktop Arch Linux. And now, we explain the steps for the KDE Plasma desktop. + +### KDE Plasma desktop + +[KDE Plasma][2] is a lightweight and visually appealing desktop environment for Linux that comes with tons of customization options at a very detailed level. The latest iteration of this desktop is Plasma 5, which is based on Qt5, KDE Framework 5 provides both Xorg and Wayland display server options. + +The current KDE Plasma desktop version is [5.26 stable][3], which this article uses for installation. + +This guide requires that you install the bare minimum Arch Linux shell already. If not, then follow this [simple guide][1] to install a basic skeleton of Arch Linux. Then continue with the following steps. + +Also, ensure you have admin privileges with your user for running the pacman package manager. + +### Install and Configure KDE Plasma Desktop in Arch Linux + +You need the following packages for a fully functional KDE Plasma system in Arch Linux. + +- [plasma][4] (~590 mb) – basic plasma packages +- [kde-applications][5](~800 mb) – additional KDE native applications (Konsole, etc) +- xorg – display server +- sddm – display manager + +These four packages are necessary. However, you can optionally install [plasma-wayland-session][6] if you want to use the Wayland display server. + +#### 1. Install packages + +Open a terminal and run the following command to install those packages. + +``` +pacman -S --needed xorg sddmpacman -S --needed plasma kde-applications +``` + +When asked to select a package, press enter for default selection. If you are unsure, choose the following options when asked on the screen. + +pipewire-media-sessionphonon-qt5-gstreamerpyside2cronietesseract-data-eng (for english) + +Wait for the installation to finish. + +#### 2. Enable display server and network + +Now it’s time to enable the display manager and network; otherwise, you will not be able to log in. Run the following commands after the above commands are complete. + +``` +sudo systemctl enable sddmsudo systemctl enable NetworkManager +``` + +#### 3. Configure sddm and reboot + +One last configuration you need for the KDE Plasma desktop is related to the login screen. By default, sddm uses its own failsafe login screen, which is not the typical KDE Plasma “breeze” login screen. A small tweak is needed for a KDE Plasma login screen. + +Open the `sddm.conf` file from the terminal. + +``` +sudo nano /usr/lib/sddm/sddm.conf.d/default.conf +``` + +Change the theme section as per below. + +``` +[Theme] +# current theme name + Current=breeze +``` + +![Modify the sddm configuration to accept breeze theme][7] + +Press `CTRL+O` and `CTRL+X` to save and exit the nano editor. Now you can restart your Arch system using the below command: + +``` +sudo systemctl reboot +``` + +And you should be greeted with a nice KDE Plasma login screen and a desktop. + +![Arch Linux Running KDE Plasma Desktop][8] + +That wraps up the steps for KDE Plasma desktop installation in Arch Linux. I hope you get all the steps correctly and can install them. If you face any errors, comment below. + +What’s next? You may want to check out other [Arch Linux guides][9], Or browse the website for a more interesting read. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/kde-plasma-arch-linux-install/ + +作者:[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/archinstall-guide/ +[2]: https://kde.org/plasma-desktop/ +[3]: https://www.debugpoint.com/kde-plasma-5-26/ +[4]: https://archlinux.org/packages/extra/x86_64/plasma-desktop/ +[5]: https://archlinux.org/groups/x86_64/kde-applications/ +[6]: https://archlinux.org/packages/extra/x86_64/plasma-wayland-session/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/01/Modify-the-sddm-configuration-to-accept-breeze-theme.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/01/Arch-Linux-Running-KDE-Plasma-Desktop-1024x640.jpg +[9]: https://www.debugpoint.com/tag/arch-linux From 8f3462e29bd8efee716ed5b0983f1de1c83752f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:12:41 +0800 Subject: [PATCH 307/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221105.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20GNOME=20Desktop=20in=20Arch=20Linux=20[Compl?= =?UTF-8?q?ete=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ll GNOME Desktop in Arch Linux [Complete Guide].md | 290 ++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 sources/tech/20221105.3 ⭐️⭐️ How to Install GNOME Desktop in Arch Linux [Complete Guide].md diff --git a/sources/tech/20221105.3 ⭐️⭐️ How to Install GNOME Desktop in Arch Linux [Complete Guide].md b/sources/tech/20221105.3 ⭐️⭐️ How to Install GNOME Desktop in Arch Linux [Complete Guide].md new file mode 100644 index 0000000000..221dd39e19 --- /dev/null +++ b/sources/tech/20221105.3 ⭐️⭐️ How to Install GNOME Desktop in Arch Linux [Complete Guide].md @@ -0,0 +1,290 @@ +[#]: subject: "How to Install GNOME Desktop in Arch Linux [Complete Guide]" +[#]: via: "https://www.debugpoint.com/gnome-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install GNOME Desktop in Arch Linux [Complete Guide] +====== + +**This guide explains the steps you need to install GNOME Desktop in Arch Linux.** + +This guide has two parts. The first part deals with installing the base Arch system. The second part is installing the complete GNOME desktop environment on top of Arch Linux. + +### What is the GNOME Desktop? + +GNOME is a popular desktop environment that is a default desktop choice for many top-tier desktops-based Linux distributions such as Ubuntu and Fedora. Almost all flavors provide a GNOME desktop option. + +The GNOME desktop is one of the stable and user-friendly desktops, hence it is preferred by many average, advanced users. If you want a desktop that remains invisible while you carry out your work, GNOME is the one. It never gets into your way while working. Hence it is still popular and default option for many despite many controversies about being GNOME3 (current iteration) being slow, resource-heavy, etc, + +With all that said, let’s take a look at how you can install a GNOME desktop in bare metal Arch installations. + +### Install GNOME Desktop in Arch Linux + +#### Part 1: Install Arch Linux + +If you have already Arch Linux installed, you can skip this step and directly go to the install GNOME Desktop section below. + +For a quick Arch Linux base installation, follow the below steps. You can also visit [this guide][1] for a complete tutorial on how to install Arch Linux as Dual Boot or in a virtual machine. + +The following steps are a straightforward legacy way of installing Arch. Follow the guide below for a more modern way of using the archinstall script. Once you are done, come back to resume GNOME installation via [step 2][2]. + +Modern method: Install using archinstall script (recommended) + +##### Legacy method: Download Arch Linux + +Download Arch Linux .iso from the below link. There are magnet and torrent links available. Once you download, write the ISO to a USB drive. And then boot from the drive. + +[Download Arch Linux][3] + +If you are planning to install it as a virtual machine image via GNOME Boxes, virt-manager – then you do not need to write it to a USB drive. + +##### Boot and Configure Partitions + +After you boot from the Arch Linux iso, you have to run a series of commands to install the base system. + +First, run the below command to find out the device identifier. + +``` +fdisk -l +``` + +![fdisk -l before][4] + +Then with the device identifier, run the below command to start partitioning your disk. Make sure to change `/dev/sda` as per your system. + +``` +cfdisk /dev/sda +``` + +Select `label type = dos` in the next prompt. + +Select the free space and choose option NEW from the bottom. In this example, I will create three partitions as per below. + +``` +/dev/sda1 - 1G - for /boot/dev/sda2 - 5G - for root/dev/sda3 - 1G - for swap +``` + +![cfdisk][5] + +In the next screen provide partition size for the boot partition (for this example, I gave 1 GB). Select it as the primary partition. + +Repeat the same step for the main root partition of size 5GB. + +![Swap partition type change][6] + +Create a swap partition using the same steps with size 1G (you may change it as per your need). After you create the swap partition, make sure to choose Type at the bottom and mark it as a swap with the option “Linux Swap/Solaris”. + +![final partition list in cfdisk][7] + +Once done, write the changes to the disk using the Write option at the bottom. Make sure you take a backup before you write as this is a permanent change in your system. + +Run the below command to check before you proceed. You can see in this example, three partitions are listed. + +``` +fdisk -l +``` + +![final partition list in fdisk][8] + +Run the following commands in sequence to format and create an ext4 file system in the newly created partition above. Make sure you change the /dev/sda1 and /dev/sda2 as per your need. + +``` +mkfs.ext4 /dev/sda1mkfs.ext4 /dev/sda2mkswap /dev/sda3swapon /dev/sda3 +``` + +After completion, mount the system and create necessary directories. + +``` +mount /dev/sda2 /mntmkdir /mnt/boot /mnt/var /mnt/homemount /dev/sda1 /mnt/boot +``` + +Again, make sure you change /dev/sda1, /dev/sda2 and /dev/sda3 as per your system. + +![prepare file system][9] + +##### Install the base system + +I hope you are already connected to the internet. If not, try using a USB dongle or wired internet connection which Arch installer automatically configure and detect. If you do not have a wired connection available, follow [this guide][10] to configure a wireless or wifi network using Arch Linux installer. + +Run the below commands in sequence to install the base system in the mounted partition. The download size is approx 400 MB. + +``` +pacman -Syypacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub +``` + +![Install base system][11] + +Once complete, generate file system table without which you can’t boot the system. + +``` +genfstab -U /mnt >> /mnt/etc/fstab +``` + +##### Configure the base system + +Follow the below commands in sequence to configure the base system. This involves setting up your locale, language, add a login user, and setting up the internet. + +``` +arch-chroot /mntnano /etc/locale.gen +``` + +Uncomment the locale of your choice by removing # at the beginning. For this guide, I have chosen en_US.UTF-8 UTF-8. Press CTRL+O, Enter, and CTRL+X to exit from nano. + +![change locale][12] + +Generate the locale using: + +``` +locale-gen +``` + +Setup the language using the below command. + +``` +echo LANG=en_US.UTF-8 > /etc/locale.confexport LANG=en_US.UTF-8 +``` + +Setup the local time zone. + +``` +ln -s /usr/share/zoneinfo/America/New_York /etc/localtime +``` + +Again, you can choose them as per your need. You can list the local timezones via the below commands. + +``` +ls /usr/share/zoneinfo +ls /usr/share/zoneinfo/America +``` + +Setup the hardware clock, create a hostname, and enable the DHCP for the internet using the below commands in sequence. You can change `"arindam-pc"` to any hostname as per your desire. + +``` +hwclock --systohc --utcecho arindam-pc > /etc/hostnamesystemctl enable dhcpcd +``` + +The next step is to set up the root user password, create an admin user, and add the user in the sudoers file. + +Follow the below commands in sequence. Make sure to change the user name from `debugpoint` to something else as per your need. + +``` +passwd rootuseradd -m -g users -G wheel -s /bin/bash debugpointpasswd debugpoint +``` + +![create user][13] + +Open the sudoers file and add the below lines. + +``` +nano /etc/sudoers +``` + +Add below lines. As you already created the root user, the entry should be there. + +``` +root ALL=(ALL) ALLdebugpoint ALL=(ALL) ALL +``` + +![update sudoers file][14] + +Install grub, setup the initial ramdisk environment, unmount the system using the below commands in sequence. + +``` +grub-install /dev/sdagrub-mkconfig -o /boot/grub/grub.cfgmkinitcpio -p linuxexit +``` + +![configure grub][15] + +Then reboot your system. If you are isntalling in a physical system, unplug the USB media at this step. + +``` +umount /mnt/boot +umount /mnt +reboot +``` + +You have now successfully installed the Arch Linux base system. It’s time to install the complete GNOME desktop. + +![Arch is installed][16] + +#### Part 2: Install GNOME in Arch Linux + +After reboot, choose Arch Linux from grub. In the Arch Linux prompt start running the following commands in sequence. These commands install Xorg server, display manager, GNOME desktop components, controller packages, and additional applications. + +For all the commands use default, i.e. press enter when asked. + +- **Install Xorg server. Approx install size is 80 MB.** + +``` +sudo pacman -S --needed xorg +``` + +- **Install display manager, GNOME desktop. Approx install size is 300 MB.** + +``` +sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme seahosrse gdm +``` + +The above installation would ask for several options for packages. Choose any of the ones you want. If you are unsure, choose jack, noto-sans and xdg-portal-desktop-gnome when asked. + +- **Install applications** + +This is just a reference. You can also install the ones you require. + +``` +sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper +``` + +Now it’s time to enable the display manager and network manager as service. So that next time you log on, they can run automatically by systemd. + +``` +systemctl enable gdm +systemctl enable NetworkManager +``` + +Reboot the system using the reboot command. + +``` +reboot +``` + +![Arch Linux Running GNOME 43 Desktop][17] + +If all goes well, you should see a nice login prompt on the GNOME desktop. Login using the credential you just created. You should be greeted with a nice and clean GNOME 43 desktop in Arch Linux. + +I hope this guide helps you to install GNOME desktop in a bare metal Arch instalation. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/gnome-arch-linux-install/ + +作者:[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/2020/11/install-arch-linux/ +[2]: https://www.debugpoint.com/archinstall-guide/ +[3]: https://www.archlinux.org/download/ +[4]: https://www.debugpoint.com/wp-content/uploads/2020/12/fdisk-l-before.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/cfdisk-1024x159.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/Swap-parition-type-change.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-cfdisk-1024x178.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-fdisk.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2020/12/prepare-file-system.jpg +[10]: https://www.debugpoint.com/2020/11/connect-wifi-terminal-linux/ +[11]: https://www.debugpoint.com/wp-content/uploads/2020/12/Install-base-system-1024x205.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/change-locale.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2020/12/create-user.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2020/12/update-sudoers-file.jpg +[15]: https://www.debugpoint.com/wp-content/uploads/2020/12/configure-grub-1024x639.jpg +[16]: https://www.debugpoint.com/wp-content/uploads/2020/12/Arch-is-installed.jpg +[17]: https://www.debugpoint.com/wp-content/uploads/2020/12/Arch-Linux-Running-GNOME-43-Desktop-1024x636.jpg From fa219a7da84d7ecc7d5b4efa4f7ab4b43c324ea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 7 Nov 2022 00:13:13 +0800 Subject: [PATCH 308/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221105.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Cr?= =?UTF-8?q?ystal=20Linux=20Emerging=20Arch=20Linux=20Spin=20for=20GNOME=20?= =?UTF-8?q?Fans.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...l Linux Emerging Arch Linux Spin for GNOME Fans.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md diff --git a/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md b/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md new file mode 100644 index 0000000000..31280fff03 --- /dev/null +++ b/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md @@ -0,0 +1,146 @@ +[#]: subject: "Crystal Linux: Emerging Arch Linux Spin for GNOME Fans" +[#]: via: "https://www.debugpoint.com/crystal-linux-first-look/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Crystal Linux: Emerging Arch Linux Spin for GNOME Fans +====== + +**Meet Crystal Linux, a unique Arch Linux Spin with stock GNOME experience.** + +### Introduction + +Often I think that we have sufficient Linux distros already. The count is nearing thousands, and fragmentation is at its peak. That is not good for quality software, especially in the open-source space. + +There is always a distro available for every use case you can think of. + +But Arch Linux is one of the sectors, it’s still emerging – just because of its debatable [complex installation methods][1]. That’s why most of the emerging Arch Linux distributions (such as [Xero Linux][2], [Hefftor Linux][3], Mabox, etc.) try to invent something unique in installation and other areas. + +Crystal Linux is one of those distros with a different take on installation while being super user-friendly. + +![Crystal Linux Desktop with GNOME 42][4] + +### Crystal Linux: First Look + +Before you read on, you should know that it’s a new distro (less than a year old) currently under development. So use it with caution. + +At first glance, it will feel like a stock GNOME installation, similar to the Fedora workstation. That’s true. With the Arch Linux base and stock GNOME – the performance is top-notch. Although I tried it on a virtual machine, I feel the GNOME and Arch combination performs much better than the Fedora workstation in the same virtual machine setup. + +With that said, no such different customization is available apart from those coming with GNOME. Honestly, GNOME doesn’t require any additional customization for its default settings. Looks wise it’s good enough. + +### What’s unique about Crystal Linux? + +#### jade Installer for Arch + +The most important offering is its own installer called “[jade][5]“. Crystal Linux team created a GTK4/libadwaita and Rust-based installer to give you a streamlined experience for Arch installation. + +And it looks fantastic (see the below images). + +![jade installer][6] + +![selecting desktop to install][7] + +![installation][8] + +The jade installer reminds me of GNOME’s Tour app, but here it uses a similar principle for installation. Basic information such as Keyboard, region, and names/passwords are captured via a series of screens. + +Then you get to choose the desktop environment you want to install. The default version is GNOME; however, you have the option to install all the famous desktops and window managers. + +One unique feature of this new installer is that you get options to set up ipv6 and Timeshift restore points. + +The partition wizard is currently under development with custom partitioning via this app or GParted as options. Here’s a mockup of the partition module under development (from [Twitter][9]). + +![jade with additional options - mockup][10] + +Finally, a summary for you before you install this distro/Arch Linux. The installation executes a script at the back end for Arch installation. + +#### Onyx – custom GNOME experience + +From GitHub, I found that there is a customized desktop for base install named [Onyx][11]. + +Per the team, “Onyx used to be Budgie based but recently we changed the direction a bit, it will now be a custom GNOME session (coexisting with, but separate from GNOME)”. + +#### Amethyst – New AUR Helper + +Do we really need another AUR helper? The [Yay helper][12] is awesome already. + +Anyways. + +The Crystal Linux also features a homegrown AUR helper and pacman Wrapper called [amethyst][13]. As the dev says, you can install it to any Arch-based distros and the “fastest AUR helper and pacman wrapper”. + +Amethyst comes with the command line option “ame” which you can use with standard [pacman switches][14]. + +![ame terminal command][15] + +#### Btrfs file system by default + +One of the best features of this distro is the default btrfs file system during installation. Although the current work is ongoing for the additional file system, btrfs as default has its own advantages for backup and restoration. + +I don’t remember any other Arch-spin that has btrfs as default. + +#### Applications and Packages + +Since it is a stock GNOME-based distro, no additional applications are installed. So, you need to spend some time configuring with necessary apps such as LibreOffice, GIMP, Media players, etc. + +Firefox and native GNOME apps are available in the default installation. + +Crystal Linux seems to deploy the core packages from their own server, NOT from the Arch repo. Hence, some features may arrive a little late for updating the desktop and such. + +### Performance + +Arch Linux always performs well, in my experience. All the popular desktops such as KDE, GNOME, Xfce – all of them somehow feel faster than in Ubuntu/Fedora. + +With that said, the current GNOME 42 version in Crystal Linux is swift. The window animations and gestures feel smooth even in a virtual machine. There is no lag whatsoever. + +![Crystal Linux - Performance][16] + +Memory footprint is extremely low at 530 MB at idle. Most of the idle state CPUs are consumed by gnome-shell and systemd services. + +Default GNOME desktop install takes only 3.8 GB of disk space. + +### Wrapping up + +The jade installer and btrfs file system are two major highlights of Crystal Linux. Since most of the Arch-based distros follow Calamares installer, it’s good to see a new installer in this space. And it’s really user-friendly. + +The distro is just a few months old and has a long road ahead. I strongly believe it will give a competition to the currently famous Arch distro [EndeavourOS][17]. And the fans get to experience vanilla GNOME with Arch without the hassles of [installing Arch with GNOME][18]. + +You can download the current ISO from the [official website][19]. As I mentioned earlier, use it with caution since it is under development. + +So, what are your thoughts about this distro? What are your favourite features? Do let me know in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/crystal-linux-first-look/ + +作者:[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/install-arch-linux/ +[2]: https://www.debugpoint.com/xerolinux-review/ +[3]: https://www.debugpoint.com/hefftor-linux-review/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/08/Crystal-Linux-Desktop-with-GNOME-42-1024x579.jpg +[5]: https://github.com/crystal-linux/jade +[6]: https://www.debugpoint.com/wp-content/uploads/2022/08/jade-installer.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/08/selecting-desktop-to-install.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/installation.jpg +[9]: https://twitter.com/Crystal_Linux/status/1564379291529482240 +[10]: https://www.debugpoint.com/wp-content/uploads/2022/08/jade-with-additional-options-mockup-1024x576.jpg +[11]: https://github.com/crystal-linux/onyx +[12]: https://www.debugpoint.com/install-yay-arch/ +[13]: https://github.com/crystal-linux/amethyst +[14]: https://www.debugpoint.com/pacman-command-arch-examples/ +[15]: https://www.debugpoint.com/wp-content/uploads/2022/08/ame-terminal-command-1024x576.jpg +[16]: https://www.debugpoint.com/wp-content/uploads/2022/08/Crystal-Linux-Performance-1024x576.jpg +[17]: https://www.debugpoint.com/tag/endeavouros +[18]: https://www.debugpoint.com/gnome-arch-linux-install/ +[19]: https://getcryst.al/ From c9a215eac9fe080aaf800305c4c61477aaf872b7 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Mon, 7 Nov 2022 05:03:55 +0800 Subject: [PATCH 309/925] =?UTF-8?q?=E9=80=89=E9=A2=98[tech]:=2020221106=20?= =?UTF-8?q?Making=20a=20DNS=20query=20in=20Ruby=20from=20scratch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20221106 Making a DNS query in Ruby from scratch.md --- ...Making a DNS query in Ruby from scratch.md | 548 ++++++++++++++++++ 1 file changed, 548 insertions(+) create mode 100644 sources/tech/20221106 Making a DNS query in Ruby from scratch.md diff --git a/sources/tech/20221106 Making a DNS query in Ruby from scratch.md b/sources/tech/20221106 Making a DNS query in Ruby from scratch.md new file mode 100644 index 0000000000..5801624fed --- /dev/null +++ b/sources/tech/20221106 Making a DNS query in Ruby from scratch.md @@ -0,0 +1,548 @@ +[#]: subject: "Making a DNS query in Ruby from scratch" +[#]: via: "https://jvns.ca/blog/2022/11/06/making-a-dns-query-in-ruby-from-scratch/" +[#]: author: "Julia Evans https://jvns.ca/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Making a DNS query in Ruby from scratch +====== + +Hello! A while back I wrote a post about [how to write a toy DNS resolver in Go][1]. + +In that post I left out “how to generate and parse DNS queries” because I thought it was boring, but a few people pointed out that they did not know how to parse and generate DNS queries and they were interested in how to do it. + +This made me curious – how much work _is_ it do the DNS parsing? It turns out we can do it in a pretty nice 120-line Ruby program, which is not that bad. + +So here’s a quick post on how to generate DNS queries and parse DNS responses! We’re going to do it in Ruby because I’m giving a talk at a Ruby conference soon, and this blog post is partly prep for that talk :). I’ve tried to keep it readable for folks who don’t know Ruby though, I’ve only used pretty basic Ruby code. + +At the end we’re going to have a very simple toy Ruby version of `dig` that can look up domain names like this: + +``` + + $ ruby dig.rb example.com + example.com 20314 A 93.184.216.34 + +``` + +The whole thing is about 120 lines of code, so it’s not _that_ much. (The final program is [dig.rb][2] if you want to skip the explanations and just read some code.) We won’t implement the “how a DNS resolver works” from the previous post because, well, we already did that. Let’s get into it! + +Along the way I’m going to try to explain how you could figure out some of this stuff yourself if you were trying to figure out how DNS queries are formatted from scratch. Mostly that’s “poke around in Wireshark” and “read RFC 1035, the DNS RFC”. + +### step 1: open a UDP socket + +We need to actually _send_ our queries, so to do that we need to open a UDP socket. We’ll send our queries to `8.8.8.8`, Google’s DNS server. + +Here’s the code to set up a UDP connection to `8.8.8.8`, port 53 (the DNS port). + +``` + + require 'socket' + sock = UDPSocket.new + + sock.bind('0.0.0.0', 12345) + sock.connect('8.8.8.8', 53) + +``` + +##### a quick note on UDP + +I’m not going to say too much about UDP here, but I will say that the basic unit of computer networking is the “packet” (a packet is a string of bytes), and in this program we’re going to do the simplest possible thing you can do with a computer network – send 1 packet and receive 1 packet in response. + +So UDP is a way to send packets in the simplest possible way. + +It’s the most common way to send DNS queries, though you can also use TCP or DNS-over-HTTPS instead. + +##### step 2: copy a DNS query from Wireshark + +Next: let’s say we have no idea how DNS works but we want to send a working query as fast as possible. The easiest way to get a DNS query to play with and make sure our UDP connection is working is to just copy one that already works! + +So that’s what we’re going to do, using Wireshark (an incredible packet analysis tool) + +The steps I used to this are roughly: + + 1. Open Wireshark and click ‘capture’ + 2. Enter `udp.port == 53` as a filter (in the search bar) + 3. Run `ping example.com` in my terminal (to generate a DNS query) + 4. Click on the DNS query (“Standard query A example.com”) + 5. Right click on “Domain Name System (query”) in the bottom left pane + 6. Click ‘Copy’ -> ‘as a hex stream’ + 7. Now I have “b96201000001000000000000076578616d706c6503636f6d0000010001” on my clipboard, to use in my Ruby program. Hooray! + + + +##### step 3: decode the hex stream and send the DNS query + +Now we can send our DNS query to `8.8.8.8`! Here’s what that looks like: we just need to add 5 lines of code + +``` + + hex_string = "b96201000001000000000000076578616d706c6503636f6d0000010001" + bytes = [hex_string].pack('H*') + sock.send(bytes, 0) + + # get the reply + reply, _ = sock.recvfrom(1024) + puts reply.unpack('H*') + +``` + +`[hex_string].pack('H*')` is translating our hex string into a byte string. At this point we don’t really know what this data _means_ but we’ll get there in a second. + +We can also take this opportunity to make sure our program is working and is sending valid data, using `tcpdump`. How I did that: + + 1. Run `sudo tcpdump -ni any port 53 and host 8.8.8.8` in a terminal tab + 2. In a different terminal tab, run [this Ruby program][3] (`ruby dns-1.rb`) + + + +Here’s what the output looks like: + +``` + + $ sudo tcpdump -ni any port 53 and host 8.8.8.8 + 08:50:28.287440 IP 192.168.1.174.12345 > 8.8.8.8.53: 47458+ A? example.com. (29) + 08:50:28.312043 IP 8.8.8.8.53 > 192.168.1.174.12345: 47458 1/0/0 A 93.184.216.34 (45) + +``` + +This is really good - we can see the DNS request (“what’s the IP for `example.com`”) and the response (“it’s 93.184.216.34”). So everything is working. Now we just need to, you know, figure out how to generate and decode this data ourselves. + +##### step 4: learn a little about how DNS queries are formatted + +Now that we have a DNS query for `example.com`, let’s learn about what it means. + +Here’s our query, formatted as hex. + +``` + + b96201000001000000000000076578616d706c6503636f6d0000010001 + +``` + +If you poke around in Wireshark, you’ll see that this query has 2 parts: + + * The **header** (`b96201000001000000000000`) + * The **question** (`076578616d706c6503636f6d0000010001`) + + + +##### step 5: make the header + +Our goal in this step is to generate the byte string `b96201000001000000000000`, but with a Ruby function instead of hardcoding it. + +So: the header is 12 bytes. What do those 12 bytes mean? If you look at Wireshark (or read [RFC 1035][4]), you’ll see that it’s 6 2-byte numbers concatenated together. + +The 6 numbers correspond to the query ID, the flags, and then the number of questions, answer records, authoritative records, and additional records in the packet. + +We don’t need to worry about what all those things are yet though – we just need to put in 6 numbers. + +And luckily we know exactly which 6 numbers to put because our goal is to literally generate the string `b96201000001000000000000`. + +So here’s a function to make the header. (note: there’s no `return` because you don’t need to write `return` in Ruby if it’s the last line of the function) + +``` + + def make_question_header(query_id) + # id, flags, num questions, num answers, num auth, num additional + [query_id, 0x0100, 0x0001, 0x0000, 0x0000, 0x0000].pack('nnnnnn') + end + +``` + +This is very short because we’ve hardcoded everything except the query ID. + +##### what’s `nnnnnn`? + +You might be wondering what `nnnnnn` is in `.pack('nnnnnn')`. That’s a format string telling `.pack()` how to convert that array of 6 numbers into a byte string. + +[The documentation for `.pack` is here][5], and it says that `n` means “represent it as “16-bit unsigned, network (big-endian) byte order”. + +16 bits is the same as 2 bytes, and we need to use network byte order because this is computer networking. I’m not going to explain byte order right now (though I do have a [comic attempting to explain it][6]) + +##### test the header code + +Let’s quickly test that our `make_question_header` function works. + +``` + + puts make_question_header(0xb962) == ["b96201000001000000000000"].pack("H*") + +``` + +This prints out “true”, so we win and we can move on. + +##### step 5: encode the domain name + +Next we need to generate the **question** (“what’s the IP for `example.com`?“). This has 3 parts: + + * the **domain name** (for example “example.com”) + * the **query type** (for example “A” is for “IPv4 **A**ddress” + * the **query class** (which is always the same, 1 is for **IN** is for **IN**ternet) + + + +The hardest part of this is the domain name so let’s write a function to do that. + +`example.com` is encoded in a DNS query, in hex, as `076578616d706c6503636f6d00`. What does that mean? + +Well, if we translate the bytes into ASCII, it looks like this: + +``` + + 076578616d706c6503636f6d00 + 7 e x a m p l e 3 c o m 0 + +``` + +So each segment (like `example`) has its length (like 7) in front of it. + +Here’s the Ruby code to translate `example.com` into `7 e x a m p l e 3 c o m 0`: + +``` + + def encode_domain_name(domain) + domain + .split(".") + .map { |x| x.length.chr + x } + .join + "\0" + end + +``` + +Other than that, to finish generating the question section we just need to append the type and class onto the end of the domain name. + +##### step 6: write `make_dns_query` + +Here’s the final function to make a DNS query: + +``` + + def make_dns_query(domain, type) + query_id = rand(65535) + header = make_question_header(query_id) + question = encode_domain_name(domain) + [type, 1].pack('nn') + header + question + end + +``` + +[Here’s all the code we’ve written before in `dns-2.rb`][7] – it’s still only 29 lines. + +##### now for the parsing + +Now that we’ve managed to _generate_ a DNS query, we get into the hard part: the parsing. Again, we’ll split this into a bunch of different + + * parse a DNS header + * parse a DNS name + * parse a DNS record + + + +The hardest part of this (maybe surprisingly) is going to be “parse a DNS name”. + +##### step 7: parse the DNS header + +Let’s start with the easiest part: the DNS header. We already talked about how it’s 6 numbers concatenated together. + +So all we need to do is + + * read the first 12 bytes + * convert that into an array of 6 numbers + * put those numbers in a class for convenience + + + +Here’s the Ruby code to do that. + +``` + + class DNSHeader + attr_reader :id, :flags, :num_questions, :num_answers, :num_auth, :num_additional + def initialize(buf) + hdr = buf.read(12) + @id, @flags, @num_questions, @num_answers, @num_auth, @num_additional = hdr.unpack('nnnnnn') + end + end + +``` + +Quick Ruby note: `attr_reader` is a Ruby thing that means “make these instance variables accessible as methods”. So you can call `header.flags` to look at the `@flags` variable. + +We can call this with `DNSHeader(buf)`. Not so bad. + +Let’s move on to the hardest part: parsing a domain name. + +##### step 8: parse a domain name + +First, let’s write a partial version. + +``` + + def read_domain_name_wrong(buf) + domain = [] + loop do + len = buf.read(1).unpack('C')[0] + break if len == 0 + domain << buf.read(len) + end + domain.join('.') + end + +``` + +This repeatedly reads 1 byte and then reads that length into a string until the length is 0. + +This works great, for the first time we see a domain name (`example.com`) in our DNS response. + +##### trouble with domain names: compression! + +But the second time `example.com` appears, we run into trouble – in Wireshark, it says that the domain is represented cryptically as just the 2 bytes `c00c`. + +This is something called **DNS compression** and if we want to parse any DNS responses we’re going to have to implement it. + +This is luckily not **that** hard. All `c00c` is saying is: + + * The first 2 bits (`0b11.....`) mean “DNS compression ahead!” + * The remaining 14 bits are an integer. In this case that integer is `12` (`0x0c`), so that means “go back to the 12th byte in the packet and use the domain name you find there” + + + +If you want to read more about DNS compression, I found the [explanation in the DNS RFC][8] relatively readable. + +##### step 9: implement DNS compression + +So we need a more complicated version of our `read_domain_name` function + +Here it is. + +``` + + domain = [] + loop do + len = buf.read(1).unpack('C')[0] + break if len == 0 + if len & 0b11000000 == 0b11000000 + # weird case: DNS compression! + second_byte = buf.read(1).unpack('C')[0] + offset = ((len & 0x3f) << 8) + second_byte + old_pos = buf.pos + buf.pos = offset + domain << read_domain_name(buf) + buf.pos = old_pos + break + else + # normal case + domain << buf.read(len) + end + end + domain.join('.') + +``` + +Basically what’s happening is: + + * if the first 2 bits are `0b11`, we need to do DNS compression. Then: + * read the second byte and do a little bit arithmetic to convert that into the offset + * save the current position in the buffer + * read the domain name at the offset we calculated + * restore our position in the buffer + + + +This is kind of messy but it’s the most complicated part of parsing the DNS response, so we’re almost done! + +##### step 10: parse a DNS query + +You might think “why do we need to parse a DNS query? This is the response!”. But every DNS response has the original query in it, so we need to parse it. + +Here’s the code for parsing the DNS query. + +``` + + class DNSQuery + attr_reader :domain, :type, :cls + def initialize(buf) + @domain = read_domain_name(buf) + @type, @cls = buf.read(4).unpack('nn') + end + end + +``` + +There’s not very much to it: the type and class are 2 bytes each. + +##### step 11: parse a DNS record + +This is the exciting part – the DNS record is where our query data lives! The “rdata field” (“record data”) is where the IP address we’re going to get in response to our DNS query lives. + +Here’s the code: + +``` + + class DNSRecord + attr_reader :name, :type, :class, :ttl, :rdlength, :rdata + def initialize(buf) + @name = read_domain_name(buf) + @type, @class, @ttl, @rdlength = buf.read(10).unpack('nnNn') + @rdata = buf.read(@rdlength) + end + +``` + +We also need to do a little work to make the `rdata` field human readable. The meaning of the record data depends on the record type – for example for an “A” record it’s a 4-byte IP address, for but a “CNAME” record it’s a domain name. + +So here’s some code to make the request data human readable: + +``` + + def read_rdata(buf, length) + @type_name = TYPES[@type] || @type + if @type_name == "CNAME" or @type_name == "NS" + read_domain_name(buf) + elsif @type_name == "A" + buf.read(length).unpack('C*').join('.') + else + buf.read(length) + end + end + +``` + +This function uses this `TYPES` hash to map the record type to a human-readable name: + +``` + + TYPES = { + 1 => "A", + 2 => "NS", + 5 => "CNAME", + # there are a lot more but we don't need them for this example + } + +``` + +The most interesting part of `read_rdata` is probably the line `buf.read(length).unpack('C*').join('.')` – it’s saying “hey, an IP address is 4 bytes, so convert it into an array of 4 numbers and then join those with “.“s”. + +##### step 12: finish parsing the DNS response + +Now we’re ready to parse the DNS response! + +Here’s some code to do that: + +``` + + class DNSResponse + attr_reader :header, :queries, :answers, :authorities, :additionals + def initialize(bytes) + buf = StringIO.new(bytes) + @header = DNSHeader.new(buf) + @queries = (1..@header.num_questions).map { DNSQuery.new(buf) } + @answers = (1..@header.num_answers).map { DNSRecord.new(buf) } + @authorities = (1..@header.num_auth).map { DNSRecord.new(buf) } + @additionals = (1..@header.num_additional).map { DNSRecord.new(buf) } + end + end + +``` + +This mostly just calls the other functions we’ve written to parse the DNS response. + +It uses this cute `(1..@header.num_answers).map` construction to create an array of 2 DNS records if `@header.num_answers` is 2. (which is maybe a _little_ bit of Ruby magic but I think it’s kind of fun and hopefully isn’t too hard to read) + +We can integrate this code into our main function like this: + +``` + + sock.send(make_dns_query("example.com", 1), 0) # 1 is "A", for IP address + reply, _ = sock.recvfrom(1024) + response = DNSResponse.new(reply) # parse the response!!! + puts response.answers[0] + +``` + +Printing out the records looks awful though (it says something like `#`). So we need to write some pretty printing code to make it human readable. + +##### step 13: pretty print our DNS records + +We need to add a `.to_s` field to DNS records to make them have a nice string representation. This is just a 1-line method in `DNSRecord`: + +``` + + def to_s + "#{@name}\t\t#{@ttl}\t#{@type_name}\t#{@parsed_rdata}" + end + +``` + +You also might notice that I left out the `class` field of the DNS record. That’s because it’s always the same (IN for “internet”) so I felt it was redundant. Most DNS tools (like real `dig`) will print out the class though. + +##### and we’re done! + +Here’s our final `main` function: + +``` + + def main + # connect to google dns + sock = UDPSocket.new + sock.bind('0.0.0.0', 12345) + sock.connect('8.8.8.8', 53) + + # send query + domain = ARGV[0] + sock.send(make_dns_query(domain, 1), 0) + + # receive & parse response + reply, _ = sock.recvfrom(1024) + response = DNSResponse.new(reply) + response.answers.each do |record| + puts record + end + +``` + +I don’t think there’s too much to say about this – we connect, send a query, print out each of the answers, and exit. Success! + +``` + + $ ruby dig.rb example.com + example.com 18608 A 93.184.216.34 + +``` + +You can see the final program as a gist here: [dig.rb][2]. You could add more features to it if you want, like + + * pretty printing for other query types + * options to print out the “authority” and “additional” sections of the DNS response + * retries + * making sure that the DNS response we see is _actually_ a response to the query we sent (the query ID has to match! + + + +Also [you can let me know on Twitter][9] if I’ve made a mistake in this post somewhere – I wrote this pretty quickly so I probably got something wrong. + +-------------------------------------------------------------------------------- + +via: https://jvns.ca/blog/2022/11/06/making-a-dns-query-in-ruby-from-scratch/ + +作者:[Julia Evans][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://jvns.ca/ +[b]: https://github.com/lujun9972 +[1]: https://jvns.ca/blog/2022/02/01/a-dns-resolver-in-80-lines-of-go/ +[2]: https://gist.github.com/jvns/1e5838a53520e45969687e2f90199770 +[3]: https://gist.github.com/jvns/aa202b1edd97ae261715c806b2ba7d39 +[4]: https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.1 +[5]: https://ruby-doc.org/core-3.0.0/Array.html#method-i-pack +[6]: https://wizardzines.com/comics/little-endian/ +[7]: https://gist.github.com/jvns/3587ea0b4a2a6c20dcfd8bf653fc11d9 +[8]: https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.4 +[9]: https://twitter.com/b0rk From 9c3776dbf3d4d500036cf45a6024e34d95bf0aed Mon Sep 17 00:00:00 2001 From: DarkSun Date: Mon, 7 Nov 2022 05:04:02 +0800 Subject: [PATCH 310/925] add done: 20221106 Making a DNS query in Ruby from scratch.md --- sources/tech/20221101 .md | 25 +++++++++++++++++++++++++ sources/tech/20221102 .md | 25 +++++++++++++++++++++++++ sources/tech/20221104 .md | 25 +++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 sources/tech/20221101 .md create mode 100644 sources/tech/20221102 .md create mode 100644 sources/tech/20221104 .md diff --git a/sources/tech/20221101 .md b/sources/tech/20221101 .md new file mode 100644 index 0000000000..8cff0cf060 --- /dev/null +++ b/sources/tech/20221101 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-lite-6-2-release/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221102 .md b/sources/tech/20221102 .md new file mode 100644 index 0000000000..d76dfeb465 --- /dev/null +++ b/sources/tech/20221102 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/linux-mint-update-manager/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-mint-update-manager/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221104 .md b/sources/tech/20221104 .md new file mode 100644 index 0000000000..20abd761b0 --- /dev/null +++ b/sources/tech/20221104 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/foss-weekly-22-41/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/foss-weekly-22-41/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 From 9e37c1b05af5af6a5716fdd07042e3d265b3199b Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 7 Nov 2022 08:44:07 +0800 Subject: [PATCH 311/925] translated --- ...ine Image to Another Host Using GNOME Boxes.md | 84 ------------------- ...ine Image to Another Host Using GNOME Boxes.md | 84 +++++++++++++++++++ 2 files changed, 84 insertions(+), 84 deletions(-) delete mode 100644 sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md create mode 100644 translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md diff --git a/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md deleted file mode 100644 index fd611913af..0000000000 --- a/sources/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md +++ /dev/null @@ -1,84 +0,0 @@ -[#]: subject: "Move Virtual Machine Image to Another Host Using GNOME Boxes" -[#]: via: "https://www.debugpoint.com/move-virtual-machine-image-another-host/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Move Virtual Machine Image to Another Host Using GNOME Boxes -====== - -**This guide explains the steps you need to move a Virtual Machine Image to Another Host Using GNOME Boxes.** - -GNOME Boxes is a virtualization utility created by the GNOME project. This utility works as a front end for libvirt. libvirt is an open-source API, daemon, and management tool for managing platform virtualization. It supports different virtualization technologies such as KVM, Xen, VMware ESXi, QEMU, etc. - -If you want to create virtual machines using GNOME Boxes, [refer to this guide.][1] - -In this tutorial, I will explain how you can move any Virtual Machine image file (which is already created and running using GNOME Boxes) to a different host and run it. - -This way, you do not need to re-install the virtual machine from the operating system anymore. Moreover, it is portable and you can carry your virtual machine image in a USB stick. - -### How to Move Virtual Machine Image to Another Host Using GNOME Boxes - -I hope you have already had a virtual machine created in GNOME Boxes; if not, check out [this guide][1]. - -- GNOME Boxes and [libvert][2] uses below directories for the virtual machine images and configurations. You need to take backups of each, as mentioned below, carefully. - -- GNOME Boxes keeps the virtual machine’s physical image (usually in the size of GB) in the below path. For each of your virtual machines, you will find an image there. - -``` -~/.local/share/gnome-boxes/images/ -``` - -![Machine Images][3] - -- Copy the image file to your new host’s path: `~/.local/share/gnome-boxes/images/` - -- Copy the libvirt configuration XML from the below path to your new host’s same location. - -``` -~/.config/libvirt/qemu/ -``` - -![Image XML][4] - -- In the above path, you should see separate xml files for each of your virtual machines. Copy the one you need. - -- Open the below file in your current system. - -``` -~/.config/gnome-boxes/sources/'QEMU Session' -``` - -- Copy the section (from “[display” … to end of this section) which belongs to your virtual machine. You can easily find it using the name (see below – ‘last seen name’). - -![QEMU Session File][5] - -- Open the same above file in the other host machine and append the copied content at the end. Save the file. - -- Close all applications, including GNOME Boxes, in the new host machine. - -Open GNOME Boxes now, and you should see your virtual machine moved with its contents in your new host. - -You can now have a portable virtual machine that can easily carry and move around. Remember, the target machine should have GNOME Boxes installed to make this work. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/move-virtual-machine-image-another-host/ - -作者:[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/2020/05/install-use-gnome-boxes/ -[2]: https://libvirt.org/ -[3]: https://www.debugpoint.com/wp-content/uploads/2020/06/Machine-Images.png -[4]: https://www.debugpoint.com/wp-content/uploads/2020/06/Image-XML.png -[5]: https://www.debugpoint.com/wp-content/uploads/2020/06/QEMU-Session-File.png diff --git a/translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md new file mode 100644 index 0000000000..31986e2154 --- /dev/null +++ b/translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md @@ -0,0 +1,84 @@ +[#]: subject: "Move Virtual Machine Image to Another Host Using GNOME Boxes" +[#]: via: "https://www.debugpoint.com/move-virtual-machine-image-another-host/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 GNOME Box 将虚拟机镜像移动到另一台主机 +====== + +**本指南介绍了使用 GNOME Boxes 将虚拟机镜像移动到另一台主机所需的步骤。** + +GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvirt 的前端。 libvirt 是用于管理平台虚拟化的开源 API、守护进程和管理工具。它支持不同的虚拟化技术,如 KVM、Xen、VMware ESXi、QEMU 等。 + +如果你想使用 GNOME Boxes 创建虚拟机,[请参阅本指南][1]。 + +在本教程中,我将解释如何将任何虚拟机镜像文件(已使用 GNOME Boxes 创建并运行)移动到不同的主机并运行它。 + +这样,你不再需要从操作系统重新安装虚拟机。此外,它是便携式的,你可以将虚拟机镜像放在 U 盘中。 + +### 如何使用 GNOME Box 将虚拟机镜像移动到另一台主机 + +我希望你已经在 GNOME Boxes 中创建了一个虚拟机。如果没有,请查看[本指南][1]。 + +- GNOME Boxes 和 [libvert][2] 使用以下目录存储虚拟机镜像和配置。如下所述,你需要仔细备份每个文件。 + +- GNOME Boxes 将虚拟机的物理镜像(通常为数 GB 大小)保存在以下路径中。对于你的每个虚拟机,你都会在其中找到一个镜像。 + +``` +~/.local/share/gnome-boxes/images/ +``` + +![机器镜像][3] + +- 将图像文件复制到新主机的路径:`~/.local/share/gnome-boxes/images/` + +- 将 libvirt 的 XML 配置从以下路径复制到新主机的相同位置。 + +``` +~/.config/libvirt/qemu/ +``` + +![镜像 XML][4] + +- 在上述路径中,你应该会看到每个虚拟机的单独 xml 文件。复制你需要的那个。 + +- 在你当前的系统中打开以下文件。 + +``` +~/.config/gnome-boxes/sources/'QEMU Session' +``` + +- 复制属于你的虚拟机的部分(从“[display” ... 到本部分的末尾)。你可以使用名称轻松找到它(看下面的 “last seen name”)。 + +![QEMU 会话文件][5] + +- 在另一台主机上打开相同的上述文件并将复制的内容附加到末尾。保存文件。 + +- 关闭新主机中的所有应用,包括 GNOME Boxes。 + +现在打开 GNOME Boxes,你应该会看到你的虚拟机和它的内容一起被移动到新主机中。 + +你现在可以拥有一个可以轻松携带和移动的便携式虚拟机。请记住,目标机器应该安装了 GNOME Boxes 才能完成这项工作。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/move-virtual-machine-image-another-host/ + +作者:[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/2020/05/install-use-gnome-boxes/ +[2]: https://libvirt.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2020/06/Machine-Images.png +[4]: https://www.debugpoint.com/wp-content/uploads/2020/06/Image-XML.png +[5]: https://www.debugpoint.com/wp-content/uploads/2020/06/QEMU-Session-File.png From 2ea9ad3139a709970462b8e509bc4d1f9df750da Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 7 Nov 2022 08:50:52 +0800 Subject: [PATCH 312/925] translating --- ...104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md index 657c6e0b34..1041f43db0 100644 --- a/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md +++ b/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ef3218bc19315f84b0487e290b533fae426ab1c0 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Mon, 7 Nov 2022 11:14:25 +0800 Subject: [PATCH 313/925] Delete 20221101 .md --- sources/tech/20221101 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221101 .md diff --git a/sources/tech/20221101 .md b/sources/tech/20221101 .md deleted file mode 100644 index 8cff0cf060..0000000000 --- a/sources/tech/20221101 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/linux-lite-6-2-release/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linux-lite-6-2-release/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 83e8cbdaab070fca0296c725888ce5b7107477d6 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Mon, 7 Nov 2022 11:14:39 +0800 Subject: [PATCH 314/925] Delete 20221102 .md --- sources/tech/20221102 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221102 .md diff --git a/sources/tech/20221102 .md b/sources/tech/20221102 .md deleted file mode 100644 index d76dfeb465..0000000000 --- a/sources/tech/20221102 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/linux-mint-update-manager/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linux-mint-update-manager/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 758ebd586a187e3a7cfc19dadd078965c1b547b0 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Mon, 7 Nov 2022 11:14:59 +0800 Subject: [PATCH 315/925] Delete 20221104 .md --- sources/tech/20221104 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221104 .md diff --git a/sources/tech/20221104 .md b/sources/tech/20221104 .md deleted file mode 100644 index 20abd761b0..0000000000 --- a/sources/tech/20221104 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/foss-weekly-22-41/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/foss-weekly-22-41/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From de59f4f37d141768b185b7ecfe8b00e71c0819b5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 7 Nov 2022 15:17:54 +0800 Subject: [PATCH 316/925] RP @geekpi https://linux.cn/article-15223-1.html --- ...d HDD Temperature in Ubuntu and Other Linux.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md (75%) diff --git a/translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/published/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md similarity index 75% rename from translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md rename to published/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md index 5d5259988d..587e5d20f0 100644 --- a/translated/tech/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md +++ b/published/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md @@ -3,16 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15223-1.html" 如何在 Ubuntu 和其他 Linux 中检查 CPU 和硬盘温度 ====== -**想知道如何在台式机或笔记本电脑上检查 Ubuntu 和其他 Linux 中的 CPU 和硬盘温度?这是一个快速指南。** +![](https://img.linux.net.cn/data/attachment/album/202211/07/151624auhj011bqnzk9qfu.jpg) -如果你是普通用户,那么实际上不需要检查 CPU 或 HDD 温度。但是,如果你使用的是非常旧的硬件或较薄的硬件,你可能会遇到过热问题。因为这些薄的硬件内部紧密耦合在一起,无论做了多少传热机制,它都会升温。因此,必须监控硬件的温度。然而,现代 Linux 发行版能够通过软件传感器很好地处理过热情况。 +> 想知道如何在台式机或笔记本电脑上检查 Ubuntu 和其他 Linux 中的 CPU 和硬盘温度?这是一个快速指南。 + +如果你是普通用户,那么实际上不需要检查 CPU 或 HDD 温度。但是,如果你使用的是非常旧的硬件或轻薄型的硬件,你可能会遇到过热问题。因为这些薄的硬件内部紧密耦合在一起,无论做了多少传热机制,它都会升温。因此,必须监控硬件的温度。然而,现代 Linux 发行版能够通过软件传感器很好地处理过热情况。 ### 在 Ubuntu 上监控 CPU 和硬盘温度的步骤 @@ -25,7 +27,7 @@ sudo apt install hddtemp sudo apt install lm-sensors ``` -[hddtemp][1] 程序为你提供光驱和 SSD 的温度(根据我的测试)。 [lm-sensors][2] 包为你提供来自 CPU 和其他通过 PCI 端口访问的传感器的温度详细信息。 +[hddtemp][1] 程序为你提供硬盘和 SSD (根据我的测试)的温度。 [lm-sensors][2] 包为你提供来自 CPU 和其他通过 PCI 端口访问的传感器的温度详细信息。 安装后,从终端运行以下命令。你需要知道你的磁盘标识符,例如 `/dev/sda` 或 `/dev/sdb` 等。 @@ -43,7 +45,7 @@ sudo hddtemp ![HDD or SSD Temperature from terminal][3] -来自终端的 HDD 或 SSD 温度 +*来自终端的 HDD 或 SSD 温度* 检查 CPU 温度和其他信息需要额外的步骤。 @@ -63,38 +65,37 @@ sensors ![using sensors][4] -使用传感器 +*使用传感器* #### 使用 GUI 工具 -If you prefer a nice GUI which does all the above, you can install [psensor][5]. This utility works across Linux systems such as Ubuntu, Fedora, [Arch][6] and other variants. This gives you nice graphical plus tabular view of 如果你更喜欢能完成上述所有操作的漂亮 GUI,你可以安装 [psensor][5]。该程序适用于 Linux 系统,例如 Ubuntu、Fedora、[Arch][6] 和其他变体。它为你提供了漂亮的图形和表格视图: -**Ubuntu 及其衍生版** +Ubuntu 及其衍生版: ``` sudo apt install psensor ``` -**Fedora 和基于 RPM 的衍生版** +Fedora 和基于 RPM 的衍生版: ``` sudo dnf install psensor ``` -**Arch、Manjaro 和类似的衍生版** +Arch、Manjaro 和类似的衍生版: ``` pacman -S psensor ``` -安装后,从`终端运行 psensor 或从应用菜单`启动它。 +安装后,从终端运行 `psensor` 或从应用菜单启动它。 正如你在下面的截图中所见,它通过漂亮的图表让你可以很好地了解 CPU、GPU 和 HDD 的所有重要温度。使用它的首选项,你可以根据需要对其进行调整。这个轻量级的程序在很多情况下都会很有帮助。 ![psensor running][7] -psensor 运行 +*psensor 运行* 因此,这些是你可以在 Ubuntu 和其他 Linux 系统中监控 CPU、GPU 或 HDD 温度的一些方法。如果你知道其他方法,请通过下面的评论栏告诉我。 @@ -105,7 +106,7 @@ via: https://www.debugpoint.com/cpu-hdd-temperature-ubuntu/ 作者:[Arindam][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/) 荣誉推出 From 2df409cc58118671d53935ce6512b8d5449d7039 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 7 Nov 2022 15:34:53 +0800 Subject: [PATCH 317/925] RP @chai001125 https://linux.cn/article-15224-1.html --- ...️ How to Upgrade Python Packages with Pip.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) rename {translated/tech => published}/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md (88%) diff --git a/translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/published/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md similarity index 88% rename from translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md rename to published/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md index 8b81eec3eb..020249de97 100644 --- a/translated/tech/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md +++ b/published/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md @@ -3,13 +3,15 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15224-1.html" 使用 Pip 升级 Python 软件包 ====== +![](https://img.linux.net.cn/data/attachment/album/202211/07/153408lqflbw3mwxja3qm4.jpg) + 你上次更新通过 Pip 安装的 Python 软件包是什么时候?大多数用户往往会忘记这些 Python 软件包也需要手动更新,因为仅仅更新系统存储库对于软件包来说是不起作用的。 因此,让我们花点时间看看如何使用 Pip,来更新旧的 Python 软件包吧。 @@ -20,7 +22,7 @@ 因此,接下来就让我们深入了解如何使用这个极好的工具 Pip,来管理与 Python 软件包相关的内容吧。 -#### 1. 列出过时的 Python 软件包 +#### 1、列出过时的 Python 软件包 在计划更新什么软件包之前,我们先要列出有哪些过时的软件包,你可以在其中选择想要更新的软件包,因为大多数人不会想一下子更新整个软件包库。 @@ -32,7 +34,7 @@ pip list --outdated ![outdated packages][2] -#### 2. 升级特定的软件包 +#### 2、升级特定的软件包 获得可更新的软件包列表后,你可以像我之前提到的那样,选择你要更新的那个特定的软件包,pip 升级软件包命令的语法如下: @@ -48,7 +50,7 @@ pip install anime-api -U ![update anime api][3] -#### 3. 将软件包升级到特定的版本 +#### 3、将软件包升级到特定的版本 没有必要总是使用软件的最新版本,如果你想将软件包升级到不是最新的某个特定版本,参考如下的命令语法: @@ -64,7 +66,7 @@ pip install --upgrade xdg==5.1 ![upgrade xdg to specific iteration][5] -#### 4. 使用 Pip 一次性升级所有软件包 +#### 4、使用 Pip 一次性升级所有软件包 **请注意:我不建议你一次性升级所以软件包,因为 Python 软件包的依赖项太复杂了,一次性的升级无法处理相互依赖项。** @@ -78,7 +80,7 @@ pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n 上面的命令使用了 [xargs][7]。首先,会得到所有需要更新的软件包,然后对每个软件包执行 `pip3 install -U` 命令。 -我在这里使用的是 pip3,而不是 pip。在 Ubuntu 22.04 及更高的版本中,pip 和 pip3 命令都可以使用。 +我在这里使用的是 `pip3`,而不是 `pip`。在 Ubuntu 22.04 及更高的版本中,`pip` 和 `pip3` 命令都可以使用。 ### 总结 @@ -93,7 +95,7 @@ via: https://itsfoss.com/upgrade-pip-packages/ 作者:[Sagar Sharma][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From ec7231d2e117a9dc1f0faf2d8ed15825d25b511e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:07:06 +0800 Subject: [PATCH 318/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221107.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Gh?= =?UTF-8?q?ostwriter=20An=20Excellent=20Open-Source=20Writing=20App.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...hostwriter An Excellent Open-Source Writing App.md | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 sources/tech/20221107.0 ⭐️⭐️ Ghostwriter An Excellent Open-Source Writing App.md diff --git a/sources/tech/20221107.0 ⭐️⭐️ Ghostwriter An Excellent Open-Source Writing App.md b/sources/tech/20221107.0 ⭐️⭐️ Ghostwriter An Excellent Open-Source Writing App.md new file mode 100644 index 0000000000..6c2f1ba9d9 --- /dev/null +++ b/sources/tech/20221107.0 ⭐️⭐️ Ghostwriter An Excellent Open-Source Writing App.md @@ -0,0 +1,166 @@ +[#]: subject: "Ghostwriter: An Excellent Open-Source Writing App" +[#]: via: "https://itsfoss.com/ghostwriter/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ghostwriter: An Excellent Open-Source Writing App +====== + +We have covered several [open-source tools for writers][1] with some distraction-free editors. + +One of them is **Ghostwriter**. **It is available for Linux and Windows with an unofficial build for macOS.** + +I will not blame you for accidentally reading it as “Ghost Rider” if you are a fan of it. + +Keeping that aside, it looks like Ghostwriter is now under KDE’s umbrella, with **Carl Schwan** (KDE Developer) as a sponsor. So, you can expect the writing app only to get better. + +Hence, I think it is a good idea to spotlight KDE’s newest addition to its Incubator, i.e., Ghostwriter as one of our weekly app highlights. + +### Ghostwriter Excels At Distraction-Free Writing + +![ghostwriter white][2] + +A distraction-free writer is always welcome to write an article like this, make a technical document, or do other creative writing tasks. + +Also, we need a reliable app that saves things in a jiffy. + +**[Ghostwriter][3]**seems to be an excellent option with all the essentials. Let me highlight some of its key features. + +### Features of Ghostwriter + +![ghostwriter black][4] + +As a distraction-free writing app, some users prefer a minimal set of features. But, Ghostwriter does not compromise on the toolset that you get with it to enhance your writing experience. + +The main highlights include: + +- **Focus mode to highlight specific regions you write/edit** +- **A full-screen mode** +- **Clean user interface** +- **Markdown support for easy formatting** +- **Built-in dark and light themes (toggle)** +- **Ability to customize the theme/create your version** +- **Live preview your Markdown document in HTML** +- **Sidebar with outline navigation** +- **Session and Document statistics (characters, words, paragraphs, average wpm, reading time, etc.)** +- **Ability to export to Pandoc, MultiMarkdown, commonmark** +- **A Hemingway mode to disable editing while writing (to help you focus on completing the brought draft faster)** +- **Drag and drop image support** +- **Autosave** +- **Cheatsheet to refer Markdown system without looking elsewhere** + +### Experiencing Ghostwriter + +![ghostwriter screenshot f37][5] + +I tried using Ghostwriter on Fedora 37, and it worked as one would expect. + +It presents a minimal user interface, which is easy to use, pleasing to look at, and not too fancy. + +![ghostwriter toggle][6] + +The availability of essential options as toggle buttons is much appreciated (**left-to-right**): + +- Dark/Light mode toggle +- Live HTML preview +- Hemingway mode +- Focus mode +- Full-screen mode + +In addition to the toggles, the document and session stats also come in handy to keep track of time spent, words written, and other valuable data. + +![ghostwriter stats][7] + +Another user interface element that I found helpful is the bottom status bar that you can customize. + +![ghostwriter bottom][8] + +**What do you need to focus on when writing?** + +The editor lets you choose that to see as a priority stat. Whether you want to focus on the number fo words, speed, paragraphs, or time, you can set the bottom bar to change. + +**To enhance the experience**, you can customize the theme to your liking, where you get to change the font, color of the title/text, and other elements of the user interface. + +![ghostwriter theme edit][9] + +While you already know that it supports Markdown, it will not stop you from working on it. + +Even if it is your first time using Markdown, it includes a cheat sheet in the sidebar for quick access. Of course, if you need a dedicated editor for it, you can try exploring some of the [best Markdown editors][10] available. + +Use the cheat sheet to add code blocks, links, text formatting, headings, and more. + +![ghostwriter markdown cheatsheet][11] + +Overall, if you closely take a glance at the screenshots, all the essential functionalities is accessible in a single click. + +Unless you need to tweak the theme, change the file saving folder preference, and a few more available options, you do not need to leave the editor. + +As a bonus, it includes useful export options for users who need it: + +![ghostwriter export][12] + +You can explore rest of the tiny bits and decide if it suits your requirements. + +### Installing Ghostwriter on Linux + +You can install Ghostwriter via a PPA for Ubuntu-based distros, and it is also available for Fedora through a separate repository. + +To install Ghostwriter on Ubuntu-based distros, type in the following command: + +``` +sudo add-apt-repository ppa:wereturtle/ppa +sudo apt update +sudo apt install ghostwriter +``` + +If you are using Fedora, type in the following: + +``` +sudo dnf copr enable wereturtle/stable +sudo dnf install ghostwriter +``` + +You will also find a Flatpak package listed on [Flathub][13]. However, it does not seem to be a recommended option as per its official download page. You can give it a try, though. + +Explore more about it on its [GitLab page][14] or the [official website][15]. + +### Not Too Fany, But Very Useful! + +I think the user interface, the user experience, and the feature set are perfectly balanced for all kinds of use cases. + +Of course, some do not need Markdown support, and some need more features to write/create chapters for their books. So, Ghostwriter may not be for everyone. + +That said, the features you get with it make it well worth a try, regardless of your use case. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/ghostwriter/ + +作者:[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/open-source-tools-writers/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-white.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-black.png +[4]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-screenshot-f37.jpg +[5]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-toggle.jpg +[6]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-stats.jpg +[7]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-bottom.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-theme-edit.jpg +[9]: https://itsfoss.com/best-markdown-editors-linux/ +[10]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-markdown-cheatsheet.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/ghostwriter-export.png +[12]: https://flathub.org/apps/details/io.github.wereturtle.ghostwriter +[13]: https://ghostwriter.kde.org/download/ +[14]: https://invent.kde.org/office/ghostwriter +[15]: https://ghostwriter.kde.org From 26fa3c07e4434b064e261d28ed299133bb5546c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:07:52 +0800 Subject: [PATCH 319/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221107.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?at=20you=20actually=20need=20to=20know=20about=20open=20source?= =?UTF-8?q?=20to=20get=20started.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...y need to know about open source to get started.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 sources/talk/20221107.1 ⭐️⭐️ What you actually need to know about open source to get started.md diff --git a/sources/talk/20221107.1 ⭐️⭐️ What you actually need to know about open source to get started.md b/sources/talk/20221107.1 ⭐️⭐️ What you actually need to know about open source to get started.md new file mode 100644 index 0000000000..be8a97423b --- /dev/null +++ b/sources/talk/20221107.1 ⭐️⭐️ What you actually need to know about open source to get started.md @@ -0,0 +1,97 @@ +[#]: subject: "What you actually need to know about open source to get started" +[#]: via: "https://opensource.com/article/22/11/get-started-open-source" +[#]: author: "Katie Edwards https://opensource.com/users/kaedward" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What you actually need to know about open source to get started +====== + +A beginner's guide to open source explained in plain terms. + +So you want (or need) to figure out what ["open source"][1] really means. I'll cover the basics of open source, whether you're interested in contributing to a project or want to be in the loop at a new job where the term keeps getting thrown around. + +Full disclosure: I am a person with little technical experience, working in the content-design fringes of a very technical open source environment. Given my background in marketing and communication, I felt like a fish out of water when I made this career switch. [Git][2], data science, the ins and outs of software… It was, and still is a year later, a lot to comprehend. + +But that's why I'm writing this piece. I want to help make open source a little less intimidating. After all, at the center of open source is a supportive learning community—built for everyone, technically experienced or not. + +I'll start with the absolute basics. + +### What is open source? + +For the record, the industry definition of open source is available at the [Open Source Initiative][3] site. + +However, the popular perception of "open source" software is usually that it doesn't cost anything, the source code is accessible, anyone can contribute to it, and you can redistribute it or do whatever else you want with it. + +Some of that is true, and some of it plays into a few common misconceptions, one of which is cost. + +#### Open source costs $0 + +Is it true? Usually, but not always. By nature of its code being publicly available, open source software can be obtained at no cost. However, for-profit companies do exist around open source projects. But if the software is available at no cost, how do open source companies even exist? How do they make money? + +The concept of having a "free product" is counter-intuitive. But that's just the thing: A company doesn't have to sell software to profit from the management of products, storage of data, and customer support. + +Many companies follow a subscription model, offering customer support in case of bugs or general confusion. Data storage isn't free, so that is another area where these companies can bring in income. In this regard, the "product" isn't the software; it's the benefit of a subscription. + +- **The source code is accessible**: Is it true? Yes, always. This accessibility is a prerequisite for adopting the term "open source." The source code must be available to view, use, modify, and redistribute. +- **You can do whatever you want with the code**: Is it true? It depends. Subject to licensing terms, there are some limitations on how you can use code, but you can generally use it however you'd like. Whether that means tweaking a project to fit a specific need or using it as the basis for something else, open source software is yours, and everyone else's, to modify. +- **Anyone can contribute to open source projects**: Is it true? Yes - within limits. Anyone with the [right skill set][4] can contribute to open source. However, that doesn't mean all contributions are always accepted and implemented. + +For example, say you're interested in a project where the end goal is a catalog of all the types of birds in the world. You're really into dinosaurs, specifically dinosaurs that may have eventually evolved into modern-day birds. So, you contribute entries for all of the most bird-like dinosaurs. The project owners could see this and think, "Sweet, those are some great prehistoric birds." However, they're also allowed to say, "Hmm, those dinosaurs are like birds, but they're technically not birds yet. They probably don't belong on Birdpedia." + +Luckily, projects don't usually work under lawless conditions. Open source projects typically come with contribution guidelines and codes of conduct, so you don't have to worry about your additions flying off the rails. + +### Why open source? + +So, after all the contributions are made (if it's ever actually done), why would people give away their software for no cost? If so many people put their time and effort into creating something, why wouldn't they band together and slap a price tag on it? + +This question comes with a lot of answers. Here are a few: + +- Starting a business is hard, especially if the project you're working on doesn't form the strong foundation for a money machine. It can be easier to rally a bunch of like-minded people without commitments or the expectation of paychecks. +- Most open source communities consist of people interested in improving software or bringing it into existence but don't have the time or interest to commit to working full-time on a project. Sometimes open source represents passion projects, geek groups, and crowd-sourced solutions to annoying problems. +- The groups that form around open source projects of all sizes foster supportive communities where contributors and onlookers alike can practice their skills, improve software they regularly use, teach and learn from each other, and feel empowered to make their voices heard. Many open source communities are essentially hyper-focused online hobby clubs. + +### Where do I get involved? + +Now you may ask yourself, "But what do I do with this information? Can I contribute to open source projects? What if I'm not good enough yet?" + +Never fear—even [beginners][5] are welcome to contribute to open source projects. It's a great way to hone your skills while working with a community towards a larger goal. And, as I talked about earlier, the worst that can happen is your changes aren't merged into Birdpedia (and that's because those product owners just can't see your vision of a Birdpedia where birds and their ancestors gleefully coexist in an online world of bird-related knowledge). + +Do you have to know how to code to contribute to projects? Contrary to popular belief, [no, you don't][6]. Projects "take a village" to thrive, which means they need input from people of all different backgrounds. Visual designers, writers, marketers, reviewers, translators, subject matter enthusiasts, and even just users of the resulting product are all valuable contributors. Not only do they help build out and improve products, but they identify bugs, suggest improvements, spread the word about the project, and generally strengthen the community. + +In short, no matter what your background or experience, if you're interested in open source or a specific project, you're nearly guaranteed to be welcomed with open arms. + +### Get started with open source now + +Still not sure where to begin? Here are some ideas and resources to get you started: + +- [Up For Grabs][7] is a "list of open source projects which have curated tasks specifically for new contributors." This is a great place to find an easy first PR opportunity, which is a great way to find out what kind of contributions you'll enjoy. +- Check out this list of [beginner-friendly projects][8] on GitHub. +- If you're still not feeling inspired, consider [contributing][9] to (or flying with) [PatternFly][10], Red Hat's open design system. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/get-started-open-source + +作者:[Katie Edwards][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/kaedward +[b]: https://github.com/lkxed +[1]: https://opensource.com/resources/what-open-source +[2]: https://opensource.com/resources/what-is-git +[3]: https://opensource.org/osd +[4]: https://opensource.com/life/16/1/8-ways-contribute-open-source-without-writing-code +[5]: https://opensource.com/article/18/4/get-started-open-source-project +[6]: https://opensource.com/article/22/8/non-code-contribution-powers-open-source +[7]: https://up-for-grabs.net/?ref=hackernoon.com#/ +[8]: https://github.com/MunGell/awesome-for-beginners +[9]: https://github.com/patternfly +[10]: https://www.patternfly.org/v4/get-started/design From 399843c2599bbec4fbc6e99213463f43d168cabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:09:59 +0800 Subject: [PATCH 320/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221107.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Build=20your=20own=20SaaS=20on=20Linux=20w?= =?UTF-8?q?ith=20Vely.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️⭐️ Build your own SaaS on Linux with Vely.md | 652 ++++++++++++++++++ 1 file changed, 652 insertions(+) create mode 100644 sources/tech/20221107.2 ⭐️⭐️⭐️ Build your own SaaS on Linux with Vely.md diff --git a/sources/tech/20221107.2 ⭐️⭐️⭐️ Build your own SaaS on Linux with Vely.md b/sources/tech/20221107.2 ⭐️⭐️⭐️ Build your own SaaS on Linux with Vely.md new file mode 100644 index 0000000000..349f3d78f5 --- /dev/null +++ b/sources/tech/20221107.2 ⭐️⭐️⭐️ Build your own SaaS on Linux with Vely.md @@ -0,0 +1,652 @@ +[#]: subject: "Build your own SaaS on Linux with Vely" +[#]: via: "https://opensource.com/article/22/11/build-your-own-saas-vely" +[#]: author: "Sergio Mijatovic https://opensource.com/users/vely" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Build your own SaaS on Linux with Vely +====== + +Vely makes it possible to leverage the power of C in your web applications. + +[Vely][1] combines high performance and the low footprint of C with the ease of use and improved safety of languages like PHP. It's free and open source software, licensed under GPLv3 and LGPL 3 for libraries, so you can even build commercial software with it. + +### Using Vely for SaaS + +You can use Vely to create a multitenant web application that you can run on the Internet as Software-as-a-Service (SaaS). Each user has a completely separate data space from any other. + +In this example web application, a user can sign up for a notebook service to create notes and then view and delete them. It demonstrates several technology integrations in just 310 lines of code across seven source files. The technologies include: + +- MariaDB +- Web browser +- Apache +- Unix sockets + +#### How it works + +Here's how the application works from a user's perspective. A code walk-through follows the images. + +The app allows a user to create a new login by specifying an email address and password. You can style these any way you like, such as with CSS: + +![Create a user account][2] + +Verify the user's email: + +![Verify the user's email address][3] + +Each user logs in with their unique username and password: + +![The user logs in][4] + +Once logged in, a user can add a note: + +![The user can add a note][5] + +A user can get a list of notes: + +![User lists notes][6] + +The app asks for confirmation before deleting a note: + +![The app asks for confirmation before deleting a note][7] + +After the user confirms, the note is deleted: + +![After confirmation, the note is deleted][8] + +#### Setup prerequisites + +Follow the installation instructions on [Vely.dev][9]. It's a quick process that uses standard packaging tools, such as DNF, APT, Pacman, or Zypper. + +Because they are part of this example, you must install Apache as a web server and MariaDB as a database. + +After installing Vely, turn on syntax highlighting in Vim if you're using it: + +``` +vv -m +``` + +#### Get the source code + +The source code for this demonstration SaaS app is part of the Vely installation. It's a good idea to create a separate source code directory for each application (and you can name it whatever you like). In this case, unpacking the source code does that for you: + +``` +$ tar xvf $(vv -o)/examples/multitenant_SaaS.tar.gz +$ cd multitenant_SaaS +``` + +By default, the application is named `multitenant_SaaS`, but you can call it anything (if you do that, change it everywhere). + +### Set up the application + +The very first step is to create an application. It's simple to do with Vely's `vf` utility: + +``` +$ sudo vf -i-u $(whoami) multitenant_SaaS +``` + +This command creates a new application home (`/var/lib/vv/multitenant_SaaS`) and performs the application setup for you. Mostly, that means creating various subdirectories in the home folder and assigning privileges. In this case, only the current user (the result of `whoami`) owns the directories, with 0700 privileges, which ensures that no one else has access to the files. + +### Set up the database + +Before doing any coding, you need a place to store the information used by the application. First, create a MariaDB database called `db_multitenant_SaaS`, owned by the user `vely` with password `your_password`. You can change any of these values, but remember to change them everywhere during this example. + +Logged in as root in the MySQL utility: + +``` +CREATEDATABASEIFNOTEXISTS db_multitenant_SaaS; +CREATEUSERIFNOTEXISTS vely IDENTIFIEDBY'your_password'; +GRANTCREATE,ALTER,DROP,SELECT,INSERT,DELETE,UPDATEON db_multitenant_SaaS.*TO vely; +``` + +Then create database objects (tables and records and so on) in the database: + +``` +USE db_multitenant_SaaS; +SOURCE setup.sql; +exit +``` + +### Connect Vely to a database + +To let Vely know where your database is and how to log into it, create a database config file named `db_multitenant_SaaS`. (This is the name used by the database statements in the source code, so if you change it, make sure you change it everywhere.) + +Vely uses native MariaDB database connectivity, so you can specify any options that a given database lets you: + +``` +$ echo'[client] +user=vely +password=your_password +database=db_multitenant_SaaS +protocol=TCP +host=127.0.0.1 +port=3306'> db_multitenant_SaaS +``` + +### Build the application + +Use the `vv` utility to make the application, using the `--db` option to specify the MariaDB database and the database config file: + +``` +$ vv -q--db=mariadb:db_multitenant_SaaS +``` + +### Start the application server + +To start the application server for your web application, use the `vf` FastCGI process manager. The application server uses a Unix socket to communicate with the web server (creating a reverse proxy): + +``` +$ vf -w3 multitenant_SaaS +``` + +This starts three daemon processes to serve the incoming requests. You can also start an adaptive server that increases the number of processes to serve more requests and gradually reduce the number of processes when they're not needed: + +``` +$ vf multitenant_SaaS +``` + +See `vf` for more options to help you achieve the best performance. + +When you need to stop your application server, use the `-m quit` option: + +``` +$ vf -m quit multitenant_SaaS +``` + +### Set up the web server + +This is a web application, so the application needs a web server. This example uses Apache by way of a Unix socket listener. + +#### 1. Set up Apache + +To configure Apache as a reverse proxy and connect your application to it, you need to enable FastCGI proxy support, which generally means using the `proxy` and `proxy_fcgi` modules. + +For Fedora systems (or others, like Arch) enable the `proxy` and `proxy_fcgi` modules by adding (or uncommenting) the appropriate **LoadModule** directives in the `/etc/httpd/conf/httpd.conf` Apache configuration file. + +For Debian, Ubuntu, and similar systems, enable the `proxy` and `proxy_fcgi` modules: + +``` +$ sudo a2enmod proxy +$ sudo a2enmod proxy_fcgi +``` + +For OpenSUSE, add these lines to the end of `/etc/apache2/httpd.conf`: + +``` +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so +``` + +#### 2. Configure Apache + +Now you must add the proxy information to the Apache configuration file: + +``` +ProxyPass "/multitenant_SaaS" unix:///var/lib/vv/multitenant_SaaS/sock/sock|fcgi://localhost/multitenant_SaaS +``` + +The location of your configuration may vary, depending on your Linux distribution: + +- Fedora, CentOS, Mageia, and Arch: `/etc/httpd/conf/httpd.conf` +- Debian, Ubuntu, Mint: `/etc/apache2/apache2.conf` +- OpenSUSE: `/etc/apache2/httpd.conf` + +#### 3. Restart + +Finally, restart Apache. On Fedora and similar systems, as well as Arch Linux: + +``` +$ sudo systemctl restart httpd +``` + +On Debian and Debian-based systems, as well as OpenSUSE: + +``` +$ sudo systemctl restart apache2 +``` + +### Set up local mail + +This example uses email as a part of its function. If your server can already send email, you can skip this. Otherwise, you can use local mail (`myuser@localhost`) just to test it out. To do that, install Sendmail. + +On Fedora and similar: + +``` +$ sudo dnf installsendmail +$ sudo systemctl start sendmail +``` + +On Debian systems (like Ubuntu): + +``` +$ sudo apt installsendmail +$ sudo systemctl start sendmail +``` + +When the application sends an email to a local user, such as `OS_user@localhost`, then you can verify that the email was sent by looking at `/var/mail/` (the "mail spool"). + +### Access the application server from the browser + +Assuming you're running the application locally, use `http://127.0.0.1/multitenant_SaaS?req=notes&action=begin` to access your application server from your web browser. If you're running this on a live server on the Internet, you may need to adjust your firewall settings to allow HTTP traffic. + +### Source code + +This example application contains seven source files. You can review the code yourself (remember, it's just 310 lines across these files), but here's an overview of each one. + +#### SQL setup (setup.sql) + +The two tables created are: + +- **users**: Information about each user. Each user in the **users** table has its own unique ID (**userId** column) along with other information such as email address and whether it's verified. There's also a hashed password. An actual password is never stored in plain text (or otherwise); a one-way hash is used to check the password. +- **notes**: Notes entered by the user. The **notes** table contains the notes, each along with **userId** column that states which user owns them. The **userId** column's value matches the namesake column from **users** table. This way, every note clearly belongs to a single user. + +The file contents: + +``` +CREATETABLEIFNOTEXISTS notes (dateOf datetime, noteId BIGINTAUTO_INCREMENTPRIMARYKEY, userId BIGINT, note VARCHAR(1000)); +CREATETABLEIFNOTEXISTS users (userId BIGINTAUTO_INCREMENTPRIMARYKEY, email VARCHAR(100), hashed_pwd VARCHAR(100), verified SMALLINT, verify_token VARCHAR(30),SESSIONVARCHAR(100)); +CREATEUNIQUEINDEXIFNOTEXISTS users1 ON users (email); +``` + +#### Run-time data (login.h) + +To properly display the Login, Sign Up, and Logout links, you need some flags that are available anywhere in the application. Also, the application uses cookies to maintain a session, so this needs to be available anywhere, for example, to verify that the session is valid. Every request sent to the application is confirmed that way. Only requests that come with verifiable cookies are permitted. + +So to that effect, you have a **global_request_data** type `reqdata` (request data) and in it there's `sess_userId` (ID of user) and `sess_id` (user's current session ID). You also have rather self-explanatory flags that help render pages: + +``` +#ifndef _VV_LOGIN +#define _VV_LOGIN + +typedef struct s_reqdata { +    bool displayed_logout; // true if Logout link displayed +    bool is_logged_in; // true if session verified logged-in +    char *sess_userId; // user ID of current session +    char *sess_id; // session ID +} reqdata; + +void login_or_signup (); + +#endif +``` + +#### Session checking and session data (_before.vely) + +Vely has a notion of a **before_request_handler**. The code you write executes before any other code that handles a request. To do this, all you need is to write this code in a file named `_before.vely`, and the rest is automatically handled. + +Anything that a SaaS application does, such as handling requests sent to an application, must be validated for security. This way, the application knows whether the caller has the permissions needed to perform an action. + +Checking for permission is done here in a before-request handler. That way, whatever other code you have handling a request, you already have the session information. + +To keep session data (like session ID and user ID) available anywhere in your code, you use **global_request_data**. It's just a generic pointer (**void***) to memory that any code that handles requests can access. This is perfect for handling sessions, as shown below: + +``` +#include "vely.h" +#include "login.h" + +// _before() is a before-request-handler. It always executes before +// any other code that handles a request. It's a good place for any +// kind of request-wide setting or data initialization +void _before() { +    // Output HTTP header +    out-header default +    reqdata *rd; // this is global request data, see login.h +    // allocate memory for global request data, will be automatically deallocated +    // at the end of request +    new-mem rd size sizeof(reqdata) +    // initialize flags +    rd->displayed_logout = false; +    rd->is_logged_in = false; +    // set the data we created to be global request data, accessible +    // from any code that handles a request +    set-req data rd +    // check if session exists (based on cookies from the client) +    // this executes before any other request-handling code, making it +    // easier to just have session information ready +    _check_session (); +} +``` + +#### Checking if the session is valid (_check_session.vely) + +One of the most important tasks in a multitenant SaaS application is to check (as soon as possible) if the session is valid by checking whether a user is logged in. It's done by getting the session ID and user ID cookies from the client (such as a web browser) and checking these against the database where sessions are stored: + +``` +#include "vely.h" +#include "login.h" + + +// Check if session is valid +void _check_session () { +    // Get global request data +    reqdata *rd; +    get-req data to rd +    // Get cookies from user browser +    get-cookie rd->sess_userId="sess_userId" +    get-cookie rd->sess_id="sess_id" +    if (rd->sess_id[0] != 0) { +        // Check if session ID is correct for given user ID +        char *email; +        run-query @db_multitenant_SaaS = "select email from users where userId='%s' and session='%s'" output email : rd->sess_userId, rd->sess_id row-count define rcount +            query-result email to email +        end-query +        if (rcount == 1) { +            // if correct, set logged-in flag +            rd->is_logged_in = true; +            // if Logout link not display, then display it +            if (rd->displayed_logout == false) { +                @Hi <>! Logout
+                rd->displayed_logout = true; +            } +        } else rd->is_logged_in = false; +    } +} +``` + +#### Signing up, Logging in, Logging out (login.vely) + +The basis of any multitenant system is the ability for a user to sign up, log in, and log out. Typically, signing up involves verifying the email address; more often than not, the same email address is used as a username. That's the case here. + +There are several subrequests implemented here that are necessary to perform the functionality: + +- When Signing Up a new user, display the HTML form to collect the information. The URL request signature for this is `req=login&action=newuser`. +- As a response to the Sign Up form, create a new user. The URL request signature is `req=login&action=createuser`. The **input-param** signal obtains an **email** and **pwd** POST form fields. The password value is a one-way hash, and an email verification token is created as a random five-digit number. These are inserted into the **users** table, creating a new user. A verification email is sent, and the user is prompted to read the email and enter the code. +- Verify the email by entering the verification code sent to that email. The URL request signature is `req=login&action=verify`. +- Display a Login form for the user to log in. The URL request signature is `req=login` (for instance, `action` is empty.) +- Log in by verifying the email address (username) and password. The URL request signature is `req=login&action=login`. +- Logout at the user's request. The URL request signature is `req=login&action=logout`. +- Landing page for the application. The URL request signature is `req=login&action=begin`. +- If the user is currently logged in, go to the application's landing page. + +See examples of these below: + +``` +#include "vely.h" +#include "login.h" + +// Handle session maintenance, login, logout, session verification +// for any multitenant Cloud application +void login () { +    // Get URL input parameter "action" +    input-param action + +    // Get global request data, we record session information in it, so it's handy +    reqdata *rd; +    get-req data to rd + +    // If session is already established, the only reason why we won't proceed to +    // application home is if we're logging out +    if (rd->is_logged_in) { +        if (strcmp(action, "logout")) { +            _show_home(); +            exit-request +        } +    } + +    // Application screen to get started. Show links to login or signup and show +    // home screen appropriate for this +    if (!strcmp (action, "begin")) { +        _show_home(); +        exit-request + +    // Start creating new user. Ask for email and password, then proceed to create user +    // when this form is submitted. +    } else if (!strcmp (action, "newuser")) { +        @Create New User
+        @
+        @ +        @ +        @ +        @ +        @
+ +    // Verify code sent to email by user. The code must match, thus verifying email address     +    } else if (!strcmp (action, "verify")) { +        input-param code +        input-param email +        // Get verify token based on email +        run-query @db_multitenant_SaaS = "select verify_token from users where email='%s'" output db_verify : email +            query-result db_verify to define db_verify +            // Compare token recorded in database with what user provided +            if (!strcmp (code, db_verify)) { +                @Your email has been verifed. Please Login. +                // If matches, update user info to indicate it's verified +                run-query @db_multitenant_SaaS no-loop = "update users set verified=1 where email='%s'" : email +                exit-request +            } +        end-query +        @Could not verify the code. Please try again. +        exit-request + +    // Create user - this runs when user submits form with email and password to create a user     +    } else if (!strcmp (action, "createuser")) { +        input-param email +        input-param pwd +        // create hashed (one-way) password +        hash-string pwd to define hashed_pwd +        // generate random 5 digit string for verify code +        random-string to define verify length 5 number +        // create user: insert email, hashed password, verification token. Current verify status is 0, or not verified +        begin-transaction @db_multitenant_SaaS +        run-query @db_multitenant_SaaS no-loop = "insert into users (email, hashed_pwd, verified, verify_token, session) values ('%s', '%s', '0', '%s', '')" : email, hashed_pwd, verify affected-rows define arows error define err on-error-continue +        if (strcmp (err, "0") || arows != 1) { +            // if cannot add user, it probably doesn't exist. Either way, we can't proceed. +            login_or_signup(); +            @User with this email already exists. +            rollback-transaction @db_multitenant_SaaS +        } else { +            // Create email with verification code and email it to user +            write-string define msg +                @From: vely@vely.dev +                @To: <> +                @Subject: verify your account +                @ +                @Your verification code is: <> +            end-write-string +            exec-program "/usr/sbin/sendmail" args "-i", "-t" input msg status define st +            if (st != 0) { +                @Could not send email to <>, code is <> +                rollback-transaction @db_multitenant_SaaS +                exit-request +            } +            commit-transaction @db_multitenant_SaaS +            // Inform the user to go check email and enter verification code +            @Please check your email and enter verification code here: +            @
+            @ +            @ +            @ +            @ +            @
+        } + +    // This runs when logged-in user logs out.     +    } else if (!strcmp (action, "logout")) { +        // Update user table to wipe out session, meaning no such user is logged in +        if (rd->is_logged_in) { +            run-query @db_multitenant_SaaS = "update users set session='' where userId='%s'" : rd->sess_userId no-loop affected-rows define arows +            if (arows == 1) { +                rd->is_logged_in = false; // indicate user not logged in +                @You have been logged out.
+            } +        } +        _show_home(); + +    // Login: this runs when user enters user name and password +    } else if (!strcmp (action, "login")) { +        input-param pwd +        input-param email +        // create one-way hash with the intention of comparing with user table - password is NEVER recorded +        hash-string pwd to define hashed_pwd +        // create random 30-long string for session ID +        random-string to rd->sess_id length 30 +        // Check if user name and hashed password match +        run-query @db_multitenant_SaaS = "select userId from users where email='%s' and hashed_pwd='%s'" output sess_userId : email, hashed_pwd +            query-result sess_userId to rd->sess_userId +            // If match, update user table with session ID +            run-query @db_multitenant_SaaS no-loop = "update users set session='%s' where userId='%s'" : rd->sess_id, rd->sess_userId affected-rows define arows +            if (arows != 1) { +                @Could not create a session. Please try again. <<.login_or_signup();>>
+                exit-request +            } +            // Set user ID and session ID as cookies. User's browser will return those to us with every request +            set-cookie "sess_userId" = rd->sess_userId +            set-cookie "sess_id" = rd->sess_id +            // Display home, make sure session is correct first and set flags +            _check_session(); +            _show_home(); +            exit-request +        end-query +        @Email or password are not correct. <<.login_or_signup();>>
+ +    // Login screen, asks user to enter user name and password     +    } else if (!strcmp (action, "")) { +        login_or_signup(); +        @Please Login:
+        @
+        @ +        @ +        @ +        @ +        @
+    } +} + +// Display Login or Sign Up links +void login_or_signup() { +        @Login & & Sign Up
+} +``` + +#### General-purpose application (_show_home.vely) + +With this tutorial, you can create any multitenant SaaS application you want. The multitenant-processing module above (`login.vely`) calls the **_show_home()** function, which can house any code of yours. This example code shows the Notes application, but it could be anything. The **_show_home()** function calls any code you wish and is a general-purpose multitenant application plug-in: + +``` +#include "vely.h" + +void _show_home() { +    notes(); +    exit-request +} +``` + +#### Notes application (notes.vely) + +The application is able to add, list, and delete any given note: + +``` +#include "vely.h" +#include "login.h" + +// Notes application in a multitenant Cloud +void notes () { +    // get global request data +    reqdata *rd; +    get-req data to rd +    // If session invalid, display Login or Signup +    if (!rd->is_logged_in) { +        login_or_signup(); +    } +    // Greet the user +    @

Welcome to Notes!


+    // If not logged in, exit - this ensures security verification of user's identity +    if (!rd->is_logged_in) { +        exit-request +    } +    // Get URL parameter that tells Notes what to do +    input-param subreq +    // Display actions that Notes can do (add or list notes) +    @Add Note List Notes
+ +    // List all notes for this user +    if (!strcmp (subreq, "list")) { +        // select notes for this user ONLY +        run-query @db_multitenant_SaaS = "select dateOf, note, noteId from notes where userId='%s' order by dateOf desc" : rd->sess_userId output dateOf, note, noteId +            query-result dateOf to define dateOf +            query-result note to define note +            query-result noteId to define noteId +            // change new lines to
with fast cached Regex +            match-regex "\n" in note replace-with "
\n" result define with_breaks status define st cache +            if (st == 0) with_breaks = note; // nothing was found/replaced, just use original +            // Display a note +            @Date: <> (delete note)
+            @Note: <>
+            @
+        end-query +    } + +    // Ask to delete a note +    else if (!strcmp (subreq, "delete_note_ask")) { +        input-param note_id +        @Are you sure you want to delete a note? Use Back button to go back, or delete note now. +    } + +    // Delete a note +    else if (!strcmp (subreq, "delete_note")) { +        input-param note_id +        // Delete note +        run-query @db_multitenant_SaaS = "delete from notes where noteId='%s' and userId='%s'" : note_id, rd->sess_userId affected-rows define arows no-loop error define errnote +        // Inform user of status +        if (arows == 1) { +            @Note deleted +        } else { +            @Could not delete note (<>) +        } +    } + +    // Add a note +    else if (!strcmp (subreq, "add_note")) { +        // Get URL POST data from note form +        input-param note +        // Insert note under this user's ID +        run-query @db_multitenant_SaaS = "insert into notes (dateOf, userId, note) values (now(), '%s', '%s')" : rd->sess_userId, note affected-rows define arows no-loop error define errnote +        // Inform user of status +        if (arows == 1) { +            @Note added +        } else { +            @Could not add note (<>) +        } +    } + +    // Display an HTML form to collect a note, and send it back here (with subreq="add_note" URL param) +    else if (!strcmp (subreq, "add")) { +        @Add New Note +        @
+        @ +        @ +        @ +        @
+    } +} +``` + +### SaaS with C performance + +Vely makes it possible to leverage the power of C in your web applications. A multitenant SaaS application is a prime example of a use case that benefits from that. Take a look at the code examples, write some code, and give Vely a try. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/build-your-own-saas-vely + +作者:[Sergio Mijatovic][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/vely +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/5/write-c-appplications-vely-linux +[2]: https://opensource.com/sites/default/files/2022-10/1createuser.png +[3]: https://opensource.com/sites/default/files/2022-10/2verifyemail.png +[4]: https://opensource.com/sites/default/files/2022-10/3login.png +[5]: https://opensource.com/sites/default/files/2022-10/4addnote.png +[6]: https://opensource.com/sites/default/files/2022-10/5listnotes.png +[7]: https://opensource.com/sites/default/files/2022-10/6confirmdelete.png +[8]: https://opensource.com/sites/default/files/2022-10/7notedeleted.png +[9]: https://vely.dev/ From 4b40ffac67e1699bf8b41c51f4c723ff485add47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:11:21 +0800 Subject: [PATCH 321/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221107.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20Node.js=20on=20RHEL=209.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md diff --git a/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md new file mode 100644 index 0000000000..5069dbf0d4 --- /dev/null +++ b/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md @@ -0,0 +1,184 @@ +[#]: subject: "How to Install Node.js on RHEL 9" +[#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" +[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Node.js on RHEL 9 +====== + +In this post, we will explain how to install Node.js on RHEL 9 system step-by-step. + +Built on Google’s V8 Javascript engine, [Node.js][1] is a free and opensource, cross-platform JavaScript runtime that is mostly used for building server-side applications. It uses an event-driven and asynchronous model that helps developers build highly scalable, data-intensive real-time applications (RTAs ). You can use NodeJS to build both front-end and back-end applications. + +Node.js is commonly used in building the following applications: + +- Chat applications +- Streaming applications +- Browser games +- Command-line tools +- Embedded systems + +Top companies that use NodeJS in their tech stacks include PayPal, Netflix, and Uber to mention a few. + +There are three main ways of installing Node.JS: + +- Installing Node.JS from the NodeSource repository +- Installing Node.JS from the distribution’s Official repository +- Installing Node.JS using NVM + +Let us check out how to install Node.JS on RHEL 9 using each of these methods. + +##### Prerequisites + +- Minimal Installed RHEL 9 System +- [Sudo User][2] with admin rights +- Internet Connectivity +- Red Hat Subscription or locally configured repository + +### Installing Node.js from NodeSource Repository + +[NodeSource][3]is a technology company that seeks to help organizations run production-ready Node.Js applications with more focus on resource usage and enhanced security and application performance. It provides the latest versions of Node.JS and NPM. + +To install Node.SJ from Nodesource, first, update the system packages as shown. + +``` +$ sudo dnf update -y +``` + +Next, install the required build tools which will be required during the installation of Node.JS. These include the GCC c/c++ compiler, Perl, and Python debuggers to mention a few. + +``` +$ sudo dnf groupinstall 'Development Tools' -y +``` + +Next, we are going to install Node.JS 18.x from Nodesource. To do this, download and run the NodeSource setup script as follows. + +``` +$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - +``` + +The script adds the Nodesource repository to your system among other tasks + +At the tail end of the output, you will see some additional instructions provided on how to install Node.JS and npm. + +Therefore, to install Node.JS and npm (Node Package Manager), run the command: + +``` +$ sudo dnf install nodejs -y +``` + +Once the installation is complete, verify the version of Node.JS and NPM as shown. + +``` +$ node -v +$ npm -v +``` + +The output shows that we are running Node v18.12 which is the latest LTS release and NPM 8.19.2. + +### Installing Node.js from the official RHEL repositories + +The other way of installing NodeJS and NPM is by installing them from your distribution’s official repository. However, this approach does not provide the latest versions. + +If you don’t mind not installing the latest versions of Node and NPM. , then run the following command on the command line. + +``` +$ sudo dnf update -y +$ sudo dnf install nodejs npm -y +``` + +### Installing Node.js using NVM + +Lastly, you can install Node.JS using NVM ( Node Version Manager) which is a tool for managing Node versions on your system. The tool helps developers work efficiently on different projects which require different versions of Node.JS + +NVM is not installed by default You need to install it by running the Shell script which is available on the [Official GitHub Page][4]. + +``` +$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash +``` + +This downloads and saves nvm in the .nvm directory in your home directory. + +Once installed, close your terminal sessions and open a new terminal. Then run the following command to confirm that NVM has been installed. + +``` +$ command -v nvm +``` + +Next, you can list all the available versions of Node.JS using the following command: + +``` +$ nvm ls-remote +``` + +Alternatively, you can list all the latest LTS releases for Node.JS versions as shown. + +``` +$ nvm ls-remote | grep -i latest +``` + +To install the very latest version of Node.JS (currently v19.0.0 ), run the command: + +``` +$ nvm install node +``` + +You can then verify the version of Node installed as shown. + +``` +$ node -v +``` + +In addition, you can install a specific version of Node. JS. For example, to install v18.2.0, run the command: + +``` +$ nvm install v18.12.0 +``` + +To list all the installed versions of NodeJS on your system, run the command: + +``` +$ nvm ls +``` + +The first entry with the sign ( – > ) points to the version of Node.JS that is currently in use. This is then followed by other versions as indicated below + +To switch to another version of Node.JS, use the syntax: + +``` +$ nvm use +``` + +For example, to use Node version 19.0.0, run the command: + +``` +$ nvm use 19.0.0 +``` + +Again, check the installed versions of Node.JS, and this time the  ( – > ) sign will point to v19.0.0 + +##### Conclusion + +In this guide, we have demonstrated how to install Node.js using three different methods. In addition, we have provided a few ways in which you can manage the Node versions using NVM. We hope that you can now comfortably install NodeJS on RHEL and choose the version that you want to work with on your project. + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/ + +作者:[James Kiarie][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.linuxtechi.com/author/james/ +[b]: https://github.com/lkxed +[1]: https://nodejs.org/en/about/ +[2]: https://www.linuxtechi.com/create-sudo-user-on-rhel-rocky-linux-almalinux/ +[3]: https://nodesource.com/ +[4]: https://github.com/nvm-sh/nvm From 436e0402469c7bde8874d562782dfa87d9b368ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:12:34 +0800 Subject: [PATCH 322/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221107.4=20=E2=AD=90=EF=B8=8F=20How=20to=20Boost=20S?= =?UTF-8?q?peaker=20Volume=20in=20Ubuntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...st Speaker Volume in Ubuntu and Other Linux.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md diff --git a/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..702d9a7c96 --- /dev/null +++ b/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md @@ -0,0 +1,89 @@ +[#]: subject: "How to Boost Speaker Volume in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/boost-speaker-volume-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Boost Speaker Volume in Ubuntu and Other Linux +====== + +**Here’s how you can boost your Laptop and desktop’s volume more in Ubuntu and other Linux distributions.** + +Have you ever felt that your Ubuntu Laptop’s volume is too low, despite you selected the volume to 100%? I’m sure you had. The primary reason is – obviously, laptop speaker output intensity is lower than large speakers. + +In addition, Ubuntu and other distros set the default maximum volume to 100%, i.e. 0dB (decibel). The 0dB is the maximum volume reference. To compare, if you set the volume to -10dB, that means your volume is quieter than the maximum 0dB. + +VLC and some media players allow you to increase the volume by up to 200%. Using some settings in the latest Ubuntu, you can boost the volume to further. + +**Note**: Before you try this and use the following method, remember that each speaker has a hardware limitation set by its manufacturer. Once in a while, playing audio more than 100% is fine. But continuous amplification to higher decibels may distort output audio & may damage your speaker amplifier in the longer term. So, use it with caution and limitation. + +### Boost Speaker Volume in Ubuntu and other distros + +#### For the latest Ubuntu 22.04 and above (GNOME): + +Open Settings from the application menu and go to the Sound tab. + +Enable the “Over Amplification” switch. The moment you enable you should see the volume bar is expanded. + +![Boost volume more than 100 percent in Ubuntu][1] + +Now you can enjoy a volume boost to listen to music. + +#### Fedora, Arch Linux and other distros + +If you use Fedora Workstation with GNOME, you will not get the above option since it is an Ubuntu-specific setting. See below. + +![Speaker volume is max 100 percent in Fedora (GNOME)][2] + +So, for any other Linux distributions (Arch, Fedora, RedHat, etc.) or desktops (KDE, Xfce, LXQt, etc.), open a terminal and install [PulseAudio Volume Control][3]. + +**Fedora, RedHat Linux, OpenSUSE and related rpm-based distributions:** + +``` +sudo dnf install pavucontrol +``` + +**For Arch Linux, Manjaro** + +``` +sudo pacman -S pavucontrol +``` + +**Non-GNOME Ubuntu-based distros** + +``` +sudo apt install pavucontrol +``` + +### How to Use + +After installation, open the `pavucontrol` from the application menu, it should appear as ‘PulseAudio Volume Control’ as a menu item. + +![Increase Volume using PulseAudio Volume Control][4] + +### Wrapping Up + +Remember, the above methods boost the speaker volume for the entire system. That means the system sounds and alerts are also impacted. So, keep that in mind. As I mentioned earlier, boosting speaker volume by more than 100% may result in distrotion or damage to the speaker if used continuously. + +I hope this tutorial helps you to increase your system volume. Do let me know in the comment box if you run into issues. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/boost-speaker-volume-ubuntu/ + +作者:[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/11/Boost-volume-more-than-100-percent-in-Ubuntu.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Speaker-volume-is-max-100-percent-in-Fedora-GNOME.jpg +[3]: https://freedesktop.org/software/pulseaudio/pavucontrol/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Increase-Volume-using-PulseAudio-Volume-Control-1024x508.jpg From f85603bf7ca2cdcfb330608ca459d7cf4cb481f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 00:12:58 +0800 Subject: [PATCH 323/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221107.5=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20OpenOffice=20in=20Arch=20Linux=20[Beginner=E2=80=99s=20Guide?= =?UTF-8?q?].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...OpenOffice in Arch Linux [Beginner’s Guide].md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md diff --git a/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md new file mode 100644 index 0000000000..bc730a3db8 --- /dev/null +++ b/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md @@ -0,0 +1,84 @@ +[#]: subject: "How to Install OpenOffice in Arch Linux [Beginner’s Guide]" +[#]: via: "https://www.debugpoint.com/install-openoffice-arch/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install OpenOffice in Arch Linux [Beginner’s Guide] +====== + +**An absolute beginner’s guide to install OpenOffice in Arch Linux and its derivatives.** + +[OpenOffice][1] is the oldest free and open-source office productivity suite which has been under maintenance for some time. It was developed by Apache and is still a sought-after suite, although it has been forked as LibreOffice. + +This tutorial is for those who want to install OpenOffice for their work and other needs. + +**Note**: Before you install, remember that many updated features and compatibility with Microsoft Office are not thoroughly supported in OpenOffice. If you want a more modern version of Office suite, try [LibreOffice][2]. + +### Installing OpenOffice in Arch Linux + +The [OpenOffice package][3] is available in Arch User Repository. So, to install it, you need to use an Aur helper program. Here’s what you need to do. Follow the steps mentioned below to install Yay AUR helper. A detailed guide is [present here][4] if you want to learn more about Yay. + +- Run the following commands in sequence to install basic packages and clone Yay. + +``` +sudo pacman -S base-develsudo pacman -S gitcd /optsudo git clone https://aur.archlinux.org/yay.git +``` + +- Run the following command by replacing `debugpoint` with your Arch system’s user name. + +``` +sudo chown -R debugpoint:users ./yay +``` + +- Finally, install the AUR helper using the following command. + +``` +cd yaymakepkg -si +``` + +- Once finished, install OpenOffice using the following: + +``` +yay -S openoffice-bin +``` + +![Install OpenOffice in Arch Linux via Yay helper][5] + +Follow the onscreen instructions. After installation, you can find it in the application menu, as shown in the below image. + +Launch OpenOffice and add your name and details to the start wizard, and you are good to go. + +![OpenOffice in Arch Linux Application Menu (XFCE)][6] + +![Latest OpenOffice running in Arch Linux][7] + +### Wrapping Up + +Using the above method, you can also install OpenOffice in Majnaro and other Arch Linux-based distros. Although it is an older office productivity suite, you should remember that it is not fully compatible with modern Microsoft Office document types (such as docx, xlsx). + +If you run into any errors during installation, drop us a note in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-openoffice-arch/ + +作者:[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.openoffice.org/ +[2]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ +[3]: https://aur.archlinux.org/packages/openoffice-bin +[4]: https://www.debugpoint.com/install-yay-arch/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-OpenOffice-in-Arch-Linux-via-Yay-helper.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/OpenOffice-in-Arch-Linux-Application-Menu-XFCE.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Latest-OpenOffice-running-in-Arch-Linux.jpg From 5df00aa12a9dfff1224a82229a0895d945099d31 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 8 Nov 2022 08:53:34 +0800 Subject: [PATCH 324/925] translating --- ...m a Video in VLC Player [If You Really Want to].md | 132 ------------------ ...m a Video in VLC Player [If You Really Want to].md | 132 ++++++++++++++++++ 2 files changed, 132 insertions(+), 132 deletions(-) delete mode 100644 sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md create mode 100644 translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md diff --git a/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md deleted file mode 100644 index 16e58bc5ff..0000000000 --- a/sources/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md +++ /dev/null @@ -1,132 +0,0 @@ -[#]: subject: "How to Trim a Video in VLC Player [If You Really Want to]" -[#]: via: "https://itsfoss.com/vlc-trim-video/" -[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Trim a Video in VLC Player [If You Really Want to] -====== - -VLC media player is one of the [best media players][1] out there. This cross-platform player is feature rich and it can literally play any media format that’s available. - -You’ll be surprised to know that VLC is much more than just a video player. It can do a lot of things with your media files. - -[Downloading YouTube video with VLC][2] is one of the [VLC tips][3] we have shared on It’s FOSS. - -Let me share another one with you. How about trimming a video with VLC? It’s not the best way to [trim videos][4] but it is available as an option. - -### Trim videos using VLC - -Trimming a video in VLC essentially means recording the video from the beginning to end of the required portion. The recording control tools are usually not visible in the VLC panel by default. - -Let me show the steps in detail. - -#### Step 1: Enable advanced controls - -To get the controls, you need to make it visible on the main control panel. - -First select the view option and then check the Advanced controls check box. Now, a new row of controls with a couple of buttons appears as shown in the screenshot. - -![enable advanced controls view in vlc player][5] - -#### Step 2: Open the video - -In order to trim a video, you need to open it in VLC. You can either open the video in VLC player by Media > Open File: - -![open media file through vlc file menu][6] - -Or you can open the video file with VLC from Nautilus file manager: - -![open media file with vlc player from nautilus file manager][7] - -#### Step 3: Trim video using VLC’s recording feature - -Once video file is opened, set the timeline to the starting point of the required output and pause the video. After that, press the record button and play the video. - -![pause at start point and start record by pressing record button][8] - -When the end point of the required output is reached, pause the video and press the record button again to stop recording. - -![pause at end point and press record][9] - -This should save the trimmed output to your ~/Videos directory. - -![original and trimmed file in nautilus file manager][10] - -### Troubleshooting: Unrecognized Output File - -VLC records the videos in .ts file format. This is supported in VLC, and you can use that as you want. But many other players in Ubuntu, including the native video player doesn’t recognize the format. So, in this case, there are two solutions. - -#### Gnome-Video prompts Installation of GStreamer package - -When you try to open the file, GNOME-Videos will prompt an error and suggestion to install Gstreamer multimedia codecs. - -![converted video shows a play error in gnome video player app][11] - -You can click on the “Find in Ubuntu Software” button as shown above, which will open ubuntu software center. There you can install the required codec package. - -![install gstreamer from software as prompted by the gnome video player][12] - -Install the same and open the video with Gnome-videos again will solve the problem. - -#### Convert the Video file using VLC - -If you don’t want to install any additional packages for the purpose, you can use VLC itself to convert the .ts file to mp4 format to play in any other player. - -For this, open VLC and select Convert option under File menu. - -![select convert from media menu][13] - -Now, provide the location of the file that needs to be converted using the “Add” button and select Convert/Save as shown in the screenshot. - -![select file to convert in the media convert dialog box][14] - -Select the required output profile (MP4) and set a file name for the output and press Start. - -![set conversion profiles and output file name in vlc media convert menu][15] - -This will start the conversion and will be completed as per the duration of the source. Once done, you can access the converted output from your ~/Videos directory. - -![original trimmed and converted file in nautilus file manager][16] - -### Wrapping Up - -While it is true that VLC player can be used to trim videos, the entire process is in no way similar to a dedicated [video editor][17]. - -The biggest issue is that you need to watch the entire trim portion to compete the trimming, which is not convenient if you are trimming a large portion of a video spanning several minutes. - -Anyway, this cool feature can be a handy tool on some occasion, where all you want is to trim a particular small clip or make a gif from a movie scene. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/vlc-trim-video/ - -作者:[Sreenath][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/sreenath/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/video-players-linux/ -[2]: https://itsfoss.com/download-youtube-videos-vlc/ -[3]: https://itsfoss.com/simple-vlc-tips/ -[4]: https://itsfoss.com/video-trimmer/ -[5]: https://itsfoss.com/wp-content/uploads/2022/11/enable-advanced-controls-view-in-vlc-player.png -[6]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-through-vlc-file-menu.png -[7]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-with-vlc-player-from-nautilus-file-manager.png -[8]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-start-point-and-start-record-by-pressing-record-button.png -[9]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-end-point-and-press-record.png -[10]: https://itsfoss.com/wp-content/uploads/2022/11/original-and-trimmed-file-in-nautilus-file-manager.png -[11]: https://itsfoss.com/wp-content/uploads/2022/11/converted-video-shows-a-play-error-in-gnome-video-player-app.png -[12]: https://itsfoss.com/wp-content/uploads/2022/11/install-gstreamer-from-software-as-prompted-by-the-gnome-video-player.png -[13]: https://itsfoss.com/wp-content/uploads/2022/11/select-convert-from-media-menu.png -[14]: https://itsfoss.com/wp-content/uploads/2022/11/select-file-to-convert-in-the-media-convert-dialog-box.png -[15]: https://itsfoss.com/wp-content/uploads/2022/11/set-conversion-profiles-and-output-file-name-in-vlc-media-convert-menu.png -[16]: https://itsfoss.com/wp-content/uploads/2022/11/original-trimmed-and-converted-file-in-nautilus-file-manager.png -[17]: https://itsfoss.com/open-source-video-editors/ diff --git a/translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md new file mode 100644 index 0000000000..a2fb07ea02 --- /dev/null +++ b/translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md @@ -0,0 +1,132 @@ +[#]: subject: "How to Trim a Video in VLC Player [If You Really Want to]" +[#]: via: "https://itsfoss.com/vlc-trim-video/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 VLC 播放器中裁剪视频(如果你真的想要) +====== + +VLC 媒体播放器是[最好的媒体播放器][1]之一。这款跨平台播放器功能丰富,可以播放任何可用的媒体格式。 + +你会惊讶地发现 VLC 不仅仅是一个视频播放器。它可以对你的媒体文件做很多事情。 + +[使用 VLC 下载 YouTube 视频][2]是我们在 It's FOSS 上分享的 [VLC 技巧][3]之一。 + +让我再和你分享一个。用 VLC 裁剪视频怎么样?这不是[裁剪视频][4]的最佳方式,但它可以作为一个选择使用。 + +### 使用 VLC 裁剪视频 + +在 VLC 中裁剪视频本质上意味着从所需部分的开头到结尾录制视频。默认情况下,录制控制工具通常在 VLC 面板中不可见。 + +让我详细介绍一下步骤。 + +#### 步骤 1:启用高级控件 + +要获取控件,你需要使其在主控制面板上可见。 + +首先选择视图选项,然后选中高级控件复选框。现在,如截图所示,出现了带有几个按钮的新控件行。 + +![在 vlc 播放器中启用高级控件视图][5] + +#### 步骤 2:打开视频 + +为了裁剪视频,你需要在 VLC 中打开它。你可以通过“媒体 > 打开文件”在 VLC 播放器中打开视频: + +![通过 vlc 文件菜单打开媒体文件][6] + +或者你可以使用 Nautilus 文件管理器中的 VLC 打开视频文件: + +![使用 nautilus 文件管理器中的 vlc 播放器打开媒体文件][7] + +#### 步骤 3:使用 VLC 的录制功能裁剪视频 + +打开视频文件后,将时间线设置为所需输出的起点并暂停视频。之后,按录制按钮并播放视频。 + +![在起点暂停,按录制键开始录制][8] + +当达到所需输出的终点时,暂停视频并再次按下录制按钮停止录制。 + +![在终点暂停并按下录制][9] + +这应该将裁剪后的输出保存到你的 \~/Videos 目录中。 + +![nautilus 文件管理器中的原始和裁剪后文件][10] + +### 故障排除:无法识别的输出文件 + +VLC 以 .ts 文件格式录制视频。这在 VLC 中受支持,你可以根据需要使用它。但是 Ubuntu 中的许多其他播放器,包括本地视频播放器,都无法识别该格式。因此,在这种情况下,有两种解决方案。 + +#### Gnome-Video 提示安装 GStreamer 包 + +当你尝试打开文件时,GNOME-Videos 会提示错误并建议安装 Gstreamer 多媒体编解码器。 + +![转换后的视频在 gnome 视频播放器中显示播放错误][11] + +你可以点击上图所示的 “Find in Ubuntu Software” 按钮,这将打开 ubuntu 软件中心。你可以在那里安装所需的编解码器包。 + +![根据 gnome 视频播放器的提示从软件中心安装 gstreamer][12] + +安装过程相同并再次使用 Gnome-videos 打开视频将解决问题。 + +#### 使用 VLC 转换视频文件 + +如果你不想为此安装任何额外的软件包,你可以使用 VLC 本身将 .ts 文件转换为 mp4 格式以在任何其他播放器中播放。 + +为此,打开 VLC 并在文件菜单下选择转换选项。 + +![从媒体菜单中选择转换][13] + +现在,使用“添加”按钮提供需要转换的文件的位置,然后选择转换/保存,如截图所示。 + +![在媒体转换对话框中选择要转换的文件][14] + +选择所需的输出配置 (MP4) 并为输出设置文件名,然后按“开始”。 + +![在 vlc 媒体转换菜单中设置转换配置和输出文件名][15] + +这将开始转换,并根据源的时长决定转换时间。完成后,你可以从 \~/Videos 目录访问转换后的输出。 + +![nautilus 文件管理器中的原始裁剪和转换文件][16] + +### 总结 + +虽然确实可以使用 VLC 播放器来裁剪视频,但整个过程与专门的[视频编辑器][17]完全不同。 + +最大的问题是你需要观看所有裁剪部分才能完成裁剪,如果你要裁剪跨越数分钟的视频的一大部分,这就不方便了。 + +无论如何,这个很酷的功能在某些情况下可能是一个方便的工具,比如你想要的只是裁剪一个特定的小剪辑或从电影场景中制作一个 gif。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/vlc-trim-video/ + +作者:[Sreenath][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/video-players-linux/ +[2]: https://itsfoss.com/download-youtube-videos-vlc/ +[3]: https://itsfoss.com/simple-vlc-tips/ +[4]: https://itsfoss.com/video-trimmer/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/enable-advanced-controls-view-in-vlc-player.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-through-vlc-file-menu.png +[7]: https://itsfoss.com/wp-content/uploads/2022/11/open-media-file-with-vlc-player-from-nautilus-file-manager.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-start-point-and-start-record-by-pressing-record-button.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/pause-at-end-point-and-press-record.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/original-and-trimmed-file-in-nautilus-file-manager.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/converted-video-shows-a-play-error-in-gnome-video-player-app.png +[12]: https://itsfoss.com/wp-content/uploads/2022/11/install-gstreamer-from-software-as-prompted-by-the-gnome-video-player.png +[13]: https://itsfoss.com/wp-content/uploads/2022/11/select-convert-from-media-menu.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/select-file-to-convert-in-the-media-convert-dialog-box.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/set-conversion-profiles-and-output-file-name-in-vlc-media-convert-menu.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/original-trimmed-and-converted-file-in-nautilus-file-manager.png +[17]: https://itsfoss.com/open-source-video-editors/ From e8395a725e2edbe4a20b362d7dddd1445c5790bc Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 8 Nov 2022 08:59:25 +0800 Subject: [PATCH 325/925] translating --- ... Guide How to Share A Folder Between UbuntuLinux and Windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md b/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md index cfae20f66c..dd3208e4b3 100644 --- a/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md +++ b/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/guide-how-share-folder-between-ubuntu-linux-windows/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 2b3caaf73978f4d70be672a1671dd6ef45c45daf Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 8 Nov 2022 11:07:56 +0800 Subject: [PATCH 326/925] RP @geekpi https://linux.cn/article-15226-1.html --- ...️ How to Enable Dark Mode in Web Browser.md | 104 ++++++++++++++++++ ...️ How to Enable Dark Mode in Web Browser.md | 99 ----------------- 2 files changed, 104 insertions(+), 99 deletions(-) create mode 100644 published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md delete mode 100644 translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md diff --git a/published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md new file mode 100644 index 0000000000..733c174ab8 --- /dev/null +++ b/published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md @@ -0,0 +1,104 @@ +[#]: subject: "How to Enable Dark Mode in Web Browser" +[#]: via: "https://www.debugpoint.com/dark-mode-browser/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15226-1.html" + +如何在 Web 浏览器中启用深色模式 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/08/110615dax28a8fhx13hxhi.jpg) + +> 本指南旨在帮助你在 Firefox、Chrome、Chromium 和 Edge 等流行的网页浏览器中启用深色模式。 + +我们都喜欢深色模式。与标准浅色模式相比,许多人更喜欢它。许多桌面应用原生提供深色模式,而一些应用则是通过桌面环境的底层模式适应深色模式。 + +不可否认,我们都在网页浏览器上花费了很多时间。我们很少使用桌面应用(除非你从事专门的工作,例如视频编辑等)。因此,当你花费大量时间在浏览器中阅读和学习时,你始终可以选择深色模式。不过,对于网页浏览器,启用深色模式的方法略有不同。 + +本指南为你提供了在 Firefox、Chromium、Chrome 和 Edge 浏览器中启用深色模式的简单步骤。 + +### 在网页浏览器中启用深色模式 + +#### 在 Firefox 中启用深色模式 + +打开 Firefox 并点击右上角的菜单。 + +单击 “设置Settings > 扩展和主题Extension and Themes”。 + +选择 “深色主题Dark Theme” 并点击 “启用enable”。你应该会看到深色模式已应用于 Firefox。 + +![Enable dark mode in Firefox][1] + +*在 Firefox 浏览器中启用深色模式* + +![Firefox in Dark Mode][2] + +*深色模式下的 Firefox* + +要将其还原,请按照相同的步骤并选择浅色主题。 + +#### Chromium 和 Chrome 中的深色模式 + +默认情况下,Chromium 或 Chrome 不会预安装任何深色主题。因此,你需要前往 Chrome 应用商店并下载你想要的深色主题。对于本指南,我会推荐超过一百万用户使用的 “Morpheon Dark” 主题。 + +从 Chromium 浏览器打开 Morpheon Dark 主题页面(以下链接)。 + +> **[Chrome 应用商店中的 Morpheon Dark 主题][3]** + +点击 “添加到 ChromeAdd To Chrome” 按钮。它应该会在 Chrome 中启用。 + +你可能想探索 Chrome 应用店中提供的其他深色或浅色主题。 [访问此页面获取所有深色主题的集合][4]。 + +但是,你应该要记住的一件事是:此主题不会更改设置或上下文菜单,这是显而易见的。因为它只是改变了浏览器窗口,而这些菜单(有时)是操作系统本身的一部分。 + +![Chromium Dark Theme][5] + +*Chromium 深色主题* + +对 Chrome 浏览器也遵循相同的步骤。 + +#### Edge 浏览器 – 深色模式 + +但是,[Edge 浏览器][6] 默认带有更好的深色主题。它允许你从设置中使用 GTK+、浅色和深色模式。 + +打开 Edge 浏览器,点击右上角的三个小点。 + +转到 “外观Appearance” 并选择 “深色Dark”。这样应该就好了。 + +Edge 的这种深色主题实现更好,因为它改变了上下文菜单和地址栏。 + +![Edge in Dark Theme][7] + +*深色主题的 Edge* + +### 总结 + +如果你是高级用户,你可能不需要本指南。你可以自己弄清楚。 + +但我们为所有读者涵盖了所有基础到高级教程。许多新的 Linux 用户可能不知道如何在浏览器中启用深色模式。 + +所以,就是说,我希望这对你和其他人有帮助。如果你遇到任何问题,请在下面的评论框中告诉我。 + +--- + +via: https://www.debugpoint.com/dark-mode-browser/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2021/10/Enable-dark-mode-in-Firefox.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/10/Firefox-in-Dark-Mode-1024x423.jpg +[3]: https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en-GB +[4]: https://chrome.google.com/webstore/category/collection/dark_themes +[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/Chromium-Dark-Theme-1024x463.jpg +[6]: https://www.debugpoint.com/2020/10/how-to-install-edge-ubuntu-linux/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/Edge-in-Dark-Theme-1024x541.jpg diff --git a/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md deleted file mode 100644 index 4150dcc145..0000000000 --- a/translated/tech/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md +++ /dev/null @@ -1,99 +0,0 @@ -[#]: subject: "How to Enable Dark Mode in Web Browser" -[#]: via: "https://www.debugpoint.com/dark-mode-browser/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -# 如何在 Web 浏览器中启用深色模式 - -**本指南旨在帮助你在 Firefox、Google Chrome、Chromium 和 Microsoft Edge 等流行的网络浏览器中启用深色模式。** - -我们都喜欢黑暗模式。与标准浅色模式相比,许多人更喜欢它。虽然许多桌面应用原生提供深色模式,但一些应用通过桌面环境的底层模式适应深色模式。 - -你不能否认我们在网络浏览器上花费数小时。我们很少使用桌面应用(除非你从事专门的工作,例如视频编辑等)。因此,当你花费大量时间在浏览器中阅读和学习时,你始终可以选择深色模式。但是,来到网络浏览器,事情就有些不同了。 - -本指南为你提供了在 Mozilla Firefox、Chromium、Google Chrome 和 Edge 浏览器中启用深色模式的简单步骤。 - -### 在 Web 浏览器中启用深色模式 - -#### 在 Firefox 中启用深色模式 - -- 打开 Firefox 并点击右上角的菜单。 -- 单击 `设置 > 扩展和主题`。 -- 选择`深色主题`并点击`启用`。你应该会看到深色模式已应用于 Firefox。 - -![Enable dark mode in Firefox][1] - -在 Firefox 浏览器中启用深色模式 - -![Firefox in Dark Mode][2] - -深色模式下的 Firefox - -- 要将其还原,请按照相同的步骤并选择浅色主题。 - -#### Chromium 和 Google Chrome 中的浅色模式 - -默认情况下,Chromium 或 Google Chrome 不会预安装任何深色主题。因此,你需要前往 Chrome 应用商店并下载你想要的任何深色主题。对于本指南,我会推荐超过一百万用户使用的 “Morpheon Dark” 主题。 - -从 Chromium 浏览器打开 Morpheon Dark 主题页面(以下链接)。 - -[Chrome 应用商店中的 Morpheon Dark 主题][3] - -点击 “Add To Chrome” 按钮。它应该会在 Chrome 中启用。 - -你可能想探索 Chrome 应用店中提供的其他深色或浅色主题。 [访问此页面获取所有深色主题的集合][4]。 - -但是,你应该要记住的一件事是:此主题不会更改设置或上下文菜单,这是显而易见的。因为它只是改变了浏览器窗口,而这些菜单(有时)是操作系统本身的一部分。 - -![Chromium Dark Theme][5] - -Chromium 深色主题 - -对 Google Chrome 浏览器也遵循相同的步骤。 - -#### Edge 浏览器 – 深色模式 - -但是,[Microsoft Edge 浏览器][6]默认带有更好的深色主题。它允许你从设置中使用 GTK+、浅色和深色模式。 - -- 打开 Edge 浏览器 -- 点击右上角的三个小点。 -- 转到外观并选择深色。你应该准备好了。 - -Edge 的这种深色主题实现更好,因为它改变了上下文菜单和地址栏。 - -![Edge in Dark Theme][7] - -深色主题的 Edge - -### 结束语 - -如果你是高级用户,你可能不需要本指南。你可以弄清楚。 - -但我们为所有读者涵盖了所有基础到高级教程。许多新的 Linux 用户可能不知道如何在浏览器中启用深色模式。 - -所以,就是说,我希望这对你和其他人有帮助。如果你遇到任何问题,请在下面的评论框中告诉我。 - ---- - -via: https://www.debugpoint.com/dark-mode-browser/ - -作者:[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/2021/10/Enable-dark-mode-in-Firefox.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2021/10/Firefox-in-Dark-Mode-1024x423.jpg -[3]: https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en-GB -[4]: https://chrome.google.com/webstore/category/collection/dark_themes -[5]: https://www.debugpoint.com/wp-content/uploads/2021/10/Chromium-Dark-Theme-1024x463.jpg -[6]: https://www.debugpoint.com/2020/10/how-to-install-edge-ubuntu-linux/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/10/Edge-in-Dark-Theme-1024x541.jpg From 4f74eeeb92bfa94406f3630b91f424bd4a38cd18 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 8 Nov 2022 12:40:00 +0800 Subject: [PATCH 327/925] RP @MareDevi https://linux.cn/article-15227-1.html --- ...gn system to create new community logos.md | 123 ++++++++++++++++ ...gn system to create new community logos.md | 133 ------------------ 2 files changed, 123 insertions(+), 133 deletions(-) create mode 100644 published/20210426 How we built an open source design system to create new community logos.md delete mode 100644 translated/tech/20210426 How we built an open source design system to create new community logos.md diff --git a/published/20210426 How we built an open source design system to create new community logos.md b/published/20210426 How we built an open source design system to create new community logos.md new file mode 100644 index 0000000000..7aa29a7ef8 --- /dev/null +++ b/published/20210426 How we built an open source design system to create new community logos.md @@ -0,0 +1,123 @@ +[#]: subject: (How we built an open source design system to create new community logos) +[#]: via: (https://opensource.com/article/21/4/ansible-community-logos) +[#]: author: (Fiona Lin https://opensource.com/users/fionalin) +[#]: collector: (lujun9972) +[#]: translator: (MareDevi) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15227-1.html) + +我们如何建立一个开源的设计系统来创造新的社区徽标 +====== + +> 了解 Ansible 的新徽标是如何根据相关人员的意见开发的,以确保整个项目的品牌一致性。 + +![UX design Mac computer with mobile and laptop][1] + +作为红帽的用户体验(UX)设计和 Ansible 产品团队的交互设计师,我们花了大约 6 个月的时间为 Ansible 社区设计了一系列徽标。这件事其实在更早的时候就开始了,当时一位项目经理要求我们为一个幻灯片提供一个 “快速而简单” 的徽标。在收集了一些需求后,我们在几天内就向相关人员展示了一个徽标,而且没有经过太多调整。几个月后,另一个相关人员说他们也需要类似的徽标,所以我们重复了这个过程。 + +于是,我们注意到一个模式:像这样的徽标资源不仅仅代表个人的要求,而是整个 Ansible 项目的共同需要。在完成了几个徽标要求后,我们有了一系列临时的设计,但在没有意识到品牌和设计惯例的情况下,这可能给整个 Ansible 的品牌视觉造成了不一致。随着这个徽标系列的增加,我们认识到了这个迫在眉睫的问题,并需要解决它。 + +我们的解决方案是创建一个 Ansible 设计系统,这是一个针对品牌的资源,可以指导未来一致的徽标设计。 + +### 什么是设计系统? + +设计系统是一个可重复使用的资源和指导方法的集合,有助于告知任何数字产品套件的视觉语言。设计系统创造了一些模式,将独立的产品整合在一起,并通过可扩展性和一致性提升品牌。 + +特别是在一个有多种产品的大公司里,如果没有标准化,扩展起来就不容易,因为不同的团队对每个产品都有贡献。设计系统可以作为每个团队建立新资产的基线。有了标准化的外观和感觉,产品在整个组合中被统一为一个家族。 + +### 从头构建一个设计系统 + +在收到相关人员提出的为 Ansible 开源社区(如 Ansible Builder、Ansible Runner 和Project Receptor)创建徽标的一系列要求后,我们决定为我们的工作流程设计一个结构,并创建一个单一的事实来源,为之努力。 + +首先,我们对现有的徽标进行了视觉审计,以确定我们要做的是什么。Ansible 的原始徽标系列由四个主要图像组成:代表 AWX 的 Angry Spud,代表 Ansible 核心/引擎的 Ansibull,以及代表 AWX 的带翅膀的显示器。大部分的徽标都是用一致的红色阴影和公牛的形象联系在一起的,但是笔画的宽度、笔画的颜色、线条的质量和排版复杂而多样。 + +![Original Ansible logos][2] + +Angry Spud 使用棕褐色的轮廓和手绘风格,而 Ansibull 则是一个对称的几何矢量图。AWX 显示器是一个异类,它有细线画的翅膀,蓝色的矢量矩形,以及古英语字体(这里没有包括在内,但与家族中其他使用现代无衬线的字体相比,它是一个例外)。 + +### 确立新的设计标准 + +考虑到调色板、排版和图像,我们产生了一个一致的构图,以 Ansibull 代表所有核心的 Ansible 产品,以及大胆的线条和充满活力的颜色。 + +![Ansible design system][4] + +新的 Ansible 社区徽标设计风格指南详细说明了 Ansible 产品徽标的调色、排版、尺寸、间距和徽标变化。 + +新的风格指南展示了一种全新的、现代的定制字体,该字体基于瑞士独立字体厂商 [Grilli Type][5] 的 GT America 字体。我们为该字体创造了一个柔和的外观,通过圆润每个字母某些角落来配合图像的圆润度。 + +我们决定通过在光谱中加入更多的颜色并以原色为基础,设计一个更生动、更饱和、更普遍的调色板。新的调色板以浅蓝色、黄色和粉红色为主色调,每种颜色都有较浅的高光和较深的阴影。这种更广泛的颜色范围使系统内有更多的灵活性,并引入了 3D 的外观和感觉。 + +![New Ansible logos][6] + +我们还引入了新的图像,如 Receptor 和 AWX 徽标中的六边形,以保持视觉上的连续性。最后,我们确保每个徽标在浅色和深色背景上都能使用,以获得最大的灵活性。 + +### 拓展设计组合 + +一旦我们建立了核心徽标系列,我们就开始为 Ansible 服务创建徽章,如 Ansible Demo 和 Ansible Workshop。为了将服务与产品区分开来,我们决定将服务图形包围在一个圆圈中,圆圈中包含了相同的定制排版的服务名称。新的服务徽章显示了幼儿版的 Ansibull(来自 Ansible Builder 的徽标)正在完成与每个服务相关的任务,例如 Ansible Demo 指向白板,Ansible Workshop 则使用构建工具。 + +![New Ansible services logos][7] + +### 利用开放源码进行设计决策 + +最初的 AWX 徽标受到了摇滚乐图像的影响,如翅膀和重金属字体(此处省略)。 + +![Original AWX logo][8] + +(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) + +Ansible 社区的一些成员,包括红帽多样性和包容性小组,提请我们注意,这些元素类似于仇恨团体使用的图像。 + +考虑到原徽标的社会影响,我们必须迅速与 Ansible 社区合作,设计一个替代徽标。我们没有像最初的徽标那样闭门造车,而是扩大了项目的范围,仔细考虑了更多的相关人员,包括 Ansible 社区、红帽多样性和包容性小组,以及红帽法律团队。 + +我们开始了头脑风暴,向 Ansible 开源社区征求意见。Ansible 的一位工程师 Rebeccah Hunter 在草图绘制阶段做出了贡献,后来成为我们设计团队中的一员。让一大群相关人员参与进来的挑战之一是,我们对新的徽标概念有了各种各样的想法,比如一条辅助电缆、一碗拉面等等。 + +我们勾画了五个社区贡献的徽标创意,每个徽标都有不同的品牌视觉:一个芽、一个火箭、一个显示器、一碗拉面和一个辅助电缆。 + +![AWX logo concepts][9] + +在完成这些初步的概念草图后,我们建立了一个虚拟的投票机制,并在整个迭代过程中使用。这个投票系统使我们能够利用社区的反馈,从五个初始概念缩小到三个:火箭、一碗拉面和显示器。我们在这三个方向上进一步迭代,并通过专门的 Slack 频道进行反馈,直到我们找到一个符合社区愿景的方向,即 AWX 显示器。 + +![New AWX logo][10] + +以社区的意见为指导,我们围绕显示器为 AWX 打造了徽标概念。我们保留了原徽标中的显示器元素,同时使其外观和感觉现代化,以配合我们更新的设计系统。我们使用了更鲜艳的色调,更简洁的无衬线字体,以及来自 Project Receptor 徽标的元素,包括六角形图案。 + +通过从一开始就与我们的社区接触,我们能够在公开场合进行设计和迭代,所有相关人员都有一种包容感。最后,我们认为这是取代一个有争议的徽标的最好方法。最终的版本被移交给了红帽法律团队,在获得批准后,我们用这个新的徽标替换了所有的现有资产。 + +### 主要收获 + +为设计系统创建一套规则和资源,使你的数字产品全面保持一致,消除品牌混乱,并实现可扩展性。 + +当你探索在自己的社区建立一个设计系统时,你可能会从我们在这条路上学到的这些关键经验中受益: + + * 用设计系统来扩展新的徽标,比没有设计系统要容易得多。 + * 当你使用投票系统来验证结果时,杂乱无章的设计方案就会变得不那么令人生畏。 + * 将大量受众的注意力引向三套方案,可以消除决策疲劳,集中社区反馈。 + +我们希望这篇文章能够提供用于开源社区的设计系统的启示,并帮助你认识到在早期开发一个系统的好处。如果你正在创建一个新的设计系统,你有什么问题?如果你已经创建了一个,你学到了什么教训?请在评论中分享你的想法。 + +*(图像来自:Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3])* + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/4/ansible-community-logos + +作者:[Fiona Lin][a] +选题:[lujun9972][b] +译者:[MareDevi](https://github.com/MareDEvi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/fionalin +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ux-design-mac-laptop.jpg?itok=9-HKgXa9 (UX design Mac computer with mobile and laptop) +[2]: https://opensource.com/sites/default/files/pictures/original_logos.png (Original Ansible logos) +[3]: https://creativecommons.org/licenses/by-sa/4.0/ +[4]: https://opensource.com/sites/default/files/pictures/design_system.png (Ansible design system) +[5]: https://www.grillitype.com/ +[6]: https://opensource.com/sites/default/files/pictures/new_logos.png (New Ansible logos) +[7]: https://opensource.com/sites/default/files/pictures/new_service_badges.png (New Ansible services logos) +[8]: https://opensource.com/sites/default/files/uploads/awx_original.png (Original AWX logo) +[9]: https://opensource.com/sites/default/files/uploads/awx_concepts.png (AWX logo concepts) +[10]: https://opensource.com/sites/default/files/uploads/awx.png (New AWX logo) diff --git a/translated/tech/20210426 How we built an open source design system to create new community logos.md b/translated/tech/20210426 How we built an open source design system to create new community logos.md deleted file mode 100644 index ed562d462c..0000000000 --- a/translated/tech/20210426 How we built an open source design system to create new community logos.md +++ /dev/null @@ -1,133 +0,0 @@ -[#]: subject: (How we built an open source design system to create new community logos) -[#]: via: (https://opensource.com/article/21/4/ansible-community-logos) -[#]: author: (Fiona Lin https://opensource.com/users/fionalin) -[#]: collector: (lujun9972) -[#]: translator: (MareDevi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -我们如何建立一个开源的设计系统来创造新的社区Logo -====== -了解Ansible的新logo是如何根据股东的意见开发以确保整个项目的品牌一致性。(确保整个项目有一个统一的品牌) -![UX design Mac computer with mobile and laptop][1] - -作为红帽的用户体验(UX)设计和Ansible产品团队的交互设计师,我们花了大约6个月的时间为Ansible社区建立了一系列logo。 这段旅程开始得很早,当时一位项目经理要求我们为一个幻灯片提供一个 "快速而简单 "的标志。在收集了一些需求后,我们在几天内就向股东展示了一个标志,而且不需要太多迭代。几个月后,另一个股东决定他们也将从材料的图像中受益,所以我们重复了这个过程。 - -在这一点上,我们注意到一个模式:像这样的logo资源不再代表个人的要求,而是整个Ansible项目的共同需要。在完成了几个logo要求后,我们设计了一个临时的系列,但在没有意识到品牌和设计惯例的情况下,造成了整个Ansible品牌的视觉不一致的可能性。随着logo系列的增加,我们认识到了这个迫在眉睫的问题,并需要解决它。 - -我们的解决方案是创建一个Ansible设计系统,这是一个针对品牌的资源,可以指导未来一致的标志设计。 - -### 什么是设计系统? - -设计系统是一个可重复使用的资源和指导方法的集合,有助于告知任何数字产品套件的视觉语言。设计系统创造了一些模式,将独立的产品整合在一起,并通过可扩展性和一致性提升品牌。 - -特别是在一个有多种产品的大公司里,如果没有标准化,扩展起来就不容易,因为不同的团队对每个产品都有贡献。设计系统可以作为每个团队建立新资产的基线。有了标准化的外观和感觉,产品在整个组合中被统一为一个家族。 - -### 开始构建一个设计系统 - -在收到股东提出的为开源Ansible社区(如Ansible Builder、Ansible Runner和Project Receptor)创建logo的一系列要求后,我们决定为我们的工作流程设计一个结构,并创建一个单一的事实来源,为之努力。 - -首先,我们对现有的logo进行了视觉审计,以确定我们要做的是什么。 Ansible的原始logo系列由四个主要图像组成:代表AWX的Angry Spud,代表Ansible Core/Engine的Ansibull,以及代表AWX的带翅膀的显示器。 大部分的标志都是用一致的红色阴影和公牛的形象联系在一起的,但是笔画的宽度、笔画的颜色、线条的质量和排版都是庞大而多样的。 - -![Original Ansible logos][2] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -愤怒的飞毛腿使用棕褐色的轮廓和手绘风格,而公牛则是一个对称的几何矢量。AWX显示器是一个异类,它有细线画的翅膀,蓝色的矢量矩形,以及古英语字体(这里没有包括在内,但与家族中其他使用现代无衬线的字体相比,它是一个例外)。 - -### 确立新的设计标准 - -考虑到调色板、排版和图像,我们产生了一个一致的构图,以Ansibull为特色的所有核心Ansible产品,以及大胆的线条和充满活力的颜色。 - -![Ansible design system][4] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -新的Ansible社区logo设计风格指南详细说明了Ansible产品logo的调色、排版、尺寸、间距和logo变化。 - -新的风格指南展示了一种全新的、现代的定制字体,该字体基于瑞士独立字体铸造厂[Grilli Type][5]的GT America。我们为该字体创造了一个柔和的外观,通过使每个字母的圆角来配合图像的圆润度。 - -我们决定通过在光谱中加入更多的颜色并以原色为基础,设计一个更生动、更饱和、更普遍的调色板。新的调色板具有浅蓝色、黄色和粉红色,每种颜色都有较浅的高光和较深的阴影。这种更广泛的颜色范围使系统内有更多的灵活性,并引入了3D的外观和感觉。 - -![New Ansible logos][6] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -我们还引入了新的图像,如Receptor和AWXlogo中的六边形,以保持视觉上的连续性。最后,我们确保每个logo在浅色和深色背景上都能使用,以获得最大的灵活性。 - -### 拓展设计组合 - -一旦我们建立了核心logo系列,我们就开始为Ansible服务创建徽章,如Ansible Demo和Ansible Workshop。为了将服务与产品区分开来,我们决定将服务图形包围在一个圆圈中,圆圈中包含了相同的定制排版的服务名称。新的服务徽章显示了幼儿Ansibull(来自Ansible Builder的标志)正在完成与每个服务相关的任务,例如Ansible Demo指向白板,Ansible Workshop则使用构建工具。 - -![New Ansible services logos][7] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -### 利用开放源码进行设计决策 - -最初的AWX标志受到了摇滚乐图像的影响,如翅膀和重金属字体(此处省略)。 - -![Original AWX logo][8] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -Ansible社区的一些成员,包括红帽多样性和包容性小组,提请我们注意,这些元素类似于仇恨组织使用的图像。 - -考虑到原logo的社会影响,我们必须迅速与Ansible社区合作,设计一个替代logo。我们没有像最初的logo那样在一个孤岛上工作,而是扩大了项目的范围,仔细考虑了更多的利益相关者,包括Ansible社区、红帽多样性和包容性小组,以及红帽法律团队。 - -我们开始了头脑风暴,向Ansible开源社区征求意见。Ansible的一位工程师Rebeccah Hunter在草图绘制阶段做出了贡献,后来成为我们设计团队中的一员。让一大群股东参与进来的挑战之一是,我们对新的标志概念有各种各样的想法,从一条辅助电缆到一碗拉面。 - -我们勾画了五个社区外部的logo,每个标识都有不同的品牌视觉:一个豆芽、一个火箭、一个显示器、一碗拉面和一个辅助电缆。 - -![AWX logo concepts][9] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -在完成这些初步的概念草图后,我们建立了一个虚拟的投票机制,并在整个迭代过程中使用。这个投票系统使我们能够利用社区的反馈,从五个初始概念缩小到三个:火箭、一碗拉面和显示器。我们在这三个方向上进一步迭代,并通过专门的Slack频道进行反馈,直到我们找到一个符合社区愿景的方向,即AWX显示器。 - -![New AWX logo][10] - -(Fiona Lin and Taufique Rahman, [CC BY-SA 4.0][3]) - -以社区的意见为指导,我们为AWX追求显示器的logo概念。我们保留了原logo中的显示器元素,同时使其外观和感觉现代化,以配合我们更新的设计系统。我们使用了更鲜艳的色调,更简洁的无衬线字体,以及来自Project Receptor logo的元素,包括六角形图案。 - -通过从一开始就与我们的社区接触,我们能够在公开场合进行设计和迭代,所有股东都有一种包容感。最后,我们认为这是取代一个有争议的logo的最好方法。最终的版本被移交给了红帽法律团队,在获得批准后,我们用这个新的logo替换了所有的现有资产。 - -### 主要收获 - -为设计系统创建一套规则和资源,使你的数字产品全面保持一致,消除品牌混乱,并实现可扩展性。 - -在你探索与你自己的社区建立一个设计系统时,你可能会从我们在这条路上学到的这些关键经验中受益: - - * 用设计系统来扩展新的标识,比没有设计系统要容易得多。 - * 当你使用投票系统来验证结果时,杂乱无章的设计方案就会变得不那么令人生畏。 - * 将大量群众的注意力引向多组,消除决策疲劳,集中社区反馈。 - - - -我们希望这篇文章能够为设计一个具有开放源码社区的系统提供启示,并帮助你认识到在早期开发系统的好处。如果你正在创建一个新的设计系统,你有什么问题?如果你已经创建了一个,你学到了什么教训?请在评论中分享你的想法。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/4/ansible-community-logos - -作者:[Fiona Lin][a] -选题:[lujun9972][b] -译者:[MareDevi](https://github.com/MareDEvi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/fionalin -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ux-design-mac-laptop.jpg?itok=9-HKgXa9 (UX design Mac computer with mobile and laptop) -[2]: https://opensource.com/sites/default/files/pictures/original_logos.png (Original Ansible logos) -[3]: https://creativecommons.org/licenses/by-sa/4.0/ -[4]: https://opensource.com/sites/default/files/pictures/design_system.png (Ansible design system) -[5]: https://www.grillitype.com/ -[6]: https://opensource.com/sites/default/files/pictures/new_logos.png (New Ansible logos) -[7]: https://opensource.com/sites/default/files/pictures/new_service_badges.png (New Ansible services logos) -[8]: https://opensource.com/sites/default/files/uploads/awx_original.png (Original AWX logo) -[9]: https://opensource.com/sites/default/files/uploads/awx_concepts.png (AWX logo concepts) -[10]: https://opensource.com/sites/default/files/uploads/awx.png (New AWX logo) From 92d891f1f8570ab1f01d8c759f48f85d3128b1fb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 8 Nov 2022 15:36:42 +0800 Subject: [PATCH 328/925] ALL @wxy https://linux.cn/article-15228-1.html --- ...️ Xfce 4.18 Top New Features & Release Guide.md | 163 ++++++++++++++++++ ...️ Xfce 4.18 Top New Features & Release Guide.md | 163 ------------------ 2 files changed, 163 insertions(+), 163 deletions(-) create mode 100644 published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md delete mode 100644 sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md diff --git a/published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md b/published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md new file mode 100644 index 0000000000..a83182981f --- /dev/null +++ b/published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md @@ -0,0 +1,163 @@ +[#]: subject: "Xfce 4.18: Top New Features & Release Guide" +[#]: via: "https://www.debugpoint.com/xfce-4-18-features/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15228-1.html" + +前瞻:Xfce 4.18 主要新功能 +====== + +> 有关 Xfce 4.18 的核心和原生应用程序的功能的全面介绍。 + +经过近两年的开发,Xfce 4.18 将在 2022 年圣诞节期间发布。作为 [Xfce 4.16][1] 以来的重要的版本,其一直在开发标签 4.17 下进行开发,以增强这个轻量级桌面。 + +考虑到 GTK4 的更新、初步的 Wayland 支持,以及核心和本地应用程序的改进,Xfce 4.18 是一个重要的里程碑版本,其带来了大量更新。 + +从发布时间来看,第一个 Xfce 4.18 预发布版(pre1)已经发布。2022 年 12 月的第一周会有另一个预发布版。而 Xfce 4.18 的最终版本预计将在 2022 年 12 月 15 日至 12 月 29 日之间发布。 + +由于目前还没有官方的详细介绍,我在这篇文章中总结了 Xfce 4.18 的基本和主要功能。 + +请继续阅读。 + +![Xfce 4.18 pre1 (compiled in Arch)][2] + +### Xfce 4.18 的新功能 + +#### 1、核心库更新 + +Xfce 4.18 的依赖关系有所改变,并使用以下版本进行编译: + +- glib-2.0 >= 2.66 +- gtk >= 3.24 +- libcairo >= 1.16 +- gdk-pixbuf-2.0 >= 2.40 +- gobject-introspection >= 1.66 + +#### 2、桌面和面板 + +顶部的主面板带来了新的设置和调整。但整体外观仍与以前的 4.16 版本中的一样。一些默认的面板小程序在这个版本中也有变化。桌面图标、右键上下文菜单和项目保持不变。 + +面板的首选项设置有两个新的选项。首先,面板的长度现在以**像素**设置,而不是百分比。其次,一个新的选项,“保持面板在窗口上方Keep panel above windows” ,可以让你将窗口对话放到面板后面。之前,应用程序的窗口只能达到面板的边缘。 + +![Xfce 4.18 中的面板首选项][3] + +彻底修改了时钟小程序的设置。是的,你终于可以改变 Xfce 时钟小程序的字体风格。与此同时,它提供了四种时钟布局: + +- 只有日期 +- 只有时间 +- 日期和时间 +- 时间和日期 + +此外,你还可以向日历中添加命令。 + +![终于你可以改变 Xfce 时钟小程序的字体了][4] + +#### 3、Thunar 文件管理器 + +也许这个版本中最令人兴奋的变化是 Thunar 文件管理器的功能。首先,一个新的“搜索”图标取代了工具栏上的“重新加载”按钮。当点击时,它会在地址栏上出现搜索,可以使用你的搜索关键词进行递归搜索。重新加载按钮被放到了 “查看View” 菜单中。 + +其次,在左边的导航栏上增加了一个的新项目,“最近Recent”。在底部,元数据更有条理(从逗号分隔改为竖线分隔),还有一个新的上下文菜单项可以选择你想要显示的元数据。 + +![Thunar 4.18 的视觉变化][5] + +Thunar 的主菜单有很多变化。下面列出了主要的变化。在下面的图片中还标注了自 4.16 以来的变化。 + +- 引入了一个**新的书签菜单**,可以将当前文件夹作为快捷方式添加到侧边栏。 +- “编辑Edit”菜单有了 “撤销undo” 和 “重做redo” 选项。 +- “前往Go” 菜单有了 “最近Recent” 和 “搜索Search” 的选项。 + +Thunar 首次通过 “视图View”菜单项有了“分割视图Split view”! 是的,你现在可以在视图面板中拖放项目。 + +前不久,我 [报道][6] 说图像预览即将在 Thunar 中出现。而它终于来了。作为谷歌代码之夏 2022 的部分开发成果,你现在可以嵌入在侧边栏中看到图片预览。或者在右边的一个独立的新面板上查看。它可以通过偏好设置来改变。 + +下面是它的外观。 + +![带有独立图像预览的 Thunar 分割视图][7] + +![嵌入图像预览的 Thunar 分割视图][8] + +#### 4、Thunar 的首选项 + +Thunar 设置中出现了大量调整。首先,一个新的选项卡可以为 Thunar 定制你的键盘快捷键。你可以直接指定新的快捷键组合,并从这个选项卡中改变现有的快捷键组合。 + +![Thunar 的新快捷键标签][9] + +“显示Display” 设置中新增了一个缩略图部分,你现在可以指定缩略图的文件大小。缩略图的具体设置也被归为一组。 + +![4.18 版的 Thunar 显示设置][10] + +“侧面板Side Pane” 选项卡有了一个新的图像预览选项,你在上面看到过。你可以设置为嵌入式或独立式预览。此外,“行为 Behaviour” 选项卡增加了 “启动时恢复选项卡restore tabs on startup” 和在选项卡标题中显示 “完整的目录路径full directory path” 的选项,这将有很大帮助。 + +“高级Advanced” 选项卡为 “文件传输File Transfer” 提供了一个新的设置部分,有两个新的选项:“中间文件复制Intermediate file copy”和“验证校验和Verify checksum”。此外,在这个选项卡中还增加了一个新的递归搜索的选项。你还可以通过以下选项将 Thunar 设置为直接 “执行 Shell 脚本Execute Shell script”。 + +![Thunar 4.18 的高级选项][11] + +除了上述变化外,文件夹属性对话框现在可以显示文件和文件夹的数量。另外,一个新的高亮选项使你能够为你的文件夹图标背景和前景选择任何自定义颜色。如果你有一个复杂的文件夹结构,这将使你能够快速导航。 + +下面是它的外观。 + +![文件夹高亮演示][12] + +#### 设置 + +“外观Appearances” 设置现在允许你打开和关闭对话框的标题栏。 + +“桌面Desktop” 设置允许文件上下文菜单中的删除选项(打开或关闭)。 + +“显示Display” 设置现在允许你为多种显示情况设置默认值:镜像、扩展显示还是什么都不做。早些时候,这些选项在显示器被连接时才可用。 + +#### Wayland 和其他更新 + +除了上述 Xfce 4.18 的功能外,窗口管理器和桌面还有许多额外的错误修复和性能改进。这些都是在底层的,你应该能感受到一个更精良的 Xfce 桌面体验。 + +Xfce 桌面核心和原生应用程序的 Wayland 迁移工作开始了。离它完全准备好还有很长的路要走。在这个版本中,你可能不会看到很多 Wayland 的更新。然而,许多应用程序在 Wayland 下已经可以正常工作了。你可以在 [本页][13] 了解更多关于迁移状态的信息。 + +### 下载及什么时候出现在发行版 + +Xfce 4.18 应该会在 2023 年 4 月进入 Ubuntu 23.04 Lunar Lobster,并在 Fedora 38 中出现。基于滚动发布的发行版,如 Arch Linux、Manjaro 和 OpenSUSE Tumbleweed 应该会在 2022 年 12 月发布后的几天内得到它。轻量级的流行发行版 [MX Linux][14] 应该在 2023 年采用这个版本,这个时候也是 Debian Bookworm 更新的时候。 + +Xfce 4.18 的第一个预发布版本 [现已发布][15]。你可以从下面的页面下载源码压缩包,并编译它们。请参考官方的 [编译指南][16]。 + + > **[下载 Xfce 4.18 源代码(pre1)][17]** + +### 总结 + +总的来说,变化的数量巨大。许多核心变化和需要的变化都进入了这个版本。Thunar 文件管理器的更新是早该进行的,对于 Xfce 的爱好者来说应该是完美的。 + +随着 Wayland 的支持,未来的 Xfce 版本可能会带来一个可行的 Xfce 版本。Wayland 的支持仍在进行中,每个组件都有许多决定有待作出。许多发行版和关键部署仍然喜欢 Xfce 而不是 KDE Plasma 或 GNOME。考虑到这些用例和未来的路线图,Xfce 4.18 是下一个版本之前的一个重要的里程碑。 + +列表中你最喜欢的功能是什么?请在评论栏里告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/xfce-4-18-features/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/xfce-4-16-review/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Xfce-4.18-pre1-compiled-in-Arch-1024x594.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Panel-preferences-in-Xfce-4.18.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Finally-you-can-change-the-font-of-Xfce-Clock-applet.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-4.18-visual-changes.jpg +[6]: https://debugpointnews.com/thunar-image-preview/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-embedded-image-preview.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-sidebar-image-preview.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/11/New-shortcut-tab-in-Thunar.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-Display-Settings-in-4.18.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/11/Advanced-options-of-Thunar-4.18.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/11/Folder-highlight-demo.jpg +[13]: https://wiki.xfce.org/releng/wayland_roadmap +[14]: https://www.debugpoint.com/tag/mx-linux +[15]: https://www.reddit.com/r/xfce/comments/yjiwwv/announce_xfce_418pre1_released/ +[16]: https://docs.xfce.org/xfce/building +[17]: https://archive.xfce.org/xfce/4.18pre1/fat_tarballs diff --git a/sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md b/sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md deleted file mode 100644 index 1e16d2a91d..0000000000 --- a/sources/news/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md +++ /dev/null @@ -1,163 +0,0 @@ -[#]: subject: "Xfce 4.18: Top New Features & Release Guide" -[#]: via: "https://www.debugpoint.com/xfce-4-18-features/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Xfce 4.18: Top New Features & Release Guide -====== - -**A comprehensive guide of Xfce 4.18 features across core & native apps.** - -After almost two years of development, Xfce 4.18 will be released during Christmas 2022. Coming as a major release since [Xfce 4.16][1], the development was going on to enhance this lightweight desktop under the development tag 4.17. - -Xfce 4.18 is a significant milestone considering GTK4 updates, initial Wayland support and revamp of core native apps. The volume of updates is massive. - -Release-wise, the first Xfce 4.18 pre-release (pre1) is now out. There shall be another pre-release in the first week of December 2022. And the Xfce 4.18 final release is expected between December 15 and December 29, 2022. - -Since there is no official detailed write-up yet, I have summarised this article with essential and major Xfce 4.18 features. - -Read on. - -![Xfce 4.18 pre1 (compiled in Arch)][2] - -### Xfce 4.18: New Features - -#### 1. Core library updates - -The dependencies of Xfce 4.18 is changed and compiled using the following versions. - -- glib-2.0 >= 2.66 -- gtk >= 3.24 -- libcairo >= 1.16 -- gdk-pixbuf-2.0 >= 2.40 -- gobject-introspection >= 1.66 - -#### 2. Desktop and Panel - -The primary top panel brings new settings and tweaks. But the overall look remains the same as before in the 4.16 version. Some default Panel applets are also changing in this version. The desktop icons, right-click context menu, and items remain unchanged. - -Panel preference gets two new options. Firstly, the length of the Panel is **now in pixels** rather than in percentages. Secondly, a new option, **“Keep panel above windows”**, helps you to send back window dialogues behind the panel. Earlier the app windows could only reach up to the panel edge. - -![Panel preferences in Xfce 4.18][3] - -The clock applet settings are overhauled. Yes, finally, you can change the font style in the Xfce clock applet. Along with that, four clock layout arrives – - -- date only -- time only -- date and time -- time and date - -In addition, you can also add commands to Calendar. - -![Finally you can change the font of Xfce Clock applet][4] - -#### 3. Thunar File manager - -Perhaps, the most exciting change in this release is the features in the Thunar file manager. Firstly, a new **search icon replaces the reload button in the toolbar**. When clicked, it brings up the search at the address bar, it does a recursive search with your search keyword. The reload button goes to the View menu. - -Secondly, a **new item, “Recent”,** is added on the left navigation bar. At the bottom, the metadata is more organized (from comma separated to pipe separated), and a new context menu item to select your desired option. - -![Thunar 4.18 visual changes][5] - -The main menu of Thunar gets many changes. Here is a list of significant ones. Also marked in the following images is what has changed since 4.16. - -- A **new bookmark menu** is introduced, adding the current folder to the sidebar as a shortcut. -- The Edit menu gets **UNDO and REDO** options. -- Go menu gets Recent and search for the file option. - -Thunar gets the **Split view** via the View menu item for the first time! Yes, you can now drag & drop items in the view panels. - -A while back, I [reported][6] that the image preview was arriving in Thunar. And it’s finally here. Developed part of Google Summer of Code 2022, you can now see the image preview in the sidebar embedded. Or at a new panel at the right as a standalone mode. It can be changed via preferences. - -Here’s how it looks. - -![Thunar split view with standalone image preview][7] - -![Thunar split view with embedded image preview][8] - -#### 4. Thunar Preferences - -A significant number of tweaks arrive in Thunar settings. Firstly, a new tab with the option to customize your keyboard shortcuts for Thunar. You can directly assign new keyboard combinations and change the existing ones from this tab. - -![New shortcut tab in Thunar][9] - -The display settings get a new section for Thumbnails where you can now specify the file size for Thumbnails. And the Thumbnail specific settings are grouped together. - -![Thunar Display Settings in 4.18][10] - -The Side Pane tab gets a new option for image preview, which you saw above. You can change the settings to embedded or standalone preview. Furthermore, the Behaviour tab gets the option to **restore tabs on startup** and show the **full directory path** in tab titles, which will help insanely. - -The Advanced tab gets a new settings section for File transfer with two new options to **intermediate file copy & verify the**checksum. In addition, a new option for recursive search is also added in this tab. You can also set Thunar to **execute** the **Shell script directly** via the following option. - -![Advanced options of Thunar 4.18][11] - -In addition to the above changes, the folder properties dialogue now show you the **count of file and folders**. Also, a new highlight option enables you to choose any **custom colour** for your folder icon background and foreground. This will allow you to navigate if you have a complex folder structure quickly. - -Here’s how it looks. - -![Folder highlight demo][12] - -#### Settings - -- Appearances settings now allow you to turn on and off the header bar in dialogs. - -- Desktop settings allow the Delete option in the file context menu (on or off) - -- Display settings now allow you to set a default for multiple display situations – whether to mirror, extend the display or do nothing. Earlier, the options were available when displays were connected. - -#### Wayland and other updates - -In addition to the above Xfce 4.18 features, many additional bug fixes and performance improvements have arrived for the window manager and desktop. Those are all under the hood, and you should feel a more polished Xfce desktop experience. - -Wayland migration work for Xfce desktop core and native apps started. It’s a long way until it is fully ready. In this release, you may not get much of Wayland updates. However, many apps already work fine under Wayland. You can learn more about the migration status on [this page][13]. - -### Download & Distro Availability - -Xfce 4.18 should make it to Ubuntu 23.04 Lunar Lobster on April 2023 and in Fedora 38. Rolling release-based distros such as Arch Linux, Manjaro and OpenSUSE Tumbleweed should get it within a few days of its release on December 2022. Lightweight and popular distro [MX Linux][14] should feature this version in 2023 while refreshing itself for Debian Bookworm. - -The first pre-release of Xfce 4.18 is [now out][15]. You can download the source tar balls from the below page and compile them. Refer to the official [compilation guide][16]. - -[Download Xfce 4.18 source (pre1)][17] - -### Closing Notes - -Overall, the number of changes is massive. Many core changes and needed ones made it to this release. The Thunar file manager updates were long-due and should be perfect for Xfce lovers. - -With Wayland’s support, the future Xfce release might bring a workable version of Xfce. The Wayland support is still in progress, and many decisions are pending for each component. Many distributions and critical deployments still prefer Xfce over KDE Plasma or GNOME. Considering those use cases and future roadmap, Xfce 4.18 is a major stepping stone before the next release. - -What is your favourite feature in the list? Let me know in the comment box. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/xfce-4-18-features/ - -作者:[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/xfce-4-16-review/ -[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Xfce-4.18-pre1-compiled-in-Arch-1024x594.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Panel-preferences-in-Xfce-4.18.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Finally-you-can-change-the-font-of-Xfce-Clock-applet.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-4.18-visual-changes.jpg -[6]: https://debugpointnews.com/thunar-image-preview/ -[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-embedded-image-preview.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-split-view-with-sidebar-image-preview.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2022/11/New-shortcut-tab-in-Thunar.jpg -[10]: https://www.debugpoint.com/wp-content/uploads/2022/11/Thunar-Display-Settings-in-4.18.jpg -[11]: https://www.debugpoint.com/wp-content/uploads/2022/11/Advanced-options-of-Thunar-4.18.jpg -[12]: https://www.debugpoint.com/wp-content/uploads/2022/11/Folder-highlight-demo.jpg -[13]: https://wiki.xfce.org/releng/wayland_roadmap -[14]: https://www.debugpoint.com/tag/mx-linux -[15]: https://www.reddit.com/r/xfce/comments/yjiwwv/announce_xfce_418pre1_released/ -[16]: https://docs.xfce.org/xfce/building -[17]: https://archive.xfce.org/xfce/4.18pre1/fat_tarballs From eb1546b2bd834adb40e3007c6dd9e9a473ee1f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:08:40 +0800 Subject: [PATCH 329/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221108.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ap?= =?UTF-8?q?t++=20Nala=20is=20Like=20Apt=20in=20Ubuntu=20but=20Better.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Apt++ Nala is Like Apt in Ubuntu but Better.md | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 sources/tech/20221108.0 ⭐️⭐️ Apt++ Nala is Like Apt in Ubuntu but Better.md diff --git a/sources/tech/20221108.0 ⭐️⭐️ Apt++ Nala is Like Apt in Ubuntu but Better.md b/sources/tech/20221108.0 ⭐️⭐️ Apt++ Nala is Like Apt in Ubuntu but Better.md new file mode 100644 index 0000000000..2b0bbdd5c5 --- /dev/null +++ b/sources/tech/20221108.0 ⭐️⭐️ Apt++ Nala is Like Apt in Ubuntu but Better.md @@ -0,0 +1,172 @@ +[#]: subject: "Apt++? Nala is Like Apt in Ubuntu but Better" +[#]: via: "https://itsfoss.com/nala/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Apt++? Nala is Like Apt in Ubuntu but Better +====== + +For decades Debian and Ubuntu users [used apt-get commands][1]. When its simpler form apt was released, people liked how it showed a progress bar while installing packages. + +Irrespective of the progress bar, the packages get installed the same with apt-get and apt commands. + +But the progress bar enhances the user experience (UX) and today if I don’t see the green progress bar at the bottom, I feel something is amiss. + +Why am I telling you all this? Because I got an [apt-get vs apt][2] feeling when I used [Nala][3], a Python-based front end for APT. + +Take a look at a screenshot of [apt package upgrade][4] in progress with nala. + +![installing packages using nala][5] + +Like apt enhanced the user experience from apt-get, nala takes it to the next level by making it more human-readable and presenting only the relevant info with beautiful colors. + +But Nala does a lot more than adding colors to the terminal. + +### Nala: An enhanced, user-friendly tool for managing apt packages + +![using nala to remove packages][6] + +As you can see, It brought the list of packages that will be affected by the command I executed. And it presented only relevant info with beautiful colors. + +This is only one of the core features of Nala. Here are others: + +- Parallel downloads. +- Checks for the fastest mirrors and uses the fastest 3 by default to speed up downloads. +- Each command you execute will be stored as Nala history with a unique ID. +- Compatible with Fish and Zsh. +- Makes Apt more human-readable than ever. + +Sounds interesting? Let’s see how you can install and use it. + +### Installing Nala in Ubuntu 22.04 and higher + +Starting with 22.04, Nala is present in the universe repository of Ubuntu. So, the installation process is going to be one command only: + +``` +sudo apt install nala +``` + +For older versions, refer to the [official wiki][7] for installation instructions. + +### Using Nala in Ubuntu + +Using Nala is fairly simple as it follows almost the same command structure as apt. This means that you just have to interchange apt with nala in every command. + +For example, you can update repositories with Nala using this command: + +``` +sudo nala update +``` + +![sudo nala update][8] + +Similarly, to install a package: + +``` +sudo nala install package_name +``` + +And the package can be removed using: + +``` +sudo nala remove package_name +``` + +That’s elementary. Let’s see about using other interesting features I mentioned earlier. + +#### Fetch the fastest mirrors in Nala + +To fetch the fastest mirrors, you’d need to utilize the `fetch` utility. First, it will determine whether you are using Debian or Ubuntu and then list the fastest mirrors: + +``` +sudo nala fetch +``` + +![sudo nala fetch][9] + +And as you can see, I kept the top 4 fastest mirrors by separating them with their index number. Once you select them and press enter, it will show the summary: + +![saving fastest mirrors for nala][10] + +Press `Y` and it will save changes. Now, update Nala to take effect: + +``` +sudo nala update +``` + +#### Use transactional history + +This is the interactive way you list and use the history command inspired by the DNF history utility. + +You have to pair `history` with the nala command, and it will bring previously executed commands with relevant info: + +``` +nala history +``` + +![nala history][11] + +You can use an ID with `nala history` and it will get you the details of the specific operation. For example, if I want to have details of what it did while installing curl, I’d have to use ID no 9: + +``` +nala history info 9 +``` + +![nala history info 9][12] + +But that’s not it. You can alter the effect of a command using history. For example, I installed curl, so I can alter the effect (will remove the software) using the given command: + +``` +sudo nala history undo 9 +``` + +![sudo nala history undo 9][13] + +And you can redo the command from history using its ID. For example, I installed curl (ID = 9) previously, and if I want to do the same again, I have to use `redo` : + +``` +sudo nala history redo 9 +``` + +![sudo nala history redo 9][14] + +### Wrapping Up + +I understand that the apt command works fine. And I am not suggesting that everyone should replace apt with nala. It’s just good to see projects like these to focus on user experience. + +They are clearly inspired by the DNF package manager of Fedora and that’s not a bad thing. The apt developers can also take some hints and add similar features in future. + +For now, please share in the comments whether you liked nala or not. And if you liked it, will you use it extensively in place of [apt commands][15]? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/nala/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/apt-get-linux-guide/ +[2]: https://itsfoss.com/apt-vs-apt-get-difference/ +[3]: https://gitlab.com/volian/nala +[4]: https://itsfoss.com/apt-update-vs-upgrade/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/installing-packages-using-nala-1.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/using-nala-to-remove-packages.png +[7]: https://gitlab.com/volian/nala/-/wikis/Installation +[8]: https://itsfoss.com/wp-content/uploads/2022/11/sudo-nala-update.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/sudo-nala-fetch.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/saving-fastest-mirrors-for-nala.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/nala-history.png +[12]: https://itsfoss.com/wp-content/uploads/2022/11/nala-history-info-9.png +[13]: https://itsfoss.com/wp-content/uploads/2022/11/sudo-nala-history-undo-9.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/sudo-nala-history-redo-9.png +[15]: https://itsfoss.com/apt-command-guide/ From 95bbf97cf17696ab9436dab0e8a5d92bc5dbf275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:09:34 +0800 Subject: [PATCH 330/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221108.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?at=20stickers=20are=20on=20your=20laptop.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1 ⭐️⭐️ What stickers are on your laptop.md | 272 ++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 sources/talk/20221108.1 ⭐️⭐️ What stickers are on your laptop.md diff --git a/sources/talk/20221108.1 ⭐️⭐️ What stickers are on your laptop.md b/sources/talk/20221108.1 ⭐️⭐️ What stickers are on your laptop.md new file mode 100644 index 0000000000..757bb09bfc --- /dev/null +++ b/sources/talk/20221108.1 ⭐️⭐️ What stickers are on your laptop.md @@ -0,0 +1,272 @@ +[#]: subject: "What stickers are on your laptop?" +[#]: via: "https://opensource.com/article/22/11/laptop-stickers" +[#]: author: "AmyJune Hineline https://opensource.com/users/amyjune" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What stickers are on your laptop? +====== + +Your laptop is a blank canvas ready to be decorated with self-expression. What are your favorite stickers? Take our poll and then read what other open source enthusiasts had to say. + +Having just switched work laptops last December, I realized how much I love applying stickers to my work machines. Sometimes the stickers are souvenirs from past events, others are from projects that I am passionate about, and some are just for fun! + +Curious to know what others had on their laptops, I asked! + +### Accessibility advocate + +![AMyJune's laptop with lots of Drupal stickers][1] + +Here is my work laptop (Can you tell my roots are in Drupal). My favorite decal is the Druplicon with the wheelchair... When [Drupal 8 came out, we took the logo][2] and blended it with the wheelchair because the agency I worked with focused on accessibility. + +—[AmyJune Hineline][3] + +### Fresh Java + +![Alan Formy-Duval's laptop with various linux decals][4] + +I have always had stickers on my computers and stuff since I was a kid. I think my favorite is either Tux or the Linux Inside. They are mostly field-relevant except for just a few.  In the bottom-right corner, I have Java running on Tomcat (haha) - an area I spent much of my career doing. + +—[Alan Formy-Duval][5] + +### Utilitarian purpose + +![Rikard Grossman-Nielsen's laptop with two velcro strips glued on][6] + +Well, I don't have any stickers. However, I've glued Velcro bands on my two laptops to secure my external hard drive for when I'm gaming on the bus. I have also glued a lock notch on. + +—[Rikard Grossman-Nielsen][7] + +### Maintain the look + +![John 'Warthog9' Hawley's laptop with a mix of decals][8] + +Not the most decorated laptop by far, but I like the collection (and you know, hard to get more without travel for a while!) + +My favorite is the "last one to commit is the maintainer". It's a snarky comment on the state of maintainership, as well as a promise that the code will live on as a result. + +Mostly it boils down to things I use or contribute to, think are meaningful, or just found the sticker awesome. + +—[John 'Warthog9' Hawley][9] + +### Window covering + +I never put stickers on my laptop because it seems to me the only really cool stickers are the ones I don't have (said the grumpy old man.) +But the old homebrew computer my kids used to use in high school, a 3GHz Core Duo with 8 GB of memory, has an Open Mainframe sticker on it that I grabbed at the Linux Foundation Open Source Summit here in Vancouver a few years ago. I quite like that one. +And because in my life, the **Control** key lives next to the **A**, not down on the bottom row, I have a few keyboards around with a **CTRL** sticker on the CapsLock key and a **CAPS** sticker on the **Control** key, which work together with the [swap Ctrl and CapsLock option in GNOME Tweak Tool][10]. +Finally, I used to peel off Windows stickers, back when my only option was buying computers and paying the Windows tax, and put Linux sticker over the gummy patch. Same with keyboards that had the Windows logo on the Super key. + +—[Chris Hermansen][11] + +### Mementos + +![StrangeMama's laptop with a Kanopi sticker and various other decals][12] + +The Kanopi sticker is by far my favorite sticker. Not only is it shiny and iridescent, but it's a constant reminder of how amazing this company is to work for. They seriously put their employees first, and they're super mindful in selecting client projects that align with Kanopi's overall company mission and vision. +The Curt V8 sticker is in remembrance of a dear friend. He loved Fords and my husband loves Chevys. The constant fun rivalry resulted in randomly placed Ford and Chevy objects snuck into garages depending on whose house we were at. I smile every time I see this Ford emulated sticker on my laptop, since I live in a Chevy family. +The variety of stickers represents the family adventures that we have been on throughout the years. Date nights, friends, family road trips, scary hiking adventures (Angels Landing), and my youngest's drive to get a police sticker from every city and state. + +—[Kristine Strange][13] + +### Conference swag + +![Cindy William's laptop with various decals including a Kanopi sticker and Glimore Girls decals][14] + +The dragon is [my college mascot][15]. I also have some Gilmore Girls and coffee stickers. + +Here’s a photo of my daughter’s door, filled with stickers I’ve brought back from conferences over the years. + +![Cindy William's daughter's door covering tale to stern with decals from various WordPress and Drupal Camps][16] + +—[Cindy Williams][17] + +### Sticking with chicken + +This is my not-work laptop. My work laptop is basically being covered in a honeycomb of hex-shaped stickers of our products, open source projects I use and support, and at least one Opensource.com hexagon. :) + +I can’t pick a favorite, since they are all favorites, or I wouldn’t have them on the laptop that goes with me everywhere. I am overly fond of the chickens, the Raven, and Sergi the Cat with his knives. + +![Kevin Sonney's laptop with various decals][18] + +![Kevin Sonney's laptop with various decals][19] + +—[Kevin Sonney][20] + +### Foodie fun + +I used to load up my laptops with stickers. The one I bought last year filled up fast: + +![DJ Billings' laptop with various decals including a muffin][21] + +My favorite is the cupcake & donut one because I illustrated it. +I just bought a [System76][22] Darter Pro laptop and I love it. I got a bunch of really cool stickers with it, but I've been hesitant to put them on the laptop. I don't know why. + +—[DJ Billings][23] + +### Keeping it clean + +![Don Watkins' laptop with opensource.com and Red Hat stickers][24] + +I don’t put a lot of stickers on my laptops but I’ve got my two favorites on my current laptop, which is System76 Darter Pro. + +—[Don Watkins][25] + +### Life's essentials + +![Katie Sanders' laptop and Yeto mug with decals][26] + +I included my water bottle, too. I think I like those stickers even more. +Beer, dogs, music, croissants. What else could I need in life? + +—[Katie Sanders][27] + +### My mantra + +![Faye Polson's laptop with "yeet or be yeeted" decal][28] + +My favorite sticker is **yeet or be yeeted**. + +—[Faye Polson][29] + +### Garlic + +![Tiffany Bridge's laptop with movie, WordPress, and garlic decals][30] + +Most of the stickers are professional, but the **Greetings from Hamunaptra, City of the Dead** sticker is a subtle reference to one of my favorite movies, **The Mummy** (1999) starring Brendan Fraser and Rachel Weisz. + +The flags and the **Blackbeard’s Bar & Grill** stickers are references to **Our Flag Means Death**, which I am completely obsessed with. +And the garlic is the Cosmic Garlic sticker of my friend's shop. Garlic is a folk remedy for all kinds of diseases, so it seemed like a good thing to put on a laptop during a pandemic. + +—[Tiffany Bridge][31] + +### Open source projects + +![Seth Kenlon's laptop with various linux and open source decals][32] + +I usually cover my laptop with projects I use, contribute to, or admire. Statistically, my laptop should be layered with a lot more stickers by now. I haven't been to a tech conference in three years, so the pace has been slower than usual. + +—[Seth Kenlon][33] + +### Decked out in Drupal + +![April's laptop features several Drupal stickers.][34] + +I add stickers that represent me in tech. So I include organizations I'm a part of, events I've attended, and projects I support. +It's always fun to see the Drupal bear on people’s laptops since I designed it. +Notice all of my stickers are on a laptop cover for preservability. + +—[April Sides][35] + +### Wild about WordPress + +![Michelle Frechette's laptop with misc WordPress and Wapuu decals][36] + +My favorite is hard to pick, but probably the **Michelle wapuu**! She’s so me! + +The stickers **I press all the words** and **WordPress is my super power** are from WordCamp Rochester, so those are near and dear to me. + +Basically, I’ll add a sticker if I have a history with it (I spoke at the camp, for example), or I just like it! + +—[Michelle Frechette][37] + +### An eye for art + +![Dagger McJagger's Laptop with misc Drupal and open source decals][38] + +I heavily lean towards art stickers. Seeing art on my computer reminds me of the people I know and experiences I’ve had while using this computer. + +My favorite is the sad-face Midsommar sticker that my partner gave me. After seeing the movie for the first time, we stood outside the theater discussing it for hours into the night. We still reference it to this day. + +—[Jonathan Daggerhart][39] + +### Custom skin + +![Sallie Goetsch's laptop with a custom goddess Ereshkigal skin][40] + +I got a new travel laptop in 2019, and it remains pristine because I have not been to any events since then. My work laptop has a custom skin of the goddess Ereshkigal, after whom I named the computer. + +—Sallie Goetsch + +### GNU Emacs + +![Sachin Patil's laptop with only one sticker][41] + +A GNU Emacs sticker. + +—[Sachin Patil][42] + +### Opensource.com + +After seeing everyone's responses, and maybe getting some cool stickers in the mail from a very brilliant community manager... + +OK, OK, I give! AmyJune, Don, and Sachin convinced me to put ONE sticker on my laptop. + +Here's a photo showing my laptop with its singular sticker: + +![Chris Hermansen's laptop with an opensource.com sticker on it][43] + +—Chris Hermansen + +### Stickers and open source + +You don't have to adorn your computer with stickers. It's not required, and it certainly doesn't mean you love open source more or less than anybody else. But if you love an open source project, there's a good chance that it's got a sticker you can use to decorate your computer (or your door, water bottle, or USB microphone). Rest assured that if you love open source and you love stickers, there's a strong intersection between the two! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/laptop-stickers + +作者:[AmyJune Hineline][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/amyjune +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-11/amyjune-laptop.webp +[2]: https://www.drupal.org/files/cta/graphic/drupal%208%20logo%20isolated%20CMYK%2072_1.png +[3]: https://opensource.com/users/amyjune +[4]: https://opensource.com/sites/default/files/2022-10/Alan%20F..webp +[5]: https://opensource.com/users/alanfdoss +[6]: https://opensource.com/sites/default/files/2022-10/%20Rikard%20Grossman-Nielsen-1.webp +[7]: https://opensource.com/users/rikardgn +[8]: https://opensource.com/sites/default/files/2022-10/%20John%20%27Warthog9%27%20Hawley%20.webp +[9]: https://opensource.com/users/warthog9 +[10]: https://opensource.com/article/18/11/how-swap-ctrl-and-caps-lock-your-keyboard +[11]: https://opensource.com/users/clhermansen +[12]: https://opensource.com/sites/default/files/2022-10/kristine.webp +[13]: https://opensource.com/users/strangemama +[14]: https://opensource.com/sites/default/files/2022-10/cindy%20williams.webp +[15]: https://www.uab.edu +[16]: https://opensource.com/sites/default/files/2022-10/cindy%20duaghter%20door.webp +[17]: https://opensource.com/users/cindytwilliams +[18]: https://opensource.com/sites/default/files/2022-10/%20Kevin%20Sonney%20.webp +[19]: https://opensource.com/sites/default/files/2022-10/%20Kevin%20Sonney%202.webp +[20]: https://opensource.com/users/ksonney +[21]: https://opensource.com/sites/default/files/2022-10/DJ_laptop-stickers.webp +[22]: https://opensource.com/article/19/5/system76-secret-sauce +[23]: https://opensource.com/users/itsjustdj +[24]: https://opensource.com/sites/default/files/2022-10/don%20watkins.webp +[25]: https://opensource.com/users/don-watkins +[26]: https://opensource.com/sites/default/files/2022-10/Katie%20Sanders.webp +[27]: https://enterprisersproject.com/user/katie-sanders +[28]: https://opensource.com/sites/default/files/2022-10/faye3.webp +[29]: https://twitter.com/faye_polson +[30]: https://opensource.com/sites/default/files/2022-10/tiffany_0.webp +[31]: https://tiff.is/ +[32]: https://opensource.com/sites/default/files/2022-10/seth-laptop.webp +[33]: https://opensource.com/users/seth +[34]: https://opensource.com/sites/default/files/2022-11/april.webp +[35]: https://opensource.com/users/weekbeforenext +[36]: https://opensource.com/sites/default/files/2022-10/Michelle%20Fre.webp +[37]: https://meetmichelle.online +[38]: https://opensource.com/sites/default/files/2022-10/Dagger%20McJagger.webp +[39]: https://opensource.com/users/daggerhart +[40]: https://opensource.com/sites/default/files/2022-10/Ereshkigal%20laptop%20skin.webp +[41]: https://opensource.com/sites/default/files/2022-10/psachin.webp +[42]: https://opensource.com/users/psachin +[43]: https://opensource.com/sites/default/files/2022-10/%20chris%20hermansen%20.webp From 0c2c0e1cfa573161dbd0bab14e13fb52498b939d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:10:13 +0800 Subject: [PATCH 331/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221108.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20LXQt=20Desktop=20in=20Arch=20Linux=20[Comple?= =?UTF-8?q?te=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...all LXQt Desktop in Arch Linux [Complete Guide].md | 286 ++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 sources/tech/20221108.2 ⭐️⭐️ How to Install LXQt Desktop in Arch Linux [Complete Guide].md diff --git a/sources/tech/20221108.2 ⭐️⭐️ How to Install LXQt Desktop in Arch Linux [Complete Guide].md b/sources/tech/20221108.2 ⭐️⭐️ How to Install LXQt Desktop in Arch Linux [Complete Guide].md new file mode 100644 index 0000000000..59a8f3ae2b --- /dev/null +++ b/sources/tech/20221108.2 ⭐️⭐️ How to Install LXQt Desktop in Arch Linux [Complete Guide].md @@ -0,0 +1,286 @@ +[#]: subject: "How to Install LXQt Desktop in Arch Linux [Complete Guide]" +[#]: via: "https://www.debugpoint.com/lxqt-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install LXQt Desktop in Arch Linux [Complete Guide] +====== + +**This guide explains the steps you need to install LXQt Desktop in Arch Linux.** + +**This guide has two parts. The first part deals with installing the base Arch system. The second part is installing the complete LXQt desktop environment on top of Arch Linux.** + +### What is the LXQt Desktop? + +LXQt is a lightweight Linux desktop environment based on Qt technology. It is known to be lighter than all traditional desktop environments available today. Arguably it is faster and consumes fewer resources than its equivalents, such as Xfce and Mate desktops. + +LXQt desktop is available in other Linux distributions as one of the offerings. Fedora and Ubuntu provide an LXQt flavour as well. However, you can also install it in Arch Linux to enjoy the latest LXQt tech as a rolling release. + +### Install LXQt Desktop in Arch Linux + +#### Part 1: Install Arch Linux + +If you already have Arch Linux installed, you can skip this step and directly go to the install LXQt Desktop section below. + +For a faster Arch Linux installation, refer to [this guide for installing Arch via automated script][1]. For the legacy way of installation method, refer to the below steps. + +##### Download Arch Linux + +Download Arch Linux .iso from the below link. There are magnet and torrent links available. Once you download, write the ISO to a USB drive. And then boot from the drive. + +[Download Arch Linux][2] + +If you plan to install it as a virtual machine image via GNOME Boxes, virt-manager, you do not need to write it to a USB drive. + +##### Boot and Configure Partitions + +After you boot from the Arch Linux iso, you must run a series of commands to install the base system. + +First, run the below command to find out the device identifier. + +``` +fdisk -l +``` + +![fdisk -l before][3] + +Then with the device identifier, run the below command to start partitioning your disk. Make sure to change `/dev/sda` as per your system. + +``` +cfdisk /dev/sda +``` + +Select `label type = dos` in the next prompt. + +Select the free space and choose option NEW from the bottom. In this example, I will create three partitions as per below. + +``` +/dev/sda1 - 1G - for /boot/dev/sda2 - 5G - for root/dev/sda3 - 1G - for swap +``` + +![cfdisk][4] + +In the next screen provide partition size for the boot partition (for this example, I gave 1 GB). Select it as the primary partition. + +Repeat the same step for the main root partition of size 5GB. + +![Swap partition type change][5] + +Create a swap partition using the same steps with size 1G (you may change it as per your need). After you create the swap partition, make sure to choose Type at the bottom and mark it as a swap with the option “Linux Swap/Solaris”. + +![final partition list in cfdisk][6] + +Once done, write the changes to the disk using the Write option at the bottom. Make sure you take a backup before you write as this is a permanent change in your system. + +Run the below command to check before you proceed. You can see in this example, three partitions are listed. + +``` +fdisk -l +``` + +![final partition list in fdisk][7] + +Run the following commands in sequence to format and create an ext4 file system in the newly created partition above. Make sure you change the /dev/sda1 and /dev/sda2 as per your need. + +``` +mkfs.ext4 /dev/sda1mkfs.ext4 /dev/sda2mkswap /dev/sda3swapon /dev/sda3 +``` + +After completion, mount the system and create necessary directories. + +``` +mount /dev/sda2 /mntmkdir /mnt/boot /mnt/var /mnt/homemount /dev/sda1 /mnt/boot +``` + +Again, make sure you change /dev/sda1, /dev/sda2 and /dev/sda3 as per your system. + +![prepare file system][8] + +##### Install the base system + +I hope you are already connected to the internet. If not, try using a USB dongle or wired internet connection which Arch installer automatically configure and detect. If you do not have a wired connection available, follow [this guide][9] to configure a wireless or wifi network using Arch Linux installer. + +Run the below commands in sequence to install the base system in the mounted partition. The download size is approx 400 MB. + +``` +pacman -Syypacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub +``` + +![Install base system][10] + +Once complete, generate file system table without which you can’t boot the system. + +``` +genfstab -U /mnt >> /mnt/etc/fstab +``` + +##### Configure the base system + +Follow the below commands in sequence to configure the base system. This involves setting up your locale, language, add a login user, and setting up the internet. + +``` +arch-chroot /mntnano /etc/locale.gen +``` + +Uncomment the locale of your choice by removing # at the beginning. For this guide, I have chosen en_US.UTF-8 UTF-8. Press CTRL+O, Enter, and CTRL+X to exit from nano. + +![change locale][11] + +Generate the locale using: + +``` +locale-gen +``` + +Setup the language using the below command. + +``` +echo LANG=en_US.UTF-8 > /etc/locale.confexport LANG=en_US.UTF-8 +``` + +Setup the local time zone. + +``` +ln -s /usr/share/zoneinfo/America/New_York /etc/localtime +``` + +Again, you can choose them as per your need. You can list the local timezones via the below commands. + +``` +ls /usr/share/zoneinfo +ls /usr/share/zoneinfo/America +``` + +Setup the hardware clock, create a hostname, and enable the DHCP for the internet using the below commands in sequence. You can change `"arindam-pc"` to any hostname as per your desire. + +``` +hwclock --systohc --utcecho arindam-pc > /etc/hostnamesystemctl enable dhcpcd +``` + +The next step is to set up the root user password, create an admin user, and add the user in the sudoers file. + +Follow the below commands in sequence. Make sure to change the user name from `debugpoint` to something else as per your need. + +``` +passwd rootuseradd -m -g users -G wheel -s /bin/bash debugpointpasswd debugpoint +``` + +![create user][12] + +Open the sudoers file and add the below lines. + +``` +nano /etc/sudoers +``` + +Add below lines. As you already created the root user, the entry should be there. + +``` +root ALL=(ALL) ALLdebugpoint ALL=(ALL) ALL +``` + +![update sudoers file][13] + +Install grub, setup the initial ramdisk environment, unmount the system using the below commands in sequence. + +``` +grub-install /dev/sdagrub-mkconfig -o /boot/grub/grub.cfgmkinitcpio -p linuxexit +``` + +![configure grub][14] + +Then reboot your system. + +``` +umount /mnt/bootumount /mntreboot +``` + +You have now successfully installed the Arch Linux base system. It’s time to install the complete LXQt desktop. + +![Arch is installed][15] + +#### Part 2: Install LXQt Desktop in Arch Linux + +After reboot, choose Arch Linux from grub. In the Arch Linux prompt, start running the following commands in sequence. These commands install the Xorg server, display manager, LXQt desktop components, controller packages, and additional applications. + +For all the commands, use the default, i.e. press enter when asked. + +- **Install Xorg. Approx install size is 80 MB.** + +``` +sudo pacman -S --needed xorg +``` + +- **Install display manager, lxqt desktop. Approx install size is 100 MB.** + +``` +sudo pacman -S --needed lxqt xdg-utils ttf-freefont sddm +``` + +- **Install additional components (approx 80 MB)** + +``` +sudo pacman -S --needed libpulse libstatgrab libsysstat lm_sensors network-manager-applet oxygen-icons pavucontrol-qt +``` + +- **Install applications** + +This is just a reference. You can also install the ones you require. + +``` +sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper +``` + +Now it’s time to enable the display manager and network manager as a service. So that next time you log on, they can run automatically by systemd. + +``` +systemctl enable sddmsystemctl enable NetworkManager +``` + +Reboot the system using the reboot command. + +``` +reboot +``` + +You should see a nice login prompt on the LXQt desktop if all goes well. + +And you can now login using the user id and password which you just created. A Nice and superfast LXQt desktop would greet you after successful login. + +![LXQt Desktop in Arch Linux (version 1.2)][16] + +I hope this guide helps you create your own Arch Linux environment with a lightweight LXQt desktop from scratch. If you run into trouble, let me know using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/lxqt-arch-linux-install/ + +作者:[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/archinstall-guide/ +[2]: https://www.archlinux.org/download/ +[3]: https://www.debugpoint.com/wp-content/uploads/2020/12/fdisk-l-before.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2020/12/cfdisk-1024x159.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/Swap-parition-type-change.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-cfdisk-1024x178.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-fdisk.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/prepare-file-system.jpg +[9]: https://www.debugpoint.com/2020/11/connect-wifi-terminal-linux/ +[10]: https://www.debugpoint.com/wp-content/uploads/2020/12/Install-base-system-1024x205.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2020/12/change-locale.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/create-user.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2020/12/update-sudoers-file.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2020/12/configure-grub-1024x639.jpg +[15]: https://www.debugpoint.com/wp-content/uploads/2020/12/Arch-is-installed.jpg +[16]: https://www.debugpoint.com/wp-content/uploads/2020/12/LXQt-Desktop-in-Arch-Linux-version-1.2-1024x639.jpg From cd0034ba0cb6cc26f97e45d27ce0599676c254e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:12:04 +0800 Subject: [PATCH 332/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221108.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20Flatpak=20Apps=20in=20Ubuntu=20and=20Other?= =?UTF-8?q?=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Install Flatpak Apps in Ubuntu and Other Linux.md | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md diff --git a/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md b/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..6639886773 --- /dev/null +++ b/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md @@ -0,0 +1,170 @@ +[#]: subject: "How to Install Flatpak Apps in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Flatpak Apps in Ubuntu and Other Linux +====== + +**A beginner’s guide on how to install Flatpak in Ubuntu and other Linux distributions.** + +### What is Flatpak? + +[Flatpak][1] is the new way of distributing apps across the Linux universe, irrespective of the distribution. This cross-distro application distribution and deployment framework enable developers to Flatpak setup for apps for all major distributions. + +The major hurdles in any Linux app distribution are dependencies, and Flatpak covers that. Flatpak builds bundles the dependencies for the respective apps, and end-users need not worry about it. + +With the growing trends, many app developers are now providing the Flatpak builds along with traditional packages, e.g. *.deb, etc. With a quick setup for your distributions, you can be ready to explore the world of Flatpak apps. All the major Flatpak apps are available on flathub.org. You can search and just click a button, you can install the Flatpak apps. Here’s how to set it up for Ubuntu and other Linux distributions. + +### How to setup Flatpak in Ubuntu + +- For Ubuntu 18.10 (Cosmic Cuttlefish), use the following command to install Flatpak (that includes Ubuntu 22.04 as well). + +``` +sudo apt install flatpak +``` + +If you are using an older version of Ubuntu, use the following repo. + +``` +sudo add-apt-repository ppa:alexlarsson/flatpak +sudo apt update +sudo apt install flatpak +``` + +- The second step is optional if you want to install Flatpak apps via the browser. Enable Ubuntu Software to recognize Flatpak apps and their installations. Run the below commands from the terminal and provide the password when prompted. + +``` +sudo apt install gnome-software-plugin-flatpak +``` + +- Add the Flathub repository where all the Flatpak apps reside. Run the below commands from the terminal. + +``` +flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +``` + +- Reboot. + +### Install in Other Linux Distributions + +Flatpak is available to install almost all possible distributions. Here’s a quick list of commands you can run from the terminal in all the distros. + +| **Linux distro name** | **Instructions or commands to set up Flatpak** | +| :- | :- | +| AlmaLinux | Enabled by default. No action is required. | +| Alpine Linux | Run the following commands:`sudo apk add flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Arch Linux | Run the following commands:`sudo pacman -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| CentOS | Enabled by default. No action is required. | +| Clear Linux | Enabled by default. No action is required. | +| Debian | Run the following commands:`apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Deepin OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| elementary OS | Enabled by default. No action is required. | +| Endeavour OS | Enabled by default. No action is required. | +| Endless OS | Enabled by default. No action is required. | +| Fedora Linux | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak app. | +| Gentoo | Run the following commands:`echo -e 'sys-apps/flatpak ~amd64\nacct-user/flatpak ~amd64\nacct-group/flatpak ~amd64\ndev-util/ostree ~amd64' >> /etc/portage/package.accept_keywords/flatpakemerge sys-apps/flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| KDE Neon | Enabled by default. No action is required. | +| Kubuntu | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``sudo apt install plasma-discover-backend-flatpak``reboot` | +| Linux Mint | Enabled by default. No action is required. | +| Mageia | Run the following commands:`dnf install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Manjaro Linux (Arch-based) | Installed by default since Manjaro 20 and higher.Make sure it is enabled in the below navigation:**Software Manager > Preferences > Flatpak Tab > Enable Flatpak Support**Reboot your system | +| MX Linux | Enabled by default. No action is required. | +| Nix OS | Open `/etc/nixos/configuration.nix` and add the following:`Services.flatpak.enable = true;`And then run the followings:`sudo nixos-rebuild switch``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| openSUSE Leap and Tumbleweed | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak apps. | +| Pop OS | Enabled by default. No action is required. | +| Raspberry Pi OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Red Hat Enterprise Linux (RHEL) | `sudo yum install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Solus | Run the following commands:`sudo eopkg install flatpak xdg-desktop-portal-gtk``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Void Linux | Run the following commands:`sudo xbps-install -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | +| Zorin OS | Enabled by default. No action is required. | + +Once installation is completed, and reboot is done, you can proceed with installing some cool Flatpak apps via the below steps. + +### How to Install Flatpak Apps in Ubuntu and Other Linux + +There are two ways you can install Flatpak apps. Firstly via the command line, which I recommend. And second is the browser method. + +I recommend using the command line because it is faster and easier. + +#### Using the command line (recommended) + +The sample command to install any Flatpak app is available at the bottom section of the Flathub app page. A sample command is below: + +``` +flatpak install org.gimp.GIMP +``` + +Change the above “org.gimp.GIMP” for your application. Remember, this is case-sensitive. + +#### Using the graphical method via browser + +- Go to [Flathub][3]. +- Search for any apps you want to install. + +![][4] + +- Click install after selecting your desired app. + +![Install Flatpak][5] + +- Click Ok when it prompts you to start the installation via Software. + +![Open Flatpackref via Software][6] + +- The Software will open and wait till the installation finishes. + +### How to update Flatpak after you install them? + +Updating Flatpak is super easy via the terminal. For example, if you want to update the above GIMP package, you need to run the below command. + +``` +flatpak update org.gimp.GIMP +``` + +So, this will update a single package. Replace your package’s name (i.e. Application ID) for your use case. If you don’t know the Application ID, run the command `flatpak list` from the terminal, and you will find it. + +If you want to update ALL the Flatpak packages in your system, simply run the following: + +``` +flatpak update +``` + +### How to uninstall a Flatpak? + +You can uninstall a package using the following command. Make sure to change the Application ID for your use case. You can find out the Application ID from the command `flatpak list`. + +``` +flatpak remove org.gimp.GIMP +``` + +### Closing Notes + +In this tutorial, I have explained how you can easily set up Flatpak and install apps from Flathub. Moreover, Flatpak applications are a great way to install and manage them easily. In my opinion, Flatpak will eventually dominate Snap and AppImage in the future. + +You may want to check out our other articles about [Flatpak][7], which include how to manage permission, various Flatpak commands and more. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-install-flatpak-apps-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://flatpak.org/ +[2]: https://flathub.org/repo/flathub.flatpakrepo +[3]: https://flathub.org/apps +[4]: https://www.debugpoint.com/wp-content/uploads/2018/07/Search-in-Flathub.png +[5]: https://www.debugpoint.com/wp-content/uploads/2018/07/Install-Flatpak.png +[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/Open-Flatpackref-via-Software.png +[7]: https://www.debugpoint.com/tag/flatpak From 589467481928deb69ee4967a1eb986f8bb1a551b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:34:17 +0800 Subject: [PATCH 333/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221108.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Delete=20Background=20in=20Image=20Using=20GIMP.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Delete Background in Image Using GIMP.md | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md diff --git a/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md b/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md new file mode 100644 index 0000000000..426507f61e --- /dev/null +++ b/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md @@ -0,0 +1,143 @@ +[#]: subject: "How to Delete Background in Image Using GIMP" +[#]: via: "https://www.debugpoint.com/remove-image-background-gimp/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Delete Background in Image Using GIMP +====== + +**Removing the background of an image is super easy if you know how to do it. Here in this tutorial, we will explain five different ways you can use to remove background in Image Using GIMP.** + +![Remove Background Image in GIMP][1] + +There are many ways you can delete any part of an image. That can be the background of the main subject of your image or some sections of it. That includes making the image background transparent and associated steps.  + +[GIMP][2] is the free and open-source closest Photoshop Alternative application which is used by millions every day. And if you are a beginner in GIMP or learning image processing, then there is no harm in learning these steps to make any sections of a complex image transparent, including the background. + +The steps outlined here use basic tools similar to other photo editing software. Hence, what you’re learning in this tutorial can easily be applied to alternative software. + +### 5 Ways to Remove Background in Image Using GIMP + +#### Method 1 – Fuzzy Select  + +The Fuzzy Select tool allows you to select all pixels that are similar to a set of sample pixels within a local area of an image. This works for the images with a colour distinction between foreground and background image foreground.  + +So, if your image background and prominent subject/foreground are of identical colour (like this image below), then this method may not help. Try other methods explained below. But still, you can go ahead and try out all methods if you have spare time. + +- Open your image in GIMP.  +- Right-click on the layer and **add Alpha channel**. This ensures that you can easily delete your layer with transparency. You can verify whether the Alpha channel is already added to your image or not by right-clicking the layer and see if the add Alpha channel is greyed out.  +- Select the Fuzzy Select tool from the toolbox and make sure Anti Aliasing, Feather Edges and Draw Mask are checked. The Draw Mask option will help you visualise the background you want to delete. +- Now click on the section of the image of the background which you want to delete and hold down your click, then drag the mouse to your image to see a mask drawn on your image. +- The colour selection shows the selection that you are choosing. Dragging the mouse below will increase the threshold of your selection, and towards up, it will reduce the threshold of your selection.  +- Once you are satisfied with your selection, **release the mouse and press delete** from your keyboard to delete the selection. + +You can repeat this process as much as you want to eliminate the background of your image entirely. + +![Method 1 - Fuzzy Select][3] + +![After Method 1 is applied][4] + +#### Method 2 – Select by colour + +In the next method, we will use the select by colour tool, which selects the entire background having the same colour pixels. This method works better for vector images, which typically have uniform colour distribution. This method might not work well for real-world images with too many colour gradients or sharp edges. + +- Select the “**select by colour**” tool from the toolbox. Make sure Anti Aliasing and **Draw Mask**are enabled from the option. +- Ensure to enable the Feather Edges option if you are working with a complex vector image. +- Now, click on the background section of your image having the same colour and **drag the mouse down or up** to increase or decrease the threshold.  +- Once you are happy with the selection, **let go of the mouse hold**. Press **delete** from your keyboard.  + +Likewise, you can repeat the steps multiple times to eliminate the background entirely. + +![Method 2 - Select by Color][5] + +#### Method 3 – Paths + +Another way of removing the background of an image is using the **Paths** tool. This is more of a **manual** way of deleting the background of an image. + +This method gives you the **most accurate results** among all the methods described here. But it takes a bit of time and patience to do it.  + +- Select the **Path tool** from the toolbox.  +- Begin clicking around the image’s main subject to place individual points outlining the subject.  +- You can curve the line by dragging down the middle of the line and moving the left and right handle towards the centre of the line.  +- To continue drawing, make sure you click on the most recent point and continue.  +- Once done, you can **close the outline by holding CTRL and clicking on the first point** placed. +- Press **Enter** to create a selection using the outline. +- From the menu, Select **Invert.** This will select the background of the image. +- And press **delete** to delete the background.  + +![Method 3 Path Tool][6] + +#### Method 4 – Layer Mask + +A more **advanced** way to delete the background is to use a layer mask. This is useful for those photographs where you have fine details such as hairs, furs, grass etc. Those fine details are difficult to aele6 manually using the above methods.  + +But there is a catch. This method only works best where there is a high level of contrast of colour present between the main subject of the image and its background.  + +- Right-click on the layer and **create a duplicate layer**.  +- While the duplicate Layer is selected, Go to **Color > Saturation**. Change the scale to all the way to zero. Click ok. +- Go to Color > Curves and manually adjust the top and bottom nodes so that your main subject of the image fills with more black and the background is white.  +- From the menu, select **Colors > invert**. Then select**Edit > Copy Visible**. +- Hide the duplicate layer by clicking on the little eye icon on the right toolbox. +- Right-click on the original layer and click Add Layer Mask. Click Add. +- Paste the copied visible image using Edit > Paste. +- Click on green icon at the bottom of the layers window to merge the pasted layer to the layer mask.  +- At this stage, you should notice that the black area remains visible, and the white area is transparent.  + +To fine-tune the sections, you can use a white colour brush tool and fill those sections which are part of your main subject but become transparent in the process.  + +And there you have it. + +![Method 4 - Curves][7] + +![Method 4 - Layer Mask][8] + +#### Method 5 – Foreground Select + +The final method we are going to explain is the foreground select method. This method is also a good choice as well for complex images having hairs, grass etc. + +- To get started, select the **Foreground Select**tool from the toolbox and do a simple outline of the subject. It need not be perfect, like below. It’s more like an outline covering the entire subject.  +- Once you are done, join the select point to the first point and press enter to select the subject.  +- This will create a dark blue area over the background and a light blue area in the foreground.  +- Now select the white foreground colour and manually brush the subject without going too much towards the edges.  +- Once you are done, select the preview to see how it looks. Based on the colour profile of your image, this preview step might take a couple of seconds to process.  +- If you are happy with the preview, click select. And then press enter to make this a selection. +- Invert the selection using **Select > Invert**. +- Press delete from the keyboard.  +- And you have your image ready without the background portion. + +![Method 5 - Foreground select tool to delete background of image in GIMP][9] + +### Final Notes + +So, that’s about it with the five methods which we just explained to remove background from image(s) and photographs using the free and open-source tool GIMP. Let me know if this tutorial helped you understand the steps and get the desired result. + +Used Photo in this article is by [Maryia Plashchynskaya][10] from [Pexels][11] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-image-background-gimp/ + +作者:[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/2021/11/Remove-Background-Image-in-GIMP.jpg +[2]: https://www.gimp.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-1-Fuzzy-Select.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/After-Method-1-is-applied.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-2-Select-by-Color.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-3-Path-Tool.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Curves.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Layer-Mask.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-5-Foreground-select-tool.jpg +[10]: https://www.pexels.com/@maryiaplashchynskaya?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels +[11]: https://www.pexels.com/photo/fashion-people-woman-wristwatch-8358677/?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels From 6d73b5733c8ad8e1370a33eb21f566f61a999292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 8 Nov 2022 21:37:12 +0800 Subject: [PATCH 334/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221108.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ti?= =?UTF-8?q?tan=20Linux=20A=20Blend=20of=20Debian=20Stable=20and=20KDE=20Pl?= =?UTF-8?q?asma.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n Linux A Blend of Debian Stable and KDE Plasma.md | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 sources/tech/20221108.5 ⭐️⭐️ Titan Linux A Blend of Debian Stable and KDE Plasma.md diff --git a/sources/tech/20221108.5 ⭐️⭐️ Titan Linux A Blend of Debian Stable and KDE Plasma.md b/sources/tech/20221108.5 ⭐️⭐️ Titan Linux A Blend of Debian Stable and KDE Plasma.md new file mode 100644 index 0000000000..cc7ca426c3 --- /dev/null +++ b/sources/tech/20221108.5 ⭐️⭐️ Titan Linux A Blend of Debian Stable and KDE Plasma.md @@ -0,0 +1,128 @@ +[#]: subject: "Titan Linux: A Blend of Debian Stable and KDE Plasma" +[#]: via: "https://www.debugpoint.com/titan-linux-review-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Titan Linux: A Blend of Debian Stable and KDE Plasma +====== + +**We review Titan Linux – a rising star in the Linux distro space and bring Debian stable with KDE Plasma flavour with its unique tools.** + +### Titan Linux – What does it offer? + +Titan Linux is a Debian-stable based Linux distribution which features the KDE Plasma desktop. It is a fairly new distribution that aspires to be user-friendly and minimal. Developed by a two-member team, Titan Linux brings a unique experience to Debian’s experience by eliminating several packages and giving out-of-the-box hardware support. + +Moreover, it uses a different installer than Debian uses and brings some nifty in-house utilities. + +![Titan Linux Desktop][1] + +### Titan Linux Review – 2022 + +#### Download and Installation + +This review is based on the latest stable release of Titan Linux 1.2.1, “Cronus” Stable, bases on [Debian 11 bullseye][2]. + +There are no problems while downloading this distro via its torrents. Many budding distros don’t do well while providing download options – such as no server bandwidth, no torrent etc. However, the torrent speed was good, and the ISO of 2.5GB took a reasonable time to download. + +Let’s talk about the installation. + +First, the LIVE desktop gives you a shortcut to kick off the installer. The installer that Titan Linux uses is Calamares. It is not [Debian’s own graphical installer][3]. This is one of the significant advantages of using the popular Calamares for Debian. The installer is configured in a simple manner and should not be a problem for new users or advanced users. + +Second, the Calamares installer took around 4 minutes to install on average in both physical and virtual systems. After the installation is complete, the Grub is well configured, and I can boot into the desktop. + +#### Look and Feel + +Firstly, the desktop gives you a slightly different feel from a KDE Plasma desktop because of the dark colour palette and a somewhat different application menu. In addition, the Dragon Icons and cursors go well with its “Titan” themed desktop look. + +Second, the application menu is the [legacy KDE Plasma kick off][4], which gives you easy access to the applications and system settings. + +In addition, System Settings uses an alternative view than the traditional Plasma system settings. If you are a long-term KDE Plasma user, you may feel slightly different with these two subtle changes in this desktop. + +Other than that, a nice set of wallpapers will help you further customize your desktop. And finally, the bottom main taskbar is almost the same as the standard Plasma desktop. + +![The KDE Plasma kick off menu shows a legacy view][5] + +![System Settings in Titan Linux][6] + +#### Applications + +Firstly, the application list is more customized than the KDE Plasma desktop apps. A set of different and lightweight applications that gives a lightweight feel. + +Secondly, it is wise for the developers of this distro not to use the KDE Applications but instead use some of the traditional lightweight replacements. + +For example, instead of the KWiter text editor, you get the Featherpad text editor. However, the file manager is Dolphin from KDE Applications. The Gwenview is replaced by the LXImage image viewer from the LXQt desktop. + +Moreover, an exciting addition is the Titan Toolbox. It’s a collection of utilities that is very handy for new and advanced users. The Toolbox contains utilities to tweak the desktop, change repo, APT tools, hardware configuration, etc. YOu can see a glimpse of it in the below image. + +![A side-by-side view of two different options of Titan Toolbox][7] + +For example, the Extra Software option from the Toolbox gives you the below graphical menu items to perform several tasks. It is one of the selling points of this distribution. + +![One of the Titan Toolbox option - Extra Software][8] + +Another item from the Toolbox is my favourite: the Advanced options to manage Kernel and Grub, as you can see below. I must say, this is handy for all users. + +![Advanced Tools][9] + +#### Performance + +The performance metric is exciting, considering it is a KDE Plasma desktop. In a fresh install and idle state, it only uses 620 MB of RAM! And the CPU is at around 1%. + +Next, when I pass it through a heavy workload with Firefox, Dolphin file manager, text editor, terminal, VLC media player, and system settings, it uses 1.3 GB of RAM, and the CPU is at 2% to 3% on average. + +Finally, when I close all the applications on a heavy workload, the RAM consumption goes back to 676MB of RAM, and the CPU is at a 1% level. + +I must say, it is well-optimized. And surprisingly, KWin is performing better with the Debian base than the Ubuntu or Fedora base. + +It uses 10GB of disk space for a default installation. + +![Titan Linux in Idle State][10] + +![Titan Linux Performance in Heavy Workload][11] + +#### Bugs + +There are no bugs I encountered while reviewing this distribution. It is simply stable well, believing it is a new distribution. + +However, I found one weird behaviour while changing resolution in a virtual machine (see below), which I think is a KWin bug and has nothing to do with Titan Linux. + +![][12] + +### Closing Notes + +Having reviewed a large set of distributions over the years, I must say that Titan Linux gives you a stock Debian stable experience with a well-optimized KDE Plasma desktop. On top of that, the Titan toolbox is also a handy addition to helping users. + +If you are looking for a Debian stable distribution with a KDE Plasma desktop experience, definitely go for it. Thanks to Debian, you can easily use this distro for your daily use and productive work. + +You can download Titan Linux from the [official website][13]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/titan-linux-review-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/wp-content/uploads/2022/06/Titan-Linux-Desktop.jpg +[2]: https://www.debugpoint.com/2021/05/debian-11-features/ +[3]: https://www.debugpoint.com/2021/01/install-debian-buster/ +[4]: https://www.debugpoint.com/2021/02/legacy-kickoff-kde-plasma-5-21/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/06/The-KDE-Plasma-kick-off-menu-shows-a-legacy-view.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/06/System-Settings-in-Titan-Linux.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/06/A-side-by-side-view-of-two-different-options-of-Titan-Toolbox.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/06/One-of-the-Titan-Toolbox-option-Extra-Software.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/06/Advanced-Tools.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/06/Titan-Linux-in-Idle-State.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/06/Titan-Linux-Performance-in-Heavy-Workload.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/06/Titan-Linux-Resolution-problem.mp4 +[13]: https://techcafe757.wixsite.com/titanlinux From f1fb5e53de344e0ac55970e9c8f523cf1fa4c7e4 Mon Sep 17 00:00:00 2001 From: Cubik Date: Tue, 8 Nov 2022 19:43:29 -0500 Subject: [PATCH 335/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7]?= =?UTF-8?q?=20[news]=2020221101.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=20Kate=20Editor=20is=20Getting=20Four=20New=20Awesome=20Featur?= =?UTF-8?q?es.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md index cc4268394e..cfb4af945c 100644 --- a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md +++ b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/kate-editor-22-12-features/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -95,7 +95,7 @@ via: https://news.itsfoss.com/kate-editor-22-12-features/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From f682b7e071c10c0dd3faf021ee9030e7cb8d2b3f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 9 Nov 2022 08:47:35 +0800 Subject: [PATCH 336/925] RP @wxy https://linux.cn/article-15230-1.html --- ...thon 3.11 in Ubuntu and Other Related Linux.md | 142 ++++++++++++++ ...thon 3.11 in Ubuntu and Other Related Linux.md | 182 ------------------ 2 files changed, 142 insertions(+), 182 deletions(-) create mode 100644 published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md delete mode 100644 sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md diff --git a/published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md b/published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md new file mode 100644 index 0000000000..737ddc6a0e --- /dev/null +++ b/published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md @@ -0,0 +1,142 @@ +[#]: subject: "How to Install Python 3.11 in Ubuntu and Other Related Linux" +[#]: via: "https://www.debugpoint.com/install-python-3-11-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15230-1.html" + +如何在 Ubuntu 等 Linux 中安装 Python 3.11 +====== + +> 打算为你的项目开发工作安装 Python 3.11?下面是如何在 Ubuntu 等发行版中安装 Python 3.11 的方法。 + +![][1] + +Python 3.11 于 2022 年 10 月 25 日发布,并声称比之前的 [Python 3.10][2] 版本快 10% - 60%。 + +一如既往,3.11 中的功能和改进列表明显较多。下面是一个简介: + +- 错误回溯更明确,可以指出导致错误的确切语句。 +- 引入异常组和新的 except* 语法。 +- 你可以在基础表达式中添加自定义文本,以便在你的代码中更好地处理错误。 +- 引入 Variadic 泛型,允许在 Python 数值库(如 NumPy)中使用类似数组的结构。 +- 字典类型 TypedDict 得到了改进,现在你可以指定个别字典项目是必须的还是可选的。 +- 引入了 Self 注解,允许类返回它们自己的类型实例。 + +还有很多,你可以在官方的 [3.11 亮点页面][3] 上详细了解。 + +### Linux 发行版中的当前 Python 版本 + +[Ubuntu 22.04 LTS][4] 带有 Python 3.10,而最近发布的 [Ubuntu 22.10 Kinetic Kudu][5] 也是同样的版本。然而, Kinetick Kudu 可能会在几周内采用 3.11。 + +另外,[Fedora 37][6] 已经有了 Python 3.11 RC2,并将提供该版本。 + +所以,如果你正在运行 Ubuntu 22.04 LTS、[Linux Mint 21][7] 或任何基于 Ubuntu-LTS 的发行版,这里是你如何通过 PPA 安装 Python 3.11 的方法。 + +**注意**:谨慎地使用这个方法。确保你知道你在做什么,因为替换 Linux 发行版的基础 Python 版本可能会导致系统不稳定。许多默认的应用程序和软件包都依赖于 3.10 版本。 + +### 如何在 Ubuntu 和相关发行版中安装 Python 3.11 + +打开终端提示,添加以下 PPA: + +``` +sudo add-apt-repository ppa:deadsnakes/ppa +``` + +使用下面的命令刷新缓存: + +``` +sudo apt update  +``` + +并使用下面的命令安装 Python 3.11: + +``` +sudo apt install python3.11 +``` + +![在 Ubuntu 22.04 LTS 中安装 Python 3.11][8] + +### 设置默认的 Python 版本 + +理论上,你可以在 Linux 发行版中安装多个版本的 Python,但只能默认一个版本。将 Python 3.11 设置为默认版本需要一些额外的步骤。请跟我做。 + +然而,在这之前,请确保你知道哪些应用程序依赖于 Python 3.10。你可以使用 `apt-cache rdepends` 命令轻松地找到它,如下所示: + +``` +debugpoint@debugpoint-22-04:~$ apt-cache rdepends python3.10 +python3.10 +Reverse Depends: +python3.10-dbg +python3.10-venv +python3.10-full +libpython3.10-testsuite +idle-python3.10 +idle-python3.10 +python3.10-minimal +python3.10-doc +python3.10-dev +python3 +[截断] +python3 +python3-uno +python3-all +gedit +``` + +#### 使用 Python 3.11 作为默认的 Python3 + +首先,从终端使用以下命令检查当前的默认版本: + +``` +python3 --version +``` + +使用 `update-alternatives` 来创建 `python3` 的符号链接: + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 +``` + +``` +sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 +``` + +并通过命令选择哪一个作为 Python3 使用: + +``` +sudo update-alternatives --config python3 +``` + +![设置默认的 Python 版本为 3.11][9] + +现在你可以开始在你当前的 Ubuntu 版本中使用最新的 Python 来进行工作/学习了。你可以使用上述命令切换到库存版本,并随时改变版本。 + +如果你使用上述安装方法切换到 3.11,那么请确保你检查所有必要的应用程序,看它们是否工作正常。 + +最后,如果你遇到问题,请在评论区告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-python-3-11-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/py3112204-1024x576.jpg +[2]: https://www.debugpoint.com/install-python-3-10-ubuntu/ +[3]: https://docs.python.org/3.11/whatsnew/3.11.html +[4]: https://www.debugpoint.com/ubuntu-22-04-review/ +[5]: https://www.debugpoint.com/ubuntu-22-10/ +[6]: https://www.debugpoint.com/fedora-37/ +[7]: https://www.debugpoint.com/linux-mint-21-review/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Install-Python-3.11-in-Ubuntu-22.04-LTS.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/10/Setting-up-default-python-version-to-3.11.jpg diff --git a/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md b/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md deleted file mode 100644 index 711b8e63e3..0000000000 --- a/sources/tech/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md +++ /dev/null @@ -1,182 +0,0 @@ -[#]: subject: "How to Install Python 3.11 in Ubuntu and Other Related Linux" -[#]: via: "https://www.debugpoint.com/install-python-3-11-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Python 3.11 in Ubuntu and Other Related Linux -====== - -**Planning to get Python 3.11 installed for your project work? Here’s how to install Python 3.11 in Ubuntu and related distros.** - -![][1] - -Python 3.11 was released on Oct 25, 2022, and claims to be 10-60% faster than the prior [Python 3.10][2] version. - -As always, the feature and improvement list are significantly high in 3.11. Here’s a brief. - -- Error tracebacks are not more definite, which gives you an exact statement that causes the error. -- Introduction of exception groups and new except* syntax -- You can add custom text in the base expression for better error handling in your code. -- Introduction of Variadic generic to allow array-like structure in numerical Python libraries )such as NumPy) -- Dictionary type TypedDict gets improvement where you can now specify whether individual dictionary items are mandatory or optional. -- Introduction of Self annotation, which allows classes to return their own type instance. - -And many more, which you can read in detail on the official [3.11 highlights page][3]. - -### Current Python versions in Linux Distros - -[Ubuntu 22.04 LTS][4] have Python 3.10, whereas the recently released [Ubuntu 22.10 Kinetic Kudu][5] also have the same. However, Kinetick Kudu will probably feature 3.11 within a few weeks. - -Also, [Fedora 37][6] (planned for Nov 1) already has the Python 3.11 RC2 and will get the version. - -So, if you are running Ubuntu 22.04 LTS, [Linux Mint 21][7] or any Ubuntu-LTS-based distros, here’s how you can install Python 3.11 via a PPA. - -**Note**: Use this method with caution. Make sure you know what you are doing because replacing the base Python version of a Linux distribution may cause an unstable system. Many default applications and packages depend on the 3.10 version. - -### How to install Python 3.11 in Ubuntu and related distros - -- Open a terminal prompt and add the following PPA. - -``` -sudo add-apt-repository ppa:deadsnakes/ppa -``` - -- Refresh the cache using the below command. - -``` -sudo apt update  -``` - -- And install Python 3.11 using the below command. - -``` -sudo apt install python3.11 -``` - -![Install Python 3.11 in Ubuntu 22.04 LTS][8] - -Install Python 3.11 in Ubuntu 22.04 LTS - -### Set Default Python Versions - -In theory, you can install multiple versions of Python in Linux distros, but the default can only be one version. Setting up Python 3.11 as default requires some additional steps. Follow along. - -However, before you do that, make sure you know which applications depend on Python 3.10. You can easily find it out using `apt-cache rdepends` command as below. - -``` -debugpoint@debugpoint-22-04:~$ apt-cache rdepends python3.10 -python3.10 -Reverse Depends: -python3.10-dbg -python3.10-venv -python3.10-full -libpython3.10-testsuite -idle-python3.10 -idle-python3.10 -python3.10-minimal -python3.10-doc -python3.10-dev -python3 -virtualbox -python3.10-venv -python3.10-full -libpython3.10-testsuite -kitty -idle-python3.10 -idle-python3.10 -python3.10-minimal -python3.10-doc -python3.10-dev -python3.10-dbg -python3-uno -python3-all -python3.10-dbg -virtualbox -stimfit -python3.10-venv -python3.10-full -python3-stfio -python3-escript-mpi -python3-escript -python3-csound -plasma-firewall -pitivi -obs-studio -liferea -libpython3.10-testsuite -libglib2.0-tests -kitty -idle-python3.10 -idle-python3.10 -cluster-glue -atac -rhythmbox-plugins -python3.10-minimal -python3.10-doc -python3.10-dev -python3 -python3-uno -python3-all -gedit -``` - -#### Use Python 3.11 as the default Python3 - -- First, check the current default version using the below command from the terminal. - -``` -python3 --version -``` - -- Use `update-alternatives` to create symbolic links to `python3` - -``` -sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 -``` - -``` -sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 -``` - -- And choose which one to use as Python3 via the command: - -``` -sudo update-alternatives --config python3 -``` - -![Setting up default python version to 3.11][9] - -Setting up default python version to 3.11 - -Now you can start using the latest Python in your current Ubuntu version for your work/study. You switch to the stock version using the above commands and change the versions at any time. - -If you switch to 3.11 using the above install method, then make sure you check all the necessary apps to see whether they are working fine. - -Finally, do let me know in the comment box if you run into problems. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-python-3-11-ubuntu/ - -作者:[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/10/py3112204-1024x576.jpg -[2]: https://www.debugpoint.com/install-python-3-10-ubuntu/ -[3]: https://docs.python.org/3.11/whatsnew/3.11.html -[4]: https://www.debugpoint.com/ubuntu-22-04-review/ -[5]: https://www.debugpoint.com/ubuntu-22-10/ -[6]: https://www.debugpoint.com/fedora-37/ -[7]: https://www.debugpoint.com/linux-mint-21-review/ -[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Install-Python-3.11-in-Ubuntu-22.04-LTS.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2022/10/Setting-up-default-python-version-to-3.11.jpg From a8408ad70fe226aaaba5db0d8199da20e4971033 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 9 Nov 2022 08:57:33 +0800 Subject: [PATCH 337/925] translated --- ...o Remove Firefox Snap from Ubuntu (21.10 +).md | 131 ------------------ ...o Remove Firefox Snap from Ubuntu (21.10 +).md | 131 ++++++++++++++++++ 2 files changed, 131 insertions(+), 131 deletions(-) delete mode 100644 sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md create mode 100644 translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md diff --git a/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md deleted file mode 100644 index 1041f43db0..0000000000 --- a/sources/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md +++ /dev/null @@ -1,131 +0,0 @@ -[#]: subject: "How to Remove Firefox Snap from Ubuntu (21.10 +)" -[#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Remove Firefox Snap from Ubuntu (21.10 +) -====== - -**Ubuntu 21.10 Impish Indri and the following versions make Firefox Snap a default browser. If you don’t like Snap, this is how you can remove it and use the stock version.** - -There is always a debate about whether Snap is a better alternative to apt. And many users prefer it for their system, and some hates snap to its core. Ubuntu and Canonical consider it as one of the best installation repositories and package management tools for Linux. The primary reason Snap is hated is its slow startup time. However, that argument is for another article. - -### Remove Firefox Snap version from Ubuntu - -So, if you haven’t [heard the story][1], Ubuntu 21.10 (and all subsequent versions) ships Firefox as a Snap package by default. So, when you install Ubuntu 21.10 onwards, the default left-dock shortcut is a snap version of Firefox. And you can verify it using the various methods below. - -![snap list - Firefox][2] - -![Firefox snap desktop shortcut][3] - -If you don’t like Snap due to its [performance, and][4]storage issues, you can remove it via the following commands. - -- Close all the Firefox instances if open. - -- Open a terminal. Then run the below command. - -``` -sudo snap remove firefox -``` - -- Wait for the command to complete. This will remove the snap executables from your system and disconnect Firefox from various system services. But the home snap directory will still be there. You can manually remove that using the below command. - -``` -cd ~/snaprm -r firefox -``` - -### Install Firefox Alternative Methods - -Now, as you removed Firefox, you have the following options to use this browser. - -#### Method 1 – Use PPA (Recommended) - -- Before using this method, make sure to remove the snap version of Firefox as mentioned above. -- There is an [official PPA for Firefox][5], maintained by its development team. You can add this PPA to your software sources and use it to install the latest Firefox. -- Make sure to create a file using a text editor to create a preference file to stop Ubuntu from pickup the snap version of Firefox while running the apt update command. - -``` -sudo gedit /etc/apt/preferences.d/firefox-no-snap -``` - -- Add the following lines to the above file and save it. - -``` -Package: firefox*Pin: release o=Ubuntu*Pin-Priority: -1 -``` - -- Use the following commands in sequence. The first command removes it from your system completely. - -``` -sudo apt purge firefox -sudo add-apt-repository ppa:mozillateam/firefox -sudo apt-get update -sudo apt install firefox -``` - -- After installation is finished, make sure to enable the auto-upgrade using the command below. - -``` -echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox -``` - -- Restart your system (optional) and enjoy the deb version of Firefox. - -#### Method 2 – Use the compressed executable of Firefox - -- You can download the compressed Firefox executable for Ubuntu and other Linux from the official website (link below). Then extract it and double-click to run the firefox executable. This is the safest approach. You can still get updates if you use this method. - -[Download Firefox][6] - -![Download Firefox and Extract][7] - -![And then run the executable][8] - -#### Method 3 – Use Flatpak for Firefox - -- You can also use the [Flatpak version of Firefox][9], which is available below after [setting up Ubuntu for Flatpak][10]. Then you can run the below command to install. - -``` -flatpak install flathub org.mozilla.firefox -``` - -#### Method 4 – Use Snap with less system coupling with Firefox - -- If you think you can still continue with the Snap version but want less sandboxing in your system, then you may want to reinstall Firefox using the below command with a [classic switch][11]. - -``` -sudo snap install firefox --classic -``` - -### Closing Notes - -So, this is the step to remove the firefox snap version from Ubuntu 21.10 onwards. And some alternatives. I am inquisitive to find out what step Linux Mint takes, as they don’t go well with Snap. Also, those distros depend on Ubuntu upstream repo for Firefox, It’s interesting to see what they will do. Debian maintains its own repo, but it’s mostly the ESR version. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ - -作者:[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://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1943840 -[2]: https://www.debugpoint.com/wp-content/uploads/2021/09/snap-list-Firefox.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Firefox-snap-desktop-shortcut-1024x490.jpg -[4]: https://www.debugpoint.com/2021/03/clean-up-snap/ -[5]: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa -[6]: https://www.mozilla.org/en-US/firefox/new/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Download-Firefox-and-Extract.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/09/And-then-run-the-executable.jpg -[9]: https://flathub.org/apps/details/org.mozilla.firefox -[10]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ -[11]: https://snapcraft.io/docs/snap-confinement diff --git a/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md new file mode 100644 index 0000000000..9956e89083 --- /dev/null +++ b/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md @@ -0,0 +1,131 @@ +[#]: subject: "How to Remove Firefox Snap from Ubuntu (21.10 +)" +[#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何从 Ubuntu (21.10 +) 中删除 Firefox Snap +====== + +**Ubuntu 21.10 Impish Indri 及之后的版本将 Firefox Snap 设为默认浏览器。如果你不喜欢 Snap,可以通过以下方式将其删除并使用库存版本。** + +关于 Snap 是否是 apt 的更好替代品,一直存在争议。而许多用户更喜欢它的系统,也有一些人非常讨厌 snap。 Ubuntu 和 Canonical 认为它是 Linux 的最佳安装仓库和包管理工具之一。 Snap 被讨厌的主要原因是它的启动很慢。然而,这个论点是另一篇文章的内容。 + +### 从 Ubuntu 中删除 Firefox Snap 版本 + +所以,如果你还没有[听说过这个故事][1],Ubuntu 21.10(和所有后续版本)默认提供 Firefox Snap 包。因此,当你从 Ubuntu 21.10 开始安装时,默认的 left-dock 快捷方式是 Firefox 的 snap 版本。你可以使用以下各种方法对其进行验证。 + +![snap 列表 - Firefox][2] + +![Firefox snap 桌面快捷方式][3] + +如果你因为[性能][4]和存储问题而不喜欢 Snap,可以通过以下命令将其删除。 + +- 如果打开,那么关闭所有 Firefox 实例。 + +- 打开一个终端。然后运行以下命令。 + +``` +sudo snap remove firefox +``` + +- 等待命令完成。这将从你的系统中删除 snap 可执行文件,并断开 Firefox 与各种系统服务的连接。但是主 snap 目录仍然存在。你可以使用以下命令手动删除它。 + +``` +cd ~/snaprm -r firefox +``` + +### 安装 Firefox 替代方法 + +现在,当你删除 Firefox 时,你可以通过以下选项来使用此浏览器。 + +#### 方法 1 – 使用 PPA(推荐) + +- 在使用此方法之前,请确保如上删除了 Firefox 的 snap 版本。 +- 有一个[官方 Firefox PPA][5],由其开发团队维护。你可以将此 PPA 添加到你的软件源中,并使用它来安装最新的 Firefox。 +- 确保使用文本编辑器创建一个首选项文件,以阻止 Ubuntu 在运行 apt update 命令时获取 Firefox 的 snap 版本。 + +``` +sudo gedit /etc/apt/preferences.d/firefox-no-snap +``` + +- 将以下行添加到上面的文件并保存。 + +``` +Package: firefox*Pin: release o=Ubuntu*Pin-Priority: -1 +``` + +- 依次使用以下命令。第一个命令将其从你的系统中完全删除。 + +``` +sudo apt purge firefox +sudo add-apt-repository ppa:mozillateam/firefox +sudo apt-get update +sudo apt install firefox +``` + +- 安装完成后,请确保使用以下命令启用自动升级。 + +``` +echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox +``` + +- 重启系统(可选)并享受 deb 版本的 Firefox。 + +#### 方法 2 – 使用 Firefox 的压缩可执行文件 + +- 你可以从官方网站(下面的链接)下载适用于 Ubuntu 和其他 Linux 的压缩 Firefox 可执行文件。然后解压并双击运行 firefox 可执行文件。这是最安全的方法。如果你使用此方法,你仍然可以获得更新。 + +[下载 Firefox][6] + +![下载 Firefox 并解压][7] + +![然后运行可执行文件][8] + +#### 方法 3 – 使用 Flatpak 版本的 Firefox + +- 你也可以使用 [Flatpak 版本的 Firefox][9],这在 [Ubuntu 中设置 Flatpak][10] 后可用。然后你可以运行以下命令进行安装。 + +``` +flatpak install flathub org.mozilla.firefox +``` + +#### 方法 4 – 使用与系统耦合更少的 Snap 版本 Firefox + +- 如果你认为你仍然可以继续使用 Snap 版本但希望在系统中减少沙盒,那么你可能需要使用以下命令和 [classic 开关][11]重新安装 Firefox。 + +``` +sudo snap install firefox --classic +``` + +### 结束语 + +因此,这是从 Ubuntu 21.10 开始删除 firefox snap 版本的步骤。以及一些替代品。我很想知道 Linux Mint 采取了什么措施,因为他们与 Snap 不兼容。。此外,这些发行版依赖于 Firefox 的 Ubuntu 上游仓库,看看它们会做什么很有趣。 Debian 维护自己的仓库,但主要是 ESR 版本。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ + +作者:[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://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1943840 +[2]: https://www.debugpoint.com/wp-content/uploads/2021/09/snap-list-Firefox.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Firefox-snap-desktop-shortcut-1024x490.jpg +[4]: https://www.debugpoint.com/2021/03/clean-up-snap/ +[5]: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa +[6]: https://www.mozilla.org/en-US/firefox/new/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Download-Firefox-and-Extract.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/09/And-then-run-the-executable.jpg +[9]: https://flathub.org/apps/details/org.mozilla.firefox +[10]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ +[11]: https://snapcraft.io/docs/snap-confinement From 55ba3c251aee21e1fc2c898a30442b8123409c35 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 9 Nov 2022 09:07:44 +0800 Subject: [PATCH 338/925] translating --- ... ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md index 702d9a7c96..447ea5c453 100644 --- a/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md +++ b/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/boost-speaker-volume-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 65480d9c34a0132f8d0e1c2708f22f7b095be436 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 9 Nov 2022 10:09:59 +0800 Subject: [PATCH 339/925] R @lxbwolf --- ...903 Infuse your awk scripts with Groovy.md | 263 +++++++++--------- 1 file changed, 129 insertions(+), 134 deletions(-) diff --git a/translated/tech/20220903 Infuse your awk scripts with Groovy.md b/translated/tech/20220903 Infuse your awk scripts with Groovy.md index c515288b3e..2cca81c39e 100644 --- a/translated/tech/20220903 Infuse your awk scripts with Groovy.md +++ b/translated/tech/20220903 Infuse your awk scripts with Groovy.md @@ -3,38 +3,43 @@ [#]: author: "Chris Hermansen https://opensource.com/users/clhermansen" [#]: collector: "lkxed" [#]: translator: "lxbwolf" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " 为你的 awk 脚本注入 Groovy ====== -Awk 和 Groovy 相辅相成,可以创建强大、有用的脚本。 -最近我写了一个关于使用 Groovy 脚本来清理我的音乐文件中的标签的系列。我开发了一个[框架][2],可以识别我的音乐目录的结构,并使用它来遍历内容文件。在该系列的最后一篇文章中,我从框架中分离出一个实用类,我的脚本可以用它来处理内容文件。 +![](https://img.linux.net.cn/data/attachment/album/202211/09/100129hp5bze5bbbbmddw6.jpg) -这个独立的框架让我想起了很多 awk 的工作方式。对于那些不熟悉 awk 的人来说,你学习下发表在 Opensource.com 的电子书 [awk 实用指南][3]。 +> awk 和 Groovy 相辅相成,可以创建强大、有用的脚本。 -我从 1984 年开始大量使用 awk,当时我们的小公司买了第一台”真正的“计算机,它运行的是 System V Unix。对我来说,awk 是非常完美的:它有关联内存——认为数组是由字符串而不是数字来索引的。它内置了正则表达式,尤其是在列处理中似乎专为处理数据而生,而且结构紧凑,易于学习。最后,它非常适合在 Unix 工作流使用,从标准输入或文件中读取数据并写入到输出,数据不需要经过其他的转换就出现在了输入流中。 +最近我写了一个使用 Groovy 脚本来清理我的音乐文件中的标签的系列。我开发了一个 [框架][2],可以识别我的音乐目录的结构,并使用它来遍历音乐文件。在该系列的最后一篇文章中,我从框架中分离出一个实用类,我的脚本可以用它来处理文件。 + +这个独立的框架让我想起了很多 awk 的工作方式。对于那些不熟悉 awk 的人来说,你学习下这本电子书: + +> **[《awk 实用指南》][3]** + +我从 1984 年开始大量使用 awk,当时我们的小公司买了第一台“真正的”计算机,它运行的是 System V Unix。对我来说,awk 是非常完美的:它有关联内存associative memory——将数组视为由字符串而不是数字来索引的。它内置了正则表达式,似乎专为处理数据而生,尤其是在处理数据列时,而且结构紧凑,易于学习。最后,它非常适合在 Unix 工作流使用,从标准输入或文件中读取数据并写入到输出,数据不需要经过其他的转换就出现在了输入流中。 说 awk 是我日常计算工具箱中的一个重要部分一点也不为过。然而,在我使用 awk 的过程中,有几件事让我感到不满意。 -可能主要的问题是 awk 善于处理有分隔字段的数据,但很奇怪它不善于处理 CSV 文件,因为 CSV 文件的字段被引号包围时可以嵌入分隔符。另外,自 awk 发明以来,正则表达式已经有了很大的发展,我们需要记住两套正则表达式的语法规则,而这并不利于编写无 bug 的代码。[一套这样的规则已经很糟糕了][4]。 +可能主要的问题是 awk 善于处理以分隔字段呈现的数据,但很奇怪它不善于处理 CSV 文件,因为 CSV 文件的字段被引号包围时可以嵌入逗号分隔符。另外,自 awk 发明以来,正则表达式已经有了很大的发展,我们需要记住两套正则表达式的语法规则,而这并不利于编写无 bug 的代码。[一套这样的规则已经很糟糕了][4]。 -由于 awk 是一门简洁的语言,因此它缺少很多我认为有用的东西,比如更丰富的基础类型、结构体、switch 语句等等。 +由于 awk 是一门简洁的语言,因此它缺少很多我认为有用的东西,比如更丰富的基础类型、结构体、`switch` 语句等等。 -相比之下,Groovy 拥有这些能力:请参照 [OpenCSV 库][5],它很擅长处理 CSV 文件、Java 正则表达式和强大的匹配运算符、丰富的基础类型、类、 switch 语句等等。 +相比之下,Groovy 拥有这些能力:可以使用 [OpenCSV 库][5],它很擅长处理 CSV 文件、Java 正则表达式和强大的匹配运算符、丰富的基础类型、类、`switch` 语句等等。 Groovy 所缺乏的是简单的面向管道的概念,即把要处理数据作为一个传入的流,以及把处理过的数据作为一个传出的流。 -但我的音乐目录处理框架让我想到,也许我可以创建一个 Groovy 版本的 awk "引擎"。这就是我写这篇文章的目的。 +但我的音乐目录处理框架让我想到,也许我可以创建一个 Groovy 版本的 awk “引擎”。这就是我写这篇文章的目的。 ### 安装 Java 和 Groovy -Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 和 Groovy 版本可能都在你的 Linux 发行版的软件库中。Groovy 也可以按照 [Groovy主页][6]上的说明进行安装。对于 Linux 用户来说,一个不错的选择是 [SDKMan][7],它可以用来获得多个版本的 Java、Groovy 和其他许多相关工具。在这篇文章中,我使用的是SDK的版本: +Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 和 Groovy 版本可能都在你的 Linux 发行版的软件库中。Groovy 也可以按照 [Groovy 主页][6] 上的说明进行安装。对于 Linux 用户来说,一个不错的选择是 [SDKMan][7],它可以用来获得多个版本的 Java、Groovy 和其他许多相关工具。在这篇文章中,我使用的是 SDK 的版本: -* Java: version 11.0.12-open of OpenJDK 11; -* Groovy: version 3.0.8. +* Java:OpenJDK 11 的 11.0.12 的开源版本 +* Groovy:3.0.8 ### 使用 Groovy 创建 awk @@ -53,82 +58,77 @@ Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java ### 框架类 -下面是 “awk 引擎”的 Groovy 类: +下面是用 Groovy 类实现的 “awk 引擎”: ``` -1 @Grab('com.opencsv:opencsv:5.6') - 2 import com.opencsv.CSVReader - 3 public class AwkEngine { - 4 // With admiration and respect for - 5 //     Alfred Aho - 6 //     Peter Weinberger - 7 //     Brian Kernighan - 8 // Thank you for the enormous value - 9 // brought my job by the awk -10 // programming language -11 Closure onBegin -12 Closure onEachLine -13 Closure onEnd - -14 private String fieldSeparator -15 private boolean isFirstLineHeader -16 private ArrayList fileNameList -    -17 public AwkEngine(args) { -18     this.fileNameList = args -19     this.fieldSeparator = "|" -20     this.isFirstLineHeader = false -21 } -    -22 public AwkEngine(args, fieldSeparator) { -23     this.fileNameList = args -24     this.fieldSeparator = fieldSeparator -25     this.isFirstLineHeader = false -26 } -    -27 public AwkEngine(args, fieldSeparator, isFirstLineHeader) { -28     this.fileNameList = args -29     this.fieldSeparator = fieldSeparator -30     this.isFirstLineHeader = isFirstLineHeader -31 } -    -32 public void go() { -33     this.onBegin() -34     int recordNumber = 0 -35     fileNameList.each { fileName -> -36         int fileRecordNumber = 0 -37         new File(fileName).withReader { reader -> -38             def csvReader = new CSVReader(reader, -39                 this.fieldSeparator.charAt(0)) -40             if (isFirstLineHeader) { -41                 def csvFieldNames = csvReader.readNext() as -42                     ArrayList -43                 csvReader.each { fieldsByNumber -> -44                     def fieldsByName = csvFieldNames. -45                         withIndex(). -46                         collectEntries { name, index -> -47                             [name, fieldsByNumber[index]] -48                         } -49                     this.onEachLine(fieldsByName, -50                             recordNumber, fileName, -51                             fileRecordNumber) -52                     recordNumber++ -53                     fileRecordNumber++ -54                 } -55             } else { -56                 csvReader.each { fieldsByNumber -> -57                     this.onEachLine(fieldsByNumber, -58                         recordNumber, fileName, -59                         fileRecordNumber) -60                     recordNumber++ -61                     fileRecordNumber++ -62                 } -63             } -64         } -65     } -66     this.onEnd() -67 } -68 } +@Grab('com.opencsv:opencsv:5.6') +import com.opencsv.CSVReader +public class AwkEngine { + // With admiration and respect for + // Alfred Aho + // Peter Weinberger + // Brian Kernighan + // Thank you for the enormous value + // brought my job by the awk + // programming language + Closure onBegin + Closure onEachLine + Closure onEnd + private String fieldSeparator + private boolean isFirstLineHeader + private ArrayList fileNameList + public AwkEngine(args) { + this.fileNameList = args + this.fieldSeparator = "|" + this.isFirstLineHeader = false + } + public AwkEngine(args, fieldSeparator) { + this.fileNameList = args + this.fieldSeparator = fieldSeparator + this.isFirstLineHeader = false + } + public AwkEngine(args, fieldSeparator, isFirstLineHeader) { + this.fileNameList = args + this.fieldSeparator = fieldSeparator + this.isFirstLineHeader = isFirstLineHeader + } + public void go() { + this.onBegin() + int recordNumber = 0 + fileNameList.each { fileName -> + int fileRecordNumber = 0 + new File(fileName).withReader { reader -> + def csvReader = new CSVReader(reader, + this.fieldSeparator.charAt(0)) + if (isFirstLineHeader) { + def csvFieldNames = csvReader.readNext() as + ArrayList + csvReader.each { fieldsByNumber -> + def fieldsByName = csvFieldNames. + withIndex(). + collectEntries { name, index -> + [name, fieldsByNumber[index]] + } + this.onEachLine(fieldsByName, + recordNumber, fileName, + fileRecordNumber) + recordNumber++ + fileRecordNumber++ + } + } else { + csvReader.each { fieldsByNumber -> + this.onEachLine(fieldsByNumber, + recordNumber, fileName, + fileRecordNumber) + recordNumber++ + fileRecordNumber++ + } + } + } + } + this.onEnd() + } +} ``` 虽然这看起来是相当多的代码,但许多行是因为太长换行了(例如,通常你会合并第 38 行和第 39 行,第 41 行和第 42 行,等等)。让我们逐行看一下。 @@ -137,13 +137,13 @@ Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 第 2 行我引入了 OpenCSV 的 `CSVReader` 类 -第 3 行,像 Java 一样,我声明了一个 public 实用类 `AwkEngine`。 +第 3 行,像 Java 一样,我声明了一个 `public` 实用类 `AwkEngine`。 -第 11-13 行定义了脚本所使用的 Groovy 闭包实例,作为该类的钩子。像任何 Groovy 类一样,它们“默认是 public”,但 Groovy 将这些字段创建为 private,并对其进行外部引用(使用 Groovy 提供的 getter 和 setter 方法)。我将在下面的示例脚本中进一步解释这个问题。 +第 11-13 行定义了脚本所使用的 Groovy 闭包实例,作为该类的钩子。像任何 Groovy 类一样,它们“默认是 `public`”,但 Groovy 将这些字段创建为 `private`,并对其进行外部引用(使用 Groovy 提供的 getter 和 setter 方法)。我将在下面的示例脚本中进一步解释这个问题。 -第 14-16 行声明了 private 字段 —— 字段分隔符,一个指示文件第一行是否为标题的 flag,以及一个文件名的列表。 +第 14-16 行声明了 `private` 字段 —— 字段分隔符,一个指示文件第一行是否为标题的标志,以及一个文件名的列表。 -第 17-31 行定义了三个构造函数。第一个接收命令行参数。第二个接收字段的分隔符。第三个接收指示第一行是否为标题的 flag。 +第 17-31 行定义了三个构造函数。第一个接收命令行参数。第二个接收字段的分隔符。第三个接收指示第一行是否为标题的标志。 第 31-67 行定义了引擎本身,即 `go()` 方法。 @@ -151,7 +151,7 @@ Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 第 34 行初始化流的 `recordNumber`(等同于 awk 的 `NR` 变量)为 0(注意我这里是从 00 而不是 1 开始的)。 -第 35-65 行实用 each `{}` 来循环处理列表中的文件。 +第 35-65 行使用 `each` `{}` 来循环处理列表中的文件。 第 36 行初始化文件的 `fileRecordNumber`(等同于 awk 的 `FNR` 变量)为 0(从 0 而不是 1 开始)。 @@ -165,9 +165,9 @@ Groovy 是基于 Java 的,需要先安装 Java。最新的、合适的 Java 第 43-54 行处理其他的行。 -第 44-48 行把字段的值复制到 `name:value` 的 map 中。 +第 44-48 行把字段的值复制到 `name:value` 的映射中。 -第 49-51 行调用 `onEachLine()` 闭包(等同于 awk 程序 `BEGIN {}` 和 `END {}` 之间的部分,不同的是,这里不能输入执行条件),传入的参数是 `name:value` map、处理过的总行数、文件名和该文件处理过的行数。 +第 49-51 行调用 `onEachLine()` 闭包(等同于 awk 程序 `BEGIN {}` 和 `END {}` 之间的部分,不同的是,这里不能输入执行条件),传入的参数是 `name:value` 映射、处理过的总行数、文件名和该文件处理过的行数。 第 52-53 行是处理过的总行数和该文件处理过的行数的自增。 @@ -204,30 +204,27 @@ OpenCSV 可能会返回 `String[]` 值,不像 Groovy 中的 `List` 值那样 下面是一个使用 `AwkEngine` 来处理 `/etc/group` 之类由冒号分隔并没有标题的文件的简单脚本: ``` -1 def ae = new AwkEngine(args, ‘:') -2 int lineCount = 0 +def ae = new AwkEngine(args, ':') +int lineCount = 0 +ae.onBegin = { +  println “in begin” +} +ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> +  if (lineCount < 10) +    println “fileName $fileName fields $fields” +    lineCount++ +} +ae.onEnd = { +   println “in end” +   println “$lineCount line(s) read” +} -3 ae.onBegin = { -4    println “in begin” -5 } - -6 ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> -7    if (lineCount < 10) -8       println “fileName $fileName fields $fields” -9       lineCount++ -10 } - -11 ae.onEnd = { -12    println “in end” -13    println “$lineCount line(s) read” -14 } - -15 ae.go() +ae.go() ``` 第 1 行 调用的有两个参数的构造函数,传入了参数列表,并定义冒号为分隔符。 -第 2 行定义一个脚本级的变量 `lineCount`,用来记录处理过的行数(注意,Groovy 闭包不要求定义在外部的变量为 final)。 +第 2 行定义一个脚本级的变量 `lineCount`,用来记录处理过的行数(注意,Groovy 闭包不要求定义在外部的变量为 `final`)。 第 3-5 行定义 `onBegin()` 闭包,在标准输出中打印出 “in begin” 字符串。 @@ -264,37 +261,35 @@ $ 下面是另一个更有趣的脚本,它很容易让人想起我对 awk 的典型使用方式: ``` -1 def ae = new AwkEngine(args, ‘;', true) -2 ae.onBegin = { -3    // nothing to do here -4 } +def ae = new AwkEngine(args, ';', true) +ae.onBegin = { +   // nothing to do here +} +def regionCount = [:] +   ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> +   regionCount[fields.REGION] = +   (regionCount.containsKey(fields.REGION) ? +   regionCount[fields.REGION] : 0) + +  (fields.PERSONAS as Integer) +} +ae.onEnd = { +   regionCount.each { region, population -> +   println “Region $region population $population” + } +} -5 def regionCount = [:] -6    ae.onEachLine = { fields, recordNumber, fileName, fileRecordNumber -> -7    regionCount[fields.REGION] = -8    (regionCount.containsKey(fields.REGION) ? -9    regionCount[fields.REGION] : 0) + -10   (fields.PERSONAS as Integer) -11 } - -12 ae.onEnd = { -13    regionCount.each { region, population -> -14    println “Region $region population $population” -15    } -16 } - -17 ae.go() +ae.go() ``` 第 1 行调用了三个函数的构造方法,`true` 表示这是“真正的 CSV” 文件,第一行为标题。由于它是西班牙语的文件,因此它的逗号表示数字的`点`,标准的分隔符是分号。 第 2-4 行定义 `onBegin()` 闭包,这里什么也不做。 -第 5 行定义一个(空的)`LinkedHashmap`,key 是 String 类型,value 是 Integer 类型。数据文件来自于智利最近的人口普查,你要在这个脚本中计算出智利每个地区的人口数量。 +第 5 行定义一个(空的)`LinkedHashmap`,键是 String 类型,值是 Integer 类型。数据文件来自于智利最近的人口普查,你要在这个脚本中计算出智利每个地区的人口数量。 第 6-11 行处理文件中的行(加上标题一共有 180,500 行)—— 请注意在这个案例中,由于你定义 第 1 行为 CSV 列的标题,因此 `fields` 参数会成为 `LinkedHashMap` 实例。 -第 7-10 行是 `regionCount` map 计数增加,key 是 `REGION` 字段的值,value 是 `PERSONAS` 字段的值 —— 请注意,与 awk 不同,在 Groovy 中你不能在赋值操作的右边使用一个不存在的 map 而期望得到空值或零值。 +第 7-10 行是 `regionCount` 映射计数增加,键是 `REGION` 字段的值,值是 `PERSONAS` 字段的值 —— 请注意,与 awk 不同,在 Groovy 中你不能在赋值操作的右边使用一个不存在的映射而期望得到空值或零值。 第 12-16 行,打印每个地区的人口数量。 @@ -332,7 +327,7 @@ via: https://opensource.com/article/22/9/awk-groovy 作者:[Chris Hermansen][a] 选题:[lkxed][b] 译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From f2ea94ca2411eca93cca6bff8bde916f42b073e6 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 9 Nov 2022 10:10:27 +0800 Subject: [PATCH 340/925] P @lxbwolf https://linux.cn/article-15231-1.html --- .../20220903 Infuse your awk scripts with Groovy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20220903 Infuse your awk scripts with Groovy.md (99%) diff --git a/translated/tech/20220903 Infuse your awk scripts with Groovy.md b/published/20220903 Infuse your awk scripts with Groovy.md similarity index 99% rename from translated/tech/20220903 Infuse your awk scripts with Groovy.md rename to published/20220903 Infuse your awk scripts with Groovy.md index 2cca81c39e..b171a49201 100644 --- a/translated/tech/20220903 Infuse your awk scripts with Groovy.md +++ b/published/20220903 Infuse your awk scripts with Groovy.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "lxbwolf" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15231-1.html" 为你的 awk 脚本注入 Groovy ====== From 54a6da3b0757e861c5bf96328e6a35e65c7958f2 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 9 Nov 2022 11:44:04 +0800 Subject: [PATCH 341/925] translated --- ... are the Mascots of All Ubuntu Releases.md | 461 ----------------- ... are the Mascots of All Ubuntu Releases.md | 466 ++++++++++++++++++ 2 files changed, 466 insertions(+), 461 deletions(-) delete mode 100644 sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md create mode 100644 translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md diff --git a/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md deleted file mode 100644 index 2e402a9564..0000000000 --- a/sources/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md +++ /dev/null @@ -1,461 +0,0 @@ -[#]: subject: "For the Love of Ubuntu: Here are the Mascots of All Ubuntu Releases" -[#]: via: "https://itsfoss.com/all-Ubuntu-mascots/" -[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -For the Love of Ubuntu: Here are the Mascots of All Ubuntu Releases -====== -This is a collection of the mascots of all the Ubuntu releases so far. - -You may have noticed that every Ubuntu release has a version name and codename. The codename is composed of two words that start with the same letter. The first word is an adjective, and the other one is (usually) an (endangered) species. - -These releases also have a mascot for those codenames. Ubuntu 22.04 is codenamed Jammy Jellyfish and hence the Jellyfish mascot on its wallpaper. - -These ‘mascots’ were not always part of Ubuntu releases. The codenames were always there, but not the mascots. - -The first-ever Ubuntu release was version 4.10 in October 2004. But it wasn’t until the Ubuntu 8.04 LTS ‘Hardy Heron’ release that you saw the associated mascot. - -Earlier, I complied the [list of the default wallpapers of all Ubuntu releases][1]. In this one, you get to look at the mascots of those releases. - -Let’s hop on to Ubuntu’s mascot journey in reverse chronological order. - -### Ubuntu 22.04 Jammy Jellyfish - -![Ubuntu 22.04 mascot][2] - -Released on 21 April 2021. - -Jammy means covered with, filled with, or resembling jam. Informally, it also means lucky. - -Jellyfish are mainly free-swimming marine animals with umbrella-shaped bells and trailing tentacles, although a few are anchored to the seabed by stalks rather than being mobile. - -### Ubuntu 21.10 Impish Indri - -![Ubuntu 21.10 mascot][3] - -Released on 14 October 2021. - -Impish means showing no respect for somebody/something in a way that is amusing rather than serious. - -The Indri, also called the babakoto, is one of the largest living lemurs, with a head-and-body length of about 64–72 cm and a weight of between 6 and 9.5 kg. It has a black and white coat and maintains an upright posture when climbing or clinging - -### Ubuntu 21.04 Hirsute Hippo - -![Ubuntu 21.04 mascot][4] - -Released on 22 April 2021. - -Hirsute means hairy. - -The hippopotamus, also called the hippo, common hippopotamus, or river hippopotamus, is a large semiaquatic mammal native to sub-Saharan Africa. It is one of only two extant species in the family Hippopotamidae, the other being the pygmy hippopotamus. Its name comes from the ancient Greek for “river horse”. - -Not sure if I have seen many hairy hippo. - -### Ubuntu 20.10 Groovy Gorilla - -![Ubuntu 20.10 mascot][5] - -Released on 22 October 2020. - -Groovy means fashionable and exciting. - -Gorillas are herbivorous, predominantly ground-dwelling great apes that inhabit the tropical forests of equatorial Africa. The genus Gorilla is divided into two species: the eastern gorilla and the western gorilla, and either four or five subspecies. - -### Ubuntu 20.04 LTS Focal Fossa - -![Ubuntu 20.04 mascot 1][6] - -Released on 23 April 2020. - -Focal means something providing a focus, important in other meaning. - -The fossa (Cryptoprocta ferox) is **the largest carnivorous mammal on the island of Madagascar**. They can reach nearly six feet in length, with half of that due to their long tails. They look like a cross between a cat, a dog, and a mongoose. Fossas have slender bodies, muscular limbs, and short, reddish-brown coats. - -### Ubuntu 19.10 Eoan Ermine - -![Ubuntu 19.10 mascot][7] - -Released on 17 October 2019. - -Eoan means relating to dawn or east. - -The stoat or short-tailed weasel, also known as the Eurasian ermine, Beringian ermine, or simply ermine, is a mustelid native to Eurasia and the northern portions of North America. Because of its wide circumpolar distribution, it is listed as Least Concern on the IUCN Red List. - -### Ubuntu 19.04 Disco Dingo - -![Ubuntu 19.04 mascot][8] - -Released on 18 April 2019. - -Disco relates to the disco music and nightclubs. - -The dingo is an ancient lineage of dog found in Australia. Its taxonomic classification is debated as indicated by the variety of scientific names presently applied in different publications. - -### Ubuntu 18.10 Cosmic Cuttlefish - -![Ubuntu 18.10 mascot][9] - -Released on 18 October 2018. - -Cosmic means something distinct from the earth, - -Cuttlefish or cuttles are marine molluscs of the order Sepiida. They belong to the class Cephalopoda, which also includes squid, octopuses, and nautiluses. Cuttlefish have a unique internal shell, the cuttlebone, which is used for control of buoyancy. - -### Ubuntu 18.04 LTS Bionic Beaver - -![Ubuntu 18.04 mascot][10] - -Released on 26 April 2018. - -Bionic means having or denoting an artificial, typically electromechanical, body part or parts. - -Beavers are large, semiaquatic rodents in the genus Castor native to the temperate Northern Hemisphere. There are two extant species: the North American beaver and the Eurasian beaver. Beavers are the second-largest living rodents after the capybaras. - -The British users found this release name particularly amusing. - -### Ubuntu 17.10 Artful Aardvark - -![Ubuntu 17.10 mascot][11] - -Released on 19 October 2017. - -Ubuntu switched back to GNOME by default with this release. - -Artful means cleaver or carfty. - -The aardvark is a medium-sized, burrowing, nocturnal mammal native to Africa. It is the only living species of the order Tubulidentata, although other prehistoric species and genera of Tubulidentata are known. Unlike most other insectivores, it has a long pig-like snout, which is used to sniff out food. - -### Ubuntu 17.04 Zesty Zapus - -![Ubuntu 17.04 mascot][12] - -Released on 13 April 2017. - -Last release to feature the Unity desktop. - -Zesty means having a strong, pleasant, and somewhat spicy flavor. - -Zapus is a genus of North American jumping mouse. It is the only genus whose members have the dental formula. Zapus are the only extant mammals aside from the Aye-aye with a total of 18 teeth. - -### Ubuntu 16.10 Yakkety Yak - -![Ubuntu 16.10 mascot][13] - -Released on 13 October 2016. - -‘Yakkety’ could mean a lot of things. While ‘yakking’ is an informal term for talking a lot, ‘yakkety’ could be an alternative spelling of ‘Yakety’ Sax — a well known pop-jazz musical instrument, says OMGUbuntu!. - -Yak is a large domesticated wild ox with shaggy hair, humped shoulders, and large horns, used in Tibet as a pack animal and for its milk, meat, and hide. - -### Ubuntu 16.04 LTS Xenial Xerus - -![Ubuntu 16.04 mascot][14] - -Released on 21 April 2016. - -Xenial means something related to hospitality. - -The Xerus has four subspecies – **cape ground squirrel, striped ground squirrel, mountain ground squirrel, and unstriped ground squirrel**. These animals are diurnal and are usually known to be herbivores in nature and usually eat nuts, roots, and seeds. However, sometimes they also eat eggs and other small animals. - -### Ubuntu 15.10 Wily Werewolf - -![Ubuntu 15.10 mascot][15] - -Released on 22 October 2015. - -Perhaps one of the rare Ubuntu releases that had a finctional character in its codename, unless you don’t consider warewolves fictional. - -Wily means skilled at gaining an advantage, especially deceitfully. - -The werewolves are mythical creatures that can hide their ears and tail. It is a human but also a wolf, and most people fear them because of how they look. - -### Ubuntu 15.04 Vivid Vervet - -![Ubuntu 15.04 mascot][16] - -Released on 23 April 2015. - -Vivid means intensely deep or bright.. - -The vervet monkey, or simply vervet, is an Old World monkey of the family Cercopithecidae native to Africa. The term “vervet” is also used to refer to all the members of the genus Chlorocebus. The five distinct subspecies can be found mostly throughout Southern Africa, as well as some of the eastern countries. - -### Ubuntu 14.10 Utopic Unicorn - -![Ubuntu 14.10 mascot][17] - -Released on 23 October 2014. - -Another of the Ubuntu release with fictional animal in its release codename unless you consider Unicrons are real. - -Utopic relates to utopia which is a fictional, impractical but ideal place. - -The **unicorn** is a legendary creature that has been described since antiquity as a beast with a single large, pointed, spiraling horn projecting from its forehead. - -### Ubuntu 14.04 LTS Trusty Tahr - -![Ubuntu 14.04 mascot][18] - -Released on 17 April 2014. - -Trusty means reliable or faithful. - -Tahr is a goatlike mammal that inhabits cliffs and mountain slopes in Oman, southern India, and the Himalayas. - -### Ubuntu 13.10 Saucy Salamander - -![Ubuntu 13.10 mascot][19] - -Released on 17 October 2013. - -Saucy means expressing in a bold, lively, or spirited manner. - -Salamanders are a group of amphibians typically characterized by their lizard-like appearance, with slender bodies, blunt snouts, short limbs projecting at right angles to the body, and the presence of a tail in both larvae and adults. All ten extant salamander families are grouped together under the order Urodela. - -### Ubuntu 13.04 Raring Ringtail - -![Ubuntu 13.04 mascot][20] - -Released on 25 April 2013. - -Raring means very enthusiastic and eager to do something. - -The Ringtail is **a cat-sized carnivore resembling a small fox with a long raccoonlike tail**. Its bushy tail is flattened and nearly as long as the head and body, with alternating black and white rings. These animals are almost wholly nocturnal and spend the majority of the day sleeping in their dens. - -### Ubuntu 12.10 Quantal Quetzal - -![Ubuntu 12.10 mascot][21] - -Released on 18 October 2012. - -Quantal means relating to a quantum or quanta, or to quantum theory. - -**Quetzals** are strikingly colored birds in the trogon family. They are found in forests, especially in humid highlands, with the five species from the genus *Pharomachrus* being exclusively Neotropical, while a single species, the eared quetzal, *Euptilotis neoxenus*, is found in Mexico and very locally in the southernmost United States. Quetzals are fairly large (all over 32 cm or 13 inches long), slightly bigger than other trogon species. The resplendent quetzal is the national bird of Guatemala because of its vibrant colour. - -### Ubuntu 12.04 LTS Precise Pangolin - -![Ubuntu 12.04 mascot][22] - -Released on 26 April 2012. - -Precise means marked by exactness and accuracy of expression or detail. - -Pangolins, sometimes known as scaly anteaters, are mammals of the order Pholidota. The one extant family, the Manidae, has three genera: Manis, Phataginus, and Smutsia. Manis comprises the four species found in Asia, while Phataginus and Smutsia include two species each, all found in sub-Saharan Africa. - -### Ubuntu 11.10 Oneiric Ocelot - -![Ubuntu 11.10 mascot][23] - -Released on 13 October 2011. - -Onerice relates to dreams or dreaming. - -The ocelot (Leopardus pardalis) is a medium-sized spotted wild cat that reaches 40–50 cm (15.7–19.7 in) at the shoulders and weighs between 8 and 15.5 kg (17.6 and 34.2 lb). It was first described by Carl Linnaeus in 1758. - -### Ubuntu 11.04 Natty Narwhal - -![Ubuntu 11.04 mascot][24] - -Released on 28 April 2011. - -The first release to feature the Unity desktop. - -Natty means smart and fashionable. - -The narwhal, also known as a narwhale, is a medium-sized toothed whale that possesses a large “tusk” from a protruding canine tooth. It lives year-round in the Arctic waters around Greenland, Canada and Russia. It is one of two living species of whale in the family Monodontidae, along with the beluga whale. - -### Ubuntu 10.10 Maverick Meerkat - -![Ubuntu 10.10 mascot][25] - -Released on 10 October 2010. - -Maverick means an unorthodox or independent-minded person. - -The meerkat or suricate is a small mongoose found in southern Africa. It is characterised by a broad head, large eyes, a pointed snout, long legs, a thin tapering tail, and a brindled coat pattern. - -### Ubuntu 10.04 LTS Lucid Lynx - -![Ubuntu 10.04 mascot][26] - -Released on 29 April 2010. - -Lucid means easy to understand or bright. - -A lynx is any of the four species within the medium-sized wild cat genus Lynx. The name lynx originated in Middle English via Latin from the Greek word λύγξ, derived from the Indo-European root leuk- in reference to the luminescence of its reflective eyes. - -### Ubuntu 9.10 Karmic Koala - -![Ubuntu 9.10 mascot][27] - -Released on 29 October 2009. - -Karmic means relating to or characteristic of karma. - -The koala or, inaccurately, koala bear is an arboreal herbivorous marsupial native to Australia. It is the only extant representative of the family Phascolarctidae and its closest living relatives are the wombats. - -### Ubuntu 9.04 Jaunty Jackalope - -![Ubuntu 9.04 mascot][28] - -Released on 23 April 2009. - -The first Ubuntu version I ever used. - -Jaunty means having or expressing a lively, cheerful, and self-confident manner. - -The jackalope is **a mythical animal of North American folklore, in the category of fearsome critters, described as a jackrabbit with antelope horns**. The word jackalope is a portmanteau of jackrabbit and antelope. Many jackalope taxidermy mounts, including the original, are made with deer antlers. - -### Ubuntu 8.10 Intrepid Ibex - -![Ubuntu 8.10 mascot][29] - -Released on 30 October 2008. - -Intrepid means fearless; adventurous. - -An ibex is any of several species of wild goat, distinguished by the male’s large recurved horns, which are transversely ridged in front. Ibex are found in Eurasia, North Africa and East Africa. - -### Ubuntu 8.04 LTS Hardy Heron - -![Ubuntu 8.04 mascot][30] - -Released on 24 April 2008. - -The first Ubuntu release where the mascot appeared on its default wallpaper. - -Hardy means capable of enduring difficult conditions; robust. - -The herons are long-legged, long-necked, freshwater and coastal birds - -### Ubuntu 7.10 Gutsy Gibbon - -![Ubuntu 7.10 mascot][31] - -Released on 18 October 2007. - -Gusty is characterized by or blowing in gusts. - -Gibbons are apes live in subtropical and tropical rainforest from eastern Bangladesh to Northeast India to southern China and Indonesia - -### Ubuntu 7.04 Feisty Fawn - -![Ubuntu 7.04 mascot][32] - -Released on 19 April 2007. - -Feisty means small but determined. Fawn is a young deer in its first year. - -### Ubuntu 6.10 Edgy Eft  - -![Ubuntu 6.10 mascot][33] - -Released on 26 October 2006. - -Edgy means tense or nervous. - -Eft is the terrestrial juvenile phase of newt. A newt is a type of salamander (a type of lizard). This newt has three distinct developmental life stages: aquatic larva, terrestrial juvenile (eft), and adult. - -So basically eft is a teenaged newt :) - -### Ubuntu 6.06 Dapper Drake - -![Ubuntu 6.06 mascot][34] - -Released on 1 June 2006. - -Dapper means neat and trim in dress and appearance. Drake is a fully sexually mature adult male duck of any duck species. - -### Ubuntu 5.10 Breezy Badger - -![Ubuntu 5.10 mascot][35] - -Released on 12 October 2005. - -Breezy means pleasantly windy. - -Badgers are short-legged omnivores, united by their squat bodies, adapted for fossorial activity. - -### Ubuntu 5.04 Hoary Hedgehog  - -![Ubuntu 5.04 mascot][36] - -Released on 8 April 2005. - -Hoary means greyish white. - -A hedgehogis a spiny mammal found throughout parts of Europe, Asia, and Africa, and in New Zealand by introduction. - -### Ubuntu 4.10 : Warty Warthog - -![Ubuntu 4.10 mascot][37] - -Released on 20 October 2004. - -This is where it all started. - -Wart is a small, hard, benign growth on the skin, caused by a virus. Warty means someone full of warts. - -The common warthog is a wild member of the pig family found in grassland, savanna, and woodland in sub-Saharan Africa. - -### Conclusion - -Does this article add value to an Ubuntu user? Not technically, but it’s good to look back at the history. If you have been an Ubuntu user for years, it could trigger nostalgia. - -Ubuntu 9.04 was the first time I tried Linux on a desktop. It was in late September of 2009 if I recall correctly. Only a few weeks later, my system was upgraded to Ubuntu 9.10. I used to spend time browing in Ubuntu Forum thoses days, exploring this new OS and learning new things. - -So, did this article bring back some good old memories? Which was your first Ubuntu version? Share it in the comments. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/all-Ubuntu-mascots/ - -作者:[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/Ubuntu-default-wallpapers-download/ -[2]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-22-04-mascot.jpg -[3]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-21-10-mascot.jpg -[4]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-21-04-mascot.jpg -[5]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-20-10-mascot.jpg -[6]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-20-04-mascot-1.jpg -[7]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-19-10-mascot.jpg -[8]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-19-04-mascot.jpg -[9]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-18-10-mascot.jpg -[10]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-18-04-mascot.jpg -[11]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-17-10-mascot.jpg -[12]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-17-04-mascot.jpg -[13]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-16-10-mascot.jpg -[14]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-16-04-mascot.jpg -[15]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-15-10-mascot.jpg -[16]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-15-04-mascot.jpg -[17]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-14-10-mascot.jpg -[18]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-14-04-mascot.jpg -[19]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-13-10-mascot.jpg -[20]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-13-04-mascot.jpg -[21]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-12-10-mascot.jpg -[22]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-12-04-mascot.jpg -[23]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-11-10-mascot.jpg -[24]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-11-04-mascot.jpg -[25]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-10-10-mascot.jpg -[26]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-10-04-mascot.jpg -[27]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-9-10-mascot.jpg -[28]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-9-04-mascot.jpg -[29]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-8-10-mascot.jpg -[30]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-8-04-mascot.jpg -[31]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-7-10-mascot.jpg -[32]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-7-04-mascot.jpg -[33]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-6-10-mascot.jpg -[34]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-6-06-mascot.jpg -[35]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-5-10-mascot.jpg -[36]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-5-04-mascot.jpg -[37]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-4-10-mascot.jpg diff --git a/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md new file mode 100644 index 0000000000..95a5fa019c --- /dev/null +++ b/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md @@ -0,0 +1,466 @@ +[#]: subject: "For the Love of Ubuntu: Here are the Mascots of All Ubuntu Releases" +[#]: via: "https://itsfoss.com/all-Ubuntu-mascots/" +[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +对 Ubuntu 的热爱:Ubuntu 所有版本的吉祥物 +====== + +在这篇文章中,我们会介绍迄今为止所有 Ubuntu 发行版本的 吉祥物 mascot 。 + +你可能已经注意到了:每个 Ubuntu 版本都会有一个 版本名称 version name 代号 codename 。代号由两个单词组成,这两个单词有相同的首字母,第一个单词是形容词,另一个单词通常是一个濒危的物种名称。 + +对应于其代号,这些 Ubuntu 版本也有一个吉祥物。例如,Ubuntu 22.04 的代号为 Jammy Jellyfish,因此 Ubuntu 22.04 的桌面壁纸上有 **吉祥物:水母** 的图像。 + +但是实际上,这些“吉祥物”并不总是 Ubuntu 版本的一部分,因为吉祥物在早期的 Ubuntu 版本中是没有的。 + +有史以来第一个 Ubuntu 版本是在 2004 年 10 月发布的 4.10 版(LCTT 译注:Ubuntu 的版本号是由年份和月份的组合来表示的。)但是,直到 Ubuntu 8.04 LTS Hardy Heron 版本,你才会看到相关的吉祥物。 + +在我之前写的 [另一篇文章][1] 中,我整理了所有 Ubuntu 版本的默认壁纸。在本文中,你将了解到所有 Ubuntu 版本的吉祥物。 + +现在,就让我们按时间倒序,一起进入 Ubuntu 的吉祥物之旅吧。 + +### Ubuntu 22.04 Jammy Jellyfish(幸运的水母) + +![Ubuntu 22.04 mascot][2] + +于 2021 年 4 月 21 日发布。 + +Jammy 的意思是被果酱覆盖着的、充满果酱的。不太正式地,Jammy 还有**幸运**的意思。 + +水母 Jellyfish 是一种自由游动的水生动物,它的身体就像是一把透明伞,还具有拖曳的触须。 + +### Ubuntu 21.10 Impish Indri(顽皮的大狐猴) + +![Ubuntu 21.10 mascot][3] + +于 2021 年 10 月 14 日发布。 + +Impish 的意思是以**顽皮**而不是严肃的方式,对某人/某事不太尊重。 + +大狐猴 Indri ,也称为 babakoto,是最大的狐猴之一。它的头身长约 64 至 72 厘米,体重在 6 至 9.5 公斤之间。它的毛发是黑白相间的。在攀爬或攀爬时,它会保持竖直的姿势。 + +### Ubuntu 21.04 Hirsute Hippo(毛茸茸的河马) + +![Ubuntu 21.04 mascot][4] + +于 2021 年 4 月 22 日发布。 + +Hirsute 的意思是多毛的、**毛茸茸的**。 + +河马 Hippo ,是一种生活在非洲大陆撒哈拉以南的大型半水生哺乳动物。河马是河马科中仅有的两个现存物种之一,另一个物种是 侏儒河马 pygmy hippopotamus 。河马的名字来源于古希腊语“river horse”。 + +但是其实,我并没有见过很多毛茸茸的河马😅。 + +### Ubuntu 20.10 Groovy Gorilla(时髦的大猩猩) + +![Ubuntu 20.10 mascot][5] + +于 2020 年 10 月 22 日发布。 + +Groovy 的意思是**时尚的**和令人兴奋的。 + +大猩猩 Gorilla ,是一种草​​食性的地面类人猿。它主要栖息在赤道非洲的热带森林中。大猩猩属分为两个物种:东部大猩猩和西部大猩猩,以及进一步可分为四个或五个亚种。 + +### Ubuntu 20.04 LTS Focal Fossa(令人注目的狸猫) + +![Ubuntu 20.04 mascot 1][6] + +于 2020 年 4 月 23 日发布。 + +Focal 的意思是**令人注目的**。 + +马岛长尾狸猫 Fossa ,是**马达加斯加岛上最大的食肉性哺乳动物**。它身体的长度可以达到近六英尺,其中它们的长尾巴占了一半。它们看起来就像是猫、狗和獴的杂交体。它们有细长的身体、肌肉发达的四肢和短的红棕色毛发。 + +### Ubuntu 19.10 Eoan Ermine(东方的貂) + +![Ubuntu 19.10 mascot][7] + +于 2019 年 10 月 17 日发布。 + +Eoan 的意思是**与黎明或东方有关的**。 + +白鼬 Stoat ,也被称为欧亚貂、白令貂,简称 Ermine ,是一种原产于欧亚大陆和北美北部的鼬科动物。由于鼬在极地广泛分布,因此它被列为是 世界自然保护联盟红色名录 IUCN Red List 中最不担忧灭绝的物种。 + +### Ubuntu 19.04 Disco Dingo(迪斯科野狗) + +![Ubuntu 19.04 mascot][8] + +于 2019 年 4 月 18 日发布。 + +Disco 与**迪斯科**音乐和夜总会有关。 + +澳洲野犬 Dingo ,是在澳大利亚发现的一种古老的犬种。澳洲野犬的科属分类在不同出版物中不太一样,因此它的科属分类存在争议。 + +### Ubuntu 18.10 Cosmic Cuttlefish(不同的墨鱼) + +![Ubuntu 18.10 mascot][9] + +于 2018 年 10 月 18 日发布。 + +Cosmic 意味着与地球**不同的**、宇宙的。 + +墨鱼 Cuttlefish ,是乌贼目的一种海洋软体动物。它属于头足类,这一类还包含了鱿鱼、章鱼和鹦鹉螺。墨鱼有一个独特的内壳,即墨鱼骨,它可以用于控制浮力。 + +### Ubuntu 18.04 LTS Bionic Beaver(仿生海狸) + +![Ubuntu 18.04 mascot][10] + +于 2018 年 4 月 26 日发布。 + +Bionic 意味着**人工的**,或者是机电的。 + +海狸 Beaver ,是北半球温带的一种大型半水生啮齿动物。有两种现存的海狸:北美海狸和欧亚海狸。海狸是仅次于水豚的第二大啮齿动物。 + +英国用户认为这个版本的名称特别有趣。 + +### Ubuntu 17.10 Artful Aardvark(机灵的土豚) + +![Ubuntu 17.10 mascot][11] + +于 2017 年 10 月 19 日发布。 + +Ubuntu 在此版本中默认切换回了 GNOME。 + +Artful 的意思是聪明的或**机灵的**。 + +土豚 Aardvark ,是一种原产于非洲的中型、穴居、夜间活动的哺乳动物。它是管齿目中唯一的现存物种。与大多数其他食虫动物不同,它有一个长长的像猪一样的鼻子,可以闻出食物在哪里。 + +### Ubuntu 17.04 Zesty Zapus(开心的跳鼠) + +![Ubuntu 17.04 mascot][12] + +于 2017 年 4 月 13 日发布。 + +这个版本是最后一个以 Unity 桌面为特色的版本。 + +Zesty 意味着有一种强烈的、**令人愉快的**、有点辛辣的味道。 + +Zapus 是北美跳鼠中唯一一个有牙齿的一个属。Zapus 是除 指猴 Aye-aye 之外,唯一现存的有 18 颗牙齿的哺乳动物。 + +### Ubuntu 16.10 Yakkety Yak(牦牛) + +![Ubuntu 16.10 mascot][13] + +于 2016 年 10 月 13 日发布。 + +Yakkety 有很多意思。yakking 有唠唠叨叨这一非正式意思,yakkety 还可能是 喋喋不休的萨克斯 Yakety Sax 的另一种拼写。 + +牦牛 Yak ,是一种大型驯养的野牛。它的毛发蓬松,肩部隆起,有很大的角。在西藏,它是一种驮畜,人们也可以食用它的奶和肉、以及加工它的皮制作东西。 + +### Ubuntu 16.04 LTS Xenial Xerus(好客的非洲地松鼠) + +![Ubuntu 16.04 mascot][14] + +于 2016 年 4 月 21 日发布。 + +Xenial 的意思是**热情好客的**。 + +非洲地松鼠 Xerus ,有四个亚种,分别是**开普地松鼠,条纹地松鼠,山地松鼠和无条纹地松鼠**。这些动物是昼行性的,是食草动物,通常吃坚果、根和种子。然而,有时他们也会吃鸡蛋和其他小动物。 + +### Ubuntu 15.10 Wily Werewolf(狡猾的狼人) + +![Ubuntu 15.10 mascot][15] + +于 2015 年 10 月 22 日发布。 + +这个版本可能是其发布代号中带有虚构动物的 Ubuntu 版本之一。 + +Wily 的意思是善于获得优势,尤其在欺骗上十分**狡猾的**。 + +狼人 Werewolf ,是可以隐藏住耳朵和尾巴的一种神话生物。它是人,也是狼,大多数人因为它们的长相而害怕它们。 + +### Ubuntu 15.04 Vivid Vervet(活泼的小猴) + +![Ubuntu 15.04 mascot][16] + +于 2015 年 4 月 23 日发布。 + +Vivid 的意思是**生动**的、明亮的。 + +黑长尾猴 Vervet monkey ,是一种原产于非洲的角猿科的旧大陆猴。“vervet”一词也用于表示绿猴属 Chlorocebus 的所有动物,其中包含五个不同的亚种,这五个不同的亚种主要分布在南部非洲以及一些东部国家。 + +### Ubuntu 14.10 Utopic Unicorn(乌托邦独角兽) + +![Ubuntu 14.10 mascot][17] + +于 2014 年 10 月 23 日发布。 + +这个版本是另一个其发布代号中带有虚构动物的 Ubuntu 版本。 + +Utopic 与**乌托邦**有关,乌托邦是一个虚构的、不存在但是一个理想的地方。 + +独角兽 Unicorn ,是一种传说中的生物。自古以来,它就被描述为前额有一个巨大的、尖的、螺旋状的角的一种野兽。 + +### Ubuntu 14.04 LTS Trusty Tahr(可靠的塔尔羊) + +![Ubuntu 14.04 mascot][18] + +于 2014 年 4 月 17 日发布。 + +Trusty 意味着**可靠的**或忠实的。 + +塔尔羊 Tahr ,是一种很像山羊的哺乳动物。它们会栖息在阿曼、印度南部和喜马拉雅山脉的悬崖和山坡上。 + +### Ubuntu 13.10 Saucy Salamander(活泼的蝾螈) + +![Ubuntu 13.10 mascot][19] + +于 2013 年 10 月 17 日发布。 + +Saucy 意味着大胆的、**活泼的**或精神饱满的。 + +蝾螈 Salamander 是一类两栖动物。其典型特征是有着蜥蜴般的外观,它们有细长的身体,钝的鼻子,以及与身体成直角突出的短肢,并且幼体和成体都有尾巴。现存的所有十个蝾螈科都属于 乌罗德拉目 Urodela 。 + +### Ubuntu 13.04 Raring Ringtail(铆足了劲的猫熊) + +![Ubuntu 13.04 mascot][20] + +于 2013 年 4 月 25 日发布。 + +Raring 的意思是热情的和**非常渴望做某事**。 + +猫熊 Ringtail ,是**一种像猫一样大的食肉动物,类似于一只长着浣熊尾巴的小狐狸**。它浓密的尾巴是扁平的,几乎和头部和身体一样长,有交替的黑色和白色皮毛。它们是夜行动物,一天中的大部分时间都在它们的巢穴里睡觉。 + +### Ubuntu 12.10 Quantal Quetzal(量子的大咬鹃) + +![Ubuntu 12.10 mascot][21] + +于 2012 年 10 月 18 日发布。 + +Quantal 意味着与**量子**或量子理论有关的。 + +大咬鹃 Quetzal ,是咬鹃家族中的一种色彩鲜艳的鸟类。它们生活在森林中,主要是在潮湿的高地。来自*凤尾绿咬鹃属*的五种物种生活在新热带的,而另外一个物种,即角咬鹃,生活在墨西哥和美国最南端的局部地区。大咬鹃相当地大,它们的身体长度超过 32 厘米或者有 13 英寸长,比其他咬鹃科的物种都大。绚丽的大咬鹃因其鲜艳的色彩,而成为危地马拉的国鸟。 + +### Ubuntu 12.04 LTS Precise Pangolin(精准的穿山甲) + +![Ubuntu 12.04 mascot][22] + +于 2012 年 4 月 26 日发布。 + +Precise 意味着能**准确**地表达细节的。 + +穿山甲 Pangolin ,有时被称为有鳞食蚁兽,是鳞甲目的一种哺乳动物。它现存的一个科是穿山甲科,有三个属:穿山甲亚属、长尾穿山甲亚属和地穿山甲亚属。穿山甲亚属包括在亚洲发现的四种物种,而长尾穿山甲亚属和地穿山甲亚属各包括两种物种,均在撒哈拉以南非洲发现。 + +### Ubuntu 11.10 Oneiric Ocelot(梦幻的豹猫) + +![Ubuntu 11.10 mascot][23] + +于 2011 年 10 月 13 日发布。 + +Oneiric 的意思是与**梦**有关的。 + +豹猫 Ocelot (Leopardus pardalis),是一种中等大小的斑点野猫。它的肩长可达 40 至 50 厘米(15.7 至 19.7 英寸),体重在 8 至 15.5 公斤(17.6 至 34.2 磅)之间。卡尔·林奈于 1758 年首次在书中描述了它。 + +### Ubuntu 11.04 Natty Narwhal(敏捷的独角鲸) + +![Ubuntu 11.04 mascot][24] + +于 2011 年 4 月 28 日发布。 + +这个版本是第一个以 Unity 桌面为特色的版本。 + +Natty 意味着**聪明**和时尚的。 + +独角鲸 Narwhal ,是一种中等大小的齿鲸。它从突出的犬齿中长出了大“獠牙”。它全年生活在格陵兰、加拿大和俄罗斯周围的北极水域。它是一角鲸科中现存的两种鲸鱼物种之一,另一个物种是 白鲸 Beluga whale 。 + +### Ubuntu 10.10 Maverick Meerkat(特立独行的猫鼬) + +![Ubuntu 10.10 mascot][25] + +于 2010 年 10 月 10 日发布。 + +Maverick 的意思是**特立独行的**或有独立思想的。 + +猫鼬 Meerkat ,是一种在南部非洲发现的小型猫鼬。它的特点是头宽,眼睛大,鼻子尖,腿长,尾巴很细,毛色有斑纹。 + +### Ubuntu 10.04 LTS Lucid Lynx(清醒的猞狸) + +![Ubuntu 10.04 mascot][26] + +于 2010 年 4 月 29 日发布。 + +Lucid 意味着**易于理解的**或明亮的。 + +猞猁 Lynx ,是中型野猫属猞猁中的一种。猞猁这个名字起源于中古英语,源自希腊语 λύγξ,λύγξ 又源自于印欧语词根 leuk-,指的是它眼睛能反射发光的样子。 + +### Ubuntu 9.10 Karmic Koala(幸运的考拉) + +![Ubuntu 9.10 mascot][27] + +于 2009 年 10 月 29 日发布。 + +Karmic 意味着与**命运**有关的。 + +考拉 Koala ,是一种原产于澳大利亚的树栖草食性的有袋动物。它是袋鼠科唯一现存的物种,它的近亲是袋熊 Wombat 。 + +### Ubuntu 9.04 Jaunty Jackalope(自信的鹿角兔) + +![Ubuntu 9.04 mascot][28] + +于 2009 年 4 月 23 日发布。 + +这个版本是我用的第一个 Ubuntu 版本。 + +Jaunty 是指拥有活泼、开朗和**自信**的态度。 + +鹿角兔 Jackalope ,是**北美民间传说中的一种神话动物**,被描述为长着羚羊角的可怕的长角兔。Jackalope 这个词是由 jackrabbit 和 antelope 组合而成的。许多鹿角兔的标本都是由用鹿角制成的。 + +### Ubuntu 8.10 Intrepid Ibex(勇敢的野山羊) + +![Ubuntu 8.10 mascot][29] + +于 2008 年 10 月 30 日发布。 + +Intrepid 意味着**无所畏惧**、冒险的。 + +野山羊 Ibex ,其特点是雄性的野山羊大角十分弯曲,在前面形成像横向的脊那样。它主要分布于欧亚大陆、北非和东非。 + +### Ubuntu 8.04 LTS Hardy Heron(耐寒的苍鹭) + +![Ubuntu 8.04 mascot][30] + +于 2008 年 4 月 24 日发布。 + +这个版本是第一个吉祥物出现在其默认壁纸上的 Ubuntu 版本。 + +Hardy 意味着能够忍受困难的条件的、**强大的**。 + +苍鹭 Heron ,是一种长腿、长颈、生活在淡水和沿海的鸟类。 + +### Ubuntu 7.10 Gutsy Gibbon(勇敢的长臂猿) + +![Ubuntu 7.10 mascot][31] + +于 2007 年 10 月 18 日发布。 + +Gusty 表示**阵风**的。 + +长臂猿 Gibbon ,是一种猿类,它们生活在孟加拉国东部、印度东北部、中国南部和印度尼西亚的亚热带和热带雨林地区。 + +### Ubuntu 7.04 Feisty Fawn(活泼的小鹿) + +![Ubuntu 7.04 mascot][32] + +于 2007 年 4 月 19 日发布。 + +Feisty 意味着**小而坚定**的。 + +小鹿 Fawn ,指的是第一年刚出生的小鹿。 + +### Ubuntu 6.10 Edgy Eft(紧张的水蜥) + +![Ubuntu 6.10 mascot][33] + +于 2006 年 10 月 26 日发布。 + +Edgy 的意思是**紧张的**。 + +水蜥 Eft ,是蝾螈的陆生幼年期。蝾螈是一种蜥蜴,它具有三个不同的发育生命阶段:水生幼虫、陆生幼体 (即 eft) 和成体。 + +所以水蜥指的是一个青年的蝾螈。 + +### Ubuntu 6.06 Dapper Drake(整洁的公鸭) + +![Ubuntu 6.06 mascot][34] + +于 2006 年 6 月 1 日发布。 + +Dapper 的意思是衣着整洁,**外表整洁的**。 + +公鸭 Drake ,是完全性成熟的成年雄性鸭子。 + +### Ubuntu 5.10 Breezy Badger(活泼的獾) + +![Ubuntu 5.10 mascot][35] + +于 2005 年 10 月 12 日发布。 + +Breezy 的意思是有**微风**的。 + + Badger ,一种是短腿的杂食动物。 + +### Ubuntu 5.04 Hoary Hedgehog(灰白的刺猬) + +![Ubuntu 5.04 mascot][36] + +于 2005 年 4 月 8 日发布。 + +Hoary 是**灰白色的**意思。 + +刺猬 Hedgehogis ,是一种多刺的哺乳动物,遍布于欧洲、亚洲和非洲的部分地区,并引入到了新西兰。 + +### Ubuntu 4.10 : Warty Warthog(长疣的疣猪) + +![Ubuntu 4.10 mascot][37] + +于 2004 年 10 月 20 日发布。 + +Ubuntu 就是从这个版本开始的。 + +Wart 是由病毒引起的一种小的、坚硬的、良性的皮肤生长物。Warty 的意思是**长满疣的**。 + +疣猪 Warthog ,是猪科的一种野生动物,它是在撒哈拉以南非洲的草原、稀树草原和林地中被发现的。 + +### 总结 + +本文有没有让 Ubuntu 用户了解了更多知识呢?从技术上讲,并没有,但回顾历史是件好事。如果你多年来一直是 Ubuntu 用户,那么这篇文章可能会引发你的怀旧之情。 + +Ubuntu 9.04 是我第一次尝试 Linux 桌面。如果我没记错的话,那是在 2009 年 9 月下旬。仅仅几周后,我的系统就升级到了 Ubuntu 9.10。那些天我经常在 Ubuntu 论坛上浏览,探索这个新的操作系统,并学习新的东西。 + +那么,这篇文章有没有勾起你的一些美好的回忆呢?你的第一个 Ubuntu 版本又是哪个呢?在评论区中分享你的 Ubuntu 使用经历吧。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/all-Ubuntu-mascots/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/Ubuntu-default-wallpapers-download/ +[2]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-22-04-mascot.jpg +[3]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-21-10-mascot.jpg +[4]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-21-04-mascot.jpg +[5]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-20-10-mascot.jpg +[6]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-20-04-mascot-1.jpg +[7]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-19-10-mascot.jpg +[8]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-19-04-mascot.jpg +[9]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-18-10-mascot.jpg +[10]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-18-04-mascot.jpg +[11]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-17-10-mascot.jpg +[12]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-17-04-mascot.jpg +[13]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-16-10-mascot.jpg +[14]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-16-04-mascot.jpg +[15]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-15-10-mascot.jpg +[16]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-15-04-mascot.jpg +[17]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-14-10-mascot.jpg +[18]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-14-04-mascot.jpg +[19]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-13-10-mascot.jpg +[20]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-13-04-mascot.jpg +[21]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-12-10-mascot.jpg +[22]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-12-04-mascot.jpg +[23]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-11-10-mascot.jpg +[24]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-11-04-mascot.jpg +[25]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-10-10-mascot.jpg +[26]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-10-04-mascot.jpg +[27]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-9-10-mascot.jpg +[28]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-9-04-mascot.jpg +[29]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-8-10-mascot.jpg +[30]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-8-04-mascot.jpg +[31]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-7-10-mascot.jpg +[32]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-7-04-mascot.jpg +[33]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-6-10-mascot.jpg +[34]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-6-06-mascot.jpg +[35]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-5-10-mascot.jpg +[36]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-5-04-mascot.jpg +[37]: https://itsfoss.com/wp-content/uploads/2022/05/Ubuntu-4-10-mascot.jpg From 3718cce7f917d4adc4344c18cc2e68846fe0e7b1 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 10 Nov 2022 00:18:15 +0800 Subject: [PATCH 342/925] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Top 10 Features of Linux Mint 21 “Vanessa”.md | 188 ------------------ ...l Linux Emerging Arch Linux Spin for GNOME Fans.md | 146 -------------- ...re A Folder Between UbuntuLinux and Windows.md | 95 --------- ... Install Flatpak Apps in Ubuntu and Other Linux.md | 170 ---------------- ... How to Delete Background in Image Using GIMP.md | 143 ------------- 5 files changed, 742 deletions(-) delete mode 100644 sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md delete mode 100644 sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md delete mode 100644 sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md delete mode 100644 sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md delete mode 100644 sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md diff --git a/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md b/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md deleted file mode 100644 index 86ba70d901..0000000000 --- a/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md +++ /dev/null @@ -1,188 +0,0 @@ -[#]: subject: "Top 10 Features of Linux Mint 21 “Vanessa”" -[#]: via: "https://www.debugpoint.com/linux-mint-21-features/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 Features of Linux Mint 21 “Vanessa” -====== - -**We round up Linux Mint 21 “Vanessa” top features. Find out what’s in store for you.** - -![Linux Mint 21 Cinnamon Desktop][1] - -Linux Mint 21 “Vanessa” is the 36th release of [Linux Mint][2], which carries a good list of features along with several usability improvements across the desktop. The features are scattered across the Cinnamon desktop, core changes, Xapps updates and more. - -I have summarized all of them in this list of top features of Linux Mint 21. - -### Top Features of Linux Mint 21 “Vanessa” - -#### 1. Ubuntu 22.04 and associated updates - -Perhaps the most crucial change is the base of Linux Mint 21, which is now based upon [Ubuntu 22.04 “Jammy Jellyfish”][3]. The last major release, i.e. Linux Mint 20 “Ulyana”, was based on Ubuntu 20.04 “Focal Fossa”, when released four years back. The state of the world in 2020 was utterly different, considering everything going on. - -Hence, a lot of packages, version upgrades, and new performance improvements – all these under-the-hood updates come to Linux Mint 21. That includes the latest LTS [Linux Kernel 5.15][4], which brings further hardware lineup support, and toolchain updates for programming, development and networking. - -#### 2. Major changes in the Timeshift backup tool - -A few months back, the Mint team [announced][5] that they are taking over developing the popular backup tool Timeshift and continuing its development as a “XApps”. So, this is a significant change. Why, may you ask? - -Well, the developer of the Timeshift tool, Tony George, is busy with other projects. You may have heard about “[TeeJeeTech][6]” apps for Linux. It was created by Tony and had some cool apps. However, he doesn’t have the time to concentrate on Timeshift development and enhancement. - -![Timeshift creating snapshot][7] - -With that said, since Linux Mint now maintains it, some new features land in this release, such as Timeshift now determining how much disk space you need for the next backup in rsync mode (not in btrfs mode). In addition, it stops the backup process if it seems the disk space is less than 1 GB after the backup. - -#### 3. WebP Support - -WebP image is a reasonably new image format created by Google for the web. It brings better compression and reduced size while maintaining good quality to traditional JPEG or PNG images. - -WebP support (view images, thumbnail or edit) in Linux Desktop requires some [additional installation][8] of packages. Looking at the popularity Linux Mint team brings out-of-the-box WebP support across the desktop apps and flavours. - -That means Nemo file manager can show thumbnails of WebP images and view them in xviewer. The mint team always thinks about the end-user first because other distros are still behind on supporting WebP by default, such as Ubuntu. Not only that, the new app [xapp-thumbnailers][9] now helps Nemo file manager to preview additional file types as well: - -- ePub -- MP3 with Album Arts -- RAW Images -- AppImage - -#### 4. Process Monitor - -A small but handy process monitor tool will give you a heads-up on what’s happening in your system. This little icon at the system tray shows up when your system is undergoing automatic updates or backup by TImeshift. Your system may become slow in those situations, and this nifty icon can show you why. - -#### 5. Improved printing support - -Linux Mint is well equipped for devices, and the printer supports it by default. This edition of Mint brings [Internet Printing Protocol (IPP)][10] for driverless printing and scanning. - -In addition, HP’s driver, HPLIP’s latest edition (3.21.12), is also installed by default. - -All these changes streamline printer and scanner usage. And users like you can enjoy effortless printing and scanning. It is such an essential aspect of a Linux distro, but it doesn’t work all the time. While [reviewing many distros][11], I found many fails to detect the printers or even print. - -It’s good to see that the mint team contributed to this critical functionality. - -#### 6. Window Animation updates - -There are some considerable changes come in the Window and desktop animation effects. Firstly, the Effects settings for Windows and desktop are merged now. Earlier, separate sections gave more granular control of the animations. - -Here’s a side-by-side view. - -![][12] - -![][13] - -Secondly, the mapping windows and desktop effects options are removed. - -Third, a new control changes the animation speed from slower to faster. - -Finally, a global switch to disable or enable all the animation on the entire desktop gives you the option for more control. - -I believe this is a well-designed dialog and advanced options for better clarity. - -#### 7. Mutter rebase - -Let’s talk about [Cinnamon desktop version 5.4][14], which comes with Linux Mint 21. It’s the latest Cinnamon release, and Mint is the first distro to bring it to the user (other than traditional Arch Linux folks, who got it [a little early][15]). - -Finally, the team completed the rebase of Mutter into its window manager, Muffin in Cinnamon 5.4. Since Muffin was initially forked from Mutter, it was always lagging behind the upstream Mutter features, despite the backporting of changes. A significant amount of effort went to feature inclusion, bug fixes & clean up to make Muffin as close to the Mutter code base. - -Hence, in the future, it is now easier to port back changes from Mutter upstream and clean things in Muffin as needed. - -#### 8. Window manager and GTK Themes - -With the changes in Muffin, the team also moved some of the display settings from gnome-control-center to cinnamon-control-center. In addition, the display configs from csd-xrandr moved into the Muffin window manager in Cinnamon 5.4. Apparently, you may not see any difference in the Display settings window. However, you may see some performance boost and fewer bugs or issues while scaling displays or in high-res windows. - -Another critical change that the Mint team introduced via CInnamon 5.4 is the uniform render of GTK dialogs in apps. Earlier, if a GTK app used a header bar, then the dialog was a mix of CSD (client side decoration) and GTK themes. - -Now with Cinnamon 5.4, all the windows are rendered using the GTK theme irrespective of their design. And with that, the legacy Metacity themes also dropped. - -On a side note, I loved the Metacity, and its “legacy look” when [they were a thing][16] in the early days of GNOME. - -#### 9. Package Management updates - -Following the trends of Debian, KDE Plasma desktop, Linux Mint also protects your system from uninstalling critical dependent packages. - -When you try to uninstall, Mint now checks the dependencies and whether critical desktop packages will be removed. - -If found, you get an error message that stops you from going further. - -On the other hand, when you successfully uninstall a package, it cleans up all the dependencies with it installed. - -#### 10. Disable the Systemd OOMD (out-of-memory daemon) service - -The “systemd-oomd” had some bad feedback recently since the Ubuntu 22.04 LTS release. Users across the web [reported][17] the sudden closing of applications (such as Firefox) without any warning or user intervention. Further investigation pointed to the “not so well” implementation of the systemd-oomd service. - -In theory, the [systemd-oomd.service][18] monitors your system for out-of-memory situations, and it has the authority to kill any processes which consume more system resources. Ubuntu team did not communicate this with importance, which eventually led to an unpleasant user experience. - -With that knowledge, Linux Mint 21 decides [not to feature][19] this service and disables it. Because the user base of Linux Mint is general users, students, etc., it would be a bad experience for users if apps closed unexpectedly. - -![Systemd OOMD service is not enabled][20] - -#### 11. Other Changes - -Finally, let’s round up some tiny yet impactful changes to wrap up the Linux Mint 21 features. - -- The default document reader app Xreader is now capable of minor annotation. This is a handy feature. -- The WebApp manager now brings custom browser parameters. -- Warpinator file transfer utility now shows you other sources on Windows, Android and iOS devices. -- Mint packages Firefox web browser as deb and not the Snap version, which defaults in Ubuntu 22.04 LTS. Thanks to the Mint team, users need not worry about the [complex set of commands][21] to remove the Firefox Snap from Jammy. - -![Firefox 102 in Linux Mint 21 - Exclusively packaged as deb executable][22] - -- The bulk renamer app Thingy gets some UI improvements. -- The os-prober of GRUB2 is now available to detect all the operating systems in your hardware (handy for dual boot or more systems). -- The Bluetooth manager Blueman replaces Blueberry, bringing additional features for connecting and managing your Bluetooth devices. -- Finally, new wallpapers for your new desktop arrive in this release. - -![New Wallpapers in Linux Mint 21][23] - -### Things that are NOT changing - -From a very high level, you might feel that most of the Linux Mint 21 remain the same as its predecessors. The default desktop looks and default wallpaper remains the same. Xfce and MATE desktop didn’t have any major releases. Hence they are precisely the same. In addition, the default icon theme, application menu, etc., may give you a similar feel to the entire desktop. - -### Wrapping Up - -Overall, a good set of features benefits end users rather than being fancy gestures and stuff. For this very fact, Linux Mint is the best Linux distro today for beginners or end users. So, that concludes the feature highlights of Linux Mint 21. - -You can download/update Linux Mint 21 from the [official website][24]. Also, stay tuned for our detailed distro review of Linux Mint 21 soon. - -What do you think about the new features of Linux mint 21? Is there any feature you expected but didn’t arrive in this release? Let’s discuss this in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/linux-mint-21-features/ - -作者:[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/Linux-Mint-21-Cinnamon-Desktop.jpg -[2]: https://www.debugpoint.com/linux-mint/ -[3]: https://www.debugpoint.com/web-stories/ubuntu-22-04-review/ -[4]: https://www.debugpoint.com/linux-kernel-5-15/ -[5]: https://blog.linuxmint.com/?p=4323 -[6]: https://teejeetech.com/ -[7]: https://www.debugpoint.com/wp-content/uploads/2022/07/Timeshift-creating-snapshot.jpg -[8]: https://www.debugpoint.com/view-webp-ubuntu-linux/ -[9]: https://github.com/linuxmint/xapp-thumbnailers -[10]: https://datatracker.ietf.org/doc/html/rfc8011 -[11]: https://www.debugpoint.com/tag/linux-distro-review/ -[12]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-20.jpg -[13]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-21.jpg -[14]: https://github.com/linuxmint/cinnamon-desktop/releases/tag/5.4.0 -[15]: https://www.debugpoint.com/cinnamon-arch-linux-install/ -[16]: https://www.debugpoint.com/gnome-classic-ubuntu-22-04/ -[17]: https://askubuntu.com/questions/1404888/how-do-i-disable-the-systemd-oom-process-killer-in-ubuntu-22-04 -[18]: https://www.freedesktop.org/software/systemd/man/systemd-oomd.service.html -[19]: https://debugpointnews.com/linux-mint-21-systemd-oom/ -[20]: https://www.debugpoint.com/wp-content/uploads/2022/07/Systemd-OOMD-service-is-not-enabled.jpg -[21]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ -[22]: https://www.debugpoint.com/wp-content/uploads/2022/07/Firefox-102-in-Linux-Mint-21-Exclusively-packaged-as-deb-executable.jpg -[23]: https://www.debugpoint.com/wp-content/uploads/2022/07/New-Wallpapers-in-Linux-Mint-21.jpg -[24]: https://www.linuxmint.com/download.php diff --git a/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md b/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md deleted file mode 100644 index 31280fff03..0000000000 --- a/sources/tech/20221105.4 ⭐️⭐️ Crystal Linux Emerging Arch Linux Spin for GNOME Fans.md +++ /dev/null @@ -1,146 +0,0 @@ -[#]: subject: "Crystal Linux: Emerging Arch Linux Spin for GNOME Fans" -[#]: via: "https://www.debugpoint.com/crystal-linux-first-look/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Crystal Linux: Emerging Arch Linux Spin for GNOME Fans -====== - -**Meet Crystal Linux, a unique Arch Linux Spin with stock GNOME experience.** - -### Introduction - -Often I think that we have sufficient Linux distros already. The count is nearing thousands, and fragmentation is at its peak. That is not good for quality software, especially in the open-source space. - -There is always a distro available for every use case you can think of. - -But Arch Linux is one of the sectors, it’s still emerging – just because of its debatable [complex installation methods][1]. That’s why most of the emerging Arch Linux distributions (such as [Xero Linux][2], [Hefftor Linux][3], Mabox, etc.) try to invent something unique in installation and other areas. - -Crystal Linux is one of those distros with a different take on installation while being super user-friendly. - -![Crystal Linux Desktop with GNOME 42][4] - -### Crystal Linux: First Look - -Before you read on, you should know that it’s a new distro (less than a year old) currently under development. So use it with caution. - -At first glance, it will feel like a stock GNOME installation, similar to the Fedora workstation. That’s true. With the Arch Linux base and stock GNOME – the performance is top-notch. Although I tried it on a virtual machine, I feel the GNOME and Arch combination performs much better than the Fedora workstation in the same virtual machine setup. - -With that said, no such different customization is available apart from those coming with GNOME. Honestly, GNOME doesn’t require any additional customization for its default settings. Looks wise it’s good enough. - -### What’s unique about Crystal Linux? - -#### jade Installer for Arch - -The most important offering is its own installer called “[jade][5]“. Crystal Linux team created a GTK4/libadwaita and Rust-based installer to give you a streamlined experience for Arch installation. - -And it looks fantastic (see the below images). - -![jade installer][6] - -![selecting desktop to install][7] - -![installation][8] - -The jade installer reminds me of GNOME’s Tour app, but here it uses a similar principle for installation. Basic information such as Keyboard, region, and names/passwords are captured via a series of screens. - -Then you get to choose the desktop environment you want to install. The default version is GNOME; however, you have the option to install all the famous desktops and window managers. - -One unique feature of this new installer is that you get options to set up ipv6 and Timeshift restore points. - -The partition wizard is currently under development with custom partitioning via this app or GParted as options. Here’s a mockup of the partition module under development (from [Twitter][9]). - -![jade with additional options - mockup][10] - -Finally, a summary for you before you install this distro/Arch Linux. The installation executes a script at the back end for Arch installation. - -#### Onyx – custom GNOME experience - -From GitHub, I found that there is a customized desktop for base install named [Onyx][11]. - -Per the team, “Onyx used to be Budgie based but recently we changed the direction a bit, it will now be a custom GNOME session (coexisting with, but separate from GNOME)”. - -#### Amethyst – New AUR Helper - -Do we really need another AUR helper? The [Yay helper][12] is awesome already. - -Anyways. - -The Crystal Linux also features a homegrown AUR helper and pacman Wrapper called [amethyst][13]. As the dev says, you can install it to any Arch-based distros and the “fastest AUR helper and pacman wrapper”. - -Amethyst comes with the command line option “ame” which you can use with standard [pacman switches][14]. - -![ame terminal command][15] - -#### Btrfs file system by default - -One of the best features of this distro is the default btrfs file system during installation. Although the current work is ongoing for the additional file system, btrfs as default has its own advantages for backup and restoration. - -I don’t remember any other Arch-spin that has btrfs as default. - -#### Applications and Packages - -Since it is a stock GNOME-based distro, no additional applications are installed. So, you need to spend some time configuring with necessary apps such as LibreOffice, GIMP, Media players, etc. - -Firefox and native GNOME apps are available in the default installation. - -Crystal Linux seems to deploy the core packages from their own server, NOT from the Arch repo. Hence, some features may arrive a little late for updating the desktop and such. - -### Performance - -Arch Linux always performs well, in my experience. All the popular desktops such as KDE, GNOME, Xfce – all of them somehow feel faster than in Ubuntu/Fedora. - -With that said, the current GNOME 42 version in Crystal Linux is swift. The window animations and gestures feel smooth even in a virtual machine. There is no lag whatsoever. - -![Crystal Linux - Performance][16] - -Memory footprint is extremely low at 530 MB at idle. Most of the idle state CPUs are consumed by gnome-shell and systemd services. - -Default GNOME desktop install takes only 3.8 GB of disk space. - -### Wrapping up - -The jade installer and btrfs file system are two major highlights of Crystal Linux. Since most of the Arch-based distros follow Calamares installer, it’s good to see a new installer in this space. And it’s really user-friendly. - -The distro is just a few months old and has a long road ahead. I strongly believe it will give a competition to the currently famous Arch distro [EndeavourOS][17]. And the fans get to experience vanilla GNOME with Arch without the hassles of [installing Arch with GNOME][18]. - -You can download the current ISO from the [official website][19]. As I mentioned earlier, use it with caution since it is under development. - -So, what are your thoughts about this distro? What are your favourite features? Do let me know in the comment box. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/crystal-linux-first-look/ - -作者:[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/install-arch-linux/ -[2]: https://www.debugpoint.com/xerolinux-review/ -[3]: https://www.debugpoint.com/hefftor-linux-review/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/08/Crystal-Linux-Desktop-with-GNOME-42-1024x579.jpg -[5]: https://github.com/crystal-linux/jade -[6]: https://www.debugpoint.com/wp-content/uploads/2022/08/jade-installer.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/08/selecting-desktop-to-install.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/installation.jpg -[9]: https://twitter.com/Crystal_Linux/status/1564379291529482240 -[10]: https://www.debugpoint.com/wp-content/uploads/2022/08/jade-with-additional-options-mockup-1024x576.jpg -[11]: https://github.com/crystal-linux/onyx -[12]: https://www.debugpoint.com/install-yay-arch/ -[13]: https://github.com/crystal-linux/amethyst -[14]: https://www.debugpoint.com/pacman-command-arch-examples/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/08/ame-terminal-command-1024x576.jpg -[16]: https://www.debugpoint.com/wp-content/uploads/2022/08/Crystal-Linux-Performance-1024x576.jpg -[17]: https://www.debugpoint.com/tag/endeavouros -[18]: https://www.debugpoint.com/gnome-arch-linux-install/ -[19]: https://getcryst.al/ diff --git a/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md b/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md deleted file mode 100644 index dd3208e4b3..0000000000 --- a/sources/tech/20221106.0 ⭐️ Guide How to Share A Folder Between UbuntuLinux and Windows.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "Guide: How to Share A Folder Between Ubuntu/Linux and Windows" -[#]: via: "https://www.debugpoint.com/guide-how-share-folder-between-ubuntu-linux-windows/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Guide: How to Share A Folder Between Ubuntu/Linux and Windows -====== - -**This beginner’s guide explains how you can quickly share a folder in Ubuntu/Linux.** - -Sharing a folder in Ubuntu/Linux and accessing the same over the network in other OS such as Windows is not that difficult. To perform this, the required packages are not installed by default in Ubuntu. However, you can bring up the install wizard to install the required software automatically to share a folder.  - -This [guide][1]applies to all Ubuntu versions (including [22.04][2], 20.04, 18.04, 19.10 and upcoming – unless there are major changes in how this function is designed). - -### Steps to Share a Folder in Ubuntu - -**Step 1:**Open the file manager and right-click on the folder you want to share. Click on the option “Local Network Share” in the context menu. - -![Local Network Share Option][3] - -**Step 2:**Click on the Share this folder checkbox in the Folder Sharing dialog. - -This would install [Samba][4]packages in your system. Samba is used to share files and printers over the network between Windows and Unix systems. - -![Folder Sharing Option - Install Samba][5] - -**Step 3:**After samba installation, do the following to share a folder or directory. - -- Select the checkbox Share this folder. -- Input a share name. This would be the name you would be seeing from another system, e.g. Windows. Try not to use any name with spaces. -- (Optional) You can control the write permission to the shared folder and allow guest access by checking the corresponding option. -- If you allow guest access, people without credentials can access the shared folder. So be cautious. -- If you want your users to enter their usernames and password, open the terminal and run the below command. - -``` -sudo smbpasswd -a **Username** -``` - -**username**should be a valid user of the respective Ubuntu system. - -You should be all set now to access the folder/directory. - -### How to Access the Shared Folder - -To access the shared folder from Ubuntu/Linux system, you need your system’s IP address/hostname. To do that, open `System Settings -> Wifi -> Get the IP address`. - -![IP Address Settings][6] - -This step may vary if you are running different Linux distribution other than Ubuntu. You may also want to run `ip addr` to get the IP address as below. - -![Finding out IP Address in Linux][7] - -Once you have the address, you can open File Manager in Ubuntu/Linux systems and type below in the address bar. You should change the IP address based on your system. - -You can now see that the shared folder is shown with a tiny shared icon that denotes a network share folder. - -![Share Folder][8] - -To access the shared folder from the **Windows system**, Open Run (Windows Key+R) or open Explorer and enter the below address. You should change the IP address and Folder name based on your system - -``` -\\192.168.43.19\Folder -``` - -You should be able to view the contents of the shared folder and modify it based on permission given. - -### Wrapping Up - -I have shown you how to share a folder from Ubuntu and access Windows systems via IP address. You can also follow the same steps for other Linux distributions. Do let me know in the comment box below if this article helped you. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/guide-how-share-folder-between-ubuntu-linux-windows/ - -作者:[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/category/tutorials/ -[2]: https://www.debugpoint.com/web-stories/ubuntu-22-04-review/ -[3]: https://www.debugpoint.com/wp-content/uploads/2020/01/Local-Network-Share-Option.jpg -[4]: https://en.wikipedia.org/wiki/Samba_(software) -[5]: https://www.debugpoint.com/wp-content/uploads/2020/01/Folder-Sharing-Option-Install-Samba-1024x552.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2020/01/IP-Address-Settings.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2020/01/Finding-out-IP-Address-in-Linux.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2020/01/Share-Folder-1.jpg diff --git a/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md b/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md deleted file mode 100644 index 6639886773..0000000000 --- a/sources/tech/20221108.3 ⭐️⭐️ How to Install Flatpak Apps in Ubuntu and Other Linux.md +++ /dev/null @@ -1,170 +0,0 @@ -[#]: subject: "How to Install Flatpak Apps in Ubuntu and Other Linux" -[#]: via: "https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Flatpak Apps in Ubuntu and Other Linux -====== - -**A beginner’s guide on how to install Flatpak in Ubuntu and other Linux distributions.** - -### What is Flatpak? - -[Flatpak][1] is the new way of distributing apps across the Linux universe, irrespective of the distribution. This cross-distro application distribution and deployment framework enable developers to Flatpak setup for apps for all major distributions. - -The major hurdles in any Linux app distribution are dependencies, and Flatpak covers that. Flatpak builds bundles the dependencies for the respective apps, and end-users need not worry about it. - -With the growing trends, many app developers are now providing the Flatpak builds along with traditional packages, e.g. *.deb, etc. With a quick setup for your distributions, you can be ready to explore the world of Flatpak apps. All the major Flatpak apps are available on flathub.org. You can search and just click a button, you can install the Flatpak apps. Here’s how to set it up for Ubuntu and other Linux distributions. - -### How to setup Flatpak in Ubuntu - -- For Ubuntu 18.10 (Cosmic Cuttlefish), use the following command to install Flatpak (that includes Ubuntu 22.04 as well). - -``` -sudo apt install flatpak -``` - -If you are using an older version of Ubuntu, use the following repo. - -``` -sudo add-apt-repository ppa:alexlarsson/flatpak -sudo apt update -sudo apt install flatpak -``` - -- The second step is optional if you want to install Flatpak apps via the browser. Enable Ubuntu Software to recognize Flatpak apps and their installations. Run the below commands from the terminal and provide the password when prompted. - -``` -sudo apt install gnome-software-plugin-flatpak -``` - -- Add the Flathub repository where all the Flatpak apps reside. Run the below commands from the terminal. - -``` -flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -``` - -- Reboot. - -### Install in Other Linux Distributions - -Flatpak is available to install almost all possible distributions. Here’s a quick list of commands you can run from the terminal in all the distros. - -| **Linux distro name** | **Instructions or commands to set up Flatpak** | -| :- | :- | -| AlmaLinux | Enabled by default. No action is required. | -| Alpine Linux | Run the following commands:`sudo apk add flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Arch Linux | Run the following commands:`sudo pacman -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| CentOS | Enabled by default. No action is required. | -| Clear Linux | Enabled by default. No action is required. | -| Debian | Run the following commands:`apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Deepin OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| elementary OS | Enabled by default. No action is required. | -| Endeavour OS | Enabled by default. No action is required. | -| Endless OS | Enabled by default. No action is required. | -| Fedora Linux | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak app. | -| Gentoo | Run the following commands:`echo -e 'sys-apps/flatpak ~amd64\nacct-user/flatpak ~amd64\nacct-group/flatpak ~amd64\ndev-util/ostree ~amd64' >> /etc/portage/package.accept_keywords/flatpakemerge sys-apps/flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| KDE Neon | Enabled by default. No action is required. | -| Kubuntu | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``sudo apt install plasma-discover-backend-flatpak``reboot` | -| Linux Mint | Enabled by default. No action is required. | -| Mageia | Run the following commands:`dnf install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Manjaro Linux (Arch-based) | Installed by default since Manjaro 20 and higher.Make sure it is enabled in the below navigation:**Software Manager > Preferences > Flatpak Tab > Enable Flatpak Support**Reboot your system | -| MX Linux | Enabled by default. No action is required. | -| Nix OS | Open `/etc/nixos/configuration.nix` and add the following:`Services.flatpak.enable = true;`And then run the followings:`sudo nixos-rebuild switch``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| openSUSE Leap and Tumbleweed | Flatpak is installed by default. All you need to do is to install the Flathub repo:`flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]`And finally, reboot your system before installing the Flatpak apps. | -| Pop OS | Enabled by default. No action is required. | -| Raspberry Pi OS | Run the following commands:`sudo apt install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Red Hat Enterprise Linux (RHEL) | `sudo yum install flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Solus | Run the following commands:`sudo eopkg install flatpak xdg-desktop-portal-gtk``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Void Linux | Run the following commands:`sudo xbps-install -S flatpak``flatpak remote-add --if-not-exists flathub [https://flathub.org/repo/flathub.flatpakrepo][2]``reboot` | -| Zorin OS | Enabled by default. No action is required. | - -Once installation is completed, and reboot is done, you can proceed with installing some cool Flatpak apps via the below steps. - -### How to Install Flatpak Apps in Ubuntu and Other Linux - -There are two ways you can install Flatpak apps. Firstly via the command line, which I recommend. And second is the browser method. - -I recommend using the command line because it is faster and easier. - -#### Using the command line (recommended) - -The sample command to install any Flatpak app is available at the bottom section of the Flathub app page. A sample command is below: - -``` -flatpak install org.gimp.GIMP -``` - -Change the above “org.gimp.GIMP” for your application. Remember, this is case-sensitive. - -#### Using the graphical method via browser - -- Go to [Flathub][3]. -- Search for any apps you want to install. - -![][4] - -- Click install after selecting your desired app. - -![Install Flatpak][5] - -- Click Ok when it prompts you to start the installation via Software. - -![Open Flatpackref via Software][6] - -- The Software will open and wait till the installation finishes. - -### How to update Flatpak after you install them? - -Updating Flatpak is super easy via the terminal. For example, if you want to update the above GIMP package, you need to run the below command. - -``` -flatpak update org.gimp.GIMP -``` - -So, this will update a single package. Replace your package’s name (i.e. Application ID) for your use case. If you don’t know the Application ID, run the command `flatpak list` from the terminal, and you will find it. - -If you want to update ALL the Flatpak packages in your system, simply run the following: - -``` -flatpak update -``` - -### How to uninstall a Flatpak? - -You can uninstall a package using the following command. Make sure to change the Application ID for your use case. You can find out the Application ID from the command `flatpak list`. - -``` -flatpak remove org.gimp.GIMP -``` - -### Closing Notes - -In this tutorial, I have explained how you can easily set up Flatpak and install apps from Flathub. Moreover, Flatpak applications are a great way to install and manage them easily. In my opinion, Flatpak will eventually dominate Snap and AppImage in the future. - -You may want to check out our other articles about [Flatpak][7], which include how to manage permission, various Flatpak commands and more. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/how-to-install-flatpak-apps-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://flatpak.org/ -[2]: https://flathub.org/repo/flathub.flatpakrepo -[3]: https://flathub.org/apps -[4]: https://www.debugpoint.com/wp-content/uploads/2018/07/Search-in-Flathub.png -[5]: https://www.debugpoint.com/wp-content/uploads/2018/07/Install-Flatpak.png -[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/Open-Flatpackref-via-Software.png -[7]: https://www.debugpoint.com/tag/flatpak diff --git a/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md b/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md deleted file mode 100644 index 426507f61e..0000000000 --- a/sources/tech/20221108.4 ⭐️⭐️ How to Delete Background in Image Using GIMP.md +++ /dev/null @@ -1,143 +0,0 @@ -[#]: subject: "How to Delete Background in Image Using GIMP" -[#]: via: "https://www.debugpoint.com/remove-image-background-gimp/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Delete Background in Image Using GIMP -====== - -**Removing the background of an image is super easy if you know how to do it. Here in this tutorial, we will explain five different ways you can use to remove background in Image Using GIMP.** - -![Remove Background Image in GIMP][1] - -There are many ways you can delete any part of an image. That can be the background of the main subject of your image or some sections of it. That includes making the image background transparent and associated steps.  - -[GIMP][2] is the free and open-source closest Photoshop Alternative application which is used by millions every day. And if you are a beginner in GIMP or learning image processing, then there is no harm in learning these steps to make any sections of a complex image transparent, including the background. - -The steps outlined here use basic tools similar to other photo editing software. Hence, what you’re learning in this tutorial can easily be applied to alternative software. - -### 5 Ways to Remove Background in Image Using GIMP - -#### Method 1 – Fuzzy Select  - -The Fuzzy Select tool allows you to select all pixels that are similar to a set of sample pixels within a local area of an image. This works for the images with a colour distinction between foreground and background image foreground.  - -So, if your image background and prominent subject/foreground are of identical colour (like this image below), then this method may not help. Try other methods explained below. But still, you can go ahead and try out all methods if you have spare time. - -- Open your image in GIMP.  -- Right-click on the layer and **add Alpha channel**. This ensures that you can easily delete your layer with transparency. You can verify whether the Alpha channel is already added to your image or not by right-clicking the layer and see if the add Alpha channel is greyed out.  -- Select the Fuzzy Select tool from the toolbox and make sure Anti Aliasing, Feather Edges and Draw Mask are checked. The Draw Mask option will help you visualise the background you want to delete. -- Now click on the section of the image of the background which you want to delete and hold down your click, then drag the mouse to your image to see a mask drawn on your image. -- The colour selection shows the selection that you are choosing. Dragging the mouse below will increase the threshold of your selection, and towards up, it will reduce the threshold of your selection.  -- Once you are satisfied with your selection, **release the mouse and press delete** from your keyboard to delete the selection. - -You can repeat this process as much as you want to eliminate the background of your image entirely. - -![Method 1 - Fuzzy Select][3] - -![After Method 1 is applied][4] - -#### Method 2 – Select by colour - -In the next method, we will use the select by colour tool, which selects the entire background having the same colour pixels. This method works better for vector images, which typically have uniform colour distribution. This method might not work well for real-world images with too many colour gradients or sharp edges. - -- Select the “**select by colour**” tool from the toolbox. Make sure Anti Aliasing and **Draw Mask**are enabled from the option. -- Ensure to enable the Feather Edges option if you are working with a complex vector image. -- Now, click on the background section of your image having the same colour and **drag the mouse down or up** to increase or decrease the threshold.  -- Once you are happy with the selection, **let go of the mouse hold**. Press **delete** from your keyboard.  - -Likewise, you can repeat the steps multiple times to eliminate the background entirely. - -![Method 2 - Select by Color][5] - -#### Method 3 – Paths - -Another way of removing the background of an image is using the **Paths** tool. This is more of a **manual** way of deleting the background of an image. - -This method gives you the **most accurate results** among all the methods described here. But it takes a bit of time and patience to do it.  - -- Select the **Path tool** from the toolbox.  -- Begin clicking around the image’s main subject to place individual points outlining the subject.  -- You can curve the line by dragging down the middle of the line and moving the left and right handle towards the centre of the line.  -- To continue drawing, make sure you click on the most recent point and continue.  -- Once done, you can **close the outline by holding CTRL and clicking on the first point** placed. -- Press **Enter** to create a selection using the outline. -- From the menu, Select **Invert.** This will select the background of the image. -- And press **delete** to delete the background.  - -![Method 3 Path Tool][6] - -#### Method 4 – Layer Mask - -A more **advanced** way to delete the background is to use a layer mask. This is useful for those photographs where you have fine details such as hairs, furs, grass etc. Those fine details are difficult to aele6 manually using the above methods.  - -But there is a catch. This method only works best where there is a high level of contrast of colour present between the main subject of the image and its background.  - -- Right-click on the layer and **create a duplicate layer**.  -- While the duplicate Layer is selected, Go to **Color > Saturation**. Change the scale to all the way to zero. Click ok. -- Go to Color > Curves and manually adjust the top and bottom nodes so that your main subject of the image fills with more black and the background is white.  -- From the menu, select **Colors > invert**. Then select**Edit > Copy Visible**. -- Hide the duplicate layer by clicking on the little eye icon on the right toolbox. -- Right-click on the original layer and click Add Layer Mask. Click Add. -- Paste the copied visible image using Edit > Paste. -- Click on green icon at the bottom of the layers window to merge the pasted layer to the layer mask.  -- At this stage, you should notice that the black area remains visible, and the white area is transparent.  - -To fine-tune the sections, you can use a white colour brush tool and fill those sections which are part of your main subject but become transparent in the process.  - -And there you have it. - -![Method 4 - Curves][7] - -![Method 4 - Layer Mask][8] - -#### Method 5 – Foreground Select - -The final method we are going to explain is the foreground select method. This method is also a good choice as well for complex images having hairs, grass etc. - -- To get started, select the **Foreground Select**tool from the toolbox and do a simple outline of the subject. It need not be perfect, like below. It’s more like an outline covering the entire subject.  -- Once you are done, join the select point to the first point and press enter to select the subject.  -- This will create a dark blue area over the background and a light blue area in the foreground.  -- Now select the white foreground colour and manually brush the subject without going too much towards the edges.  -- Once you are done, select the preview to see how it looks. Based on the colour profile of your image, this preview step might take a couple of seconds to process.  -- If you are happy with the preview, click select. And then press enter to make this a selection. -- Invert the selection using **Select > Invert**. -- Press delete from the keyboard.  -- And you have your image ready without the background portion. - -![Method 5 - Foreground select tool to delete background of image in GIMP][9] - -### Final Notes - -So, that’s about it with the five methods which we just explained to remove background from image(s) and photographs using the free and open-source tool GIMP. Let me know if this tutorial helped you understand the steps and get the desired result. - -Used Photo in this article is by [Maryia Plashchynskaya][10] from [Pexels][11] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/remove-image-background-gimp/ - -作者:[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/2021/11/Remove-Background-Image-in-GIMP.jpg -[2]: https://www.gimp.org/ -[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-1-Fuzzy-Select.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/After-Method-1-is-applied.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-2-Select-by-Color.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-3-Path-Tool.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Curves.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Layer-Mask.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-5-Foreground-select-tool.jpg -[10]: https://www.pexels.com/@maryiaplashchynskaya?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels -[11]: https://www.pexels.com/photo/fashion-people-woman-wristwatch-8358677/?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels From d2f105de11e3861a24e54292aa9e84677796e2cd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 10 Nov 2022 00:22:49 +0800 Subject: [PATCH 343/925] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F/?= =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @lkxed --- ...lication Firewall for Privacy-Focused Users.md | 123 --------- ....7 Fixes Two High-CVEs with Buffer Overflow.md | 61 ----- ...en-Source Database to Enhance Observability.md | 95 ------- ...pen Source Developer Platform, Obtains $25M.md | 44 ---- ...️ Fedora 37 Top New Features and Release Wiki.md | 140 ---------- ...ss OS – Desktop Linux Done Right for the Masses.md | 202 -------------- ...️ Fedora 37 Top New Features and Release Wiki.md | 142 ---------- ...ize GNOME 40 Desktop to Look Like macOS [Guide].md | 247 ------------------ ...️ Customize GNOME 42 with A Polished Look.md | 142 ---------- ...E in Ubuntu 20.04 with this Productive Look.md | 167 ------------ ... PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md | 174 ------------ ...t 5 Alternatives to Microsoft Office [Compared].md | 178 ------------- ...️ Top 10 Features of Linux Mint 21 “Vanessa”.md | 188 ------------- ... How to Enable ‘Dark Mode’ in LibreOffice.md | 99 ------- 14 files changed, 2002 deletions(-) delete mode 100644 sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md delete mode 100644 sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md delete mode 100644 sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md delete mode 100644 sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md delete mode 100644 sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md delete mode 100644 sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md delete mode 100644 sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md delete mode 100644 sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md delete mode 100644 sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md delete mode 100644 sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md delete mode 100644 sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md delete mode 100644 sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md delete mode 100644 sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md delete mode 100644 sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md diff --git a/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md b/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md deleted file mode 100644 index cf0854927f..0000000000 --- a/sources/news/20221031.4 ⭐️ Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users.md +++ /dev/null @@ -1,123 +0,0 @@ -[#]: subject: "Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users" -[#]: via: "https://news.itsfoss.com/portmaster-1-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users -====== - -Portmaster is an all-in-one open-source privacy tool that you probably need. Give it a try! - -![Portmaster 1.0 Release Marks it as a Solid Open-Source Application Firewall for Privacy-Focused Users][1] - -Portmaster by [Safing][2] is a free and open-source application firewall that aims to automate the process of protecting the privacy of its users. - -**It allows you to monitor network activity, add custom connection rules for applications, and more.** - -We tested it during the alpha stage, and came to the conclusion that it had good potential to act as a viable alternative to [GlassWire][3]. Of course, it may not be a replacement, but it can be one in the near future: - -With the release of Portmaster 1.0, we can recommend everyone to give it a try. - -> 💡Portmaster 1.0 is a stable release suitable for every user. - -### 🆕 Portmaster 1.0: What's New? - -![portmaster 1.0][4] - -Considering this is Portmaster's first stable release, there could be room for improvement. - -However, some of the features that it brings with it include: - -- **Easy navigation to monitor app network connections** -- **Secure DNS by default** -- **Automatic blocking of trackers & malware** - -#### Automatic Blocking Of Trackers & Malware - -![portmaster 1.0 filter lists][5] - -Portmaster lets you automatically block various trackers and malware by using well-known filter lists from the likes of [AdAway][6], [abuse.ch][7], [AdGuard][8], and a few of their curated lists. - -#### Side-Dash Menu - -![portmaster 1.0 side dash menu][9] - -The presence of sidebar menu in Portmaster makes things easy, meaning it acts as a quick switcher between apps and settings. - -![portmaster side-dash][10] - -It also shows key information regarding apps that are using the network. - -Additionally, suppose you are using their [paid SPN service][11] (or Portmaster Unlimited). In that case, you can use the Side-Dash to see which countries each app connects to, alongside the number of identities in use. - -![portmaster 1.0 country identity details][12] - -#### Other Features - -![allow or block connections][13] - -In addition to the key highlights, it also gives you some powerful abilities that include: - -- **Choose your favorite DNS-over-TLS provider, like Cloudflare, Quad9, AdGuard, etc., to encrypt DNS requests.** -- **Allow/Block specific websites or applications.** -- **Specify if you do not want your apps to connect to specific countries.** -- **Block all p2p connections.** - -### 📥 Download Portmaster 1.0 - -Portmaster is currently only available for Windows and Linux, with no news on the release of a macOS version. - -They plan to support mobile platforms in the future as well. - -You can visit its official [downloads page][14] to get started for Linux (.deb/.rpm packages) and Windows. - -Explore more about the project on its [GitHub page][15]. - -[Portmaster 1.0][14] - -### 💭 My Thoughts - -Portmaster aims to succeed in a space where GlassWire is a very well-known name. It is easy to use and offers an intuitive experience. - -**But, GlassWire is not open-source and does not have a client for Linux.** - -With further refinements, I think it would be an impressive addition to every privacy-conscious computer user. - -Of course, a free and open-source alternative to any proprietary tool is a good thing, as it enables more users to try it out. - -And, Portmaster is something that helps you monitor your network connections and automate your privacy protections, I think you should take it for a spin! 😊 - -💬 Is Portmaster a good application firewall for your use-case? What do you think about it? - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/portmaster-1-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/portmaster-1-0-release.png -[2]: https://safing.io/ -[3]: https://www.glasswire.com/ -[4]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0.png -[5]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Filter_Lists.png -[6]: https://adaway.org/ -[7]: https://abuse.ch/ -[8]: https://adguard.com/ -[9]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Side_Dash.png -[10]: https://news.itsfoss.com/content/images/2022/10/portmaster-1-0-screenshot.png -[11]: https://safing.io/spn/ -[12]: https://news.itsfoss.com/content/images/2022/10/Portmaster_1.0_Country_Details.png -[13]: https://news.itsfoss.com/content/images/2022/10/manually-allow-ord-block-connections.png -[14]: https://safing.io/download/ -[15]: https://github.com/safing/portmaster/ diff --git a/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md b/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md deleted file mode 100644 index cafd073efe..0000000000 --- a/sources/news/20221101.12 ⭐️ OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow.md +++ /dev/null @@ -1,61 +0,0 @@ -[#]: subject: "OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow" -[#]: via: "https://debugpointnews.com/openssl-3-0-7/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -OpenSSL 3.0.7 Fixes Two High-CVEs with Buffer Overflow -====== - -![][1] - -**OpenSSL 3.0.7, released today, fixes two critical security issues that have caused panic since last week.** - -### OpenSSL 3.0.7 release - -The highly anticipated OpenSSL 3.0.7 is now released, fixing two high-severity CVEs. All the major Linux distributions across desktops and, most importantly, server admins have been waiting for this fix since it was reported last week by the OpenSSL team. Due to the criticality of this package, some distro releases got delayed (such as [Fedora 37][2]), and probably some patching activities across the industry. - -Both the high severity fixes are due to buffer overrun, which impacts the entire OpenSSL 3.0.0 series (i.e. from 3.0.0 to 3.0.6). Alarming, it may sound, but these two vulnerabilities have been out in the wild for almost a year since the 3.0.0 release in 2021. - -The first [CVE-2022-3786][3] triggers when a malicious email address with arbitrary payload with character “.” (decimal 46). The second vulnerability, CVE-2022-3602, also deals with another payload with the same email address in name constraints, checking for X.509 certificates. - -### Distro Patching - -As of publishing this, major distros (Debian, Ubuntu, Fedora, RedHat) are yet to update their OpenSSL package with version 3.0.7. - -So, as soon as it arrives, make sure you update your desktops and servers immediately. This is critical for those who deal with TLS-based authentication over remote connections to various servers. - -Keep a watch on the below pages for updated packages for major Linux distributions. - -- [Ubuntu][4] (Jammy) -- [Fedora][5] -- [Debian][6] (Bookworm, testing) - -Arch Linux folks are superfast, it seems. It’s already in the[staging repo][7]within two hours of the release! - -Via [OpenSSL release notes][8]. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/openssl-3-0-7/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/11/openssl-head-816x459.jpg -[2]: https://debugpointnews.com/fedora-37-release-delay/ -[3]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-3602 -[4]: https://packages.ubuntu.com/jammy/openssl -[5]: https://packages.fedoraproject.org/pkgs/openssl/openssl/ -[6]: https://packages.debian.org/bookworm/openssl -[7]: https://archlinux.org/packages/?sort=&q=openssl&maintainer=&flagged= -[8]: https://mta.openssl.org/pipermail/openssl-announce/2022-November/000241.html diff --git a/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md b/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md deleted file mode 100644 index 8a36782a27..0000000000 --- a/sources/news/20221103.5 ⭐️ Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability" -[#]: via: "https://news.itsfoss.com/grafana-phlare/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability -====== - -Grafana Phlare aims to be a scalable, durable, cheap, and open-source database for continuous profiling data. - -![Grafana Phlare is a New Scalable Open-Source Database to Enhance Observability][1] - -[Grafana][2] is a popular open-source data visualization tool that supports various object storage and cloud services. - -To improve on what they offer, Grafana has announced a **new open-source database for continuous profiling data** that helps enhance the monitoring of servers (or your application), making life easier for performance engineers and enterprises. - -### Open Source Database for Continuous Profiling - -![Introducing Grafana Phlare][3] - -Credits: Grafana Labs - -> 💡Continuous Profiling is a dynamic method of analyzing key performance metrics of a server, such as CPU utilization, memory usage, and more, at any period of time. - -Grafana Phlare is a highly scalable database that aims to provide users with a long-term storage solution for continuous profiling data. - -The core features involve: - -- **Easy to install** -- **Horizontal scalability** -- **High availability** -- **Cheap, durable profile storage** -- **Natively multi-tenant (enabling independent teams to share the same database)** - -You would say that: there are already a few similar open-source projects. And you wouldn't be wrong. - -But, the team behind Phlare mentioned that those tools were not reliable or scalable enough to meet Grafana Labs' continuous profiling needs. - -> So we decided to get to work creating a database for continuous profiling telemetry, based on the design principles that have made our other open source observability backends, Loki, Tempo, and Mimir, so successful: horizontally scalable architecture and use of object storage.- Cyril Tovena, Software Engineer at Grafana - -As for the technical tidbits of Phlare, it uses object storage to store profiling data and supports various object storage services such as[Amazon S3][4], [Google Cloud Storage][5], [OpenStack Swift][6], and more. - -Also, Cyril mentions that Grafana Phlare is incredibly easy to install: - -> It’s easy to install with just one binary and no additional dependencies, just like [Prometheus][7]. - -![grafana phlare][8] - -Credits: Grafana Labs - -**Furthermore**, it can natively integrate with Grafana to show users a detailed view of the whole stack and includes various observability signals such as metrics, logs, and traces. - -To complement Phlare, the team also added a new Flame graph panel to better visualize system resources data via various data sources. - -![grafana phlare flame graph panel][9] - -Credits: Grafana Labs - -**As a bonus**, Grafana also announced a data source plugin for another open-source continuous profiler called '[Parca][10]'. - -### 👨‍💻 Try Grafana Phlare - -Grafana Phlare is made available as a single binary and can be procured from the official [GitHub repository][11]. - -You may want to review its [official documentation][12] to learn more about it. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/grafana-phlare/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/grafana-phlare-opensource-scalable-db.png -[2]: https://grafana.com/grafana/ -[3]: https://player.vimeo.com/video/766320003?h=8c877d70d4&app_id=122963 -[4]: https://aws.amazon.com/s3/ -[5]: https://cloud.google.com/storage -[6]: https://github.com/openstack/swift -[7]: https://grafana.com/oss/prometheus/?pg=blog&plcmt=body-txt -[8]: https://news.itsfoss.com/content/images/2022/11/Grafana-2.png -[9]: https://news.itsfoss.com/content/images/2022/11/Grafana.png -[10]: https://www.parca.dev -[11]: https://github.com/grafana/phlare -[12]: https://grafana.com/docs/phlare/latest/ diff --git a/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md b/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md deleted file mode 100644 index f9bbd27d95..0000000000 --- a/sources/news/20221104.5 ⭐️ Gitpod, An Open Source Developer Platform, Obtains $25M.md +++ /dev/null @@ -1,44 +0,0 @@ -[#]: subject: "Gitpod, An Open Source Developer Platform, Obtains $25M" -[#]: via: "https://www.opensourceforu.com/2022/11/gitpod-an-open-source-developer-platform-obtains-25m/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Gitpod, An Open Source Developer Platform, Obtains $25M -====== - -![open srs2][1] - -The new category created by the corporation is intended to increase productivity among the most expensive and in-demand workers for businesses: developers. - -Gitpod GmbH, a start-up open source developer platform, revealed today that it has raised $25 million in fresh funding to establish a new category it calls cloud development environments. - -The Series A investment was led by Tom Preston-Werner, the creator and former CEO of GitHub. Other notable individual investors included General Catalyst, Crane Venture Partners, Vertex Ventures US, Speedinvest, Pebblebed, GTMfund, and MongoDB Ventures. According to information from Crunchbase, Gitpod has now raised $14 million in total, including the fresh capital. - -Gitpod, a 2019 startup, provides an online integrated development environment that can be opened from any GitHub page in a web browser. The business claims that Gitpod offers a fully functional programming environment with support for desktop or browser-based VS Code or any JetBrains integrated development environment, enabling developers to get started coding in only a few seconds. The exact project that is being updated is automatically configured in a separate cloud-based Linux container. - -To reduce the hassle of manually setting up and maintaining a development environment, there is a service called Gitpod. According to the business, developers can work more rapidly using Gitpod since it gives them access to all the tools they need to upgrade or build new apps more quickly. - -Gitpod’s platform was being used by more than 350,000 developers as of its most recent investment round in April 2021. Eighteen months later, there are now 750,000 people. Gitpod is used by developer teams at notable organisations like Google LLC, GitLab Inc., DataStax Inc., and Amazon Web Services Inc. - -According to Gitpod, clients report losing up to five hours of work time per week due to unreliable development environments; CDEs are designed to fix this issue. - -The organisation guarantees that they will be instantaneously accessible and offer limitless secure development settings. A workspace plugin system, application programming interfaces, and enhanced extensibility are on the development agenda. With preview environments and new collaborative procedures, CDEs are also believed to open up completely new options for team members to collaborate more closely. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/11/gitpod-an-open-source-developer-platform-obtains-25m/ - -作者:[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/11/open-srs2-696x444.png diff --git a/sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md b/sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md deleted file mode 100644 index 17fa981d7f..0000000000 --- a/sources/tech/20221019.0 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md +++ /dev/null @@ -1,140 +0,0 @@ -[#]: subject: "Fedora 37: Top New Features and Release Wiki" -[#]: via: "https://www.debugpoint.com/fedora-37/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Fedora 37: Top New Features and Release Wiki -====== - -**An article about Fedora 37 and its new features, release details and everything you need to know.** - -Fedora 37 development is wrapped up, and the BETA is [now out][1]. Hence the features and packages are final at this stage. - -In this usual feature guide page, I have summarised the essential features you should know about Fedora 37 and get an idea of what to expect. But before that, here’s a tentative schedule. - -- The beta was out on September 13, 2022. -- **Final Fedora 37 is planned for release on October 25, 2022.** - -![Fedora 37 Workstation with GNOME 43][2] - -### Fedora 37: Top New Features - -#### Kernel - -**First** up are the critical items that make the core. Fedora 37 is powered by **Linux Kernel 5.19,** the latest mainline Kernel available now. Linux Kernel 5.19 brings essential features such as a fix for Ratbleed vulnerability, ARM support, Apple M1 NVMe SSD controller support and many such features, which you can read in our [Kernel feature guide][3]. - -The advantage of using the latest Kernel is that you can be assured that you are using the latest and greatest hardware support available at this moment in time. - -**Next** up, the desktop environments are updated in this release. - -#### Desktop Environment - -Fedora 37 is the first distribution which brings the stunning **GNOME 43** desktop, which brings some excellent features such as: - -- [Revamped quick settings][4] with pill-buttons -- Files (nautilus) 43 with GTK4 and libadwaita port -- Files with rubberband, emblems, responsive sidebar-like features -- [Updated GNOME Web with WebExtension API support][5] - -And many features you have been waiting for for years. Do check out my [GNOME 43 feature guide][6] to learn more. - -Fedora 37 brings **KDE Plasma 5.26** desktop environment with tons of new features, performance improvements and bug fixes. The most noteworthy features of the KDE Plasma desktop include: - -- An updated overview screen. -- Dynamic wallpaper for dark and light themes. -- Animated wallpaper support -- Multi-button mouse support -- Updated KDE Framework and applications. - -…and much more which you can read in detail in my [KDE Plasma 5.26 feature guide][7]. - -Since the lightweight desktop LXQt gets a stable update, 1.1.0, it arrives in Fedora 37. **LXQt 1.1.0** brings a default colour palette for dark themes for a uniform look, two variants (simple and compact) of the application menu and re-arranged GTK settings. Furthermore, LXQt 1.1.0 also starts the initial work for the Qt 6.0 porting of desktop components. All these bug fixes and enhancements arrive in the Fedora LXQt edition. - -In addition, other primary desktop flavours remain at their current releases since no significant new updates arrive, i.e. **Xfce 4.16 and MATE 1.26**for the respective Fedora flavours. - -Let’s see what the system-wide changes in this release that impacts all the Fedora flavours are. - -#### System wide changes - -The most significant change is the official support for **Raspberry Pi 4** boards. Thanks to the works over the years, you can now enjoy Fedora 37 on your favourite Pi boards with out-of-the-box supports. - -Fedora Linux is always a pioneer in advancing technology and adopting the latest features before any other distro. With that in mind, the **SDDM display manager now comes with default Wayland** in KDE Plasma (and Kinoite) and different flavours. This completes the Wayland transition from the Fedora distro aspect for this flavour.  - -As I [reported earlier][8], Fedora Linux 37 plans to provide us with a preview image of a **Web-based installer** for Anaconda. It might not be available immediately following the release. But it should be within a few days post-release. - -Other noteworthy features include changing the **default hostname from “fedora” to “localhost”** to mitigate some third-party system configuration detection.  - -Other than that, the **Fedora Core OS** is made to be an official Fedora edition and now stands together with Server, IoT and cloud editions for better discovery and adoption. Fedora Core OS minimal footprint OS is primarily used for container workloads and brings auto updates and additional features. - -Following the tradition, this release also features a [brand new wallpaper][9] with both night and day versions. I must say it looks awesome (see the above desktop image). - -Finally, also in this release, Fedora **drops 32-bit Java** packages, including JDK 8, 11, and 17, since usage is low. In addition, the openssl1.1 package is also deprecated. - -The toolchain, apps and programming stack are updated as follows: - -- Glibc 2.36 and Binutils 2.38 -- Node.js 18.x -- Perl 5.36 -- Python 3.11 - -### Summary of features in Fedora 37 - -So, that’s about it with the features of this release. Here’s a summary of the Fedora 37 features: - -- Linux Kernel 5.19 -- GNOME 43 -- KDE Plasma 5.26 -- Xfce 4.16 -- MATE 1.24 -- LXQt 1.1.0 -- A preview image of the new web-based installer -- The SDDM display manager defaults to Wayland (in KDE Plasma and others) -- Official Raspberry Pi 4 support -- Fedora Core OS becomes the official flavour -- Key packages dropping 32-bit support -- And associated toolchain and programming language updates. - -If you have spare time, you can[give it a spin][10] or test drive. Just be cautious that it is still BETA. - -Also, If you are daring enough, you can upgrade to this release with **caution** because, y’know it’s BETA. The commands below will help you to do that. - -``` -sudo dnf install dnf-plugin-system-upgrade -sudo dnf system-upgrade download --ref --releasever=37 -``` - -For Kinoite, Silverblue and other immutable versions, use: - -``` -rpm-ostree rebase fedora:fedora/37/x86_64/silverblue -``` - -**So, what’s your favourite feature of this release? Let me know in the comment section.** - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/fedora-37/ - -作者:[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://debugpointnews.com/fedora-37-beta/ -[2]: https://www.debugpoint.com/wp-content/uploads/2022/08/Fedora-37-Workstation-with-GNOME-43-1024x572.jpg -[3]: https://www.debugpoint.com/linux-kernel-5-19/ -[4]: https://www.debugpoint.com/gnome-43-quick-settings/ -[5]: https://www.debugpoint.com/gnome-web-43-tab-view/ -[6]: https://www.debugpoint.com/gnome-43/ -[7]: https://www.debugpoint.com/kde-plasma-5-26/ -[8]: https://debugpointnews.com/fedora-37-anaconda-web-ui-installer/ -[9]: https://debugpointnews.com/fedora-37-wallpaper/ -[10]: https://getfedora.org/workstation/download/ diff --git a/sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md b/sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md deleted file mode 100644 index 283805a302..0000000000 --- a/sources/tech/20221023.1 ⭐️⭐️ Endless OS – Desktop Linux Done Right for the Masses.md +++ /dev/null @@ -1,202 +0,0 @@ -[#]: subject: "Endless OS – Desktop Linux Done Right for the Masses" -[#]: via: "https://www.debugpoint.com/endless-os-review-2021/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Endless OS – Desktop Linux Done Right for the Masses -====== - -**We review the popular Endless OS as Linux Desktop with the new features and updates of the latest version 4.0.** - -![Endless OS Desktop version 4.0][1] - -Endless OS is a [OSTree based][2] free and open-source[Linux Distribution][3]. This Linux distribution is packaged from Debian/Ubuntu, but not directly based on it. OSTree is an atomic upgrade system for Linux-based OSes. This is a unique way to provide package updates to Linux-distribution, where OSTree packages everything in a server and then replicates to the client. - -The main advantage is that your underlying Linux operating system always remain intact, and it is read-only. OSTree only operates in user space. - -In that sense, Endless OS never breaks, and it remains fresh as you install for the first time. Today, only very few Linux Distribution are based on OSTree technology – such as Fedora SIlverblue and Fedora Kinoite. - -That said, let take a deep dive on the Endless OS as a whole and check out the updates to the new version. - -### Endless OS Review - -#### Version 4.0 Updates - -As of writing this post, Endless OS latest version is 4.0 which has been released on Nov 22, 2021. This release brings better app grid switching with indicators, switch user option and a Long term support model. With this new support model, this version 4.0 will continue to receive update even after Endless OS 5.0 released. You can learn more about the updates in this [post][4]. - -#### Downloading Endless OS - -Before I go into the installer, I would like to spend a few words on the installer/.ISO of this distribution. Endless OS brings two separate installers. An .ISO file specifically designed for Windows system to install as dual-boot. This installer is an EXE file which you can download in Windows machine and start the installation! This something unique I found. - -With all the Windows hate aside, this actually helps to adopt this Linux distribution far more easily for the average user. An average user may not even know what a partition or a GRUB is. So, in those situations, it downloads, does the partition and installs it without any complex user input. This is really impressive. You can learn more about the Windows installation [here][5]. - -Other .ISO images are dedicated to – - -- Basic desktop installer with language selection -- A specially designed .ISO for virtual machine -- .ISO images for ARM hardware such as Raspberry Pi, Pinebook Pro etc. - -Go ahead and open the below link and get your .ISO copy. Remember, the full installer ISO files are much larger > 10 GB. So, if you are planning to test, use the basic installer. - -![Download options of Endless OS][6] - -[download Endless OS][7] - -#### Unique Installation of Endless OS - -Apart from the Windows installation as described above, you need to know a couple of things. The Endless OS can not be installed at the moment as dual boot with other Linux distributions. What? Yes. - -As per the information I found, the .ISO is not designed to handle other Linux distribution as dual boot. However, you can try it in virtual machine with any Linux host OS. - -The basic installer gives you two options. Try in LIVE media or reformat the entire disk and install. Yes, entire disk. So be very careful if you’re trying to install in actual hardware. - -During my test, I had to install it in a virtual machine ([virt-manager][8]) because I don’t want to reformat my entire SSD. - -The installation went smooth. No error whatsoever. However, it took a little longer (probably 10 to 15 minutes extra) than other Linux distribution installation in same hardware. - -![Two options to Install and Try Endless OS][9] - -![This OS requires entire disk][10] - -#### First Login and Setup - -After the successful installation, you get to choose Language, user account, privacy options. These are standard GNOME options which we see in Fedora Workstation GNOME Edition. One of the important item is the terms of use. As this Linux is targeted for mass deployment for schools, non-profits or labs – you might want to go through the terms. - -User creation dialog have an option to set up parental control for the user being created, which is neat. - -#### How the Endless OS with GNOME desktop looks - -When you first boot up, you see a desktop with icons and a search bar. - -This is the application list menu, which is the default desktop screen. You can search any items in your desktop and launch them via the search bar. The search bar also gives you the option to directly search Google via Chromium, which is the default browser. - -This default desktop screen contains preloaded applications and well organized app folders for native GNOME apps. - -The bottom panel is awesome, really. It is well optimized in terms of looks and width. Not too narrow or wide. In the far left, you have Endless OS icon, which is a toggle for show applications and show desktop options. - -Then, you have the favorites as icons. The favorites icons have the app indicator notifying that it is open. If some app is not marked as favorites, they also show up in the bottom panel when opened with app indicator. This is super neat. - -To the right, the system tray is classified intro three sections. First one gives you the volume controls, network and Wi-Fi settings. In the middle you have date, time and calendar on mouse-hover. And at the extreme right you have the options to log out, switch user, power off and other information. All these menu comes up when you mouse-hover into it. You do not need to click them. - -#### Hot Corner and Workspace - -Endless OS is based on GNOME 3.38 version. Not GNOME. Hence, the workspace design is kind of unique. To the extreme right bottom – there is a hot corner. When you click on that, it brings up the current workspace with a list of running applications. When you mouse hover, you can close them or select them without leaving the view. - -#### Things that I feel Endless OS done right with GNOME - -If you have used GNOME in Ubuntu or Fedora, and then experienced it in Endless OS, you might find some UI tweaks works out of the box. You do not need to set up Extensions or change settings. Here are a couple of them I found that I wish GNOME with Fedora or Ubuntu would feature by default. - -- Clicking on desktop empty section shows the desktop by minimizing all open applications. And pressing ALT+TAB brings up the open app windows again. You can’t imagine how comfortable this behavior is. -- The show desktop and app toggle at the bottom right of the panel and its default mapping with Super key. This just works. -- All windows have Minimize, Maximize, and Close icons at the top right by default. You do not need additional tweaks to get it working. -- Hot corner implementation at the far right. -- Panel design in terms of width, app icons with app indicators. They are all default implementations. -- System tray menu popup in mouse over by default. You do not need an extra click to open it up. This is such a breathing while using the mouse. - -Here’s a quick video showing all the above features. - -#### Unique Features that make it perfect for non-technical users - -Perhaps the unique selling point of this Linux desktop is minimal user intervention during installation + post-install tweaks. And you can start using this desktop without internet connection right away. A perfect desktop for those places where internet is not always available. - -Think about a school at a remove place where Internet connectivity is costly or not available. But you need to have a stable, free and easy-to-use Linux Desktop for kids to learn the computing. You can burn a CD/DVD or create USB with language specific .ISO and deploy it offline. - -And post-installation does not require any additional settings at all. All the options are well defaulted and just works. - -#### Software and Applications - -One point to note that, Endless OS use Flatpak to deploy applications. There is no way to install other than Flatpak. For example, you can not use apt or apt-get at all because the file system is read only. - -That’s why, the .ISO itself is larger and contains all required applications, language packs preloaded. Ideal for schools, labs and other forms of deployments. - -However, if you need additional applications, you can install it using the customized App Center for GNOME with internet connection. - -The App Center have curated categories at the left which shows the Flatpak applications. The App center is configured to fetch application metadata directly from Flathub. - -![App Center in Endless OS][11] - -Oh, this OS supports NVIDIA cards out-of-the-box with either the proprietary driver for supported cards or nouveau for older ones. - -#### Help Center - -Think about a situation, where a student is learning computer for the first time using Endless OS. If the person want to change the login screen photo, how does he/she do? - -Here comes the great built-in help center of this OS which I feel one of the important feature. All the person need to do is type something in the desktop search bar and pull up help. - -This is so helpful, isn’t it? - -![Trying Help in Endless OS-1][12] - -![Trying Help in Endless OS-2][13] - -#### How about the performance? - -I have only managed to install it in a virtual machine. So, it has comfortable response time while using the desktop. The animations and other gestures are instant. I kept it running for more than 15 hours in a virtual machine. - -After 15 hours, it was consuming around 1 to 2% CPU and 1 GB of memory. Most of the CPU is consumed by gnome-shell, followed by Xorg. I am not sure why gnome-shell was consuming so much, might be memory leak bug. Not sure though. - -![Performance of Endless OS][14] - -#### What about disk space? - -As this Linux distribution plans to be a self-sufficient distro without internet, the installation size is a little larger compared to other distributions such as Ubuntu or Fedora. A default virtual machine installation takes around ~11 GB of disk space. - -#### Is it a perfect Linux Distribution? Well, not really. - -I try many Linux distributions and desktops for this blog and my work. Very few are perfect and ready to use just after installation. I mean, you don’t need to go over “10 things to do after installing **” with this Linux distribution. - -But, some minor improvements are welcome from the team in the future. First item I feel, an .ISO which is dedicated to be installed side-by-side with Ubuntu, fedora and other Linux. This is really needed. - -Probably some support for Snap packages in the future. - -And the final drawback might be the availability of applications only as Flatpak. Not every app have an official flatpak version today. That limits its capability to some extent, but not more. - -#### If things go wrong – how to get help and Support? - -There’s a great online active community of Endless OS where you get support from its creators. And the documentation is also very impressive which contains all necessary details ranging from installation to usage. You can visit the community and documentation using the below links. - -- [https://support.endlessos.org/en/home][15] - -- [https://community.endlessos.com/][16] - -### Closing Notes - -Endless OS is one of those few Linux distributions which I felt really well thought of and designed. It is perfect for schools, labs, and remote/offline situations. And perfectly designed to be used by anyone without prior knowledge of much computing, even experience of Windows. Even the Windows users would feel comfortable using this modified GNOME desktop. That said, I am hoping that the team should bring up options to install it alongside other Linux distributions. Then it might be a daily driver distribution for many Linux users and get more attention it deserves. - -If you want only one Linux operating system in your machine which is super stable and run for years, then go ahead and try this distribution. You will be amazed by how much time you save without worrying about terminal, commands, updates/upgrades and sudden package dependency surprises. - -To wrap up this Endless OS review, what you think about Endless OS? Is it a perfect distro? Let me know in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/endless-os-review-2021/ - -作者:[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/2021/11/Endless-OS-Desktop-version-4.0-1024x582.jpg -[2]: https://ostree.readthedocs.io/en/stable/ -[3]: https://www.debugpoint.com/category/distributions -[4]: https://support.endlessos.org/en/endless-os/release-notes/4-0 -[5]: https://support.endlessos.org/en/installation/windows-installer/dual-boot -[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Download-options-of-Endless-OS.jpg -[7]: https://endlessos.com/download/ -[8]: https://www.debugpoint.com/2020/11/virt-manager/ -[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Two-options-to-Install-and-Try-Endless-OS-1024x734.jpg -[10]: https://www.debugpoint.com/wp-content/uploads/2021/11/This-OS-requires-entire-disk.jpg -[11]: https://www.debugpoint.com/wp-content/uploads/2021/11/App-Center-in-Endless-OS-1024x625.jpg -[12]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-1-1024x576.jpg -[13]: https://www.debugpoint.com/wp-content/uploads/2021/11/Trying-Help-in-Endless-OS-2.jpg -[14]: https://www.debugpoint.com/wp-content/uploads/2021/11/Performance-of-Endless-OS.jpg -[15]: https://support.endlessos.org/en/home -[16]: https://community.endlessos.com/ diff --git a/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md b/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md deleted file mode 100644 index 8657b9fc85..0000000000 --- a/sources/tech/20221025.2 ⭐️⭐️ Fedora 37 Top New Features and Release Wiki.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "Fedora 37: Top New Features and Release Wiki" -[#]: via: "https://www.debugpoint.com/fedora-37/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Fedora 37: Top New Features and Release Wiki -====== - -**An article about Fedora 37 and its new features, release details and everything you need to know.** - -Fedora 37 development is wrapped up, and the BETA is [now out][1]. Hence the features and packages are final at this stage. - -In this usual feature guide page, I have summarised the essential features you should know about Fedora 37 and get an idea of what to expect. But before that, here’s a tentative schedule. - -- The beta was out on September 13, 2022. -- **Final Fedora 37 is planned for release on November 15, 2022.** - -![Fedora 37 Workstation with GNOME 43][2] - -Fedora 37 Workstation with GNOME 43 - -### Fedora 37: Top New Features - -#### Kernel - -**First** up are the critical items that make the core. Fedora 37 is powered by **Linux Kernel 5.19,** the latest mainline Kernel available now. Linux Kernel 5.19 brings essential features such as a fix for Ratbleed vulnerability, ARM support, Apple M1 NVMe SSD controller support and many such features, which you can read in our [Kernel feature guide][3]. - -The advantage of using the latest Kernel is that you can be assured that you are using the latest and greatest hardware support available at this moment in time. - -**Next** up, the desktop environments are updated in this release. - -#### Desktop Environment - -Fedora 37 is the first distribution which brings the stunning **GNOME 43** desktop, which brings some excellent features such as: - -- [Revamped quick settings][4] with pill-buttons -- Files (nautilus) 43 with GTK4 and libadwaita port -- Files with rubberband, emblems, responsive sidebar-like features -- [Updated GNOME Web with WebExtension API support][5] - -And many features you have been waiting for for years. Do check out my [GNOME 43 feature guide][6] to learn more. - -Fedora 37 brings **KDE Plasma 5.26** desktop environment with tons of new features, performance improvements and bug fixes. The most noteworthy features of the KDE Plasma desktop include: - -- An updated overview screen. -- Dynamic wallpaper for dark and light themes. -- Animated wallpaper support -- Multi-button mouse support -- Updated KDE Framework and applications. - -…and much more which you can read in detail in my [KDE Plasma 5.26 feature guide][7]. - -Since the lightweight desktop LXQt gets a stable update, 1.1.0, it arrives in Fedora 37. **LXQt 1.1.0** brings a default colour palette for dark themes for a uniform look, two variants (simple and compact) of the application menu and re-arranged GTK settings. Furthermore, LXQt 1.1.0 also starts the initial work for the Qt 6.0 porting of desktop components. All these bug fixes and enhancements arrive in the Fedora LXQt edition. - -In addition, other primary desktop flavours remain at their current releases since no significant new updates arrive, i.e. **Xfce 4.16 and MATE 1.26**for the respective Fedora flavours. - -Let’s see what the system-wide changes in this release that impacts all the Fedora flavours are. - -#### System wide changes - -The most significant change is the official support for **Raspberry Pi 4** boards. Thanks to the works over the years, you can now enjoy Fedora 37 on your favourite Pi boards with out-of-the-box supports. - -Fedora Linux is always a pioneer in advancing technology and adopting the latest features before any other distro. With that in mind, the **SDDM display manager now comes with default Wayland** in KDE Plasma (and Kinoite) and different flavours. This completes the Wayland transition from the Fedora distro aspect for this flavour.  - -As I [reported earlier][8], Fedora Linux 37 plans to provide us with a preview image of a **Web-based installer** for Anaconda. It might not be available immediately following the release. But it should be within a few days post-release. - -Other noteworthy features include changing the **default hostname from “fedora” to “localhost”** to mitigate some third-party system configuration detection.  - -Other than that, the **Fedora Core OS** is made to be an official Fedora edition and now stands together with Server, IoT and cloud editions for better discovery and adoption. Fedora Core OS minimal footprint OS is primarily used for container workloads and brings auto updates and additional features. - -Following the tradition, this release also features a [brand new wallpaper][9] with both night and day versions. I must say it looks awesome (see the above desktop image). - -Finally, also in this release, Fedora **drops 32-bit Java** packages, including JDK 8, 11, and 17, since usage is low. In addition, the openssl1.1 package is also deprecated. - -The toolchain, apps and programming stack are updated as follows: - -- Glibc 2.36 and Binutils 2.38 -- Node.js 18.x -- Perl 5.36 -- Python 3.11 - -### Summary of features in Fedora 37 - -So, that’s about it with the features of this release. Here’s a summary of the Fedora 37 features: - -- Linux Kernel 5.19 -- GNOME 43 -- KDE Plasma 5.26 -- Xfce 4.16 -- MATE 1.24 -- LXQt 1.1.0 -- A preview image of the new web-based installer -- The SDDM display manager defaults to Wayland (in KDE Plasma and others) -- Official Raspberry Pi 4 support -- Fedora Core OS becomes the official flavour -- Key packages dropping 32-bit support -- And associated toolchain and programming language updates. - -If you have spare time, you can[give it a spin][10] or test drive. Just be cautious that it is still BETA. - -Also, If you are daring enough, you can upgrade to this release with **caution** because, y’know it’s BETA. The commands below will help you to do that. - -``` -sudo dnf install dnf-plugin-system-upgrade -sudo dnf system-upgrade download --ref --releasever=37 -``` - -For Kinoite, Silverblue and other immutable versions, use: - -``` -rpm-ostree rebase fedora:fedora/37/x86_64/silverblue -``` - -**So, what’s your favourite feature of this release? Let me know in the comment section.** - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/fedora-37/ - -作者:[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://debugpointnews.com/fedora-37-beta/ -[2]: https://www.debugpoint.com/wp-content/uploads/2022/08/Fedora-37-Workstation-with-GNOME-43-1024x572.jpg -[3]: https://www.debugpoint.com/linux-kernel-5-19/ -[4]: https://www.debugpoint.com/gnome-43-quick-settings/ -[5]: https://www.debugpoint.com/gnome-web-43-tab-view/ -[6]: https://www.debugpoint.com/gnome-43/ -[7]: https://www.debugpoint.com/kde-plasma-5-26/ -[8]: https://debugpointnews.com/fedora-37-anaconda-web-ui-installer/ -[9]: https://debugpointnews.com/fedora-37-wallpaper/ -[10]: https://getfedora.org/workstation/download/ diff --git a/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md b/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md deleted file mode 100644 index 80b5e0f38f..0000000000 --- a/sources/tech/20221027.10 ⭐️⭐️ Customize GNOME 40 Desktop to Look Like macOS [Guide].md +++ /dev/null @@ -1,247 +0,0 @@ -[#]: subject: "Customize GNOME 40 Desktop to Look Like macOS [Guide]" -[#]: via: "https://www.debugpoint.com/gnome-40-macos-look-1/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Customize GNOME 40 Desktop to Look Like macOS [Guide] -====== - -**A quick guide for you to help you customizing the GNOME 40 desktop to look like macOS.** - -Ever since the GNOME 40 desktop was released, I was wondering whether it is even possible to make this desktop look like macOS. It seems we can do it as close as possible to look like macOS. Here’s how. - -There’s always debate that why people are so fascinated to make Linux Desktop look like macOS? If you want MacOS, then get a Mac. Well, keeping that debate aside, I ran some experiments to see whether the GNOME 40 and associated extension ecosystem evolved enough to make it look like macOS. - -The power of any Linux desktop is customization. And among the popular desktops such as KDE, GNOME, Deepin, Budgie – only KDE Plasma comes with built-in tools to customize it to anything you want. On the other hand, GNOME’s vanilla install doesn’t give you those options out-of-the-box. Hence to get the desired result, you need to depend on many extensions and tweaks. - -As GNOME 40 fundamentally changes the behavior of the desktop, the developers already ported their extensions to work on GNOME 40. And the majority of them working very well as of today. - -So, in this guide, we are going to use a bunch of extensions for GNOME 40 and the final desktop should look like this. - -![GNOME 40 Desktop Configuration - MacOS][1] - -GNOME 40 Desktop Configuration – MacOS - -![GNOME 40 Customization - MacOS - Workspace View][2] - -GNOME 40 Customization – MacOS – Workspace View - -### Steps to Customize GNOME 40 Desktop to Look Like macOS - -#### Setup Extensions and Tools - -As this guide requires the installation of GNOME extensions, you need to set up your system as per the Linux distribution. You can read our guide here on installing and using GNOME Extensions; Or, follow the quick guide below. - -Open a terminal and install the following. - -**Ubuntu** - -``` -sudo apt install chrome-gnome-shell -``` - -**Fedora** - -``` -sudo dnf install chrome-gnome-shell -``` - -You have to install an add-on based on your preferred browser. Install them using the below links: - -- [Chrome, Chromium, Google Chrome, Vivaldi][3] -- [Firefox][4] -- [Opera][5] - -Install the GNOME Tweak tool using the below command. - -**Ubuntu** - -``` -sudo apt install gnome-tweak-tool -``` - -**Fedora** - -``` -sudo dnf install gnome-tweak-tool -``` - -Install the [new Extensions Flatpak app][6] to manage extensions in GNOME 40 desktop. Go to Software and search for Extensions to install. - -#### Theme, Icon, and Cursor - -##### Download - -I have used the WhiteSur Shell Theme, BigSur Icon Theme, McMojave Cursors, and macOS BS Theme for Cairo Dock for this guide. - -Download the following packages and extract them. Open each of the below links and go to the Files section. Then download the light versions of the packages. If you want the dark theme, you can download the dark version as well. I have used the light theme for this guide. - -- [WhiteSur Shell Theme][7] -- [BigSur Icon Theme][8] -- [McMojave Cursors][9] -- [macOS BS Theme for Cairo Dock][10] - -After you download, extract them. Then create two directories named .icons and .themes under your home directory. Then copy the corresponding folders to .icons and .themes directories. The cursor theme goes to the .icons directory. Do not extract or copy the theme for the Cairo dock. - -#### Install Extensions and configuration - -##### Changes in Tweak Tool - -Open the GNOME Tweak Tool and make the following changes to apply the themes that you downloaded above. - -- On the Window Titlebars tab, turn on Maximize and Minimize and make the placement as Left. -- If you want to change the Font, you can. I kept the default Cantarell Regular font. -- On the Appearance tab change the Themes as below. - -![tweak settings for theme][11] - -tweak settings for theme - -##### Download and configure extensions - -We need a bunch of extensions for the desired looks. Here’s a list of the extensions compatible at the moment with GNOME 40. Install all of them using the below links. After installation, do the following configuration using the Extensions app. - -[Better OSD – GNOME 40][12] : Changes the OSD location in the desktop. - -- Change the horizontal and vertical position of the OSD as per your need so that it becomes like this on the right-top of the desktop. This depends on the resolution of your screen. - -![GNOME 40 OSD][13] - -GNOME 40 OSD - -[Notification Banner Position][14]: Move the default notifications from the center to any section you want. Only enable this extension, no change in settings is required. - -![Notification][15] - -Notification - -[Dynamic Panel Transparency][16]: Make your top panel transparent in GNOME 40 desktop. - -- Change the maximized opacity to 27% and unmaximized to 19% in the settings of this extension. - -[Frippery Move Clock][17]: Move the center clock to the right side of the panel. Only enable this extenstion. No setting change is required. - -[User Themes][18]: Ability to apply GNOME Shell theme. - -- Apply the WhiteSur-light Shell theme. - -![apply WhiteSur-light user theme][19] - -apply WhiteSur-light user theme - -[Blur My Shell][20]: Blurs the workspace and activtiy view and login screen. - -- On the settings, only turn on the blue for Dash and Overview and disable for Panel and others. Because this may conflict with the Transparent panel extension above. - -#### Dock Configuration - -There are many Docks available that are compatible with the GNOME desktop. For this guide, I have used the [Cairo Dock][21]with many customization options. Install it using the following command. - -**Ubuntu** - -``` -sudo apt install cairo-dock -``` - -**Fedora** - -``` -sudo dnf install cairo-dock -``` - -Download the Cairo dock theme for MacOS from the below link. - -[Cairo Dock theme for macOS look-a-like][10] - -After installation of the Cairo Dock, open the GNOME Tweak Tool and add Cairo dock as a startup application. - -From the application menu, launch Cairo Dock. And do the following settings. - -- Import the above theme from **Themes** Tab and **Apply** it. Browse to the downloaded tar file and apply. -- On the Configuration > Appearance Tab Choose **Icons as BigSur** and **Size=Big**. -- On the Configuration > Behaviour Tab change the settings as per the below image. - -![Cairo Dock Config - Behaviour][22] - -Cairo Dock Config – Behaviour - -- Change the **Addon Tab** applets which appear on the Dock as per your need. -- On the **Current Items** Tab, under the Bottom Dock, rearrange and remove anything you want. You can right-click on the items and remove them. -- Add a **custom Launcher** to launch the Application list of GNOME from Right Click on Dock > Add > Custom Launcher. -- On the Current Items Tab, under the Bottom Dock, modify the custom launcher and give a name. For example, for this guide – I have given the name “Finder” and Command as below which would bring up the GNOME Application list. - -![Cairo Dock custom launcher][23] - -Cairo Dock custom launcher - -``` -dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.shellDBusService.ShowApplications();' -``` - -After these configuration, your dock should look like below. - -![Cairo Dock Animation][24] - -Cairo Dock Animation - -#### Additional Configuration - -Time for a nice wallpaper. There are a bunch of wallpapers available for Mac in the below link. Grab one and apply. - -[download cool wallpapers][25] - -If you fancy some more customization, then you can opt for below. - -- For Wobbly windows animation when you drag, download, and apply [Compiz alike windows effect.][26] -- Install [Albert Launcher][27] for your desktop which is like KDE KRunner. - -### Closing Notes - -I hope this guide gives you a starting point for your GNOME 40 desktop customization. There are hundreds of themes, icons, and extensions available compatible with the new desktop workflow. You can create your own desktop look as you wish. - -Do let me know in the comments below, whether it helped you; Also let us know about some cool extensions, themes for everyone. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/gnome-40-macos-look-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://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-Desktop-Configuration-MacOS.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-Customization-MacOS-Workspace-View.jpg -[3]: https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep -[4]: https://addons.mozilla.org/en/firefox/addon/gnome-shell-integration/ -[5]: https://addons.opera.com/en/extensions/details/gnome-shell-integration/ -[6]: https://flathub.org/apps/details/org.gnome.Extensions -[7]: https://www.pling.com/p/1403328 -[8]: https://www.pling.com/p/1399044 -[9]: https://www.pling.com/p/1355701 -[10]: https://www.pling.com/p/1401527 -[11]: https://www.debugpoint.com/wp-content/uploads/2021/05/tweak-settings-for-theme.jpg -[12]: https://extensions.gnome.org/extension/4231/better-osd-gnome-40/ -[13]: https://www.debugpoint.com/wp-content/uploads/2021/05/GNOME-40-OSD.jpg -[14]: https://extensions.gnome.org/extension/4105/notification-banner-position/ -[15]: https://www.debugpoint.com/wp-content/uploads/2021/05/Notification.jpg -[16]: https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/ -[17]: https://extensions.gnome.org/extension/2/move-clock/ -[18]: https://extensions.gnome.org/extension/19/user-themes/ -[19]: https://www.debugpoint.com/wp-content/uploads/2021/05/apply-WhiteSur-light-user-theme.jpg -[20]: https://extensions.gnome.org/extension/3193/blur-my-shell/ -[21]: http://glx-dock.org/ -[22]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-Config-Behaviour.jpg -[23]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-custom-launcher.jpg -[24]: https://www.debugpoint.com/wp-content/uploads/2021/05/Cairo-Dock-Animation.gif -[25]: https://www.pling.com/p/1399346%E2%80%8B -[26]: https://extensions.gnome.org/extension/2950/compiz-alike-windows-effect/ -[27]: https://albertlauncher.github.io/installing/ diff --git a/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md b/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md deleted file mode 100644 index 2401c9249d..0000000000 --- a/sources/tech/20221027.12 ⭐️ Customize GNOME 42 with A Polished Look.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "Customize GNOME 42 with A Polished Look" -[#]: via: "https://www.debugpoint.com/customize-gnome-42-look-1/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Customize GNOME 42 with A Polished Look -====== - -**A tutorial on how you can give your favourite GNOME desktop a polished look, in 5 minutes.** - -There are many ways you can customize your favourite GNOME desktop with icons, themes, cursors and wallpapers. This article shows you how to give the GNOME 42 desktop a more polished look. The GNOME 42 desktop environment is available with the recently released Ubuntu 22.04 LTS and Fedora 36. - -Before you read further, here’s how it looks with a side by side comparison (before and after). - -![GNOME before customisation][1] - -![GNOME after customisation][2] - -I am going to divide this tutorial into two sections. - -The first section deals with setting up and installing required packages. And second, how to apply various settings to get your desired look. - -This tutorial was mainly tested on Ubuntu 22.04 LTS. However, it should work in other variants of Ubuntu and Fedora. - -### Customize GNOME 42 with a Polished Look - -#### Setup - -- First, enable your system for Flatpak because we need to install the Extension Manager to download some required GNOME Shell extensions for this tutorial. - -- So, to do that, open up a terminal and run the following commands. - -``` -sudo apt install flatpak gnome-software-plugin-flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -``` - -- Reboot the computer once done. - -- Then run the following command from the terminal to install the Extensions Manager app to download GNOME Shell Extensions. - -``` -flatpak install flathub com.mattjakeman.ExtensionManager -``` - -- Open the Extension Manager application and install two extensions. The first one is **Floating Dock** which features a super cool dock which you can move around anywhere on your desktop. Second, install the **User themes** extensions to help you install the external GTK themes in your Ubuntu Linux. - -![User Themes Extension][3] - -User Themes Extension - -![Floating Dock Extension][4] - -Floating Dock Extension - -- Secondly, install the [Materia Theme][5] using the below commands. You have to build it as it doesn’t have any executable. Run the following commands in sequence in Ubuntu to install. - -``` -git clone https://github.com/ckissane/materia-theme-transparent.gitcd materia-theme-transparentmeson _buildmeson install -C _build -``` - -- Additionally, download the [Kora Icon theme][6] from the below link. After downloading, extract the files and copy the below four folders to `/home//.icons` path. Create the .icons folder if it is not present. - -[Download Kora Icon Theme][7] - -![Kora Icon Theme][8] - -Kora Icon Theme - -- Besides the above changes, download the awesome Bibata cursor theme from the below link. After download, extract and copy the folders to the same `/home//.icons` folder. - -[Download Bibata Cursor Theme][9] - -- In addition to the above, if you want a nice font which goes with the above themes, [download Robot font][10] from Google Fonts and copy them to `/home//.fonts` folder. - -- Finally, restart your system once again. - -#### Configuration - -- Open the Extension Manager, enable the Floating Dock and User Themes, and disable the Ubuntu Dock. - -![Changes to Extensions][11] - -Changes to Extensions - -- In addition, open the Floating dock settings and make the following changes. - -![Floating Dock Settings][12] - -Floating Dock Settings - -- Cursor: Bibata-Original-Ice -- Shell Theme: Materia -- Icon: Kora - -- Furthermore, open the [GNOME Tweak Tool][13], and go to the Appearance tab. Set the followings. - -- Other than that, you may also want to change the font. To do that, go to the Fonts tab and change the document and interface to Robot 10pt. - -- Alternatively, you can also change the accent colour and style from Settings which comes by default with Ubuntu 22.04. - -- Finally, download a nice wallpaper as per your preference. For this tutorial, I have downloaded a sample wallpaper from [here][14]. - -- If all goes well, you should have a nice desktop, as shown below. - -![Customize GNOME 42 - Final Look][15] - -Customize GNOME 42 – Final Look - -Enjoy a polished GNOME 42. Cheers. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/customize-gnome-42-look-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://i2.wp.com/www.debugpoint.com/wp-content/uploads/2022/05/GNOME-before-customisation.jpg?ssl=1 -[2]: https://i0.wp.com/www.debugpoint.com/wp-content/uploads/2022/05/GNOME-after-customisation.jpg?ssl=1 -[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/User-Themes-Extension2.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/Floating-Doc-Extension.jpg -[5]: https://github.com/ckissane/materia-theme-transparent -[6]: https://github.com/bikass/kora/ -[7]: https://github.com/bikass/kora/archive/refs/heads/master.zip -[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/Kora-Icon-Theme.jpg -[9]: https://www.pling.com/p/1197198/ -[10]: https://fonts.google.com/specimen/Roboto -[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/Changes-to-Extensions.jpg -[12]: https://www.debugpoint.com/wp-content/uploads/2022/05/Floating-Dock-Settings.jpg -[13]: https://www.debugpoint.com/2018/05/customize-your-ubuntu-desktop-using-gnome-tweak/ -[14]: https://www.pexels.com/photo/colorful-blurred-image-6985048/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/05/Customize-GNOME-42-Final-Look.jpg diff --git a/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md b/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md deleted file mode 100644 index a8bdd34319..0000000000 --- a/sources/tech/20221027.2 ⭐️ Customize GNOME in Ubuntu 20.04 with this Productive Look.md +++ /dev/null @@ -1,167 +0,0 @@ -[#]: subject: "Customize GNOME in Ubuntu 20.04 with this Productive Look" -[#]: via: "https://www.debugpoint.com/customize-gnome-ubuntu-2020/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Customize GNOME in Ubuntu 20.04 with this Productive Look -====== - -**In one of the early [guides][1], I explained the overall look and feel of the GNOME desktop. How you can visually change the look from a mundane desktop to something nice and better. This guide explains some steps which give you an idea of how you can Customize GNOME in Ubuntu 20.04 with a productive look.** - -Thanks to extensions, the GNOME desktop can be transformed to anything from visual and overall productivity. GNOME extensions are very powerful if you know which one to use and what customizations to apply. - -There are hundreds of extensions on the official GNOME extension website. That means you can customize GNOME in many ways. The following steps are merely a guide to show you how you can customize Ubuntu 20.04 with GNOME With a productive look. - -### Customize GNOME in Ubuntu - -A default Ubuntu installation with GNOME desktop look like this without much configuration. This guide helps you to changes this look. - -![Before Customization - GNOME][2] - -Before Customization – GNOME - -#### Prerequisite - -Make sure GNOME Extension is enabled in your browser. If you don’t know how to – [check this guide][3]. Or, just visit the official GNOME Extension page [here][4]. You can get a popup message at the top saying the steps (see below). Follow the instructions to enable GNOME extensions for your browser. - -![GNOME Extensions Page][5] - -GNOME Extensions Page - -I hope you have the admin password of the Ubuntu 20.04 installation where you are trying this out. - -And, install the [GNOME Tweak Tool][6]. You can use Ubuntu Software to install Or, run below from the terminal. - -``` -sudo apt-get install gnome-tweaks -``` - -#### Install Extensions - -Open the [GNOME Extension website][4]. - -Then, install all the below extensions. Open the link and click on the “OFF” button to enable and install respective extensions. - -- [Dash to panel][7] -- [Tray icons][8] -- [Open Weather][9] -- [User Themes][10] -- [Arc menu][11] - -#### Configure the extensions - -##### Dash to Panel - -Once you install, the Dash by default moves to the bottom of the screen. Right click on the panel at the bottom and open ‘Dash to Panel Settings’. Change below settings. - -![Dash to Panel Settings][12] - -Dash to Panel Settings - -**On the Position Tab** - -- Disable the Show Applications Button -- Move the Date menu after System menu -- Change Desktop button width to 15px. -- Turn on the override panel theme background opacity. Give value to 50%. - -**On the style tab** - -- Change the running indicator style to dots. - -##### Tray icons - -- No need to change any settings. - -##### Open Weather - -- Change the display, City and the temperature unit if you like. - -##### User Themes - -- No need to change any settings. - -##### Arc Menu - -- Open Arc Menu Settings - -**General Tab** - -- Choose Display Arc menu on Dash to panel. -- Choose Hot Key for Arc menu to Left Super key. - -**Menu Layout Tab** - -- Choose Modern menu layout to Redmond Menu Style - -![Arc Menu Settings][13] - -Arc Menu Settings - -**Menu Theme** - -- Choose override menu theme. Keep the theme as default, or, you can change as you wish. - -**Button Appearance** - -- Change the icon to anyone. I have selected the Ubuntu icon. -- Change Icon size to 40px. - -At this stage, the menu and panel should look like this. - -![Panel and Menu][14] - -Panel and Menu - -Almost done, couple of additional settings are required now. - -- Open the GNOME Tweak tool and go to the Appearance tab. Choose Shell theme to Yaru Dark. -- Open Settings and change the Appearance to Dark. -- Then change the desktop wallpaper to a nice wallpaper. - -If all goes well, you should have a nice productive yet beautiful looking desktop with you. The Arc Menu itself is a big productivity booster. - -### Final desktop - -![GNOME Desktop After customization - Ubuntu][15] - -GNOME Desktop After customization – Ubuntu - -So, that’s it with the steps. This is merely a guide. You can play around with the settings in hundreds of ways to make the GNOME desktop best suitable for you. - -Wallpaper Photo by **[Ethan Wu][16]** from **[Pexels][17]** - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/customize-gnome-ubuntu-2020/ - -作者:[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/2020/05/customize-gnome-in-ubuntu-20-04-with-a-new-look/ -[2]: https://www.debugpoint.com/wp-content/uploads/2020/11/Before-Customization-GNOME--1024x576.jpg -[3]: https://www.debugpoint.com/2018/05/how-to-install-and-use-gnome-shell-extensions-in-ubuntu/ -[4]: https://extensions.gnome.org/ -[5]: https://www.debugpoint.com/wp-content/uploads/2020/11/GNOME-Extensions-Page.jpg -[6]: https://www.debugpoint.com/2018/05/customize-your-ubuntu-desktop-using-gnome-tweak/ -[7]: https://extensions.gnome.org/extension/1160/dash-to-panel/ -[8]: https://extensions.gnome.org/extension/1503/tray-icons/ -[9]: https://extensions.gnome.org/extension/750/openweather/ -[10]: https://extensions.gnome.org/extension/19/user-themes/ -[11]: https://extensions.gnome.org/extension/1228/arc-menu/ -[12]: https://www.debugpoint.com/wp-content/uploads/2020/11/Dash-to-Panel-Settings.jpg -[13]: https://www.debugpoint.com/wp-content/uploads/2020/11/Arc-Menu-Settings.jpg -[14]: https://www.debugpoint.com/wp-content/uploads/2020/11/Panel-and-Menu.jpg -[15]: https://www.debugpoint.com/wp-content/uploads/2020/11/GNOME-Desktop-After-customization-Ubuntu-1024x576.jpg -[16]: https://www.pexels.com/@ethanwu?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels -[17]: https://www.pexels.com/photo/closeup-photo-of-water-dew-on-glass-1425298/?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels diff --git a/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md b/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md deleted file mode 100644 index 9f1100811c..0000000000 --- a/sources/tech/20221028.0 ⭐️ How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step.md +++ /dev/null @@ -1,174 +0,0 @@ -[#]: subject: "How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step" -[#]: via: "https://www.linuxtechi.com/how-to-install-postgresql-on-ubuntu/" -[#]: author: "Narendra K https://www.linuxtechi.com/author/narendra/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install PostgreSQL 15 on Ubuntu 22.04 Step-by-Step -====== - -In this article, we will explain how to install PostgreSQL 15 database server on Ubuntu 22.04 (Jammy Jellyfish). - -PostgreSQL is a powerful, open-source object-relational Database Management System (DBMS). It’s been battle-tested for over 35 years which has earned it a strong reputation for reliability and performance. This feature-rich database is used by many tech giants, such as Apple, IMDB, Instagram, and so on. - -PostgreSQL supports large number of the SQL standard and is constructed to be extensible by users in many aspects. Some of the salient features include ACID transactions, foreign keys, subqueries, triggers, user-defined types, functions, etc. - -##### Prerequisites - -Before installing the PostgreSQL server, we must ensure that the system meets the following installation requirements: - -- Pre-Installed Ubuntu 22.04 -- A regular user with sudo rights -- An active internet connection -- At least 2 GB of RAM with an additional 512 MB of disk space. Please note that this is a minimal requirement for the demo environment. The actual hardware configuration will vary with data volume. - -Without any further delay, let’s deep dive into PostgreSQL 15 installation steps, - -### 1) Enable PostgreSQL Package Repository - -PostgreSQL 15 package is not available in the default package repository, so enable its official package repository using following commands. - -``` -$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' -$ wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null -``` - -To begin, let’s fetch the latest versions of the packages. We can achieve this using the apt update command as shown below: - -``` -$ sudo apt update -``` - -The above command will take a few seconds to complete. - -### 2) Install PostgreSQL 15 Database Server and Client - -The postgresql package installs the default version of the PostgreSQL database server whereas the postgresql-client package installs the client utility. - -Let’s install the PostgreSQL client and server using the below apt command: - -``` -$ sudo apt install postgresql postgresql-client -y -``` - -Next, let’s verify that the PostgreSQL service is up and running: - -``` -$ sudo systemctl status postgresql -``` - -Finally, check the PostgreSQL version using the psql command line utility: - -``` -$ psql --version -``` - -Here, we can see that the version of PostgreSQL is 15. - -### 3) Update PostgreSQL Admin User Password - -By default, we can connect to the PostgreSQL server without using any password. Let’s see this in action using the psql utility: - -``` -$ sudo -u postgres psql -postgres=# -``` - -In the above output, the postgres=#  prompt indicated the active connection with the PostgreSQL server. - -In this example, we have used the postgres user. This is an admin user of PostgreSQL and it gets created during the installation process. - -Allowing administrative access to the database without any password isn’t a good idea. So, let’s set the password for the postgres user: - -``` -postgres=# ALTER USER postgres PASSWORD 'demoPassword'; -``` - -The above SQL query sets the user password to demoPassword. Please note that, we have used a very simple password because this is a demo environment. However, the same is not recommended in the production environment. - -Let’s verify that the password has been set successfully. So first, terminate the current session with the server using the \q command. - -``` -postgres=# \q -``` - -Output of above commands, - -Now, let’s connect to the database server again: - -``` -$ psql -h localhost -U postgres -``` - -Let’s enter the demoPassword string as a password and now we are connected to the database. - -### 4) Configure PostgreSQL to Allow Remote Connections - -By default, PostgreSQL accepts connections from the localhost only. However, we can easily modify the configuration to allow connection from remote clients. - -PostgreSQL reads its configuration from the postgresql.conf file which is located in the /etc/postgresql//main/ directory. Here, the version indicates the major version of PostgreSQL. - -For example, in our case the full path of the file is /etc/postgresql/15/main/postgresql.conf. - -Now, open the postgresql.conf file in a text editor, uncomment the line that starts with the listen_addresses, and replace ‘localhost’ with ‘*’. - -This setting is located under the CONNECTIONS AND AUTHENTICATION section. After modification the file will look like this: - -Save and close the file. - -Next, edit the IPv4 local connections section of the pg_hba.conf file to allow IPv4 connections from all clients. Please note that this file is also located in /etc/postgresql/15/main/ directory. - -``` -$ sudo vi /etc/postgresql/15/main/pg_hba.conf -``` - -After modification the file will look like this: - -In the above configuration indicates to allow connection from the network 192.168.1.0/24 - -In case, Ubuntu firewall is running on your system then allow PostgreSQL 5432 port using following command, - -``` -$ sudo ufw allow 5432/tcp -``` - -##### Verifying Remote Connection - -Finally, restart the service and verify it’s up and running: - -``` -$ sudo systemctl restart postgresql -$ sudo systemctl status postgresql -``` - -Now, let’s try to access DB from remote client. - -``` -$ psql -h 192.168.1.192 -U postgres -``` - -In this example, 192.168.1.192 is the IP address of the PostgreSQL database server. - -Here we can see that we are able to access DB from the remote client. - -That’s all from this article.Please do post your queries and feedback in the below comments section. - -Read Also: [How to Set Static IP Address on Ubuntu Server 22.04][1] - --------------------------------------------------------------------------------- - -via: https://www.linuxtechi.com/how-to-install-postgresql-on-ubuntu/ - -作者:[Narendra K][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.linuxtechi.com/author/narendra/ -[b]: https://github.com/lkxed -[1]: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/ diff --git a/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md b/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md deleted file mode 100644 index 2a2343f4e9..0000000000 --- a/sources/tech/20221102.2 ⭐️⭐️ Best 5 Alternatives to Microsoft Office [Compared].md +++ /dev/null @@ -1,178 +0,0 @@ -[#]: subject: "Best 5 Alternatives to Microsoft Office [Compared]" -[#]: via: "https://www.debugpoint.com/best-alternatives-microsoft-office-2022/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Best 5 Alternatives to Microsoft Office [Compared] -====== - -**Here we give you the five best alternatives to Microsoft Office. We compare them based on features, are easy to use and provide you with a guide to choosing the one you need.** - -We all agree that Microsoft Office is one of the best software developed by Mircosoft. It has a presence almost everywhere in the entire world in nearly every business. It is a fine piece of software that evolved over a few decades. - -And obviously, it doesn’t have a Linux native installer and comes with a significant price. The current Microsoft Office 365 subscription pricing is a little higher if you are a business owner or a personal user. And not everyone can afford that price bucket for a longer time. - -Then what are the alternatives? You can try other options that relatively get the job done for most users or businesses. - -This article gives you the five best alternatives to Microsoft Office. - -### Best Alternatives to Microsoft Office - -### 1. LibreOffice - -![LibreOffice][1] - -The first alternative we highlight here is [LibreOffice][2]. The Document Foundation develops and manages the entire LibreOffice free and open-source office suite, available for Linux, macOS and Windows. - -Firstly, it comes with a spreadsheet ([Calc][3]), word processor (Writer), presentation (Impress), drawing (Draw) and a database program (Base). - -Secondly, this project is actively developed, and compatibility with Microsoft Office documents is improved in every release iteration. If appropriately used, LibreOffice can effectively do all the work that a Mircosoft office program does. In addition, a massive set of documentation and communities can help you adopt LibreOffice in no time. - -You don’t need to pay for the software if you are a small or large corporation. But paid deployment and support are also available at minimal cost if you require them for your critical work. - -However, LibreOffice does not come with an Outlook-like email program. This might be one of the minor drawbacks, but you can access emails from web browsers today for all email service providers. - -**More details about LibreOffice** - -- [Home page][2] -- [For Business][4] -- [Download for general-purpose personal use][5] -- [Help and Documentation][6] -- [Official support forum][7] - -### 2. Google Docs - -![Google Docs - alternatives to Microsoft Office][8] - -The search engine giant Google provides a complete web-based Office suite (aka [Google Docs][9]) with its Docs (document processor), Sheets (spreadsheet program) and Slides (presentation) for free users. - -You can access and create documents in your Google Drive account by default and access them from anywhere. The office components provide well-designed web-based toolbars, advanced options, spell check, Voice to Text feature (only in Chrome), encryption and cloud access. Google also offers mobile apps for iOS and Android to access your documents and edit them on the go. - -One of the best features of Google Docs is templates. With the power of pre-built templates, you can start professional-grade documents in time. The collaboration option gives you more control when sharing and deploying documents with a Google account-based authentication and authorization mechanism for a wider audience. - -If you need more from Google Docs, you may opt for Google Workspace with a minimal price compared to costly Microsoft Office. The Google Workspace is a complete and integrated solution that gives you Google Forms to collect data and integrate it into your docs and Sheets, website builder Google Sites, Google Calendar and more storage options to keep your document. - -**More details about Google Docs** - -- [Home page][9] -- [Documentation][10] - -### 3. OnlyOffice - -![OnlyOffice - alternatives to Microsoft Office][11] - -[OnlyOffice][12] is a free and open-source complete Office productivity suite with a text editor, spreadsheet program, and presentation tool for you and your office work. It supports advanced features such as real-time collaboration with proper tracking changes for your shared documents, fillable forms, and many other features. - -This powerful office suite looks better with its Office 365-type ribbons, which helps to adopt this program quickly. In addition, this product has better Microsoft Office compatibility with .docx .xlsx and .pptx file formats which are easy for you and your organization to share documents. - -It’s worth mentioning that it provides an Enterprise office suite, aka “ONLYOFFICE Workspace, ” a paid product with additional features and instant support. This enterprise suite is perfect for those with a tight budget on office products but needs near compatibility with Office 365. - -Furthermore, the ONLYOFFICE Workspace comes with an Email client, CRM product, Project Management tool and an integrated calendar. Although everything works well, you face issues with spell checking, print preview, page size and some bugs. But you should not worry as the team is receptive, and you can report issues on GitHub and get help. - -**More details** - -- [Home page][12] -- [Download][13] -- [Documentation and help][14] - -### 4. Softmaker Free Office - -![FreeOffice - alternatives to Microsoft Office][15] - -The [FreeOffice][16] is another option if you are looking for Microsoft Office alternatives. SoftMaker developed this office suite, and it is arguably one of the choices you may have. Let’s talk a little about its features. - -Firstly, the FreeOffice brings TextMaker (like Word), PlanMaker (like Excel), Presentations and a comparison utility. Secondly, the user interfaces as two options. The modern Ribbon option makes it a desirable product due to its popularity. Moreover, it has a traditional Legacy user interface with a menu and toolbar with a considerable fanbase. - -Besides these, the SoftMaker FreeOffice provides a specific user interface and features for touch-based devices. The Microsoft Office document format compatibility is well established to get the most done. - -However, you may have little trouble working with Open Document Format files, whose support is limited. - -This is a closed-source product. - -**More details about SoftMaker FreeOffice** - -- [Home page][16] -- [Download][17] -- [Documentation and help][18] - -### 5. WPS Office - -![WPS Office][19] - -Remember Kingston Office? Well, it’s now renamed and repackaged as WPS Office, the acronym for Word, Presentation and Spreadsheets. Today, the WPS Office is one of the oldest office suites, with more than three decades of development and release. It is a fully-featured office suite available for all platforms and mobile devices. - -Some of the noteworthy features of WPS Office are its real-time collaboration in its core programs which helps you work in a team on a shared document. The office suite comes with 100,000+ templates which allows you to create professional-grade documents and presentations. - -The WPS Office comes with the standard edition, free to download and use but limited in features. - -Moreover, if you need additional features such as PDF editing, Cloud support, collaborations and enterprise support, then you can opt for the WPS Premium of WPS Business option with a price. - -It’s important to mention that this is a closed-source program and may contain Ads. Also, it was developed by a Chinese company. - -**More details about WPS Office** - -- [Home page][20] -- [Documentation][21] -- [Download][22] - -### Comparison - -Here’s a quick comparison of the free Microsoft Office alternatives based on noteworthy features and other details. - -| Product | Price | Source Type | Pros | Cons | -| :- | :- | :- | :- | :- | -| LibreOffice | Free | Open source | Free and cross-platformMulti-language supportComplete support of ODF filesBest compatibility support of Microsoft OfficeVery active development | No email and project management suiteThe database program depends on Java | -| Google Docs | Free | Close source | Free and cross-platformWell documented supportAccess documents via cloud anywhereComplete Mobile device support | Requires internet connectionLittle slow due to the web-based toolNo native desktop executable available | -| OnlyOffice | Free (basic product) | Open source | The user interface is almost similar to Microsoft OfficeBetter support and compatibility with Microsoft Office filesCloud integration and plugin supportCross-platform | It may face problems with some basic features.Cloud integrations are not compatible with the EU due to GDPRThe web app version is slow | -| FreeOffice | Free (basic product) | Close source | Free and lightweight compared to LibreOffice.Touchscreen supportGood Microsoft Office compatibilityCross-platform | The free version only has documents, spreadsheets and presentations.Additional products need purchaseOpen Document Format support is limitedNot open source product | -| WPS Office | Free | Close source | Good Microsoft office compatibilityCross-platform productTabbed interfaceMulti-language support | Not open source productDeveloped by a Chinese companyMay contain ads | - -### Our Recommendation - -Besides all the pros and cons, if you cannot choose which Office suite is best for you, I recommend going ahead with LibreOffice. Because LibreOffice and TDF have a good vision, active development and worldwide community support. LibreOffice has a considerable knowledge base about tips and tutorials on the helpful web. And you can easily automate tasks with Basic or Python Macro. - -### Closing Notes - -I hope this guide helps you choose the best alternatives for Microsoft Office for your personal or business usage. Genuinely speaking, none of the above office products come close in comparison to Microsoft Office in the true sense. Not everyone or every company can pay a hefty monthly subscription fee for Microsoft Office. For those, I believe some of these options can be a good starting point. - -Some image credits: Respective product owner - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/best-alternatives-microsoft-office-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/wp-content/uploads/2022/03/LibreOffice.jpg -[2]: https://www.libreoffice.org/discover/libreoffice/ -[3]: https://www.debugpoint.com/category/libreoffice/libreoffice-calc/ -[4]: https://www.libreoffice.org/download/libreoffice-in-business/ -[5]: https://www.libreoffice.org/download/download/ -[6]: https://help.libreoffice.org/latest/en-US/text/shared/05/new_help.html -[7]: https://ask.libreoffice.org/ -[8]: https://www.debugpoint.com/wp-content/uploads/2022/03/Google-Docs.jpg -[9]: https://www.google.com/docs/about/ -[10]: https://support.google.com/docs/?hl=en#topic=1382883 -[11]: https://www.debugpoint.com/wp-content/uploads/2022/03/OnlyOffice.jpg -[12]: https://www.onlyoffice.com/ -[13]: https://www.onlyoffice.com/desktop.aspx -[14]: https://forum.onlyoffice.com/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/FreeOffice.jpg -[16]: https://www.freeoffice.com/en/ -[17]: https://www.freeoffice.com/en/download/applications -[18]: https://forum.softmaker.com/ -[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/WPS-Office.jpg -[20]: https://www.wps.com/ -[21]: https://www.wps.com/academy/ -[22]: https://www.wps.com/download/ diff --git a/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md b/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md deleted file mode 100644 index 86ba70d901..0000000000 --- a/sources/tech/20221102.4 ⭐️⭐️ Top 10 Features of Linux Mint 21 “Vanessa”.md +++ /dev/null @@ -1,188 +0,0 @@ -[#]: subject: "Top 10 Features of Linux Mint 21 “Vanessa”" -[#]: via: "https://www.debugpoint.com/linux-mint-21-features/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 Features of Linux Mint 21 “Vanessa” -====== - -**We round up Linux Mint 21 “Vanessa” top features. Find out what’s in store for you.** - -![Linux Mint 21 Cinnamon Desktop][1] - -Linux Mint 21 “Vanessa” is the 36th release of [Linux Mint][2], which carries a good list of features along with several usability improvements across the desktop. The features are scattered across the Cinnamon desktop, core changes, Xapps updates and more. - -I have summarized all of them in this list of top features of Linux Mint 21. - -### Top Features of Linux Mint 21 “Vanessa” - -#### 1. Ubuntu 22.04 and associated updates - -Perhaps the most crucial change is the base of Linux Mint 21, which is now based upon [Ubuntu 22.04 “Jammy Jellyfish”][3]. The last major release, i.e. Linux Mint 20 “Ulyana”, was based on Ubuntu 20.04 “Focal Fossa”, when released four years back. The state of the world in 2020 was utterly different, considering everything going on. - -Hence, a lot of packages, version upgrades, and new performance improvements – all these under-the-hood updates come to Linux Mint 21. That includes the latest LTS [Linux Kernel 5.15][4], which brings further hardware lineup support, and toolchain updates for programming, development and networking. - -#### 2. Major changes in the Timeshift backup tool - -A few months back, the Mint team [announced][5] that they are taking over developing the popular backup tool Timeshift and continuing its development as a “XApps”. So, this is a significant change. Why, may you ask? - -Well, the developer of the Timeshift tool, Tony George, is busy with other projects. You may have heard about “[TeeJeeTech][6]” apps for Linux. It was created by Tony and had some cool apps. However, he doesn’t have the time to concentrate on Timeshift development and enhancement. - -![Timeshift creating snapshot][7] - -With that said, since Linux Mint now maintains it, some new features land in this release, such as Timeshift now determining how much disk space you need for the next backup in rsync mode (not in btrfs mode). In addition, it stops the backup process if it seems the disk space is less than 1 GB after the backup. - -#### 3. WebP Support - -WebP image is a reasonably new image format created by Google for the web. It brings better compression and reduced size while maintaining good quality to traditional JPEG or PNG images. - -WebP support (view images, thumbnail or edit) in Linux Desktop requires some [additional installation][8] of packages. Looking at the popularity Linux Mint team brings out-of-the-box WebP support across the desktop apps and flavours. - -That means Nemo file manager can show thumbnails of WebP images and view them in xviewer. The mint team always thinks about the end-user first because other distros are still behind on supporting WebP by default, such as Ubuntu. Not only that, the new app [xapp-thumbnailers][9] now helps Nemo file manager to preview additional file types as well: - -- ePub -- MP3 with Album Arts -- RAW Images -- AppImage - -#### 4. Process Monitor - -A small but handy process monitor tool will give you a heads-up on what’s happening in your system. This little icon at the system tray shows up when your system is undergoing automatic updates or backup by TImeshift. Your system may become slow in those situations, and this nifty icon can show you why. - -#### 5. Improved printing support - -Linux Mint is well equipped for devices, and the printer supports it by default. This edition of Mint brings [Internet Printing Protocol (IPP)][10] for driverless printing and scanning. - -In addition, HP’s driver, HPLIP’s latest edition (3.21.12), is also installed by default. - -All these changes streamline printer and scanner usage. And users like you can enjoy effortless printing and scanning. It is such an essential aspect of a Linux distro, but it doesn’t work all the time. While [reviewing many distros][11], I found many fails to detect the printers or even print. - -It’s good to see that the mint team contributed to this critical functionality. - -#### 6. Window Animation updates - -There are some considerable changes come in the Window and desktop animation effects. Firstly, the Effects settings for Windows and desktop are merged now. Earlier, separate sections gave more granular control of the animations. - -Here’s a side-by-side view. - -![][12] - -![][13] - -Secondly, the mapping windows and desktop effects options are removed. - -Third, a new control changes the animation speed from slower to faster. - -Finally, a global switch to disable or enable all the animation on the entire desktop gives you the option for more control. - -I believe this is a well-designed dialog and advanced options for better clarity. - -#### 7. Mutter rebase - -Let’s talk about [Cinnamon desktop version 5.4][14], which comes with Linux Mint 21. It’s the latest Cinnamon release, and Mint is the first distro to bring it to the user (other than traditional Arch Linux folks, who got it [a little early][15]). - -Finally, the team completed the rebase of Mutter into its window manager, Muffin in Cinnamon 5.4. Since Muffin was initially forked from Mutter, it was always lagging behind the upstream Mutter features, despite the backporting of changes. A significant amount of effort went to feature inclusion, bug fixes & clean up to make Muffin as close to the Mutter code base. - -Hence, in the future, it is now easier to port back changes from Mutter upstream and clean things in Muffin as needed. - -#### 8. Window manager and GTK Themes - -With the changes in Muffin, the team also moved some of the display settings from gnome-control-center to cinnamon-control-center. In addition, the display configs from csd-xrandr moved into the Muffin window manager in Cinnamon 5.4. Apparently, you may not see any difference in the Display settings window. However, you may see some performance boost and fewer bugs or issues while scaling displays or in high-res windows. - -Another critical change that the Mint team introduced via CInnamon 5.4 is the uniform render of GTK dialogs in apps. Earlier, if a GTK app used a header bar, then the dialog was a mix of CSD (client side decoration) and GTK themes. - -Now with Cinnamon 5.4, all the windows are rendered using the GTK theme irrespective of their design. And with that, the legacy Metacity themes also dropped. - -On a side note, I loved the Metacity, and its “legacy look” when [they were a thing][16] in the early days of GNOME. - -#### 9. Package Management updates - -Following the trends of Debian, KDE Plasma desktop, Linux Mint also protects your system from uninstalling critical dependent packages. - -When you try to uninstall, Mint now checks the dependencies and whether critical desktop packages will be removed. - -If found, you get an error message that stops you from going further. - -On the other hand, when you successfully uninstall a package, it cleans up all the dependencies with it installed. - -#### 10. Disable the Systemd OOMD (out-of-memory daemon) service - -The “systemd-oomd” had some bad feedback recently since the Ubuntu 22.04 LTS release. Users across the web [reported][17] the sudden closing of applications (such as Firefox) without any warning or user intervention. Further investigation pointed to the “not so well” implementation of the systemd-oomd service. - -In theory, the [systemd-oomd.service][18] monitors your system for out-of-memory situations, and it has the authority to kill any processes which consume more system resources. Ubuntu team did not communicate this with importance, which eventually led to an unpleasant user experience. - -With that knowledge, Linux Mint 21 decides [not to feature][19] this service and disables it. Because the user base of Linux Mint is general users, students, etc., it would be a bad experience for users if apps closed unexpectedly. - -![Systemd OOMD service is not enabled][20] - -#### 11. Other Changes - -Finally, let’s round up some tiny yet impactful changes to wrap up the Linux Mint 21 features. - -- The default document reader app Xreader is now capable of minor annotation. This is a handy feature. -- The WebApp manager now brings custom browser parameters. -- Warpinator file transfer utility now shows you other sources on Windows, Android and iOS devices. -- Mint packages Firefox web browser as deb and not the Snap version, which defaults in Ubuntu 22.04 LTS. Thanks to the Mint team, users need not worry about the [complex set of commands][21] to remove the Firefox Snap from Jammy. - -![Firefox 102 in Linux Mint 21 - Exclusively packaged as deb executable][22] - -- The bulk renamer app Thingy gets some UI improvements. -- The os-prober of GRUB2 is now available to detect all the operating systems in your hardware (handy for dual boot or more systems). -- The Bluetooth manager Blueman replaces Blueberry, bringing additional features for connecting and managing your Bluetooth devices. -- Finally, new wallpapers for your new desktop arrive in this release. - -![New Wallpapers in Linux Mint 21][23] - -### Things that are NOT changing - -From a very high level, you might feel that most of the Linux Mint 21 remain the same as its predecessors. The default desktop looks and default wallpaper remains the same. Xfce and MATE desktop didn’t have any major releases. Hence they are precisely the same. In addition, the default icon theme, application menu, etc., may give you a similar feel to the entire desktop. - -### Wrapping Up - -Overall, a good set of features benefits end users rather than being fancy gestures and stuff. For this very fact, Linux Mint is the best Linux distro today for beginners or end users. So, that concludes the feature highlights of Linux Mint 21. - -You can download/update Linux Mint 21 from the [official website][24]. Also, stay tuned for our detailed distro review of Linux Mint 21 soon. - -What do you think about the new features of Linux mint 21? Is there any feature you expected but didn’t arrive in this release? Let’s discuss this in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/linux-mint-21-features/ - -作者:[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/Linux-Mint-21-Cinnamon-Desktop.jpg -[2]: https://www.debugpoint.com/linux-mint/ -[3]: https://www.debugpoint.com/web-stories/ubuntu-22-04-review/ -[4]: https://www.debugpoint.com/linux-kernel-5-15/ -[5]: https://blog.linuxmint.com/?p=4323 -[6]: https://teejeetech.com/ -[7]: https://www.debugpoint.com/wp-content/uploads/2022/07/Timeshift-creating-snapshot.jpg -[8]: https://www.debugpoint.com/view-webp-ubuntu-linux/ -[9]: https://github.com/linuxmint/xapp-thumbnailers -[10]: https://datatracker.ietf.org/doc/html/rfc8011 -[11]: https://www.debugpoint.com/tag/linux-distro-review/ -[12]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-20.jpg -[13]: https://www.debugpoint.com/wp-content/uploads/2022/07/Effects-in-Linux-Mint-21.jpg -[14]: https://github.com/linuxmint/cinnamon-desktop/releases/tag/5.4.0 -[15]: https://www.debugpoint.com/cinnamon-arch-linux-install/ -[16]: https://www.debugpoint.com/gnome-classic-ubuntu-22-04/ -[17]: https://askubuntu.com/questions/1404888/how-do-i-disable-the-systemd-oom-process-killer-in-ubuntu-22-04 -[18]: https://www.freedesktop.org/software/systemd/man/systemd-oomd.service.html -[19]: https://debugpointnews.com/linux-mint-21-systemd-oom/ -[20]: https://www.debugpoint.com/wp-content/uploads/2022/07/Systemd-OOMD-service-is-not-enabled.jpg -[21]: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ -[22]: https://www.debugpoint.com/wp-content/uploads/2022/07/Firefox-102-in-Linux-Mint-21-Exclusively-packaged-as-deb-executable.jpg -[23]: https://www.debugpoint.com/wp-content/uploads/2022/07/New-Wallpapers-in-Linux-Mint-21.jpg -[24]: https://www.linuxmint.com/download.php diff --git a/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md b/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md deleted file mode 100644 index 6013077195..0000000000 --- a/sources/tech/20221104.0 ⭐️ How to Enable ‘Dark Mode’ in LibreOffice.md +++ /dev/null @@ -1,99 +0,0 @@ -[#]: subject: "How to Enable ‘Dark Mode’ in LibreOffice" -[#]: via: "https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Enable ‘Dark Mode’ in LibreOffice -====== - -**Tutorial for you on how to enable dark mode in LibreOffice in Ubuntu, Linux and Windows systems.** - -[LibreOffice,][1]the free and open-source office productivity software, is used by millions worldwide. This cross-platform software runs on Windows, Linux, and other distributions. - -Millions of users around the world use LibreOffice. Probably that includes you. And everyone seems to prefer dark mode these days. And there are some advantages as well. - -Research suggests that dark mode protects eyes for extended use of mobiles and computers and saves a bit of battery as well, especially for AMOLED displays. That’s not all, dark mode makes the text looks crisp and clear and improves productivity. - -Dark mode can be enabled for apps and system-wide as well if your system – Linux or Windows supports it. - -LibreOffice doesn’t provide a direct dark mode, per se. But you can tweak some settings with its dark icon themes to make it dark with the help of your OS settings. This is how you can do it. Remember these settings should also be applicable for Windows, Linux, and macOS from LibreOffice’s perspective. - -### How to Enable Dark Mode in LibreOffice - -We will explain it in two steps – a) **Windows** and b) **Linux**. Because for both the OS, LibreOffice look different due to their OS-specific own dark themes. - -##### Windows - -The dark mode will look a bit different if you use Windows. Windows 10 doesn’t provide application-specific dark mode at the moment. The Windows 10 dark mode is limited to the start menu and certain applications (such as Google Chrome Windows build). - -- Open LibreOffice. Open any component – Writer, Calc etc. -- From the menu, click on `Tools -> Options`. -- On the Options dialog, on the left side, click on `Personalization`. - -![][2] - -- Select the `pre-installed` theme – dark. -- Go to Application Colors, and select the document background as Black. You can also choose the Application background as Black. -- If you want to change to a dark theme, change it from the View options on the left. - -![][3] - -Once done, press OK. - -That’s all. Enjoy your dark or night mode of LibreOffice in Windows. - -If everything works well, you will see the Writer or Calc like below. - -![LibreOffice Writer in dark mode in Windows][4] - -![LibreOffice Calc in dark mode in LibreOffice][5] - -##### Ubuntu, Linux - -- Open LibreOffice. Open any component – Writer, Calc etc. -- From the menu, click. `Tools -> Options`. -- Go to Application Colors, and select the `document background` as `Black`. You can also choose the `Application background` as `Black`. -- If you want to change to a dark icon theme, change it from the View options on the left for better visibility of the toolbar icons. I recommend selecting any of the icon themes with the name “dark” – see below. - -![Changing Application Colours Settings in LibreOffice][6] - -![Select a dark icon theme for LibreOffice][7] - -- Then, from Settings, select any dark GTK theme (e.g. Adwaita Dark) and apply. LibreOffice is more compatible with Ubuntu. Hence the GTK dark themes are correctly applied. -- If you are using the latest Ubuntu, Fedora, then select `Settings > Appearance > Dar`k. This will apply systems wide dark theme and applies automatically to LibreOffice. -- For other desktops, such as KDE Plasma and Xfce – select any applicable dark theme for your desktop, and you should be good. - -That’s all. Your LibreOffice should look like the one below. - -![LibreOffice Writer in Ubuntu][8] - -![LibreOffice in dark mode in Ubuntu][9] - -**Do you like this dark mode? Let us know in the comments.** - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/ - -作者:[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]: http://www.libreoffice.org -[2]: https://www.debugpoint.com/wp-content/uploads/2020/01/Dark-theme.png -[3]: https://www.debugpoint.com/wp-content/uploads/2020/01/app-background.png -[4]: https://www.debugpoint.com/wp-content/uploads/2020/01/Writer-in-Dark-theme.png -[5]: https://www.debugpoint.com/wp-content/uploads/2020/01/Calc-in-dark-mode.png -[6]: https://www.debugpoint.com/wp-content/uploads/2020/01/Changing-Application-Colours-Settings-in-LibreOffice.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2020/01/Select-a-dark-icon-theme-for-LibreOffice.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2020/01/LibreOffice-Writer-in-Dark-Mode-in-Ubuntu-Linux.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2020/01/LibreOffice-in-dark-mode-in-Ubuntu-1024x578.jpg From 934a5fd5ad2ccf5ed5f775416fbf7cccbea674e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 00:54:54 +0800 Subject: [PATCH 344/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20To=20Install=20Netdata=20Performance=20Monitoring=20Tool=20?= =?UTF-8?q?In=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ll Netdata Performance Monitoring Tool In Linux.md | 537 ++++++++++++++++++ 1 file changed, 537 insertions(+) create mode 100644 sources/tech/20221109.0 ⭐️⭐️ How To Install Netdata Performance Monitoring Tool In Linux.md diff --git a/sources/tech/20221109.0 ⭐️⭐️ How To Install Netdata Performance Monitoring Tool In Linux.md b/sources/tech/20221109.0 ⭐️⭐️ How To Install Netdata Performance Monitoring Tool In Linux.md new file mode 100644 index 0000000000..fa3ef80d30 --- /dev/null +++ b/sources/tech/20221109.0 ⭐️⭐️ How To Install Netdata Performance Monitoring Tool In Linux.md @@ -0,0 +1,537 @@ +[#]: subject: "How To Install Netdata Performance Monitoring Tool In Linux" +[#]: via: "https://ostechnix.com/netdata-real-time-performance-monitoring-tool-linux/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How To Install Netdata Performance Monitoring Tool In Linux +====== + +This guide explains **what is Netdata**, how to **install Netdata in Linux** and how to analyze and **monitor a Linux system performance and resource usage** with Netdata. + +### 1. What is Netdata? + +**NetData** is a distributed, real-time, performance and health monitoring tool for systems and applications. It provides unparalleled insights of everything happening on a system in real-time. You can view the results in a highly interactive web-dashboard. + +Using Netdata, you can get a clear idea of what is happening now, and what happened before in your systems and applications. + +Netdata runs on all physical and virtual servers, containers, even IoT/edge devices. + +You don't need to be an expert to deploy this tool in your Linux systems. Netdata just works fine out of the box with zero configuration, and zero dependencies. Just install this utility and sit back, Netdata will take care of the rest. + +Netdata has its own **built-in webserver** to display the result in graphical format. Netdata is quite fast and efficient, and it will immediately start to analyze the performance of your system in no time after installing it. + +Netdata is written using **C** programming language, so it is extremely light weight. It consumes less than 3% of a single core CPU usage and a 10-15MB of RAM. + +We can easily embed the Netdata charts on any existing web pages. It has a plugin API, so that you can monitor any application. + +Here is the list of things that will be monitored by Netdata utility in your Linux system. + +- CPU usage, +- RAM Usage, +- Swap memory usage, +- Kernel memory usage, +- Hard disks and its usage, +- Network interfaces, +- IPtables, +- Netfilter, +- DDoS protection, +- Processes, +- Applications, +- NFS server, +- Web server (Apache & Nginx), +- Database servers (MySQL), +- DHCP server, +- DNS server, +- Email serve,r +- Proxy server, +- Tomcat, +- PHP, +- SNP devices, +- And many more. + +Netdata is free, open source tool and it supports Linux, FreeBSD and Mac OS. + +### 2. Install Netdata In Linux + +Netdata can be installed on any Linux distributions that have **Bash** installed. There are two ways to install Netdata in Linux. + +We can **install Netdata using an automatic one-liner script** or **install Netdata from git** checkout. First, we will see how to install + +#### 2.1. Install Netdata using Automatic One-line Installation Script + +The best as well as the easiest way to install Netdata is to run the following one-liner command as normal user: + +``` +$ wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh +``` + +If `wget` is not available, use `curl` instead: + +``` +$ curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh +``` + +This method is fully automatic on any Linux and Unix distributions, such as Debian, Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux, openSUSE and macOS etc. + +The automatic installation script will download and install everything needed to up and run Netdata. It will also enable automatic and nightly updates. + +If you don't like the auto-installer script method, you can follow the steps below to install Netdata from Git checkout. + +#### 2.2. Install Netdata from Git + +First, we need to install required dependencies. The prerequisites can be installed using automatic requirements installer script or manually using the package manager. + +##### 2.2.1. Install Prerequisites using Automatic Requirements Installer + +To install the necessary dependency packages for having a **basic Netdata installation** only, run: + +``` +$ curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata +``` + +To install the necessary dependency packages for having a **full Netdata installation** to monitor everything, run: + +``` +$ curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata-all +``` + +If you prefer manual prerequisites installation, follow the steps in the section below. + +##### 2.2.2. Install Prerequisites using Manually Package Manager + +Depending upon the Linux distribution, use any one of the following commands to install the necessary prerequisites using your distribution's default package manager. + +**Debian / Ubuntu:** + +``` +$ sudo apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libssl-dev libelf-dev libmnl-dev libprotobuf-dev protobuf-compiler gcc g++ make git autoconf autoconf-archive autogen automake pkg-config curl python cmake +``` + +**Fedora:** + +``` +$ sudo dnf install zlib-devel libuuid-devel libuv-devel lz4-devel openssl-devel elfutils-libelf-devel libmnl-devel protobuf-devel protobuf-compiler gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake +``` + +**CentOS / Red Hat Enterprise Linux older versions:** + +``` +$ sudo yum install autoconf automake curl gcc gcc-c++ git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel elfutils-libelf-devel protobuf protobuf-devel protobuf-compiler make nc pkgconfig python zlib-devel cmake +``` + +**RHEL 8.x / CentOS 8.x / AlmaLinux 8.x. / Rocky Linux 8.x:** + +``` +# Enable config-manager +$ sudo dnf install -y 'dnf-command(config-manager)' + +# Enable PowerTools +$ sudo dnf config-manager --set-enabled powertools + +# Enable EPEL +$ sudo dnf install -y epel-release + +# Install Repo for libuv-devl (NEW) +$ sudo dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el8.noarch.rpm + +# Install Devel Packages +$ sudo dnf install autoconf automake curl gcc git cmake libuuid-devel openssl-devel libuv-devel lz4-devel make nc pkgconfig python3 zlib-devel +``` + +**openSUSE:** + +``` +$ sudo zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel libopenssl-devel libelf-devel libmnl-devel protobuf-devel gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake +``` + +After installing the required dependencies, install NetData from Git checkout as shown below. + +##### 2.2.3. Install Netdata + +Git clone the Netdata repository: + +``` +$ git clone https://github.com/netdata/netdata.git --depth=100 --recursive +``` + +The above command will create a directory called **'netdata'**in the current working directory. + +Change to the 'netdata' directory: + +``` +$ cd netdata/ +``` + +Finally, install and start Netdata using command: + +``` +$ sudo ./netdata-installer.sh +``` + +**Sample output:** + +``` +^ + |.-. .-. .-. .-. .-. . netdata .-. .-. .-. .-. .-. .- + | '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' + +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> + + --- real-time performance monitoring, done right! --- + + You are about to build and install netdata to your system. + + The build process will use /tmp for + any temporary files. You can override this by setting $TMPDIR to a + writable directory where you can execute files. + + It will be installed at these locations: + + - the daemon at /usr/sbin/netdata + - config files in /etc/netdata + - web files in /usr/share/netdata + - plugins in /usr/libexec/netdata + - cache files in /var/cache/netdata + - db files in /var/lib/netdata + - log files in /var/log/netdata + - pid file at /var/run/netdata.pid + - logrotate file at /etc/logrotate.d/netdata + + This installer allows you to change the installation path. + Press Control-C and run the same command with --help for help. + + + NOTE: + Anonymous usage stats will be collected and sent to Netdata. + To opt-out, pass --disable-telemetry option to the installer or export + the environment variable DISABLE_TELEMETRY to a non-zero or non-empty value + (e.g: export DISABLE_TELEMETRY=1). + +Press ENTER to build and install netdata to your system > **## Press ENTER Key** + +[...] + +netdata by default listens on all IPs on port 19999, +so you can access it with: + +**http://this.machine.ip:19999/** + +To stop netdata run: + + systemctl stop netdata + +To start netdata run: + + systemctl start netdata + +Uninstall script copied to: /usr/libexec/netdata/netdata-uninstaller.sh + + --- Installing (but not enabling) the netdata updater tool --- +Update script is located at /usr/libexec/netdata/netdata-updater.sh + + --- Wrap up environment set up --- +Preparing .environment file +[/home/ostechnix/netdata]# chmod 0644 /etc/netdata/.environment + OK '' + +Setting netdata.tarball.checksum to 'new_installation' + + --- We are done! --- + + ^ + |.-. .-. .-. .-. .-. . netdata .-. .-. .-. .-. .-. .- + | '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' + +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> + + --- is installed and running now! --- + enjoy real-time performance and health monitoring... +``` + +![Install Netdata in Linux][1] + +Install Netdata in Linux + +Congratulations! Netdata has been installed and started. + +#### 2.3. Install Netdata using Package Manager + +Netdata is available in the default repositories of some Linux distributions. These packages might be bit outdated. + +**Alpine Linux:** + +To install Netdata in Alpine Linux, use **[apk][2]** package manager: + +``` +$ sudo apk add netdata +``` + +**Arch Linux:** + +The Netdata is available in the Arch Linux `**[community]**` repository. So, we can install it with [**pacman**][3] using command: + +``` +$ sudo pacman -S netdata +``` + +**Debian / Ubuntu:** + +``` +$ sudo apt install netdata +``` + +**Fedora:** + +``` +$ sudo dnf install netdata +``` + +**RHEL / CentOS / AlmaLinux / Rocky Linux:** + +In Enterprise Linux operating systems, you need to enable **`[EPEL]`** repository and then install Netdata. + +``` +$ sudo dnf install epel-release +``` + +``` +$ sudo dnf install netdata +``` + +**SUSE / openSUSE:** + +``` +$ sudo zypper install netdata +``` + +To know other installation methods, refer the [**official installation instructions page**][4]. + +### 3. Allow Netdata Default Port via Firewall or Router + +If your system stays behind any firewall or router, you must allow the default port **19999** to access the NetData web interface from any remote systems on the network,. + +**On Debian, Ubuntu:** + +``` +$ sudo ufw allow 19999 +``` + +**On Fedora, RHEL, CentOS, AlmaLinux and Rocky Linux:** + +``` +$ sudo firewall-cmd --permanent --add-port=19999/tcp +``` + +``` +$ sudo firewall-cmd --reload +``` + +### 4. Starting and Stopping Netdata Service + +To enable and start Netdata service on systems that use **Systemd**, run: + +``` +$ sudo systemctl enable netdata +``` + +``` +$ sudo systemctl start netdata +``` + +To stop Netdata service, run: + +``` +$ sudo systemctl stop netdata +``` + +To enable and start Netdata service on systems that use **Init**, run: + +``` +$ sudo service netdata start +``` + +``` +$ sudo chkconfig netdata on +``` + +To stop Netdata service: + +``` +$ sudo service netdata stop +``` + +### 5. Access Netdata via Web Browser + +Open your web browser, and navigate to **http://127.0.0.1:19999** or **http://localhost:19999/** or **http://ip-address:19999**. You will be pleased with Netdata dashboard as shown in the following screenshot. + +![Netdata Main Dashboard][5] + +Netdata Main Dashboard + +From the dashboard, you will find the complete statistics of your Linux system. Scroll down to view each section. You can also click on any section on the right corner to immediately jump to that particular section. + +### 6. Netdata Configuration + +As stated already, Netdata requires zero configuration. It works out of the box. + +The main configuration file of Netdata is located at **`/etc/netdata/netdata.conf`**. You can view it using any text editors to find most configuration options. + +You can also download and/or view Netdata default configuration file at any time by simply navigating to **http://localhost:19999/netdata.conf**. + +![Netdata Configuration File][6] + +Netdata Configuration File + +If you want to edit the Netdata configuration file, you can use `**edit-config**` script, which is the officially recommended way. + +``` +$ cd /etc/netdata +$ sudo ./edit-config netdata.conf +``` + +### 7. Netdata Metrics + +Netdata gathers thousands of metrics with zero configuration using **[300+ pre-installed collectors][7]**. These collectors will search your node in default locations and ports to find running applications and gather as many metrics as possible without you having to configure them individually. + +As I already stated, Most collectors will work without any configuration. However, you should know **[how collectors work][8]** and how to **[enable or configure collectors][9]** individually. + +### 8. Updating Netdata + +If you have installed Netdata using the Automatic one-liner installation script, Netdata will automatically update itself. + +If you have installed Netdata using your package manager, you can run the distribution-specific update command to update Netdata. For example in Arch Linux, just run the following command to update Netdata. If the updated version is available in the repository, it will be automatically installed. + +``` +$ sudo pacman -Syyu +``` + +If you have installed Netdata using Git, just go to the directory where you have cloned it (In our case it's netdata). + +``` +$ cd netdata +``` + +Pull the latest update: + +``` +$ git pull +``` + +Then, rebuild and update it using command: + +``` +$ sudo ./netdata-installer.sh +``` + +### 9. Uninstalling Netdata + +If you have installed Netdata from Git, go to the location where you have cloned Netdata: + +``` +$ cd netdata +``` + +Then, uninstall it using command: + +``` +$ sudo ./netdata-uninstaller.sh --force +``` + +If you have installed Netdata using the package manager, just use the appropriate command. For example in Arch Linux, the following command can be used to uninstall Netdata: + +``` +$ sudo pacman -Rns netdata +``` + +### 10. Frequently Asked Questions + +#### What is Netdata? + +Netdata is an Enterprise-grade, real-time infrastructure monitoring application. It is opensource and completely free. Netdata works on Linux, FreeBSD, and macOS. It also works on container platforms like Kubernetes clusters, and Docker. + +#### Which platforms are supported by Netdata? + +Netdata supports most Linux distributions (Ubuntu, Debian, CentOS, and more), container platforms (Kubernetes clusters, Docker), and many other operating systems (FreeBSD, macOS). + +#### Where can I find the Netdata main configuration file? + +Netdata main configuration file is located at **`/etc/netdata/netdata.conf`**. If you're not sure where to find it, simply open your web browser and point it **http://localhost:19999/netdata.conf**. + +#### How to download Netdata configuration file? + +Yes. After finding the location of the Netdata config file, use any one of the following commands to download Netdata configuration file. + +``` +wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf +``` + +Or + +``` +curl -o /etc/netdata/netdata.conf http://localhost:19999/netdata.conf +``` + +#### Who can use Netdata? + +Netdata can be used by any user who wants to view the real-time performance metrics of their Linux or Unix system. It is used by system administrators, DevOps engineers, and developers to collect everything. + +#### Is Netdata fast? + +Yes, it is amazingly fast. It is optimized to utilize 1% of the CPU and consumes a few MB of RAM. + +#### Is Netdata requires special system administration skills? + +Absolutely NOT. It requires **zero configuration** as well as **zero maintenance**. Just run it on your machine and Netdata does everything on its own. + +#### Can Netdata send notifications when something goes wrong? + +Yes! Netdata's health watchdog sends warning and critical alarms to your favorite platform to inform you of anomalies just seconds after they affect your node. + +#### Can I use Netdata to monitor my Cloud infrastructure? + +Yes! Netdata Cloud works with Netdata's free, open-source monitoring agent to monitor and troubleshoot every layer of your systems to find weaknesses before they turn into outages. + +Netdata Cloud provides: + +- Infrastructure level dashboards (each chart aggregates data from multiple nodes) +- Central dispatch of alert notifications, +- Custom dashboards editor, +- Intelligence assisted troubleshooting, to help surface the root cause of issues. + +### Conclusion + +In this guide, we looked at what is Netdata and different ways to install Netdata in Linux. We also looked at how to access the Netdata dashboard, update Netdata and uninstall it. + +Netdata is simple yet powerful real-time performance monitoring application. It requires zero configuration and works out of the box. If you ever looking for a easiest way to monitor your system performance, resource and application usage, Netdata is highly recommended. + +**Resources:** + +- [**NetData website**][10] +- [**NetData GitHub page**][11] + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/netdata-real-time-performance-monitoring-tool-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/wp-content/uploads/2022/11/Install-Netdata-in-Linux.png +[2]: https://ostechnix.com/alpine-linux-apk-command-examples/ +[3]: https://ostechnix.com/getting-started-pacman/ +[4]: https://docs.netdata.cloud/packaging/installer/ +[5]: https://ostechnix.com/wp-content/uploads/2022/11/Netdata-Main-Dashboard.png +[6]: https://ostechnix.com/wp-content/uploads/2022/11/Netdata-Configuration-File.png +[7]: https://learn.netdata.cloud/docs/agent/collectors/collectors +[8]: https://learn.netdata.cloud/docs/collect/how-collectors-work +[9]: https://learn.netdata.cloud/docs/collect/enable-configure +[10]: https://netdata.firehol.org/ +[11]: https://github.com/firehol/netdata From 2077e3b70e8842b7b057923cbafc9fdca9816847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 00:58:24 +0800 Subject: [PATCH 345/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=2031=20Linux=20Commands=20Every=20Ubuntu=20U?= =?UTF-8?q?ser=20Should=20Know.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 31 Linux Commands Every Ubuntu User Should Know.md | 755 ++++++++++++++++++ 1 file changed, 755 insertions(+) create mode 100644 sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md diff --git a/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md b/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md new file mode 100644 index 0000000000..b3d18742d5 --- /dev/null +++ b/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md @@ -0,0 +1,755 @@ +[#]: subject: "31 Linux Commands Every Ubuntu User Should Know" +[#]: via: "https://itsfoss.com/essential-ubuntu-commands/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +31 Linux Commands Every Ubuntu User Should Know +====== + +What are the **essential Ubuntu commands**? + +I have been asked this question several times by regular readers, and I have tried to avoid answering it. + +Why? Don’t I know Ubuntu commands? Nope. That’s not the reason. It is because it is difficult to categorize them. What’s essential to me may not be essential to you. + +But I guess that applies to everything and every such list of recommended applications on our portal. + +That’s why I finally gave in and created this list of basic yet **essential Linux commands** that should be helpful to you as a Ubuntu user. This is more focused on desktop Ubuntu users, but if you use Ubuntu as a server, they should also help you. + +### Essential Ubuntu Commands + +Every command I list here has multiple options and several uses. If I try giving even the most common examples of each command, it will easily turn into a pocketbook of more than 10,000 words. + +I will not go into detail with any of these commands. I’ll list the purpose of each command with its basic syntax. You can read more about using these commands from their linked tutorials. + +**Recommended reading before you start following the list:** + +- Concept of [path in Linux][1] +- [Concept of file permission][2] +- Knowing the [terminal jargon][3] + +Another thing. I have used the term **folder** here more than the **directory**. + +A [folder is called a directory in Linux][4], and puritans may not like this. However, I believe it is easier to grasp for beginners. + +#### 1. ls command: List the content of a folder + +This is among the first few commands a new Linux user learns. This command lets you see what files and folders are in your current folder. + +``` +ls +``` + +You can use the long listing option ls -l to see details like file size, permission, modified time, etc. You can sort and control these options if you want to. + +``` +ls -l +``` + +![ls command ubuntu][5] + +**Related Read**: [ls command examples][6] + +#### 2. cd command: Change the directory + +By default, you start in your home directory. You’ll often require to change the directory and move to another one. + +For example, you downloaded a deb file or script. Now you want to run it. You can do that from your present working directory by providing the full path but switching to that location makes things easier. + +The cd command stands for **change directory;**with this, you can change your location and move to another directory. + +![cd command examples][7] + +At this point, I highly recommend reading about the concept of paths in Linux so that things are easy to understand while navigating through directories in the Linux command line. + +**Recommended Read**: [cd command examples][8] + +#### 3. cat command: Read a text file + +If you quickly want to see the contents of a text file in Linux, **cat** is the command you use. It displays the contents on the screen. + +``` +cat filename +``` + +![cat command example][9] + +You can also use the cat command to create new files or add more text to existing files. + +**Recommended Read**: [cat command examples][10] + +#### 4. less command: Read a large text file + +The cat command is good enough for viewing small text files. But I won’t recommend using cat if you have a huge text file with hundreds of lines. It will flood your screen with all the text, and you will have difficulty with it. + +This is where the less command comes into the picture. When you open a file with less, it opens the file in pages. You can scroll up/down, look for text, and more. + +![reading large files with less command][11] + +Once you are done reading the file, you can **exit the less view by pressing the Q key**. You’ll notice that nothing is displayed on the screen. Your screen is clean. + +**Suggested Read**: [less command examples][12] + +#### 5. touch command: Create new files + +There are multiple ways of creating new files in the Linux terminal. The cat command you saw above can also create new files. + +However, I prefer the touch command for this purpose. + +``` +touch new_file_name +``` + +![touch command ubuntu][13] + +If you use it with existing files, their timestamps will be modified. + +**Also Read**: [touch command examples][14] + +#### 6. mkdir command: Make new folders + +While there is no specific command for creating new files, there is a dedicated command for making new folders (or directories, as we call them in Linux). + +``` +mkdir new_dir +``` + +![mkdir command example][15] + +**Explore More Here**: [mkdir command examples][16] + +#### 7. cp command: Copy files and folders + +Copying files and folders in the command line is also one of the common tasks you will encounter. The cp command, short for copy, is used for this purpose. + +Imagine that you have to modify a configuration file. A smart move will be to copy the file with another name. This way, you’ll have a backup of the file. + +``` +cp existing_file.txt existing_file.back +``` + +You can use the same cp command for copying directories as well. For that, you must specify the recursive option `**-r**`: + +``` +cp -r dir another_location +``` + +![cp command example][17] + +**You May Also Read**: [cp command examples][18] + +#### 8. mv command: Cut-paste or rename files and folders + +The mv command stands for ‘move’. When you copy a file to another location, it remains in its original place. + +The mv command moves the files and folders to the other location. You can think of it as a cut-paste operation. + +``` +mv file.txt /another/location +``` + +You can use the mv command to rename the file as well. + +``` +mv file.txt new_file.txt +``` + +The same mv command also moves or renames folders without any special options. + +![mv command example][19] + +**Recommended Read**: [mv command examples][20] + +#### 9. rm command: Remove files and folders + +To delete files in the Linux terminal, you use the **rm** (short for remove) command. + +``` +rm filename +``` + +There is no undo option after you delete files in the command line. This is why you should be extremely careful while deleting files. If you are afraid of deleting the wrong file, use the interactive mode with option -i, which gives you an additional prompt to confirm the action. + +``` +rm -i filename +``` + +With the recursive option -r, you can also use the same rm command to delete folders. + +![rm command examples][21] + +**Recommended Read**: [rm command examples][22] + +#### 10. nano: Edit files + +Sooner or later, you’ll be required to make changes to the contents of a file. Imagine that you have to change a configuration file of SSH, grub, or some other application. + +There are [command line-based t][23]ext editors for this purpose. Ubuntu comes with Nano editor preinstalled, and it is relatively easier to use than Vim, Emacs, etc. + +**If you are curious****about differences**, read our [Nano vs. Vim comparison][24] article. + +Easier to use doesn’t mean the same comfort as a GUI-based text editor. You will have to use the keyboard shortcuts for moving around, making changes, saving, and exiting files. + +To open a new, unnamed file with nano, use: + +``` +nano +``` + +To edit an existing file in Nano, use: + +``` +nano filename +``` + +In both cases, you should see an interface like this. + +![nano command example][25] + +To save (or discord changes) and exit the editor interface, use the Ctrl+x keys. + +Please refer to the [Nano beginner guide][26] I created earlier to get comfortable with it. + +#### 11. clear: Clear terminal screen + +Nano feels like a complicated one, right? Let me share a simple command. + +The clear command clears the terminal. That’s it. + +``` +clear +``` + +And why do you need to do that? Well, if your terminal screen is flooded with random stuff and you want to do something new. Cleaning the terminal is like cleaning the board or opening a new page in your notebook. + +#### 12. ps: Check and handle processes + +The ps command is for handling the processes running on your system. Each process has an associated ID called PID, which can be used for various purposes, such as [terminating a process][27]. + +``` +[[email protected]][28]:~$ ps + PID TTY TIME CMD + 15358 ? 00:00:00 bash + 15404 ? 00:00:00 ps +``` + +Here, + +- **PID: Process ID** +- **TTY: Controlling terminal associated with the process (Not that important these days)** +- **TIME: Total CPU usage time** +- **CMD: Name of command that runs the process** + +But a system cannot run just 2-3 processes, can it? To see all the processes running by all users, use: + +``` +ps aux +``` + +This will give a massive list of processes and more details about them. If you run this command, now will be an excellent time to use the **clear** command. + +![list processes ubuntu][29] + +**Recommended Read**: [ps command examples][30] + +#### 13. top: System monitor + +While the ps command gives you all the running processes, the top command gives you a real-time view of the processes and the system resource consumption. + +``` +top +``` + +Consider it like the terminal variant of the task manager in Linux. You’ll see a lot of interesting details with the top command. + +I primarily use the top command to check which process takes too much CPU or RAM. There are [better top alte][31][r][31][natives][31] if you are interested to experiment. + +![top command ubuntu][32] + +To [stop the running top command][33], use the **Ctrl+C** keyboard shortcut. + +**Recommended Read**: [Using top command effectively as a task manager][34] + +#### 14. lsblk: List disks and partitions + +The **lsblk** command lists all the block devices on your system. In really simple (and not entirely technically accurate) terms, it displays the disks and partitions. + +``` +[email protected]:~# lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS +loop0 7:0 0 79.9M 1 loop /snap/lxd/22923 +loop1 7:1 0 103M 1 loop /snap/lxd/23541 +loop2 7:2 0 63.2M 1 loop /snap/core20/1623 +loop3 7:3 0 48M 1 loop /snap/snapd/17336 +loop4 7:4 0 48M 1 loop /snap/snapd/17029 +loop6 7:6 0 63.2M 1 loop /snap/core20/1634 +vda 252:0 0 25G 0 disk +├─vda1 252:1 0 24.9G 0 part / +├─vda14 252:14 0 4M 0 part +└─vda15 252:15 0 106M 0 part /boot/efi +vdb 252:16 0 466K 1 disk +[email protected]:~# +``` + +#### 15. fdisk: List and Manage disks and partition + +Another similar but better command is the **fdisk** command. It lets you manipulate the disk partitions. This means you can create new partitions and delete and resize existing ones with this command. + +You can also use it to list all the block devices, including [loop devices][35], on your system. + +``` +sudo fdisk -l +``` + +The output could be huge if you have many partitions, disks, and loop devices (created by snap applications). I am showing a relevant part of the output here: + +``` +Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors +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: gpt +Disk identifier: 0B7C796D-51CD-4DD4-962A-7D94B31690E2 + +Device Start End Sectors Size Type +/dev/vda1 227328 52428766 52201439 24.9G Linux filesystem +/dev/vda14 2048 10239 8192 4M BIOS boot +/dev/vda15 10240 227327 217088 106M EFI System +``` + +#### 16. find: Search for files + +Even as a desktop user, you’ll encounter cases where you may have to search for files in the Linux command line. + +The find command is an extensive and versatile command for this purpose. It has more than fifty options, and you will probably never need all of them. + +Here’s an example of the find command that will give you all the files that end with .**txt** extension in the current directory. + +``` +find . -type f -name "*.txt" +``` + +Other common examples include finding files by size, modified time, etc. You can [combine find with exec][36] or [xargs][37] to take actions on the result of the find command. For example, you can look for all the .txt files and choose to delete them. + +**Also Read:**[find command examples][38] + +#### 17. grep: Search in file content + +The find command search for files based on their name and type. If you want to search based on the content of the files, you use the grep command. + +So, instead of looking for all files ending with .txt, you look for all files containing the text ‘foss’ with grep. + +``` +grep -ri search_term +``` + +![grep command examples][39] + +Want more? Here are some more [practical examples of the grep command][40]. The handy [grep cheat sheet][41] should help you out. + +#### 18. kill: Terminate processes + +Violence is not the answer … it’s the solution. + +Just kidding! + +If you have a misbehaving process that takes too many system resources, you can [find it and then terminate][27] it [using the kill command][42]. + +``` +sudo kill -9 process_ID_or_Name +``` + +As you can see in the above command, you need to know the process ID (PID) or the name to terminate it. You can use the ps or the top command to get the PID or exact process name. + +``` +ps aux | grep -i “name of your desired program” +``` + +Did you notice the use of grep command? You are already utilizing the commands mentioned in this list. + +![find kill process ubuntu][43] + +I don’t know about you, but I feel like [Liam Nesson in Taken][44] when I look for rogue processes to terminate. + +![taken meme find you kill you][45] + +#### 19. history: Look back into what commands you ran in the past + +So, you used a specific Linux command a few days ago. Now you need to run it again, but you cannot recall it correctly. + +You can press the up and down arrow keys. + +That’s a familiar scenario for many Linux users; this is where the history command helps. + +In Ubuntu, your shell keeps a history of the commands you run. Enter history in the terminal, and you should see a history of commands you ran in the past. + +![history command ubuntu][46] + +You can choose to run an entry from the history using its number like this: + +``` +!number +``` + +But even the history could be huge, so (again) use the grep command to filter your search term. + +``` +[email protected]:~$ history | grep aux + 1915 ps aux + 1952 ps aux | grep -i spotify + 1955 ps -aux | grep -i calculator + 1957 ps -aux | grep -i calculator + 1959 ps -aux | grep -i calculator + 1970 history | grep aux +``` + +There is another way to access the command history and search it. Press **Ctrl+R** and then enter the search term. + +**Recommended Read**: [history command examples][47] + +#### 20. chmod: Change File Permissions + +I highly recommend reading about [Linux file permissions][2] at this stage. That will help you understand things better than just running the [chmod command][48] blindly. + +The chmod (change mode) command is used for changing the permissions on a file. + +The most common use of this command is when you want to make a file executable. Got a shell script? Make it executable like this: + +``` +chmod u+x file executable +``` + +There are many more use cases that make chmod a must-know command for Ubuntu users. + +**Fun fact**: The parent company of **It’s FOSS** is **chmod777 Media Tech**. chmod 777 command gives all the permissions to all the users. This represents our motto of ‘knowledge access to everyone‘. + +#### 21. lshw: Get the Hardware Details + +There are tons of command line [tools to get the hardware details][49] and other system information in Linux. + +The one that probably comes preinstalled on Ubuntu is**lshw** (short for list hardware). + +Now, by default, it displays a vast output with details about all the hardware component,s and trust me, that’s not very easy to understand. + +``` +lshw +``` + +You may feel the temptation of using grep here, but there is no need for that. The output of lshw is divided into classes and you can use that to show the details for a class of hardware. + +Want to [know the manufacturer of your network adapters][50]? Use this: + +``` +lshw -C network +``` + +![lshw command examples][51] + +#### 22. sudo: Run Commands With root Privileges + +You must have noticed that I used sudo as a prefix for some commands I discussed previously. + +By default, in Ubuntu, **sudo** is configured in a way that it allows you (to the default admin user) to run any command with root privileges. + +You are asked to enter a password, and it’s your user account password. When you enter the password, nothing is displayed on the screen. New users get baffled by it, but it’s the expected behavior in UNIX/Linux. You type the password and press enter. + +![using sudo example ubuntu][52] + +More about [root user in Ubuntu here][53]. + +#### 23. apt: Install, Remove and Manage .deb packages + +The**apt** command is used for managing packages in Ubuntu. You’ll have to use it with sudo as these are administrative tasks. + +To install a package, use: + +``` +sudo apt install package_name +``` + +To delete an install software, use: + +``` +sudo apt remove package_name +``` + +To update your Ubuntu system with all upgradable packages at once: + +``` +sudo apt update && sudo apt upgrade +``` + +The [difference between apt update and upgrade][54] is that an update refreshes the package cache and the upgrade actually installs the update. + +There is a lot more to the apt command. You can read [this detailed apt command guide][55]. + +#### 24. add-apt-repository: Add, and Remove PPAs + +Alright! This one is not as popular as it was a decade ago. You’ll still come across the [add-apt-repository command][56] here and there. It’s used for managing PPA (unofficial, user-generated repositories) in your system. + +While following tutorials on the web, you may come across installation instructions that are composed of three lines: + +``` +sudo add-apt-repository ppa:dr-akulavich/lighttable +sudo apt update +sudo apt install lighttable-installer +``` + +The first command is adding the PPA (external repository). You are already familiar with the following two, which are used to update the package cache and install software provided by the PPA repository you just added. + +To delete a PPA, you should first delete the software you installed from it and then remove it like this: + +``` +sudo add-apt-repository -r ppa:dr-akulavich/lighttable +``` + +I have a [complete guide on PPA][57] for more details on this topic. + +#### 25. snap: Install, Remove and Manage snap packages + +So far, you know apt packages and their management. However, Ubuntu also uses and actively recommends using its snap packaging format. + +Learning a few basic snap commands will help you manage these packages effectively. + +To find a package, use: + +``` +snap find search_term +``` + +To install a package, use: + +``` +sudo snap install package_name +``` + +To list installed snap applications: + +``` +snap list +``` + +To remove an installed Snap application, use: + +``` +sudo snap remove package_name +``` + +#### 26. ip: Check IP address and other info + +The **ip** command lets you [check your IP address][58]. You can also see and manipulate the routes, network devices, and more. + +``` +ip a +``` + +![ip address check ubuntu][59] + +#### 27. ping: Check if the remote system is reachable + +Ping is another [Linux networking command][60] you should be aware of. To check whether a remote system is available or not, give its IP address to the ping command: + +``` +ping ip_address +``` + +You can also use it to check if a website is down though it is not very accurate these days. + +![ping command ubuntu][61] + +Use **Ctrl+C** to stop the running ping command. + +**Recommended Read**: [ping command examples][62] + +#### 28. ssh: Connecting to remote systems + +I was skeptical about adding ssh to the list of must-know Linux commands. Many desktop users may not need it. SSH is used for connecting to other Linux systems from your terminal. + +``` +ssh [email protected]_address_of_remote_system +``` + +You need to know the user and password of the remote system, of course. + +If you have cloud servers or a home setup where other Linux systems are available, you can use it to connect to them from your primary system. + +#### 29. scp: Copy files between remote systems + +Since I included ssh in the list, it was only fair to include something for [transferring files between the remote systems over SSH connection][63]. + +The scp command works almost like the cp command you saw earlier. + +Here’s an example that copies the file from the home directory of the user on the remote system to the current directory of your locally logged in system. + +``` +scp [email protected]_address:/home/username/filename . +``` + +**Recommended Read**: [scp command examples][64] + +#### 30. exit: Close the terminal + +The list of essential Linux commands is ending. So let’s talk about exiting the terminal. It’s quite simple. Just enter: + +``` +exit +``` + +If you are using another user or shell, you’ll be logged out from that. + +You may also use **Ctrl+D**keys to exit the terminal. + +#### 31. shutdown: Turn off or reboot the system + +Alright. Let me share a final command if you haven’t exited the terminal yet. + +How about [turning off your system][65] from the command line? + +[Use the shutdown command][66] for this purpose: + +``` +shutdown +``` + +The above command [schedules a shutdown][67] in one minute. You can make it turn off immediately with: + +``` +shutdown -now +``` + +You can use the same shutdown command for [rebooting your Ubuntu system][68] as well: + +``` +shutdown -r now +``` + +#### Bonus tip: man: Learn about commands in detail + +One more, and this is the last one, I promise. All Linux systems come with a manual for the commands. It’s called manpage, and you can access the manual page of an installed command with the following: + +``` +man command_name +``` + +[Understanding the manpage][69] can be overwhelming for new users, but it comes quite handy. It gives you the generic syntax and description of all the options a command has. + +When you are unsure about using a command, try checking its man page before searching for it on the internet. + +### There’s Always More … + +**That’s just about 30 commands. And that’s not even 20% of the Linux commands**. I haven’t covered many networking commands. I didn’t even go for the user management commands. + +I wrote this keeping a regular Ubuntu desktop user in mind. These are the kinds of commands you are more likely to use. Having some knowledge about them would be helpful in the long run. + +Other than that, there is no end to learning. Even the most seasoned Linux users constantly discover and learn new stuff. + +Considering that you are interested in learning Linux commands, let me recommend some[good Linux books][70] and resources. + +- [How Linux Works][71]: Explains the working of Linux more than the commands +- [The Linux Command Line by William Shotts][72]: Legally available to download for free in PDF format +- [Linux Pocket Guide by Daniel J Barrett][73]: Linux commands into category and briefly explained with small examples +- [Learn Linux Quickly][74]: Entirely focused on Linux commands with proper examples and sample exercises + +Apart from that, you can also learn from websites like [Linux Journey][75] and [Linux Handbook][76]. + +**I know it’s been a long read**, but it’s not even the tip of the iceberg. There is always more to learn, but it’s also not the case that you have to feel miserable if you don’t know all the Linux commands. + +**No one knows everything.** + +Now, it’s your turn. Did you find this list of Ubuntu commands helpful? + +**If you had to add some more commands to it, what would they be? The comment section is all yours.** + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/essential-ubuntu-commands/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://linuxhandbook.com/absolute-vs-relative-path/ +[2]: https://linuxhandbook.com/linux-file-permissions/ +[3]: https://itsfoss.com/basic-terminal-tips-ubuntu/ +[4]: https://itsfoss.com/folder-directory-linux/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/ls-command-ubuntu.png +[6]: https://linuxhandbook.com/ls-command/ +[7]: https://itsfoss.com/wp-content/uploads/2022/11/cd-command-examples.png +[8]: https://linuxhandbook.com/cd-command-examples/ +[9]: https://itsfoss.com/wp-content/uploads/2022/11/cat-command-example.png +[10]: https://linuxhandbook.com/cat-command/ +[11]: https://itsfoss.com/wp-content/uploads/2022/11/reading-large-files-with-less-command.png +[12]: https://linuxhandbook.com/less-command/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/touch-command-ubuntu.png +[14]: https://linuxhandbook.com/touch-command/ +[15]: https://itsfoss.com/wp-content/uploads/2022/11/mkdir-command-example.png +[16]: https://linuxhandbook.com/mkdir-command/ +[17]: https://itsfoss.com/wp-content/uploads/2022/11/cp-command-example.png +[18]: https://linuxhandbook.com/cp-command/ +[19]: https://itsfoss.com/wp-content/uploads/2022/11/mv-command-example.png +[20]: https://linuxhandbook.com/mv-command/ +[21]: https://itsfoss.com/wp-content/uploads/2022/11/rm-command-examples.png +[22]: https://linuxhandbook.com/remove-files-directories/ +[23]: https://itsfoss.com/command-line-text-editors-linux/ +[24]: https://itsfoss.com/vim-vs-nano/ +[25]: https://itsfoss.com/wp-content/uploads/2022/11/nano-command-example.png +[26]: https://itsfoss.com/nano-editor-guide/ +[27]: https://itsfoss.com/how-to-find-the-process-id-of-a-program-and-kill-it-quick-tip/ +[28]: https://itsfoss.com/cdn-cgi/l/email-protection +[29]: https://itsfoss.com/wp-content/uploads/2022/11/list-processes-ubuntu.webp +[30]: https://linuxhandbook.com/ps-command/ +[31]: https://itsfoss.com/linux-system-monitoring-tools/ +[32]: https://itsfoss.com/wp-content/uploads/2022/11/top-command-ubuntu.png +[33]: https://itsfoss.com/stop-program-linux-terminal/ +[34]: https://linuxhandbook.com/top-command/ +[35]: https://itsfoss.com/loop-device-linux/ +[36]: https://linuxhandbook.com/find-exec-command/ +[37]: https://linuxhandbook.com/xargs-command/ +[38]: https://linuxhandbook.com/find-command-examples/ +[39]: https://itsfoss.com/wp-content/uploads/2022/11/grep-command-examples.png +[40]: https://linuxhandbook.com/grep-command-examples/ +[41]: https://linuxhandbook.com/grep-command-cheatsheet/ +[42]: https://linuxhandbook.com/kill-process/ +[43]: https://itsfoss.com/wp-content/uploads/2022/11/find-kill-process-ubuntu-800x264.png +[44]: https://www.imdb.com/title/tt0936501/?ref_=tt_urv +[45]: https://itsfoss.com/wp-content/uploads/2022/11/taken-meme-find-you-kill-you.jpg +[46]: https://itsfoss.com/wp-content/uploads/2022/11/history-command-ubuntu-800x534.png +[47]: https://linuxhandbook.com/history-command/ +[48]: https://linuxhandbook.com/chmod-command/ +[49]: https://itsfoss.com/hardinfo/ +[50]: https://itsfoss.com/find-network-adapter-ubuntu-linux/ +[51]: https://itsfoss.com/wp-content/uploads/2022/11/lshw-command-examples.png +[52]: https://itsfoss.com/wp-content/uploads/2022/11/using-sudo-example-ubuntu.png +[53]: https://itsfoss.com/root-user-ubuntu/ +[54]: https://itsfoss.com/apt-update-vs-upgrade/ +[55]: https://itsfoss.com/apt-command-guide/ +[56]: https://itsfoss.com/add-apt-repository-command-not-found/ +[57]: https://itsfoss.com/ppa-guide/ +[58]: https://itsfoss.com/check-ip-address-ubuntu/ +[59]: https://itsfoss.com/wp-content/uploads/2022/11/ip-address-check-ubuntu.png +[60]: https://itsfoss.com/basic-linux-networking-commands/ +[61]: https://itsfoss.com/wp-content/uploads/2022/11/ping-command-ubuntu.png +[62]: https://linuxhandbook.com/ping-command/ +[63]: https://linuxhandbook.com/transfer-files-ssh/ +[64]: https://linuxhandbook.com/scp-command/ +[65]: https://learnubuntu.com/shutdown-ubuntu/ +[66]: https://linuxhandbook.com/linux-shutdown-command/ +[67]: https://itsfoss.com/schedule-shutdown-ubuntu/ +[68]: https://learnubuntu.com/restart-ubuntu/ +[69]: https://itsfoss.com/linux-man-page-guide/ +[70]: https://itsfoss.com/best-linux-books/ +[71]: https://nostarch.com/howlinuxworks3 +[72]: https://linuxcommand.org/tlcl.php +[73]: https://www.oreilly.com/library/view/linux-pocket-guide/9780596806347/ +[74]: https://linuxhandbook.gumroad.com/l/mEsrwA +[75]: https://linuxjourney.com/ +[76]: https://linuxhandbook.com/a-to-z-linux-commands/ From d1519cb0489ec64b2ed2d11a56f59847a1c0e437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 00:58:54 +0800 Subject: [PATCH 346/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221109.2=20=E2=AD=90=EF=B8=8F=20Microsoft=20Teams=20?= =?UTF-8?q?Progressive=20Web=20App=20Experience=20is=20Here=20for=20Linux.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...essive Web App Experience is Here for Linux.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md diff --git a/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md b/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md new file mode 100644 index 0000000000..64296aea6c --- /dev/null +++ b/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md @@ -0,0 +1,102 @@ +[#]: subject: "Microsoft Teams Progressive Web App Experience is Here for Linux" +[#]: via: "https://news.itsfoss.com/microsoft-teams-pwa-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Microsoft Teams Progressive Web App Experience is Here for Linux +====== + +Microsoft Teams PWA is now available for Linux users! + +![Microsoft Teams Progressive Web App Experience is Here for Linux][1] + +After recently [dropping support][2] for a native Microsoft Teams Linux app, Microsoft has finally made the **PWA** (progressive web app) available to everyone. + +PWA is an app that uses the same code as a website but with a few changes that make it easier to use it as an app. + +Users of the native Linux app have mixed feelings about this move, some welcoming it and others not. + +Let us take a look at what Microsoft has done with this app. + +### ⭐ Microsoft Teams Progressive Web App + +![microsoft teams pwa][3] + +With the [Microsoft Teams][4] PWA, you get several features already available on the Windows client. So, it is a good thing for most users. + +The features include: + +- **Ability to set custom backgrounds** +- **A new gallery view** +- **Reactions to chats** +- **Raise-a-hand feature during meetings** +- **System Notifications** + +The Teams PWA comes with a dock icon and can be set to auto-start on system boot. + +Additionally, it gets easy access to app permissions and can be used with Conditional Access configuration (for Azure users), applied via the Endpoint Manager. + +**Related Read 📖** + +### 👇 How to Use the PWA + +![microsoft teams pwa install prompt][5] + +When you first log in to Teams on a web browser, it should show you a pop-up similar to the one shown above. + +Click on it to install the PWA, launch it from your application list, and then use it like a desktop app. + +> 💡Users of Firefox beware: Only Chromium-based browsers like Chrome and Edge support PWAs. + +But, if it doesn't show you a pop-up, or you mistakenly clicked on 'Not-now', follow these steps to install the Teams PWA. + +![microsoft teams pwa edge][6] + +For **Microsoft Edge**: + +1. Log in to Teams through the [official website][7]. 2. Click on the three-dot menu of the browser. 3. Then go into '**Apps**.' as shown in the screenshot above. 4. Click on '**Install this site as an app.**'  5. Set the app name and click on '**Install**' to set up the Teams PWA. + +If you are using Google Chrome on Linux, here's what it looks like: + +![microsoft teams pwa chrome][8] + +The steps include login to **Teams → Three-dot menu → More tools → Create shortcut.** + +Next, you need to do the following to create the PWA: + +![microsoft teams pwa chrome 2][9] + +- **Set app name** +- **Enable 'Open as window'** +- **Click on 'Create'** + +That's pretty easy! So, have you tried Microsoft Teams PWA experience on Linux yet? + +Share your thoughts in the comments below! + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/microsoft-teams-pwa-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/ms-teams-pwa-arrives-on-linux.png +[2]: https://news.itsfoss.com/microsoft-linux-app-retire/ +[3]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA.png +[4]: https://www.microsoft.com/en-in/microsoft-teams/group-chat-software +[5]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Install.png +[6]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Edge.png +[7]: https://teams.live.com +[8]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Chrome.png +[9]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Chrome_2.png From b6915cae43fbff5d177308e19acb2a2b4b37b02b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 01:00:09 +0800 Subject: [PATCH 347/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A?= =?UTF-8?q?=20Guide=20to=20systemd=20journal=20Maintenance=20[With=20Examp?= =?UTF-8?q?les].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... to systemd journal Maintenance [With Examples].md | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 sources/tech/20221109.3 ⭐️⭐️ A Guide to systemd journal Maintenance [With Examples].md diff --git a/sources/tech/20221109.3 ⭐️⭐️ A Guide to systemd journal Maintenance [With Examples].md b/sources/tech/20221109.3 ⭐️⭐️ A Guide to systemd journal Maintenance [With Examples].md new file mode 100644 index 0000000000..1623dec544 --- /dev/null +++ b/sources/tech/20221109.3 ⭐️⭐️ A Guide to systemd journal Maintenance [With Examples].md @@ -0,0 +1,188 @@ +[#]: subject: "A Guide to systemd journal Maintenance [With Examples]" +[#]: via: "https://www.debugpoint.com/systemd-journald-clean/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A Guide to systemd journal Maintenance [With Examples] +====== + +**Systemd comes with many built-in features to manage the system logs. In this guide, we explain how you can manage system journals, logs and take action on them such as rotating, archiving, and clear logs.****We also explain the manual systems journal clean method and using config file changes.** + +If your Linux distribution supports [systemd][1], then it collects logs from all processes, applications of the system every second which starts from the boot. All these logging events are managed by `journald` daemon of systemd. The journald collects all the logs (info, warnings, errors, etc) and stores them as binary data in the disk files.  + +As the logs remain in the disk and every second it is collected, it takes up huge disk space; especially for older systems, servers. For example, in one of my test systems which are running for around one year, the log file size is in GBs. + +If you manage multiple systems, servers, it is always recommended to properly manage journald logs for efficient operation. Let’s take a look at how you can manage the log files. + +### The systemd journal Maintenance + +Using the journalctl utility of systemd, you can query these logs, perform various operations on them. For example, viewing the log files from different boots, check for last warnings, errors from a specific process or applications. If you are unaware of these, I would suggest you quickly go through this tutorial – [“use journalctl to View and Analyze Systemd Logs [With Examples]][2]” before you follow this guide.  + +#### Where are the physical journal log files? + +The systemd’s journald daemon collects logs from every boot. That means, it classifies the log files as per the boot.  + +The logs are stored as binary in the path `/var/log/journal` with a folder as machine id. + +**For example:** + +![Screenshot of physical journal file -1][3] + +![Screenshot of physical journal files -2][4] + +Also, remember that based on system configuration, runtime journal files are stored at `/run/log/journal/`. And these are removed in each boot.  + +#### Can I manually delete the log files? + +You can, but don’t do it. Instead, follow the below instructions to clear the log files to free up disk space using journalctl utilities. + +#### How much disk space is used by systemd log files? + +Open up a terminal and run the below command. + +``` +journalctl --disk-usage +``` + +This should provide you with how much is actually used by the log files in your system. + +![journalctl disk usage command][5] + +If you have a graphical desktop environment, you can open the file manager and browse the path `/var/log/journal` and check the properties. + +#### systemd journal clean process + +The effective way of clearing the log files should be done by `journald.conf` a configuration files. Ideally, you should not manually delete the log files even if the journalctl provides the utility to do that. + +Let’s take a look at how you can delete it [manually][6], then I will explain the configuration changes in `journald.conf` so that you do not need to manually delete the files from time to time; Instead, the systemd takes care of it automatically based on your configuration.  + +##### Manual delete + +First, you have to `flush` and `rotate` the log files. Rotating is a way of marking the current active log files as an archive and creating a fresh logfile from this moment. The flush switch asks the journal daemon to flush any log data stored in `/run/log/journal/` into `/var/log/journal/`, if persistent storage is enabled. + +Then, after flushing and rotating, you need to run journalctl with`vacuum-size`, `vacuum-time`, and `vacuum-files` switches to force systemd to clear the logs.  + +**Example 1:** + +``` +sudo journalctl --flush --rotate +``` + +``` +sudo journalctl --vacuum-time=1s +``` + +The above set of commands removes all archived journal log files until the last second. This effectively clears everything. So, be careful while running the command.  + +![journal clean up - example][7] + +After clean up: + +![After clean up - journal space usage][8] + +You can also provide the following suffixes as per your need following the number. + +- s: seconds +- m: minutes +- h: hours +- days +- months +- weeks +- years + +**Example 2:** + +``` +sudo journalctl --flush --rotate +``` + +``` +sudo journalctl --vacuum-size=400M +``` + +This clears all archived journal log files and retains the last 400MB files. Remember this switch applies to only archived log files only, not on active journal files. You can also use suffixes as below. + +- K: KB +- M: MB +- G: GB + +**Example 3:** + +``` +sudo journalctl --flush --rotate +``` + +``` +sudo journalctl --vacuum-files=2 +``` + +The vacuum-files switch clears all the journal files below the number specified. So, in the above example, only the last 2 journal files are kept and everything else is removed. Again, this only works on the archived files. + +You can combine the switches if you want, but I would recommend not to. However, make sure to run with `--rotate` switch first. + +### Automatic delete using config files + +While the above methods are good and easy to use, it is recommended that you control the journal log file cleanup process using the journald configuration files which present at `/etc/systemd/journald.conf`.  + +The systemd provides many parameters for you to effectively manage the log files. By combining these parameters you can effectively limit the disk space used by the journal files. Let’s take a look. + +| **journald.conf parameter** | **Description** | **Example** | +| :- | :- | :- | +| SystemMaxUse | Specifies the maximum disk space that can be used by the journal in persistent storage | SystemMaxUse=500M | +| SystemKeepFree | Specifies the amount of space that the journal should leave free when adding journal entries to persistent storage. | SystemKeepFree=100M | +| SystemMaxFileSize | Controls how large individual journal files can grow to in persistent storage before being rotated. | SystemMaxFileSize=100M | +| RuntimeMaxUse | Specifies the maximum disk space that can be used in volatile storage (within the /run filesystem). | RuntimeMaxUse=100M | +| RuntimeKeepFree | Specifies the amount of space to be set aside for other uses when writing data to volatile storage (within the /run filesystem). | RuntimeMaxUse=100M | +| RuntimeMaxFileSize | Specifies the amount of space that an individual journal file can take up in volatile storage (within the /run filesystem) before being rotated. | RuntimeMaxFileSize=200M | + +If you add these values in a running system in `/etc/systemd/journald.conf` file, then you have to restart the journald after updating the file. To restart use the following command.  + +``` +sudo systemctl restart systemd-journald +``` + +### Verification of log files + +It is wiser to check the integrity of the log files after you clean up the files. To do that run the below command. The command shows the PASS, FAIL against the journal file. + +``` +journalctl --verify +``` + +![verify log files][9] + +### Closing Notes + +I hope this guide helps you to understand the basics of the systemd journal management process. With these, you can manage the disk space used by the log files in your system or servers by limiting the space, clearing old log files. These are just the guideline commands, you can combine these in multiple ways to achieve your system demands.  + +- [journalctl manual][10] +- [journald.conf manual][11] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/systemd-journald-clean/ + +作者:[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.freedesktop.org/wiki/Software/systemd/ +[2]: https://www.debugpoint.com/2020/12/systemd-journalctl/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/01/Screenshot-of-physical-journal-file-1.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/01/Screenshot-of-physical-journal-files-2.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/01/journalctl-disk-usage-command.jpg +[6]: https://www.debugpoint.com#delete-using-journal-conf +[7]: https://www.debugpoint.com/wp-content/uploads/2021/01/journal-clean-up-example.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/01/After-clean-up-journal-space-usage.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/01/verify-log-files.png +[10]: https://www.freedesktop.org/software/systemd/man/journalctl.html +[11]: https://www.freedesktop.org/software/systemd/man/journald.conf.html From ffcc78bb34d109461038c90c16c27dc158b32b69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 01:02:52 +0800 Subject: [PATCH 348/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20use=20journalctl=20to=20View=20and=20Analyze=20Systemd?= =?UTF-8?q?=20Logs=20[With=20Examples].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o View and Analyze Systemd Logs [With Examples].md | 257 ++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 sources/tech/20221109.4 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md diff --git a/sources/tech/20221109.4 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md b/sources/tech/20221109.4 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md new file mode 100644 index 0000000000..aa7d864ff8 --- /dev/null +++ b/sources/tech/20221109.4 ⭐️⭐️ How to use journalctl to View and Analyze Systemd Logs [With Examples].md @@ -0,0 +1,257 @@ +[#]: subject: "How to use journalctl to View and Analyze Systemd Logs [With Examples]" +[#]: via: "https://www.debugpoint.com/systemd-journalctl/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to use journalctl to View and Analyze Systemd Logs [With Examples] +====== + +**This guide explains the basics of the journalctl utility of [Systemd][1] and its various commands. You can use these commands for troubleshooting desktop and server logs in Linux. This is how you can use journalctl to view and analyze Systemd Logs with different examples.** + +### Introduction + +Many say that Systemd is not good, it is heavy on the system and it is a debated topic always. But you can not deny that it provides a well set of utilities to manage, troubleshoot a system. Imagine you end up with a broken system with no GUI. You probably messed up boot and GRUB as well. In those kinds of scenarios or in general – you can boot from a LIVE system, mount your Linux partition and explore the Systemd logs to find out about the problem. + +Systemd has three basic components as follows – + +- **systemd**: System and service manager for Linux operating systems. +- **systemctl**: Command to introspect and control the state of the systemd system and service manager. +- **systemd-analyze**: Provides system boot-up performance statistics and retrieve other state and tracing information from the system and service manager + +Apart from these three, there are additional services that systemd provides such as – journald, logind, networkd, etc. In this guide we will talk about the journald service of systemd. + +### journald – systemd journal daemon + +By design, systemd provides a centralized way of handing all operating system logs from processes, applications, etc. All these logging events are handled by journald daemon of systemd. The journald daemon collects all logs from everywhere of the Linux operating systems and stores themes as binary data in files. + +The advantages of centralized logging of events, system problems as binary data are many. For example, as the system logs are stored as binary and not text – you can translate in many ways such as text, JSON objects for various needs. Also, it is super easy to track down to a single event as the logs are stored sequentially via date/time manipulation of the logs. + +Remember the log files that journald collects are in thousands of lines and it gets updated for every event, every boot. So if you have a long time running Linux operating system – the journal logs size should in GBs. As the logs are in thousands, it’s better to filter with basic commands to find out more about the system problems. + +#### The journald Configuration File + +The configuration file of the journald is present in the below path. It contains various flags on how the logging happens. You can take a look at the file and make the changes necessary. But I would recommend not to modify this file unless you know what you are doing. + +``` +/etc/systemd/journald.conf +``` + +#### Where journald stores the binary log files + +The journald stores the logs in binary format. They are stored inside a directory under this path. + +``` +/var/log/journal +``` + +For example, in the below path there is a directory that contains all the system logs to date. + +![journalctl log file path][2] + +Do not use cat command or use nano or vi to open these files. They would not be displayed properly. + +### Use journalctl to View and Analyze Systemd Logs + +#### Basic journald command + +The basic command to view logs using journal daemon is – + +``` +journalctl +``` + +![journalctl][3] + +This gives you all the journal entries including errors, warnings, etc from all applications and processes. It shows the list with the oldest log at the top and current logs at the bottom. You need to keep pressing ENTER to scroll through it line by line. You can also use PAGE UP and PAGE DOWN keys to scroll. Press q to exit from this view. + +#### How to view journal entries for time zones + +By default, the journalctl shows the log time in the current system time zone. However, you can easily provide the timezone in your command to convert the same log to a different time zone. For example, to view the logs in UTC, use the below command. + +``` +journalctl --utc +``` + +![journalctl --utc][4] + +#### How to view only errors, warnings, etc in journal logs + +The logs that a system generates have different priorities. Some logs may be a warning which can be ignored or some may be critical errors. You might want to look at only errors, not warnings. That is also possible using the below command. + +To view emergency system messages use: + +``` +journalctl -p 0 +``` + +![journalctl -p 0][5] + +Error codes + +``` +0: emergency +1: alerts +2: critical +3: errors +4: warning +5: notice +6: info +7: debug +``` + +When you specify the error code, it shows all messages from that code and above. For example, if you specify the below command, it shows all messages with priority 2, 1 and 0 + +``` +journalctl -p 2 +``` + +#### How to view journal logs for a specific boot + +When you are running the journalctl command it shows the information from the current boot that is from the current session which you are running. But it is also possible to view information about past boots as well. + +Journal logs keep on updating in every reboot. The journald keeps track of the logs in different boots. To view, the boot-wise logs use the below command. + +``` +journalctl --list-boots +``` + +![journalctl list-boots][6] + +- The first number shows the unique journald boot track number which you can use in the next command to analyze that specific boot. +- The second number the boot ID which also you can specify in the commands. +- The next two date, time combinations are the duration of the logs stored in the respective file. This is super handy if you want to find out a log or error from a specific date, time. + +To view a specific boot number you the first number or the boot ID as below. + +``` +journalctl -b -45 +``` + +``` +journalctl -b 8bab42c7e82440f886a3f041a7c95b98 +``` + +![journalctl -b 45][7] + +You can also use `-x` switch which can add an explanation of the systemd error messages in your display. This is a lifesaver in certain situations. + +``` +journalctl -xb -p 3 +``` + +![journalctl -xb][8] + +#### How to view journal logs for a specific time, date duration + +The journalctl is powerful enough to provide “english” like argument in the command itself for time and date manipulation. + +You can use`--since` switch with a combination of `“yesterday”, “today”, “tomorrow”, or “now”.` + +Some of the examples of different commands below. You can modify them as per your need. They are self-explanatory. The date, time format in the below commands are `"YYYY-MM-DD HH:MM:SS"` + +``` +journalctl --since "2020-12-04 06:00:00" +``` + +``` +journalctl --since "2020-12-03" --until "2020-12-05 03:00:00" +``` + +``` +journalctl --since yesterday +``` + +``` +journalctl --since 09:00 --until "1 hour ago" +``` + +![journalctl --since 09:00 --until][9] + +You can combine the above with the error level switches as well. + +#### How to see Kernel specific journal logs + +The Linux Kernel messages can be extracted from journal logs as well. To view the Kernel messages from the current boot only use the below command. + +``` +journalctl -k +``` + +#### How to see journal logs for a service, PID + +You can filter out specific logs from a systemd service unit only from the journald logs. For example, to find out the logs from NetworkManager service use the below command. + +``` +journalctl -u NetworkManager.service +``` + +![journalctl NetworkManager service][10] + +If you do not know the service name, you can use the below command to list the systemd services in your system. + +``` +systemctl list-units --type=service +``` + +#### How to view journal logs for a user, group + +If you are analyzing server logs this command is helpful where multiple users are logged in. You can first find out about the user id using the below command from the user name. For example, to find out the id of user “`debugpoint`” – + +``` +id -u debugpoint +``` + +Then use that ID with `_UID` switch to view the logs generated by the user. + +``` +journalctl _UID=1000 --since today +``` + +![journalctl _UID][11] + +Similarly use `_GID` switch to find out the same for user groups. + +#### How to view journal logs for an executable + +You can also find out journald logs of a specific program or executable. For example, if you want to find out the messages of gnome-shell, you can run the below command. + +``` +journalctl /usr/bin/gnome-shell --since today +``` + +![journalctl gnome-shell][12] + +### Closing notes + +I hope this guide helps you to use journalctl to view analyze systemd logs on your Linux desktop or server troubleshooting. The systemd journal management extremely powerful if you know how to use the commands, it makes your life a bit easy during debugging time. All major mainstream Linux distribution uses Systemd these days. Ubuntu, Debian, Fedora, Arch – they all use systemd for their default OS offerings. In case if you are wondering about systemd-free Linux distributions, you might want to check out [MX-Linux][13], Gentoo, Slackware, Void Linux. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/systemd-journalctl/ + +作者:[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://freedesktop.org/wiki/Software/systemd/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-log-file-path.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-utc.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-p-0.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-list-boots.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-b-45.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-xb.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-since-0900-until.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-NetworkManager-service.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-_UID.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/journalctl-gnome-shell.jpg +[13]: https://www.debugpoint.com/tag/mx-linux From 1052a5503ed89ac44511ad3bfdbe5ce1affa6ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 01:03:24 +0800 Subject: [PATCH 349/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.5=20=E2=AD=90=EF=B8=8F=20How=20to=20Find=20Sy?= =?UTF-8?q?stemd=20or=20Any=20Other=20init=20System=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d Systemd or Any Other init System in Linux.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md diff --git a/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md new file mode 100644 index 0000000000..a4815bb415 --- /dev/null +++ b/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md @@ -0,0 +1,81 @@ +[#]: subject: "How to Find Systemd or Any Other init System in Linux" +[#]: via: "https://www.debugpoint.com/systemd-or-init/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Find Systemd or Any Other init System in Linux +====== + +**Here’s how you can determine if you are running systems or any other init system in your Linux distribution.** + +The first process, which starts when you boot up your Linux distribution, is called init (short for initialization). It has the process identifier 1 (i.e. pid=1). All the processes and applications in your Unix-based system are direct descendants of this init process. + +Based on functionality and features, different types of init processes are present. For example, [systemd][1], Runit, OpenRC, sysVinit, etc. Among those, the systemd is the most popular and modern one, which is used and adopted by all the modern Linux distributions, including Ubuntu and Fedora. + +There are ongoing debates about Systemd and its performance compared to the traditional Unix-based init systems. But that’s a topic for another article. + +let’s find out how you can determine whether you are running a systemd or any other init system in your Linux distribution. + +### Systemd or what init system? + +Unfortunately, there’s no direct command to find it out. You can trace it back from the init process id=1, which is basically a symbolic link to `/sbin/init` i.e. pid=1. + +Use `[strings][2]` command to print the text embedded in the binary file `/sbin/init` & search for init with the following command. + +``` +strings /sbin/init | grep init +``` + +**Example 1**: In this below output where it’s a sysVinit system running Debian (via Peppermint OS). As you can see, it clearly shows the init process name. + +``` +strings /sbin/init | grep init +``` + +![example showing the init is used and not systemd][3] + +If you find systemd in the same above system, there won’t be any entries. Hence you can conclude that you are running sysvinit and not systemd. + +**Example 2**: If you run the above command in a systemd system, you can easily see the systemd and its version at the first line of the output. + +``` +strings /sbin/init | grep systemd +``` + +![example showing it uses systemd][4] + +**Example 3**: You can also try to print the process tree using `pstree` command, which should show you the first process name. It should be either systemd or init, as shown in the below example. + +``` +pstree +``` + +![pstree is showing systemd is used][5] + +![pstree is showing init is used][6] + +That’s it. This is how you can easily find out whether your distro uses systemd or something else. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/systemd-or-init/ + +作者:[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/tag/systemd +[2]: https://linux.die.net/man/1/strings +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-the-init-is-used-and-not-systemd.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-it-uses-systemd.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-systemd-is-used.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-init-is-used.jpg From 61027be0d6a41756178c094de74c0e423a98c002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 01:04:36 +0800 Subject: [PATCH 350/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.6=20=E2=AD=90=EF=B8=8F=20Using=20Python=20in?= =?UTF-8?q?=20VS=20Code=20and=20Codium.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 ⭐️ Using Python in VS Code and Codium.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md diff --git a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md new file mode 100644 index 0000000000..f3852a3bc9 --- /dev/null +++ b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md @@ -0,0 +1,113 @@ +[#]: subject: "Using Python in VS Code and Codium" +[#]: via: "https://opensource.com/article/22/11/python-vs-code-codium" +[#]: author: "Don Watkins https://opensource.com/users/don-watkins" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Using Python in VS Code and Codium +====== + +If you're looking for a good, general-purpose, open source code editor with Python integration, then you might give Codium a try. + +Over the past couple of years, I have had the privilege of working with middle school children to introduce them to [Python coding][1] and the Raspberry Pi 400. It's been a lot of fun, and the Pi has been a great platform for the students and me. We've used [Code with Mu][2] and it's been quite successful. Our aptitude with Python has grown with experience, and so recently I started looking for ways to offer these students more. + +I participated in a Python learning class, and during that class I got introduced to Microsoft's Visual Studio Code. I learned a lot in that class about how to set up a virtual environment for Python, and how to configure VS Code for Python programming. During that learning journey, I also got introduced to [Codium][3], which is essentially VS Code without Microsoft's branding and telemetry. + +If you're looking for a good, general-purpose, open source code editor with Python integration, then you might give Codium a try. Here's how I got Codium set up for Python on my Linux system. + +### Install or update Python on Linux + +First, make sure you are running the latest version of Python. You can do this with your package manager. On Debian and Debian-based systems: + +``` +$ sudo apt install python3-pip +``` + +On Fedora, CentOS, Mageia, OpenMandriva, and similar: + +``` +$ sudo dnf update python3 +``` + +On some systems, you may also need to install the software to create Python virtual environments: + +``` +$ sudo apt install python3.10-venv +``` + +### Install Codium + +Next, [install Codium][4] on your computer. On Linux, you can download a package and install it with your package manager, or [use the Flatpak][5]. + +To launch Codium once it's installed, open your application or Activities menu and type "Code". + +### Install the VS Code Python extension + +There's nothing special about code. It's just plain text that gets interpreted by some other application, whether it's a compiler or a runtime. You can write Python code in Codium without special extensions. However, having a Python extension adds several conveniences. + +Click on the **File** menu, select **Preferences**, and choose **Extensions**. In the **Extensions** panel, find the Python IntelliSense extension. + +![VS Code and Codium have an extension manager that opens in the left column, allowing you to install add-on modules.][6] + +You've got Python set up in Codium. All that's left to do is to put it to good use. + +### Setup a virtual environment for VS Code or Codium + +You can create a project directory and add it to Codium so that while you work, the files you create and save default to the active project directory. It's a fast way to stay organized, and it saves you from having to click around File Save and Open dialogues constantly. + +When you create a virtual Python environment as a work folder, Codium (because you have the Python extension installed) detects it. When you activate a virtual environment folder as the active project directory, Codium automatically runs the activation code required to use the virtual environment. + +To create a virtual environment for Python, open a terminal and type: + +``` +$ python3 -m venv ~/PythonCoding +``` + +### Add a project directory + +In Codium, click on the **File** menu and choose **Add Folder to Workspace**. Open the virtual environment you've just set up (for me, that's `/home/don/PythonCoding`.) + +Now you're ready to write some Python code! Create a new Python file in your workspace and insert some basic code. You may notice, as you type, that Codium helpfully suggests auto-completion for the Python modules the environment contains. + +``` +importsysprint("Codium running Python " + sys.version) +``` + +Now click the **Play** button in the top right corner of the Codium window. This opens a console panel at the bottom of the window, displaying the output of your code: + +``` +(PythonCode) sh-5.1$ /home/bogus/PythonCode/bin/python /home/bogus/PythonCode/app.py +Codium running Python 3.10.6 (main…)[GCC 12.1.0](PythonCode) sh-5.1$ +``` + +As you can see from this output, Codium is running within the `PythonCode` environment, and it's successfully run your Python code. + +### Codium and Python + +Using Codium for Python makes writing and running code easier than ever, but Python isn't the only language Codium supports. You can easily find and install other extensions from the [Open VSX Registry][7], a vendor-neutral open source "marketplace" for VS Code extensions. + +The Codium interface is more complicated than some basic editors, but it has what I'm looking for at this point in my learning journey. If you're looking to graduate to something professional, or you're looking to switch from your current editor to something new, then give Codium a try. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/python-vs-code-codium + +作者:[Don Watkins][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/don-watkins +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/8/math-python-raspberry-pi +[2]: https://codewith.mu/ +[3]: https://opensource.com/article/20/6/open-source-alternatives-vs-code +[4]: https://github.com/VSCodium/vscodium/releases +[5]: https://flathub.org/apps/details/com.vscodium.codium +[6]: https://opensource.com/sites/default/files/2022-10/codium-extension-python.webp +[7]: https://open-vsx.org/ From b3eb903c1ab2356faa82ba356446bbc5289cf8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 10 Nov 2022 01:05:29 +0800 Subject: [PATCH 351/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221109.7=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?y=20sysadmins=20should=20choose=20Awesome=20window=20manager=20?= =?UTF-8?q?on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s should choose Awesome window manager on Linux.md | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sources/tech/20221109.7 ⭐️⭐️ Why sysadmins should choose Awesome window manager on Linux.md diff --git a/sources/tech/20221109.7 ⭐️⭐️ Why sysadmins should choose Awesome window manager on Linux.md b/sources/tech/20221109.7 ⭐️⭐️ Why sysadmins should choose Awesome window manager on Linux.md new file mode 100644 index 0000000000..465202d50e --- /dev/null +++ b/sources/tech/20221109.7 ⭐️⭐️ Why sysadmins should choose Awesome window manager on Linux.md @@ -0,0 +1,144 @@ +[#]: subject: "Why sysadmins should choose Awesome window manager on Linux" +[#]: via: "https://opensource.com/article/22/11/linux-awesome-window-manager" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Why sysadmins should choose Awesome window manager on Linux +====== + +The Awesome window manager takes a "tiling" approach, meaning that each window you launch takes up a fraction of your desktop according to the number of windows you have open. + +Awesome is a window manager for the [Linux desktop][1]. A "window manager" is a graphical interface that primarily (if not literally) just manages the drawing and arrangement of windows. In practice, even the [most rudimentary][2] of window managers actually provides a little more than just the ability to draw a window. Most also provide a pop-up menu so you can launch an application, some provide a dock or panel so you can switch between different applications you have running. They stop short at providing desktop conveniences such as drawing a wallpaper in the background of your screen, mounting and unmounting devices, providing a system tray, and so on. A window manager assumes you can use other applications to build a desktop experience to your own liking, and so it focuses on managing windows. The Awesome window manager takes a "tiling" approach, meaning that each window you launch takes up a fraction of your desktop according to the number of windows you have open. + +![Image of the Awesome desktop.][3] + +### My Linux desktop is the terminal + +When you're a [systems administrator][4], you tend to spend a lot of time in a terminal window. It's a direct and efficient interface to your local machine, to remote machines, the network, the Internet, and everything else, so it's usually the easiest and most sensible way to do a lot of things to a lot of computers at once. And when you spend all day in a terminal, you understandably start to question whether you actually need a desktop at all. + +To be perfectly honest, the answer's often no, at least for 80% of your tasks. The reality of modern computing, however, is that there are some applications that are just easier to use through a graphical interface. For instance, even though there are issue tracking systems, like the open source Bugzilla, that provide terminal commands as an interface, sometimes you're on a team that uses an issue tracker (usually it's not open source) that provides only a web application. Like it or not, you need a web browser to interact with the ticketing system. And even though you may use a perfectly reasonable markup language like [AsciiDoc][5], you're probably sent a word processor document sometimes and, while you could use [Pandoc][6] to convert the document into AsciiDoc and then back into an office document, that risks losing something in translation. Like it or not, you need an office suite. + +The bottom line is that, whether you like it or not, you need a desktop. Or at least a window manager. + +### Tiling windows + +Awesome understands your plight. With Awesome, your "primary" desktop can be your terminal. When you first launch it, your terminal window is full screen, just like the text console you really want to be greeted with upon login. When you really need web browser, though, you can launch it and Awesome makes room for it by splitting your screen in half. Your terminal is on one side, the web browser's on the other. + +If you need to open a third application, you can launch that and Awesome makes room for it by splitting your screen into thirds. + +![Image of Awesome tiles.][7] + +When you're finished with an application, Awesome adjusts your layout again until, eventually, you're back to a full-screen terminal, just the way you like it. + +### Lua configuration + +Awesome uses the [Lua][8] scripting language for configuration. Lua has a similar philosophy to Awesome. It's a simple language that's pretty intuitive once you understand a few basic concepts. + +The simplest concept, and yet the most important, is the Lua table construct. Lua stores information in what it calls a "table", and it means that most everything in Lua has a structured hierarchy. For instance, this creates a Lua table: + +``` +zombie = {} + +zombie.apocalypse = true +zombie.defeat = false +``` + +Now when you need to know whether there's an active zombie apocalypse, you can "call" the zombie table and query the `apocalypse` value: + +``` +> print(zombie.apocalypse) +true +``` + +Both the `apocalypse` and the `defeat` values are "children" of the `zombie` table, which makes them each distinct from the `apocalypse` and `defeat` values of the `alien` table. + +It's a simple system of data classification, and you see several tables used in the Awesome configuration: + +``` +-- Table of layouts +awful.layout.layouts = { + awful.layout.suit.floating, + awful.layout.suit.tile, + awful.layout.suit.tile.left, + awful.layout.suit.tile.bottom, + awful.layout.suit.tile.top, + awful.layout.suit.fair, + awful.layout.suit.fair.horizontal, + awful.layout.suit.spiral, + awful.layout.suit.spiral.dwindle, + awful.layout.suit.max, + awful.layout.suit.max.fullscreen, + awful.layout.suit.magnifier, + awful.layout.suit.corner.nw, +} +``` + +You may not know what options are available from reading the configuration file itself, but understanding that the options are grouped into Lua tables means you know what to look up in the Awesome documentation. + +Of course, if you don't feel like reading through the documentation, you can also just comment options out and see what changes. A comment in Lua are two dashes, as in the first line of this snippet: + +``` +-- Create a launcher widget and a main menu +myawesomemenu = { + { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, + { "manual", terminal .. " -e man awesome" }, + { "edit config", editor_cmd .. " " .. awesome.conffile }, + { "restart", awesome.restart }, + { "quit", function() awesome.quit() end }, +} +``` + +Lua is a consistent and logical language. Any amount of Lua you pick up from configuring Awesome is Lua you can use for real life Lua scripting. If you're ready to move up from basic Bash scripting, you might consider Lua. + +### Adjusting tiles + +While you're working in a split screen in Awesome, you might find the need to adjust the proportions. To do this graphically, right-click on the intersection the windows you want to adjust, and then drag all window borders to suit your preference. + +When you learn enough Lua to get really good at configuring Awesome, you can configure default preferences. + +### Floating windows + +Some applications never make sense as tiled windows. The Awesome configuration provided by your Linux distribution probably has a few examples set: + +``` +-- Floating clients. +class = { + "Blueman-manager", + "Kruler", + "MessageWin", + "Tor Browser", + "Wpa_gui"}, +}, +``` + +### Assemble your own Linux desktop + +Using a window manager instead of a desktop means you get to choose the components you use for everything else you want to do with your computer. You can launch KDE applications from the [Plasma Desktop][9], or use bits and pieces of [XFCE][10] (such as the panel, the network manager, and more), or you can eschew the desktop model entirely and use a particularly robust file manager and the terminal commands you know and love. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/linux-awesome-window-manager + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/5/linux-desktops +[2]: https://opensource.com/article/19/12/twm-linux-desktop +[3]: https://opensource.com/sites/default/files/2022-10/awesome-desktop.png +[4]: https://www.redhat.com/sysadmin/?intcmp=7013a000002qLH8AAM +[5]: https://opensource.com/article/22/8/drop-markdown-asciidoc +[6]: https://opensource.com/article/20/5/pandoc-cheat-sheet +[7]: https://opensource.com/sites/default/files/2022-10/awesome-tiles.png +[8]: https://opensource.com/article/22/11/lua-worth-learning +[9]: https://opensource.com/article/19/12/linux-kde-plasma +[10]: https://opensource.com/article/18/6/xfce-desktop From 43dfe1cda84d94841642bf426af75f839c416e96 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 10 Nov 2022 07:45:57 +0800 Subject: [PATCH 352/925] RP @geekpi https://linux.cn/article-15234-1.html --- ...les and folders from Windows to Linux with PSCP.md | 43 +++++++++++-------- 1 file changed, 24 insertions(+), 19 deletions(-) rename {translated/tech => published}/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md (78%) diff --git a/translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/published/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md similarity index 78% rename from translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md rename to published/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md index 3a058f58d1..aa68907328 100644 --- a/translated/tech/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md +++ b/published/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md @@ -3,36 +3,38 @@ [#]: author: "Paul https://opensource.com/users/plaubscher" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15234-1.html" 使用 PSCP 将文件和文件夹从 Windows 传输到 Linux ====== -开源 PSCP 程序可以轻松地在 Windows 和 Linux 计算机之间传输文件和文件夹。 +![](https://img.linux.net.cn/data/attachment/album/202211/10/074452ys2lgjdqq8gaj8rg.jpg) -你是否正在寻找一种将文件从 Windows 计算机快速传输到 Linux 计算机并再次传输回来的方法?开源 PSCP 程序可以轻松传输文件和文件夹,当然它是开源的。 +> 开源的 PSCP 程序可以轻松地在 Windows 和 Linux 计算机之间传输文件和文件夹。 + +你是否正在寻找一种将文件从 Windows 计算机快速传输到 Linux 计算机并再次传输回来的方法?开源的 PSCP 程序可以轻松传输文件和文件夹,当然它是开源的。 ### 在 Windows 中设置 PATH -了解如何在 Windows 中设置命令路径可以更轻松地使用 PSCP 等方便的程序。如果你不熟悉该过程,请阅读[如何在 Windows 上设置 PATH][1]。 +了解如何在 Windows 中设置命令路径可以更轻松地使用 PSCP 等方便的程序。如果你不熟悉该过程,请阅读 [如何在 Windows 上设置 PATH][1]。 ### 使用 PSCP PSCP(PuTTY 安全复制协议)是一个命令行工具,用于将文件和文件夹从 Windows 计算机传输到 Linux 计算机。 -- 从[网站][2]下载 `pscp.exe`。 -- 将 `pscp.exe` 移动到 PATH 中的文件夹(例如,如果你按照 [Opensource.com][3] 上的 PATH 教程进行操作,则为 `Desktop\App`)。如果你没有设置 PATH 变量,你也可以将 `pscp.exe` 移动到保存要传输的文件的文件夹中。 +- 从 [网站][2] 下载 `pscp.exe`。 +- 将 `pscp.exe` 移动到 `PATH` 中的文件夹(例如,如果你按照 [Opensource.com][3] 上的 PATH 教程进行操作,则为 `Desktop\App`)。如果你没有设置 `PATH` 变量,你也可以将 `pscp.exe` 移动到保存要传输的文件的文件夹中。 - 使用 Windows 任务栏中的搜索栏在 Windows 计算机上打开 Powershell(在搜索栏中输入 `powershell`。) -- 输入 `pscp –version` 以确认你的计算机可以找到该命令。 +- 输入 `pscp -version` 以确认你的计算机可以找到该命令。 ### IP 地址 在进行传输之前,你必须知道目标计算机的 IP 地址或完全限定域名。假设它是同一网络上的计算机,并且你没有运行 DNS 服务器来解析计算机名称,你可以在 Linux 机器上使用 `ip` 命令找到目标 IP 地址: ``` -[linux]$ ip addr show |grep'inet ' +[linux]$ ip addr show |grep 'inet ' inet 127.0.0.1/8 scope host lo inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 ``` @@ -48,31 +50,34 @@ inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 如果你不确定你的 Linux 机器是否正在运行 SSH,请在 Linux 机器上运行以下命令: ``` -[linux]$ sudo systemctl enable--now sshd +[linux]$ sudo systemctl enable --now sshd ``` 要确保你的防火墙允许 SSH 流量,请运行以下命令: ``` -[linux]$ sudo firewall-cmd --add-servicessh--permanent +[linux]$ sudo firewall-cmd --add-servicessh --permanent ``` -有关 Linux 上的防火墙的更多信息,请阅读[使用防火墙使 Linux 更强大][4]。 +有关 Linux 上的防火墙的更多信息,请阅读 [使用防火墙使 Linux 更强大][4]。 ### 传输文件 -在这个例子中,我有一个名为 `pscp-test.txt` 的文件,我想将它从我的 Windows 计算机上的 `C:\Users\paul\Documents` 传输到我的目标 Linux 计算机主目录 `/_home_/paul`。 +在这个例子中,我有一个名为 `pscp-test.txt` 的文件,我想将它从我的 Windows 计算机上的 `C:\Users\paul\Documents` 传输到我的目标 Linux 计算机主目录 `/home/paul`。 现在你已经有了 `pscp` 命令和目标地址,你可以传输测试文件 `pscp-test.txt`。打开 Powershell 并使用 `dir` 命令切换到示例文件所在的 `Documents` 文件夹: +``` PS> dir %USERPROFILE%\Documents\ +``` 现在执行传输: ``` -PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul| Password: +PS> pscp pscp-test.txt paul@192.168.1.23:/home/paul +| Password: End of keyboard-interactive prompts from server -pscp-test.txt |0 kb |0.0 kB/s | ETA: 00:00:00 |100% +pscp-test.txt | 0 kb | 0.0 kB/s | ETA: 00:00:00 | 100% ``` 这是语法,逐字逐句来: @@ -85,7 +90,7 @@ pscp-test.txt |0 kb |0.0 kB/s | ETA: 00:00:00 |100% ### 验证已传输 -在你的 Linux 计算机上,打开终端并使用 `ls` 命令验证文件 `pscp-test.txt` 是否出现在您的主目录中。 +在你的 Linux 计算机上,打开终端并使用 `ls` 命令验证文件 `pscp-test.txt` 是否出现在你的主目录中。 ``` [linux]$ ls @@ -116,7 +121,7 @@ PS> pscp paul@192.168.1.23:/home/paul/pscp-test.txt %USERPROFILE%\Documents\pscp ### 远程复制 -借助开源 `pscp` 命令的强大功能,你可以访问家中的任何计算机、拥有帐户的服务器,甚至是移动设备和[边缘设备][6]。 +借助开源 `pscp` 命令的强大功能,你可以访问家中的任何计算机、拥有帐户的服务器,甚至是移动设备和 [边缘设备][6]。 -------------------------------------------------------------------------------- @@ -125,7 +130,7 @@ via: https://opensource.com/article/22/10/transfer-files-windows-linux-pscp 作者:[Paul][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/) 荣誉推出 From aaf314711ae19d7201bf29593d2a948949f9499e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 10 Nov 2022 08:47:07 +0800 Subject: [PATCH 353/925] RP @hadisi1993 https://linux.cn/article-15235-1.html --- .../20210623 Parsing config files with Lua.md | 220 ++++++++++++++++++ .../20210623 Parsing config files with Lua.md | 211 ----------------- 2 files changed, 220 insertions(+), 211 deletions(-) create mode 100644 published/20210623 Parsing config files with Lua.md delete mode 100644 translated/tech/20210623 Parsing config files with Lua.md diff --git a/published/20210623 Parsing config files with Lua.md b/published/20210623 Parsing config files with Lua.md new file mode 100644 index 0000000000..81149510af --- /dev/null +++ b/published/20210623 Parsing config files with Lua.md @@ -0,0 +1,220 @@ +[#]: subject: (Parsing config files with Lua) +[#]: via: (https://opensource.com/article/21/6/parsing-config-files-lua) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (hadisi1993) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15235-1.html) + +使用 Lua 解析配置文件 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/10/084609uq6vvp1vjzqzpc9k.jpg) + +> 使用 Lua 配置持久化应用设置。 + +不是所有的应用都需要配置文件;对很多应用来说,在启动时变得焕然一新对它们更有利。例如,简单的工具就极少需要偏好项和设置在使用过程中保持稳定不变。然而,当你编写一个复杂的应用程序时,如果能让用户设置与应用的交互方式,以及应用与系统交互的方式会很不错。这就是配置文件用来做的事情。本文将讨论一些利用 Lua 进行持久化配置的方法。 + +### 选择一种格式 + +关于配置文件很重要的两点是一致性和可预见性。你不会希望为了保存用户偏好项,将信息转储到文件中,然后再花几天去编码实现“逆向工程”,处理最后出现在文件里的随机信息。 + +这里用一些常用的 [配置文件格式][2]。Lua 有一些库可以处理大多数常用的配置格式;在本文中,我会采用 INI 格式。 + +### 安装库 + +Lua 库的核心仓库是 [Luarocks.org][3]。你可以在这个网站搜索库,或者你可以安装并使用 `luarocks` 终端命令。 + +Linux 环境中,你可以从发行版的软件仓库中下载它,例如: + +``` +$ sudo dnf install luarocks +``` + +在 macOS 上,请使用 [MacPorts][4] 或者 [Homebrew][5]。在 Windows 上,请使用 [Chocolatey][6]。 + +`luarocks` 安装后,你可以使用 `search` 子命令来搜索一个恰当的库。如果你不知道库的名字,可以通过关键词来搜索这个库,例如 `ini`、xml` 或者 `json`,这取决于你想要用这个库做什么。打个比方,你可以搜索 `inifile`, 这个库被我用来解析 INI 格式的文本文件。 + +``` +$ luarocks search inifile +Search results: +inifile + 1.0-2 (rockspec) - https://luarocks.org + 1.0-2 (src) - https://luarocks.org + 1.0-1 (rockspec) - https://luarocks.org + [...] +``` + +一个开发者容易犯的错误是在系统上安装了这个库却忘了把它和应用打包。这会给没有安装这个库的用户带来麻烦。为了防止这个问题发生,可以使用 `--tree` 选项将它安装在项目的本地文件夹中。如果你没有这个项目文件夹,那就先创建这个文件夹再安装库: + +``` +$ mkdir demo +$ cd demo +$ luarocks install --tree=local inifile +``` + +`--tree` 选项指示 `luarocks` 创建一个新文件夹并在其中安装你的库,例如这个例子中的 `local` 文件夹。 使用这个简单的技巧,你可以将所有你项目要使用的依赖项直接安装到项目文件夹中。 + +### 配置代码 + +首先,在一个名 `myconfig.ini` 的文件中创建一些 INI 数据。 + +``` +[example] +name=Tux +species=penguin +enabled=false + +[demo] +name=Beastie +species=demon +enabled=false +``` + +将这个文件保存到你的主目录下,命名为 `myconfig.ini`, _不要_ 存到项目文件夹下。你通常会希望配置文件独立于你的文件存在,这样当用户卸载你的应用时,使用应用时产生的数据可以保存在系统中。有些用户会删除不重要的配置文件,但大多数不会。最终,如果他们要重装这个应用,还会保留着所有的用户偏好项。 + +配置文件的位置以技术来说并不重要,但每一个操作系统都有存储它们的特定或者默认的路径。在 Linux 中,这个路径由 [Freedesktop 规范][7] 指定。它规定配置文件被保存在一个名为 `~/.config` 的隐藏文件夹中。为了操作时更加清晰明确,可以在主目录下存储配置文件,以便于使用和寻找。 + +创建第二个文件,命名为 `main.lua`,并在你喜欢的文本编辑器中打开它。 + +首先,你必须告诉 Lua 你将想要使用的附加库放置在哪里。`package.path` 变量决定了 Lua 到哪里去寻找这些库。你可以从终端中查看 Lua 默认的包地址: + +``` +$ Lua +> print(package.path) +./?.lua;/usr/share/lua/5.3/?.lua;/usr/share/lua/5.3/?/init.lua;/usr/lib64/lua/5.3/?.lua;/usr/lib64/lua/5.3/?/init.lua +``` + +在你的 Lua 代码中,将你本地库的路径添加到 `package.path` 中: + +``` +package.path = package.path .. ';local/share/lua/5.3/?.lua +``` + +### 使用 Lua 解析 INI 文件 + +当包的位置确定以后,下一件事就是引入 `inifile` 库并处理一些操作系统逻辑。即使这是一个很简单的应用,代码也需要从操作系统获取到用户主目录的路径,并建立在必要时将文件系统路径返回给操作系统的通信方式。 + +``` +package.path = package.path .. ';local/share/lua/5.3/?.lua +inifile = require('inifile') + +-- find home directory +home = os.getenv('HOME') + +-- detect path separator +-- returns '/' for Linux and Mac +-- and '\' for Windows +d = package.config:sub(1,1) +``` + +现在你可使用 `inifile` 来从配置文件解析数据到 Lua 表中。一旦这些数据被导入进表中,你可以像查询其他的 Lua 表一样查询它。 + +``` +-- parse the INI file and +-- put values into a table called conf +conf = inifile.parse(home .. d .. 'myconfig.ini') + +-- print the data for review +print(conf['example']['name']) +print(conf['example']['species']) +print(conf['example']['enabled']) +``` + +在终端中运行代码可以看见结果: + +``` +$ lua ./main.lua +Tux +penguin +false +``` + +这看起来是正确的。试试在 `demo` 块中执行同样的操作。 + +### 使用 INI 格式存储数据 + +不是所有用来解析的库都会读写数据(通常被称为 _编码 和 _解码_),但是 `inifile` 会这样做。这意味着你可以使用它对配置文件进行修改。 + +为了改变配置文件中的值,你可以对被解析的表中的变量进行设置,然后把表重写回配置文件中。 + +``` +-- set enabled to true +conf['example']['enabled'] = true +conf['demo']['enabled'] = true + +-- save the change +inifile.save(home .. d .. 'myconfig.ini', conf) +``` + +现在再来看看配置文件: + +``` +$ cat ~/myconfig.ini +[example] +name=Tux +species=penguin +enabled=true + +[demo] +name=Beastie +species=demon +enabled=true +``` + +### 配置文件 + +按照用户的设想来存储数据对程序来说是至关重要的。幸运的是,这对工程师来说是一个很常规的任务,大多数工作可能早已被完成了。只要找到一个好用的库完成开放格式下编码和解码,你就能为用户提供一致且持续的体验。 + +以下是完整的演示代码,可供参考。 + +``` +package.path = package.path .. ';local/share/lua/5.3/?.lua' +inifile = require('inifile') + +-- find home directory +home = os.getenv('HOME') + +-- detect path separator +-- returns '/' for Linux and Mac +-- and '\' for Windows +d = package.config:sub(1,1) + +-- parse the INI file and +-- put values into a table called conf +conf = inifile.parse(home .. d .. 'myconfig.ini') + +-- print the data for review +print(conf['example']['name']) +print(conf['example']['species']) +print(conf['example']['enabled']) + +-- enable Tux +conf['example']['enabled'] = true + +-- save the change +inifile.save(home .. d .. 'myconfig.ini', conf) +``` + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/parsing-config-files-lua + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[hadisi1993](https://github.com/hadisi1993) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_2.png?itok=JPlR5aCA (坐在电脑前的女人) +[2]: https://opensource.com/article/21/6/config-files-and-their-formats +[3]: https://opensource.com/article/19/11/getting-started-luarocks +[4]: https://opensource.com/article/20/11/macports +[5]: https://opensource.com/article/20/6/homebrew-mac +[6]: https://opensource.com/article/20/3/chocolatey +[7]: https://www.freedesktop.org/wiki/Specifications +[8]: http://www.opengroup.org/onlinepubs/009695399/functions/getenv.html diff --git a/translated/tech/20210623 Parsing config files with Lua.md b/translated/tech/20210623 Parsing config files with Lua.md deleted file mode 100644 index d8467d752b..0000000000 --- a/translated/tech/20210623 Parsing config files with Lua.md +++ /dev/null @@ -1,211 +0,0 @@ -[#]: subject: (Parsing config files with Lua) -[#]: via: (https://opensource.com/article/21/6/parsing-config-files-lua) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: ( hadisi1993) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -使用Lua解析配置文件 -====== -使用Lua配置持久化应用设置 - - -![坐在电脑前的女人][1] -不是所有的应用都需要配置文件;对很多应用来说,在启动时变得焕然一新对它们更有利。例如,简单的工具就极少需要偏好项和设置在使用过程中保持稳定不变。然而,当你编写一个复杂的应用程序时,如果能让用户设置与应用的交互方式,以及应用与系统交互的方式会很不错。这就是配置文件用来做的事情。本文将讨论一些利用Lua进行持久化配置的方法。 - -### 选择一种格式 -关于配置文件很重要的两点是一致性和可预见性。你不会希望为了保存用户偏好项,将信息转储到文件中,然后再花几天去编码实现“逆向工程”,处理最后出现在文件里的随机信息。 - -这里用一些常用的[配置文件格式][2]。Lua有一些库可以处理大多数常用的配置格式;在本文中,我会采用INI格式。 -### 安装库 -Lua库的核心仓库是[Luarocks.org][3].你可以在这个网站搜索库,或者你可以安装并使用`luarocks`终端命令。 -Linux环境中,你可以从发行版的软件仓库中下载它,例如: - -``` -`$ sudo dnf install luarocks` -``` - -在macOS上,请使用[MacPorts][4] 或者[Homebrew][5]. 在Windows上,请使用[Chocolatey][6]. -一旦`luarocks`被安装,你可以使用`search`子命令来搜索一个恰当的库。如果你不知道库的名字,可以通过关键词来搜索这个库,例如`ini` ,`xml` 或者 `json`,这取决于你想要用这个库做什么。打个比方,你可以搜索`inifile`, 这个库被我用来解析INI格式的文本文件。 - -``` -$ luarocks search inifile -Search results: -inifile - 1.0-2 (rockspec) - - 1.0-2 (src) - - 1.0-1 (rockspec) - - [...] -``` - -A common trap programmers fall into is installing a library on their system and forgetting to bundle it with their application. This can create problems for users who don't have the library installed. To avoid this, use the `--tree` option to install the library to a local folder within your project directory. If you don't have a project directory, create one first, and then install: -一个开发者容易犯的错误是在系统上安装了这个库却忘了把它和应用打包。这会给没有安装这个库的用户带来麻烦。为了防止这个问题发生,可以使用`--tree`选项将它安装在项目的本地文件夹中。如果你没有这个项目文件夹,那就先创建这个文件夹再安装库。 - -``` -$ mkdir demo -$ cd demo -$ luarocks install --tree=local inifile -``` - -`--tree` 选项指示`luarocks`创建一个新文件夹并在其中安装你的库,例如这个例子中的`local`文件夹。 使用这个简单的技巧,你可以将所有你项目要使用的依赖项直接安装到项目文件夹中。 -### 配置代码 -首先,在一个名`myconfig.ini`的文件中创建一些INI数据 - -``` -[example] -name=Tux -species=penguin -enabled=false - -[demo] -name=Beastie -species=demon -enabled=false -``` - -将这个文件保存到你的home文件夹下,命名为`myconfig.ini`, _不要_ 存到项目文件夹下。你通常会希望配置文件独立于你的文件存在,这样当用户卸载你的应用时,使用应用时产生的数据可以保存在系统中。有些用户会删除不重要的配置文件,但大多数不会。最终,如果他们要重装这个应用,还会保留着所有的用户偏好项。 - - -配置文件的地址以技术来说并不重要,但每一个操作系统都有特指或者默认的路径存储它们。在Linux中,这个路径被[Freedesktop specification][7]指定。它规定配置文件被保存在一个名为`~/.config`的隐藏文件夹中。为了操作时更加清晰明确,可以在home目录下存储配置文件,以便于使用和寻找 - - -创建第二个文件,命名为`main.lua`,并在你喜欢的文本编辑器中打开它。 - -首先,你必须告诉Lua你将想要使用的附加库放置在哪里。`package.path`变量决定了Lua到哪里去寻找这些库。你可以中终端中查看Lua默认的包地址: - -``` -$ Lua -> print(package.path) -./?.lua;/usr/share/lua/5.3/?.lua;/usr/share/lua/5.3/?/init.lua;/usr/lib64/lua/5.3/?.lua;/usr/lib64/lua/5.3/?/init.lua -``` - -在你的Lua代码中,将你本地库的路径添加到`package.path`中: - -``` -`package.path = package.path .. ';local/share/lua/5.3/?.lua` -``` - -### 使用Lua解析INI文件 -当包地址被创建以后,下一个件事就是引入`inifile`库并处理OS逻辑。即使这是一个很简单的应用,代码也需要从操作系统获取到用户home目录的路径并建立在必要时将文件系统路径返回给操作系统的通信方式。 - -``` -package.path = package.path .. ';local/share/lua/5.3/?.lua -inifile = require('inifile') - -\-- find home directory -home = os.getenv('HOME') - -\-- detect path separator -\-- returns '/' for Linux and Mac -\-- and '\' for Windows -d = package.config:sub(1,1) -``` - -现在你可使用`inifile`来从配置文件解析数据到Lua表中。一旦这些数据被导入进表中,你可以像查询其他的Lua表一样查询它。 - -``` -\-- parse the INI file and -\-- put values into a table called conf -conf = inifile.parse(home .. d .. 'myconfig.ini') - -\-- print the data for review -print(conf['example']['name']) -print(conf['example']['species']) -print(conf['example']['enabled']) -``` - -在终端中运行代码可以看见结果: - -``` -$ lua ./main.lua -Tux -penguin -false -``` - -这看起来是正确的。试试在demo块中执行同样的操作。 -### 使用INI格式存储数据 -不是所有用来解析的库都会读写数据(通常被称为 _编码 和 _解码_), 但是`inifile`会这样做。这意味着你可以使用它对配置文件进行修改。 - -为了改变配置文件中的值,你可以对被解析的表中的变量进行设置,然后把表重写回配置文件中。 - -``` -\-- set enabled to true -conf['example']['enabled'] = true -conf['demo']['enabled'] = true - -\-- save the change -inifile.save(home .. d .. 'myconfig.ini', conf) -``` - -现在再来看看配置文件: - -``` -$ cat ~/myconfig.ini -[example] -name=Tux -species=penguin -enabled=true - -[demo] -name=Beastie -species=demon -enabled=true -``` - -### 配置文件 -按照用户的设想来存储数据对程序来说是至关重要的。幸运的是, 这对工程师来说是一个很常规的任务,大多数工作可能早已被完成了。只要找到一个好用的库完成开放格式下编码和解码,你就能为用户提供一致且持续的体验。 - -以下是完整的demo,可供参考。 - -``` -package.path = package.path .. ';local/share/lua/5.3/?.lua' -inifile = require('inifile') - -\-- find home directory -home = os.[getenv][8]('HOME') - -\-- detect path separator -\-- returns '/' for Linux and Mac -\-- and '\' for Windows -d = package.config:sub(1,1) - -\-- parse the INI file and -\-- put values into a table called conf -conf = inifile.parse(home .. d .. 'myconfig.ini') - -\-- print the data for review -print(conf['example']['name']) -print(conf['example']['species']) -print(conf['example']['enabled']) - -\-- enable Tux -conf['example']['enabled'] = true - -\-- save the change -inifile.save(home .. d .. 'myconfig.ini', conf) -``` - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/parsing-config-files-lua - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](hadisi1993) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_2.png?itok=JPlR5aCA (坐在电脑前的女人) -[2]: https://opensource.com/article/21/6/config-files-and-their-formats -[3]: https://opensource.com/article/19/11/getting-started-luarocks -[4]: https://opensource.com/article/20/11/macports -[5]: https://opensource.com/article/20/6/homebrew-mac -[6]: https://opensource.com/article/20/3/chocolatey -[7]: https://www.freedesktop.org/wiki/Specifications -[8]: http://www.opengroup.org/onlinepubs/009695399/functions/getenv.html From 18061b918eb0ad72e704ac4bbab105d4a8b65085 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 10 Nov 2022 08:54:38 +0800 Subject: [PATCH 354/925] translated --- ...st Speaker Volume in Ubuntu and Other Linux.md | 89 ------------------- ...st Speaker Volume in Ubuntu and Other Linux.md | 89 +++++++++++++++++++ 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md create mode 100644 translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md diff --git a/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md deleted file mode 100644 index 447ea5c453..0000000000 --- a/sources/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md +++ /dev/null @@ -1,89 +0,0 @@ -[#]: subject: "How to Boost Speaker Volume in Ubuntu and Other Linux" -[#]: via: "https://www.debugpoint.com/boost-speaker-volume-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Boost Speaker Volume in Ubuntu and Other Linux -====== - -**Here’s how you can boost your Laptop and desktop’s volume more in Ubuntu and other Linux distributions.** - -Have you ever felt that your Ubuntu Laptop’s volume is too low, despite you selected the volume to 100%? I’m sure you had. The primary reason is – obviously, laptop speaker output intensity is lower than large speakers. - -In addition, Ubuntu and other distros set the default maximum volume to 100%, i.e. 0dB (decibel). The 0dB is the maximum volume reference. To compare, if you set the volume to -10dB, that means your volume is quieter than the maximum 0dB. - -VLC and some media players allow you to increase the volume by up to 200%. Using some settings in the latest Ubuntu, you can boost the volume to further. - -**Note**: Before you try this and use the following method, remember that each speaker has a hardware limitation set by its manufacturer. Once in a while, playing audio more than 100% is fine. But continuous amplification to higher decibels may distort output audio & may damage your speaker amplifier in the longer term. So, use it with caution and limitation. - -### Boost Speaker Volume in Ubuntu and other distros - -#### For the latest Ubuntu 22.04 and above (GNOME): - -Open Settings from the application menu and go to the Sound tab. - -Enable the “Over Amplification” switch. The moment you enable you should see the volume bar is expanded. - -![Boost volume more than 100 percent in Ubuntu][1] - -Now you can enjoy a volume boost to listen to music. - -#### Fedora, Arch Linux and other distros - -If you use Fedora Workstation with GNOME, you will not get the above option since it is an Ubuntu-specific setting. See below. - -![Speaker volume is max 100 percent in Fedora (GNOME)][2] - -So, for any other Linux distributions (Arch, Fedora, RedHat, etc.) or desktops (KDE, Xfce, LXQt, etc.), open a terminal and install [PulseAudio Volume Control][3]. - -**Fedora, RedHat Linux, OpenSUSE and related rpm-based distributions:** - -``` -sudo dnf install pavucontrol -``` - -**For Arch Linux, Manjaro** - -``` -sudo pacman -S pavucontrol -``` - -**Non-GNOME Ubuntu-based distros** - -``` -sudo apt install pavucontrol -``` - -### How to Use - -After installation, open the `pavucontrol` from the application menu, it should appear as ‘PulseAudio Volume Control’ as a menu item. - -![Increase Volume using PulseAudio Volume Control][4] - -### Wrapping Up - -Remember, the above methods boost the speaker volume for the entire system. That means the system sounds and alerts are also impacted. So, keep that in mind. As I mentioned earlier, boosting speaker volume by more than 100% may result in distrotion or damage to the speaker if used continuously. - -I hope this tutorial helps you to increase your system volume. Do let me know in the comment box if you run into issues. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/boost-speaker-volume-ubuntu/ - -作者:[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/11/Boost-volume-more-than-100-percent-in-Ubuntu.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Speaker-volume-is-max-100-percent-in-Fedora-GNOME.jpg -[3]: https://freedesktop.org/software/pulseaudio/pavucontrol/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Increase-Volume-using-PulseAudio-Volume-Control-1024x508.jpg diff --git a/translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..56545275df --- /dev/null +++ b/translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md @@ -0,0 +1,89 @@ +[#]: subject: "How to Boost Speaker Volume in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/boost-speaker-volume-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何提高 Ubuntu 和其他 Linux 系统中的扬声器音量 +====== + +**以下是如何在 Ubuntu 和其他 Linux 发行版中提高笔记本和桌面的音量的方法。** + +你有没有觉得你的 Ubuntu 笔记本的音量太小,尽管你把音量调到了 100%?我相信你有过。主要原因是:很明显,笔记本电脑的扬声器输出强度比大型扬声器要低。 + +此外,Ubuntu 和其他发行版将默认的最大音量设置为 100%,也就是 0dB(分贝)。0dB 是最大音量的参考值。做个比较,如果你把音量设置为 -10dB,这意味着你的音量比最大的 0dB 安静。 + +VLC 和一些媒体播放器允许你将音量提高到 200%。在最新的 Ubuntu 中使用一些设置,你可以将音量进一步提高。 + +**注意**:在你尝试和使用以下方法之前,请记住,每个扬声器都有其制造商设定的硬件限制。偶尔一次,播放超过 100% 的音频是可以的。但是,连续放大到更高的分贝可能会使输出的音频失真,并且从长远来看可能会损坏你的扬声器。因此,在使用时要小心谨慎,并有所限制。 + +### 在 Ubuntu 和其他发行版中提高扬声器音量 + +#### 对于最新的 Ubuntu 22.04 及以上版本(GNOME)。 + +从应用菜单中打开设置,进入声音标签。 + +启用 “Over Amplification” 开关。在你启用的那一刻,你应该看到音量条被扩大了。 + +![在 Ubuntu 中提升音量超过 100%][1] + +现在你可以享受音量提升来听音乐了。 + +#### Fedora, Arch Linux 和其他发行版 + +如果你使用带有 GNOME 的 Fedora 工作站,你将看不到上述选项,因为这是 Ubuntu 特有的设置。见下面。 + +![在 Fedora (GNOME)中,扬声器音量最大为 100%][2] + +因此,对于任何其他 Linux 发行版(Arch、Fedora、RedHat 等)或桌面(KDE、Xfce、LXQt 等),打开终端并安装 [PulseAudio Volume Control][3]。 + +**Fedora、RedHat Linux、OpenSUSE 和相关基于 rpm 的发行版:** + +``` +sudo dnf install pavucontrol +``` + +**对于 Arch Linux, Manjaro** + +``` +sudo pacman -S pavucontrol +``` + +**基于 Ubuntu 的非 GNOME 发行版** + +``` +sudo apt install pavucontrol +``` + +### 如何使用 + +安装后,从应用菜单中打开 `pavucontrol`,它应该有个 “PulseAudio Volume Control” 菜单项。 + +![使用PulseAudio音量控制增加音量][4] + +### 总结 + +记住,上述方法可以提高整个系统的扬声器音量。这意味着系统的声音和警报也会受到影响。所以,要记住这一点。正如我前面提到的,如果连续使用,提升扬声器音量超过 100% 可能会导致扬声器变形或损坏。 + +我希望这个教程能帮助你提高系统音量。如果你遇到问题,请在评论栏里告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/boost-speaker-volume-ubuntu/ + +作者:[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/11/Boost-volume-more-than-100-percent-in-Ubuntu.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/Speaker-volume-is-max-100-percent-in-Fedora-GNOME.jpg +[3]: https://freedesktop.org/software/pulseaudio/pavucontrol/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Increase-Volume-using-PulseAudio-Volume-Control-1024x508.jpg \ No newline at end of file From 00beb2651d69b2065869ab249c57d1fb5c6447b4 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 10 Nov 2022 08:56:35 +0800 Subject: [PATCH 355/925] translating --- ... ⭐️ How to Find Systemd or Any Other init System in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md index a4815bb415..d8693c87a6 100644 --- a/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md +++ b/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/systemd-or-init/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 123eb5b5642764af07b6619512a1a5dc172291dd Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 10 Nov 2022 08:57:36 +0800 Subject: [PATCH 356/925] translating --- .../tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md index 5069dbf0d4..e8608ed120 100644 --- a/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md +++ b/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md @@ -2,7 +2,7 @@ [#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" [#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From da04c878563c1cf29e8cba5965d340092b731f82 Mon Sep 17 00:00:00 2001 From: Cubik Date: Wed, 9 Nov 2022 22:03:07 -0500 Subject: [PATCH 357/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]?= =?UTF-8?q?=20[news]=2020221101.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=20Kate=20Editor=20is=20Getting=20Four=20New=20Awesome=20Featur?= =?UTF-8?q?es.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ate Editor is Getting Four New Awesome Features.md | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md index cfb4af945c..e40e79595e 100644 --- a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md +++ b/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md @@ -7,87 +7,87 @@ [#]: publisher: " " [#]: url: " " -Kate Editor is Getting Four New Awesome Features +Kate 文本编辑器获得了四个非常棒的新功能 ====== -KDE's feature-packed text editor is getting better and more useful! +由 KDE 开发的功能丰富的文本编辑器正在变得更好和更有用! -![Kate Editor is Getting Four New Awesome Features][1] +![Kate 文本编辑器获得了四个非常棒的新功能][1] -[Kate Editor][2] is a constantly evolving and powerful open-source text editor that acts as a viable alternative to Microsoft's proprietary Visual Studio Code application. +[Kate 文本编辑器][2] 是一个不断发展和强大的开源文本编辑器,它是微软专有的 Visual Studio Code 应用程序的替代品。 -It is available for Linux, Windows, and macOS. +它可以在 Linux、Windows 和 macOS 上使用。 -The code editor received a significant upgrade in 2021 potentially making it KDE's answer to Microsoft's offering. +这个代码编辑器在 2021 年获得了重大升级,这可能使它成为了 KDE 面对微软所提供的产品交出的答卷。 -With the upcoming Kate and KWrite 22.12 release, they aim to add a number of much-needed features. +在即将到来的 Kate 和 KWrite 22.12 版本上,他们的目标是添加许多非常有用的功能。 -Let's take a brief look at what we can expect from Kate. +来简单看看我们可以从 Kate 中期待什么。 -### 🆕 Kate Editor: New Feature Additions +### 🆕 Kate Editor: 新增功能 -If you have been reading [Nate's blog][3] for KDE improvements, you probably know all about the upgrades coming to KDE Plasma and the applications. +如果你读过 [Nate 的博客][3] 来了解 KDE 的改进,你可能已经知道了 KDE Plasma 和应用程序即将获得的升级。 -However, some exciting additions are coming to Kate 22.12 that I wanted to highlight: +但是,我想强调一些 Kate 22.12 将会带来的令人激动的新功能: -- **Support for Qt Widgets** -- **Updated Welcome Page** -- **Git Diff Viewer** -- **Configuration Tab** -- **Clipboard History** +- **对 Qt Widgets 的支持** +- **更新的欢迎页面** +- **Git 差异查看器** +- **配置标签页** +- **剪切板历史** -#### Welcome Page +#### 欢迎页面 -![kate 22.12 welcome page][4] +![kate 22.12 欢迎页面][4] -Image Credits: KDE +图片来源:KDE -Like many other [KDE apps][5], Kate will now show a welcome page that will greet users with a welcome screen and include options like creating or opening a file, starting a new session, viewing recent documents, and more. +和许多其他 [KDE 应用程序][6] 一样,Kate 现在将显示一个欢迎页面,该页面将欢迎用户并显示创建或打开文件、启动新会话、查看最近的文档等选项。 -For users who might not like this, an option will be provided on the welcome page to disable this behavior for a new window. +对于不喜欢这个页面的用户,欢迎页面上将提供一个选项,以在新窗口上禁用欢迎页面。 -#### Git Diff Viewer +#### Git 差异查看器 -![kate 22.12 git diff support][6] +![kate 22.12 git 差异支持][6] -Image Credits: KDE +图片来源:KDE -Kate will finally get support for viewing git-diff; users will be able to compare their code to check for differences and find those pesky bugs that are causing their application not to run correctly. +Kate 终于增加了对显示 git-diff 的支持;用户将能够比较他们的代码以检查差异并找到那些令人讨厌的,会导致他们的应用程序无法正常运行 bug。 -Users will also be able to choose from a variety of views, such as unified, side-by-side, and raw. +用户也可以从多种视图中进行选择,例如合并、并排和原始文件。 -#### New Clipboard History Paste Dialog +#### 新的剪贴板历史粘贴对话框 -![kate 22.12 clipboard history][7] +![kate 22.12 剪贴板历史][7] -Image Credits: KDE +图片来源:KDE -A new dialog has been added to Kate, showing users a list of previous clipboard content while pasting. +Kate 现在添加了一个新的对话框,在粘贴的时候显示用户剪贴板内容的列表。 -This can be helpful if you are juggling between multiple lines of code and don't want to lose track of the essential bits. +当你在多行代码之间切换时,这可能会很有用,因为你不想丢失重要的内容。 -#### Configuration Tab +#### 配置标签页 -![kate 22.12 configuration tab][8] +![kate 22.12 配置标签页][8] -Image Credits: KDE +图片来源:KDE -Kate will also feature a configuration tab that lets users change significant settings and a search bar to quickly find specific settings. +Kate 也将添加一个配置标签页,让用户可以更改重要的设置,并添加一个搜索栏,使用户可以快速查找特定的设置。 -#### 🛠️ Other Changes and Improvements +#### 🛠️ 其他变更和改进 -Some other notable improvements to be featured on Kate 22.12 are: +Kate 22.12 将带来的其他值得注意的改进包括: -- **Optimized Status Bar** -- **Improvements to the Build Plugin** -- **Moveable Sidebar Buttons** -- **Improvements to Window Handling** +- **优化的状态栏** +- **对构建插件的改进** +- **可移动的侧边栏按钮** +- **对窗口处理的改进** -Kate is shaping to be a suitable alternative to Microsoft's [Visual Studio Code][9] and has come a long way since its major revamp in 2021. +Kate 正在成为微软的 [Visual Studio Code][9] 的合适替代品,并且自 2021 年大规模重构以来已经取得了很大的进步。 -In Kate's [official blog post][10], you can learn more about these changes and watch them in action. +在 Kate 的 [官方博客文章][10] 中,你可以了解更多关于这些变化的信息,并看看它们实际是怎么工作的。 -💬 Are you looking forward to the release of Kate 22.12? Or do you prefer VS Code? +💬 你期待 Kate 22.12 的发布吗?还是更喜欢 VS Code? -------------------------------------------------------------------------------- From a72a5ff69aa5bfabd68bd4157c249ac55b67569d Mon Sep 17 00:00:00 2001 From: Cubik Date: Wed, 9 Nov 2022 22:03:33 -0500 Subject: [PATCH 358/925] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91]?= =?UTF-8?q?=20[news]=2020221101.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=20Kate=20Editor=20is=20Getting=20Four=20New=20Awesome=20Featur?= =?UTF-8?q?es.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md (100%) diff --git a/sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/translated/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md similarity index 100% rename from sources/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md rename to translated/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md From df71941e046703aa55a9310d53d003296519061c Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Thu, 10 Nov 2022 11:26:21 +0800 Subject: [PATCH 359/925] translate: Is Lua worth learning --- .../20221103.0 ⭐️⭐️ Is Lua worth learning.md | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md index 179addf957..49d6fc7c30 100644 --- a/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md +++ b/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md @@ -2,49 +2,49 @@ [#]: via: "https://opensource.com/article/22/11/lua-worth-learning" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MuggleWei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " -Is Lua worth learning? +Lua值得学习吗? ====== -Lua is a fun and robust language, with progressive improvements made with each release, and an ever-growing developer base. Discover all of its possibilities. +Lua是一个有趣且强大的语言, 随着版本的推进, 功能愈发的强大, 开发者也在不断的增长. 这篇文章我们将探索一下它的可能性. -Lua is a scripting language used for procedural programming, functional programming, and even [object-oriented programming][1]. It uses a C-like syntax, but is dynamically typed, features automatic memory management and garbage collection, and runs by interpreting bytecode with a register-based virtual machine. This makes it a great language for beginners, but also a powerful tool for experienced programmers. +Lua是一个脚本语言, 它面向过程, 函数式编程, 甚至可以是[面向对象的][1]. 它使用类c的语法, 但却是动态类型, 具有自动内存管理和垃圾回收功能, 使用基于寄存器的虚拟机来解释字节码. 这些特点使得它对于初学者来说是个很好的语言, 同时也是经验丰富的程序员的强大工具. -Lua has been somewhat eclipsed from the public view by languages like [Python][2] and [JavaScript][3], but Lua has several advantages that make it popular in some major software projects. Lua is easily embedded within other languages, meaning that you can include Lua files in the code base of something written in (for instance) Java and it runs as if it were native Java code. It sounds like magic, but of course there are projects like [luaj][4] working to make it possible, and it's only possible because Lua is designed for it. It's partly because of this flexibility that you're likely to find Lua as the scripting language for video games, graphic applications, and more. +虽然与[Python][2]和[JavaScript][3]相比, Lua现在已经有点儿黯然失色了, 但是Lua拥有的一些优点使得它在许多的重大软件项目中很受欢迎. Lua很容易嵌入到其他语言当中, 这意味着你可以在(例如)Java编写的代码中包含Lua文件, 就像原生的Java代码一样运行. 这听起来就像魔法一般, 现在有许多项目如[luaj][4]使得其成为可能, 之所以可以实现, 正是因为Lua就是为此而设计的. 正因这部分的灵活性, 你可以在许多游戏, 图形应用的程序中发现Lua脚本的身影. -As with anything, it takes time to perfect, but Lua is easy (and fun) to learn. It's a consistent language, a friendly language with useful error messages, and there's lots of great support online. Ready to get started? +就像其他任何事情一样, 做到完美是需要时间的, 但是Lua是很易于学习(并且有趣)的语言. 它是一种一致性的语言, 一种带有有用的错误消息的友好的语言, 并且可以在网上轻松找到许多有用的资料. 那么就让我们开始吧! -### Installing Lua +### 安装Lua -On Linux, you can install Lua using your distribution's package manager. For instance, on Fedora, CentOS, Mageia, OpenMandriva, and similar distributions: +在Linux下, 你可以使用发行版自带的包管理来安装Lua. 例如, 在Fedora, CentOS, Mageia, OpenMandriva以及相似的发行版中: ``` $ sudo dnf install lua ``` -On Debian and Debian-based systems: +在Debian以及基于Debian的系统中: ``` $ sudo apt install lua ``` -For Mac, you can use [MacPorts][5] or [Homebrew][6]. +对于Mac, 你可以使用[MacPorts][5] 或者 [Homebrew][6]. ``` $ sudo port install lua ``` -For Windows, install Lua using [Chocolatey][7]. +对于Windows, 可以使用[Chocolatey][7]安装Lua. -To test Lua in an interactive interpreter, type `lua` in a terminal. +完成安装后, 可以在终端中输入`lua`来在交互式解释器中使用Lua. -### Functions +### 函数 -As with many programming languages, Lua syntax generally involves a built-in function or keyword, followed by an argument. For instance, the `print` function displays any argument you provide to it. +如许多编程语言一样, Lua调用一个内建的函数或关键字, 后面跟着参数. 例如, `print`函数显示你传给它的所有参数. ``` $ lua @@ -54,16 +54,16 @@ Lua 5.4.2 Copyright (C) 1994-2020 Lua.org, PUC-Rio hello ``` -Lua's `string` library can manipulate words (called "strings" in programming.) For instance, to count the letters in a string, you use the `len` function of the `string` library: +Lua的`string`库可以操作单词(在编程中称为"字符串"). 例如, 统计字符串中的字母数量, 你可以使用`string`库中`len`函数: ``` > string.len('hello') 5 ``` -### Variables +### 变量 -A variable allows you to create a special place in your computer's memory for temporary data. You can create variables in Lua by inventing a name for your variable, and then putting some data into it. +一个变量允许你在计算机内存中为临时的数据创建一个指定的空间. Lua中创建变量的方法是赋予变量一个名字, 接着将数据放入其中. ``` > foo = "hello world" @@ -74,17 +74,17 @@ hello world 3 ``` -### Tables +### 表 -Second only to the popularity of variables in programming is the popularity of arrays. The word "array" literally means an arrangement, and that's all a programming array is. It's a specific arrangement of data, and because there is an arrangement, an array has the advantage of being structured. An array is often used to perform essentially the same purpose as a variable, except that an array can enforce an order to its data. In Lua, an array is called a `table`. +在编程中, 数组的使用频率仅次于变量的存在. "数组"这个词的字面意思就是一种排列, 而这就是程序中数组的意义了. 它是数据的一种排列, 因为有排列, 所有数组具有结构化的优势. 本只上数组通常用于和变量相同的目的, 只不过数组会给对其中的数据进行排序. 在Lua中, 数组被称为`表`. -Creating a table is like creating a variable, except that you set its initial content to two braces (`{}`): +创建表和创建变量类似, 区别仅在于它的初始化内容被设置为`{}`: ``` > mytable = {} ``` -When you add data to a table, it's also a lot like creating a variable, except that your variable name always begins with the name of the table, and is separated with a dot: +当往表中增加数据时, 它就如同创建变量一样, 区别在于这里的变量之前总是以表名开头, 中间使用`.`来连接: ``` > mytable.foo = "hello world" @@ -95,17 +95,17 @@ hello world 3 ``` -### Scripting with Lua +### 使用Lua作为脚本 -Running Lua in the terminal is great for getting instant feedback, but it's more useful to run Lua as a script. A Lua script is just a text file containing Lua code, which the Lua command can interpret and execute. +在终端交互环境中运行Lua可以得到良好的反馈, 但是将Lua作为脚本运行会更为有用. 一个Lua脚本就是包含Lua代码的文本文件, Lua命令可以解析并执行此文件. -The eternal question, when just starting to learn a programming language, is how you're supposed to know what to write. This article has provided a good start, but so far you only know two or three Lua functions. The key, of course, is in documentation. The Lua language isn't that complex, and it's very reasonable to refer to the [Lua documentation site][8] for a list of keywords and functions. +对于开始学习一门编程语言, 永恒的问题是你怎么知道该写什么. 这篇文章将提供一个不错的开端, 截至目前, 你仅知道了两三个Lua函数. 懂得查阅文档是很关键的. Lua并不是一个复杂的语言, 可以通过[Lua文档网站][8]很方便的获取关键字以及函数的用法. -Here's a practice problem. +下面是一个练习题. -Suppose you want to write a Lua script that counts words in a sentence. As with many programming challenges, there are many ways to go about this, but say the first relevant function you find in the Lua docs is `string.gmatch`, which can search for a specific character in a string. Words are usually separated by an empty space, so you decide that counting spaces + 1 ought to render a reasonably accurate count of the words they're separating. +假设你想编写一个Lua脚本来统计句子中的单词数量. 与众多的编程挑战一样, 有许多方法可以解决这个问题, 假设你在Lua文档中找到的第一个相关的函数是`string.gmatch`, 此函数可以搜索字符串中的特定字符. 单词通常通过空格分隔开来, 所以你决定计算空格数并加1来作为单词的数量. -Here's the code for that function: +下面是实现的代码 ``` function wc(words,delimiter) @@ -118,20 +118,20 @@ function wc(words,delimiter) end ``` -These are the components of that sample code: +下面是这个样例代码的解释 -- `function`: A keyword declaring the start of a function. A custom function works basically the same way as built-in functions (like `print` and `string.len`.) -- `words` and `delimiter`: Arguments required for the function to run. In the statement `print('hello')`, the word `hello` is an argument. -- `counter`: A variable set to 1. -- `for`: A loop using the `string.gmatch` function as it iterates over the `words` you've input into the function, and searches for the `delimiter` you've input. -- `count = count +1`: For each `delimiter` found, the value of `count` is re-set to its current value plus 1. -- `end`: A keyword ending the `for` loop. -- `return count`: This function outputs (or returns) the contents of the `count` variable. -- `end`: A keyword ending the function. +- `function`: 这是声明函数开始的关键字. 自定义函数的工作方式与内置函数(如`print`和`string.len`)基本相同 +- `words`和`delimiter`: 这是函数运行所需的参数. 正如`print('hello')`当中, `hello`是一个参数 +- `counter`: 一个变量, 且被初始化为1 +- `for`: 在循环中使用`string.gmatch`作为迭代器遍历`words`, 并且在其中搜索`delimiter` +- `count = count +1`: 当搜索到了`delimiter`, 则对`count`进行自增1的操作 +- `end`: `for`循环的结束关键字 +- `return count`: 这个函数输出(或返回)`count`变量的内容 +- `end`: 函数结束的关键字 -Now that you've created a function all your own, you can use it. That's an important thing to remember about a function. It doesn't run on its own. It waits for you to call it in your code. +现在你已经创建了一个函数, 你可以使用它. 需要记住, 函数不会自动运行, 而是等待你在代码中调用它. -Type this sample code into a text file and save it as `words.lua`: +将下面的代码写入文件并保存为`words.lua` ``` function wc(words,delimiter) @@ -152,7 +152,7 @@ result = wc('can you find the bug? ', ' ') print(result) ``` -You've just created a Lua script. You can run it with Lua. Can you find the problem with this method of counting words? +你现在创建了一个Lua脚本. 你可以使用Lua运行它. 随后你会发现统计单词的结果有些问题 ``` $ lua ./words.lua @@ -161,11 +161,11 @@ $ lua ./words.lua 6 ``` -You might notice that the count is incorrect for the final phrase because there's a trailing space in the argument. Lua correctly detected the space and tallied it into `count`, but the word count is incorrect because that particular space happens not to delimit a word. I leave it to you to solve that problem, or to find other ways in which this method isn't ideal. There's a lot of rumination in programming. Sometimes it's purely academic, and other times it's a question of whether an application works at all. +你也许已经注意到了最后一个句子的单词统计不正确, 因为在句子的最后带有一个额外的空格. Lua正确的检测到了空格, 并将其计入`count`中, 但是单子的统计是错误的, 因为有个空格并没有作为单词的分隔出现. 我把这个问题留给你来解决, 或者去发现其他方法, 即使这个方法不太理想. 编程中有很多需要思考的地方. 有时是纯粹学术性的思考, 有时也许是应用是否运训正常的思考. -### Learning Lua +### 学习Lua -Lua is a fun and robust language, with progressive improvements made with each release, and an ever-growing developer base. You can use Lua as a utilitarian language for personal scripts, or to advance your career, or just as an experiment in learning a new language. Give it a try, and see what Lua brings to the table. +Lua是一个有趣且强大的语言, 随着版本的推进, 功能愈发的强大, 开发者也在不断的增长. 你可以将Lua作为实用性的个人脚本使用, 或者在工作中使用, 或者仅仅是体验一下一个新的语言. 尝试一下, 看看Lua能给你带来什么吧. -------------------------------------------------------------------------------- @@ -173,7 +173,7 @@ via: https://opensource.com/article/22/11/lua-worth-learning 作者:[Seth Kenlon][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[MuggleWei](https://github.com/MuggleWei) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From a1fb2212b8a575b322c0b188ae4f45447ed3b211 Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Thu, 10 Nov 2022 11:32:26 +0800 Subject: [PATCH 360/925] move tech/20221103.0 Is Lua worth learning.md to translated --- .../20221103.0 ⭐️⭐️ Is Lua worth learning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {sources/tech => translated}/20221103.0 ⭐️⭐️ Is Lua worth learning.md (97%) diff --git a/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/translated/20221103.0 ⭐️⭐️ Is Lua worth learning.md similarity index 97% rename from sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md rename to translated/20221103.0 ⭐️⭐️ Is Lua worth learning.md index 49d6fc7c30..70c83a953f 100644 --- a/sources/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md +++ b/translated/20221103.0 ⭐️⭐️ Is Lua worth learning.md @@ -16,7 +16,7 @@ Lua是一个脚本语言, 它面向过程, 函数式编程, 甚至可以是[面 虽然与[Python][2]和[JavaScript][3]相比, Lua现在已经有点儿黯然失色了, 但是Lua拥有的一些优点使得它在许多的重大软件项目中很受欢迎. Lua很容易嵌入到其他语言当中, 这意味着你可以在(例如)Java编写的代码中包含Lua文件, 就像原生的Java代码一样运行. 这听起来就像魔法一般, 现在有许多项目如[luaj][4]使得其成为可能, 之所以可以实现, 正是因为Lua就是为此而设计的. 正因这部分的灵活性, 你可以在许多游戏, 图形应用的程序中发现Lua脚本的身影. -就像其他任何事情一样, 做到完美是需要时间的, 但是Lua是很易于学习(并且有趣)的语言. 它是一种一致性的语言, 一种带有有用的错误消息的友好的语言, 并且可以在网上轻松找到许多有用的资料. 那么就让我们开始吧! +就像其他任何事情一样, 做到完美是需要时间的, Lua是很易于学习(并且有趣)的语言. 它是一种一致性的语言, 一种带有有用的错误消息的友好的语言, 并且可以在网上轻松找到许多有用的资料. 那么就让我们开始吧! ### 安装Lua From b2ed67a289c8053fe48bfe7f8c85337cba55f263 Mon Sep 17 00:00:00 2001 From: Donkey Date: Thu, 10 Nov 2022 11:44:53 +0800 Subject: [PATCH 361/925] PR --- ...0221020.7 ⭐️ 4 open source editors I use for my writing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md index 91ac8e2066..d544839c70 100644 --- a/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md +++ b/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/open-source-editors" [#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Donkey-Hao" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -42,7 +42,7 @@ via: https://opensource.com/article/22/10/open-source-editors 作者:[Alan Formy-Duval][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Donkey-Hao](https://github.com/Donkey-Hao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From dfb13c142051e552e8fe3fae3dde8a4c58d49cdc Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Thu, 10 Nov 2022 20:29:49 +0800 Subject: [PATCH 362/925] =?UTF-8?q?Rename=20translated/20221103.0=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Is=20Lua=20worth=20learn?= =?UTF-8?q?ing.md=20to=20translated/tech/20221103.0=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Is=20Lua=20worth=20learning.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- translated/{ => tech}/20221103.0 ⭐️⭐️ Is Lua worth learning.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename translated/{ => tech}/20221103.0 ⭐️⭐️ Is Lua worth learning.md (100%) diff --git a/translated/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md similarity index 100% rename from translated/20221103.0 ⭐️⭐️ Is Lua worth learning.md rename to translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md From 3560542752ba08087c58d3b23cd071b51c14f389 Mon Sep 17 00:00:00 2001 From: FYJNEVERFOLLOWS Date: Thu, 10 Nov 2022 20:37:27 +0800 Subject: [PATCH 363/925] translated1110 --- ...files with this versatile Linux command.md | 183 ++++++++---------- 1 file changed, 83 insertions(+), 100 deletions(-) diff --git a/sources/tech/20210202 Convert audio files with this versatile Linux command.md b/sources/tech/20210202 Convert audio files with this versatile Linux command.md index a9d1803e4e..fea685931d 100644 --- a/sources/tech/20210202 Convert audio files with this versatile Linux command.md +++ b/sources/tech/20210202 Convert audio files with this versatile Linux command.md @@ -7,85 +7,75 @@ [#]: via: (https://opensource.com/article/20/2/linux-sox) [#]: author: (Klaatu https://opensource.com/users/klaatu) -Convert audio files with this versatile Linux command +使用这个多功能的 Linux 命令转换音频文件 ====== -SoX Sound Exchange can even add effects to your audio files. +SoX Sound Exchange 甚至可以为您的音频文件添加特效。 ![HiFi vintage stereo][1] -I work with media, and when you work with any kind of media, you learn pretty quickly that standardization is a valuable tool. Just as you wouldn't try to add a fraction to a decimal without converting one or the other, I've learned that it's not ideal to combine media of differing formats. Most hobbyist-level applications make the conversion process invisible to the user as a convenience. Flexible software aimed at users needing control over the fine details of their assets, however, often leave it up to you to convert your media to your desired format in advance. I have a few favorite tools for conversion, and one of those is the so-called _Swiss army knife of sound_, [SoX][2]. +我与媒体打交道,当你与任何一种媒体打交道时,你很快就会知道标准化是一种有价值的工具。就像你不会试图在不转换其中一个或另一个的情况下将分数加到小数中一样,我已经了解到组合不同格式的媒体并不是理想的。为了方便用户,大多数爱好者级应用程序使转换过程不可见。然而,对于那些需要控制媒体细节的用户的灵活软件,会通常让你自己提前将媒体转换为所需的格式。我有一些最喜欢的音频转换工具,其中之一就是号称“声音的瑞士军刀” —— [SoX][2]。 -### Installing +### 安装 +在 Linux 或 BSD 上,可以从软件存储库或端口树中安装 **sox** 命令(和一些有用的符号链接)。 -On Linux or BSD, you can install the **sox** command (and some helpful symlinks) from your software repository or ports tree. +你也可以从 [Sourceforge.net][3] 上安装 SoX。它不经常发布,但它的代码库往往是稳定的,所以如果你想要最新的功能(如 Opus 支持),构建它是容易和安全的。 -You can also install SoX from its home on [Sourceforge.net][3]. It doesn't release often, but its codebase tends to be stable, so if you want the latest features (such as Opus support), it's easy and safe to build. +SoX 主要提供了 **SoX** 命令,但是安装 SoX 也创建了一些有用的符号链接:**play**、**rec** 和 **soxi**。 -SoX provides primarily the **sox** command, but installation also creates a few useful symlinks: **play**, **rec**, and **soxi**. - -### Getting information about files with SoX - -SoX reads and rewrites audio data. Whether it stores the rewritten audio data is up to you. There are use cases in which you don't need to store the converted data, for instance, when you're sending the output directly to your speakers for playback. Before doing any conversion, however, it's usually a good idea to determine exactly what you're dealing with in the first place. - -To gather information about an audio file, use the **soxi** command. This is a symlink to **sox --info**. +### 使用 SoX 获取有关文件的信息 +SoX 读取和重写音频数据。它是否存储重写的音频数据取决于你。在有些情况下,你不需要存储转换后的数据,例如,当你将输出直接发送到扬声器进行回放时。然而,在进行任何转换之前,最好首先确定要处理的是什么。 +使用 **soxi** 命令也可以收集音频文件信息。**soxi** 会符号链接到 **soxi--info**。 ``` $ soxi countdown.mp3 -Input File     : '/home/tux/countdown.mp3' -Channels       : 1 -Sample Rate    : 44100 -Precision      : 16-bit -Duration       : 00:00:11.21 = 494185 samples... -File Size      : 179k -Bit Rate       : 128k -Sample Encoding: MPEG audio (layer I, II or III) +Input File(输入文件)    : '/home/tux/countdown.mp3' +Channels(通道数)       : 1 +Sample Rate(采样率)    : 44100 +Precision(数据精度)      : 16-bit(16 比特) +Duration(时长)       : 00:00:11.21 = 494185 samples...(11.21 秒 = 494185 采样点) +File Size(文件大小)      : 179k +Bit Rate(比特率)       : 128k +Sample Encoding(编码格式): MPEG audio (layer I, II or III) ``` -This output gives you a good idea of what codec the audio file is encoded in, the file length, file size, sample rate, and the number of channels. Some of these you might _think_ you already know, but I never trust assumptions when media is brought to me by a client. Verify media attributes with **soxi**. +这个输出可以让你很好地了解音频文件的编码方式、文件长度、文件大小、采样率和通道数。其中一些你可能*认为*你已经知道了,但当客户把媒体带到我面前时,我从不相信这些假设。使用 **soxi** 验证媒体属性。 -### Converting files +### 转换文件 +在本例中,游戏节目的音频以 MP3 文件的形式展示倒计时。虽然几乎所有的编辑应用程序都接受压缩音频,但它们都没有真正编辑压缩数据。转换是在某个地方发生的,可能是一个秘密的后台任务,也可能是让你保存一份副本的提示。我通常喜欢自己提前完成转换。这样,我可以控制使用的格式。我可以在一夜之间批量制作大量的媒体,而不是浪费宝贵的制作时间,等待编辑应用程序按需浏览它们。 -In this example, the audio of a game show countdown has been delivered as an MP3 file. While nearly all editing applications accept compressed audio, none of them actually edit the compressed data. Conversion is happening somewhere, whether it's a secret background task or a prompt for you to save a copy. I generally prefer to do the conversion myself, in advance. This way, I can control what format I'm using. I can do lots of media in batches overnight instead of wasting valuable production time waiting for an editing application to churn through them on demand. - -The **sox** command is meant for converting audio files. There are a few stages in the **sox** pipeline: - - * input - * combine - * effects - * output - - - -In command syntax, the effects step is, confusingly, written _last_. That means the pipeline is composed this way: +**sox** 命令用于转换音频文件。在 **sox** 流程中有几个阶段: + * 输入 + * 合并 + * 特效 + * 输出 +在命令语法中,特效步骤令人困惑地写到*最后一步*。这意味着 **sox** 流程是这样组成的: ``` -`input → combine → output → effects` +输入 → 合并 → 输出 → 特效 ``` -### Encoding - -The simplest conversion command involves only an input file and an output file. Here's the command to convert an MP3 file to a lossless FLAC file: +### 编码 +最简单的转换命令只涉及一个输入文件和一个输出文件。下面是转换 MP3 文件为无损 FLAC 文件的命令: ``` $ sox countdown.mp3 output.flac $ soxi output.flac -Input File     : 'output.flac' -Channels       : 1 -Sample Rate    : 44100 -Precision      : 16-bit -Duration       : 00:00:11.18 = 493056 samples... -File Size      : 545k -Bit Rate       : 390k -Sample Encoding: 16-bit FLAC -Comment        : 'Comment=Processed by SoX' +Input File(输入文件)     : 'output.flac' +Channels(通道数)       : 1 +Sample Rate(采样率)    : 44100 +Precision(数据精度)      : 16-bit(16 比特) +Duration(时长)       : 00:00:11.18 = 493056 samples...(11.18 秒 = 493056 采样点) +File Size(文件大小)      : 545k +Bit Rate(比特率)       : 390k +Sample Encoding(编码格式): 16-bit FLAC +Comment(注释)        : 'Comment=Processed by SoX' ``` -#### Effects - -The effects chain is specified at the end of a command. It can alter audio prior to sending the data to its final destination. For instance, sometimes audio that's too loud can cause problems during conversion: +#### 特效 +特效可以在命令末尾指定。它可以在将数据发送到最终目的地之前更改音频。例如,有时声音太大会在转换过程中造成问题: ``` @@ -93,106 +83,99 @@ $ sox bad.wav bad.ogg sox WARN sox: `bad.ogg' output clipped 126 samples; decrease volume? ``` -Applying a **gain** effect can often solve this problem: +应用**增益** (gain) 效果通常可以解决此问题: ``` `$ sox bad.wav bad.ogg gain -1` ``` -#### Fade +#### 淡入淡出 +另一个常用的效果是**淡入淡出**。此效果允许你定义淡入或淡出的形状,以及你希望淡入淡出效果持续的时间。 -Another useful effect is **fade**. This effect lets you define the shape of a fade-in or fade-out, along with how many seconds you want the fade to span. - -Here's an example of a six-second fade-in using an inverted parabola: +下面是一个使用倒抛物线的 6 秒淡入示例: ``` `$ sox intro.ogg intro.flac fade p 6` ``` -This applies a three-second fade-in to the head of the audio and a fade-out starting at the eight-second mark (the intro music is only 11 seconds, so the fade-out is also three-seconds in this case): - +这将对音频的头部应用 3 秒的淡入,并从 8 秒标记开始淡出(介绍音乐只有 11 秒,因此在这种情况下淡出也是3秒): ``` `$ sox intro.ogg intro.flac fade p 3 8` ``` -The different kinds of fades (sine, linear, inverted parabola, and so on), as well as the options **fade** offers (fade-in, fade-out), are listed in the **sox** man page. +**sox** 手册页中列出了不同类型的淡入淡出(正弦、线性、倒抛物线等)以及**淡入淡出提供的选项。 -#### Effect syntax +#### 特效语法 +每个特效插件都有自己的语法,因此请参阅手册页了解如何调用每个特效插件的详细信息。要做到这一点,你需要一个图形声波编辑器或数字音频工作站,例如 [LMMS][4] 或 [Rosegarden][5]。但是,如果你只想应用一次特效,可以在同一命令中将它们一起列出。 -Each effect plugin has its own syntax, so refer to the man page for details on how to invoke each one. - -Effects can be daisy-chained in one command, at least to the extent that you want to combine them. In other words, there's no syntax to apply a **flanger** effect only during a six-second fade-out. For something that precise, you need a graphical sound wave editor or a digital audio workstation such as [LMMS][4] or [Rosegarden][5]. However, if you just have effects that you want to apply once, you can list them together in the same command. - -This command applies a -1 **gain** effect, a tempo **stretch** of 1.35, and a **fade-out**: +此命令应用 -1 的**增益**效果、1.35 的速度**拉伸**和**淡入淡出**: ``` $ sox intro.ogg output.flac gain -1 stretch 1.35 fade p 0 6 $ soxi output.flac -Input File     : 'output.flac' -Channels       : 1 -Sample Rate    : 44100 -Precision      : 16-bit -Duration       : 00:00:15.10 = 665808 samples... -File Size      : 712k -Bit Rate       : 377k -Sample Encoding: 16-bit FLAC -Comment        : 'Comment=Processed by SoX' +Input File(输入文件)     : 'output.flac' +Channels(通道数)       : 1 +Sample Rate(采样率)    : 44100 +Precision(数据精度)      : 16-bit(16 比特) +Duration(时长)       : 00:00:15.10 = 665808 samples...(15.10 秒 = 665808 采样点) +File Size(文件大小)      : 712k +Bit Rate(比特率)       : 377k +Sample Encoding(编码格式): 16-bit FLAC +Comment(注释)        : 'Comment=Processed by SoX' ``` -### Combining audio +### 组合音频 +SoX 还可以通过连接或混合音频文件来组合音频文件。 -SoX can also combine audio files, either by concatenating them or by mixing them. - -To join (or _concatenate_) files into one, provide more than one input file in your command: +要连接(或*拼接*)文件合并为一个文件,请在命令中提供多个输入文件: ``` `$ sox countdown.mp3 intro.ogg output.flac` ``` -In this example, **output.flac** now contains **countdown** audio, followed immediately by **intro** music. +在本例中,**output.flac** 现在包含 **倒计时** 音频,紧接着是**简介** 音乐。 -If you want the two tracks to play over one another at the same time, though, you can use the **\--combine mix** option: +但是,如果你希望两首曲目同时播放,可以使用 **\--combine mix** 选项: ``` `$ sox --combine mix countdown.mp3 intro.ogg output.flac` ``` -Imagine, however, that the two input files differed in more than just their codecs. It's not uncommon for vocal tracks to be recorded in mono (one channel), but for music to be recorded in at least stereo (two channels). SoX won't default to a solution, so you have to standardize the format of the two files yourself first. +然而,想象一下,这两个输入文件的不同之处不仅仅在于它们的编解码器。声音用单声道(一个声道)录制并不少见,但音乐要用立体声(至少两个声道)来录制。SoX 不会给出默认的解决方案,因此你必须首先自己标准化这两个文件的格式。 -#### Altering audio files - -Options related to the file name listed _after_ it. For instance, the **\--channels** option in this command applies _only_ to **input.wav** and NOT to **example.ogg** or **output.flac**: +#### 更改音频文件 +选项只与后面列出的文件名相关。例如,此命令中的 **\--channels** 选项将*仅仅*应用于 **input.wav**,而*不被*应用于 **example.ogg** 和 **output.flac**: ``` `$ sox --channels 2 input.wav example.ogg output.flac` ``` -This means that the position of an option is very significant in SoX. Should you specify an option at the start of your command, you're essentially only overriding what SoX gleans from the input files on its own. Options placed immediately before the _output_ file, however, determine how SoX writes the audio data. +这意味着在 SoX 中,选项的位置非常重要。如果你在命令开始时指定一个选项,那么实际上只会覆盖 SoX 自己从输入文件中收集的内容。然而,在*输出文件*名 前的选项决定了 SoX 如何写入音频数据。 -To solve the previous problem of incompatible channels, you can first standardize your inputs, and then mix: +要解决以前的不兼容通道问题,你可以首先标准化输入,然后混合: ``` $ sox countdown.mp3 --channels 2 countdown-stereo.flac gain -1 $ soxi countdown-stereo.flac -Input File     : 'countdown-stereo.flac' -Channels       : 2 -Sample Rate    : 44100 -Precision      : 16-bit -Duration       : 00:00:11.18 = 493056 samples... -File Size      : 545k -Bit Rate       : 390k -Sample Encoding: 16-bit FLAC -Comment        : 'Comment=Processed by SoX' +Input File(输入文件)     : 'countdown-stereo.flac' +Channels(通道数)       : 2 +Sample Rate(采样率)    : 44100 +Precision(数据精度)      : 16-bit(16 比特) +Duration(时长)       : 00:00:11.18 = 493056 samples...(11.18 秒 = 493056 采样点) +File Size(文件大小)      : 545k +Bit Rate(比特率)       : 390k +Sample Encoding(编码格式): 16-bit FLAC +Comment(注释)        : 'Comment=Processed by SoX' $ sox --combine mix \ countdown-stereo.flac \ @@ -200,11 +183,11 @@ intro.ogg \ output.flac ``` -SoX absolutely requires multiple commands for complex actions, so it's normal to create several temporary and intermediate files as needed. +SoX 绝对需要多个命令来执行复杂的操作,因此根据需要创建几个临时和中间文件是正常的。 -### Multichannel audio +### 多通道音频 -Not all audio is constrained to one or two channels, of course. If you want to combine several audio channels into one file, you can do that with SoX and the **\--combine merge** option: +当然,并非所有音频都被限制在一个或两个声道。如果您想将多个音频通道组合成一个文件,可以使用 SoX 和 **\--combine merge** 选项: ``` @@ -216,9 +199,9 @@ Channels       : 3 [...] ``` -### Easy audio manipulation +### 简单的音频操作 -It might seem strange to work with audio using no visual interface, and for some tasks, SoX definitely isn't the best tool. However, for many tasks, SoX provides an easy and lightweight toolkit. SoX is a simple command with powerful potential. With it, you can convert audio, manipulate channels and waveforms, and even generate your own sounds. This article has only provided a brief overview of its capabilities, so go read its man page or [online documentation][2] and then see what you can create. +在没有视觉界面的情况下操作音频似乎很奇怪,而且对于某些任务来说,SoX 绝对不是最好的工具。然而,对于许多任务,SoX 提供了一个简单而轻量级的工具包。SoX 是一个具有强大潜力的简单命令。有了它,你可以转换音频,操纵通道和波形,甚至生成自己的声音。本文仅简要概述了其功能,因此请阅读其手册页或[在线文档][2],然后看看你能创造什么。 -------------------------------------------------------------------------------- From d17f82a7d298c08668a3345de93bdd62fe10cd28 Mon Sep 17 00:00:00 2001 From: FYJNEVERFOLLOWS Date: Thu, 10 Nov 2022 20:39:30 +0800 Subject: [PATCH 364/925] move --- ...10202 Convert audio files with this versatile Linux command.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20210202 Convert audio files with this versatile Linux command.md (100%) diff --git a/sources/tech/20210202 Convert audio files with this versatile Linux command.md b/translated/tech/20210202 Convert audio files with this versatile Linux command.md similarity index 100% rename from sources/tech/20210202 Convert audio files with this versatile Linux command.md rename to translated/tech/20210202 Convert audio files with this versatile Linux command.md From b06e3c954df88b89b55f37ae84c40f994158efcd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 10 Nov 2022 23:48:47 +0800 Subject: [PATCH 365/925] RP @Cubik65536 https://linux.cn/article-15239-1.html --- ...ate Editor is Getting Four New Awesome Features.md | 54 ++++++++----------- 1 file changed, 23 insertions(+), 31 deletions(-) rename {translated/news => published}/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md (68%) diff --git a/translated/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/published/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md similarity index 68% rename from translated/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md rename to published/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md index e40e79595e..a7e33280c5 100644 --- a/translated/news/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md +++ b/published/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md @@ -3,45 +3,43 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15239-1.html" -Kate 文本编辑器获得了四个非常棒的新功能 +Kate 文本编辑器增加了四个非常棒的新功能 ====== -由 KDE 开发的功能丰富的文本编辑器正在变得更好和更有用! +> 这个由 KDE 开发的功能丰富的文本编辑器正在变得更好和更有用! ![Kate 文本编辑器获得了四个非常棒的新功能][1] -[Kate 文本编辑器][2] 是一个不断发展和强大的开源文本编辑器,它是微软专有的 Visual Studio Code 应用程序的替代品。 +[Kate 文本编辑器][2] 是一个不断发展和强大的开源文本编辑器,它可以作为微软的 Visual Studio Code 应用程序的替代品。 它可以在 Linux、Windows 和 macOS 上使用。 -这个代码编辑器在 2021 年获得了重大升级,这可能使它成为了 KDE 面对微软所提供的产品交出的答卷。 +这个代码编辑器在 2021 年进行了重大升级,这可能使它成为了 KDE 对微软产品的回应。 在即将到来的 Kate 和 KWrite 22.12 版本上,他们的目标是添加许多非常有用的功能。 来简单看看我们可以从 Kate 中期待什么。 -### 🆕 Kate Editor: 新增功能 +### 🆕 Kate Editor 的新增功能 -如果你读过 [Nate 的博客][3] 来了解 KDE 的改进,你可能已经知道了 KDE Plasma 和应用程序即将获得的升级。 +如果你读了 [Nate 的博客][3] 了解 KDE 的改进,你可能已经知道了 KDE Plasma 和应用程序即将获得的升级。 但是,我想强调一些 Kate 22.12 将会带来的令人激动的新功能: -- **对 Qt Widgets 的支持** -- **更新的欢迎页面** -- **Git 差异查看器** -- **配置标签页** -- **剪切板历史** +- 对 Qt 部件的支持 +- 更新的欢迎页面 +- Git 差异查看器 +- 配置标签页 +- 剪切板历史 #### 欢迎页面 ![kate 22.12 欢迎页面][4] -图片来源:KDE - 和许多其他 [KDE 应用程序][6] 一样,Kate 现在将显示一个欢迎页面,该页面将欢迎用户并显示创建或打开文件、启动新会话、查看最近的文档等选项。 对于不喜欢这个页面的用户,欢迎页面上将提供一个选项,以在新窗口上禁用欢迎页面。 @@ -50,38 +48,32 @@ Kate 文本编辑器获得了四个非常棒的新功能 ![kate 22.12 git 差异支持][6] -图片来源:KDE +Kate 终于增加了对显示 git-diff 的支持;用户将能够比较他们的代码以检查差异,并找到那些令人讨厌的、会导致他们的应用程序无法正常运行错误。 -Kate 终于增加了对显示 git-diff 的支持;用户将能够比较他们的代码以检查差异并找到那些令人讨厌的,会导致他们的应用程序无法正常运行 bug。 - -用户也可以从多种视图中进行选择,例如合并、并排和原始文件。 +用户也可以从多种视图中进行选择,例如统一视图、并排视图和原始视图。 #### 新的剪贴板历史粘贴对话框 ![kate 22.12 剪贴板历史][7] -图片来源:KDE - Kate 现在添加了一个新的对话框,在粘贴的时候显示用户剪贴板内容的列表。 -当你在多行代码之间切换时,这可能会很有用,因为你不想丢失重要的内容。 +当你在多行代码之间切换,而又不想丢失重要的内容时,这可能会很有用。 #### 配置标签页 ![kate 22.12 配置标签页][8] -图片来源:KDE - -Kate 也将添加一个配置标签页,让用户可以更改重要的设置,并添加一个搜索栏,使用户可以快速查找特定的设置。 +Kate 也将添加一个配置标签页,让用户可以更改重要的设置,并添加了一个搜索栏,使用户可以快速查找特定的设置。 #### 🛠️ 其他变更和改进 Kate 22.12 将带来的其他值得注意的改进包括: -- **优化的状态栏** -- **对构建插件的改进** -- **可移动的侧边栏按钮** -- **对窗口处理的改进** +- 优化的状态栏 +- 对构建插件的改进 +- 可移动的侧边栏按钮 +- 对窗口处理的改进 Kate 正在成为微软的 [Visual Studio Code][9] 的合适替代品,并且自 2021 年大规模重构以来已经取得了很大的进步。 @@ -96,7 +88,7 @@ via: https://news.itsfoss.com/kate-editor-22-12-features/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 35916c691e506224c58f130c79d66d3932b61e8c Mon Sep 17 00:00:00 2001 From: Cubik Date: Thu, 10 Nov 2022 18:05:20 -0500 Subject: [PATCH 366/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7][?= =?UTF-8?q?tech]:=2020221109.6=20=E2=AD=90=EF=B8=8F=20Using=20Python=20in?= =?UTF-8?q?=20VS=20Code=20and=20Codium.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md index f3852a3bc9..73ee51ffb7 100644 --- a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md +++ b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/python-vs-code-codium" [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -97,7 +97,7 @@ via: https://opensource.com/article/22/11/python-vs-code-codium 作者:[Don Watkins][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From bcb39c58b9f425d0dd3325f8591688c1f52c2065 Mon Sep 17 00:00:00 2001 From: fuyanjie Date: Fri, 11 Nov 2022 08:40:15 +0800 Subject: [PATCH 367/925] update1111 --- ... Record Audio in Linux With Audacity -and Reduce Noise-.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md b/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md index b32cba6876..6fa3cf4c43 100644 --- a/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md +++ b/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/audacity-recording/" [#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "FYJNEVERFOLLOWS " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -113,7 +113,7 @@ via: https://itsfoss.com/audacity-recording/ 作者:[Anuj Sharma][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 932eb382f286f3daeb4a329e12b7b5a08128b336 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 11 Nov 2022 08:42:41 +0800 Subject: [PATCH 368/925] translated --- ...d Systemd or Any Other init System in Linux.md | 81 ------------------ ...d Systemd or Any Other init System in Linux.md | 82 +++++++++++++++++++ 2 files changed, 82 insertions(+), 81 deletions(-) delete mode 100644 sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md create mode 100644 translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md diff --git a/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md deleted file mode 100644 index d8693c87a6..0000000000 --- a/sources/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md +++ /dev/null @@ -1,81 +0,0 @@ -[#]: subject: "How to Find Systemd or Any Other init System in Linux" -[#]: via: "https://www.debugpoint.com/systemd-or-init/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Find Systemd or Any Other init System in Linux -====== - -**Here’s how you can determine if you are running systems or any other init system in your Linux distribution.** - -The first process, which starts when you boot up your Linux distribution, is called init (short for initialization). It has the process identifier 1 (i.e. pid=1). All the processes and applications in your Unix-based system are direct descendants of this init process. - -Based on functionality and features, different types of init processes are present. For example, [systemd][1], Runit, OpenRC, sysVinit, etc. Among those, the systemd is the most popular and modern one, which is used and adopted by all the modern Linux distributions, including Ubuntu and Fedora. - -There are ongoing debates about Systemd and its performance compared to the traditional Unix-based init systems. But that’s a topic for another article. - -let’s find out how you can determine whether you are running a systemd or any other init system in your Linux distribution. - -### Systemd or what init system? - -Unfortunately, there’s no direct command to find it out. You can trace it back from the init process id=1, which is basically a symbolic link to `/sbin/init` i.e. pid=1. - -Use `[strings][2]` command to print the text embedded in the binary file `/sbin/init` & search for init with the following command. - -``` -strings /sbin/init | grep init -``` - -**Example 1**: In this below output where it’s a sysVinit system running Debian (via Peppermint OS). As you can see, it clearly shows the init process name. - -``` -strings /sbin/init | grep init -``` - -![example showing the init is used and not systemd][3] - -If you find systemd in the same above system, there won’t be any entries. Hence you can conclude that you are running sysvinit and not systemd. - -**Example 2**: If you run the above command in a systemd system, you can easily see the systemd and its version at the first line of the output. - -``` -strings /sbin/init | grep systemd -``` - -![example showing it uses systemd][4] - -**Example 3**: You can also try to print the process tree using `pstree` command, which should show you the first process name. It should be either systemd or init, as shown in the below example. - -``` -pstree -``` - -![pstree is showing systemd is used][5] - -![pstree is showing init is used][6] - -That’s it. This is how you can easily find out whether your distro uses systemd or something else. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/systemd-or-init/ - -作者:[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/tag/systemd -[2]: https://linux.die.net/man/1/strings -[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-the-init-is-used-and-not-systemd.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-it-uses-systemd.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-systemd-is-used.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-init-is-used.jpg diff --git a/translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md new file mode 100644 index 0000000000..33f26da1f0 --- /dev/null +++ b/translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md @@ -0,0 +1,82 @@ +[#]: subject: "How to Find Systemd or Any Other init System in Linux" +[#]: via: "https://www.debugpoint.com/systemd-or-init/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中查找 Systemd 或任何其他 init 系统 +====== + +**你可以通过以下方式确定你的 Linux 发行版中是否正在运行系统或任何其他 init 系统。** + +第一个进程在你启动 Linux 发行版时开始,称为 init(初始化的缩写)。它的进程标识符为 1(即 pid=1)。基于 Unix 的系统中的所有进程和应用程序都是这个 init 进程的直接后代。 + +根据功能和特性,存在不同类型的初始化进程。例如,[systemd][1]、Runit、OpenRC、sysVinit 等。其中,systemd 是最流行和最现代的一种,被包括 Ubuntu 和 Fedora 在内的所有现代 Linux 发行版使用和采用。 + +与传统的基于 Unix 的 init 系统相比,Systemd 及其性能一直存在争议。但这是另一篇文章的主题。 + +让我们看看如何确定在 Linux 发行版中运行的是 systemd 还是任何其他 init 系统。 + +### systemd 还是什么 init 系统? + +不幸的是,没有直接的命令可以找到它。你可以从初始化进程 id=1 追溯它,它基本上是到 `/sbin/init` 的符号链接,即 pid=1。 + +使用 `[strings][2]` 命令打印嵌入在二进制文件 `/sbin/init` 中的文本并使用以下命令搜索 init。 + + +``` +strings /sbin/init | grep init +``` + +**示例 1**:在下面的输出中,它是一个运行 Debian(通过 Peppermint OS)的 sysVinit 系统。如你所见,它清楚地显示了 init 进程名称。 + +``` +strings /sbin/init | grep init +``` + +![显示使用 init 而不是 systemd 的示例][3] + +如果在上述同一个系统中找到 systemd,那么不会有任何条目。因此,你可以得出结论,你正在运行 sysvinit 而不是 systemd。 + +**示例 2**:如果你在 systemd 系统中运行上述命令,你可以在输出的第一行轻松看到 systemd 及其版本。 + +``` +strings /sbin/init | grep systemd +``` + +![显示它使用 systemd 的示例][4] + +**示例 3**:你也可以尝试使用 `pstree` 命令打印进程树,它应该会显示第一个进程名称。它应该是 systemd 或 init,如下例所示。 + +``` +pstree +``` + +![pstree 显示使用 systemd][5] + +![pstree 显示使用 init][6] + +这就好了。这样你就可以轻松找出你的发行版是使用 systemd 还是其他的。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/systemd-or-init/ + +作者:[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/tag/systemd +[2]: https://linux.die.net/man/1/strings +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-the-init-is-used-and-not-systemd.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/example-showing-it-uses-systemd.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-systemd-is-used.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/pstree-is-showing-init-is-used.jpg From f491c2c8af05fd04017b3c51133375a7bd6f5b0f Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 11 Nov 2022 08:48:10 +0800 Subject: [PATCH 369/925] translating --- .../tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md index 117c015832..596bf99a97 100644 --- a/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md +++ b/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/fixing-scanned-images-imagemagick" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 8bf3e468932ae4f2afb59b4aa5819a065a3f9143 Mon Sep 17 00:00:00 2001 From: Cubik Date: Thu, 10 Nov 2022 21:24:38 -0500 Subject: [PATCH 370/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90][?= =?UTF-8?q?tech]:=2020221109.6=20=E2=AD=90=EF=B8=8F=20Using=20Python=20in?= =?UTF-8?q?=20VS=20Code=20and=20Codium.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 ⭐️ Using Python in VS Code and Codium.md | 70 ++++++++++--------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md index 73ee51ffb7..84e28d5b9f 100644 --- a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md +++ b/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md @@ -7,89 +7,93 @@ [#]: publisher: " " [#]: url: " " -Using Python in VS Code and Codium +在 VS Code 和 Codium 中使用 Python ====== -If you're looking for a good, general-purpose, open source code editor with Python integration, then you might give Codium a try. +如果你正在寻找一个优秀的、通用的、开源的、带有 Python 集成的代码编辑器,那么你可以尝试一下 Codium。 -Over the past couple of years, I have had the privilege of working with middle school children to introduce them to [Python coding][1] and the Raspberry Pi 400. It's been a lot of fun, and the Pi has been a great platform for the students and me. We've used [Code with Mu][2] and it's been quite successful. Our aptitude with Python has grown with experience, and so recently I started looking for ways to offer these students more. +在过去几年内,我有幸和中学生们一起,并带他们入门 [Python 开发][1] 和 Raspberry Pi 400。这一切都很有趣,Pi 对于学生和我来说都是一个很好的平台。我们使用了 [Code with Mu][2],并且一切都很成功。我们的 Python 技能随着经验的增长而增长,因此最近我开始寻找给这些学生提供更多东西的方法。 -I participated in a Python learning class, and during that class I got introduced to Microsoft's Visual Studio Code. I learned a lot in that class about how to set up a virtual environment for Python, and how to configure VS Code for Python programming. During that learning journey, I also got introduced to [Codium][3], which is essentially VS Code without Microsoft's branding and telemetry. +我参与了一个 Python 课程并在课程中接触了 Microsoft 的 Visual Studio Code。我在课程中学到了很多关于如何为 Python 设置虚拟环境以及如何为 Python 编程配置 VS Code 的知识。在学习过程中,我也认识了 [Codium][3],它本质上是 VS Code,但没有 Microsoft 的品牌和遥测。 -If you're looking for a good, general-purpose, open source code editor with Python integration, then you might give Codium a try. Here's how I got Codium set up for Python on my Linux system. +如果你正在寻找一个优秀的、通用的、开源的、带有 Python 集成的代码编辑器,那么你可以尝试一下 Codium。下面是我在 Linux 系统上为 Python 设置 Codium 的方法。 -### Install or update Python on Linux +### 在 Linux 上安装或更新 Python -First, make sure you are running the latest version of Python. You can do this with your package manager. On Debian and Debian-based systems: +首先,确保你正在运行最新版本的 Python。你可以使用你的软件包管理器来完成这项工作。在 Debian 和基于 Debian 的系统上: ``` $ sudo apt install python3-pip ``` -On Fedora, CentOS, Mageia, OpenMandriva, and similar: +在 Fedora、CentOS、Mageia、OpenMandriva 和类似的系统上: ``` $ sudo dnf update python3 ``` -On some systems, you may also need to install the software to create Python virtual environments: +在某些系统上,你可能还需要安装创建 Python 虚拟环境的软件: ``` $ sudo apt install python3.10-venv ``` -### Install Codium +### 安装 Codium -Next, [install Codium][4] on your computer. On Linux, you can download a package and install it with your package manager, or [use the Flatpak][5]. +接下来,在你的电脑上 [安装 Codium][4]。在 Linux 上,你可以下载一个包并使用你的包管理器安装它,或者 [使用 Flatpak][5]。 -To launch Codium once it's installed, open your application or Activities menu and type "Code". +在安装好 Codium 之后,打开你的应用程序或活动菜单,输入 “Code” 以启动它。 -### Install the VS Code Python extension +### 安装 VS Code Python 扩展 -There's nothing special about code. It's just plain text that gets interpreted by some other application, whether it's a compiler or a runtime. You can write Python code in Codium without special extensions. However, having a Python extension adds several conveniences. +代码其实不是什么特别的东西。它只是一些其他应用程序(编译器或运行时)解释的纯文本。你可以在 Codium 中编写 Python 代码而不需要特殊的扩展。但是,有一个 Python 扩展可以为你带来一些方便的功能。 -Click on the **File** menu, select **Preferences**, and choose **Extensions**. In the **Extensions** panel, find the Python IntelliSense extension. +点击**文件**菜单,选择**首选项**,然后选择**扩展**。在**扩展**面板中,搜索 Python IntelliSense 扩展。 -![VS Code and Codium have an extension manager that opens in the left column, allowing you to install add-on modules.][6] +![VS Code 和 Codium 都有一个扩展管理器,它会在页面左侧打开,允许你安装附加模块。][6] -You've got Python set up in Codium. All that's left to do is to put it to good use. +你已经在 Codium 中设置了 Python。剩下的就是把它用起来。 -### Setup a virtual environment for VS Code or Codium +### 为 VS Code 或 Codium 设置虚拟环境 -You can create a project directory and add it to Codium so that while you work, the files you create and save default to the active project directory. It's a fast way to stay organized, and it saves you from having to click around File Save and Open dialogues constantly. +我们可以创建一个项目目录并将其添加到 Codium 中,这样在工作时,你创建和保存的文件都将默认保存到活动项目目录。这是一种快速的管理方式,可以让你不必经常点击文件保存和打开对话框。 -When you create a virtual Python environment as a work folder, Codium (because you have the Python extension installed) detects it. When you activate a virtual environment folder as the active project directory, Codium automatically runs the activation code required to use the virtual environment. +在你创建一个虚拟 Python 环境作为工作目录时,Codium(因为你已经安装了 Python 扩展)会检测到它。当你激活一个虚拟环境文件夹作为活动项目目录时,Codium 会自动运行使用虚拟环境所需的激活代码。 -To create a virtual environment for Python, open a terminal and type: +要为 Python 创建一个虚拟环境,请打开终端并输入: ``` $ python3 -m venv ~/PythonCoding ``` -### Add a project directory +### 添加项目目录 -In Codium, click on the **File** menu and choose **Add Folder to Workspace**. Open the virtual environment you've just set up (for me, that's `/home/don/PythonCoding`.) +在 Codium 中,点击**文件**菜单,选择**将文件夹添加到工作区**。打开你刚刚设置的虚拟环境(对我来说,是 `/home/don/PythonCoding`)。 -Now you're ready to write some Python code! Create a new Python file in your workspace and insert some basic code. You may notice, as you type, that Codium helpfully suggests auto-completion for the Python modules the environment contains. +现在你已经准备好写一些 Python 代码了!在你的工作区中创建一个新的 Python 文件并插入一些基本代码。当你输入时,你可能会注意到,Codium 会为环境包含的 Python 模块提供自动补齐建议。 -``` -importsysprint("Codium running Python " + sys.version) +``` python +import sys +print("Codium running Python " + sys.version) ``` -Now click the **Play** button in the top right corner of the Codium window. This opens a console panel at the bottom of the window, displaying the output of your code: +现在点击 Codium 窗口右上角的**运行**按钮。这会在窗口底部打开一个控制台面板显示你的代码的输出: ``` -(PythonCode) sh-5.1$ /home/bogus/PythonCode/bin/python /home/bogus/PythonCode/app.py -Codium running Python 3.10.6 (main…)[GCC 12.1.0](PythonCode) sh-5.1$ +(PythonCode) sh-5.1$ /home/bogus/PythonCode/bin/python +/home/bogus/PythonCode/app.py +Codium running Python 3.10.6 (main…)[GCC 12.1.0] +(PythonCode) sh-5.1$ ``` -As you can see from this output, Codium is running within the `PythonCode` environment, and it's successfully run your Python code. +就像你从输出中看到的,Codium 在 `PythonCode` 环境中运行,并成功运行了你的 Python 代码。 -### Codium and Python +### Codium 和 Python -Using Codium for Python makes writing and running code easier than ever, but Python isn't the only language Codium supports. You can easily find and install other extensions from the [Open VSX Registry][7], a vendor-neutral open source "marketplace" for VS Code extensions. +使用 Codium 编写 Python 代码比以往任何时候都更容易,但 Python 并不是 Codium 支持的唯一语言。你可以轻松地从 [Open VSX Registry][7] 中找到并安装其他扩展,这是一个中立的开源 VS Code 扩展 “市场”。 + +Codium 的界面比一些基本的编辑器更复杂,但它有我在学习过程中所需要的东西。如果你需要一个更专业的编辑器,或者你想从当前的编辑器切换到新的编辑器,那么试试 Codium 吧。 -The Codium interface is more complicated than some basic editors, but it has what I'm looking for at this point in my learning journey. If you're looking to graduate to something professional, or you're looking to switch from your current editor to something new, then give Codium a try. -------------------------------------------------------------------------------- From 2c0df57e030eaca8228d023c680332dc31b86c0d Mon Sep 17 00:00:00 2001 From: Cubik Date: Thu, 10 Nov 2022 21:25:10 -0500 Subject: [PATCH 371/925] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?tech]:=2020221109.6=20=E2=AD=90=EF=B8=8F=20Using=20Python=20in?= =?UTF-8?q?=20VS=20Code=20and=20Codium.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md (100%) diff --git a/sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/translated/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md similarity index 100% rename from sources/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md rename to translated/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md From 122032fbfd5045fb243133fd79eb826dd3d44427 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 11 Nov 2022 13:10:26 +0800 Subject: [PATCH 372/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 这篇确实不好翻译,辛苦了。 --- ... are the Mascots of All Ubuntu Releases.md | 166 ++++++++++-------- 1 file changed, 93 insertions(+), 73 deletions(-) diff --git a/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md index 95a5fa019c..5c740a1cff 100644 --- a/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md +++ b/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md @@ -3,28 +3,34 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -对 Ubuntu 的热爱:Ubuntu 所有版本的吉祥物 +Ubuntu 所有版本的吉祥物 ====== -在这篇文章中,我们会介绍迄今为止所有 Ubuntu 发行版本的 吉祥物 mascot 。 +![](https://img.linux.net.cn/data/attachment/album/202211/11/130502q6500yvm0znvktz9.jpg) -你可能已经注意到了:每个 Ubuntu 版本都会有一个 版本名称 version name 代号 codename 。代号由两个单词组成,这两个单词有相同的首字母,第一个单词是形容词,另一个单词通常是一个濒危的物种名称。 +> 在这篇文章中,我们会介绍迄今为止所有 Ubuntu 发行版本的吉祥物。 -对应于其代号,这些 Ubuntu 版本也有一个吉祥物。例如,Ubuntu 22.04 的代号为 Jammy Jellyfish,因此 Ubuntu 22.04 的桌面壁纸上有 **吉祥物:水母** 的图像。 +你可能已经注意到了:每个 Ubuntu 版本都会有一个版本名称和代号。代号由两个单词组成,这两个单词有相同的首字母,第一个单词是形容词,另一个单词通常是一个濒危的物种名称。 + +对应于其代号,这些 Ubuntu 版本也有一个吉祥物。例如,Ubuntu 22.04 的代号为 “Jammy Jellyfish”,因此 Ubuntu 22.04 的桌面壁纸上有 **吉祥物:水母** 的图像。 但是实际上,这些“吉祥物”并不总是 Ubuntu 版本的一部分,因为吉祥物在早期的 Ubuntu 版本中是没有的。 -有史以来第一个 Ubuntu 版本是在 2004 年 10 月发布的 4.10 版(LCTT 译注:Ubuntu 的版本号是由年份和月份的组合来表示的。)但是,直到 Ubuntu 8.04 LTS Hardy Heron 版本,你才会看到相关的吉祥物。 +有史以来第一个 Ubuntu 版本是在 2004 年 10 月发布的 4.10 版(LCTT 译注:Ubuntu 的版本号是由年份和月份的组合来表示的。)但是,直到 Ubuntu 8.04 LTS “Hardy Heron” 版本,你才会看到相关的吉祥物。 在我之前写的 [另一篇文章][1] 中,我整理了所有 Ubuntu 版本的默认壁纸。在本文中,你将了解到所有 Ubuntu 版本的吉祥物。 现在,就让我们按时间倒序,一起进入 Ubuntu 的吉祥物之旅吧。 -### Ubuntu 22.04 Jammy Jellyfish(幸运的水母) +(LCTT 校注:本文原文发表时,Ubuntu 22.10 尚未发布,它的代号是 “Kinetic Kudu”,吉祥物是“捻角羚”。) + +(LCTT 校注:由于 Ubuntu 系列的代号和吉祥物选择的都是比较少见的动物和晦涩的描述,因此尽管译者和校对虽然尽力了,但是应该还有谬误。我觉得原文作者为了找出这些说明也尽力,恐怕真正权威的诠释只有 Canonical 才能给出吧。) + +### Ubuntu 22.04 Jammy Jellyfish(幸运水母) ![Ubuntu 22.04 mascot][2] @@ -32,9 +38,9 @@ Jammy 的意思是被果酱覆盖着的、充满果酱的。不太正式地,Jammy 还有**幸运**的意思。 -水母 Jellyfish 是一种自由游动的水生动物,它的身体就像是一把透明伞,还具有拖曳的触须。 +水母 Jellyfish 是一种自由游动的水生动物,它的身体就像是一把透明伞,还具有拖曳的触须。少数水母是通过茎干固定在海床上,而不能移动。全世界的海洋中有超过两百种的水母,它们分布于全球各地的水域里。 -### Ubuntu 21.10 Impish Indri(顽皮的大狐猴) +### Ubuntu 21.10 Impish Indri(顽皮大狐猴) ![Ubuntu 21.10 mascot][3] @@ -42,21 +48,25 @@ Jammy 的意思是被果酱覆盖着的、充满果酱的。不太正式地,Ja Impish 的意思是以**顽皮**而不是严肃的方式,对某人/某事不太尊重。 -大狐猴 Indri ,也称为 babakoto,是最大的狐猴之一。它的头身长约 64 至 72 厘米,体重在 6 至 9.5 公斤之间。它的毛发是黑白相间的。在攀爬或攀爬时,它会保持竖直的姿势。 +大狐猴 Indri ,也称为 babakoto,是现存的最大的狐猴之一。它的头身长约 64 至 72 厘米,体重在 6 至 9.5 公斤之间。它的毛发是黑白相间的。在攀爬或攀爬时,它会保持竖直的姿势。 -### Ubuntu 21.04 Hirsute Hippo(毛茸茸的河马) +> 据维基:2014 年的世界自然保护联盟(IUCN) 红色名录 Red List 中,仅出现在马达加斯加的大狐猴首次被提升至极危级别。 + +### Ubuntu 21.04 Hirsute Hippo(多毛河马) ![Ubuntu 21.04 mascot][4] 于 2021 年 4 月 22 日发布。 -Hirsute 的意思是多毛的、**毛茸茸的**。 +Hirsute 的意思是**多毛的**。 河马 Hippo ,是一种生活在非洲大陆撒哈拉以南的大型半水生哺乳动物。河马是河马科中仅有的两个现存物种之一,另一个物种是 侏儒河马 pygmy hippopotamus 。河马的名字来源于古希腊语“river horse”。 -但是其实,我并没有见过很多毛茸茸的河马😅。 +> 据维基:在 2006 年 5 月已被 IUCN 红色名录中分为易危物种,世界仅存约 12.5 万-15 万头 -### Ubuntu 20.10 Groovy Gorilla(时髦的大猩猩) +但是其实,我并没有见过很多多毛的河马 😅。 + +### Ubuntu 20.10 Groovy Gorilla(时髦大猩猩) ![Ubuntu 20.10 mascot][5] @@ -64,19 +74,19 @@ Hirsute 的意思是多毛的、**毛茸茸的**。 Groovy 的意思是**时尚的**和令人兴奋的。 -大猩猩 Gorilla ,是一种草​​食性的地面类人猿。它主要栖息在赤道非洲的热带森林中。大猩猩属分为两个物种:东部大猩猩和西部大猩猩,以及进一步可分为四个或五个亚种。 +大猩猩 Gorilla ,是一种草​​食性的地栖巨猿。它主要栖息在赤道非洲的热带森林中。大猩猩属分为两个物种:东部大猩猩和西部大猩猩,以及进一步可分为四个或五个亚种。 -### Ubuntu 20.04 LTS Focal Fossa(令人注目的狸猫) +### Ubuntu 20.04 LTS Focal Fossa(瞩目狸猫) -![Ubuntu 20.04 mascot 1][6] +![Ubuntu 20.04 mascot][6] 于 2020 年 4 月 23 日发布。 -Focal 的意思是**令人注目的**。 +Focal 的意思是令人注目的、**瞩目**。 马岛长尾狸猫 Fossa ,是**马达加斯加岛上最大的食肉性哺乳动物**。它身体的长度可以达到近六英尺,其中它们的长尾巴占了一半。它们看起来就像是猫、狗和獴的杂交体。它们有细长的身体、肌肉发达的四肢和短的红棕色毛发。 -### Ubuntu 19.10 Eoan Ermine(东方的貂) +### Ubuntu 19.10 Eoan Ermine(东方白鼬) ![Ubuntu 19.10 mascot][7] @@ -84,9 +94,11 @@ Focal 的意思是**令人注目的**。 Eoan 的意思是**与黎明或东方有关的**。 -白鼬 Stoat ,也被称为欧亚貂、白令貂,简称 Ermine ,是一种原产于欧亚大陆和北美北部的鼬科动物。由于鼬在极地广泛分布,因此它被列为是 世界自然保护联盟红色名录 IUCN Red List 中最不担忧灭绝的物种。 +白鼬 Stoat ,也被称为欧亚貂、白令貂,简称 Ermine ,是一种原产于欧亚大陆和北美北部的鼬科动物。由于鼬在极地广泛分布,因此它被 IUCN 列为最不担忧灭绝的物种。 -### Ubuntu 19.04 Disco Dingo(迪斯科野狗) +> 据维基:IUCN 将其列为世界百大外来入侵种。 + +### Ubuntu 19.04 Disco Dingo(迪斯科野犬) ![Ubuntu 19.04 mascot][8] @@ -96,7 +108,7 @@ Disco 与**迪斯科**音乐和夜总会有关。 澳洲野犬 Dingo ,是在澳大利亚发现的一种古老的犬种。澳洲野犬的科属分类在不同出版物中不太一样,因此它的科属分类存在争议。 -### Ubuntu 18.10 Cosmic Cuttlefish(不同的墨鱼) +### Ubuntu 18.10 Cosmic Cuttlefish(外星墨鱼) ![Ubuntu 18.10 mascot][9] @@ -106,19 +118,21 @@ Cosmic 意味着与地球**不同的**、宇宙的。 墨鱼 Cuttlefish ,是乌贼目的一种海洋软体动物。它属于头足类,这一类还包含了鱿鱼、章鱼和鹦鹉螺。墨鱼有一个独特的内壳,即墨鱼骨,它可以用于控制浮力。 -### Ubuntu 18.04 LTS Bionic Beaver(仿生海狸) +### Ubuntu 18.04 LTS Bionic Beaver(仿生河狸) ![Ubuntu 18.04 mascot][10] 于 2018 年 4 月 26 日发布。 -Bionic 意味着**人工的**,或者是机电的。 +Bionic 意味着**仿生的**,或者是机电的。 -海狸 Beaver ,是北半球温带的一种大型半水生啮齿动物。有两种现存的海狸:北美海狸和欧亚海狸。海狸是仅次于水豚的第二大啮齿动物。 +河狸 Beaver ,是北半球温带的一种大型半水生啮齿动物。有两种现存的海狸:北美河狸和欧亚河狸。河狸是仅次于水豚的现存第二大啮齿动物。 + +> 据维基:它们处于 IUCN 哺乳动物红色名录中的无危物种,在中国河狸被列为一级保护动物。 英国用户认为这个版本的名称特别有趣。 -### Ubuntu 17.10 Artful Aardvark(机灵的土豚) +### Ubuntu 17.10 Artful Aardvark(机灵土豚) ![Ubuntu 17.10 mascot][11] @@ -128,9 +142,9 @@ Ubuntu 在此版本中默认切换回了 GNOME。 Artful 的意思是聪明的或**机灵的**。 -土豚 Aardvark ,是一种原产于非洲的中型、穴居、夜间活动的哺乳动物。它是管齿目中唯一的现存物种。与大多数其他食虫动物不同,它有一个长长的像猪一样的鼻子,可以闻出食物在哪里。 +土豚 Aardvark ,是一种原产于非洲的穴居、夜间活动的中型哺乳动物。它是管齿目中唯一的现存物种。与大多数其他食虫动物不同,它有一个长长的像猪一样的鼻子,可以闻出食物在哪里。 -### Ubuntu 17.04 Zesty Zapus(开心的跳鼠) +### Ubuntu 17.04 Zesty Zapus(开心跳鼠) ![Ubuntu 17.04 mascot][12] @@ -138,21 +152,21 @@ Artful 的意思是聪明的或**机灵的**。 这个版本是最后一个以 Unity 桌面为特色的版本。 -Zesty 意味着有一种强烈的、**令人愉快的**、有点辛辣的味道。 +Zesty 意味着有一种强烈的、**令人开心的**、有点辛辣的味道。 -Zapus 是北美跳鼠中唯一一个有牙齿的一个属。Zapus 是除 指猴 Aye-aye 之外,唯一现存的有 18 颗牙齿的哺乳动物。 +跳鼠Zapus 是北美跳鼠中唯一一个有牙齿的一个属。跳鼠是除 指猴 Aye-aye 之外,唯一现存的有 18 颗牙齿的哺乳动物。 -### Ubuntu 16.10 Yakkety Yak(牦牛) +### Ubuntu 16.10 Yakkety Yak(唠叨牦牛) ![Ubuntu 16.10 mascot][13] 于 2016 年 10 月 13 日发布。 -Yakkety 有很多意思。yakking 有唠唠叨叨这一非正式意思,yakkety 还可能是 喋喋不休的萨克斯 Yakety Sax 的另一种拼写。 +Yakkety 有很多意思。OMG Ubuntu 说,“yakking” 有唠唠叨叨这一非正式意思,yakkety 还可能是一种知名的流行爵士乐器 “Yakety Sax” 的另一种拼写。 -牦牛 Yak ,是一种大型驯养的野牛。它的毛发蓬松,肩部隆起,有很大的角。在西藏,它是一种驮畜,人们也可以食用它的奶和肉、以及加工它的皮制作东西。 +牦牛 Yak ,是一种大型驯养的野牛。它的毛发蓬松,肩部隆起,有很大的角。在一些地方它是一种驮畜,人们也可以食用它的奶和肉、以及加工它的皮制作东西。 -### Ubuntu 16.04 LTS Xenial Xerus(好客的非洲地松鼠) +### Ubuntu 16.04 LTS Xenial Xerus(好客地松鼠) ![Ubuntu 16.04 mascot][14] @@ -160,27 +174,27 @@ Yakkety 有很多意思。yakking 有唠唠叨叨这一非正式意思,yakkety Xenial 的意思是**热情好客的**。 -非洲地松鼠 Xerus ,有四个亚种,分别是**开普地松鼠,条纹地松鼠,山地松鼠和无条纹地松鼠**。这些动物是昼行性的,是食草动物,通常吃坚果、根和种子。然而,有时他们也会吃鸡蛋和其他小动物。 +非洲地松鼠 Xerus ,有四个亚种,分别是**开普地松鼠,条纹地松鼠,山地松鼠和无条纹地松鼠**。这些动物是昼行性的,是食草动物,通常吃坚果、根和种子。然而,有时它们也会吃蛋类和其他小动物。 -### Ubuntu 15.10 Wily Werewolf(狡猾的狼人) +### Ubuntu 15.10 Wily Werewolf(狡猾狼人) ![Ubuntu 15.10 mascot][15] 于 2015 年 10 月 22 日发布。 -这个版本可能是其发布代号中带有虚构动物的 Ubuntu 版本之一。 +这个版本可能是少有的发布代号中带有虚构动物的 Ubuntu 版本之一。 Wily 的意思是善于获得优势,尤其在欺骗上十分**狡猾的**。 狼人 Werewolf ,是可以隐藏住耳朵和尾巴的一种神话生物。它是人,也是狼,大多数人因为它们的长相而害怕它们。 -### Ubuntu 15.04 Vivid Vervet(活泼的小猴) +### Ubuntu 15.04 Vivid Vervet(活泼绿猴) ![Ubuntu 15.04 mascot][16] 于 2015 年 4 月 23 日发布。 -Vivid 的意思是**生动**的、明亮的。 +Vivid 的意思是**活泼**的、明亮的。 黑长尾猴 Vervet monkey ,是一种原产于非洲的角猿科的旧大陆猴。“vervet”一词也用于表示绿猴属 Chlorocebus 的所有动物,其中包含五个不同的亚种,这五个不同的亚种主要分布在南部非洲以及一些东部国家。 @@ -196,7 +210,7 @@ Utopic 与**乌托邦**有关,乌托邦是一个虚构的、不存在但是一 独角兽 Unicorn ,是一种传说中的生物。自古以来,它就被描述为前额有一个巨大的、尖的、螺旋状的角的一种野兽。 -### Ubuntu 14.04 LTS Trusty Tahr(可靠的塔尔羊) +### Ubuntu 14.04 LTS Trusty Tahr(可靠塔尔羊) ![Ubuntu 14.04 mascot][18] @@ -206,7 +220,7 @@ Trusty 意味着**可靠的**或忠实的。 塔尔羊 Tahr ,是一种很像山羊的哺乳动物。它们会栖息在阿曼、印度南部和喜马拉雅山脉的悬崖和山坡上。 -### Ubuntu 13.10 Saucy Salamander(活泼的蝾螈) +### Ubuntu 13.10 Saucy Salamander(活泼蝾螈) ![Ubuntu 13.10 mascot][19] @@ -214,9 +228,9 @@ Trusty 意味着**可靠的**或忠实的。 Saucy 意味着大胆的、**活泼的**或精神饱满的。 -蝾螈 Salamander 是一类两栖动物。其典型特征是有着蜥蜴般的外观,它们有细长的身体,钝的鼻子,以及与身体成直角突出的短肢,并且幼体和成体都有尾巴。现存的所有十个蝾螈科都属于 乌罗德拉目 Urodela 。 +蝾螈 Salamander 是一类两栖动物。其典型特征是有着蜥蜴般的外观,它们有细长的身体,钝的鼻子,以及与身体成直角突出的短肢,并且幼体和成体都有尾巴。现存的所有十个蝾螈科都属于有尾目。 -### Ubuntu 13.04 Raring Ringtail(铆足了劲的猫熊) +### Ubuntu 13.04 Raring Ringtail(热情猫熊) ![Ubuntu 13.04 mascot][20] @@ -224,9 +238,9 @@ Saucy 意味着大胆的、**活泼的**或精神饱满的。 Raring 的意思是热情的和**非常渴望做某事**。 -猫熊 Ringtail ,是**一种像猫一样大的食肉动物,类似于一只长着浣熊尾巴的小狐狸**。它浓密的尾巴是扁平的,几乎和头部和身体一样长,有交替的黑色和白色皮毛。它们是夜行动物,一天中的大部分时间都在它们的巢穴里睡觉。 +猫熊 Ringtail ,是**一种像猫一样大的食肉动物,类似于一只长着浣熊尾巴的小狐狸**。它浓密的尾巴是扁平的,几乎和头部和身体一样长,有黑白交替的环。它们是夜行动物,一天中的大部分时间都在它们的巢穴里睡觉。 -### Ubuntu 12.10 Quantal Quetzal(量子的大咬鹃) +### Ubuntu 12.10 Quantal Quetzal(量子大咬鹃) ![Ubuntu 12.10 mascot][21] @@ -236,17 +250,19 @@ Quantal 意味着与**量子**或量子理论有关的。 大咬鹃 Quetzal ,是咬鹃家族中的一种色彩鲜艳的鸟类。它们生活在森林中,主要是在潮湿的高地。来自*凤尾绿咬鹃属*的五种物种生活在新热带的,而另外一个物种,即角咬鹃,生活在墨西哥和美国最南端的局部地区。大咬鹃相当地大,它们的身体长度超过 32 厘米或者有 13 英寸长,比其他咬鹃科的物种都大。绚丽的大咬鹃因其鲜艳的色彩,而成为危地马拉的国鸟。 -### Ubuntu 12.04 LTS Precise Pangolin(精准的穿山甲) +### Ubuntu 12.04 LTS Precise Pangolin(精准穿山甲) ![Ubuntu 12.04 mascot][22] 于 2012 年 4 月 26 日发布。 -Precise 意味着能**准确**地表达细节的。 +Precise 意味着能**精确**或准确地表达细节。 穿山甲 Pangolin ,有时被称为有鳞食蚁兽,是鳞甲目的一种哺乳动物。它现存的一个科是穿山甲科,有三个属:穿山甲亚属、长尾穿山甲亚属和地穿山甲亚属。穿山甲亚属包括在亚洲发现的四种物种,而长尾穿山甲亚属和地穿山甲亚属各包括两种物种,均在撒哈拉以南非洲发现。 -### Ubuntu 11.10 Oneiric Ocelot(梦幻的豹猫) +> 据维基百科:2014 年,IUCN 红色名录物种存续委员会穿山甲专门小组,指出穿山甲是目前全世界最常被走私买卖的哺乳动物。所有穿山甲都面临巨大的生存威胁,其中中华穿山甲和马来穿山甲被 IUCN 评估为“极危”物种,非法走私的活动极为猖獗。随着亚洲的 4 种穿山甲数量锐减,走私贸易商家已转移目标至非洲,以满足市场上的庞大需求。 + +### Ubuntu 11.10 Oneiric Ocelot(梦幻豹猫) ![Ubuntu 11.10 mascot][23] @@ -254,21 +270,23 @@ Precise 意味着能**准确**地表达细节的。 Oneiric 的意思是与**梦**有关的。 -豹猫 Ocelot (Leopardus pardalis),是一种中等大小的斑点野猫。它的肩长可达 40 至 50 厘米(15.7 至 19.7 英寸),体重在 8 至 15.5 公斤(17.6 至 34.2 磅)之间。卡尔·林奈于 1758 年首次在书中描述了它。 +豹猫 Ocelot ,是一种中等大小的斑点野猫。它的肩长可达 40 至 50 厘米,体重在 8 至 15.5 公斤之间。卡尔·林奈Carl Linnaeus 于 1758 年首次在书中描述了它。 -### Ubuntu 11.04 Natty Narwhal(敏捷的独角鲸) +> 据维基:华盛顿公约将孟加拉国、印度以及泰国的豹猫族群列入附录一禁止进行国际贸易,而其他族群亦列入华盛顿公约附录二。 + +### Ubuntu 11.04 Natty Narwhal(聪明独角鲸) ![Ubuntu 11.04 mascot][24] 于 2011 年 4 月 28 日发布。 -这个版本是第一个以 Unity 桌面为特色的版本。 +这个版本是第一个采用 Unity 桌面的版本。 Natty 意味着**聪明**和时尚的。 -独角鲸 Narwhal ,是一种中等大小的齿鲸。它从突出的犬齿中长出了大“獠牙”。它全年生活在格陵兰、加拿大和俄罗斯周围的北极水域。它是一角鲸科中现存的两种鲸鱼物种之一,另一个物种是 白鲸 Beluga whale 。 +独角鲸 Narwhal ,是一种中等大小的齿鲸。拥有一颗突出的犬齿的大“獠牙”。它常年生活在格陵兰、加拿大和俄罗斯周围的北极水域。它是一角鲸科中现存的两种鲸鱼物种之一,另一个物种是 白鲸 Beluga whale 。 -### Ubuntu 10.10 Maverick Meerkat(特立独行的猫鼬) +### Ubuntu 10.10 Maverick Meerkat(独行猫鼬) ![Ubuntu 10.10 mascot][25] @@ -276,9 +294,9 @@ Natty 意味着**聪明**和时尚的。 Maverick 的意思是**特立独行的**或有独立思想的。 -猫鼬 Meerkat ,是一种在南部非洲发现的小型猫鼬。它的特点是头宽,眼睛大,鼻子尖,腿长,尾巴很细,毛色有斑纹。 +猫鼬 Meerkat ,是一种在南部非洲发现的小型猫鼬。它的特点是头宽、眼睛大、鼻子尖、腿长、尾巴很细,毛色有斑纹。 -### Ubuntu 10.04 LTS Lucid Lynx(清醒的猞狸) +### Ubuntu 10.04 LTS Lucid Lynx(清醒猞狸) ![Ubuntu 10.04 mascot][26] @@ -288,17 +306,19 @@ Lucid 意味着**易于理解的**或明亮的。 猞猁 Lynx ,是中型野猫属猞猁中的一种。猞猁这个名字起源于中古英语,源自希腊语 λύγξ,λύγξ 又源自于印欧语词根 leuk-,指的是它眼睛能反射发光的样子。 -### Ubuntu 9.10 Karmic Koala(幸运的考拉) +### Ubuntu 9.10 Karmic Koala(幸运考拉) ![Ubuntu 9.10 mascot][27] 于 2009 年 10 月 29 日发布。 -Karmic 意味着与**命运**有关的。 +Karmic 意味着与**命运**、业力有关。 考拉 Koala ,是一种原产于澳大利亚的树栖草食性的有袋动物。它是袋鼠科唯一现存的物种,它的近亲是袋熊 Wombat 。 -### Ubuntu 9.04 Jaunty Jackalope(自信的鹿角兔) +> 据维基:在 19 世纪初树袋熊遭到捕杀出口,数量由百万只锐减至一千多只,于是澳大利亚政府立法保护。 + +### Ubuntu 9.04 Jaunty Jackalope(自信鹿角兔) ![Ubuntu 9.04 mascot][28] @@ -310,7 +330,7 @@ Jaunty 是指拥有活泼、开朗和**自信**的态度。 鹿角兔 Jackalope ,是**北美民间传说中的一种神话动物**,被描述为长着羚羊角的可怕的长角兔。Jackalope 这个词是由 jackrabbit 和 antelope 组合而成的。许多鹿角兔的标本都是由用鹿角制成的。 -### Ubuntu 8.10 Intrepid Ibex(勇敢的野山羊) +### Ubuntu 8.10 Intrepid Ibex(无畏野山羊) ![Ubuntu 8.10 mascot][29] @@ -318,9 +338,9 @@ Jaunty 是指拥有活泼、开朗和**自信**的态度。 Intrepid 意味着**无所畏惧**、冒险的。 -野山羊 Ibex ,其特点是雄性的野山羊大角十分弯曲,在前面形成像横向的脊那样。它主要分布于欧亚大陆、北非和东非。 +野山羊 Ibex ,以雄性的大弯角为特征,在前面形成像横向的脊那样。它主要分布于欧亚大陆、北非和东非。 -### Ubuntu 8.04 LTS Hardy Heron(耐寒的苍鹭) +### Ubuntu 8.04 LTS Hardy Heron(坚韧苍鹭) ![Ubuntu 8.04 mascot][30] @@ -328,21 +348,21 @@ Intrepid 意味着**无所畏惧**、冒险的。 这个版本是第一个吉祥物出现在其默认壁纸上的 Ubuntu 版本。 -Hardy 意味着能够忍受困难的条件的、**强大的**。 +Hardy 意味着能够**忍受**困难条件的、强大的。 苍鹭 Heron ,是一种长腿、长颈、生活在淡水和沿海的鸟类。 -### Ubuntu 7.10 Gutsy Gibbon(勇敢的长臂猿) +### Ubuntu 7.10 Gutsy Gibbon(阵风长臂猿) ![Ubuntu 7.10 mascot][31] 于 2007 年 10 月 18 日发布。 -Gusty 表示**阵风**的。 +Gusty 表示以**阵风**的方式吹动。 长臂猿 Gibbon ,是一种猿类,它们生活在孟加拉国东部、印度东北部、中国南部和印度尼西亚的亚热带和热带雨林地区。 -### Ubuntu 7.04 Feisty Fawn(活泼的小鹿) +### Ubuntu 7.04 Feisty Fawn(活泼小鹿) ![Ubuntu 7.04 mascot][32] @@ -352,7 +372,7 @@ Feisty 意味着**小而坚定**的。 小鹿 Fawn ,指的是第一年刚出生的小鹿。 -### Ubuntu 6.10 Edgy Eft(紧张的水蜥) +### Ubuntu 6.10 Edgy Eft(紧张水蜥) ![Ubuntu 6.10 mascot][33] @@ -360,11 +380,11 @@ Feisty 意味着**小而坚定**的。 Edgy 的意思是**紧张的**。 -水蜥 Eft ,是蝾螈的陆生幼年期。蝾螈是一种蜥蜴,它具有三个不同的发育生命阶段:水生幼虫、陆生幼体 (即 eft) 和成体。 +水蜥 Eft ,是蝾螈的陆生幼年期。蝾螈是一种蜥蜴,它具有三个不同的发育生命阶段:水生幼虫、陆生幼体和成体。 所以水蜥指的是一个青年的蝾螈。 -### Ubuntu 6.06 Dapper Drake(整洁的公鸭) +### Ubuntu 6.06 Dapper Drake(整洁公鸭) ![Ubuntu 6.06 mascot][34] @@ -374,7 +394,7 @@ Dapper 的意思是衣着整洁,**外表整洁的**。 公鸭 Drake ,是完全性成熟的成年雄性鸭子。 -### Ubuntu 5.10 Breezy Badger(活泼的獾) +### Ubuntu 5.10 Breezy Badger(微风之獾) ![Ubuntu 5.10 mascot][35] @@ -382,9 +402,9 @@ Dapper 的意思是衣着整洁,**外表整洁的**。 Breezy 的意思是有**微风**的。 - Badger ,一种是短腿的杂食动物。 + Badger ,一种是短腿的杂食动物,经常蹲下身挤在一起。 -### Ubuntu 5.04 Hoary Hedgehog(灰白的刺猬) +### Ubuntu 5.04 Hoary Hedgehog(灰白刺猬) ![Ubuntu 5.04 mascot][36] @@ -394,7 +414,7 @@ Hoary 是**灰白色的**意思。 刺猬 Hedgehogis ,是一种多刺的哺乳动物,遍布于欧洲、亚洲和非洲的部分地区,并引入到了新西兰。 -### Ubuntu 4.10 : Warty Warthog(长疣的疣猪) +### Ubuntu 4.10 : Warty Warthog(有疣疣猪) ![Ubuntu 4.10 mascot][37] @@ -421,7 +441,7 @@ via: https://itsfoss.com/all-Ubuntu-mascots/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9608a07d2a204df4a3d07acc85a905fc9719e6e3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 11 Nov 2022 13:10:51 +0800 Subject: [PATCH 373/925] P @chai001125 https://linux.cn/article-15240-1.html --- ... of Ubuntu- Here are the Mascots of All Ubuntu Releases.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md (99%) diff --git a/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/published/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md similarity index 99% rename from translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md rename to published/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md index 5c740a1cff..de6287f76d 100644 --- a/translated/tech/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md +++ b/published/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "chai001125" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15240-1.html" Ubuntu 所有版本的吉祥物 ====== From 6c08a4e6c0d08b7620c3ab2f50df78ce3bbd986c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 11 Nov 2022 15:33:06 +0800 Subject: [PATCH 374/925] RP @geekpi https://linux.cn/article-15241-1.html --- ...m a Video in VLC Player [If You Really Want to].md | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) rename {translated/tech => published}/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md (69%) diff --git a/translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/published/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md similarity index 69% rename from translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md rename to published/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md index a2fb07ea02..229b9304a6 100644 --- a/translated/tech/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md +++ b/published/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md @@ -3,20 +3,22 @@ [#]: author: "Sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15241-1.html" -如何在 VLC 播放器中裁剪视频(如果你真的想要) +如何在 VLC 播放器中裁剪视频 ====== -VLC 媒体播放器是[最好的媒体播放器][1]之一。这款跨平台播放器功能丰富,可以播放任何可用的媒体格式。 +![](https://img.linux.net.cn/data/attachment/album/202211/11/153202yhomxyc1ysuq57x1.jpg) + +VLC 媒体播放器是 [最好的媒体播放器][1] 之一。这款跨平台播放器功能丰富,可以播放任何可用的媒体格式。 你会惊讶地发现 VLC 不仅仅是一个视频播放器。它可以对你的媒体文件做很多事情。 -[使用 VLC 下载 YouTube 视频][2]是我们在 It's FOSS 上分享的 [VLC 技巧][3]之一。 +我们分享过 [使用 VLC 下载 YouTube 视频][2] 的 [VLC 技巧][3]。 -让我再和你分享一个。用 VLC 裁剪视频怎么样?这不是[裁剪视频][4]的最佳方式,但它可以作为一个选择使用。 +让我再和你分享一个。用 VLC 裁剪视频怎么样?这不是 [裁剪视频][4] 的最佳方式,但它可以作为一个选择使用。 ### 使用 VLC 裁剪视频 @@ -28,13 +30,13 @@ VLC 媒体播放器是[最好的媒体播放器][1]之一。这款跨平台播 要获取控件,你需要使其在主控制面板上可见。 -首先选择视图选项,然后选中高级控件复选框。现在,如截图所示,出现了带有几个按钮的新控件行。 +首先选择“视图View”选项,然后选中“高级控件Advanced Controls”复选框。现在,如截图所示,出现了带有几个按钮的新控件行。 ![在 vlc 播放器中启用高级控件视图][5] #### 步骤 2:打开视频 -为了裁剪视频,你需要在 VLC 中打开它。你可以通过“媒体 > 打开文件”在 VLC 播放器中打开视频: +为了裁剪视频,你需要在 VLC 中打开它。你可以通过“媒体Media > 打开文件Open File”在 VLC 播放器中打开视频: ![通过 vlc 文件菜单打开媒体文件][6] @@ -44,15 +46,15 @@ VLC 媒体播放器是[最好的媒体播放器][1]之一。这款跨平台播 #### 步骤 3:使用 VLC 的录制功能裁剪视频 -打开视频文件后,将时间线设置为所需输出的起点并暂停视频。之后,按录制按钮并播放视频。 +打开视频文件后,将时间线设置为所需输出的起点并暂停视频。之后,按“录制”按钮并播放视频。 ![在起点暂停,按录制键开始录制][8] -当达到所需输出的终点时,暂停视频并再次按下录制按钮停止录制。 +当达到所需输出的终点时,暂停视频并再次按下“录制”按钮停止录制。 ![在终点暂停并按下录制][9] -这应该将裁剪后的输出保存到你的 \~/Videos 目录中。 +这应该将裁剪后的输出保存到你的 `~/Videos` 目录中。 ![nautilus 文件管理器中的原始和裁剪后文件][10] @@ -66,39 +68,39 @@ VLC 以 .ts 文件格式录制视频。这在 VLC 中受支持,你可以根据 ![转换后的视频在 gnome 视频播放器中显示播放错误][11] -你可以点击上图所示的 “Find in Ubuntu Software” 按钮,这将打开 ubuntu 软件中心。你可以在那里安装所需的编解码器包。 +你可以点击上图所示的 “在 Ubuntu 软件应用中查找Find in Ubuntu Software” 按钮,这将打开 Ubuntu 软件中心。你可以在那里安装所需的编解码器包。 -![根据 gnome 视频播放器的提示从软件中心安装 gstreamer][12] +![根据 GNOME 视频播放器的提示从软件中心安装 gstreamer][12] -安装过程相同并再次使用 Gnome-videos 打开视频将解决问题。 +同样安装 Gnome-videos 并使用它打开视频将解决问题。 #### 使用 VLC 转换视频文件 如果你不想为此安装任何额外的软件包,你可以使用 VLC 本身将 .ts 文件转换为 mp4 格式以在任何其他播放器中播放。 -为此,打开 VLC 并在文件菜单下选择转换选项。 +为此,打开 VLC 并在“媒体Media”菜单下选择“转换/保存Conver/Save”选项。 ![从媒体菜单中选择转换][13] -现在,使用“添加”按钮提供需要转换的文件的位置,然后选择转换/保存,如截图所示。 +现在,使用“添加Add”按钮提供需要转换的文件的位置,然后选择“转换/保存Conver/Save”,如截图所示。 ![在媒体转换对话框中选择要转换的文件][14] -选择所需的输出配置 (MP4) 并为输出设置文件名,然后按“开始”。 +选择所需的输出配置(MP4)并为输出设置文件名,然后按“开始Start”。 ![在 vlc 媒体转换菜单中设置转换配置和输出文件名][15] -这将开始转换,并根据源的时长决定转换时间。完成后,你可以从 \~/Videos 目录访问转换后的输出。 +这将开始转换,并根据源的时长决定转换时间。完成后,你可以从 `~/Videos` 目录访问转换后的输出。 ![nautilus 文件管理器中的原始裁剪和转换文件][16] ### 总结 -虽然确实可以使用 VLC 播放器来裁剪视频,但整个过程与专门的[视频编辑器][17]完全不同。 +虽然确实可以使用 VLC 播放器来裁剪视频,但整个过程与专门的 [视频编辑器][17] 完全不同。 最大的问题是你需要观看所有裁剪部分才能完成裁剪,如果你要裁剪跨越数分钟的视频的一大部分,这就不方便了。 -无论如何,这个很酷的功能在某些情况下可能是一个方便的工具,比如你想要的只是裁剪一个特定的小剪辑或从电影场景中制作一个 gif。 +无论如何,这个很酷的功能在某些情况下可能是一个方便的工具,比如你想要的只是裁剪一个特定的小剪辑或从电影场景中制作一个 Gif。 -------------------------------------------------------------------------------- @@ -107,7 +109,7 @@ via: https://itsfoss.com/vlc-trim-video/ 作者:[Sreenath][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/) 荣誉推出 From cf804c4193b25bdb89dfb242935060acfdfa6c90 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Fri, 11 Nov 2022 21:50:35 +0800 Subject: [PATCH 375/925] translating --- ...07 Identify security properties on Linux using checksec.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20210607 Identify security properties on Linux using checksec.md b/sources/tech/20210607 Identify security properties on Linux using checksec.md index 3d1e118830..e10996be18 100644 --- a/sources/tech/20210607 Identify security properties on Linux using checksec.md +++ b/sources/tech/20210607 Identify security properties on Linux using checksec.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/linux-checksec) [#]: author: (Gaurav Kamathe https://opensource.com/users/gkamathe) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) @@ -435,4 +435,4 @@ The topic of security is never-ending, and while it's not possible to cover ever You don't have to provide each binary to checksec individually. Instead, you can provide a directory path where multiple binaries reside, and checksec will verify all of them for you in one go: ``` -`$ checksec --dir=/usr \ No newline at end of file +`$ checksec --dir=/usr From 3978331cf1a262d7d2bab39ebb02fd3687ae4856 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 11 Nov 2022 21:50:38 +0800 Subject: [PATCH 376/925] =?UTF-8?q?littlebirdnest=20=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Update or Upgrade Ubuntu Offline without Internet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md index 27ae2c5881..db5103f8d9 100644 --- a/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md +++ b/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From cd80d4e779d56c5561c53b1e18fe622b8d396d7a Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 11 Nov 2022 22:47:46 +0800 Subject: [PATCH 377/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... or Upgrade Ubuntu Offline without Internet.md | 60 +++++++++---------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md index db5103f8d9..e5449214d1 100644 --- a/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md +++ b/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md @@ -7,48 +7,47 @@ [#]: publisher: " " [#]: url: " " -How to Update or Upgrade Ubuntu Offline without Internet +如何在没有网络的情况下,离线更新或升级 Ubuntu ====== -**This guide explains the steps to update Ubuntu offline without an active internet connection.** +**此教程关于如何一步一步在没有网络的情况下,升级ubuntu** -There are many situations where you may need to update your Ubuntu installation without an internet connection. You may be staying remotely or have a set of network Ubuntu systems that are not connected to the internet. In any case, keeping your system updated with the latest packages is always required. +在有些情况下,你可能需要离线更新ubuntu,又或者你可能在远程状态下需要更新一堆未联网的ubuntu,总的来说你想要升级最新的系统 -Of course, updating any system while connected to the internet is always recommended. +当然,始终建议通过联网升级系统。 -But sometimes, it is not possible for security reasons also. Connecting to the internet may bring additional hardening steps for your systems to protect them from hackers and malware. +但有时,离线更新系统,有助于网络安全,远离黑客和恶意软件 -The following method using [apt-offline][1] helps to fix those use cases and outlines the steps to update your Ubuntu offline without the internet. +以下的方法使用[apt-offline][1]来解决这些问题,离线更新ubuntu +### 准备环节 -### Pre-requisite +- 一台能连接到网络的ubuntu(你朋友的,咖啡馆,实验室系统) +- 装了安装包的u盘 +- 两个系统都安装了 apt-offline.一个系统离线,另一个系统联网 -- You need to have access to a Ubuntu system that has an internet connection (e.g. your friends, cafe, or lab system) -- A USB pen drive to hold the packages -- Install the apt-offline package in both the systems – a) the offline system and b) the system with an internet connection. +### 安装 apt-offline -### Install apt-offline +在两个系统下安装apt-offline -both systems - -You can install the `apt-offline` using the following command. Remember, you have to get it installed in . +你可以使用以下命令安装 apt-offline。 ``` sudo apt install apt-offline ``` -In case you need the `apt-offline` to be installed in the target system, you can download the deb package from the below link and copy it to the target system via a USB stick. Then run the below command to install. +如果你想装离线安装 apt-offline ,你可以提前下载到u盘里,然后拷出来,再使用下面的命令 -The download link for Ubuntu 22.04 LTS and other versions is present below. You can choose a mirror and download the deb file. +Ubuntu 22.04 LTS 和其他版本的下载链接如下所示。您可以选择一个镜像并下载 deb 文件。 -[download .deb files – apt-offline][2] +[下载 .deb 文件 – apt-offline][2] ``` sudo dpkg -i name_of_package.deb ``` -### Update Ubuntu offline: Steps +### 如何更新ubuntu -Open a terminal in the offline Ubuntu system and create a signature file using the following command in your home directory. +离线打开终端,且使用以下命令创建一个.sig签名文件 ``` sudo apt-offline set ~/offline-data.sig @@ -56,15 +55,15 @@ sudo apt-offline set ~/offline-data.sig [![Create the sig file][3]][4] -This creates a file containing the required package paths and details for download. +这个刚创建的签名文件中,包含下载所需的包路径和详细信息。 [![sig file contents][5]][6] -Copy this .sig file to a USB and take it to a Ubuntu system with internet access. +把签名文件,拷到u盘中,再插到有网的ubuntu -Create a directory (see example below) to hold the downloaded packages in the Ubuntu system with an internet connection. +创建有一个目录去装这些文件 -Open a terminal and run the following command to download the required packages. Remember to change the download directory and .sig file path as per your system. +打开一个终端,运行以下命令,记得根据你的系统,更改下载目录和.sig签名文件的路径 ``` apt-offline get -d ~/offline-data-dir offline-data.sig @@ -72,11 +71,11 @@ apt-offline get -d ~/offline-data-dir offline-data.sig [![Download the packages to install offline][7]][8] -offline Ubuntu system +更新离线的Ubuntu -You should see the files are downloaded properly. Now copy the entire downloaded directory to the USB drive and plug it into the . +文件下载完,拷贝整个目录,再插到没联网的ubuntu -Then run the following command to install the downloaded packages to the offline system. Change the directory path as per your system. +然后运行以下命令将下载的包装到离线系统,记得根据你的系统更改目录路径 ``` sudo apt-offline install offline-data-dir/ @@ -84,19 +83,18 @@ sudo apt-offline install offline-data-dir/ [![Installing packages - offline update ubuntu][9]][10] -The update should run smoothly if all goes well, and you should have an updated Ubuntu system. +如果一切顺利,你将获得一个更新完的ubuntu -You must repeat the steps above to keep your Ubuntu system up-to-date offline whenever you need to update. - -I hope this guide helps you to update your Ubuntu system in an offline mode. If you face any trouble, let me know in the comment box below. +重复食用以上步骤,就可以保持你的离线ubuntu是最新版 +希望以上教程能帮到你更新离线的ubnuntu系统,如果您遇到任何问题,请在下面的评论框中告诉我。 -------------------------------------------------------------------------------- via: https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[littlebirdnest](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From fbfad9660f73ceb83641fa4dc89dcbb9a14ae565 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 11 Nov 2022 22:48:39 +0800 Subject: [PATCH 378/925] =?UTF-8?q?=E7=A7=BB=E5=88=B0translated=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md (100%) diff --git a/sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md similarity index 100% rename from sources/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md rename to translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md From b1b1dfa4c4543a87b81e47231b9e7aeb526ca3bd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 12 Nov 2022 11:21:12 +0800 Subject: [PATCH 379/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @MuggleWei 感谢您,完成了第一篇翻译贡献! 顺便,请注意使用中文标点,以及在中英文间插入空格(可参考我的校对和本项目的排版风格指南。) --- .../20221103.0 ⭐️⭐️ Is Lua worth learning.md | 96 ++++++++++--------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md index 70c83a953f..848ebb0928 100644 --- a/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md +++ b/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md @@ -3,58 +3,60 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "MuggleWei" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -Lua值得学习吗? +Lua 值得学习吗? ====== -Lua是一个有趣且强大的语言, 随着版本的推进, 功能愈发的强大, 开发者也在不断的增长. 这篇文章我们将探索一下它的可能性. +![](https://img.linux.net.cn/data/attachment/album/202211/12/111937y0kior1oyf44tttt.jpg) -Lua是一个脚本语言, 它面向过程, 函数式编程, 甚至可以是[面向对象的][1]. 它使用类c的语法, 但却是动态类型, 具有自动内存管理和垃圾回收功能, 使用基于寄存器的虚拟机来解释字节码. 这些特点使得它对于初学者来说是个很好的语言, 同时也是经验丰富的程序员的强大工具. +> Lua 是一个有趣而强大的语言,随着各个版本的推进,功能愈发的强大,开发者群体也在不断的增长。这篇文章我们将探索一下它的各种前景。 -虽然与[Python][2]和[JavaScript][3]相比, Lua现在已经有点儿黯然失色了, 但是Lua拥有的一些优点使得它在许多的重大软件项目中很受欢迎. Lua很容易嵌入到其他语言当中, 这意味着你可以在(例如)Java编写的代码中包含Lua文件, 就像原生的Java代码一样运行. 这听起来就像魔法一般, 现在有许多项目如[luaj][4]使得其成为可能, 之所以可以实现, 正是因为Lua就是为此而设计的. 正因这部分的灵活性, 你可以在许多游戏, 图形应用的程序中发现Lua脚本的身影. +Lua 是一个脚本语言,它面向过程、函数式编程,甚至可以是 [面向对象的][1]。它使用类 C 语言的语法,但却是动态类型,具有自动内存管理和垃圾回收功能,使用基于寄存器的虚拟机来解释字节码。这些特点使得它对于初学者来说是个很好的语言,同时也是经验丰富的程序员的强大工具。 -就像其他任何事情一样, 做到完美是需要时间的, Lua是很易于学习(并且有趣)的语言. 它是一种一致性的语言, 一种带有有用的错误消息的友好的语言, 并且可以在网上轻松找到许多有用的资料. 那么就让我们开始吧! +虽然与 [Python][2] 和 [JavaScript][3] 相比,Lua 现在已经有点儿黯然失色了,但是 Lua 拥有的一些优点使得它在许多的重大软件项目中很受欢迎。Lua 很容易嵌入到其他语言当中, 这意味着你可以在(例如)Java 编写的代码中包含 Lua 文件,就像原生的 Java 代码一样运行。这听起来就像魔法一般,现在有许多项目如 [luaj][4] 使得其成为可能,之所以可以实现,正是因为 Lua 就是为此而设计的。部分出于这种灵活性,你可以在许多游戏、图形应用的程序中发现 Lua 脚本的身影。 -### 安装Lua +就像其他任何事情一样,做到完美是需要时间的,但 Lua 是很易于学习(并且有趣)的语言。它是一种一致的语言、一种带有有用的错误消息的友好的语言,并且可以在网上轻松找到许多有用的资料。那么就让我们开始吧! -在Linux下, 你可以使用发行版自带的包管理来安装Lua. 例如, 在Fedora, CentOS, Mageia, OpenMandriva以及相似的发行版中: +### 安装 Lua + +在 Linux 下,你可以使用发行版自带的包管理来安装 Lua。例如,在 Fedora、CentOS、 Mageia、OpenMandriva 以及类似发行版中: ``` $ sudo dnf install lua ``` -在Debian以及基于Debian的系统中: +在 Debian 以及基于 Debian 的系统中: ``` $ sudo apt install lua ``` -对于Mac, 你可以使用[MacPorts][5] 或者 [Homebrew][6]. +对于 Mac,你可以使用 [MacPorts][5] 或者 [Homebrew][6]: ``` $ sudo port install lua ``` -对于Windows, 可以使用[Chocolatey][7]安装Lua. +对于 Windows,可以使用 [Chocolatey][7] 安装 Lua。 -完成安装后, 可以在终端中输入`lua`来在交互式解释器中使用Lua. +完成安装后,可以在终端中输入 `lua` 来在交互式解释器中使用 Lua。 ### 函数 -如许多编程语言一样, Lua调用一个内建的函数或关键字, 后面跟着参数. 例如, `print`函数显示你传给它的所有参数. +如许多编程语言一样,Lua 的语法通常是一个内建的函数或关键字,后面跟着参数。例如,`print` 函数显示你传给它的所有参数。 ``` $ lua -Lua 5.4.2 Copyright (C) 1994-2020 Lua.org, PUC-Rio +Lua 5.4.2 Copyright (C) 1994-2020 Lua.org,PUC-Rio > print('hello') hello ``` -Lua的`string`库可以操作单词(在编程中称为"字符串"). 例如, 统计字符串中的字母数量, 你可以使用`string`库中`len`函数: +Lua 的 `string` 库可以操作单词(在编程中称为“字符串”)。例如,要统计字符串中的字母数量,你可以使用 `string` 库中 `len` 函数: ``` > string.len('hello') @@ -63,7 +65,7 @@ Lua的`string`库可以操作单词(在编程中称为"字符串"). 例如, 统 ### 变量 -一个变量允许你在计算机内存中为临时的数据创建一个指定的空间. Lua中创建变量的方法是赋予变量一个名字, 接着将数据放入其中. +变量允许你在计算机内存中为临时的数据创建一个指定的空间。Lua 中创建变量的方法是赋予变量一个名字,接着将数据放入其中。 ``` > foo = "hello world" @@ -76,15 +78,15 @@ hello world ### 表 -在编程中, 数组的使用频率仅次于变量的存在. "数组"这个词的字面意思就是一种排列, 而这就是程序中数组的意义了. 它是数据的一种排列, 因为有排列, 所有数组具有结构化的优势. 本只上数组通常用于和变量相同的目的, 只不过数组会给对其中的数据进行排序. 在Lua中, 数组被称为`表`. +在编程中,数组的使用频率仅次于变量。“数组”这个词的字面意思就是一种排列,而这就是程序中数组的意义了。它是数据的一种排列,因为有排列,所有数组具有结构化的优势。本质上,数组通常用于和变量相同的目的,只不过数组会给对其中的数据进行排序。在 Lua 中,数组被称为“表”。(LCTT 译注:使用过其它编程语言的同学可以发现,Lua 的表相当于其它语言中的关联数组、哈希。) -创建表和创建变量类似, 区别仅在于它的初始化内容被设置为`{}`: +创建表和创建变量类似,区别仅在于它的初始化内容被设置为 `{}`: ``` > mytable = {} ``` -当往表中增加数据时, 它就如同创建变量一样, 区别在于这里的变量之前总是以表名开头, 中间使用`.`来连接: +当往表中增加数据时,它就如同创建变量一样,区别在于这里的变量之前总是以表名开头,中间使用 `.` 来连接: ``` > mytable.foo = "hello world" @@ -95,22 +97,22 @@ hello world 3 ``` -### 使用Lua作为脚本 +### 使用 Lua 编写脚本 -在终端交互环境中运行Lua可以得到良好的反馈, 但是将Lua作为脚本运行会更为有用. 一个Lua脚本就是包含Lua代码的文本文件, Lua命令可以解析并执行此文件. +在终端交互环境中运行 Lua 可以得到良好的反馈,但是将 Lua 作为脚本运行会更为有用。Lua 脚本就是包含 Lua 代码的文本文件,Lua 命令可以解析并执行此文件。 -对于开始学习一门编程语言, 永恒的问题是你怎么知道该写什么. 这篇文章将提供一个不错的开端, 截至目前, 你仅知道了两三个Lua函数. 懂得查阅文档是很关键的. Lua并不是一个复杂的语言, 可以通过[Lua文档网站][8]很方便的获取关键字以及函数的用法. +在刚刚开始学习一门编程语言时,一个永恒的问题是你怎么知道该写什么。这篇文章将提供一个不错的开端,截至目前,你仅知道了两三个 Lua 函数。懂得查阅文档是很关键的。Lua 并不是一个复杂的语言,可以通过 [Lua 文档网站][8] 很方便的获取关键字以及函数的用法。 -下面是一个练习题. +下面是一个练习题。 -假设你想编写一个Lua脚本来统计句子中的单词数量. 与众多的编程挑战一样, 有许多方法可以解决这个问题, 假设你在Lua文档中找到的第一个相关的函数是`string.gmatch`, 此函数可以搜索字符串中的特定字符. 单词通常通过空格分隔开来, 所以你决定计算空格数并加1来作为单词的数量. +假设你想编写一个 Lua 脚本来统计句子中的单词数量。与众多的编程挑战一样,有许多方法可以解决这个问题,假设你在 Lua 文档中找到的第一个相关的函数是 `string.gmatch`,此函数可以搜索字符串中的特定字符。单词通常通过空格分隔开来,所以你决定计算空格数并加 1 来作为单词的数量。 -下面是实现的代码 +下面是实现的代码: ``` function wc(words,delimiter) count=1 - for w in string.gmatch(words, delimiter) do + for w in string.gmatch(words,delimiter) do count = count + 1 end @@ -118,41 +120,41 @@ function wc(words,delimiter) end ``` -下面是这个样例代码的解释 +下面是这个样例代码的解释: -- `function`: 这是声明函数开始的关键字. 自定义函数的工作方式与内置函数(如`print`和`string.len`)基本相同 -- `words`和`delimiter`: 这是函数运行所需的参数. 正如`print('hello')`当中, `hello`是一个参数 -- `counter`: 一个变量, 且被初始化为1 -- `for`: 在循环中使用`string.gmatch`作为迭代器遍历`words`, 并且在其中搜索`delimiter` -- `count = count +1`: 当搜索到了`delimiter`, 则对`count`进行自增1的操作 -- `end`: `for`循环的结束关键字 -- `return count`: 这个函数输出(或返回)`count`变量的内容 -- `end`: 函数结束的关键字 +- `function`:这是声明函数开始的关键字。自定义函数的工作方式与内置函数(如 `print` 和 `string.len`)基本相同。 +- `words` 和 `delimiter`:这是函数运行所需的参数。正如 `print('hello')` 当中,`hello` 是一个参数。 +- `counter`:一个变量,且被初始化为 `1`。 +- `for`:在循环中使用 `string.gmatch` 作为迭代器遍历 `words`,并且在其中搜索`delimiter`。 +- `count = count + 1`:当搜索到了 `delimiter`,则对 `count` 进行自增 1 的操作。 +- `end`:`for` 循环的结束关键字。 +- `return count`:这个函数输出(或返回)`count` 变量的内容。 +- `end`:函数结束的关键字。 -现在你已经创建了一个函数, 你可以使用它. 需要记住, 函数不会自动运行, 而是等待你在代码中调用它. +现在你已经创建了一个函数,你可以使用它。需要记住,函数不会自动运行,而是等待你在代码中调用它。 -将下面的代码写入文件并保存为`words.lua` +将下面的代码写入文件并保存为 `words.lua`: ``` function wc(words,delimiter) count=1 - for w in string.gmatch(words, delimiter) do + for w in string.gmatch(words,delimiter) do count = count + 1 end return count end -result = wc('zombie apocalypse', ' ') +result = wc('zombie apocalypse',' ') print(result) -result = wc('ice cream sandwich', ' ') +result = wc('ice cream sandwich',' ') print(result) -result = wc('can you find the bug? ', ' ') +result = wc('can you find the bug? ',' ') print(result) ``` -你现在创建了一个Lua脚本. 你可以使用Lua运行它. 随后你会发现统计单词的结果有些问题 +你现在创建了一个 Lua 脚本。你可以使用 Lua 运行它。随后你会发现统计单词的结果有些问题: ``` $ lua ./words.lua @@ -161,11 +163,13 @@ $ lua ./words.lua 6 ``` -你也许已经注意到了最后一个句子的单词统计不正确, 因为在句子的最后带有一个额外的空格. Lua正确的检测到了空格, 并将其计入`count`中, 但是单子的统计是错误的, 因为有个空格并没有作为单词的分隔出现. 我把这个问题留给你来解决, 或者去发现其他方法, 即使这个方法不太理想. 编程中有很多需要思考的地方. 有时是纯粹学术性的思考, 有时也许是应用是否运训正常的思考. +你也许已经注意到了最后一个句子的单词统计不正确,因为在句子的最后带有一个额外的空格。Lua正确的检测到了空格,并将其计入 `count` 中,但是单子的统计是错误的,因为有个空格并没有作为单词的分隔出现。我把这个问题留给你来解决,或者去发现其他方法,即使方法不太理想。编程中有很多需要思考的地方。有时是纯粹学术性的思考,有时也许是应用是否运训正常的思考。 -### 学习Lua +### 学习 Lua -Lua是一个有趣且强大的语言, 随着版本的推进, 功能愈发的强大, 开发者也在不断的增长. 你可以将Lua作为实用性的个人脚本使用, 或者在工作中使用, 或者仅仅是体验一下一个新的语言. 尝试一下, 看看Lua能给你带来什么吧. +Lua 是一个有趣且强大的语言,随着版本的推进,功能愈发的强大,开发者群体也在不断的增长。你可以将 Lua 作为实用性的个人脚本使用,或者在工作中使用,或者仅仅是体验一下一个新的语言。尝试一下,看看 Lua 能给你带来什么吧。 + +(LCTT 译注:顺便问一句,你知道 “Lua” 怎么发音吗? 🤣) -------------------------------------------------------------------------------- @@ -174,7 +178,7 @@ via: https://opensource.com/article/22/11/lua-worth-learning 作者:[Seth Kenlon][a] 选题:[lkxed][b] 译者:[MuggleWei](https://github.com/MuggleWei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 90b06f6f3d11f4b9ff103aab3d289513feb2fcad Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 12 Nov 2022 11:22:14 +0800 Subject: [PATCH 380/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @MuggleWei 本文首发地址:https://linux.cn/article-15243-1.html 您的 LCTT 专页:https://linux.cn/lctt/MuggleWei --- .../20221103.0 ⭐️⭐️ Is Lua worth learning.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221103.0 ⭐️⭐️ Is Lua worth learning.md (99%) diff --git a/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/published/20221103.0 ⭐️⭐️ Is Lua worth learning.md similarity index 99% rename from translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md rename to published/20221103.0 ⭐️⭐️ Is Lua worth learning.md index 848ebb0928..705e1d3780 100644 --- a/translated/tech/20221103.0 ⭐️⭐️ Is Lua worth learning.md +++ b/published/20221103.0 ⭐️⭐️ Is Lua worth learning.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "MuggleWei" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15243-1.html" Lua 值得学习吗? ====== From 19a58defbd95a1338902cbc56ee92dfe6361dd24 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 12 Nov 2022 11:37:48 +0800 Subject: [PATCH 381/925] RP @geekpi https://linux.cn/article-15244-1.html --- ...ine Image to Another Host Using GNOME Boxes.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) rename {translated/tech => published}/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md (55%) diff --git a/translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/published/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md similarity index 55% rename from translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md rename to published/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md index 31986e2154..c1f96d1ad9 100644 --- a/translated/tech/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md +++ b/published/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md @@ -3,16 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15244-1.html" -使用 GNOME Box 将虚拟机镜像移动到另一台主机 +使用 GNOME Boxes 将虚拟机镜像移动到另一台主机 ====== -**本指南介绍了使用 GNOME Boxes 将虚拟机镜像移动到另一台主机所需的步骤。** +![](https://img.linux.net.cn/data/attachment/album/202211/12/113707ewb6ope663w86e5e.jpg) -GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvirt 的前端。 libvirt 是用于管理平台虚拟化的开源 API、守护进程和管理工具。它支持不同的虚拟化技术,如 KVM、Xen、VMware ESXi、QEMU 等。 +> 本指南介绍了使用 GNOME Boxes 将虚拟机镜像移动到另一台主机所需的步骤。 + +GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvirt 的前端。libvirt 是用于管理平台虚拟化的开源 API、守护进程和管理工具。它支持不同的虚拟化技术,如 KVM、Xen、VMware ESXi、QEMU 等。 如果你想使用 GNOME Boxes 创建虚拟机,[请参阅本指南][1]。 @@ -20,13 +22,13 @@ GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvir 这样,你不再需要从操作系统重新安装虚拟机。此外,它是便携式的,你可以将虚拟机镜像放在 U 盘中。 -### 如何使用 GNOME Box 将虚拟机镜像移动到另一台主机 +### 如何使用 GNOME Boxes 将虚拟机镜像移动到另一台主机 -我希望你已经在 GNOME Boxes 中创建了一个虚拟机。如果没有,请查看[本指南][1]。 +我希望你已经在 GNOME Boxes 中创建了一个虚拟机。如果没有,请查看 [本指南][1]。 -- GNOME Boxes 和 [libvert][2] 使用以下目录存储虚拟机镜像和配置。如下所述,你需要仔细备份每个文件。 +GNOME Boxes 和 [libvert][2] 使用以下目录存储虚拟机镜像和配置。如下所述,你需要仔细备份每个文件。 -- GNOME Boxes 将虚拟机的物理镜像(通常为数 GB 大小)保存在以下路径中。对于你的每个虚拟机,你都会在其中找到一个镜像。 +GNOME Boxes 将虚拟机的物理镜像(通常为数 GB 大小)保存在以下路径中。对于你的每个虚拟机,你都会在其中找到一个镜像。 ``` ~/.local/share/gnome-boxes/images/ @@ -34,9 +36,9 @@ GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvir ![机器镜像][3] -- 将图像文件复制到新主机的路径:`~/.local/share/gnome-boxes/images/` +将图像文件复制到新主机的路径:`~/.local/share/gnome-boxes/images/`。 -- 将 libvirt 的 XML 配置从以下路径复制到新主机的相同位置。 +将 libvirt 的 XML 配置从以下路径复制到新主机的相同位置。 ``` ~/.config/libvirt/qemu/ @@ -44,21 +46,21 @@ GNOME Boxes 是由 GNOME 项目创建的虚拟化程序。此程序用作 libvir ![镜像 XML][4] -- 在上述路径中,你应该会看到每个虚拟机的单独 xml 文件。复制你需要的那个。 +在上述路径中,你应该会看到每个虚拟机的单独 xml 文件。复制你需要的那个。 -- 在你当前的系统中打开以下文件。 +在你当前的系统中打开以下文件。 ``` ~/.config/gnome-boxes/sources/'QEMU Session' ``` -- 复制属于你的虚拟机的部分(从“[display” ... 到本部分的末尾)。你可以使用名称轻松找到它(看下面的 “last seen name”)。 +复制属于你的虚拟机的部分(从 `[display` ... 到本部分的末尾)。你可以使用名称轻松找到它(看下面的 `last-seen-name`)。 ![QEMU 会话文件][5] -- 在另一台主机上打开相同的上述文件并将复制的内容附加到末尾。保存文件。 +在另一台主机上打开相同的上述文件并将复制的内容附加到末尾。保存文件。 -- 关闭新主机中的所有应用,包括 GNOME Boxes。 +关闭新主机中的所有应用,包括 GNOME Boxes。 现在打开 GNOME Boxes,你应该会看到你的虚拟机和它的内容一起被移动到新主机中。 @@ -71,7 +73,7 @@ via: https://www.debugpoint.com/move-virtual-machine-image-another-host/ 作者:[Arindam][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/) 荣誉推出 From bb78c26526c080ac52a9176765272ee3801758d7 Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Sat, 12 Nov 2022 15:03:31 +0800 Subject: [PATCH 382/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20210922 Install PowerShell on Fedora Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210922 Install PowerShell on Fedora Linux.md b/sources/tech/20210922 Install PowerShell on Fedora Linux.md index 05a2aa5445..fd2a75d94b 100644 --- a/sources/tech/20210922 Install PowerShell on Fedora Linux.md +++ b/sources/tech/20210922 Install PowerShell on Fedora Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://fedoramagazine.org/install-powershell-on-fedora-linux/" [#]: author: "TheEvilSkeletonOzymandias42 https://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "cool-summer-021" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 4a04ea5f90165f26de276555a24c373b1bfeab21 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Sat, 12 Nov 2022 17:00:17 +0800 Subject: [PATCH 383/925] =?UTF-8?q?littlebirdnest=20=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to Install AWS CLI on Linux Step-by-Step.md | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) rename {sources => translated}/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md (55%) diff --git a/sources/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md b/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md similarity index 55% rename from sources/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md rename to translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md index 1bc2265ed9..cc8b5a5d40 100644 --- a/sources/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md +++ b/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md @@ -7,38 +7,38 @@ [#]: publisher: " " [#]: url: " " -How to Install AWS CLI on Linux Step-by-Step +如何在Linux上安装 AWS CLI ====== -This post describes how to install latest version of AWS CLI on a linux system step-by-step. AWS CLI is a command line interface which allows us to interact with our AWS account. Developer and sysadmin use aws cli to perform day to day activities and automation. +本文讲述如何一步步Linux上安装 AWS CLI。 AWS CLI是一个能够和aws账户进行交互的命令行程序。开发者和系统管理员用它管理日常的活动和自动化 -##### Prerequisites +##### 准备环节 -- Pre-Installed Linux System -- Sudo User with admin rights -- Internet Connectivity +- 提前安装好Linux系统 +- 有管理员权限 +- 能够联网 -Without any further delay, let’s jump into AWS Cli installations steps. +现在让我们开始安装 -### 1) Download installation file +### 1) 下载安装文件 -Open the terminal and run following curl command to download aws cli installation file, +打开终端使用curl命令下载AWS CLI 的安装文件 ``` $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ``` -Above command will download file as ‘awscliv2.zip’ in current working directory. +以上命令会安装一个 ‘awscliv2.zip’的文件在当前工作目录 -Execute below [ls command][1] to verify downloaded file, +使用ls命令确认当前下载下来的文件 ``` $ ls -l awscliv2.zip -rw-rw-r-- 1 linuxtechi linuxtechi 47244662 Oct 20 10:53 awscliv2.zip $ ``` -### 2) Unzip downloaded installation file +### 2) 解压下载的文件 -Run beneath [unzip command][2] to unzip the installer. +使用unzip命令解压安装包 if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0'); @@ -46,41 +46,41 @@ if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_co $ unzip awscliv2.zip ``` -It will create aws folder in present working directory and unzip all required files into it. +它会在当前目录创建一个aws的文件夹,把解压好的文件放进去 ``` $ ls -ld aws drwxr-xr-x 3 linuxtechi linuxtechi 4096 Oct 19 17:18 aws $ ``` -### 3) Run install script +### 3) 运行安装脚本 -To install aws cli, run following install script, +使用以下命令允许安装脚本 ``` $ sudo ./aws/install ``` -Script will install all files under /usr/local/aws-cli and will create symbolic link in /usr/local/bin. +脚本会把所有安装的文件放到 /usr/local/aws-cli目录下,然后创建一个链接文件在/usr/local/bin目录. if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0'); -### 4) Verify AWS CLI version +### 4) 检查AWS CLI的版本 -To verify the aws cli version, run +运行以下脚本检查版本 ``` $ aws --version aws-cli/2.8.4 Python/3.9.11 Linux/5.15.0-48-generic exe/x86_64.ubuntu.22 prompt/off $ ``` -### 5) Configure AWS CLI +### 5) 配置 AWS CLI -To verify the AWS Cli installation, let’s configure aws cli. +安装好AWS CLI,开始配置 AWS CLI -Login to your AWS management console and retrieve AWS access key id and secret access key. +登录你的AWS管理控制台,取得AWS访问密钥id和访问密钥 -In case it is not created yet then create access key ID and secret access key. Copy these keys somewhere safe. +如果还没完成创建,就创建一个密钥id和密钥,把密钥复制到安全的地方 -Now head back to Linux terminal, run following aws command, +然后回到命令行,运行以下命令 if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0'); @@ -88,29 +88,29 @@ if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_co $ aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxx Default region name [None]: us-west-2 Default output format [None]: json $ ``` -Above credentials will be saved in following file, +以上的证书会被保存到这个文件 ``` $ cat  ~/.aws/credentials ``` -Output of above commands, +输出上面的命令 -Run aws command to list s3 bucket and vpc of your account. +运行aws命令,列出你账户中的 s3储存和vpc ``` $ aws s3 ls $ aws ec2 describe-vpcs ``` -Output, +输出, -Output above confirms that aws cli has been configured successfully. +成功输出内容,说明你的 AWS CLI 已经配置完成 -That’s all from this post, please do post your queries and feedback in below comments sections. +以上是全部内容,有问题评论区问 if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0'); -Also Read:[How to Setup EKS Cluster along with NLB on AWS][3] +其他文章:[How to Setup EKS Cluster along with NLB on AWS][3] -------------------------------------------------------------------------------- @@ -118,7 +118,7 @@ via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[littlebirdnest](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 909f9e6d1a1c3c55debc71ad5c82472230a7f083 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Sat, 12 Nov 2022 17:07:26 +0800 Subject: [PATCH 384/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ommands On Remote Linux Systems Via SSH.md | 335 ----------------- ...ommands On Remote Linux Systems Via SSH.md | 350 ++++++++++++++++++ 2 files changed, 350 insertions(+), 335 deletions(-) delete mode 100644 sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md create mode 100644 translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md diff --git a/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md deleted file mode 100644 index 9142a40421..0000000000 --- a/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md +++ /dev/null @@ -1,335 +0,0 @@ -[#]: subject: "Execute Commands On Remote Linux Systems Via SSH" -[#]: via: "https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/" -[#]: author: "sk https://ostechnix.com/author/sk/" -[#]: collector: "lkxed" -[#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Execute Commands On Remote Linux Systems Via SSH -====== -Invoking Commands Or Programs On Remote Machines Over A Secure Network Connection - -The other day I was testing how to [keep file permissions intact while copying files or directories][1] to multiple locations and systems. When I wanted to check the file permissions on a remote system, I had to login to that system over SSH and check the attributes. The process of login and log-out from the remote system multiple times was bit annoying to me. I thought it would be better if I could **execute commands on remote Linux systems via SSH**. - -Fortunately, I found a workaround to invoke commands and programs on a remote machine over a secure network connection after skimming through the man pages of `ssh` command. - -If you ever wondered how to run a command or script on a remote system from your local system itself without logging in to that remote system, here is how to do it. - -#### Contents - -1. 1. Execute Commands On Remote Linux Systems Via SSH 2. 1.1. Run A Single Command On Remote Systems Over SSH 3. 1.2. Execute Multiple Commands On Remote Hosts Via SSH 4. 1.3. Invoke Commands With Sudo Privileges On Remote Machines Over SSH 5. 1.4. Run Local Scripts On Remote Systems Via SSH 6. 1.5. Save Command Output From Remote Host To Local Host 7. 1.6. Configure SSH Key-based Authentication To Avoid Password Typing -8. 2. Use sshpass While Running Commands On Remote Machines Over SSH 9. 2.1. What Is sshpass? 10. 2.2. Install sshpass In Linux 11. 2.3. Execute Commands On Remote Machines Over SSH With sshpass -12. Conclusion - -### 1. Execute Commands On Remote Linux Systems Via SSH - -The typical way to run a command or script on a remote system over SSH from the local system is: - -``` -$ ssh -``` - -Allow me to show you some examples. - -#### 1.1. Run A Single Command On Remote Systems Over SSH - -Let us say you want to [find Kernel details][2] of your remote Linux system. To do so, simply, run: - -``` -$ ssh sk@192.168.225.22 uname -a -``` - -Here, - -* sk is the username of my remote system, -* 192.168.225.22 is the IP address of the remote system, -* And `"uname -a"` is the command that I want to run on the remote system from my local system. - -**Sample output:** - -![Execute Commands On Remote Linux Systems Via SSH][3] - -See? I haven't actually logged-in to the remote system, but executed the `uname` command on the remote system over SSH and displayed the output in my local system's Terminal. - -You can also specify the command in quotes like below. - -``` -$ ssh sk@192.168.225.22 "uname -a" -``` - -Or, - -``` -$ ssh sk@192.168.225.22 'uname -a' -``` - -If you have [changed default port of SSH protocol][4], just mention it using **-p** parameter like below. - -``` -$ ssh -p 2200 sk@192.168.225.22 uname -a -``` - -#### 1.2. Execute Multiple Commands On Remote Hosts Via SSH - -You can also run multiple commands on a remote host by specifying them within quotes like below. - -``` -$ ssh sk@192.168.225.22 "uname -r && lsb_release -a" -``` - -Or, - -``` -$ ssh sk@192.168.225.22 "uname -r ; lsb_release -a" -``` - -The above commands will display the Kernel version and distribution details of my Ubuntu server. - -**Sample output:** - -![Run Multiple Commands On Remote Hosts Over SSH On Linux][5] - -As one one of our reader mentioned in the comment section below, you should specify multiple commands in quotes. If you don't use quotes, the first command will execute on the remote system and second command will be evaluated on local machine only. The whole command in quotes will be processed remotely as intended. - -#### 1.3. Invoke Commands With Sudo Privileges On Remote Machines Over SSH - -Some commands requires `"sudo"` privileges to run. For instance, the following command will install **Vim** on my remote system. - -``` -$ ssh -t sk@192.168.225.22 sudo apt install apache2 -``` - -**Sample output:** - -![Run Commands With Sudo Privileges On Remote Machines Over SSH][6] - -Did you notice? I have used **-t** flag in the above command. We need to mention this **-t** flag to force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. - -Also, I have entered password **twice**. The first time I entered the password of the remote user to access the remote system over SSH from my local system and the second password is required to give sudo permission to the remote user to install application (i.e. apache2 in this case) on the remote system. - -Let us check if the Apache service is running using command: - -``` -$ ssh -t sk@192.168.225.22 sudo systemctl status apache2 -sk@192.168.225.22's password: -[sudo] password for sk: -● apache2.service - The Apache HTTP Server -Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) -Drop-In: /lib/systemd/system/apache2.service.d -└─apache2-systemd.conf -Active: active (running) since Thu 2019-12-19 11:08:03 UTC; 52s ago -Main PID: 5251 (apache2) -Tasks: 55 (limit: 2318) -CGroup: /system.slice/apache2.service -├─5251 /usr/sbin/apache2 -k start -├─5253 /usr/sbin/apache2 -k start -└─5254 /usr/sbin/apache2 -k start - -Dec 19 11:08:03 ubuntuserver systemd[1]: Starting The Apache HTTP Server... -Dec 19 11:08:03 ubuntuserver apachectl[5227]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 2409:4072:51f:a1b6:a00:27ff:f -Dec 19 11:08:03 ubuntuserver systemd[1]: Started The Apache HTTP Server. -``` - -Similarly, we can run any command or script on a remote system over SSH from the local system. - -#### 1.4. Run Local Scripts On Remote Systems Via SSH - -Let us a create a simple script on our local system to display all the available information about your remote system's distribution name, package management and base details etc. - -``` -$ vi system_information.sh -``` - -Add the following lines: - -``` -#!/bin/bash -#Name: Display System Details -#Owner: OSTechNIx -#---------------------------- -echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel* -``` - -Press **ESC** key and type **:wq** to save the file and exit. - -Now run this script on your remote system over SSH using command: - -``` -$ ssh sk@192.168.225.22 'bash -s' < system_information.sh -``` - -**Sample output:** - -``` -sk@192.168.225.22's password: -/etc/debian_version /etc/lsb-release /etc/os-release -buster/sid -DISTRIB_ID=Ubuntu -DISTRIB_RELEASE=18.04 -DISTRIB_CODENAME=bionic -DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS" -NAME="Ubuntu" -VERSION="18.04.2 LTS (Bionic Beaver)" -ID=ubuntu -ID_LIKE=debian -PRETTY_NAME="Ubuntu 18.04.2 LTS" -VERSION_ID="18.04" -HOME_URL="https://www.ubuntu.com/" -SUPPORT_URL="https://help.ubuntu.com/" -BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" -PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" -VERSION_CODENAME=bionic -UBUNTU_CODENAME=bionic -``` - -If you don't specify `'bash -s'` in the above command, you will get the details of the remote system but Pseudo-terminal will not be allocated. - -#### 1.5. Save Command Output From Remote Host To Local Host - -This can be useful if you want to share the output of a command that you run on the remote system over SSH with your support team or colleague. - -The following command will run **"du -ah"** on your remote system over SSH and save the output in **diskusage.txt** file in your local system. - -``` -$ ssh sk@192.168.225.22 du -ah > diskusage.txt -``` - -You can then analyze the disk usage details by viewing the `diskusage.txt` file using **cat** command or text viewers. - -``` -$ cat diskusage.txt -4.0K ./.profile -4.0K ./.gnupg/private-keys-v1.d -8.0K ./.gnupg -76K ./data/image.jpg -128K ./data/file.pdf -20K ./data/text.docx -5.9M ./data/audio.mp3 -6.1M ./data -0 ./.sudo_as_admin_successful -4.0K ./pacman?inline=false -4.0K ./.bash_logout -4.0K ./.wget-hsts -4.0K ./.bash_history -0 ./.cache/motd.legal-displayed -4.0K ./.cache -4.0K ./deb-pacman_1.0-0.deb -4.0K ./.bashrc -6.2M . -``` - -#### 1.6. Configure SSH Key-based Authentication To Avoid Password Typing - -If you run commands on remote systems often, you may want to configure SSH key-based authentication to skip password typing every time. More details can be found in the following link. - -* [How To Configure SSH Key-based Authentication In Linux][7] - -After configuring SSH key-based authentication, we can execute commands on Remote machines over SSH without entering the password: - -``` -$ ssh sk@192.168.225.22 sudo apt update -``` - -### 2. Use sshpass While Running Commands On Remote Machines Over SSH - -If you don't want to configure SSH key-based authentication, you can use **sshpass** utility to run commands on remote machines via without entering password. - -#### 2.1. What Is sshpass? - -The sshpass utility is designed for running ssh using the keyboard-interactive password authentication mode, but in non-interactive way. To put this in simple terms - sshpass offers non-interactive way to authenticate a SSH session. - -SSH uses direct TTY access to make sure that the password is indeed issued by an interactive keyboard user. Sshpass runs ssh in a dedicated tty, fooling it into thinking it is getting the password from an interactive user. - -#### 2.2. Install sshpass In Linux - -The sshpass utility is available in the default repositories of many Linux distributions. For instance, you can use the following command to install sshpass in Debian, Ubuntu and its derivatives: - -``` -$ sudo apt install sshpass -``` - -#### 2.3. Execute Commands On Remote Machines Over SSH With sshpass - -sshpass can accept password as an argument, or read the password via an environment variable, or read the password from a text file. - -**A word of caution:** All of these methods are **highly insecure**. All system users can see the password in the commands by simply issuing the **ps** command. It is **NOT RECOMMENDED** to use these methods in production. It is better to use key-based authentication instead. - -Let us see examples for each method. - -**Provide Password as an argument:** - -To provide password as an argument, use `-p` option like below. - -``` -$ sshpass -p ssh remoteuser@ip-address -``` - -**Example:** - -``` -$ sshpass -p ubuntu ssh ostechnix@192.168.1.30 uname -a -``` - -Here, - -* -p ubuntu - provides the password for the remote system. -* ostechnix@192.168.1.30 - Remote username and IP address. -* 'uname -a' - Command to execute on the remote machine. - -**Sample output:** - -``` -Linux Ubuntu22CT 5.15.60-1-pve #1 SMP PVE 5.15.60-1 (Mon, 19 Sep 2022 17:53:17 +0200) x86_64 x86_64 x86_64 GNU/Linux -``` - -**Provide Password as an Environment variable:** - -In this method, we declare an environment variable called **SSHPASS** with the remote system's password as its value. And then we provide the password with **-e** flag like below: - -``` -$ SSHPASS=ubuntu sshpass -e ssh ostechnix@192.168.1.30 uname -a -``` - -**Read Password from a text file:** - -Append the password in a text file with echo command: - -``` -$ echo "ubuntu" > mypassword.txt -``` - -Now, pass the password file to sshpass lwith **-f**flag like below: - -``` -$ sshpass -f mypassword.txt ssh ostechnix@192.168.1.30 uname -a -``` - -![Execute Commands On Remote Machines Over SSH With sshpass][8] - -### Conclusion - -In this tutorial, we learned a few methods to invoke a command or program on a remote machine over a secure network connection. Among all the methods, the sshpass method is least secure. The users are encouraged to avoid using sshpass in production systems. - --------------------------------------------------------------------------------- - -via: https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/ - -作者:[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-keep-ownership-and-file-permissions-intact-when-copying-files-or-directories/ -[2]: https://ostechnix.com/find-out-the-linux-distribution-name-version-and-kernel-details/ -[3]: https://ostechnix.com/wp-content/uploads/2019/12/Execute-Commands-On-Remote-Linux-Systems-Via-SSH.gif -[4]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ -[5]: https://ostechnix.com/wp-content/uploads/2019/12/Run-multiple-commands-on-remote-systems-via-SSH-on-Linux.png -[6]: https://ostechnix.com/wp-content/uploads/2019/12/Run-commands-with-sudo-privileges-on-remote-systems-via-SSH.png -[7]: https://ostechnix.com/configure-ssh-key-based-authentication-linux/ -[8]: https://ostechnix.com/wp-content/uploads/2022/09/Execute-Commands-On-Remote-Machines-Over-SSH-With-sshpass.png diff --git a/translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md new file mode 100644 index 0000000000..3d9c63ec5c --- /dev/null +++ b/translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md @@ -0,0 +1,350 @@ +[#]: subject: "Execute Commands On Remote Linux Systems Via SSH" +[#]: via: "https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: "MjSeven" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +通过 SSH 在远程 Linux 系统上执行命令 +====== +通过安全的网络连接在远程计算机上调用命令或程序 + +有一天,我正在测试如何在[将文件或目录复制到多个位置和系统时保持完整的文件权限][1]。当我想检查远程系统上的文件权限时,我必须通过 SSH 登录它并检查属性。从远程系统多次登录和注销的过程让我有点烦,我想,如果我可以**在远程 Linux 系统上通过 SSH 执行命令**就好了。 + +幸运的是,在浏览了 `ssh` 命令的手册页后,我找到了一个解决办法。 + +如果你想知道如何本地运行远程系统上运行命令或脚本,而不登录到远程系统,下面的内容会告诉你如何做。 + +### 1. 通过 SSH 在远程 Linux 系统上执行命令 + +从本地系统通过 SSH 在远程系统上运行命令或脚本的典型方法是: + +```bash +$ ssh +``` + +允许我给你们举几个例子。 + +#### 1.1. 通过 SSH 在远程系统上运行单个命令 + +假设你想要[查找远程 Linux 系统的内核详细信息][2]。为此,只需运行: + +```bash +$ ssh sk@192.168.225.22 uname -a +``` + +这里, + +* sk 是远程系统的用户名, +* 192.168.225.22 是远程系统的 IP 地址, +* `"uname -a"` 是我想在远程系统上运行的命令。 + +**示例输出:** + +![通过 SSH 在远程 Linux 系统上执行命令][3] + +看到没?我并没有实际登录到远程系统,但通过 SSH 在远程系统上执行了 `uname` 命令,并在本地系统的终端上显示了输出。 + +你还可以像下面这样用引号指定命令。 + +``` +$ ssh sk@192.168.225.22 "uname -a" +``` + +或者, + +``` +$ ssh sk@192.168.225.22 'uname -a' +``` + +如果你已经[更改了 SSH 协议的默认端口][4],只需使用 **-p** 参数指定它。 + +```bash +$ ssh -p 2200 sk@192.168.225.22 uname -a +``` + +#### 1.2. 通过 SSH 在远程主机上执行多个命令 + +你还可以在远程主机上运行多个命令,方法是将它们放在引号中。 + +```bash +$ ssh sk@192.168.225.22 "uname -r && lsb_release -a" +``` + +或者: + +``` +$ ssh sk@192.168.225.22 "uname -r ; lsb_release -a" +``` + +上面的命令将显示我的 Ubuntu 服务器的内核版本和发行版详细信息。 + +**示例输出:** + +![在 Linux 上通过 SSH 在远程主机上运行多个命令][5] + +正如一位读者在下面的评论部分提到的那样,你应该用引号指定多个命令。如果不使用引号,第一个命令将在远程系统上执行,第二个命令将仅在本地计算机上执行。整个带引号的命令将按预期在远程计算机上运行。 + +**提示:**了解 `"&&"` 和 `";"` 在命令中的区别: + +`"&&"` 操作符只有在第一个命令成功时才执行第二个命令。 + +示例: +``` +sudo apt-get update && sudo apt-get upgrade +``` + +在上述示例中,如果第一个命令成功,才会执行 `sudo apt-get upgrade`。否则,它将不会运行。 + +`";"` 操作符会执行第二个命令,无论第一个命令是成功还是失败。 + +示例: + +``` +sudo apt-get update ; sudo apt-get upgrade +``` + +在上述示例中,即使第一个命令失败,`sudo apt-get upgrade` 也会执行。 + +#### 1.3. 通过 SSH 在远程机器上调用有 Sudo 权限的命令 + +有些命令需要 `"sudo"` 权限才能运行。例如,以下命令将在我的远程系统上安装 **apache2**。 + +```bash +$ ssh -t sk@192.168.225.22 sudo apt install apache2 +``` + +**示例输出:** + +![通过 SSH 在远程机器上运行有 Sudo 权限的命令][6] + +注意到了吗?我在上面的命令中使用了 **-t** 标志,我们需要使用它来强制进行伪终端分配。它用于在远程机器上执行任意基于屏幕的程序,这非常有用。例如,在实现菜单服务时。 + +另外,我输入了**两次**密码。第一次是远程用户的密码,以便从本地系统通过 SSH 访问远程系统,第二次是为了向远程用户赋予 sudo 权限,以便安装应用程序(在本例中为 apache2)。 + +让我们用以下命令检查 Apache 服务是否正在运行: + +```bash +$ ssh -t sk@192.168.225.22 sudo systemctl status apache2 +sk@192.168.225.22's password: +[sudo] password for sk: +● apache2.service - The Apache HTTP Server +Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) +Drop-In: /lib/systemd/system/apache2.service.d +└─apache2-systemd.conf +Active: active (running) since Thu 2019-12-19 11:08:03 UTC; 52s ago +Main PID: 5251 (apache2) +Tasks: 55 (limit: 2318) +CGroup: /system.slice/apache2.service +├─5251 /usr/sbin/apache2 -k start +├─5253 /usr/sbin/apache2 -k start +└─5254 /usr/sbin/apache2 -k start + +Dec 19 11:08:03 ubuntuserver systemd[1]: Starting The Apache HTTP Server... +Dec 19 11:08:03 ubuntuserver apachectl[5227]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 2409:4072:51f:a1b6:a00:27ff:f +Dec 19 11:08:03 ubuntuserver systemd[1]: Started The Apache HTTP Server. +``` + +同样的,我们可以通过 SSH 在本地系统上运行远程系统上的任何命令或脚本。 + +#### 1.4. 通过 SSH 在远程系统上运行本地脚本 + +让我们在本地系统上创建一个简单的脚本来显示关于远程系统的发行版名称、包管理和基本细节等。 + +```bash +$ vi system_information.sh +``` + +添加以下行: + +```bash +#!/bin/bash +#Name: Display System Details +#Owner: OSTechNIx +#---------------------------- +echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel* +``` + +按下 **ESC** 键,输入 **:wq** 保存退出。 + +现在,通过 SSH 命令在远程系统上运行这个脚本: + +```bash +$ ssh sk@192.168.225.22 'bash -s' < system_information.sh +``` + +**示例输出:** + +```bash +sk@192.168.225.22's password: +/etc/debian_version /etc/lsb-release /etc/os-release +buster/sid +DISTRIB_ID=Ubuntu +DISTRIB_RELEASE=18.04 +DISTRIB_CODENAME=bionic +DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS" +NAME="Ubuntu" +VERSION="18.04.2 LTS (Bionic Beaver)" +ID=ubuntu +ID_LIKE=debian +PRETTY_NAME="Ubuntu 18.04.2 LTS" +VERSION_ID="18.04" +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +VERSION_CODENAME=bionic +UBUNTU_CODENAME=bionic +``` + +如果你没有在上面的命令中指定 `bash -s`,你将获得远程系统的详细信息,但伪终端不会被分配。 + +#### 1.5. 将远程主机的命令输出保存到本地主机 + +如果你希望与支持团队或同事共享远程系统上运行的命令输出,那么这非常有用。 + +以下命令将通过 SSH 在远程系统运行 **"du -ah"**,并将输出保存在本地系统的 **diskusage** 文件中。 + +```bash +$ ssh sk@192.168.225.22 du -ah > diskusage.txt +``` + +然后,你可以通过使用 **cat** 命令或文本编辑器查看 `diskusage.txt` 文件来分析磁盘使用细节。 + +```bash +$ cat diskusage.txt +4.0K ./.profile +4.0K ./.gnupg/private-keys-v1.d +8.0K ./.gnupg +76K ./data/image.jpg +128K ./data/file.pdf +20K ./data/text.docx +5.9M ./data/audio.mp3 +6.1M ./data +0 ./.sudo_as_admin_successful +4.0K ./pacman?inline=false +4.0K ./.bash_logout +4.0K ./.wget-hsts +4.0K ./.bash_history +0 ./.cache/motd.legal-displayed +4.0K ./.cache +4.0K ./deb-pacman_1.0-0.deb +4.0K ./.bashrc +6.2M . +``` + +#### 1.6. 配置 SSH 密钥认证,避免输入密码 + +如果你经常在远程系统上运行命令,你可能需要配置基于 SSH 密钥的身份验证,以便每次跳过密码输入。更多细节可以在以下链接中找到。 + +* [Linux 系统下如何配置 SSH 密钥认证][7] + +配置了基于 SSH 密钥的认证后,我们可以通过 SSH 在远程机器上执行命令,从而不需要输入密码: + +```bash +$ ssh sk@192.168.225.22 sudo apt update +``` + +### 2. 通过 sshpass 在远程机器上运行命令 + +如果你不想配置基于 SSH 密钥的身份验证,你可以使用 **sshpass** 实用程序。 + +#### 2.1. 什么是 sshpass? + +sshpass 是为使用键盘交互密码身份验证模式运行 ssh 而设计的,但它以非交互的方式。简单来说,sshpass 提供了非交互式的方式来验证 SSH 会话。 + +SSH 使用直接 TTY 访问来确保密码确实是由交互式键盘用户发出的。Sshpass 在一个专用 tty 中运行 ssh,让它误以为从交互用户那里获得了密码。 + +#### 2.2. 在 Linux 中安装 sshpass + +在许多 Linux 发行版的默认仓库中都有 sshpass 实用程序。例如,在 Debian、Ubuntu 及其衍生版本中,你可以使用下面的命令来安装 sshpass: + +```bash +$ sudo apt install sshpass +``` + +#### 2.3. 通过 SSH 和 sshpass 在远程机器上执行命令 + +Sshpass 可以接受 password 作为参数,或者通过环境变量读取密码,也可以从文本文件中读取密码。 + +**警告:**所有这些方法都是**高度不安全的**。所有系统用户都可以通过 **ps** 命令看到命令中的密码。**不建议**在生产中使用这些方法。最好使用基于密钥的身份验证。 + +让我们看看每种方法的示例。 + +**将密码作为参数提供:** + +将密码作为参数提供,使用 `-p` 选项,如下所示: + +```bash +$ sshpass -p ssh remoteuser@ip-address +``` + +**示例:** + +```bash +$ sshpass -p ubuntu ssh ostechnix@192.168.1.30 uname -a +``` + +其中, + +* -p ubuntu - 提供远程系统的密码。 +* ostechnix@192.168.1.30 - 远程系统用户名和地址。 +* 'uname -a' - 要在远程计算机上执行的命令。 + +**示例输出:** + +```bash +Linux Ubuntu22CT 5.15.60-1-pve #1 SMP PVE 5.15.60-1 (Mon, 19 Sep 2022 17:53:17 +0200) x86_64 x86_64 x86_64 GNU/Linux +``` + +**密码作为环境变量提供:** + +在这个方法中,我们声明一个名为 **SSHPASS** 的环境变量,用远程环境的密码作为其值。然后我们使用 **-e** 标志,如下所示: + +```bash +$ SSHPASS=ubuntu sshpass -e ssh ostechnix@192.168.1.30 uname -a +``` + +**从文本文件中读取密码:** + +使用 echo 命令在文本文件中追加密码: + +```bash +$ echo "ubuntu" > mypassword.txt +``` + +现在,将密码文件传递给带有 **-f** 标志的 sshpass,如下所示: + +```bash +$ sshpass -f mypassword.txt ssh ostechnix@192.168.1.30 uname -a +``` + +![通过 SSH 和 sshpass 在远程机器上执行命令][8] + +### 总结 + +在本教程中,我们学习了一些通过安全的网络连接在远程计算机上调用命令或程序的方法。在所有的方法中,sshpass 方法是最不安全的,建议用户避免在生产系统中使用它。 + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/ + +作者:[sk][a] +选题:[lkxed][b] +译者:[MjSeven](https://github.com/MjSeven) +校对:[校对者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-keep-ownership-and-file-permissions-intact-when-copying-files-or-directories/ +[2]: https://ostechnix.com/find-out-the-linux-distribution-name-version-and-kernel-details/ +[3]: https://ostechnix.com/wp-content/uploads/2019/12/Execute-Commands-On-Remote-Linux-Systems-Via-SSH.gif +[4]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ +[5]: https://ostechnix.com/wp-content/uploads/2019/12/Run-multiple-commands-on-remote-systems-via-SSH-on-Linux.png +[6]: https://ostechnix.com/wp-content/uploads/2019/12/Run-commands-with-sudo-privileges-on-remote-systems-via-SSH.png +[7]: https://ostechnix.com/configure-ssh-key-based-authentication-linux/ +[8]: https://ostechnix.com/wp-content/uploads/2022/09/Execute-Commands-On-Remote-Machines-Over-SSH-With-sshpass.png From 88440a395f400b18c38263cf6dab7bf87963f673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 12 Nov 2022 19:47:23 +0800 Subject: [PATCH 385/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221110.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Fix=20sud?= =?UTF-8?q?o=20Command=20Not=20Found=20Error.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Fix sudo Command Not Found Error.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md diff --git a/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md new file mode 100644 index 0000000000..4641133f19 --- /dev/null +++ b/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md @@ -0,0 +1,102 @@ +[#]: subject: "How to Fix: sudo Command Not Found Error" +[#]: via: "https://www.debugpoint.com/sudo-command-not-found/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Fix: sudo Command Not Found Error +====== + +**Here’s how you can fix the “sudo command not found” error in Debian, Ubuntu and other distros.** + +Sometimes, when you set up or install [Linux distributions][1] for the first time, you get the “sudo command not found” error while trying some commands with sudo. + +The sudo command is an abbreviation of “superuser do”, and it is a program which allows a user to execute a command with admin privileges. The sudo command helps you run programs/commands like an admin user. + +Also, the user, who is running the command with sudo must be a part of the sudo group. + +The primary reason you get this error is that the package itself is not installed. However, most modern Linux distribution provides this by default, but some don’t. + +Here are the steps you should follow to fix it. + +#### Troubleshooting#1 + +- First, install the sudo package to fix the problem. Open a terminal, refresh your system and run the following commands to install sudo. + +For Ubuntu, Debian and related distros: + +``` +su -apt updateapt install sudo +``` + +For Arch Linux: + +``` +pacman -S sudo +``` + +For Fedora, RHEL, etc: + +``` +su -dnf updatednf install sudo +``` + +- After the above installation is complete, you have to add the user to `sudo` group using the following command + +`usermod -aG sudo ` + +- Then run the `visudo` from the terminal and the following line. Press CTRL+O and CTRL+X to save & exit. + +![Updating the sudoers file using visudo][2] + +- Log off and log in again to reflect the change. + +#### Troubleshooting#2 + +After the above change, if you are still getting the error, then follow the below steps. + +Make sure your `$PATH` variable contains the proper path to the `sudo` executable. If the `sudo` is installed, but the `$PATH` is incorrect, you can also get this error. Ideally, your path should contain all the below paths. + +``` +echo $PATH +``` + +``` +/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin +``` + +To change the path variable, use the following command. For example, if the `/usr/bin` is not present, then you can add it via below + +``` +export PATH=$PATH:/usr/bin +``` + +Then log out and log in to see the effect. + +### Wrapping Up + +I hope this guide helps you to fix the sudo error in your Linux distros. The apparent solution is quite simple, really. + +Drop a note below if it helps/or if you have any questions. + +[Reference][3] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/sudo-command-not-found/ + +作者:[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/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Updating-the-sudoers-file-using-visudo.jpg +[3]: https://linux.die.net/man/8/sudo From 85c39b68184533cf4bf84c144a9b73afc5583aba Mon Sep 17 00:00:00 2001 From: Donkey Date: Sat, 12 Nov 2022 23:03:34 +0800 Subject: [PATCH 386/925] translated --- ... 4 open source editors I use for my writing.md | 56 ------------------- ... 4 open source editors I use for my writing.md | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 56 deletions(-) delete mode 100644 sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md create mode 100644 translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md diff --git a/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md deleted file mode 100644 index d544839c70..0000000000 --- a/sources/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md +++ /dev/null @@ -1,56 +0,0 @@ -[#]: subject: "4 open source editors I use for my writing" -[#]: via: "https://opensource.com/article/22/10/open-source-editors" -[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" -[#]: collector: "lkxed" -[#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -4 open source editors I use for my writing -====== - -I've done a lot of writing throughout my career, mostly as an IT consultant creating product documentation as client deliverables. These documents generally provide instructions on installing various operating systems and software products. - -Since 2018, I've contributed to opensource.com with articles about open source software. Of course, I use open source editors to write my pieces. Here are the four open source editors that I have used. - -### 1. Vi - -[Vi][1], also referred to as Vim, is the first open source editor that I learned. This was the editor taught by my computer science classes and that I used for all of my C programming. I have used it as my de facto command line editor since the mid-1990s. There are so many iterations of this tool that I could write a whole series on them. Suffice it to say that I stick to its basic command line form with minimal customization for my daily use. - -### 2. LibreOffice Writer - -Writer is part of the open source LibreOffice office suite. It is a full-featured word processor maintained by The Document Foundation. It supports industry-standard formats such as the Open Document Format (ODF), Open XML, and MS Office DOC, DOCX. [Learn more about Writer][2] on its official site. - -### 3. Ghostwriter - -Ghostwriter is a [text editor for Markdown][3]. It has a nice real-time viewer and syntax guide or cheat sheet feature. [Visit the official website][4] to discover more. - -### 4. Gedit - -Gedit is the basic graphical editor found in many Linux distributions and is described as "a small and lightweight text editor for the GNOME desktop." I have begun using it lately to create articles in the Asciidoc format. The benefit of using Asciidoc is that the syntax is easily manageable and importable into web rendering systems such as Drupal. [See the Gedit Wiki][5] for many tips and tricks. - -### Editing text - -An extensive list of editing software is available in the open source world. This list will likely grow as I continue writing. The primary goal for me is simplicity in formatting. I want my articles to be easy to import, convert, and publish in a web-focused platform. - -Your writing style, feature needs, and target audience will guide you in determining your preferred tools. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/open-source-editors - -作者:[Alan Formy-Duval][a] -选题:[lkxed][b] -译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/alanfdoss -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/12/vi-text-editor -[2]: https://www.libreoffice.org/discover/writer/ -[3]: https://opensource.com/article/21/10/markdown-editors -[4]: https://github.com/KDE/ghostwriter -[5]: https://wiki.gnome.org/Apps/Gedit diff --git a/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md new file mode 100644 index 0000000000..091ba343c8 --- /dev/null +++ b/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md @@ -0,0 +1,56 @@ +[#]: subject: "4 open source editors I use for my writing" +[#]: via: "https://opensource.com/article/22/10/open-source-editors" +[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" +[#]: collector: "lkxed" +[#]: translator: "Donkey-Hao" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +我使用的 4 款开源编辑器 +====== + +在职业生涯中我已经写过很多东西,主要是作为一名 IT 顾问,将产品文档创建为客户可交付成果。这些文档通常针对不同操作系统和软件产品提供说明。 + +自 2018 年,我开始在 `www.opensource.com` 上发表关于开源软件的文章。当然,我使用开源软件进行协作。接下来我将介绍我使用过的四款开源编辑器。 + +### 1. Vi + +[Vi][1] 也被称为 `Vim`,是我学习的第一款开源编辑器。这是我在计算机科学课程中学习的编辑器,并且我所有的 C 语言编程都是通过它完成的。自 1995 年以来,实际上我一直使用它作为命令行编辑器。这款工具有多个迭代版本,以至于我都可以为之写一系列文章了。为了日常使用方便,仅进行了一点点的改动,可以说我一直用它的基本命令行形式。 + +### 2. LibreOffice Writer + +Writer 是 LibreOffice 开源办公套件的一部分。它是由文档基金会(Document Foundation)维护的全功能文字处理器。它支持行业标准格式,例如开放文档格式 (ODF)、Open XML 和 MS Office DOC、DOCX。可以在其官方网站上 [了解有关 Writer 的更多信息][2]。 + +### 3. Ghostwriter + +Ghostwriter 是用于 [Markdown 的文本编辑器][3]。它有一个很好的实时查看器和语法指南或备忘单功能。[访问官方网站][4] 了解更多内容。 + +### 4. Gedit + +Gedit 是许多 Linux 发行版中的基本图形编辑器,被描述为“用于 GNOME 桌面的小型轻量级文本编辑器”。我最近开始使用它来创建 Asciidoc 格式的文章。使用 Asciidoc 的好处是语法易于管理并可导入到 Drupal 等 Web 渲染系统中。通过 [Gedit Wiki][5] 了解许多提示和技巧。 + +### 编辑文本 + +开源世界中有大量编辑软件。随着我继续写作,这个列表可能会增加。我的主要目标是格式简单。我希望我的文章易于在互联网平台上导入、转换和发布。 + +你的写作风格、功能需求和目标受众将指导你确定首选工具。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/open-source-editors + +作者:[Alan Formy-Duval][a] +选题:[lkxed][b] +译者:[Donkey-Hao](https://github.com/Donkey-Hao) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/alanfdoss +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/vi-text-editor +[2]: https://www.libreoffice.org/discover/writer/ +[3]: https://opensource.com/article/21/10/markdown-editors +[4]: https://github.com/KDE/ghostwriter +[5]: https://wiki.gnome.org/Apps/Gedit From c2ce37ec378175e4d77bed867b9b6e5f34ba1311 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 13 Nov 2022 10:44:44 +0800 Subject: [PATCH 387/925] RP @FYJNEVERFOLLOWS https://linux.cn/article-15246-1.html --- ...files with this versatile Linux command.md | 101 +++++++++--------- 1 file changed, 53 insertions(+), 48 deletions(-) rename {translated/tech => published}/20210202 Convert audio files with this versatile Linux command.md (54%) diff --git a/translated/tech/20210202 Convert audio files with this versatile Linux command.md b/published/20210202 Convert audio files with this versatile Linux command.md similarity index 54% rename from translated/tech/20210202 Convert audio files with this versatile Linux command.md rename to published/20210202 Convert audio files with this versatile Linux command.md index fea685931d..5d4010c370 100644 --- a/translated/tech/20210202 Convert audio files with this versatile Linux command.md +++ b/published/20210202 Convert audio files with this versatile Linux command.md @@ -1,30 +1,34 @@ [#]: collector: (lujun9972) -[#]: translator: (FYJNEVERFOLLOWS ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: translator: (FYJNEVERFOLLOWS) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15246-1.html) [#]: subject: (Convert audio files with this versatile Linux command) [#]: via: (https://opensource.com/article/20/2/linux-sox) [#]: author: (Klaatu https://opensource.com/users/klaatu) 使用这个多功能的 Linux 命令转换音频文件 ====== -SoX Sound Exchange 甚至可以为您的音频文件添加特效。 -![HiFi vintage stereo][1] -我与媒体打交道,当你与任何一种媒体打交道时,你很快就会知道标准化是一种有价值的工具。就像你不会试图在不转换其中一个或另一个的情况下将分数加到小数中一样,我已经了解到组合不同格式的媒体并不是理想的。为了方便用户,大多数爱好者级应用程序使转换过程不可见。然而,对于那些需要控制媒体细节的用户的灵活软件,会通常让你自己提前将媒体转换为所需的格式。我有一些最喜欢的音频转换工具,其中之一就是号称“声音的瑞士军刀” —— [SoX][2]。 +> SoX Sound Exchange 甚至可以为你的音频文件添加特效。 + +![](https://img.linux.net.cn/data/attachment/album/202211/13/104314skttlizoioyeaw3w.jpg) + +我工作需要使用音视频媒体,不管你处理哪种媒体,你肯定知道标准化是一种有价值的工具。就像你不会试图把一个分数加到一个小数上而不转换其中一个一样,我已经知道,把不同格式的媒体组合起来并不理想。为了方便用户,大多数爱好者级应用程序使转换过程不可见。然而,对于那些需要控制媒体细节的用户的灵活软件,会通常让你自己提前将媒体转换为所需的格式。我有一些最喜欢的音频转换工具,其中之一就是号称“音频的瑞士军刀” —— [SoX][2]。 ### 安装 -在 Linux 或 BSD 上,可以从软件存储库或端口树中安装 **sox** 命令(和一些有用的符号链接)。 + +在 Linux 或 BSD 上,可以从软件存储库或 Ports 树中安装 `sox` 命令(,以及一些有用的符号链接)。 你也可以从 [Sourceforge.net][3] 上安装 SoX。它不经常发布,但它的代码库往往是稳定的,所以如果你想要最新的功能(如 Opus 支持),构建它是容易和安全的。 -SoX 主要提供了 **SoX** 命令,但是安装 SoX 也创建了一些有用的符号链接:**play**、**rec** 和 **soxi**。 +SoX 主要提供了 `sox` 命令,但是创建了一些有用的符号链接:`play`、`rec` 和 `soxi`。 -### 使用 SoX 获取有关文件的信息 -SoX 读取和重写音频数据。它是否存储重写的音频数据取决于你。在有些情况下,你不需要存储转换后的数据,例如,当你将输出直接发送到扬声器进行回放时。然而,在进行任何转换之前,最好首先确定要处理的是什么。 +### 使用 SoX 获取文件信息 -使用 **soxi** 命令也可以收集音频文件信息。**soxi** 会符号链接到 **soxi--info**。 +SoX 可以读取和重写音频数据。它是否存储重写的音频数据取决于你。在有些情况下,你不需要存储转换后的数据,例如,当你将输出直接发送到扬声器进行回放时。然而,在进行任何转换之前,最好首先确定要处理的是什么。 + +使用 `soxi` 命令也可以收集音频文件信息。`soxi` 会符号链接到 `soxi --info`。 ``` $ soxi countdown.mp3 @@ -38,26 +42,28 @@ Bit Rate(比特率)       : 128k Sample Encoding(编码格式): MPEG audio (layer I, II or III) ``` -这个输出可以让你很好地了解音频文件的编码方式、文件长度、文件大小、采样率和通道数。其中一些你可能*认为*你已经知道了,但当客户把媒体带到我面前时,我从不相信这些假设。使用 **soxi** 验证媒体属性。 +这个输出可以让你很好地了解音频文件的编码方式、文件长度、文件大小、采样率和通道数。其中一些你可能*认为*你已经知道了,但当客户把媒体带到我面前时,我从不相信这些假设。使用 `soxi` 验证媒体属性。 ### 转换文件 -在本例中,游戏节目的音频以 MP3 文件的形式展示倒计时。虽然几乎所有的编辑应用程序都接受压缩音频,但它们都没有真正编辑压缩数据。转换是在某个地方发生的,可能是一个秘密的后台任务,也可能是让你保存一份副本的提示。我通常喜欢自己提前完成转换。这样,我可以控制使用的格式。我可以在一夜之间批量制作大量的媒体,而不是浪费宝贵的制作时间,等待编辑应用程序按需浏览它们。 -**sox** 命令用于转换音频文件。在 **sox** 流程中有几个阶段: +在本例中,,一个游戏节目倒计时的音频是以MP3文件的形式提供的。虽然几乎所有的编辑应用程序都接受压缩音频,但它们并不是在压缩的数据上进行编辑。转换是在某个地方发生的,可能是一个秘密的后台任务,也可能提示让你保存一份副本。我通常喜欢自己提前完成转换。这样,我可以控制使用的格式。我可以在夜间批量处理大量的媒体,而不是浪费宝贵的制作时间,等待编辑应用程序按需处理它们。 + +`sox` 命令用于转换音频文件。在 `sox` 流程中有几个阶段: + * 输入 * 合并 * 特效 * 输出 -在命令语法中,特效步骤令人困惑地写到*最后一步*。这意味着 **sox** 流程是这样组成的: +但在命令语法中,特效步骤令人困惑地放到了*最后一步*。这意味着 `sox` 流程是这样组成的: ``` 输入 → 合并 → 输出 → 特效 ``` ### 编码 -最简单的转换命令只涉及一个输入文件和一个输出文件。下面是转换 MP3 文件为无损 FLAC 文件的命令: +最简单的转换命令只涉及一个输入文件和一个输出文件。下面是转换 MP3 文件为无损 FLAC 文件的命令: ``` $ sox countdown.mp3 output.flac @@ -75,44 +81,46 @@ Comment(注释)        : 'Comment=Processed by SoX' ``` #### 特效 -特效可以在命令末尾指定。它可以在将数据发送到最终目的地之前更改音频。例如,有时声音太大会在转换过程中造成问题: +特效可以在命令末尾指定。它可以在将数据发送到最终目的地之前更改音频。例如,有时声音太大会在转换过程中造成问题: ``` $ sox bad.wav bad.ogg sox WARN sox: `bad.ogg' output clipped 126 samples; decrease volume? ``` -应用**增益** (gain) 效果通常可以解决此问题: +应用**增益**(`gain`)效果通常可以解决此问题: ``` -`$ sox bad.wav bad.ogg gain -1` +$ sox bad.wav bad.ogg gain -1 ``` #### 淡入淡出 -另一个常用的效果是**淡入淡出**。此效果允许你定义淡入或淡出的形状,以及你希望淡入淡出效果持续的时间。 + +另一个常用的效果是**淡入淡出**(`fade`)。此效果允许你定义淡入或淡出的类型,以及你希望淡入淡出效果持续的时间。 下面是一个使用倒抛物线的 6 秒淡入示例: - ``` -`$ sox intro.ogg intro.flac fade p 6` +$ sox intro.ogg intro.flac fade p 6 ``` -这将对音频的头部应用 3 秒的淡入,并从 8 秒标记开始淡出(介绍音乐只有 11 秒,因此在这种情况下淡出也是3秒): +这将对音频的头部应用 3 秒的淡入,并从 8 秒标记开始淡出(这段音乐只有 11 秒,因此在这种情况下淡出也是 3 秒): ``` -`$ sox intro.ogg intro.flac fade p 3 8` +$ sox intro.ogg intro.flac fade p 3 8 ``` -**sox** 手册页中列出了不同类型的淡入淡出(正弦、线性、倒抛物线等)以及**淡入淡出提供的选项。 +`sox` 手册页中列出了不同类型的淡入淡出(正弦、线性、倒抛物线等)以及淡入淡出提供的选项。 #### 特效语法 -每个特效插件都有自己的语法,因此请参阅手册页了解如何调用每个特效插件的详细信息。要做到这一点,你需要一个图形声波编辑器或数字音频工作站,例如 [LMMS][4] 或 [Rosegarden][5]。但是,如果你只想应用一次特效,可以在同一命令中将它们一起列出。 -此命令应用 -1 的**增益**效果、1.35 的速度**拉伸**和**淡入淡出**: +每个特效插件都有自己的语法,因此请参阅手册页了解如何调用每个特效插件的详细信息。 +效果可以在一个命令中以菊花链的方式进行,至少在你想组合它们的范围内是如此。换句话说,没有语法可以只在六秒钟的淡出期间应用一个镶边效果。对于如此精确的东西,你需要一个图形声波编辑器或数字音频工作站,例如 [LMMS][4] 或 [Rosegarden][5]。但是,如果你只想应用一次特效,可以在同一命令中将它们一起列出。 + +此命令应用了一个 -1 的**增益**效果、1.35 的节奏**拉伸**和**淡出**: ``` $ sox intro.ogg output.flac gain -1 stretch 1.35 fade p 0 6 @@ -130,38 +138,36 @@ Comment(注释)        : 'Comment=Processed by SoX' ``` ### 组合音频 + SoX 还可以通过连接或混合音频文件来组合音频文件。 -要连接(或*拼接*)文件合并为一个文件,请在命令中提供多个输入文件: - +要连接(或者说*拼接*)文件合并为一个文件,请在命令中提供多个输入文件: ``` -`$ sox countdown.mp3 intro.ogg output.flac` +$ sox countdown.mp3 intro.ogg output.flac ``` -在本例中,**output.flac** 现在包含 **倒计时** 音频,紧接着是**简介** 音乐。 - -但是,如果你希望两首曲目同时播放,可以使用 **\--combine mix** 选项: +在本例中,`output.flac` 现在包含 `countdown.mp3` 音频,紧接着是 `intro.ogg` 音乐。 +但是,如果你希望两首曲目同时播放,可以使用 `--combine mix` 选项: ``` -`$ sox --combine mix countdown.mp3 intro.ogg output.flac` +$ sox --combine mix countdown.mp3 intro.ogg output.flac ``` -然而,想象一下,这两个输入文件的不同之处不仅仅在于它们的编解码器。声音用单声道(一个声道)录制并不少见,但音乐要用立体声(至少两个声道)来录制。SoX 不会给出默认的解决方案,因此你必须首先自己标准化这两个文件的格式。 +然而,想象一下,这两个输入文件的不同之处不仅仅在于它们的编解码器。人声音轨用单声道(一个声道)录制并不少见,但音乐至少要用立体声(至少两个声道)来录制。SoX 不会给出默认的解决方案,因此你必须首先自己标准化这两个文件的格式。 #### 更改音频文件 -选项只与后面列出的文件名相关。例如,此命令中的 **\--channels** 选项将*仅仅*应用于 **input.wav**,而*不被*应用于 **example.ogg** 和 **output.flac**: +选项与后面列出文件名有关。例如,此命令中的 `--channels` 选项将*仅仅*应用于 `input.wav`,而*不被*应用于 `example.ogg` 和 **output.flac**: ``` -`$ sox --channels 2 input.wav example.ogg output.flac` +$ sox --channels 2 input.wav example.ogg output.flac ``` -这意味着在 SoX 中,选项的位置非常重要。如果你在命令开始时指定一个选项,那么实际上只会覆盖 SoX 自己从输入文件中收集的内容。然而,在*输出文件*名 前的选项决定了 SoX 如何写入音频数据。 - -要解决以前的不兼容通道问题,你可以首先标准化输入,然后混合: +这意味着在 SoX 中,选项的位置非常重要。如果你在命令开始时指定一个选项,那么实际上只会覆盖 SoX 自己从输入文件中收集的内容。然而,在*输出文件*名前的选项决定了 SoX 如何写入音频数据。 +要解决前面的通道不兼容问题,你可以首先标准化输入,然后混合: ``` $ sox countdown.mp3 --channels 2 countdown-stereo.flac gain -1 @@ -178,17 +184,16 @@ Sample Encoding(编码格式): 16-bit FLAC Comment(注释)        : 'Comment=Processed by SoX' $ sox --combine mix \ -countdown-stereo.flac \ -intro.ogg \ -output.flac + countdown-stereo.flac \ + intro.ogg \ + output.flac ``` SoX 绝对需要多个命令来执行复杂的操作,因此根据需要创建几个临时和中间文件是正常的。 ### 多通道音频 -当然,并非所有音频都被限制在一个或两个声道。如果您想将多个音频通道组合成一个文件,可以使用 SoX 和 **\--combine merge** 选项: - +当然,并非所有音频都被限制在一个或两个声道。如果你想将多个音频通道组合成一个文件,可以使用 SoX 的 `--combine merge` 选项: ``` $ sox --combine merge countdown.mp3 intro.ogg output.flac @@ -201,7 +206,7 @@ Channels       : 3 ### 简单的音频操作 -在没有视觉界面的情况下操作音频似乎很奇怪,而且对于某些任务来说,SoX 绝对不是最好的工具。然而,对于许多任务,SoX 提供了一个简单而轻量级的工具包。SoX 是一个具有强大潜力的简单命令。有了它,你可以转换音频,操纵通道和波形,甚至生成自己的声音。本文仅简要概述了其功能,因此请阅读其手册页或[在线文档][2],然后看看你能创造什么。 +在没有视觉界面的情况下操作音频似乎很奇怪,而且对于某些任务来说,SoX 绝对不是最好的工具。然而,对于许多任务,SoX 提供了一个简单而轻量级的工具包。SoX 是一个具有强大潜力的简单命令。有了它,你可以转换音频,操纵通道和波形,甚至生成自己的声音。本文仅简要概述了其功能,因此请阅读其手册页或 [在线文档][2],然后看看你能创造什么。 -------------------------------------------------------------------------------- @@ -210,7 +215,7 @@ via: https://opensource.com/article/20/2/linux-sox 作者:[Klaatu][a] 选题:[lujun9972][b] 译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 87e4ca42d4045f672e4305542227dc798ca42387 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 13 Nov 2022 11:19:06 +0800 Subject: [PATCH 388/925] translated --- ...rity properties on Linux using checksec.md | 438 ------------------ ...rity properties on Linux using checksec.md | 422 +++++++++++++++++ 2 files changed, 422 insertions(+), 438 deletions(-) delete mode 100644 sources/tech/20210607 Identify security properties on Linux using checksec.md create mode 100644 translated/tech/20210607 Identify security properties on Linux using checksec.md diff --git a/sources/tech/20210607 Identify security properties on Linux using checksec.md b/sources/tech/20210607 Identify security properties on Linux using checksec.md deleted file mode 100644 index e10996be18..0000000000 --- a/sources/tech/20210607 Identify security properties on Linux using checksec.md +++ /dev/null @@ -1,438 +0,0 @@ -[#]: subject: (Identify security properties on Linux using checksec) -[#]: via: (https://opensource.com/article/21/6/linux-checksec) -[#]: author: (Gaurav Kamathe https://opensource.com/users/gkamathe) -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -Identify security properties on Linux using checksec -====== -Learn how to use checksec to identify an executable's security -properties, understand what they mean, and know how to use them. -![Target practice][1] - -Compiling source code produces a binary. During compilation, you can provide flags to the compiler to enable or disable certain properties on the binary. Some of these properties are relevant to security. - -Checksec is a nifty little tool (and shell script) that, among other functions, identifies the security properties that were built into a binary when it was compiled. A compiler might enable some of these properties by default, and you might have to provide specific flags to enable others. - -This article explains how to use checksec to identify the security properties on a binary, including: - - 1. The underlying commands checksec uses to find information on the security properties - 2. How to enable security properties using the GNU Compiler Collection (GCC) when compiling a sample binary - - - -## Install checksec - -To install checksec on Fedora and other RPM-based systems, use: - - -``` -`$ sudo dnf install checksec` -``` - -For Debian-based distros, use the equivalent `apt` command. - -## The shell script - -Checksec is a single-file shell script, albeit a rather large one. An advantage is that you can read through the script quickly and understand all the system commands running to find information about binaries or executables: - - -``` -$ file /usr/bin/checksec -/usr/bin/checksec: Bourne-Again shell script, ASCII text executable, with very long lines - -$ wc -l /usr/bin/checksec -2111 /usr/bin/checksec -``` - -Take checksec for a drive with a binary you probably run daily: the ubiquitous `ls` command. The command's format is `checksec --file=` followed by the absolute path of the `ls` binary: - - -``` -$ checksec --file=/usr/bin/ls -RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      Symbols         FORTIFY Fortified       Fortifiable     FILE -Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   No Symbols        Yes   5       17              /usr/bin/ls -``` - -When you run this in a terminal, you see color-coding that shows what is good and what probably isn't. I say "probably" because even if something is in red, it doesn't necessarily mean things are horrible—it might just mean the distro vendors made some tradeoffs when compiling the binaries. - -The first line provides various security properties that are usually available for binaries, like `RELRO`, `STACK CANARY`, `NX`, and so on (I explain in detail below). The second line shows the status of these properties for the given binary (`ls`, in this case). For example, `NX enabled` means some property is enabled for this binary. - -## A sample binary - -For this tutorial, I'll use the following "hello world" program as the sample binary. - - -``` -#include <stdio.h> - -int main() -{ -        [printf][2]("Hello World\n"); -        return 0; -} -  -``` - -Note that I did not provide `gcc` with any additional flags during compilation: - - -``` -$ gcc hello.c -o hello -  -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped - -$ ./hello -Hello World -``` - -Run the binary through checksec. Some of the properties are different than with the `ls` command above (on your screen, these may be displayed in red): - - -``` -$ checksec --file=./hello -RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      Symbols         FORTIFY Fortified       Fortifiable     FILE -Partial RELRO   No canary found   NX enabled    No PIE          No RPATH   No RUNPATH   85) Symbols       No    0       0./hello -$ -``` - -## Changing the output format - -Checksec allows various output formats, which you can specify with `--output`. I'll choose the JSON format and pipe the output to the `jq` utility for pretty printing. - -To follow along, [ensure you have `jq` installed][3] because this tutorial uses this output format to quickly grep for specific properties from the output and report `yes` or `no` on each: - - -``` -$ checksec --file=./hello --output=json | jq -{ -  "./hello": { -    "relro": "partial", -    "canary": "no", -    "nx": "yes", -    "pie": "no", -    "rpath": "no", -    "runpath": "no", -    "symbols": "yes", -    "fortify_source": "no", -    "fortified": "0", -    "fortify-able": "0" -  } -} -``` - -## Walking through the security properties - -The binary above includes several security properties. I'll compare that binary against the `ls` binary above to examine what is enabled and explain how checksec found this information. - -### 1\. Symbols - -I'll start with the easy one first. During compilation, certain symbols are included in the binary, mostly for debugging. These symbols are required when you are developing software and require multiple cycles for debugging and fixing things. - -These symbols are usually stripped (removed) from the final binary before it's released for general use. This does not affect the binary's execution in any way; it will run just as it would with the symbols. Stripping is often done to save space, as the binary is somewhat lighter once the symbols have been stripped. In closed-source or proprietary software, symbols often are removed because having these symbols in a binary makes it somewhat easy to infer the software's inner workings. - -According to checksec, symbols are present in this binary, yet they were not in the `ls` binary. You can also find this information by running the `file` command on the program—you see `not stripped` in the output towards the end: - - -``` -$ checksec --file=/bin/ls --output=json | jq | grep symbols -    "symbols": "no", - -$ checksec --file=./hello --output=json | jq | grep symbols -    "symbols": "yes", - -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped -``` - -How did checksec find this information? Well, it provides a handy `--debug` option to show which functions ran. Therefore, running the following command should show you which functions ran within the shell script: - - -``` -`$ checksec --debug --file=./hello` -``` - -In this tutorial, I'm looking for the underlying commands used to find this information. Since it's a shell script, you can always utilize Bash features. This command will output every command that ran from within the shell script: - - -``` -`$ bash -x /usr/bin/checksec --file=./hello` -``` - -If you scroll through the output, you should see an `echo_message` followed by the security property's category. Here is what checksec reports about whether the binary contains symbols: - - -``` -\+ readelf -W --symbols ./hello -\+ grep -q '\\.symtab' -\+ echo_message '\033[31m96) Symbols\t\033[m  ' Symbols, ' symbols="yes"' '"symbols":"yes",' -``` - -To simplify this, checksec utilizes the `readelf` utility to read the binary and provides a special `--symbols` flag that lists all symbols within the binary. Then it greps for a special value, `.symtab`, that provides a count of entries (symbols) it finds. You can try out the following commands on the test binary you compiled above: - - -``` -$ readelf -W --symbols ./hello -$ readelf -W --symbols ./hello | grep -i symtab -``` - -## How to strip symbols - -You can strip symbols after compilation or during compilation. - - * **Post compilation:** After compilation, you can use the `strip` utility on the binary to remove the symbols. Confirm it worked using the `file` command, which now shows the output as `stripped`: [code] $ gcc hello.c -o hello -$ -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, not stripped -$ -$ strip hello -$ -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, stripped -$ -``` -## How to strip symbols during compilation - -Instead of stripping symbols manually after compilation, you can ask the compiler to do it for you by providing the `-s` argument: -``` - - -$ gcc -s hello.c -o hello -$ -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=247de82a8ad84e7d8f20751ce79ea9e0cf4bd263, for GNU/Linux 3.2.0, stripped -$ - -``` -After rerunning checksec, you can see that `symbols` are shown as `no`: -``` - - -$ checksec --file=./hello --output=json | jq | grep symbols -    "symbols": "no", -$ - -``` -### 2\. Canary - -Canaries are known values that are placed between a buffer and control data on the _stack_ to monitor buffer overflows. When an application executes, two kinds of memory are assigned to it.  One of them is a _stack_, which is simply a data structure with two operations: `push`, which puts data onto the stack, and `pop`, which removes data from the stack in reverse order. Malicious input could overflow or corrupt the stack with specially crafted input and cause the program to crash: -``` - - -$ checksec --file=/bin/ls --output=json | jq | grep canary -    "canary": "yes", -$ -$ checksec --file=./hello --output=json | jq | grep canary -    "canary": "no", -$ - -``` -How does checksec find out if the binary is enabled with a canary? Using the method above, you can narrow it down by running the following command within the shell script: -``` -`$ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie'` -``` -#### Enable canary - -To protect against these cases, the compiler provides the `-stack-protector-all` flag, which adds extra code to the binary to check for such buffer overflows: -``` - - -$ gcc -fstack-protector-all hello.c -o hello - -$ checksec --file=./hello --output=json | jq | grep canary -    "canary": "yes", - -``` -Checksec shows that the property is now enabled. You can also verify this with: -``` - - -$ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie' -     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@GLIBC_2.4 (3) -    83: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@@GLIBC_2.4 -$ - -``` -### 3\. PIE - -PIE stands for position-independent executable. As the name suggests, it's code that is placed somewhere in memory for execution regardless of its absolute address: -``` - - -$ checksec --file=/bin/ls --output=json | jq | grep pie -    "pie": "yes", - -$ checksec --file=./hello --output=json | jq | grep pie -    "pie": "no", - -``` -Often, PIE is enabled only for libraries and not for standalone command-line programs. In the output below, `hello` is shown as `LSB executable`, whereas, the `libc` standard library (`.so`) file is marked `LSB shared object`: -``` - - -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped - -$ file /lib64/libc-2.32.so -/lib64/libc-2.32.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4a7fb374097fb927fb93d35ef98ba89262d0c4a4, for GNU/Linux 3.2.0, not stripped - -``` -Checksec tries to find this information with: -``` - - -$ readelf -W -h ./hello | grep EXEC -  Type:                              EXEC (Executable file) - -``` -If you try the same command on a shared library instead of `EXEC`, you will see a `DYN`: -``` - - -$ readelf -W -h /lib64/libc-2.32.so | grep DYN -  Type:                              DYN (Shared object file) - -``` -#### Enable PIE - -To enable PIE on a test program, send the following arguments to the compiler: -``` -`$ gcc -pie -fpie hello.c -o hello` -``` -You can verify PIE is enabled using checksec: -``` - - -$ checksec --file=./hello --output=json | jq | grep pie -    "pie": "yes", -$ - -``` -It should show as a PIE executable with the type changed from `EXEC` to `DYN`: -``` - - -$ file hello -hello: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bb039adf2530d97e02f534a94f0f668cd540f940, for GNU/Linux 3.2.0, not stripped - -$ readelf -W -h ./hello | grep DYN -  Type:                              DYN (Shared object file) - -``` -### 4\. NX - -NX stands for "non-executable." It's often enabled at the CPU level, so an operating system with NX enabled can mark certain areas of memory as non-executable. Often, buffer-overflow exploits put code on the stack and then try to execute it. However, making this writable area non-executable can prevent such attacks. This property is enabled by default during regular compilation using `gcc`: -``` - - -$ checksec --file=/bin/ls --output=json | jq | grep nx -    "nx": "yes", - -$ checksec --file=./hello --output=json | jq | grep nx -    "nx": "yes", - -``` -Checksec determines this information with the command below. `RW` towards the end means the stack is readable and writable; since there is no `E`, it's not executable: -``` - - -$ readelf -W -l ./hello | grep GNU_STACK -  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10 - -``` -#### Disable NX for demo purposes - -It's not recommended, but you can disable `NX` when compiling a program by using the `-z execstack` argument: -``` - - -$ gcc -z execstack hello.c -o hello - -$ checksec --file=./hello --output=json | jq | grep nx -    "nx": "no", - -``` -Upon compilation, the stack becomes executable (`RWE`), which allows malicious code to execute: -``` - - -$ readelf -W -l ./hello | grep GNU_STACK -  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x10 - -``` -### 5\. RELRO - -RELRO stands for Relocation Read-Only. An Executable Linkable Format (ELF) binary uses a Global Offset Table (GOT) to resolve functions dynamically. When enabled, this security property makes the GOT within the binary read-only, which prevents some form of relocation attacks: -``` - - -$ checksec --file=/bin/ls --output=json | jq | grep relro -    "relro": "full", - -$ checksec --file=./hello --output=json | jq | grep relro -    "relro": "partial", - -``` -Checksec finds this information by using the command below. Here, one of the RELRO properties is enabled; therefore, the binary shows "partial" when verifying via checksec: -``` - - -$ readelf -W -l ./hello | grep GNU_RELRO -  GNU_RELRO      0x002e10 0x0000000000403e10 0x0000000000403e10 0x0001f0 0x0001f0 R   0x1 - -$ readelf -W -d ./hello | grep BIND_NOW - -``` -#### Enable full RELRO - -To enable full RELRO, use the following command-line arguments when compiling with `gcc`: -``` - - -$ gcc -Wl,-z,relro,-z,now hello.c -o hello - -$ checksec --file=./hello --output=json | jq | grep relro -    "relro": "full", - -``` -Now, the second property is also enabled, making the program full RELRO: -``` - - -$ readelf -W -l ./hello | grep GNU_RELRO -  GNU_RELRO      0x002dd0 0x0000000000403dd0 0x0000000000403dd0 0x000230 0x000230 R   0x1 - -$ readelf -W -d ./hello | grep BIND_NOW - 0x0000000000000018 (BIND_NOW)           - -``` -### 6\. Fortify - -Fortify is another security property, but it's out of scope for this article. I will leave learning how checksec verifies fortify in binaries and how it's enabled with `gcc` as an exercise for you to tackle. -``` - - -$ checksec --file=/bin/ls --output=json | jq  | grep -i forti -    "fortify_source": "yes", -    "fortified": "5", -    "fortify-able": "17" - -$ checksec --file=./hello --output=json | jq  | grep -i forti -    "fortify_source": "no", -    "fortified": "0", -    "fortify-able": "0" - -``` -## Other checksec features - -The topic of security is never-ending, and while it's not possible to cover everything here, I do want to mention a few more features of the `checksec` command that make it a pleasure to work with. - -### Run against multiple binaries - -You don't have to provide each binary to checksec individually. Instead, you can provide a directory path where multiple binaries reside, and checksec will verify all of them for you in one go: -``` -`$ checksec --dir=/usr diff --git a/translated/tech/20210607 Identify security properties on Linux using checksec.md b/translated/tech/20210607 Identify security properties on Linux using checksec.md new file mode 100644 index 0000000000..7d355380b7 --- /dev/null +++ b/translated/tech/20210607 Identify security properties on Linux using checksec.md @@ -0,0 +1,422 @@ +[#]: subject: (Identify security properties on Linux using checksec) +[#]: via: (https://opensource.com/article/21/6/linux-checksec) +[#]: author: (Gaurav Kamathe https://opensource.com/users/gkamathe) +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +在 Linux 上使用 Checksec 识别二进制文件的安全属性 +====== + +>这篇文章能让你了解如何使用 Checksec ,来识别一个可执行文件的安全属性,了解安全属性的含义,并知道如何使用它们。 + +![Target practice][1] + + +编译源代码会生成一个二进制文件(即 .o 文件)。在编译期间,你可以向 `gcc` 编译器提供 标志 flags ,以启用或禁用二进制文件的某些属性,这些属性与安全性相关。 + +Checksec 是一个漂亮的小工具,同时它也是一个 shell 脚本。Checksec 可以识别编译时构建到二进制文件中的安全属性。编译器可能会默认启用一些安全属性,你也可以提供特定的标志,来启用其他的安全属性。 + +本文将介绍如何使用 Checksec ,来识别二进制文件的安全属性,包括: + + 1. Checksec 在查找有关安全属性的信息时,使用了什么**底层的命令** + 2. 在将源代码编译成二进制文件时,如何使用 GNU 编译器套件 GNU Compiler Collection (即 GCC) ,来**启用安全属性**。 + +## 安装 checksec + +要在 Fedora 和其他基于 RPM 的 Linux 系统上,安装 Checksec,请使用以下命令: + +``` +$ sudo dnf install checksec +``` + +对于基于 Debian 的 Linux 发行版,使用对应的 `apt` 命令,来安装 Checksec。 + +``` +$ sudo apt install checksec +``` + +## shell 脚本 + +在安装完 Checksec 后,能够发现 Checksec 是一个**单文件**的 shell 脚本,它位于 `/usr/bin/checksec`,并且这个文件挺大的。Checksec 的一个优点是你可以通过快速通读这个 shell 脚本,从而了解 Checksec 的执行原理、明白所有能查找有关二进制文件或可执行文件的安全属性的**系统命令**: + +``` +$ file /usr/bin/checksec +/usr/bin/checksec: Bourne-Again shell script, ASCII text executable, with very long lines + +$ wc -l /usr/bin/checksec +2111 /usr/bin/checksec +``` + +以下的命令展示了如何对你每天都会使用的:`ls` 命令的二进制文件,进行 Checksec。Checksec 命令的格式是:`checksec --file=`,后面再跟上二进制文件的绝对路径: + +``` +$ checksec --file=/usr/bin/ls +RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      Symbols         FORTIFY Fortified       Fortifiable     FILE +Full RELRO      Canary found      NX enabled    PIE enabled     No RPATH   No RUNPATH   No Symbols        Yes   5       17              /usr/bin/ls +``` + +当你在终端中对某个二进制文件运行 Checksec 时,你会看到安全属性有颜色上的区分,显示什么是好的安全属性(绿色),什么可能不是好的安全属性(红色)。我在这里说 **“可能”** 是因为即使有些安全属性是红色的,也不一定意味着这个二进制文件很糟糕,它可能只是表明发行版供应商在编译二进制文件时做了一些权衡,从而舍弃了部分安全属性。 + +Checksec 输出的第一行提供了二进制文件的各种安全属性,例如 `RELRO`、`STACK CANARY`、`NX` 等(我将在后文进行详细解释)。第二行打印出给定二进制文件(本例中为 `ls`)在这些安全属性的状态(例如,`NX enabled` 表示为堆栈中的数据没有执行权限)。 + +## 示例二进制文件 + +在本文中,我将使用以下的“hello world”程序作为示例二进制文件。 + +``` +#include <stdio.h> + +int main() +{ +        [printf][2]("Hello World\n"); +        return 0; +} +  +``` + +请注意,在编译源文件 `hello.c` 的时候,我没有给 `gcc` 提供任何额外的标志: + +``` +$ gcc hello.c -o hello +  +$ file hello +hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped + +$ ./hello +Hello World +``` + +使用 Checksec 运行二进制文件 `hello`,打印的某些安全属性的状态,与上面的 `ls` 二进制文件的结果不同(在你的屏幕上,某些属性可能显示为红色): + +``` +$ checksec --file=./hello +RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      Symbols         FORTIFY Fortified       Fortifiable     FILE +Partial RELRO   No canary found   NX enabled    No PIE          No RPATH   No RUNPATH   85) Symbols       No    0       0./hello +$ +``` +LCTT 译注:在我的 Ubuntu 22.04 虚拟机,使用 11.3.0 版本的 gcc,结果与上述不太相同,利用默认参数进行编译,会得到 RELRO、PIE、NX 保护是全开的情况。 + +## 更改 Checksec 的输出格式 + +Checksec 允许自定义各种输出格式,你可以使用 `--output` 来自定义输出格式。我将选择的输出格式是 JSON 格式,并将输出结果通过管道传输到 `jq` 实用程序,来得到漂亮的打印。 + +接下来,确保你已安装好了 [`jq`][3],因为本教程会使用 `jq`,从 Checksec 的输出结果中,用 `grep` 来快速得到某一特定的安全属性状态,并报告该安全属性是否启动(启动为 `yes`,未启动为 `no`): + +``` +$ checksec --file=./hello --output=json | jq +{ +  "hello": { +    "relro": "partial", +    "canary": "no", +    "nx": "yes", +    "pie": "no", +    "rpath": "no", +    "runpath": "no", +    "symbols": "yes", +    "fortify_source": "no", +    "fortified": "0", +    "fortify-able": "0" +  } +} +``` + +## 看一看所有的安全属性 + +上面的二进制文件 `hello` 包括几个安全属性。我将该二进制文件与 `ls` 的二进制文件进行比较,以检查启用的安全属性有何不同,并解释 Checksec 是如何找到此信息。 + +### 1\. 符号(Symbol) + +我先从简单的讲起。在编译期间,某些 符号 symbols 包含在二进制文件中,这些符号主要用作于调试。开发软件时,需要用到这些符号,来调试和修复 bug。 + +这些符号通常会从供用户普遍使用的最终二进制文件中删除。删除这些符号不会影响到二进制文件的执行。删除符号通常是为了节省空间,因为一旦符号被删除了,二进制文件就会稍微小一些。在闭源或专有软件中,符号通常都会被删除,因为把这些符号放在二进制文件中,可以很容易地推断出软件的内部工作原理。 + +根据 Checksec 的结果,在二进制文件 `hello` 中有符号,但在 `ls` 的二进制文件中不会有符号。同样地,你还可以用 `file` 命令,来找到符号的信息,在二进制文件 `hello` 的输出结果的最后,看到 `not stripped`,表明二进制文件 `hello` 有符号: + +``` +$ checksec --file=/bin/ls --output=json | jq | grep symbols +    "symbols": "no", + +$ checksec --file=./hello --output=json | jq | grep symbols +    "symbols": "yes", + +$ file hello +hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped +``` + +Checksec 是如何找到符号的信息呢?Checksec 提供了一个方便的 `--debug` 选项,来显示运行了哪些函数。因此,运行以下的命令,会显示在 shell 脚本中运行了哪些函数: + +``` +$ checksec --debug --file=./hello +``` + +在本教程中,我试图寻找 Checksec 查找安全属性信息时,使用了什么**底层命令**。由于 Checksec 是一个 shell 脚本,因此你始终可以使用 Bash 功能。以下的命令将输出从 shell 脚本中运行的每个命令: + +``` +$ bash -x /usr/bin/checksec --file=./hello +``` + +如果你滚动浏览上述的输出结果的话,你会看到 `echo_message` 后面有各个安全属性的类别。以下显示了 Checksec 检测二进制文件是否包含符号时,运行的底层命令: + +``` +\+ readelf -W --symbols ./hello +\+ grep -q '\\.symtab' +\+ echo_message '\033[31m96) Symbols\t\033[m  ' Symbols, ' symbols="yes"' '"symbols":"yes",' +``` + +上面的输出显示,Checksec 利用 `readelf`,来读取二进制文件,并提供一个特殊 `--symbols` 标志,来列出二进制文件中的所有符号。然后它会查找一个特殊值:`.symtab`,它提供了所能找到的条目的计数(即符号的个数)。你可以在上面编译的测试二进制文件 `hello` 上,尝试以下命令,得到与 Checksec 查看二进制文件类似的符号信息: + +``` +$ readelf -W --symbols ./hello +$ readelf -W --symbols ./hello | grep -i symtab +``` +LCTT 译注:也可以通过直接查看 `/usr/bin/checksec` 下的 Checksec 源文件。 + +## 如何删除符号 + +你可以在编译后或编译时删除符号。 + + * **编译后:** 在编译后,你可以使用 `strip`,手动地来删除二进制文件的符号。删除后,使用 `file` 命令,来检验是否还有符号,现在显示 `stripped`,表明二进制文件 `hello` 无符号了: + + ``` + $ gcc hello.c -o hello + $ + $ file hello + hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, not stripped + $ + $ strip hello + $ + $ file hello + hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, stripped + $ + ``` + +## 如何在编译时删除符号 + +你也可以在编译时,用 `-s` 参数让 gcc 编译器帮你自动地删除符号: + +``` +$ gcc -s hello.c -o hello +$ +$ file hello +hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=247de82a8ad84e7d8f20751ce79ea9e0cf4bd263, for GNU/Linux 3.2.0, stripped +$ +``` + +重新运行 Checksec,你可以看到现在二进制文件 `hello` 的 `symbols` 这一属性的值是`no`: + +``` +$ checksec --file=./hello --output=json | jq | grep symbols +    "symbols": "no", +$ +``` + +### 2\. Canary(堆栈溢出哨兵) + +Canary 是放置在缓冲区和_栈_ stack 上的控制数据之间的已知值,它用于监视缓冲区是否溢出。当应用程序执行时,会为其分配两种内存,其中之一就是 _栈_。栈是一个具有两个操作的数据结构:第一个操作 `push`,将数据压入堆栈;第二个操作 `pop`,以后进先出的顺序从栈中弹出数据。恶意的输入可能会导致栈溢出,或使用特制的输入破坏栈,并导致程序崩溃: + +``` +$ checksec --file=/bin/ls --output=json | jq | grep canary +    "canary": "yes", +$ +$ checksec --file=./hello --output=json | jq | grep canary +    "canary": "no", +$ +``` + +Checksec 是如何确定二进制文件是否启用了 Canary 的呢?使用上述同样的方法,得到 Checksec 在检测二进制文件是否启用 Canary 时,运行的底层命令: + +``` +$ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie' +``` + +#### 启用 Canary + +为了防止栈溢出等情况,编译器提供了 `-stack-protector-all` 标志,它向二进制文件添加了额外的代码,来检查缓冲区是否溢出: + +``` +$ gcc -fstack-protector-all hello.c -o hello + +$ checksec --file=./hello --output=json | jq | grep canary +    "canary": "yes", +``` + +Checksec 显示 Canary 属性现已启用。你还可以通过以下方式,来验证这一点: + +``` +$ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie' +     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@GLIBC_2.4 (3) +    83: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail@@GLIBC_2.4 +$ +``` + +### 3\. 位置无关可执行文件(PIE) + +PIE(Position-Independent Executable)的意思是与位置无关的可执行文件。顾名思义,它指的是放置在内存中某处执行的代码,不管其绝对地址的位置,即代码段、数据段地址随机化(ASLR): + +``` +$ checksec --file=/bin/ls --output=json | jq | grep pie +    "pie": "yes", + +$ checksec --file=./hello --output=json | jq | grep pie +    "pie": "no", +``` + +通常,PIE 仅对 libraries 启用,并不对独立命令行程序启用 PIE。在下面的输出中,`hello` 显示为 `LSB executable`,而 `libc` 标准库 (`.so`) 文件被标记为 `LSB shared object`: + +``` +$ file hello +hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=014b8966ba43e3ae47fab5acae051e208ec9074c, for GNU/Linux 3.2.0, not stripped + +$ file /lib64/libc-2.32.so +/lib64/libc-2.32.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4a7fb374097fb927fb93d35ef98ba89262d0c4a4, for GNU/Linux 3.2.0, not stripped +``` + +Checksec 查找是否启用 PIE 的底层命令如下: + +``` +$ readelf -W -h ./hello | grep EXEC +  Type:                              EXEC (Executable file) +``` + +如果你在共享库上尝试相同的命令,你将看到 `DYN`,而不是`EXEC`: + +``` +$ readelf -W -h /lib64/libc-2.32.so | grep DYN +  Type:                              DYN (Shared object file) +``` + +#### 启用 PIE + +要在测试程序 `hello.c` 上启用 PIE,请在编译时,使用以下命令: + +``` +$ gcc -pie -fpie hello.c -o hello` +``` + +你可以使用 Checksec,来验证 PIE 是否已启用: + +``` +$ checksec --file=./hello --output=json | jq | grep pie +    "pie": "yes", +$ +``` + +现在,应该会显示为 PIE 可执行 pie executable ,其类型从 `EXEC` 更改为 `DYN`: + +``` +$ file hello +hello: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bb039adf2530d97e02f534a94f0f668cd540f940, for GNU/Linux 3.2.0, not stripped + +$ readelf -W -h ./hello | grep DYN +  Type:                              DYN (Shared object file) +``` + +### 4\. NX(堆栈禁止执行) + +NX 代表 不可执行 non-executable 。它通常在 CPU 层面上启用,因此启用 NX 的操作系统可以将某些内存区域标记为不可执行。通常,缓冲区溢出漏洞将恶意代码放在堆栈上,然后尝试执行它。但是,让堆栈这些可写区域变得不可执行,可以防止这种攻击。在使用 `gcc` 对源程序进行编译时,默认启用此安全属性: + +``` +$ checksec --file=/bin/ls --output=json | jq | grep nx +    "nx": "yes", + +$ checksec --file=./hello --output=json | jq | grep nx +    "nx": "yes", +``` + +Checksec 使用以下底层命令,来确定是否启用了 NX。在尾部的 `RW` 表示堆栈是可读可写的;因为没有 `E`,所以堆栈是不可执行的: + +``` +$ readelf -W -l ./hello | grep GNU_STACK +  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10 +``` + +#### 演示如何禁用 NX + +我们不建议禁用 NX,但你可以在编译程序时,使用 `-z execstack` 参数,来禁用 NX: + +``` +$ gcc -z execstack hello.c -o hello + +$ checksec --file=./hello --output=json | jq | grep nx +    "nx": "no", +``` + +编译后,堆栈会变为可读可写可执行(`RWE`),允许在堆栈上的恶意代码执行: + +``` +$ readelf -W -l ./hello | grep GNU_STACK +  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x10 +``` + +### 5\. RELRO(GOT写保护) + +RELRO 代表 重定位只读 Relocation Read-Only 。可执行链接格式 (ELF) 二进制文件使用全局偏移表(GOT),来动态地解析函数。启用 RELRO 后,会设置二进制文件中的 GOT 表为只读,从而防止重定位攻击: + +``` +$ checksec --file=/bin/ls --output=json | jq | grep relro +    "relro": "full", + +$ checksec --file=./hello --output=json | jq | grep relro +    "relro": "partial", +``` + +Checksec 使用以下底层命令,来查找是否启用 RELRO。在二进制文件 `hello` 仅启用了 RELRO 属性中的一个属性,因此,在 Checksec 验证时,显示“partial”: + +``` +$ readelf -W -l ./hello | grep GNU_RELRO +  GNU_RELRO      0x002e10 0x0000000000403e10 0x0000000000403e10 0x0001f0 0x0001f0 R   0x1 + +$ readelf -W -d ./hello | grep BIND_NOW +``` + +#### 启用 full RELRO + +要启用 full RELRO,请在 `gcc` 编译时,使用以下命令行参数: + +``` +$ gcc -Wl,-z,relro,-z,now hello.c -o hello + +$ checksec --file=./hello --output=json | jq | grep relro +    "relro": "full", +``` + +现在, RELRO 中的第二个属性也被启用,使程序变成 full RELRO: + +``` +$ readelf -W -l ./hello | grep GNU_RELRO +  GNU_RELRO      0x002dd0 0x0000000000403dd0 0x0000000000403dd0 0x000230 0x000230 R   0x1 + +$ readelf -W -d ./hello | grep BIND_NOW + 0x0000000000000018 (BIND_NOW)       +``` + +### 6\. Fortify + +Fortify 是另一个安全属性,但它超出了本文的范围。Checksec 是如何在二进制文件中验证 Fortify,以及如何在 `gcc` 编译时启用 Fortify,作为你需要解决的课后练习。 + +``` +$ checksec --file=/bin/ls --output=json | jq  | grep -i forti +    "fortify_source": "yes", +    "fortified": "5", +    "fortify-able": "17" + +$ checksec --file=./hello --output=json | jq  | grep -i forti +    "fortify_source": "no", +    "fortified": "0", +    "fortify-able": "0" +``` + +## 其他的 Checksec 功能 + +关于安全性的话题是永无止境的,不可能在本文涵盖所有关于安全性的内容,但我还想提一下 Checksec 命令的一些其他功能,这些功能也很好用。 + +### 针对多个二进制文件运行 + +你不必对每个二进制文件都进行一次 Checksec。相反,你可以提供多个二进制文件所在的目录路径,Checksec 将一次性为你验证所有文件: + +``` +$ checksec --dir=/usr +``` From 6a03e9658681d4c5627bd8d4d045e810ef2c0ef3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 13 Nov 2022 11:27:13 +0800 Subject: [PATCH 389/925] RP @geekpi https://linux.cn/article-15247-1.html --- ...o Remove Firefox Snap from Ubuntu (21.10 +).md | 138 ++++++++++++++++++ ...o Remove Firefox Snap from Ubuntu (21.10 +).md | 131 ----------------- 2 files changed, 138 insertions(+), 131 deletions(-) create mode 100644 published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md delete mode 100644 translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md diff --git a/published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md new file mode 100644 index 0000000000..9d673255d5 --- /dev/null +++ b/published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md @@ -0,0 +1,138 @@ +[#]: subject: "How to Remove Firefox Snap from Ubuntu (21.10 +)" +[#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15247-1.html" + +如何从 Ubuntu 21.10 及以后版本中删除 Firefox Snap +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/13/112531vis11sa2z1jbs215.jpg) + +> Ubuntu 21.10 “Impish Indri” 及之后的版本将 Firefox Snap 设为默认浏览器。如果你不喜欢 Snap,可以通过以下方式将其删除并使用库存版本。 + +关于 Snap 是否是 APT 的更好替代品,一直存在争议。而许多用户更喜欢 Snap 系统,也有一些人非常讨厌它。Ubuntu 和 Canonical 认为它是 Linux 的最佳安装仓库和包管理工具之一。 Snap 被讨厌的主要原因是它的启动很慢。然而,这个论点是另一篇文章的内容。 + +### 从 Ubuntu 中删除 Firefox Snap 版本 + +所以,如果你还没有 [听说过这件事][1],Ubuntu 21.10(和所有后续版本)默认提供 Firefox Snap 包。因此,当你从 Ubuntu 21.10 开始安装时,默认的左侧停靠区的快捷方式是 Firefox 的 Snap 版本。你可以使用以下各种方法对其进行验证。 + +![snap 列表 - Firefox][2] + +![Firefox snap 桌面快捷方式][3] + +如果你因为 [性能][4] 和存储问题而不喜欢 Snap,可以通过以下命令将其删除。 + +如果已经打开,那么关闭所有 Firefox 实例。 + +打开一个终端。然后运行以下命令: + +``` +sudo snap remove firefox +``` + +等待命令完成。这将从你的系统中删除它的 Snap 可执行文件,并断开 Firefox 与各种系统服务的连接。但是主目录下的 Snap 目录仍然存在。你可以使用以下命令手动删除它: + +``` +cd ~/snap +rm -r firefox +``` + +### 安装 Firefox 替代方法 + +现在,当你删除了 Firefox,你可以通过以下方式来使用此浏览器。 + +#### 方法 1 – 使用 PPA(推荐) + +在使用此方法之前,请确保如上删除了 Firefox 的 Snap 版本。 + +有一个 [官方 Firefox PPA][5],由其开发团队维护。你可以将此 PPA 添加到你的软件源中,并使用它来安装最新的 Firefox。 + +确保使用文本编辑器创建一个首选项文件,以阻止 Ubuntu 在运行 `apt update` 命令时获取 Firefox 的 Snap 版本: + +``` +sudo gedit /etc/apt/preferences.d/firefox-no-snap +``` + +将以下行添加到上面的文件并保存: + +``` +Package: firefox* +Pin: release o=Ubuntu* +Pin-Priority: -1 +``` + +依次使用以下命令。第一个命令将其从你的系统中完全清除它: + +``` +sudo apt purge firefox +sudo add-apt-repository ppa:mozillateam/firefox +sudo apt-get update +sudo apt install firefox +``` + +安装完成后,请确保使用以下命令启用自动升级: + +``` +echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox +``` + +重启系统(可选)并使用 deb 版本的 Firefox。 + +#### 方法 2 – 使用 Firefox 的压缩可执行文件 + +你可以从官方网站(链接如下)下载适用于 Ubuntu 和其他 Linux 的 Firefox 可执行文件压缩包。然后解压并双击运行 Firefox 可执行文件。这是最安全的方法。如果你使用此方法,你仍然可以获得更新。 + +> **[下载 Firefox][6]** + +![下载 Firefox 并解压][7] + +![然后运行可执行文件][8] + +#### 方法 3 – 使用 Flatpak 版本的 Firefox + +你也可以使用 [Flatpak 版本的 Firefox][9],这在 [Ubuntu 中设置 Flatpak][10] 后可用。然后你可以运行以下命令进行安装: + +``` +flatpak install flathub org.mozilla.firefox +``` + +#### 方法 4 – 使用与系统耦合更少的 Snap 版本 Firefox + +如果你认为你仍然可以继续使用 Snap 版本,但希望在系统中减少沙盒化,那么你可能需要使用以下命令和 [classic 开关][11] 重新安装 Firefox: + +``` +sudo snap install firefox --classic +``` + +### 结束语 + +因此,这是从 Ubuntu 21.10 开始删除 firefox Snap 版本的步骤,以及一些替代方案。我很想知道 Linux Mint 采取了什么措施,因为他们不支持 Snap。此外,这些发行版依赖于 Firefox 的 Ubuntu 上游仓库,看看它们会做什么很有趣。Debian 维护自己的仓库,但主要是 ESR 版本。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1943840 +[2]: https://www.debugpoint.com/wp-content/uploads/2021/09/snap-list-Firefox.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Firefox-snap-desktop-shortcut-1024x490.jpg +[4]: https://www.debugpoint.com/2021/03/clean-up-snap/ +[5]: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa +[6]: https://www.mozilla.org/en-US/firefox/new/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Download-Firefox-and-Extract.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/09/And-then-run-the-executable.jpg +[9]: https://flathub.org/apps/details/org.mozilla.firefox +[10]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ +[11]: https://snapcraft.io/docs/snap-confinement diff --git a/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md deleted file mode 100644 index 9956e89083..0000000000 --- a/translated/tech/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md +++ /dev/null @@ -1,131 +0,0 @@ -[#]: subject: "How to Remove Firefox Snap from Ubuntu (21.10 +)" -[#]: via: "https://www.debugpoint.com/remove-firefox-snap-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何从 Ubuntu (21.10 +) 中删除 Firefox Snap -====== - -**Ubuntu 21.10 Impish Indri 及之后的版本将 Firefox Snap 设为默认浏览器。如果你不喜欢 Snap,可以通过以下方式将其删除并使用库存版本。** - -关于 Snap 是否是 apt 的更好替代品,一直存在争议。而许多用户更喜欢它的系统,也有一些人非常讨厌 snap。 Ubuntu 和 Canonical 认为它是 Linux 的最佳安装仓库和包管理工具之一。 Snap 被讨厌的主要原因是它的启动很慢。然而,这个论点是另一篇文章的内容。 - -### 从 Ubuntu 中删除 Firefox Snap 版本 - -所以,如果你还没有[听说过这个故事][1],Ubuntu 21.10(和所有后续版本)默认提供 Firefox Snap 包。因此,当你从 Ubuntu 21.10 开始安装时,默认的 left-dock 快捷方式是 Firefox 的 snap 版本。你可以使用以下各种方法对其进行验证。 - -![snap 列表 - Firefox][2] - -![Firefox snap 桌面快捷方式][3] - -如果你因为[性能][4]和存储问题而不喜欢 Snap,可以通过以下命令将其删除。 - -- 如果打开,那么关闭所有 Firefox 实例。 - -- 打开一个终端。然后运行以下命令。 - -``` -sudo snap remove firefox -``` - -- 等待命令完成。这将从你的系统中删除 snap 可执行文件,并断开 Firefox 与各种系统服务的连接。但是主 snap 目录仍然存在。你可以使用以下命令手动删除它。 - -``` -cd ~/snaprm -r firefox -``` - -### 安装 Firefox 替代方法 - -现在,当你删除 Firefox 时,你可以通过以下选项来使用此浏览器。 - -#### 方法 1 – 使用 PPA(推荐) - -- 在使用此方法之前,请确保如上删除了 Firefox 的 snap 版本。 -- 有一个[官方 Firefox PPA][5],由其开发团队维护。你可以将此 PPA 添加到你的软件源中,并使用它来安装最新的 Firefox。 -- 确保使用文本编辑器创建一个首选项文件,以阻止 Ubuntu 在运行 apt update 命令时获取 Firefox 的 snap 版本。 - -``` -sudo gedit /etc/apt/preferences.d/firefox-no-snap -``` - -- 将以下行添加到上面的文件并保存。 - -``` -Package: firefox*Pin: release o=Ubuntu*Pin-Priority: -1 -``` - -- 依次使用以下命令。第一个命令将其从你的系统中完全删除。 - -``` -sudo apt purge firefox -sudo add-apt-repository ppa:mozillateam/firefox -sudo apt-get update -sudo apt install firefox -``` - -- 安装完成后,请确保使用以下命令启用自动升级。 - -``` -echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox -``` - -- 重启系统(可选)并享受 deb 版本的 Firefox。 - -#### 方法 2 – 使用 Firefox 的压缩可执行文件 - -- 你可以从官方网站(下面的链接)下载适用于 Ubuntu 和其他 Linux 的压缩 Firefox 可执行文件。然后解压并双击运行 firefox 可执行文件。这是最安全的方法。如果你使用此方法,你仍然可以获得更新。 - -[下载 Firefox][6] - -![下载 Firefox 并解压][7] - -![然后运行可执行文件][8] - -#### 方法 3 – 使用 Flatpak 版本的 Firefox - -- 你也可以使用 [Flatpak 版本的 Firefox][9],这在 [Ubuntu 中设置 Flatpak][10] 后可用。然后你可以运行以下命令进行安装。 - -``` -flatpak install flathub org.mozilla.firefox -``` - -#### 方法 4 – 使用与系统耦合更少的 Snap 版本 Firefox - -- 如果你认为你仍然可以继续使用 Snap 版本但希望在系统中减少沙盒,那么你可能需要使用以下命令和 [classic 开关][11]重新安装 Firefox。 - -``` -sudo snap install firefox --classic -``` - -### 结束语 - -因此,这是从 Ubuntu 21.10 开始删除 firefox snap 版本的步骤。以及一些替代品。我很想知道 Linux Mint 采取了什么措施,因为他们与 Snap 不兼容。。此外,这些发行版依赖于 Firefox 的 Ubuntu 上游仓库,看看它们会做什么很有趣。 Debian 维护自己的仓库,但主要是 ESR 版本。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/remove-firefox-snap-ubuntu/ - -作者:[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://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1943840 -[2]: https://www.debugpoint.com/wp-content/uploads/2021/09/snap-list-Firefox.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Firefox-snap-desktop-shortcut-1024x490.jpg -[4]: https://www.debugpoint.com/2021/03/clean-up-snap/ -[5]: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa -[6]: https://www.mozilla.org/en-US/firefox/new/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Download-Firefox-and-Extract.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/09/And-then-run-the-executable.jpg -[9]: https://flathub.org/apps/details/org.mozilla.firefox -[10]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/ -[11]: https://snapcraft.io/docs/snap-confinement From c5313884c60b445545840237f0435f6ce6893d75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:11:39 +0800 Subject: [PATCH 390/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221110.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Fix=20bas?= =?UTF-8?q?h=20wget=20Command=20Not=20Found=20Error.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to Fix bash wget Command Not Found Error.md | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md diff --git a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md new file mode 100644 index 0000000000..dd8e9bb4e8 --- /dev/null +++ b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md @@ -0,0 +1,98 @@ +[#]: subject: "How to Fix: bash wget Command Not Found Error" +[#]: via: "https://www.debugpoint.com/wget-not-found-error/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Fix: bash wget Command Not Found Error +====== + +**Here’s how you can fix the “bash: wget command not found” error in Debian, Ubuntu and other distros.** + +The famous wget utility is used to download any files from a URL via a terminal. It’s one of the most popular and fastest utilities for Linux terminals. + +Being a GNU utility, wget brings some fantastic features to the table. You can implement any project, such as extracting information from the web, downloading files, pausing/resuming, etc. + +However, many [Linux distros][1] do not come with this utility with default installation. So, when you want to download some files using wget, you get the wget command not found error. + +Fixing it is really easy. + +### Fixing wget command not found + +All you need to do is open a terminal prompt and run the following command to install wget. + +For Ubuntu, Linux Mint, elementaryOS, Debian and related distros: + +``` +sudo apt install wget +``` + +Arch Linux: + +``` +pacman -S wget +``` + +For Fedora (although it includes by default): + +``` +sudo dnf install wget +``` + +After installation, you can use the wget program. You can also verify whether it’s installed correctly by checking its version. + +``` +wget --version +``` + +### How to use wget + +Here are some examples of how you can use the wget program. + +The syntax of the command is below: + +``` +wget [OPTION]… [URL]… +``` + +For example, if I want to download an Ubuntu ISO file, then I can run the following command to download with the direct URL. + +``` +wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso +``` + +![Sample example of how to use wget][2] + +Similarly, you can also download using the above command or, by combining several switches as described below. You can also get this via `wget --help` command. + +``` +-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits)--retry-connrefused retry even if connection is refused--retry-on-http-error=ERRORS comma-separated list of HTTP errors to retry-O, --output-document=FILE write documents to FILE-nc, --no-clobber skip downloads that would download toexisting files (overwriting them)--no-netrc don't try to obtain credentials from .netrc-c, --continue resume getting a partially-downloaded file--start-pos=OFFSET start downloading from zero-based position OFFSET--progress=TYPE select progress gauge type--show-progress display the progress bar in any verbosity mode-N, --timestamping don't re-retrieve files unless newer thanlocal--no-if-modified-since don't use conditional if-modified-since getrequests in timestamping mode--no-use-server-timestamps don't set the local file's timestamp bythe one on the server-S, --server-response print server response--spider don't download anything-T, --timeout=SECONDS set all timeout values to SECONDS--dns-timeout=SECS set the DNS lookup timeout to SECS--connect-timeout=SECS set the connect timeout to SECS--read-timeout=SECS set the read timeout to SECS-w, --wait=SECONDS wait SECONDS between retrievals(applies if more then 1 URL is to be retrieved)--waitretry=SECONDS wait 1..SECONDS between retries of a retrieval(applies if more then 1 URL is to be retrieved)--random-wait wait from 0.5WAIT…1.5WAIT secs between retrievals(applies if more then 1 URL is to be retrieved) +``` + +### Wrapping Up + +I hope this guide helps you to fix the wget error in your Linux distros. The apparent solution is quite simple. + +Drop a note below if it helps/or if you have any questions. + +[Reference][3] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/wget-not-found-error/ + +作者:[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/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Sample-example-of-how-to-use-wget.jpg +[3]: https://www.gnu.org/software/wget/ From 1f4fd4a75fb9d6920c44d893c3f426137a194eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:13:25 +0800 Subject: [PATCH 391/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221110.2=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20Enlightenment=20Desktop=20in=20Arch=20Linux=20[Complete=20Gu?= =?UTF-8?q?ide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ment Desktop in Arch Linux [Complete Guide].md | 308 ++++++++++++++++++ 1 file changed, 308 insertions(+) create mode 100644 sources/tech/20221110.2 ⭐️ How to Install Enlightenment Desktop in Arch Linux [Complete Guide].md diff --git a/sources/tech/20221110.2 ⭐️ How to Install Enlightenment Desktop in Arch Linux [Complete Guide].md b/sources/tech/20221110.2 ⭐️ How to Install Enlightenment Desktop in Arch Linux [Complete Guide].md new file mode 100644 index 0000000000..64574c5032 --- /dev/null +++ b/sources/tech/20221110.2 ⭐️ How to Install Enlightenment Desktop in Arch Linux [Complete Guide].md @@ -0,0 +1,308 @@ +[#]: subject: "How to Install Enlightenment Desktop in Arch Linux [Complete Guide]" +[#]: via: "https://www.debugpoint.com/enlightenment-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Enlightenment Desktop in Arch Linux [Complete Guide] +====== + +**This guide explains the steps you need to install Enlightenment Desktop in Arch Linux.** + +This guide has two parts. The first part deals with installing the base Arch system. The second part is installing the complete Enlightenment desktop environment on top of Arch Linux. + +### What is Enlightenment Desktop + +[Enlightenment][1] is one of the oldest window manager, compositor for X11 in Linux. It is more than a decade old and one of the first “eye-candy” desktop. It consists of core libraries called EFL (Enlightenment Foundation Libraries) which provides features such as widgets, networking, graphics and more. Enlightenment evolved over the years to be suitable for Mobiles, Wearables, TV UI and of course vanilla desktop environment. It provides a standard menu, icon driven desktop with its own native applications. With the help of a suitable display manager, it can be a full-fledged productive desktop. + +### Install Enlightenment Desktop in Arch Linux + +#### Part 1: Install Arch Linux + +If you have already Arch Linux installed, you can skip this step and directly go to the [installation of Enlightenment Desktop][2] section below. + +For a quick Arch Linux base installation, follow the automated archinstall guide, which is present in the below link. + +[Arch Installation with automated script (recommended)][3] + +if you prefer the older/legacy way of installing Arch, then follow the steps below. + +##### Download Arch Linux + +Download Arch Linux .iso from the below link. There are magnet and torrent links available. Once you download, write the ISO to a USB drive. And then boot from the drive. + +[Download Arch Linux][4] + +If you are planning to install it as a virtual machine image via GNOME Boxes, virt-manager – then you do not need to write it to a USB drive. + +##### Boot and Configure Partitions + +After you boot from the Arch Linux iso, you have to run a series of commands to install the base system. + +First, run the below command to find out the device identifier. + +``` +fdisk -l +``` + +![fdisk -l before][5] + +Then with the device identifier, run the below command to start partitioning your disk. Make sure to change `/dev/sda` as per your system. + +``` +cfdisk /dev/sda +``` + +Select `label type = dos` in the next prompt. + +Select the free space and choose option NEW from the bottom. In this example, I will create three partitions as per below. + +``` +/dev/sda1 - 1G - for /boot/dev/sda2 - 5G - for root/dev/sda3 - 1G - for swap +``` + +![cfdisk][6] + +In the next screen provide partition size for the boot partition (for this example, I gave 1 GB). Select it as the primary partition. + +Repeat the same step for the main root partition of size 5GB. + +![Swap partition type change][7] + +Create a swap partition using the same steps with size 1G (you may change it as per your need). After you create the swap partition, make sure to choose Type at the bottom and mark it as a swap with the option “Linux Swap/Solaris”. + +![final partition list in cfdisk][8] + +Once done, write the changes to the disk using the Write option at the bottom. Make sure you take a backup before you write as this is a permanent change in your system. + +Run the below command to check before you proceed. You can see in this example, three partitions are listed. + +``` +fdisk -l +``` + +![final partition list in fdisk][9] + +Run the following commands in sequence to format and create an ext4 file system in the newly created partition above. Make sure you change the /dev/sda1 and /dev/sda2 as per your need. + +``` +mkfs.ext4 /dev/sda1mkfs.ext4 /dev/sda2mkswap /dev/sda3swapon /dev/sda3 +``` + +After completion, mount the system and create necessary directories. + +``` +mount /dev/sda2 /mntmkdir /mnt/boot /mnt/var /mnt/homemount /dev/sda1 /mnt/boot +``` + +Again, make sure you change /dev/sda1, /dev/sda2 and /dev/sda3 as per your system. + +![prepare file system][10] + +##### Install the base system + +I hope you are already connected to the internet. If not, try using a USB dongle or wired internet connection, which Arch installer automatically configure and detect. If you do not have a wired connection available, follow [this guide][11] to configure a wireless or Wi-Fi network using Arch Linux installer. + +Run the below commands in sequence to install the base system in the mounted partition. The download size is approx 400 MB. + +``` +pacman -Syypacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub +``` + +![Install base system][12] + +Once complete, generate a file system table, without which you can’t boot the system. + +``` +genfstab -U /mnt >> /mnt/etc/fstab +``` + +##### Configure the base system + +Follow the below commands in sequence to configure the base system. This involves setting up your locale, language, add a login user, and setting up the internet. + +``` +arch-chroot /mntnano /etc/locale.gen +``` + +Uncomment the locale of your choice by removing # at the beginning. For this guide, I have chosen en_US.UTF-8 UTF-8. Press CTRL+O, Enter, and CTRL+X to exit from nano. + +![change locale][13] + +Generate the locale using: + +``` +locale-gen +``` + +Setup the language using the below command. + +``` +echo LANG=en_US.UTF-8 > /etc/locale.confexport LANG=en_US.UTF-8 +``` + +Setup the local time zone. + +``` +ln -s /usr/share/zoneinfo/America/New_York /etc/localtime +``` + +Again, you can choose them as per your need. You can list the local timezones via the below commands. + +``` +ls /usr/share/zoneinfo +ls /usr/share/zoneinfo/America +``` + +Set up the hardware clock, create a hostname, and enable the DHCP for the internet using the below commands in sequence. You can change `"arindam-pc"` to any hostname as per your desire. + +``` +hwclock --systohc --utcecho arindam-pc > /etc/hostnamesystemctl enable dhcpcd +``` + +The next step is to set up the root user password, create an admin user, and add the user in the sudoers file. + +Follow the below commands in sequence. Make sure to change the user name from `debugpoint` to something else as per your need. + +``` +passwd rootuseradd -m -g users -G wheel -s /bin/bash debugpointpasswd debugpoint +``` + +![create user][14] + +Open the sudoers file and add the below lines. + +``` +nano /etc/sudoers +``` + +Add below lines. As you already created the root user, the entry should be there. + +``` +root ALL=(ALL) ALLdebugpoint ALL=(ALL) ALL +``` + +![update sudoers file][15] + +Install grub, setup the initial ramdisk environment, unmount the system using the below commands in sequence. + +``` +grub-install /dev/sdagrub-mkconfig -o /boot/grub/grub.cfgmkinitcpio -p linuxexit +``` + +![configure grub][16] + +Then reboot your system. + +``` +umount /mnt/bootumount /mntreboot +``` + +You have now successfully installed the Arch Linux base system. It’s time to install the complete Enlightenment desktop. + +![Arch is installed][17] + +#### Part 2: Install Enlightenment Desktop in Arch Linux + +After reboot, choose Arch Linux from grub. In the Arch Linux prompt, start running the following commands in sequence. These commands install Xorg server, display manager, Enlightenment desktop components and EFL. + +For all the commands use default i.e. press enter when asked. + +- **Install Xorg. Approx install size is 80 MB.** + +``` +sudo pacman -S --needed xorg +``` + +- **Install display manager.** I have used lightdm for this guide. You can choose any alternative display manager of your choice. + +``` +sudo pacman -S --needed lightdm lightdm-gtk-greeter +``` + +- **Install desktop** + +The Enlightenment desktop requires the [Enlightenment Foundation Library][18] (EFL) and base [enlightenment][19] package. Both are in Arch community repo. You can install them using the below commands. + +``` +sudo pacman -S efl +``` + +![Installing EFL][20] + +``` +sudo pacman -S enlightenment +``` + +![Installing Enlightenment][21] + +Above two are enough for a basic desktop. If you need additional native applications of this desktop, you need to [set up AUR][22] and follow the [instruction here.][23] + +Make sure to install the terminal and some additional apps. + +``` +sudo pacman -S --needed terminology +sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper +``` + +Now it’s time to enable the display manager and network manager as service. So that next time you log on, they can run automatically by systemd. + +``` +systemctl enable lightdm +systemctl enable NetworkManager +``` + +Reboot the system using the reboot command. + +``` +reboot +``` + +If all goes well, you should see a login prompt. Login using the ID and password you created above. Then Enlightenment desktop require some initial setup. Follow the onscreen instructions. + +And after setup, you should see the nice Enlightenment Desktop. + +![Enlightenment Desktop in Arch Linux (version 0.25)][24] + +I hope this guide helps you create your own Arch Linux environment with Enlightenment desktop from scratch. If you run into trouble, let me know using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/enlightenment-arch-linux-install/ + +作者:[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.enlightenment.org/ +[2]: https://www.debugpoint.com#install-enlightenment-desktop +[3]: https://www.debugpoint.com/archinstall-guide/ +[4]: https://www.archlinux.org/download/ +[5]: https://www.debugpoint.com/wp-content/uploads/2020/12/fdisk-l-before.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2020/12/cfdisk.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2020/12/Swap-parition-type-change.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-cfdisk.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2020/12/final-partition-list-in-fdisk.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2020/12/prepare-file-system.jpg +[11]: https://www.debugpoint.com/2020/11/connect-wifi-terminal-linux/ +[12]: https://www.debugpoint.com/wp-content/uploads/2020/12/Install-base-system.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2020/12/change-locale.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2020/12/create-user.jpg +[15]: https://www.debugpoint.com/wp-content/uploads/2020/12/update-sudoers-file.jpg +[16]: https://www.debugpoint.com/wp-content/uploads/2020/12/configure-grub.jpg +[17]: https://www.debugpoint.com/wp-content/uploads/2020/12/Arch-is-installed.jpg +[18]: https://archlinux.org/packages/community/x86_64/efl/ +[19]: https://archlinux.org/packages/community/x86_64/enlightenment/ +[20]: https://www.debugpoint.com/wp-content/uploads/2021/09/Installing-EFL-2.png +[21]: https://www.debugpoint.com/wp-content/uploads/2021/09/Installing-Enlightenment.png +[22]: https://www.debugpoint.com/2021/01/install-yay-arch/ +[23]: https://wiki.archlinux.org/title/enlightenment#From_the_AUR +[24]: https://www.debugpoint.com/wp-content/uploads/2021/09/Enlightenment-Desktop-in-Arch-Linux-version-0.25.jpg From 3ee5fb9f42165d01ecab87b1b75cec328869a789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:14:02 +0800 Subject: [PATCH 392/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221110.3=20=E2=AD=90=EF=B8=8F=20How=20to=20Upgrade?= =?UTF-8?q?=20to=20Linux=20Mint=2021=20from=20Mint=2020.3=20[Complete=20Gu?= =?UTF-8?q?ide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nux Mint 21 from Mint 20.3 [Complete Guide].md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 sources/tech/20221110.3 ⭐️ How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide].md diff --git a/sources/tech/20221110.3 ⭐️ How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide].md b/sources/tech/20221110.3 ⭐️ How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide].md new file mode 100644 index 0000000000..b4ef984259 --- /dev/null +++ b/sources/tech/20221110.3 ⭐️ How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide].md @@ -0,0 +1,116 @@ +[#]: subject: "How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide]" +[#]: via: "https://www.debugpoint.com/upgrade-linux-mint-21-from-20-3/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Upgrade to Linux Mint 21 from Mint 20.3 [Complete Guide] +====== + +**This guide gives you all the information you need to Upgrade to Linux Mint 21 (Vanessa) from Linux 20.3.** + +Linux Mint 21 Vanessa was recently released with the latest Ubuntu 22.04 base and other additional features. If you are running the earlier Linux Mint 20.3, now it is possible to do a major version upgrade using the graphical tool by Linux Mint. + +But before you upgrade, you need to do some housekeeping because major version upgrades always come with a fair amount of risk. + +That said, make sure of the following before performing the upgrade. + +Before you perform the upgrade, remember the followings: + +- The current version upgrade is only possible from Linux Mint 20.3 to Linux Mint 21 Vanessa. + +- What does this mean? If you are running Linux Mint 20.2 or Linux Mint 20.1, you can not directly upgrade to 21. Instead, you need to perform `sudo apt update` and `sudo apt upgrade` to reach 20.3. And then follow the steps. + +### Things to do before the Upgrade Attempt + +- Open the Update Manager and make sure your system is up to date until Linux Mint 20.3. +- Use TImeshift to create a system restore point after you apply all the pending updates in the above step. If something happens, you can always restore it to this point in time. +- Take a backup of all of your home, downloads, documents, pictures and videos folders. +- Disable any third-party PPA that you may have added. You can find those in the `System Settings > Software Sources > PPAs` or `Additional Repositories` tabs. +- Make sure you have a minimum of 10 GB to 15 GB of free disk space in the root file system. +- (Optional) [Prepare a LIVE USB][1] of Linux Mint 20.3 if you cannot boot it after a failed upgrade. It will help to restore via Timeshift. +- (Optional) Finally, do a fresh reboot before you follow the steps. +- Ensure you have a stable internet connection and have around 1.5 hours to give attention to the upgrade process. + +### Upgrade to Linux Mint 21 from Linux Mint 20.3 [Graphical Method] + +- Open a terminal window and run the following command to install [mintupgrade][2] utility. This is a GUI-based program which Linux Mint modified for major version upgrades. It makes the upgrade easier for general users who are not comfortable with the command prompt. + +``` +sudo apt install mintupgrade +``` + +- Now, from the command, run the program. + +``` +sudo mintupgrade +``` + +- You should see the following prompt, which tells you the ‘upgrade to Linux Mint 21’ is available. Click on Let’s Go. + +![Upgrade to Linux Mint 21 from 20.3 via mintupgrade tool][3] + +- The tool will verify your system for any problems and tell you to fix them. If you see a **FIX** button, click on that to resolve the error (after reading the details in the window). +- It will also give you a list of packages which require a downgrade. +- In the end, you should see a summary of the packages to be downloaded or removed. +- Press OK to start the upgrade process. + +![Final Upgrade summary][4] + +- The program first downloads the packages. Then start to upgrade each one of the packages. Wait for the process to finish for close to an hour (based on your standard internet speed). + +![Upgrading to Mint 21][5] + +- After the download and installation, you should see a successful upgrade prompt. + +![Successful Upgrade][6] + +- Now, reboot the system, and you should be greeted with brand new Linux Mint 21. + +### Things to remember during the Upgrade + +- Usually, the upgrade process is smooth and should not be an issue. It takes around 1 hour and 15 minutes for a base install. +- The upgrade process may seem stalled sometime up to ~10 minutes, and you may not see any visible progress on the screen other than the progress animation. +- So, you need to wait until it completes all the steps. Alternatively, you can also watch the status in the terminal window. +- If you end up with a broken upgrade system, you can boot from a LIVE Mint USB/CD and restore your system with Timeshift backup. + +If the upgrade fails, you may try for a new upgrade via this official [guide][7]. + +### Post Upgrade Steps + +- If you have disabled the third-party PPAs, enable them and do a system update check. You can find the third-party PPs at the `System Settings > Software Sources > PPAs` or `Additional Repositories` tabs. +- Verify whether your documents, pictures and videos are present. +- Also, check if your browser add-ons and extensions are working fine. +- For this version, you should also check whether your **Printer and Bluetooth**are working. Because Mint 21 introduces IPP (a new protocol for printing) and a new Bluetooth manager. +- Finally, you may want to check out the [Top 10 features of Linux Mint 21][8] before you start using it. + +### Wrapping Up + +It is always better to do a fresh installation if you can afford it. However, upgrades are also acceptable. + +I hope this guide helped you to do the Linux Mint upgrade. If you face any issues, let me know using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/upgrade-linux-mint-21-from-20-3/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/etcher-bootable-usb-linux/ +[2]: https://www.debugpoint.com/mint-upgrade-tool/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/08/Upgrade-to-Linux-Mint-21-from-20.3-via-mintupgrade-tool.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/08/Final-Upgrade-summary.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/08/Upgrading-to-Mint-21.gif +[6]: https://www.debugpoint.com/wp-content/uploads/2022/08/Successfull-Upgrade.jpg +[7]: https://community.linuxmint.com/tutorial/view/2 +[8]: https://www.debugpoint.com/linux-mint-21-features/ From 2dc13491bebc8619ee5b5ec5ef37e535a961bb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:14:44 +0800 Subject: [PATCH 393/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221111.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20LibreOffice=20Base=20Database=20in=20Ubuntu=20and=20Other=20?= =?UTF-8?q?Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ice Base Database in Ubuntu and Other Linux.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md diff --git a/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..b4d8271f1a --- /dev/null +++ b/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md @@ -0,0 +1,65 @@ +[#]: subject: "How to Install LibreOffice Base Database in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/install-libreoffice-base-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install LibreOffice Base Database in Ubuntu and Other Linux +====== + +**Here’s how to install the LibreOffice Base database module in Ubuntu and other Linux distributions.** + +The popular free and open-source office suite LibreOffice consists of six individual components. However, the default installation of LibreOffice in Ubuntu and related distributions only include five of them: + +- Calc +- Writer +- Impress +- Draw +- Math + +Due to some reason, the database module LibreOffice Base is not included. So, here’s how you can install it separately in Ubuntu and other distros. + +### Install LibreOffice Base in Ubuntu and Other Linux + +You can use either the Software app or use the terminal to install `libreoffice-base` package. I would recommend using the terminal to install it. Open a terminal window and run the following command to install it. + +``` +sudo apt install libreoffice-base +``` + +If you prefer Software or any other GUI-based installer, search for “libreoffice-base” and hit install. + +For **Fedora and RPM-based distros**, use the following command: + +``` +sudo dnf install libreoffice-base +``` + +And if you installed LibreOffice in **Arch Linux**– either [libreoffice-fresh][1] or [libreoffice-still][2] package, then no action is required. LibreOffice Base is already included in those two packages. So, you are good to go. + +On another note, if you want to check out how to install the latest LibreOffice, check out [this guide][3]. + +![Install Libreoffice Base in Ubuntu][4] + +Finally, after installation, you can find out the LibreOffice Base in the application menu. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-libreoffice-base-ubuntu/ + +作者:[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://archlinux.org/packages/extra/x86_64/libreoffice-fresh/ +[2]: https://archlinux.org/packages/extra/x86_64/libreoffice-still/ +[3]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-Libreoffice-Base-in-Ubuntu.jpg From 874dc966c0e6563735f2752dc47a7c4d0f33ce4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:15:18 +0800 Subject: [PATCH 394/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221111.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20FFmpeg=20in=20Ubuntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...to Install FFmpeg in Ubuntu and Other Linux.md | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md diff --git a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..e5f96bd934 --- /dev/null +++ b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md @@ -0,0 +1,164 @@ +[#]: subject: "How to Install FFmpeg in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/install-ffmpeg-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install FFmpeg in Ubuntu and Other Linux +====== + +**This tutorial outlines the steps required to install FFmpeg in Ubuntu and Other Linux systems.** + +The ffmpeg is a collection library and software program to manipulate multimedia files. The entire ffmpeg is a robust set of libraries that allows you to convert, stream, and manipulate audio and video files. Many frontend Linux applications use it as a backend and hence depend on it. For example, a screen recording application may need ffmpeg to convert recorded streams to gif images. + +Popular applications and services that use FFmpeg are VLC Media Player, YouTube, Blender, Kodi, Shotcut, and Handbrake – to name a few. + +Fun fact: NASA’s Mars 2020 mission rover Perseverance used FFmpeg to complete and process images and video before beaming back to Earth! + +### About ffmpeg package + +The [ffmpeg][1] itself is a powerful program as a command-line utility. It is available for Linux, Windows, and macOS and supports many architectures. It is written in C and Assembly, providing extensive performance and a cross-platform utility. + +#### The Core + +The core of ffmpeg is the command-line utility or programs. They can be used on the command line or called from any programming language. For example, you can use these from your shell program, python script, etc. + +- **ffmpeg**: Used to convert audio and video streams, including sources from LIVE streams such as TV cards +- **ffplay**: Media player bundled in this package to play media +- **ffprobe**: Command line tool to show media information – can output as txtm csv, xml, json formats + +### FFmpeg Installation + +Installing FFmpeg is easy in Ubuntu and other Linux distributions. Open a terminal prompt and run the following commands to install. + +#### Ubuntu and similar distro + +``` +sudo apt install ffmpeg +``` + +#### Fedora + +For Fedora Linux, you need to add the [RPM Fusion repo][2] for FFmpeg. The official Fedora repo doesn’t have the FFmpeg package. + +``` +sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +``` + +``` +sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree- +``` + +``` +sudo dnf install ffmpeg +``` + +#### Arch Linux + +``` +pacman -S ffmpeg +``` + +After the successful installation, you can verify the installation using the below command. + +``` +ffmpeg --version +``` + +![FFmpeg installed in Ubuntu Linux][3] + +### Example: How to do basic tasks using ffmpeg + +First, let me give you a simple example of the basic syntax. Consider the following example. It simply converts an mp4 file to mkv file. + +- **Convert a basic video file** + +``` +ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv +``` + +Of course, this is the easiest method, but it’s not complete because it doesn’t have the bit rate, resolution and other attributes of the video file required for the conversion. + +- **Convert an audio file** + +Secondly, you can convert an audio file using a similar command. + +``` +ffmpeg -i sunny_day.ogg sunny_day.mp3 +``` + +- **Convert with an audio and video codec** + +Finally, the following example can convert a video file using specified codecs. The parameter `-c` with `a` or `v` defines audio and video, respectively. The below command uses `libvpx` video and `libvorbis` audio codec for conversion. + +``` +ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm +``` + +### How to find out about the available codecs, encoders and decoders in your system? + +#### List all codecs + +To list all the codecs available, run the below command. + +``` +ffmpeg -codecs +``` + +This command lists all the codecs available with their capability, whether they support decoding or encoding, etc. Moreover, they are identified with the position as per the below table. + +``` +D..... = Decoding supported.E.... = Encoding supported..V... = Video codec..A... = Audio codec..S... = Subtitle codec...I.. = Intra frame-only codec....L. = Lossy compression.....S = Lossless compression +``` + +![FFmpeg Codec list][4] + +#### List all encoders + +Listing all the encoders is accessible via the below command. + +``` +ffmpeg -encoders +``` + +#### List all decoders + +Similarly, the decoders list you can get via the below command. + +``` +ffmpeg -decoders +``` + +#### Details + +You can also get more details about the encoders or decoders using the parameter -h. + +``` +ffmpeg -h decoder=mp3 +``` + +### Summary + +I hope you learned the basics of FFmpeg and its commands. You can learn more about the program via the official [documentation][5]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-ffmpeg-ubuntu/ + +作者:[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://ffmpeg.org/ +[2]: https://www.debugpoint.com/2020/07/enable-rpm-fusion-fedora-rhel-centos/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/06/FFmpeg-installed-in-Ubuntu-Linux.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/06/FFmpeg-Codec-list.jpg +[5]: https://ffmpeg.org/documentation.html From bf2e3fe93578dc5bce3e1576a090ab93acead44b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:17:16 +0800 Subject: [PATCH 395/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221111.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20Elementary=20OS=E2=80=99s=20Pantheon=20Deskt?= =?UTF-8?q?op=20in=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Elementary OS’s Pantheon Desktop in Arch Linux.md | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md diff --git a/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md new file mode 100644 index 0000000000..2867e669bb --- /dev/null +++ b/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md @@ -0,0 +1,176 @@ +[#]: subject: "How to Install Elementary OS’s Pantheon Desktop in Arch Linux" +[#]: via: "https://www.debugpoint.com/pantheon-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install Elementary OS’s Pantheon Desktop in Arch Linux +====== + +**Pantheon is the default desktop environment for the elementary OS. This quick guide explains the steps to install the Pantheon desktop environment in Arch Linux.** + +Pantheon is a beautiful desktop environment used by the elementary OS. It is based on GTK3 (GTK4 porting in progress) and Vala and is a nice and clean desktop that provides you with a refined experience of a Linux desktop. + +The desktop is primarily used by the elementary OS. Elementary OS provides a modified version of Pantheon desktop, which is based on the GNOME software base. + +The elementary OS is based on the Ubuntu LTS release. Hence it is super easy to install the Pantheon desktop in ubuntu-based distributions. That means if you want to experience Pantheon without installing elementary OS – it’s just one or two commands to install it in Ubuntu. + +In Fedora, you can also install using group packages. However, a distro called [Ultramarine Linux][1] provides it by default with a Fedora base. + +But, installing Pantheon in Arch Linux requires some work. It is not straightforward with a simple pacman command and won’t work out of the box at all. Some configuration is required and might break your system. + +Here I give you the guideline and steps to install Pantheon Desktop in Arch Linux. + +**Warning:**Things may not go well the first time, so I suggest you do it on a virtual machine before installing it on a physical system. Because installing Pantheon in Arch is not as streamlined as installing GNOME, Xfce, and KDE Plasma desktop in Arch Linux. It requires some additional manual configuration as well. + +Here are the steps to install Pantheon Desktop in Arch Linux. + +### Install Pantheon Desktop in Arch Linux + +#### Step 1: Install Base System + +Make sure you install the Arch Linux base system by following the automated [archinstall script using this guide][2]. If you’re already running an Arch installation, you can skip this step and follow the next step. + +#### Step 2: Update Your System + +Open a terminal in your Arch installation. And make sure the system is up to date by running the below command: + +``` +pacman -Syu +``` + +#### Step 3: Instal yay AUR Helper + +Many packages that are required for Pantheon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][3]. + +#### Step 4: Install Pantheon Desktop in Arch Linux + +Install the following packages using the below command. These are required packages available in the Arch official repository consisting of all necessary components, wingpanel, icons, and wallpapers. + +- [pantheon][4] +- lightdm-pantheon-greeter +- sound-theme-elementary +- switchboard +- lightdm-gtk-greeter +- elementary-icon-theme +- elementary-wallpapers +- pantheon-applications-menu +- wingpanel-indicator-session +- wingpanel-indicator-datetime + +``` +pacman -S --needed pantheon lightdm-pantheon-greeter sound-theme-elementary switchboard lightdm-gtk-greeter elementary-icon-theme elementary-wallpapers pantheon-applications-menu wingpanel-indicator-session wingpanel-indicator-datetime inter-font firefox +``` + +Install the following packages from the user repository. These are some additional packages that are not available in the Arch official repository. And these might take some time to install. + +- pantheon-session-git +- gnome-settings-daemon-elementary +- pantheon-default-settings +- switchboard-plug-pantheon-tweaks-git +- urutau-icons-git +- pantheon-dock-git + +``` +yay -S pantheon-session-git pantheon-default-settings switchboard-plug-pantheon-tweaks-git urutau-icons-git pantheon-dock-git +``` + +The next step is to install the display server and manager. Use `lightdm` as the display manager for Pantheon in Arch. I tried using other display managers with Pantheon but that didn’t end well. + +``` +pacman -S --needed xorg lightdm +``` + +#### Step 5: Configure + +The default greeter needs some modifications. Run the below command to check the available sessions. + +``` +ls -1 /usr/share/xgreeters +``` + +![greeters list][5] + +Open the lightdm configuration file and change the greeter-session to io.elementary.greeter. + +``` +sudo nano /etc/lightdm/lightdm.conf + +greeter-session=io.elementary.greeter +``` + +Save and close the file (CTRL+O, ENTER and CTRL+X). + +![lightdm conf][6] + +Enable the display manager and network manager in systemd. + +``` +systemctl enable lightdmsystemctl enable NetworkManager +``` + +Reboot the system. + +``` +systemctl reboot +``` + +If all went well, you should see the following login screen (I know, it doesn’t look cool at all, anyway). Change the session from the top dropdown and log in with the username and password. + +![Login screen - Pantheon in Arch][7] + +#### Step 6: Post-Install Configuration + +When I first logged in to my test system, many things didn’t work. Here’s a list of items and their possible solutions. + +a) **Wallpaper**: The wallpaper module seems not to be working at all. So, there was no wallpaper by default. Even the “Change Wallpaper” option is not opening. If you face this, install `dconf` editor and change the wallpaper via the below steps. + +``` +pacman -S --needed dconf-editor +``` + +Then Launch the dconf editor from the menu. Navigate to `"org > gnome > desktop > background > picture-uri"`. Turn off the default value and add the custom value `file:////usr/share/backgrounds/Ashim DSilva.jpg`. You can use any other image as well. Save and close. + +![Change background property using dconf-editor][8] + +b) **Icons**: Change the icons via `Settings > Tweaks.` Then change the icon and cursors to urutau-icons. + +After all the configurations and installation, you should be all set with the Pantheon Desktop in Arch Linux. Here’s a screenshot of my test machine. + +![Pantheon Desktop in Arch Linux][9] + +### Closing Notes + +I hope this guide helps you eventually install the Pantheon desktop in Arch Linux. It took me a couple of days to finally able to fit the pieces together and make them work. + +Although some small features are still not working, a workable Pantheon desktop is still available. + +The only thing that surprises me is the performance of Pantheon in Arch. The elementary OS installation is not that fast in my same test machine. But the Pantheon base is faster in Arch than a vanilla elementary OS. However, if you would like Pantheon, give it a go. + +If you face any errors, let me know using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/pantheon-arch-linux-install/ + +作者:[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/ultramarine-linux-36/ +[2]: https://www.debugpoint.com/archinstall-guide/ +[3]: https://www.debugpoint.com/install-yay-arch/ +[4]: https://wiki.archlinux.org/index.php/Pantheon +[5]: https://www.debugpoint.com/wp-content/uploads/2021/02/greeters-list.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/lightdm-conf.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Login-screen-Pantheon-in-Arch.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Change-background-property-using-dconf-editor.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/02/Pantheon-Desktop-in-Arch-Linux-1.jpg From e72660ef7b8fcf0b6af5cac4006cc41823152e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:18:11 +0800 Subject: [PATCH 396/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221110.4=20=E2=AD=90=EF=B8=8F=20KDE=20Plasma=205.27?= =?UTF-8?q?=20Bringing=20Subtle=20Outline=20on=20Windows.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sma 5.27 Bringing Subtle Outline on Windows.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md diff --git a/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md b/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md new file mode 100644 index 0000000000..3a7dd6eca7 --- /dev/null +++ b/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md @@ -0,0 +1,58 @@ +[#]: subject: "KDE Plasma 5.27 Bringing Subtle Outline on Windows" +[#]: via: "https://debugpointnews.com/kde-plasma-5-27-outline-windows/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +KDE Plasma 5.27 Bringing Subtle Outline on Windows +====== + +![][1] + +**A new feature arriving on the KDE Plasma desktop that enables a subtle outline in Breeze theme window borders for better usability and design.** + +A [recent merge request][2] for the upcoming KDE Plasma 5.27 release (for 2023) shows how a nice, subtle window border can make a difference in the overall desktop look. + +Today, the drop-shadow distinguishes two overlapped windows in the default Plasma Breeze theme. That’s the only thing that differentiates the edges of two application windows. + +Sometimes it becomes difficult to find out the edges when you want to drag the window or do something else, especially in the dark Breeze theme. + +In the light theme, it’s not that difficult, though. + +To make it look more professional, the new border gives a pleasant look to the default Breeze theme. + +![KDE Plasma new outline comparison][3] + +KDE Plasma new outline comparison + +The colour of the new window outline is adaptive and not a fixed colour. It adapts based on the wallpaper and the theme’s default colour. But there is a catch, though. There won’t be any settings for this to disable. Because making a switch for this would be irrelevant since it’s very subtle and should work with all types of KDE customization. + +![KDE Plasma - new outline in windows -2][4] + +KDE Plasma – new outline in windows -2 + +KDE Plasma 5.27 is currently under development and will be an LTS release. Also, it will be the final release of the Plasma 5 series. It’s currently scheduled for Feb 2023. + +Via [blog][5] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/kde-plasma-5-27-outline-windows/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/11/kdenewborder.jpg +[2]: https://invent.kde.org/plasma/breeze/-/merge_requests/241 +[3]: https://debugpointnews.com/wp-content/uploads/2022/11/KDE-Plasma-new-outline-comparison.jpg +[4]: https://debugpointnews.com/wp-content/uploads/2022/11/KDE-Plasma-new-outline-in-windows-2.jpg +[5]: https://www.akselmo.dev/2022/10/31/I-made-outlines-for-KDE-Breeze.html From 1eb6ec6972aed0b533c4d809cd1427bf08ba1f10 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 13 Nov 2022 14:18:50 +0800 Subject: [PATCH 397/925] add links --- ...rity properties on Linux using checksec.md | 48 +++++++++++++++++-- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/translated/tech/20210607 Identify security properties on Linux using checksec.md b/translated/tech/20210607 Identify security properties on Linux using checksec.md index 7d355380b7..58b32c4720 100644 --- a/translated/tech/20210607 Identify security properties on Linux using checksec.md +++ b/translated/tech/20210607 Identify security properties on Linux using checksec.md @@ -14,7 +14,6 @@ ![Target practice][1] - 编译源代码会生成一个二进制文件(即 .o 文件)。在编译期间,你可以向 `gcc` 编译器提供 标志 flags ,以启用或禁用二进制文件的某些属性,这些属性与安全性相关。 Checksec 是一个漂亮的小工具,同时它也是一个 shell 脚本。Checksec 可以识别编译时构建到二进制文件中的安全属性。编译器可能会默认启用一些安全属性,你也可以提供特定的标志,来启用其他的安全属性。 @@ -67,12 +66,12 @@ Checksec 输出的第一行提供了二进制文件的各种安全属性,例 在本文中,我将使用以下的“hello world”程序作为示例二进制文件。 ``` -#include <stdio.h> +#include int main() { -        [printf][2]("Hello World\n"); -        return 0; + printf("Hello World\n"); + return 0; }   ``` @@ -413,10 +412,49 @@ $ checksec --file=./hello --output=json | jq  | grep -i forti 关于安全性的话题是永无止境的,不可能在本文涵盖所有关于安全性的内容,但我还想提一下 Checksec 命令的一些其他功能,这些功能也很好用。 -### 针对多个二进制文件运行 +### 对多个二进制文件运行 Checksec 你不必对每个二进制文件都进行一次 Checksec。相反,你可以提供多个二进制文件所在的目录路径,Checksec 将一次性为你验证所有文件: ``` $ checksec --dir=/usr ``` + +### 对进程运行 Checksec + +Checksec 除了能检查二进制文件的安全属性,Checksec 还能对程序起作用。以下的命令用于查找你系统上所有正在运行的程序的安全属性。如果你希望 Checksec 检查所有正在运行的进程,可以使用 `--proc-all`,或者你也可以使用进程名称,选择特定的进程进行检查: + +``` +$ checksec --proc-all + +$ checksec --proc=bash +``` + +### 对内核运行 Checksec + +除了本文介绍的用 Checksec 检查用户态应用程序的安全属性之外,你还可以使用它来检查系统内置的 内核属性 kernel properties : + +``` +$ checksec --kernel +``` + +## 快来试一试 Checksec 吧 + +Checksec 是一个能了解哪些用户空间和内核的安全属性被启用的好方法。现在,你就可以开始使用 Checksec,来了解每个安全属性是什么,并明白启用每个安全属性的原因,以及它能阻止的攻击类型。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/linux-checksec + +作者:[Gaurav Kamathe][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/gkamathe +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/lead-images/target-security.png +[2]: http://www.opengroup.org/onlinepubs/009695399/functions/printf.html +[3]: https://stedolan.github.io/jq/download/ From 4cb06d344f52c35b1a480de0c23233bbf4b8a4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:19:39 +0800 Subject: [PATCH 398/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221111.3=20=E2=AD=90=EF=B8=8F=20Meet=20Tabby,=20A=20?= =?UTF-8?q?New=20Open-Source=20Cross-Platform=20Terminal=20App.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...New Open-Source Cross-Platform Terminal App.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md diff --git a/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md b/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md new file mode 100644 index 0000000000..54e3eb4f51 --- /dev/null +++ b/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md @@ -0,0 +1,106 @@ +[#]: subject: "Meet Tabby, A New Open-Source Cross-Platform Terminal App" +[#]: via: "https://news.itsfoss.com/tabby/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Meet Tabby, A New Open-Source Cross-Platform Terminal App +====== + +Tabby is a mind-blowing terminal app for a local shell, SSH, and Telnet connections. Let's take a look! + +![Meet Tabby, A New Open-Source Cross-Platform Terminal App][1] + +There are a lot of terminal apps out there that offer a range of functionalities. + +So, what's unique about Tabby? + +Tabby is a cross-platform customizable terminal app with SSH integration. It is a terminal emulator that does not try to be a new shell or Cygwin replacement. + +Let's take a look at what Tabby aims to be. + +### ⭐ An Impressive Customizable Terminal App + +![tabby][2] + +Formerly known as 'Terminus', [Tabby][3] is a highly customizable cross-platform open-source terminal emulator. + +It can connect to SSH servers using its integrated connection manager and offers various customization options in terms of appearance and other functionalities. It also supports plugins; these can be added from the settings menu to add more functionality to the app. + +If you have been a user of PowerShell ISE, PuTTY, or the mac terminal, Tabby will suit you as a perfect replacement. + +> 💡Tabby is not a lightweight app, so one needs to be careful about system resources. + +It is available for Linux, Windows, and macOS. You can also run Tabby as a portable app for Windows. + +They also offer an experimental web app, if you are a fan of it, feel free to try it out. + +An **integrated SSH client, font ligature, Unicode support, and configurable shortcuts** make Tabby worth trying. + +#### Related Read 📖 + +### Features of Tabby + +![tabby ssh][4] + +Tabby has an integrated SSH and Telnet client with support for X11, port forwarding and automatic jump host management. + +You can customize Tabby's appearance by using various theming and color options. + +![tabby themes][5] + +For starters, features like these provide an excellent user experience. But it does not end here. + +Tabby has a bunch of features to offer; some of the key highlights include: + +![tabby tabs][6] + +- **Integrated serial terminal** +- **Remember previously opened tabs and supports multi-pane nesting.** +- **Full Unicode Support** +- **Smart Tabs and progress bars for tabs** +- **Optional Quake mode.** +- **Integrated encrypted container for SSH secrets and configuration** +- **Zmodem Transfers** +- **Customizable Hotkeys** +- **Multiple Profiles with Profile Manager** + +### 👇 Download and Try Tabby + +Keep in mind that Tabby is currently in its early stages and under heavy development. + +**It is fun, feature-rich, and engaging, but it may not be for everyone!** + +If it does not sound too overwhelming, head to their [GitHub repo][7] and download the latest package for the platform you want. + +Various packages such as **.deb, .rpm, .tar.gz, .pacman,** and more are available for Linux. + +You can also explore its official website for more info. + +[Tabby][3] + +💬 Are you willing to give Tabby a try? + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/tabby/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/tabby-first-look.png +[2]: https://news.itsfoss.com/content/images/2022/11/Tabby-1.png +[3]: https://tabby.sh +[4]: https://news.itsfoss.com/content/images/2022/11/Tabby_SSH.png +[5]: https://news.itsfoss.com/content/images/2022/11/Tabby_Themes-1.png +[6]: https://news.itsfoss.com/content/images/2022/11/Tabby_MultiPane-1.png +[7]: https://github.com/Eugeny/tabby/releases/tag/v1.0.186 From 0139c9377617e52c6e6a7d22ab62288de6f9cd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:20:26 +0800 Subject: [PATCH 399/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221110.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Au?= =?UTF-8?q?dit=20your=20sharding=20database=20algorithm.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Audit your sharding database algorithm.md | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 sources/tech/20221110.5 ⭐️⭐️ Audit your sharding database algorithm.md diff --git a/sources/tech/20221110.5 ⭐️⭐️ Audit your sharding database algorithm.md b/sources/tech/20221110.5 ⭐️⭐️ Audit your sharding database algorithm.md new file mode 100644 index 0000000000..dee2e4e3a7 --- /dev/null +++ b/sources/tech/20221110.5 ⭐️⭐️ Audit your sharding database algorithm.md @@ -0,0 +1,218 @@ +[#]: subject: "Audit your sharding database algorithm" +[#]: via: "https://opensource.com/article/22/11/audit-sharding-database" +[#]: author: "Yacine Si Tayeb, PhD https://opensource.com/users/y2so" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Audit your sharding database algorithm +====== + +This demonstration of ShardingSphere 5.2.0 elaborates on the implementation logic for auditing data sharding with specific SQL examples. + +Thanks to the [ShardingSphere community's][1] continuous review and feedback to develop features such as [data sharding][2] and read/write splitting, our team found that some users create many shards when using the data sharding feature. + +In such cases, there can be 1,000 physical tables corresponding to a sharding logical table, which disturbs users. + +For instance, a `SELECT * FROM t_order` statement will lead to a full-route, which is obviously not the case for [OLTP][3]. This SQL can be placed in another Proxy to avoid blocking other requests. + +However, if users are not familiar with Proxy or how to write a `where` condition and don't know that sharding is not supported in this condition, a full-route is still required. + +A full-route can lower the performance of Proxy and even result in the failure of a reasonable request. Imagine that there are 1,000 shards in a physical database. If they are executed in parallel, 1,000 connections are needed, and if in serial, the request can lead to a timeout. For this reason, community users asked whether the unreasonable request could be intercepted directly. + +Our team considered the issue for a while. One option is to simply block the full-route operation. Doing so requires a check in the code and adding a switch to the configuration file. On the other hand, if the user later needs to set a table to read-only or requires the update operation to carry a `limit`, does that mean the code and configuration change again? This approach obviously goes against the pluggable logic of Proxy. + +In response to the above problems, the recently released [Apache ShardingSphere 5.2.0][4] provides users with auditing for the SQL sharding function. The audit can either be an interception operation or a statistical operation. Similar to the sharding and unique key generation algorithms, the audit algorithm is plugin-oriented, user-defined, and configurable. + +Next, I will elaborate on the implementation logic for auditing data sharding with specific SQL examples. + +### Audit for sharding interface + +The entrance to Apache ShardingSphere's audit is in the `org.apache.shardingsphere.infra.executor.check.SQLCheckEngine` class, which will invoke the `check` method of the `SQLChecker` interface. Currently, the ShardingSphere audit contains an audit for permission (verify username and password) and an audit for sharding. + +This example focuses on the parent interface implemented in the `ShardingAuditChecker` of audit for sharding. + +![Audit for sharding design][5] + +You can learn its working principles quickly by viewing the `check` code of `org.apache.shardingsphere.sharding.checker.audit.ShardingAuditChecker`. + +``` +public interface ShardingAuditAlgorithm extends ShardingSphereAlgorithm {/** +     * Sharding audit algorithm SQL check. +     * +     * @param sqlStatementContext SQL statement context +     * @param parameters SQL parameters +     * @param grantee grantee +     * @param database database +     * @return SQL check result +     */ +    SQLCheckResult CHECK(SQLStatementContext sqlStatementContext, List parameters, Grantee grantee, ShardingSphereDatabase DATABASE); +} +``` + +This method obtains the audit strategies of all the sharding tables involved and invokes the audit algorithms configured in each sharding table audit strategy. An exception is displayed to the user if an audit algorithm fails to pass. + +Some users may wonder what `disableAuditNames` does here. The sharding audit also allows users to skip this process. In some cases, users may need to execute SQL that should have been blocked by the audit, and they are aware of the impact of this SQL. + +Users can utilize the `Hint: disableAuditNames` to skip audit interception, which will be described with practical examples later. The Proxy Administrators can configure `allowHintDisable` to control whether to allow users to skip this process. The default value is `true`, indicating that a Hint-based skip is permitted. + +### Audit for sharding algorithm + +The audit for sharding algorithm interface `org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm` is inherited from SPI class `ShardingSphereAlgorithm`. It inherits `type` and `props` properties and defines its own `check` method. If you want to customize your audit algorithm, just implement the interface and add it to `INF.services`. + +![Implement audit for sharding][6] + +``` +public interface ShardingAuditAlgorithm extends ShardingSphereAlgorithm {/** +     * Sharding audit algorithm SQL check. +     * +     * @param sqlStatementContext SQL statement context +     * @param parameters SQL parameters +     * @param grantee grantee +     * @param database database +     * @return SQL check result +     */ +    SQLCheckResult CHECK(SQLStatementContext sqlStatementContext, List parameters, Grantee grantee, ShardingSphereDatabase DATABASE); +} +``` + +Apache ShardingSphere implements a general audit for sharding algorithm `org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`, namely the above-mentioned SQL statement that intercepts the full-route. + +The algorithm makes decisions by determining whether the sharding condition is `null`. Of course, it won't intercept broadcast tables and non-sharding tables. + +``` +public final class DMLShardingConditionsShardingAuditAlgorithm implements ShardingAuditAlgorithm { +    @Getter +    private Properties props; +    @Override +    public void init(final Properties props){ +        this.props = props;} +    @SuppressWarnings({"rawtypes","unchecked"}) +    @Override +    public SQLCheckResult CHECK(final SQLStatementContext sqlStatementContext, final List parameters, final Grantee grantee, final ShardingSphereDatabase DATABASE){IF(sqlStatementContext.getSqlStatement() instanceof DMLStatement){ +            ShardingRule rule =DATABASE.getRuleMetaData().getSingleRule(ShardingRule.class);IF(rule.isAllBroadcastTables(sqlStatementContext.getTablesContext().getTableNames())|| sqlStatementContext.getTablesContext().getTableNames().stream().noneMatch(rule::isShardingTable)){RETURNNEW SQLCheckResult(TRUE,"");} +            ShardingConditionEngine shardingConditionEngine = ShardingConditionEngineFactory.createShardingConditionEngine(sqlStatementContext,DATABASE, rule);IF(shardingConditionEngine.createShardingConditions(sqlStatementContext, parameters).isEmpty()){RETURNNEW SQLCheckResult(FALSE,"Not allow DML operation without sharding conditions");}}RETURNNEW SQLCheckResult(TRUE,"");} +    @Override +    public String getType(){RETURN"DML_SHARDING_CONDITIONS";}} +``` + +I'd like to introduce another audit for the sharding algorithm: `LimitRequiredShardingAuditAlgorithm`. This algorithm can intercept SQL without carrying a `limit` in the `update` and `delete` operations. + +As this algorithm is less universal, it is not currently integrated into Apache ShardingSphere. As you can see, it is very easy to implement a custom algorithm, which is why the audit for sharding framework is needed. Thanks to its plugin-oriented architecture, ShardingSphere boasts great scalability. + +``` +public final class LimitRequiredShardingAuditAlgorithm implements ShardingAuditAlgorithm { +    @Getter +    private Properties props; +    @Override +    public void init(final Properties props){ +        this.props = props;} +    @SuppressWarnings({"rawtypes","unchecked"}) +    @Override +    public SQLCheckResult CHECK(final SQLStatementContext sqlStatementContext, final List parameters, final Grantee grantee, final ShardingSphereDatabase DATABASE){IF(sqlStatementContext instanceof UpdateStatementContext && !((MySQLUpdateStatement) sqlStatementContext.getSqlStatement()).getLimit().isPresent()){RETURNNEW SQLCheckResult(FALSE,"Not allow update without limit");}IF(sqlStatementContext instanceof DeleteStatementContext && !((MySQLDeleteStatement) sqlStatementContext.getSqlStatement()).getLimit().isPresent()){RETURNNEW SQLCheckResult(FALSE,"Not allow delete without limit");}RETURNNEW SQLCheckResult(TRUE,"");} +    @Override +    public String getType(){RETURN"LIMIT_REQUIRED";}} +``` + +### Use audit for sharding + +Audit for sharding requires you to configure an audit strategy for logical tables. To help you get started quickly, its configuration is the same as that of the sharding algorithm and the sharding key value generator. + +There is an algorithm definition and strategy definition, and a default audit strategy is also supported. If the audit strategy is configured in the logical table, it affects only that logical table. + +If `defaultAuditStrategy` is configured in the logical table, it takes effect for all the logical tables under the sharding rule. `Auditors` are similar to `ShardingAlgorithms`, `auditStrategy` to `databaseStrategy`, and `defaultAuditStrategy` to `defaultDatabaseStrategy` or `defaultTableStrategy`. + +Please refer to the following example. Only the configuration of the audit for sharding is displayed. You must configure the sharding algorithm and data source yourself. + +``` +rules:- !SHARDINGTABLES: +      t_order: +        actualDataNodes: ds_${0..1}.t_order_${0..1} +        auditStrategy: +          auditorNames:- sharding_key_required_auditor +          allowHintDisable: TRUE +    defaultAuditStrategy: +      auditorNames:- sharding_key_required_auditor +      allowHintDisable: TRUE +    auditors: +      sharding_key_required_auditor:TYPE: DML_SHARDING_CONDITIONS +``` + +**Step 1**: Execute a query operation. An error is displayed as the audit strategy for intercepting the full-database route is configured. + +``` +mysql>SELECT*FROM t_order; +ERROR 13000(44000): SQLCHECK failed, error message: NOT allow DML operation WITHOUT sharding conditions +``` + +**Step 2**: Add `HINT`. The name of the `HINT` is `/* ShardingSphere hint: disableAuditNames */`,and `disableAuditNames` is followed by the `auditorsNames` configured in the preceding command. + +If multiple names exist, separate them with spaces such as`/* ShardingSphere hint: disableAuditNames=auditName1 auditName2*/`. After using `HINT`, you can see that the SQL operation is successfully executed. + +``` +mysql>/* ShardingSphere hint: disableAuditNames=sharding_key_required_auditor */SELECT*FROM t_order; ++----------+---------+------------+--------+| order_id | user_id | address_id |STATUS|+----------+---------+------------+--------+|30|20|10|20||32|22|10|20|+----------+---------+------------+--------+2ROWSINSET(0.01 sec) +``` + +**Note**: `HINT` requires you to modify the `server.yaml` configuration of Proxy. In addition, if you are using MySQL terminal to connect to Proxy directly, you need to add the `-c` property—otherwise, `HINT` comments will be filtered out of the MySQL terminal and will not be parsed by Proxy on the backend. + +``` +rules:- !SQL_PARSER +    sqlCommentParseEnabled: TRUE +    sqlStatementCache: +      initialCapacity: 2000 +      maximumSize: 65535 +    parseTreeCache: +      initialCapacity: 128 +      maximumSize: 1024 +props: +  proxy-hint-enabled: TRUE +mysql -uroot -proot -h127.0.0.1 -P3307  -c +``` + +### DistSQL with audit for sharding + +As you can see from the [release notes][7], Apache ShardingSphere 5.2.0 supports the following [DistSQL][8] with audit for sharding function: + +``` +CREATE SHARDING AUDITOR +ALTER SHARDING AUDITOR +SHOW SHARDING AUDIT ALGORITHMS +The following DistSQL will be supported IN future releases: + +DROP SHARDING AUDITOR +SHOW UNUSED SHARDING AUDIT ALGORITHMS +CREATE SHARDING TABLE RULE # including AUDIT_STRATEGY +``` + +This post introduced how audit for sharding works with specific examples. I believe you already have a basic understanding of this function and can use it whenever you need or use a custom algorithm. + +You are also welcome to submit general algorithms to the community. If you have any ideas to contribute or encounter issues with your ShardingSphere, feel free to post them on [GitHub][9]. + +This article originally appeared on [ShardingSphere 5.2.0: Audit for sharding intercepts unreasonable requests in multi-shards scenarios][10] and is republished with permission. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/audit-sharding-database + +作者:[Yacine Si Tayeb, PhD][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/y2so +[b]: https://github.com/lkxed +[1]: https://shardingsphere.apache.org/ +[2]: https://opensource.com/article/21/12/apache-shardingsphere +[3]: https://shardingsphere.apache.org/blog/en/material/2022_04_26_how_to_use_shardingsphere-proxy_in_real_production_scenarios_your_quick_start_guide/ +[4]: https://faun.pub/apache-shardingsphere-5-2-0-is-released-bringing-new-cloud-native-possibilities-8d674d964a93?source=your_stories_page------------------------------------- +[5]: https://opensource.com/sites/default/files/2022-10/Audit-for-sharding.png +[6]: https://opensource.com/sites/default/files/2022-10/implement-audit-algorithm_0.png +[7]: https://github.com/apache/shardingsphere/releases/tag/5.2.0 +[8]: https://shardingsphere.apache.org/document/5.1.0/en/concepts/distsql/ +[9]: https://github.com/apache/shardingsphere +[10]: https://blog.devgenius.io/shardingsphere-5-2-0-audit-for-sharding-intercepts-unreasonable-requests-in-multi-shards-scenarios-9a113312062b From 6d3c2cb54652bf12c777c06699eac27c1ab8a239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:21:20 +0800 Subject: [PATCH 400/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221110.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=204?= =?UTF-8?q?=20key=20differences=20between=20Twitter=20and=20Mastodon.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... 4 key differences between Twitter and Mastodon.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sources/talk/20221110.6 ⭐️⭐️ 4 key differences between Twitter and Mastodon.md diff --git a/sources/talk/20221110.6 ⭐️⭐️ 4 key differences between Twitter and Mastodon.md b/sources/talk/20221110.6 ⭐️⭐️ 4 key differences between Twitter and Mastodon.md new file mode 100644 index 0000000000..47d1016c92 --- /dev/null +++ b/sources/talk/20221110.6 ⭐️⭐️ 4 key differences between Twitter and Mastodon.md @@ -0,0 +1,81 @@ +[#]: subject: "4 key differences between Twitter and Mastodon" +[#]: via: "https://opensource.com/article/22/11/twitter-vs-mastodon" +[#]: author: "Don Watkins https://opensource.com/users/don-watkins" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +4 key differences between Twitter and Mastodon +====== + +Mastodon is not a corporation. All of its instances are staffed and supported by each server's contributors. Here are a few other advantages. + +Social media is not always sociable, and sometimes we need a sufficient impetus to change what we do and what we read. I began using Twitter as a replacement for my RSS reader in 2008, which revolutionized how I read and learned up to that point. Tweets from educators and free and open source (FOSS) advocates worldwide kept me informed and engaged in a learning network that was without equal. That's changed over the past half dozen years, and recently a change in ownership and the shaping of what I read was driven more by an algorithm than by my personal interests and choices. During a yearly meetup of correspondents and editors of Opensource.com a few years ago, [Seth Kenlon][1] suggested giving [Mastodon][2] a try. I joined [Fosstodon][3] in 2019. Fosstodon is a Mastodon instance for a community of like-minded people who enjoy free and open source software. + +### Mastodon vs Twitter + +Change is not easy. Being a creature of habit, I stayed with my old standby even though it was becoming increasingly tiresome. The threat of its sale in the spring of 2022 invited me to reconsider Fosstodon. + +### 1. Favorite instead of like + +The Mastodon interface is similar to Twitter. Rather than "liking" a post, you "favorite" a post on Mastodon by clicking the star icon under the post content. + +![Favorite button][4] + +### 2. Share a post + +Re-sharing on my old network is a "retweet," but on Mastodon, it's a "boost." You click the double-arrow icon under the post content to boost a post. + +![Boost button][5] + +### 3. Mastodon instances + +Because anyone can run a Mastodon instance, different instances not only have unique communities (like the ones that form around specific hashtags on Twitter, but Mastodon also has hashtags). Some have a unique set of rules. For instance, unlike my former social network, there were content moderation rules on Fosstodon that seemed strict initially. I made a post unrelated to FOSS software, and my post was removed. I was told it had been removed because I'd not issued a "content warning." That irked me, so I looked for another instance and found a couple more to my liking. One was [Mastodon.social][6], and the other [Scholar.social][7]. The former is a general server with no expectation about what you will post. The latter was an instance dedicated to academics. In all cases, there are well-enforced codes of conduct. + +Each instance has rules, and while they differ slightly in the description, they clearly spell out what is and is not acceptable behavior. Fosstodon published its [code of conduct][8], which established the rules and expectations of behavior on the site. + +### 4. Open source social networking + +If you want to run your own Mastodon instance or help develop one, you'll be happy to know that Mastodon is open source. It uses an AGPLv3 license, and its source code is available as a [Git repository][9]. The software provides a social network server that uses the [ActivityPub][10] protocol to communicate with other servers worldwide. + +Mastodon is not a single site on the internet but a series of sites spanning the globe and communicating with each other. This federated network is referred to as the "fediverse." Unlike other social networks, where there's a single owner of the network, Mastodon and other ActivityPub sites are owned by anyone who runs a server. + +From a user's perspective, this doesn't matter at first. You can sign up on any Mastodon instance and then connect to all other instances. + +There is power to this distributed design, though. If you encounter an instance with a community producing content you'd rather not see, you can block either a single user from that instance or the whole instance. + +In the past month, I've returned to Fosstodon primarily because open source is my passion. I enjoy sharing open source content on Fosstodon because the other users of Fosstodon are generally receptive to posts about free and open source software. When I have something to share that's not considered appropriate on Fosstodon, I share it on Scholar.social or Mastodon.social. + +Not all instances have topics they focus on, and even those that do often use their topical interests as a guideline rather than grounds for strict removal of posts. If you have a particular interest, you might be able to find a community built around that topic, and you're likely to see that you have an instant audience. Of course, you'll still always be able to communicate with users of other instances, too. + +### Try Mastodon + +Mastodon is not a corporation. All of its instances are staffed and supported by each server's contributors. Some instances make it easy to support them with Patreon or PayPal. + +I have found the fediverse a welcoming place that brings joy back into social networking. Have you joined Mastodon? What are your takeaways? Let us know in the comments. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/twitter-vs-mastodon + +作者:[Don Watkins][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/don-watkins +[b]: https://github.com/lkxed +[1]: https://opensource.com/users/seth +[2]: https://joinmastodon.org/ +[3]: https://fosstodon.org/about/ +[4]: https://opensource.com/sites/default/files/2022-11/favorite-button.webp +[5]: https://opensource.com/sites/default/files/2022-11/boost-button.webp +[6]: https://mastodon.social/about +[7]: https://scholar.social/about/more +[8]: https://hub.fosstodon.org/coc/ +[9]: https://github.com/mastodon/mastodon +[10]: https://en.wikipedia.org/wiki/ActivityPub From 95c58df4c0abf675b1b8a709fbe8735c3c26dabd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:22:04 +0800 Subject: [PATCH 401/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221111.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Dr?= =?UTF-8?q?op=20swap=20for=20zram=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1111.4 ⭐️⭐️ Drop swap for zram on Linux.md | 191 ++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 sources/tech/20221111.4 ⭐️⭐️ Drop swap for zram on Linux.md diff --git a/sources/tech/20221111.4 ⭐️⭐️ Drop swap for zram on Linux.md b/sources/tech/20221111.4 ⭐️⭐️ Drop swap for zram on Linux.md new file mode 100644 index 0000000000..df8dd3e3fa --- /dev/null +++ b/sources/tech/20221111.4 ⭐️⭐️ Drop swap for zram on Linux.md @@ -0,0 +1,191 @@ +[#]: subject: "Drop swap for zram on Linux" +[#]: via: "https://opensource.com/article/22/11/zram-swap-linux" +[#]: author: "David Both https://opensource.com/users/dboth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Drop swap for zram on Linux +====== + +Zram is a tool for creating an in-RAM compressed cache, specifically for use as swap space. + +I spend a lot of time playing (I mean working) on my computers, and I've found a lot of interesting things. One that has most recently come to my attention is the `zram0` device. I first noticed it when working on one of my Opensource.com articles several months ago. It showed up in the output from the `lsblk` command: + +``` +# lsblk +NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS +sda             8:00 931.5G  0 disk +├─sda1          8:10   600M  0 part +[...] +zram0         252:00     8G  0 disk [SWAP] +``` + +It's identified as swap space, which is what first piqued my curiosity, so I did some exploration. Zram was originally called "compcache," which stands for "compressed cache." It turns out that zram is a tool for creating an in-RAM compressed cache, specifically for use as swap space. + +But Why? + +When I began researching zram, all I found were a couple of basic articles about using zram for swap space. At first, this seemed a bit counterintuitive to me. After all, if you're running out of RAM and you swap pages into a virtual drive in RAM, what's gained? + +I then found the Fedora Project wiki page that proposed the use of [Swap on zram][1]. The proposal says: "Swap is useful, except when it's slow. zram is a RAM drive that uses compression. Create a swap-on-zram during start-up. And no longer use swap partitions by default." + +The rest of the page is about details, benefits, side effects, and feedback. + +### Zram for swap space on Linux + +Using zram for swap space is intended to do the same thing as regular partition-based or file-based swap space. When memory pressure becomes too great, some of the least recently used data is moved to swap space. On average, it's compressed to about 50% of its original size, and placed in zram space in RAM. This is much faster than storing those memory pages on a hard drive and frees up the RAM it was using for other use. + +### Saving on swap + +I tried to find revised recommendations for how much swap or zram swap to configure. This led me back to a reassessment of swap, and my previous article, [What's the right amount of swap space for a modern Linux system?][2] As far as I can tell from the most current documentation for RHEL and Fedora, the recommended amount of swap space has not changed. That documentation, however, ignores the use of zram. + +However, the tables in that previous article still provide a good starting point for swap space allocation when using older releases of Linux that don't use zram or in cases where zram has been disabled. + +The documents I found for the Zram feature are inconsistent in terms of how zram is allocated with respect to RAM size, and the amount of space allocated to zram swap. + +Due to the lack of authoritative documentation, I performed some experiments to empirically determine the algorithm used to allocate zram swap. I used my own physical and virtual systems for this. The results are interesting and do not match any documentation I've so far found. + +The default size of zram is 8 GB on all systems large enough to support that, but it's typically reduced significantly on hosts with small amounts of RAM. On one virtual machine (VM) I use for testing, with access to 4 GB of RAM, the zram virtual swap space is allocated to 3.8 GB. One old Dell I have contains 8 GB of RAM, and the zram is set to 7.6 GB. When RAM is reduced to 2 GB, Zram is reduced to 1.9 GB. + +All physical and virtual hosts I have with more than 8 GB of RAM show exactly 8 GB of zram. This includes my primary workstation with 64 GB of RAM and other hosts with 16 GB or 32 GB of RAM. + +Based on these few data points, I can draw the conclusion that the current default settings are for 8 GB of zram at most, and for zram to be 95% of RAM on hosts with 8 GB or less. + +I have read a number of articles that mention other sizes for zram swap, even up to 100% of RAM, but those all seem to be theoretical rather than reality. + +Your distribution may be different, but here are the actual zram swap allocations for Fedora and similar distributions: + +- **RAM ⇐ 8 GB:** 0.95 × RAM +- **RAM > 8 GB:** 8 GB + +Be aware that the zram swap size algorithm is not based on any recommendations for the "best" swap size for any given real-world system or application. This zram swap allocation is a rather probabilistic approach to what should work well on a wide range of Linux hosts. However, the fact that the maximum zram swap size is configured for 8 GB and the fact that I have always recommended 8 GB as the maximum amount of traditional swap, I think I can say it's reflective of the optimum sizes for zram swap. + +### Managing zram swap + +Zram defaults are stored in the `/usr/lib/systemd/zram-generator.conf` configuration file. The following is from one of my test VMs with 5097 GB of RAM allocated. + +``` +# cat /usr/lib/systemd/zram-generator.conf +# This config file enables a /dev/zram0 device with the default settings: +# - size - same as available RAM or 8GB, whichever is less +# - compression - most likely lzo-rle +# +# To disable, uninstall zram-generator-defaults or create empty +# /etc/systemd/zram-generator.conf file. +[zram0]zram-size= min(ram, 8192) +``` + +You can change the default Zram swap size in the last line of the `zram-generator.conf` configuration file. I recommend against doing that, unless you can definitively show a reason for doing so, and test your results once you make any changes. Like many other configuration defaults in Linux, the zram ones have been well-tested and are appropriate for most use cases. + +### Monitor zram + +The zramctl utility can be used to view the current state of zram. + +``` +# zramctl +NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT +/dev/zram0 lzo-rle       4.8G   4K   80B   12K       4[SWAP] +``` + +The traditional `swapon` command can also be used to view swap including zram used as swap: + +``` +# swapon --show +NAME       TYPE      SIZE USED PRIO +/dev/zram0 partition 4.8G   0B  100 +``` + +One thing to be aware of is that `zramctl` does not report on zram when it contains no data, so the results contain null output. Tools like `lsblk`, `swapon`, `top`, `free`, `htop`, and so on, do show zram even when it contains no data. + +### Deactivate zram + +The `swapoff -a` command turns off `zram` swap as well as traditional HDD or SSD storage used as swap. The `swapon -a` command does not show zram when it is empty. Use `zramctl /dev/zram0` instead. + +``` +# swapon --show# lsblk +NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS +sda             8:00  120G  0 disk +├─sda1          8:10    1G  0 part /boot/efi +├─sda2          8:20    1G  0 part /boot +└─sda3          8:30  118G  0 part +  ├─vg01-root 253:00   10G  0 lvm  / +  ├─vg01-swap 253:10    3G  0 lvm  [SWAP] +  ├─vg01-usr  253:10   30G  0 lvm  /usr +  ├─vg01-home 253:20   10G  0 lvm  /home +  ├─vg01-var  253:30   30G  0 lvm  /var +  └─vg01-tmp  253:40   10G  0 lvm  /tmp +sr0            11:01 1024M  0 rom +zram0         252:00    0B  0 disk +# zramctl## zramctl /dev/zram0 +NAME       ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT +/dev/zram0 lzo-rle         0B   0B    0B    0B       4 +``` + +Note that `/dev/zram0` doesn't show up in these commands as swap space until it's being used for that purpose. This caused me some confusion until my experiments showed it to be the case. + +### Creating Zram Swap + +Zram itself has been around for about 20 years, but has only been in use as swap space on some distributions for the last year or two. The current Linux installation on some or all of your hosts may not have been created with zram for swap. If that's the case, it can be easily remedied. + +For Fedora 32, the last release prior to the default use of zram for swap, it only takes three easy commands. + +First, verify the presence of the `zram-swap.service` file, installed as part of the `zram` RPM package. + +``` +# systemctl status zram-swap +● zram-swap.service - Enable compressed swap in memory using zram +     Loaded: loaded (/usr/lib/systemd/system/zram-swap.service; disabled; vendor preset: disabled) +     Active: inactive (dead) +``` + +Next, install the `zram-generator-defaults` and `zram-generator` packages. + +``` +# dnf install zram-generator-defaults zram-generator +``` + +Enable and start the zram-swap service: + +``` +# systemctl enable zram-swap.service# systemctl start zram-swap.service +``` + +And then verify that `zram0` exists, and is being used as swap space: + +``` +# lsblk +NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT +sda             8:00  120G  0 disk +├─sda1          8:10    2G  0 part /boot +└─sda2          8:20  118G  0 part +  ├─vg01-root 253:00   10G  0 lvm  / +  ├─vg01-swap 253:10    3G  0 lvm  [SWAP] +  ├─vg01-usr  253:20   35G  0 lvm  /usr +  ├─vg01-tmp  253:30   15G  0 lvm  /tmp +  ├─vg01-var  253:40   35G  0 lvm  /var +  └─vg01-home 253:50   20G  0 lvm  /home +sr0            11:01 1024M  0 rom +zram0         252:00  7.5G  0 disk [SWAP] +``` + +### Improve swap with zram + +That's all there is to it. It was easy with Fedora. Different distributions will likely be just as easy, with some possible different details in the package names and commands. Give zram swap a try on your computer. In my next article, I'll demonstrate some further zram options. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/zram-swap-linux + +作者:[David Both][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/dboth +[b]: https://github.com/lkxed +[1]: https://fedoraproject.org/wiki/Changes/SwapOnZRAM +[2]: https://opensource.com/article/19/2/swap-space-poll From 1347c093cd172537d2560cf3d94ce3424d1a3a05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:22:37 +0800 Subject: [PATCH 402/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221111.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20switch=20from=20Twitter=20to=20Mastodon.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ How to switch from Twitter to Mastodon.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md diff --git a/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md new file mode 100644 index 0000000000..de816dc913 --- /dev/null +++ b/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md @@ -0,0 +1,118 @@ +[#]: subject: "How to switch from Twitter to Mastodon" +[#]: via: "https://opensource.com/article/22/11/switch-twitter-mastodon" +[#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to switch from Twitter to Mastodon +====== + +Mastodon is an open source microblogging community. + +Like many people, I find social media somewhat exciting and also...a bit much. Sometimes you get deep-fried in algorithms, tracking data, and ads catered especially for you. You lack administrative control over what you want to see, especially on the old platforms many of us are used to. As usual, you must look to open source to fix the problem. And that's exactly what [Mastodon][1], an open source microblogging community, does. + +With Mastodon social, not only are you working with open source software, but everything is decentralized, which means you can pick what you want to see partly based on the instance you want to occupy. Mastodon uses separate instances, each with its own code of conduct, privacy options, and moderation policies. That means that when you join an instance, you're less likely to see the stuff you're not interested in and more likely to see messages from people who share your interests. + +However, you can also interact with other instances. All Mastodon installs have the potential to be "federated" in what its users call the "fediverse." + +### What is the fediverse? + +The fediverse is an ensemble of federated (or interconnected) servers. The word comes from the mix of "federated" and "universe." You can use this for all sorts of web publishing, from social networking to websites to file hosting. While each instance is hosted independently, they can talk to each other. + +### So how can I sign up for Mastodon? + +First, go to [Mastodon.social][2] to sign up. + +On the right-hand side of the screen, there are **Sign in** and **Create account** buttons. + +![Sign-in or Create Account interface][3] + +However, because anyone can run a Mastodon server, there are many instances, and some servers are already home to a community with interests that may align with your own. As I've said, you'll have access to the whole fediverse no matter what, but it can be nice to start on a server where people already "speak your language" (that can be literal, too, because you can add a filter to find a server in your native language). + +To find a server, click the **Find another server** button. + +![Signing up interface][4] + +When you click that button, you're brought to the [Join Mastodon page][5], with a button to list available servers. + +![Getting started interface][6] + +As you scroll down, you can pick a topic on the left to help you find where you would like to be hosted. + +![Topic list][7] + +I'm all about open source, so let's see what we have in the technology topic. + +![Technology topics][8] + +As you can see, there's a large index with many waiting lists. In this case, it looks like Don Watkins, a fellow Opensource.com author, has chosen an instance that works for himself and our talented group. So I'll skip ahead and tell you where I'm going: There's a free open source software server known as [Fosstodon][9], and I've chosen to sign up there so I can share my articles freely. + +Here are the sign-in steps. + +First, enter your information: + +![Steps for signing in][10] + +Next, you get a message about a confirmation email: + +![Confirmation message][11] + +When you get to your email, click the **Verify** button, and the system prompts you to confirm your login information. + +This server does have an application process to join. This process isn't just for safety reasons but also for privacy. Once approved, you get this amazing email! + +![Welcome message][12] + +I kept my handle from other social media venues, so it's easy to move back and forth from one place to another and cross-post with replication and API calls. + +### Complete control + +Now that I have a new profile, I can change preferences on what emails I receive, allowing for more control over what I see. This is a good way to give me more power over my media intake, and it's greatly appreciated. Once I click **Preferences**, Mastodon offers me cool appearance, language information, and many other options. + +![Appearance settings][13] + +Next, I can click notifications and limit what I see and what I get notified for, so I can opt for less noise. + +![Notifications settings][14] + +This complete control of my media without algorithmic intervention is great. You can also set up featured hashtags for what you want on your profile to follow long-term projects or allow people to find you by following those hashtags. You also have the options for filters, followers, and so much more. + +### Final notes + +This open source social media is a great way to find your group of people and broadly interact with those in a broad universe of interests. Controlling media intake is great for some balance in your life, and you can opt-in to contributing by checking the [contributor rules][15]. + +In addition to the control over your own social media experience, you also gain phone apps that work on all devices, including Toot for iPhone and Tusky for Android. + +Long story short: I think we should all get ready for a new open source world of social media. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/switch-twitter-mastodon + +作者:[Jessica Cherry][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/cherrybomb +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/11/twitter-vs-mastodon +[2]: https://mastodon.social/ +[3]: https://opensource.com/sites/default/files/2022-11/1signin-createaccount.png +[4]: https://opensource.com/sites/default/files/2022-11/2signingup.png +[5]: https://joinmastodon.org/servers +[6]: https://opensource.com/sites/default/files/2022-11/3gettingstarted.png +[7]: https://opensource.com/sites/default/files/2022-11/4topics.png +[8]: https://opensource.com/sites/default/files/2022-11/5techtopic.png +[9]: https://fosstodon.org/ +[10]: https://opensource.com/sites/default/files/2022-11/6signin.jpg +[11]: https://opensource.com/sites/default/files/2022-11/7confirmation.png +[12]: https://opensource.com/sites/default/files/2022-11/8welcome.png +[13]: https://opensource.com/sites/default/files/2022-11/9appearance.png +[14]: https://opensource.com/sites/default/files/2022-11/10notifications.png +[15]: https://github.com/mastodon/mastodon/blob/main/CONTRIBUTING.md From 5c7f68ee178c44ec08b0171f8c3c2860771775be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:24:24 +0800 Subject: [PATCH 403/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221112.0=20=E2=AD=90=EF=B8=8F=20Learn=20Python=207?= =?UTF-8?q?=20of=20my=20favorite=20resources.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Learn Python 7 of my favorite resources.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md diff --git a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md new file mode 100644 index 0000000000..8186cd607e --- /dev/null +++ b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md @@ -0,0 +1,80 @@ +[#]: subject: "Learn Python: 7 of my favorite resources" +[#]: via: "https://opensource.com/article/22/11/learn-python" +[#]: author: "Don Watkins https://opensource.com/users/don-watkins" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Learn Python: 7 of my favorite resources +====== + +Over the years, I've honed my Python skills thanks to these open source resources. + +I made a decision recently that I wanted to learn more Python so I could improve my instructional skills and broaden the horizons of my students. In the process, I have discovered these excellent resources that have me learning new code and improving my understanding of Python in general. + +### 1. Teach your kids to code + +I began the Python journey about seven years ago when I discovered connections between Apple LOGO and the [Turtle module][1] in Python. The Linux computer I was using at the time defaulted to Python 2.7, and I soon discovered that I wanted to use Python 3. I managed to get it installed and began writing some simple programs using the Turtle module. After reading Dr. Bryson Payne’s [Teach Your Kids to Code][2], I realized there was a lot more to Python than just Turtle. That’s when I installed [IDLE][3]. + +### 2. IDLE + +Working with IDLE, the interactive interface improved my experience and made me confident enough to consider teaching Python to students. I volunteered to help a group of home-schooled children in my community and soon found myself teaching a class of sixteen! I’m glad their parents stayed and agreed to be my assistants, otherwise I think I’d have been overwhelmed. The experience whetted my appetite to learn more so I could teach more. + +### 3. Mu Editor + +The following spring in 2018 I attended PyConUS. I listened to a talk by [Nicholas Tollervey][4], a middle school teacher, who had written a Python development environment for school-age children. The [Mu editor][5] has a linter built into it, which helped me to see where my errors in programming were. Mu helped me improve my coding skills, and I was able to share that with students, who benefitted as well. + +As my confidence and experience grew, I became eager to share the Python journey with still more students. I co-wrote a grant the following year to teach a class that used Raspberry Pi 4 computers and Python. The pandemic interrupted that experience. In the interim, the Raspberry Pi Foundation released the Pi 400. In the spring of 2021, I used the materials I had developed the previous year and a generous grant from a local library to [teach two groups][6] of students how to program. That event was so successful that it was repeated this year. + +### 4. Codium + +Several years ago, I learned that Microsoft’s Visual Studio Code is an open source code editor that can be used on Linux. One of the aspects of my Python learning journey that had eluded me until recently was how to set up and use a virtual environment for Python programming, which had been suggested when using VS Code. My questions were answered here on Opensource.com in an [article about venv][7], and that opened the door to learning how to set up and configure Python virtual environments on my Linux computer. Around the same time, I found [Codium][8], a community project built around VS Code. + +Now I want to share the VS Codium experience with my students and open their understanding of Python beyond the Turtle module. This zest for learning has me looking for training resources that are open source and freely available on the internet. + +### 5. Python gently explained + +The book [Automate the Boring Stuff with Python][9] by Al Sweigart has long been a favorite of mine. Now, the author has released [Python Programming Exercises, Gently Explained][10]. Both books are available online for free and are openly licensed with Creative Commons license. + +### 6. Python for everyone + +Dr. Charles Severance released [Python for Everyone][11] in 2017, which I highly recommend. He provides "bite size" lessons for aspiring programmers like me. The code for the course is available on [GitHub][12], so you can download it and install it on your own computer or school network. + +### 7. Python videos + +Recently I learned that Opensource.com alumnus [Jay LaCroix][13] has an excellent series of twenty-eight videos available for free on YouTube that begin with Python basics and span the gamut of a solid introduction to [Python programming][14]. Best of all, he uses a Linux computer, so his lessons are especially appropriate for a Linux programming environment. One of the takeaways from these videos is learning to use [nano][15] as a programming environment, and it’s included by default in most Linux distributions. + +### Your learning path + +These seven resources have helped me grow as a programmer, and it’s all open source and available to share with others. How have you been honing your programming skills? What would you like to share? Let us know in the comments. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/learn-python + +作者:[Don Watkins][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/don-watkins +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/9/logo-python-turtle +[2]: https://opensource.com/education/15/9/review-bryson-payne-teach-your-kids-code +[3]: https://docs.python.org/3/library/idle.html +[4]: https://us.pycon.org/2018/speaker/profile/194/ +[5]: https://opensource.com/article/20/9/teach-python-mu +[6]: https://opensource.com/article/21/6/teach-python-raspberry-pi +[7]: https://opensource.com/article/20/10/venv-python +[8]: https://opensource.com/article/22/11/python-vs-code-codium +[9]: https://automatetheboringstuff.com/#toc +[10]: https://inventwithpython.com/pythongently/ +[11]: https://www.py4e.com/lessons +[12]: https://github.com/csev/py4e +[13]: https://opensource.com/users/jlacroix +[14]: https://youtube.com/playlist?list=PLT98CRl2KxKGIazPd2nQEPbG7sQpT8LEj +[15]: https://opensource.com/article/20/12/gnu-nano From 0abb164c8f23c72371440f0fde37d30269f4980b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 13 Nov 2022 14:30:18 +0800 Subject: [PATCH 404/925] =?UTF-8?q?Update=2020221110.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20How=20to=20Fix=20bash=20wget=20Command=20Not=20Foun?= =?UTF-8?q?d=20Error.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to Fix bash wget Command Not Found Error.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md index dd8e9bb4e8..5d010bc7e5 100644 --- a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md +++ b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md @@ -69,7 +69,28 @@ wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso Similarly, you can also download using the above command or, by combining several switches as described below. You can also get this via `wget --help` command. ``` --t, --tries=NUMBER set number of retries to NUMBER (0 unlimits)--retry-connrefused retry even if connection is refused--retry-on-http-error=ERRORS comma-separated list of HTTP errors to retry-O, --output-document=FILE write documents to FILE-nc, --no-clobber skip downloads that would download toexisting files (overwriting them)--no-netrc don't try to obtain credentials from .netrc-c, --continue resume getting a partially-downloaded file--start-pos=OFFSET start downloading from zero-based position OFFSET--progress=TYPE select progress gauge type--show-progress display the progress bar in any verbosity mode-N, --timestamping don't re-retrieve files unless newer thanlocal--no-if-modified-since don't use conditional if-modified-since getrequests in timestamping mode--no-use-server-timestamps don't set the local file's timestamp bythe one on the server-S, --server-response print server response--spider don't download anything-T, --timeout=SECONDS set all timeout values to SECONDS--dns-timeout=SECS set the DNS lookup timeout to SECS--connect-timeout=SECS set the connect timeout to SECS--read-timeout=SECS set the read timeout to SECS-w, --wait=SECONDS wait SECONDS between retrievals(applies if more then 1 URL is to be retrieved)--waitretry=SECONDS wait 1..SECONDS between retries of a retrieval(applies if more then 1 URL is to be retrieved)--random-wait wait from 0.5WAIT…1.5WAIT secs between retrievals(applies if more then 1 URL is to be retrieved) +-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits) +--retry-connrefused retry even if connection is refused +--retry-on-http-error=ERRORS comma-separated list of HTTP errors to retry +-O, --output-document=FILE write documents to FILE +-nc, --no-clobber skip downloads that would download toexisting files (overwriting them) +--no-netrc don't try to obtain credentials from .netrc +-c, --continue resume getting a partially-downloaded file +--start-pos=OFFSET start downloading from zero-based position OFFSET +--progress=TYPE select progress gauge type +--show-progress display the progress bar in any verbosity mode +-N, --timestamping don't re-retrieve files unless newer than local +--no-if-modified-since don't use conditional if-modified-since get requests in timestamping mode +--no-use-server-timestamps don't set the local file's timestamp by the one on the server +-S, --server-response print server response +--spider don't download anything +-T, --timeout=SECONDS set all timeout values to SECONDS +--dns-timeout=SECS set the DNS lookup timeout to SECS +--connect-timeout=SECS set the connect timeout to SECS +--read-timeout=SECS set the read timeout to SECS +-w, --wait=SECONDS wait SECONDS between retrievals (applies if more then 1 URL is to be retrieved) +--wait retry=SECONDS wait 1..SECONDS between retries of a retrieval (applies if more then 1 URL is to be retrieved) +--random-wait wait from 0.5WAIT…1.5WAIT secs between retrievals(applies if more then 1 URL is to be retrieved) ``` ### Wrapping Up From 2338fee845b00433a2abf2cc05e5d9e1092a23c9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 13 Nov 2022 15:40:08 +0800 Subject: [PATCH 405/925] RP @Donkey-Hao https://linux.cn/article-15248-1.html --- ... 4 open source editors I use for my writing.md | 60 +++++++++++++++++++ ... 4 open source editors I use for my writing.md | 56 ----------------- 2 files changed, 60 insertions(+), 56 deletions(-) create mode 100644 published/20221020.7 ⭐️ 4 open source editors I use for my writing.md delete mode 100644 translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md diff --git a/published/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/published/20221020.7 ⭐️ 4 open source editors I use for my writing.md new file mode 100644 index 0000000000..bf7e54d2f9 --- /dev/null +++ b/published/20221020.7 ⭐️ 4 open source editors I use for my writing.md @@ -0,0 +1,60 @@ +[#]: subject: "4 open source editors I use for my writing" +[#]: via: "https://opensource.com/article/22/10/open-source-editors" +[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" +[#]: collector: "lkxed" +[#]: translator: "Donkey-Hao" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15248-1.html" + +我使用的 4 款开源编辑器 +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/13/153838gs7u2z33qxxfigx3.jpg) + +> 分享一些我最喜欢的开源写作工具。 + +在我的职业生涯中,我已经写过很多东西,主要是作为一名 IT 顾问,创建产品文档作为给的客户可交付成果。这些文档通常针对不同操作系统和软件产品提供说明。 + +自 2018 年,我开始在 www.opensource.com 上发表关于开源软件的文章。当然,我使用开源软件进行协作。接下来我将介绍我使用过的四款开源编辑器。 + +### 1、Vi + +[Vi][1] 也被称为 `Vim`(LCTT 校注:此外不确,Vi 和 Vim 是两个软件,只是 Vim 取代了 Vi,并以 `vi` 的名字运行。),是我学习的第一款开源编辑器。这是我在计算机科学课程中学习的编辑器,并且我所有的 C 语言编程都是通过它完成的。自 1995 年以来,实际上我一直使用它作为命令行编辑器。这款工具有多个迭代版本,以至于我都可以为之写一系列文章了。我只想说,在我的日常使用中,我坚持使用它的基本命令行形式,并进行最小的定制。 + +### 2、LibreOffice Writer + +Writer 是 LibreOffice 开源办公套件的一部分。它是由文档基金会Document Foundation维护的全功能文字处理器。它支持行业标准格式,例如开放文档格式 (ODF)、Open XML 和 MS Office DOC、DOCX。可以在其官方网站上 [了解有关 Writer 的更多信息][2]。 + +### 3、Ghostwriter + +Ghostwriter 是一个用于 [Markdown 的文本编辑器][3]。它有一个很好的实时查看器和语法指南或备忘单功能。[访问官方网站][4] 了解更多内容。 + +### 4、Gedit + +Gedit 是许多 Linux 发行版中的基本图形编辑器,被描述为“用于 GNOME 桌面的小型轻量级文本编辑器”。我最近开始使用它来创建 Asciidoc 格式的文章。使用 Asciidoc 的好处是语法易于管理并可导入到 Drupal 等 Web 渲染系统中。通过 [Gedit Wiki][5] 了解许多提示和技巧。 + +### 编辑文本 + +开源世界中有大量编辑软件。随着我继续写作,这个列表可能会增加。我的主要目标是格式简单。我希望我的文章易于在互联网平台上导入、转换和发布。 + +你的写作风格、功能需求和目标受众将指导你确定首选工具。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/open-source-editors + +作者:[Alan Formy-Duval][a] +选题:[lkxed][b] +译者:[Donkey-Hao](https://github.com/Donkey-Hao) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/alanfdoss +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/vi-text-editor +[2]: https://www.libreoffice.org/discover/writer/ +[3]: https://opensource.com/article/21/10/markdown-editors +[4]: https://github.com/KDE/ghostwriter +[5]: https://wiki.gnome.org/Apps/Gedit diff --git a/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md deleted file mode 100644 index 091ba343c8..0000000000 --- a/translated/tech/20221020.7 ⭐️ 4 open source editors I use for my writing.md +++ /dev/null @@ -1,56 +0,0 @@ -[#]: subject: "4 open source editors I use for my writing" -[#]: via: "https://opensource.com/article/22/10/open-source-editors" -[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" -[#]: collector: "lkxed" -[#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -我使用的 4 款开源编辑器 -====== - -在职业生涯中我已经写过很多东西,主要是作为一名 IT 顾问,将产品文档创建为客户可交付成果。这些文档通常针对不同操作系统和软件产品提供说明。 - -自 2018 年,我开始在 `www.opensource.com` 上发表关于开源软件的文章。当然,我使用开源软件进行协作。接下来我将介绍我使用过的四款开源编辑器。 - -### 1. Vi - -[Vi][1] 也被称为 `Vim`,是我学习的第一款开源编辑器。这是我在计算机科学课程中学习的编辑器,并且我所有的 C 语言编程都是通过它完成的。自 1995 年以来,实际上我一直使用它作为命令行编辑器。这款工具有多个迭代版本,以至于我都可以为之写一系列文章了。为了日常使用方便,仅进行了一点点的改动,可以说我一直用它的基本命令行形式。 - -### 2. LibreOffice Writer - -Writer 是 LibreOffice 开源办公套件的一部分。它是由文档基金会(Document Foundation)维护的全功能文字处理器。它支持行业标准格式,例如开放文档格式 (ODF)、Open XML 和 MS Office DOC、DOCX。可以在其官方网站上 [了解有关 Writer 的更多信息][2]。 - -### 3. Ghostwriter - -Ghostwriter 是用于 [Markdown 的文本编辑器][3]。它有一个很好的实时查看器和语法指南或备忘单功能。[访问官方网站][4] 了解更多内容。 - -### 4. Gedit - -Gedit 是许多 Linux 发行版中的基本图形编辑器,被描述为“用于 GNOME 桌面的小型轻量级文本编辑器”。我最近开始使用它来创建 Asciidoc 格式的文章。使用 Asciidoc 的好处是语法易于管理并可导入到 Drupal 等 Web 渲染系统中。通过 [Gedit Wiki][5] 了解许多提示和技巧。 - -### 编辑文本 - -开源世界中有大量编辑软件。随着我继续写作,这个列表可能会增加。我的主要目标是格式简单。我希望我的文章易于在互联网平台上导入、转换和发布。 - -你的写作风格、功能需求和目标受众将指导你确定首选工具。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/open-source-editors - -作者:[Alan Formy-Duval][a] -选题:[lkxed][b] -译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/alanfdoss -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/12/vi-text-editor -[2]: https://www.libreoffice.org/discover/writer/ -[3]: https://opensource.com/article/21/10/markdown-editors -[4]: https://github.com/KDE/ghostwriter -[5]: https://wiki.gnome.org/Apps/Gedit From 41cb2e5953ffc383325bccfbef1eebbb10e243fa Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Sun, 13 Nov 2022 20:39:11 +0800 Subject: [PATCH 406/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91:=20tech/20221014=201?= =?UTF-8?q?3=20Independent=20Linux=20Distros=20That=20are=20Built=20From?= =?UTF-8?q?=20Scratch.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nux Distros That are Built From Scratch.md | 205 +++++++++--------- 1 file changed, 103 insertions(+), 102 deletions(-) diff --git a/sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md b/sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md index 0983918cc6..01e814cbe3 100644 --- a/sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md +++ b/sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md @@ -2,60 +2,60 @@ [#]: via: "https://itsfoss.com/independent-linux-distros/" [#]: author: "sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MuggleWei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " -13 Independent Linux Distros That are Built From Scratch +13个从头开始构建的独立Linux发行版 ====== -There are hundreds of Linux distributions available. +时至今日, 世界上已经有成百上千种不同的Linux发行版. -But most of them fall into these three categories: Debian, Red Hat (Fedora) and Arch Linux. +它们中的大多数都可以被划归为三个大类: Debian, Red Hat (Fedora) 以及 Arch Linux. -Using a distribution based on Debian/Ubuntu, Red Hat/SUSE or Arch Linux has its advantages. They are popular and hence their package manager offers a huge range of software. +使用基于Debian/Ubuntu, Red Hat/SUSE 或者 Arch的Linux发行版自然有它们的优势. 它们很受大众欢迎, 因此它们的包管理器能够提供大量的软件包. -However, some users prefer to use Linux distributions built from scratch and be independent of DEB/RPM packaging system. +然而, 有一些用户更倾向于使用从头开始构建, 独立于DEB/RPM这类包管理系统的发行版本. -In this article, we will list some of the best Linux distributions developed independently. +在这篇文章当中, 我们将列出一些优秀的独立Linux发行版. -**Note:** Obviously, this list excludes popular options like Debian, Ubuntu, and Fedora, which are used as bases for creating new distros. Moreover, the distributions are in no particular order of ranking. +**注意:** 显然, 下面的列表显然不会包括一些广受欢迎, 通常作为创建新的发现版基础的发行版, 如Debian, Ubuntu 和 Fedora等. 此外, 列表顺序不分先后, 没有特定的排名. ### 1. NixOS ![Image Credits: Distrowatch][1] -Initially released in 2003, Nix OS is built on top of the Nix Package Manager. It provides two releases every year, usually scheduled in May and November. +NixOS最初发布于2003年, NixOS 建立在 Nix 包管理器之上. 它每年发布两个版本, 通常是在5月和11月. -NixOS may not be a distribution directly geared to new and average users. However, its unique approach to [package management][2] attracts various kinds of users. +NixOS显然不是一个直接面向新用户或普通用户的发行版. 然而, 其独特的[包管理][2]方法吸引了各种用户. -Additionally, 32-bit support systems are also supported. +此外, 它仍然支持32位系统. -##### Other Features: +##### 其他特性: -* Builds packages isolated -* Reliable upgrade with rollback feature -* Reproducible system configuration +* 构建隔离的包 +* 可靠的升级, 并且具有回滚功能 +* 可重现的系统配置 [NixOS][3] -**Related**: [Advanced Linux Distributions for Expert Linux Users][4] +**相关链接**: [面向专家用户的高级 Linux 发行版][4] ### 2. Gentoo Linux ![Image Credits: Distrowatch][5] -Gentoo Linux is an independently developed distribution aimed mainly at system experts. It is built for users who want the freedom to customize, fine-tune and optimize the operating system to suit their requirements. +Geetoo Linux是一个主要针对系统专家的独立Linux发行版. 它是为那些希望自由定制、微调和优化操作系统以满足其要求的用户而构建。 -Gentoo uses [Portage package management][6] that lets you create and install packages, often allowing you to optimize them for your hardware. **Chromium OS**, the open-source version of Chrome OS, uses Gentoo at its core. +Gentoo 使用[Portage 包管理器][6]来创建和安装软件包, 通常还允许你针对你的硬件来优化它们. Chrome的开源版本**Chromium OS**便是使用Gentoo作为其核心的. -Not to forget, Gentoo is one of those [distributions that still support 32-bit architectures][7]. +不要忘记, Gentoo是[仍然支持 32 位架构的发行版][7]之一. -##### Other Features: +##### 其他特性: -* Incremental Updates -* Source-based approach to software management -* Concept of overlay repositories like GURU (Gentoo’s user repository), where users can add packages not yet provided by Gentoo +* 增量更新 +* 基于源码的软件管理方法 +* 支持GURU(Gentoo用户仓库)的Overlay仓库的概念, 允许用户添加Gentoo尚未提供的软件包 [Gentoo Linux][8] @@ -63,37 +63,38 @@ Not to forget, Gentoo is one of those [distributions that still support 32-bit a ![Image Credits: Distrowatch][9] -Void Linux is a [rolling release distribution][10] with its own X Binary Package System (XBPS) for installing and removing software. It was created by **Juan Romero Pardines**, a former NetBSD developer. +Void Linux是一个[滚动发布的发行版][10], 使用X Binary Package System(XBPS)来安装和删除软件. 它由前NetBSD开发者**Juan Romero Pardines**创建. -It avoids systemd and instead uses runit as its init system. Furthermore, it gives you the option to use several [desktop environments][11]. +它使用runit而不是systemd作为其初始化系统. 此外, 它还让你可以选择使用多个 [桌面环境][11]. -##### Other Features: +##### 其他特性: -* Minimal system requirements -* Offers an official repository for non-free packages -* Support for Raspberry Pi -* Integration of OpenBSD’s LibreSSL software -* Support for musl C library -* 32-bit support +* 最低的系统要求 +* 官方库也提供非自由软件包 +* 支持树莓派 +* 集成OpenBSD的LibreSSL +* 支持musl C库 +* 支持32位系统 [Void Linux][12] **Related:** [Not a Systemd Fan? Here are 13+ Systemd-Free Linux Distributions][13] +**相关链接:** [不是Systemd的粉丝? 这里有13个无Systemd的Linux发行版][13] ### 4. Solus Linux ![solus budgie 2022][14] -Formerly EvolveOS, Solus Linux offers some exciting features while built from scratch. Solus features its own homegrown budgie desktop environment as its flagship version. +Solus的前身是EvolveOS, 它从头开始构建并提供了一些令人兴奋的特性. Solus的旗舰版本使用自己的homegrown budgie作为桌面环境. -Compared to other options, Solus Linux is one of the few independent distributions that new Linux users can use. It manages to be one of the [best Linux distributions][15] available. +与本篇文章介绍的其他系统相比, Solus对于新手较为友好. 它设法成为[最好的Linux发行版][15]之一. -It uses eopkg package management with a semi-rolling release model. As per the developers, Solus is exclusively developed for personal computing purposes. +它使用eopkg作为其包管理系统, 支持版滚动发布模型. 按照开发人员的说法, 开发Solus的目标是个人电脑. -##### Other Features: +##### 其他特性: -* Available in Budgie, Gnome, MATE, and KDE Plasma editions -* Variety of software out of the box, which reduces setup efforts +* 支持Budgie、Gnome、MATE和KDE Plasma +* 各种开箱即用的软件,从而减少设置工作 [Solus Linux][16] @@ -101,35 +102,35 @@ It uses eopkg package management with a semi-rolling release model. As per the d ![Image Credits: Distrowatch][17] -Mageia started as a fork of Mandriva Linux back in 2010. It aims to be a stable and secure operating system for desktop and server usage. +Mageia始于2010年, 它是Mandriva Linux的一个分支. 它的目标是成为稳定且安全的桌面和服务器操作系统。 -Mageia is a community-driven project supported by a non-profit organization and elected contributors. You will notice a major release every year. +Mageia是一个社区驱动的项目, 由非营利组织和贡献者支持. 每年会发布一个大版本. -##### Other Features +##### 其他特性: -* Supports 32-bit system -* KDE Plasma, Gnome, and XFCE editions are available from the website -* Minimal system requirements +* 支持32位系统 +* 支持KDE Plasma, Gnome和XFCE +* 最低的系统要求 [Mageia][18] -**Related:** **[Linux Distros That Still Support 32-Bit Systems][19]** +**相关链接:** **[仍然支持32位系统的Linux发行版][19]** ### 6. Clear Linux ![Image Credits: Distrowatch][20] -Clear Linux is a distribution by Intel, primarily designed with performance and cloud use cases in mind. +Clear Linux是一个由Intel发布的发行版, 主要设计考虑是性能和云服务的使用. -One interesting thing about Clear Linux is the operating system upgrades as a whole rather than individual packages. So, even if you mess up with the system accidentally, it should boot correctly, performing a factory reset to let you set it up again. +有趣的是, Clear Linux升级时是作为一个整体而非去升级单个的软件包. 所以, 即使你不小心弄乱了系统设置, 它也可以正确的启动, 执行恢复出厂设置, 并让用户重新设置. -It is not geared toward personal use. But it can be a unique choice to try. +它不太适合个人用户使用. 但可以作为一个独特的选择而尝试一下. -##### Other Features: +##### 其他特性: -* Highly tuned for Intel platforms -* A strict separation between User and System files -* Constant vulnerability scanning +* 针对Intel平台的高度调优 +* 用户和系统文件之间严格分离 +* 持续的漏洞扫描 [Clear Linux OS][21] @@ -137,14 +138,14 @@ It is not geared toward personal use. But it can be a unique choice to try. ![Image Credits: Distrowatch][22] -PCLinuxOS is an x86_64 Linux distribution that uses APT-RPM packages. You can get KDE Plasma, Mate, and XFCE desktops, while it also offers several community editions featuring more desktops. +PCLinuxOS是一个x86_64的Linux发行版, 使用APT-RPM包管理. 你可以使用KDE Plasma, Mate以及XFCE桌面, 它同时还提供了更多特性的社区版本的桌面. -Locally installed versions of PCLinuxOS utilize the APT package management system thanks to [Synaptic package manager][23]. You can also find rpm packages from its repositories. +本地安装的PCLinuxOS利用了APT包管理系统要感谢[Synaptic包管理器][23]. 你可以从它的仓库中找到rpm包. -##### Other Features: +##### 其他特性: -* mylivecd script allows the user to take a ‘snapshot’ of their current hard drive installation (all settings, applications, documents, etc.) and compress it into an ISO CD/DVD/USB image. -* Additional support for over 85 languages. +* mylivecd脚本允许用户去生成一个当前已安装的硬件驱动的'快照'(所有的配置, 应用, 文档等)并且将它压缩为ISO CD/DVD/USB映像 +* 附加支持超过85种语言 [PCLinuxOS][24] @@ -152,19 +153,19 @@ Locally installed versions of PCLinuxOS utilize the APT package management syste ![4m linux 2022][25] -[4MLinux][26] is a general-purpose Linux distribution with a strong focus on the following four **“M”**  of computing: +[4MLinux][26] 是一个通用的Linux发行版, 重点聚焦于下面四个 **“M”** -* Maintenance (system rescue Live CD) -* Multimedia (full support for a huge number of image, audio and video formats) -* Miniserver (DNS, FTP, HTTP, MySQL, NFS, Proxy, SMTP, SSH, and Telnet) -* Mystery (meaning a collection of classic Linux games) +* Maintenance (系统救援Live CD) +* Multimedia (支持大量的图形, 音频和视频格式) +* Miniserver (支持DNS, FTP, HTTP, MySQL, NFS, Proxy, SMTP, SSH, and Telnet) +* Mystery (包含了经典Linux游戏的集合) -It has a minimal system requirement and is available as a desktop and server version. +它具有最低的系统要求, 可作为桌面和服务器版本使用. -##### Other Features +##### 其他特性 -* Support for large number of image, audio/video formats -* Small and general-purpose Linux distribution +* 支持大量的图形, 音频和视频格式 +* 是小型并且通用的Linux发行版 [4MLinux][27] @@ -172,17 +173,17 @@ It has a minimal system requirement and is available as a desktop and server ver ![Image Credits: Distrowatch][28] -Tiny Core Linux focuses on providing a base system using BusyBox and FLTK. It is not a complete desktop. So, you do not expect it to run on every system. +Tiny Core Linux专注于使用BusyBox和FLTK提供一个基础的系统. 它不是一个复杂的桌面. 所有, 并不能保证它可以运行于任何系统. -It represents only the core needed to boot into a very minimal X desktop, typically with wired internet access. +它代表了启动到非常小的X桌面所需的核心功能, 通常带有有线互联网访问权限. -The user gets great control over everything, but it may not be an easy out-of-the-box experience for new Linux users. +用户可以很好的控制一切, 但对于新Linux用户来说, 它并不是一个轻松的开箱即用的系统. -##### Other Features +##### 其他特性 -* Designed to run from a RAM copy created at boot time -* By default, operates like a cloud/internet client -* Users can run appbrowser to browse repositories and download applications +* 旨在从启动时创建的内存副本中运行 +* 默认情况下, 其操作就像像云/互联网客户端一样 +* 用户可以使用appbrowser来游览库以及下载应用 [Tiny Core Linux][29] @@ -192,15 +193,15 @@ The user gets great control over everything, but it may not be an easy out-of-th [Reddit][31] -Linux From Scratch is a way to install a working Linux system by building all its components manually. Once completed, it provides a compact, flexible and secure system and a greater understanding of the internal workings of the Linux-based operating systems. +Linux From Scratch并不是一个系统, 而是通过手动构建所有组件来安装Linux的一种方法. 一旦完成, 它提供了一个紧凑、灵活和安全的系统, 并且可以很好的理解一个基于Linux的操作系统内部是如何工作的. -If you need to dive deep into how a Linux system works and explore its nuts and bolts, Linux From Scratch is the project you need to try. +如果你希望去深入理解Linux是如何工作的并且探寻其具体细节, 那么Linux From Scratch是你一定要去尝试, 不能错过的一个项目. -##### Other Features +##### 其他特性 -* Customised Linux system, entirely from scratch -* Extremely flexible -* Offers added security because of self compile from source +* 完全从头开始, 定制化的构建Linux系统 +* 极度的灵活性 +* 由于从源码开始编译, 提供了额外的安全性 [Linux From Scratch][32] @@ -208,15 +209,15 @@ If you need to dive deep into how a Linux system works and explore its nuts and ![Image Credits: Distrowatch][33] -Slackware is the oldest distribution that is still being maintained. Originally created in 1993, with Softlanding Linux System as base, Slackware later became the base for many Linux distributions. +Slackware是现今还在维护的最老的发行版. 最初创建于1993年, 以Softlanding Linux 系统为基础, 随后, 许多的Linux发行版都是基于Slackware. -Slackware aims at producing the most UNIX-like Linux distribution while keeping simplicity and stability. +Slackware目标是称为最类似于UNIX的Linux发行版, 同时保持简单和稳定. -##### Other Features +##### 其他特性 -* Available for 32-bit and 64-bit systems -* Extensive online documentation -* Can run on Pentium system to latest machines +* 支持32位和64位系统 +* 大量的在线文档 +* 从奔腾处理器到最新的机器, 它都可以运行 [Slackware][34] @@ -224,15 +225,15 @@ Slackware aims at producing the most UNIX-like Linux distribution while keeping ![alpine linux xfce 2022][35] -Alpine Linux is a community-developed operating system designed for routers, firewalls, VPNs, VoIP boxes, and servers. It began as a fork of the LEAF Project. +Alpine Linux是一个社区开发的操作系统, 专为路由器、防火墙、VPN、VoIP 盒子和服务器而设计. 它是LEAF项目的一个分支. -Alpine Linux uses apk-tools package management, initially written as a shell script and later written in C programming language. This is a minimal Linux distribution, which still supports 32-bit systems and can be installed as a run-from-RAM operating system. +Alpine Linux使用apk-tools包管理器, 最初由shell脚本编写, 而后使用c语言重构. 它是最小的Linux发行版之一, 仍然支持32位系统, 并且是一个可以完全从电脑RAM运行的操作系统. -##### Other Features: +##### 其他特性: -* Provides a minimal container image of just 5 MB in size -* 2-year support for the main repository and support until the next stable release for the community repository -* Made around musl libc and Busybox with resource-efficient containers +* 提供大小仅为5MB的最小容器映像 +* 对于主库, 提供2年的支持; 对于社区库, 在下一个稳定版本发布前提供支持 +* 使用musl libc制作, Busybox使用资源效率高的容器 [Alpine Linux][36] @@ -240,26 +241,26 @@ Alpine Linux uses apk-tools package management, initially written as a shell scr ![Image Credits: Distrowatch][37] -KaOS is a Linux distribution built from scratch and inspired by Arch Linux. It uses [pacman for package management][38]. It is built with the philosophy “*One Desktop Environment (KDE Plasma), One Toolkit (Qt), One Architecture (x86_64)*“. +KaOS是一个受到Arch启发, 从头开始构建的Linux发行版. 它使用[pacman包管理器][38]. 它是按照"*一个桌面环境(KDE Plasma), 一个工具包(QT), 一个架构(X86_64)*"的理念构建的. -It has limited repositories, but still, it offers plenty of tools for a regular user. +它的软件库比较有限, 但依然为普通用户提供了许多工具. -##### Other Features: +##### 其他特性: -* Most up-to-date Plasma desktop -* Tightly integrated rolling and transparent distribution for the modern desktop +* 最新的Plasma桌面 +* 紧密集成的滚动和透明的现代桌面发行版 [KaOS][39] -#### Wrapping Up +#### 总结 -If you need a unique experience, these independent Linux distributions should serve the purpose. +如果你需要一些独特的体验, 那么这些独立Linux发行版应该能很好的满足你. -However, if you want to replace it with a mainstream distribution like Ubuntu for your desktop…You might want to think twice, considering most of the options (if not all) above are not ideal options for day-to-day desktop usage. +然而, 如果你想要用其来替换如Ubuntu这样主流的Linux发行版作为你的桌面系统...你也许需要三思而后行, 上面大多数的发行版(并不代表所有)都不是一个日常使用的桌面系统的理想的选项. -But then again, if you have a fair share of experience with Linux distributions, you can undoubtedly take up the task for an adventure! +但是话又说回来, 如果你对Linux发行版充满了经验, 那么毫无疑问, 你会享受这项冒险的任务的. -*If you were to try one of these indie distros, which one would it be? Share with us in the comments.* +*如果你想尝试这些独立发行版的其中一种, 哪一个会是你的优先选择呢? 请在评论中与我们分享.* -------------------------------------------------------------------------------- @@ -267,7 +268,7 @@ via: https://itsfoss.com/independent-linux-distros/ 作者:[sreenath][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[MuggleWei](https://github.com/MuggleWei) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9bd3b10973baf2c8ee9de3d6715a59bb812e322a Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Sun, 13 Nov 2022 20:40:33 +0800 Subject: [PATCH 407/925] move sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md -> translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md --- ...14 13 Independent Linux Distros That are Built From Scratch.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md (100%) diff --git a/sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md b/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md similarity index 100% rename from sources/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md rename to translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md From 0c280943cd1e50a570878d6e61a64f706dfe833e Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sun, 13 Nov 2022 20:44:45 +0800 Subject: [PATCH 408/925] APL --- .../20220912 Why do domain names sometimes end with a dot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220912 Why do domain names sometimes end with a dot.md b/sources/tech/20220912 Why do domain names sometimes end with a dot.md index c8b73a55d5..1e5103eb90 100644 --- a/sources/tech/20220912 Why do domain names sometimes end with a dot.md +++ b/sources/tech/20220912 Why do domain names sometimes end with a dot.md @@ -2,7 +2,7 @@ [#]: via: "https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/" [#]: author: "Julia Evans https://jvns.ca/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "lxbwolf" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 496d2d177c21fbfe3d8a944dd92c7555a2420ace Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Sun, 13 Nov 2022 20:55:25 +0800 Subject: [PATCH 409/925] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=91=E6=96=87:?= =?UTF-8?q?=20tech/20221014=2013=20Independent=20Linux=20Distros=20That=20?= =?UTF-8?q?are=20Built=20From=20Scratch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 参考排版风格指南, 改为使用中文标点,以及在中英文间插入空格 --- ...nux Distros That are Built From Scratch.md | 124 +++++++++--------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md b/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md index 01e814cbe3..f6b83f5f03 100644 --- a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md +++ b/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md @@ -9,32 +9,32 @@ 13个从头开始构建的独立Linux发行版 ====== -时至今日, 世界上已经有成百上千种不同的Linux发行版. +时至今日,世界上已经有成百上千种不同的Linux发行版。 -它们中的大多数都可以被划归为三个大类: Debian, Red Hat (Fedora) 以及 Arch Linux. +它们中的大多数都可以被划归为三个大类: Debian,Red Hat (Fedora) 以及 Arch Linux。 -使用基于Debian/Ubuntu, Red Hat/SUSE 或者 Arch的Linux发行版自然有它们的优势. 它们很受大众欢迎, 因此它们的包管理器能够提供大量的软件包. +使用基于 Debian/Ubuntu ,Red Hat/SUSE 或者 Arch 的 Linux 发行版自然有它们的优势。它们很受大众欢迎,因此它们的包管理器能够提供大量的软件包。 -然而, 有一些用户更倾向于使用从头开始构建, 独立于DEB/RPM这类包管理系统的发行版本. +然而,有一些用户更倾向于使用从头开始构建,独立于DEB/RPM这类包管理系统的发行版本。 -在这篇文章当中, 我们将列出一些优秀的独立Linux发行版. +在这篇文章当中,我们将列出一些优秀的独立Linux发行版。 -**注意:** 显然, 下面的列表显然不会包括一些广受欢迎, 通常作为创建新的发现版基础的发行版, 如Debian, Ubuntu 和 Fedora等. 此外, 列表顺序不分先后, 没有特定的排名. +**注意:** 显然,下面的列表显然不会包括一些广受欢迎,通常作为创建新的发现版基础的发行版,如Debian,Ubuntu 和 Fedora 等。此外,列表顺序不分先后,没有特定的排名。 ### 1. NixOS ![Image Credits: Distrowatch][1] -NixOS最初发布于2003年, NixOS 建立在 Nix 包管理器之上. 它每年发布两个版本, 通常是在5月和11月. +NixOS最初发布于2003年,NixOS 建立在 Nix 包管理器之上。它每年发布两个版本,通常是在5月和11月。 -NixOS显然不是一个直接面向新用户或普通用户的发行版. 然而, 其独特的[包管理][2]方法吸引了各种用户. +NixOS显然不是一个直接面向新用户或普通用户的发行版。然而,其独特的[包管理][2]方法吸引了各种用户。 -此外, 它仍然支持32位系统. +此外,它仍然支持32位系统。 ##### 其他特性: * 构建隔离的包 -* 可靠的升级, 并且具有回滚功能 +* 可靠的升级,并且具有回滚功能 * 可重现的系统配置 [NixOS][3] @@ -45,17 +45,17 @@ NixOS显然不是一个直接面向新用户或普通用户的发行版. 然而, ![Image Credits: Distrowatch][5] -Geetoo Linux是一个主要针对系统专家的独立Linux发行版. 它是为那些希望自由定制、微调和优化操作系统以满足其要求的用户而构建。 +Geetoo Linux 是一个主要针对系统专家的独立 Linux 发行版。它是为那些希望自由定制、微调和优化操作系统以满足其要求的用户而构建。 -Gentoo 使用[Portage 包管理器][6]来创建和安装软件包, 通常还允许你针对你的硬件来优化它们. Chrome的开源版本**Chromium OS**便是使用Gentoo作为其核心的. +Gentoo 使用[Portage 包管理器][6]来创建和安装软件包,通常还允许你针对你的硬件来优化它们。 Chrome 的开源版本 **Chromium OS** 便是使用 Gentoo 作为其核心的。 -不要忘记, Gentoo是[仍然支持 32 位架构的发行版][7]之一. +不要忘记,Gentoo 是[仍然支持 32 位架构的发行版][7]之一。 ##### 其他特性: * 增量更新 * 基于源码的软件管理方法 -* 支持GURU(Gentoo用户仓库)的Overlay仓库的概念, 允许用户添加Gentoo尚未提供的软件包 +* 支持 GURU (Gentoo用户仓库)的 Overlay 仓库的概念,允许用户添加 Gentoo 尚未提供的软件包 [Gentoo Linux][8] @@ -63,17 +63,17 @@ Gentoo 使用[Portage 包管理器][6]来创建和安装软件包, 通常还允 ![Image Credits: Distrowatch][9] -Void Linux是一个[滚动发布的发行版][10], 使用X Binary Package System(XBPS)来安装和删除软件. 它由前NetBSD开发者**Juan Romero Pardines**创建. +Void Linux是一个[滚动发布的发行版][10],使用 X Binary Package System(XBPS) 来安装和删除软件。它由前 NetBSD 开发者 **Juan Romero Pardines** 创建。 -它使用runit而不是systemd作为其初始化系统. 此外, 它还让你可以选择使用多个 [桌面环境][11]. +它使用 runit 而不是 systemd 作为其初始化系统。此外,它还让你可以选择使用多个 [桌面环境][11]。 ##### 其他特性: * 最低的系统要求 * 官方库也提供非自由软件包 * 支持树莓派 -* 集成OpenBSD的LibreSSL -* 支持musl C库 +* 集成 OpenBSD 的 LibreSSL +* 支持 musl C 库 * 支持32位系统 [Void Linux][12] @@ -85,15 +85,15 @@ Void Linux是一个[滚动发布的发行版][10], 使用X Binary Package System ![solus budgie 2022][14] -Solus的前身是EvolveOS, 它从头开始构建并提供了一些令人兴奋的特性. Solus的旗舰版本使用自己的homegrown budgie作为桌面环境. +Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴奋的特性。Solus的旗舰版本使用自己的 homegrown budgie 作为桌面环境。 -与本篇文章介绍的其他系统相比, Solus对于新手较为友好. 它设法成为[最好的Linux发行版][15]之一. +与本篇文章介绍的其他系统相比,Solus 对于新手较为友好。它设法成为[最好的Linux发行版][15]之一。 -它使用eopkg作为其包管理系统, 支持版滚动发布模型. 按照开发人员的说法, 开发Solus的目标是个人电脑. +它使用 eopkg 作为其包管理系统,支持版滚动发布模型。按照开发人员的说法,开发 Solus 的目标是个人电脑。 ##### 其他特性: -* 支持Budgie、Gnome、MATE和KDE Plasma +* 支持 Budgie、Gnome、MATE 和 KDE Plasma * 各种开箱即用的软件,从而减少设置工作 [Solus Linux][16] @@ -102,14 +102,14 @@ Solus的前身是EvolveOS, 它从头开始构建并提供了一些令人兴奋 ![Image Credits: Distrowatch][17] -Mageia始于2010年, 它是Mandriva Linux的一个分支. 它的目标是成为稳定且安全的桌面和服务器操作系统。 +Mageia 始于2010年,它是 Mandriva Linux 的一个分支。它的目标是成为稳定且安全的桌面和服务器操作系统。 -Mageia是一个社区驱动的项目, 由非营利组织和贡献者支持. 每年会发布一个大版本. +Mageia 是一个社区驱动的项目,由非营利组织和贡献者支持。每年会发布一个大版本。 ##### 其他特性: * 支持32位系统 -* 支持KDE Plasma, Gnome和XFCE +* 支持 KDE Plasma,Gnome 和 XFCE * 最低的系统要求 [Mageia][18] @@ -120,11 +120,11 @@ Mageia是一个社区驱动的项目, 由非营利组织和贡献者支持. 每 ![Image Credits: Distrowatch][20] -Clear Linux是一个由Intel发布的发行版, 主要设计考虑是性能和云服务的使用. +Clear Linux 是一个由 Intel 发布的发行版,主要设计考虑是性能和云服务的使用。 -有趣的是, Clear Linux升级时是作为一个整体而非去升级单个的软件包. 所以, 即使你不小心弄乱了系统设置, 它也可以正确的启动, 执行恢复出厂设置, 并让用户重新设置. +有趣的是,Clear Linux 升级时是作为一个整体而非去升级单个的软件包。所以,即使你不小心弄乱了系统设置,它也可以正确的启动,执行恢复出厂设置,并让用户重新设置。 -它不太适合个人用户使用. 但可以作为一个独特的选择而尝试一下. +它不太适合个人用户使用。但可以作为一个独特的选择而尝试一下。 ##### 其他特性: @@ -138,13 +138,13 @@ Clear Linux是一个由Intel发布的发行版, 主要设计考虑是性能和 ![Image Credits: Distrowatch][22] -PCLinuxOS是一个x86_64的Linux发行版, 使用APT-RPM包管理. 你可以使用KDE Plasma, Mate以及XFCE桌面, 它同时还提供了更多特性的社区版本的桌面. +PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT-RPM 包管理。你可以使用 KDE Plasma,Mate 以及 XFCE 桌面,它同时还提供了更多特性的社区版本的桌面。 -本地安装的PCLinuxOS利用了APT包管理系统要感谢[Synaptic包管理器][23]. 你可以从它的仓库中找到rpm包. +本地安装的 PCLinuxOS 利用了 APT 包管理系统要感谢 [Synaptic包管理器][23]。你可以从它的仓库中找到 rpm 包。 ##### 其他特性: -* mylivecd脚本允许用户去生成一个当前已安装的硬件驱动的'快照'(所有的配置, 应用, 文档等)并且将它压缩为ISO CD/DVD/USB映像 +* mylivecd 脚本允许用户去生成一个当前已安装的硬件驱动的'快照'(所有的配置,应用,文档等)并且将它压缩为 ISO CD/DVD/USB 映像 * 附加支持超过85种语言 [PCLinuxOS][24] @@ -153,19 +153,19 @@ PCLinuxOS是一个x86_64的Linux发行版, 使用APT-RPM包管理. 你可以使 ![4m linux 2022][25] -[4MLinux][26] 是一个通用的Linux发行版, 重点聚焦于下面四个 **“M”** +[4MLinux][26] 是一个通用的 Linux 发行版,重点聚焦于下面四个 **“M”** -* Maintenance (系统救援Live CD) -* Multimedia (支持大量的图形, 音频和视频格式) -* Miniserver (支持DNS, FTP, HTTP, MySQL, NFS, Proxy, SMTP, SSH, and Telnet) +* Maintenance (系统救援 Live CD) +* Multimedia (支持大量的图形,音频和视频格式) +* Miniserver (支持 DNS,FTP,HTTP,MySQL,NFS,Proxy,SMTP,SSH,and Telnet) * Mystery (包含了经典Linux游戏的集合) -它具有最低的系统要求, 可作为桌面和服务器版本使用. +它具有最低的系统要求,可作为桌面和服务器版本使用. ##### 其他特性 -* 支持大量的图形, 音频和视频格式 -* 是小型并且通用的Linux发行版 +* 支持大量的图形,音频和视频格式 +* 是小型并且通用的 Linux 发行版 [4MLinux][27] @@ -173,17 +173,17 @@ PCLinuxOS是一个x86_64的Linux发行版, 使用APT-RPM包管理. 你可以使 ![Image Credits: Distrowatch][28] -Tiny Core Linux专注于使用BusyBox和FLTK提供一个基础的系统. 它不是一个复杂的桌面. 所有, 并不能保证它可以运行于任何系统. +Tiny Core Linux 专注于使用 BusyBox 和 FLTK 提供一个基础的系统。它不是一个复杂的桌面。所有,并不能保证它可以运行于任何系统。 -它代表了启动到非常小的X桌面所需的核心功能, 通常带有有线互联网访问权限. +它代表了启动到非常小的X桌面所需的核心功能,通常带有有线互联网访问权限。 -用户可以很好的控制一切, 但对于新Linux用户来说, 它并不是一个轻松的开箱即用的系统. +用户可以很好的控制一切,但对于新 Linux 用户来说,它并不是一个轻松的开箱即用的系统。 ##### 其他特性 * 旨在从启动时创建的内存副本中运行 -* 默认情况下, 其操作就像像云/互联网客户端一样 -* 用户可以使用appbrowser来游览库以及下载应用 +* 默认情况下,其操作就像像云/互联网客户端一样 +* 用户可以使用 appbrowser 来游览库以及下载应用 [Tiny Core Linux][29] @@ -193,15 +193,15 @@ Tiny Core Linux专注于使用BusyBox和FLTK提供一个基础的系统. 它不 [Reddit][31] -Linux From Scratch并不是一个系统, 而是通过手动构建所有组件来安装Linux的一种方法. 一旦完成, 它提供了一个紧凑、灵活和安全的系统, 并且可以很好的理解一个基于Linux的操作系统内部是如何工作的. +Linux From Scratch 并不是一个系统,而是通过手动构建所有组件来安装 Linux 的一种方法。一旦完成,它提供了一个紧凑、灵活和安全的系统,并且可以很好的理解一个基于 Linux 的操作系统内部是如何工作的。 -如果你希望去深入理解Linux是如何工作的并且探寻其具体细节, 那么Linux From Scratch是你一定要去尝试, 不能错过的一个项目. +如果你希望去深入理解 Linux 是如何工作的并且探寻其具体细节,那么 Linux From Scratch 是你一定要去尝试,不能错过的一个项目。 ##### 其他特性 -* 完全从头开始, 定制化的构建Linux系统 +* 完全从头开始,定制化的构建 Linux 系统 * 极度的灵活性 -* 由于从源码开始编译, 提供了额外的安全性 +* 由于从源码开始编译,提供了额外的安全性 [Linux From Scratch][32] @@ -209,15 +209,15 @@ Linux From Scratch并不是一个系统, 而是通过手动构建所有组件来 ![Image Credits: Distrowatch][33] -Slackware是现今还在维护的最老的发行版. 最初创建于1993年, 以Softlanding Linux 系统为基础, 随后, 许多的Linux发行版都是基于Slackware. +Slackware 是现今还在维护的最老的发行版。最初创建于1993年,以 Softlanding Linux 系统为基础,随后,许多的 Linux 发行版都是基于 Slackware。 -Slackware目标是称为最类似于UNIX的Linux发行版, 同时保持简单和稳定. +Slackware 目标是称为最类似于 UNIX 的 Linux 发行版,同时保持简单和稳定。 ##### 其他特性 * 支持32位和64位系统 * 大量的在线文档 -* 从奔腾处理器到最新的机器, 它都可以运行 +* 从奔腾处理器到最新的机器,它都可以运行 [Slackware][34] @@ -225,15 +225,15 @@ Slackware目标是称为最类似于UNIX的Linux发行版, 同时保持简单和 ![alpine linux xfce 2022][35] -Alpine Linux是一个社区开发的操作系统, 专为路由器、防火墙、VPN、VoIP 盒子和服务器而设计. 它是LEAF项目的一个分支. +Alpine Linux 是一个社区开发的操作系统,专为路由器、防火墙、VPN、VoIP 盒子和服务器而设计。它是 LEAF 项目的一个分支。 -Alpine Linux使用apk-tools包管理器, 最初由shell脚本编写, 而后使用c语言重构. 它是最小的Linux发行版之一, 仍然支持32位系统, 并且是一个可以完全从电脑RAM运行的操作系统. +Alpine Linux 使用 apk-tools 包管理器,最初由shell脚本编写,而后使用c语言重构。它是最小的 Linux 发行版之一,仍然支持32位系统,并且是一个可以完全从电脑 RAM 运行的操作系统。 ##### 其他特性: -* 提供大小仅为5MB的最小容器映像 -* 对于主库, 提供2年的支持; 对于社区库, 在下一个稳定版本发布前提供支持 -* 使用musl libc制作, Busybox使用资源效率高的容器 +* 提供大小仅为 5MB 的最小容器映像 +* 对于主库,提供2年的支持; 对于社区库,在下一个稳定版本发布前提供支持 +* 使用 musl libc 制作,Busybox 使用资源效率高的容器 [Alpine Linux][36] @@ -241,26 +241,26 @@ Alpine Linux使用apk-tools包管理器, 最初由shell脚本编写, 而后使 ![Image Credits: Distrowatch][37] -KaOS是一个受到Arch启发, 从头开始构建的Linux发行版. 它使用[pacman包管理器][38]. 它是按照"*一个桌面环境(KDE Plasma), 一个工具包(QT), 一个架构(X86_64)*"的理念构建的. +KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它使用[pacman包管理器][38]。它是按照"*一个桌面环境(KDE Plasma),一个工具包(QT),一个架构(X86_64)*"的理念构建的。 -它的软件库比较有限, 但依然为普通用户提供了许多工具. +它的软件库比较有限,但依然为普通用户提供了许多工具。 ##### 其他特性: -* 最新的Plasma桌面 +* 最新的 Plasma 桌面 * 紧密集成的滚动和透明的现代桌面发行版 [KaOS][39] #### 总结 -如果你需要一些独特的体验, 那么这些独立Linux发行版应该能很好的满足你. +如果你需要一些独特的体验,那么这些独立 Linux 发行版应该能很好的满足你。 -然而, 如果你想要用其来替换如Ubuntu这样主流的Linux发行版作为你的桌面系统...你也许需要三思而后行, 上面大多数的发行版(并不代表所有)都不是一个日常使用的桌面系统的理想的选项. +然而,如果你想要用其来替换如 Ubuntu 这样主流的 Linux 发行版作为你的桌面系统...你也许需要三思而后行,上面大多数的发行版(并不代表所有)都不是一个日常使用的桌面系统的理想的选项。 -但是话又说回来, 如果你对Linux发行版充满了经验, 那么毫无疑问, 你会享受这项冒险的任务的. +但是话又说回来,如果你对 Linux 发行版充满了经验,那么毫无疑问,你会享受这项冒险的任务的。 -*如果你想尝试这些独立发行版的其中一种, 哪一个会是你的优先选择呢? 请在评论中与我们分享.* +*如果你想尝试这些独立发行版的其中一种,哪一个会是你的优先选择呢? 请在评论中与我们分享.* -------------------------------------------------------------------------------- From 564a6c2c033e887ccdcc8cec006a190fdd4fc3dc Mon Sep 17 00:00:00 2001 From: Muggle Wei Date: Sun, 13 Nov 2022 21:08:04 +0800 Subject: [PATCH 410/925] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=91=E6=96=87:?= =?UTF-8?q?=20tech/20221014=2013=20Independent=20Linux=20Distros=20That=20?= =?UTF-8?q?are=20Built=20From=20Scratch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用脚本, 格式化译文以满足'中文文案排版指北'的要求 --- ...nux Distros That are Built From Scratch.md | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md b/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md index f6b83f5f03..1d2a5af3ec 100644 --- a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md +++ b/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md @@ -7,31 +7,31 @@ [#]: publisher: " " [#]: url: " " -13个从头开始构建的独立Linux发行版 +13 个从头开始构建的独立 Linux 发行版 ====== -时至今日,世界上已经有成百上千种不同的Linux发行版。 +时至今日,世界上已经有成百上千种不同的 Linux 发行版。 -它们中的大多数都可以被划归为三个大类: Debian,Red Hat (Fedora) 以及 Arch Linux。 +它们中的大多数都可以被划归为三个大类 : Debian,Red Hat (Fedora) 以及 Arch Linux。 使用基于 Debian/Ubuntu ,Red Hat/SUSE 或者 Arch 的 Linux 发行版自然有它们的优势。它们很受大众欢迎,因此它们的包管理器能够提供大量的软件包。 -然而,有一些用户更倾向于使用从头开始构建,独立于DEB/RPM这类包管理系统的发行版本。 +然而,有一些用户更倾向于使用从头开始构建,独立于 DEB/RPM 这类包管理系统的发行版本。 -在这篇文章当中,我们将列出一些优秀的独立Linux发行版。 +在这篇文章当中,我们将列出一些优秀的独立 Linux 发行版。 -**注意:** 显然,下面的列表显然不会包括一些广受欢迎,通常作为创建新的发现版基础的发行版,如Debian,Ubuntu 和 Fedora 等。此外,列表顺序不分先后,没有特定的排名。 +**注意 :** 显然,下面的列表显然不会包括一些广受欢迎,通常作为创建新的发现版基础的发行版,如 Debian,Ubuntu 和 Fedora 等。此外,列表顺序不分先后,没有特定的排名。 ### 1. NixOS ![Image Credits: Distrowatch][1] -NixOS最初发布于2003年,NixOS 建立在 Nix 包管理器之上。它每年发布两个版本,通常是在5月和11月。 +NixOS 最初发布于 2003 年,NixOS 建立在 Nix 包管理器之上。它每年发布两个版本,通常是在 5 月和 11 月。 -NixOS显然不是一个直接面向新用户或普通用户的发行版。然而,其独特的[包管理][2]方法吸引了各种用户。 +NixOS 显然不是一个直接面向新用户或普通用户的发行版。然而,其独特的[包管理][2]方法吸引了各种用户。 -此外,它仍然支持32位系统。 +此外,它仍然支持 32 位系统。 -##### 其他特性: +##### 其他特性 : * 构建隔离的包 * 可靠的升级,并且具有回滚功能 @@ -51,11 +51,11 @@ Gentoo 使用[Portage 包管理器][6]来创建和安装软件包,通常还允 不要忘记,Gentoo 是[仍然支持 32 位架构的发行版][7]之一。 -##### 其他特性: +##### 其他特性 : * 增量更新 * 基于源码的软件管理方法 -* 支持 GURU (Gentoo用户仓库)的 Overlay 仓库的概念,允许用户添加 Gentoo 尚未提供的软件包 +* 支持 GURU (Gentoo 用户仓库)的 Overlay 仓库的概念,允许用户添加 Gentoo 尚未提供的软件包 [Gentoo Linux][8] @@ -63,35 +63,35 @@ Gentoo 使用[Portage 包管理器][6]来创建和安装软件包,通常还允 ![Image Credits: Distrowatch][9] -Void Linux是一个[滚动发布的发行版][10],使用 X Binary Package System(XBPS) 来安装和删除软件。它由前 NetBSD 开发者 **Juan Romero Pardines** 创建。 +Void Linux 是一个[滚动发布的发行版][10],使用 X Binary Package System(XBPS) 来安装和删除软件。它由前 NetBSD 开发者 **Juan Romero Pardines** 创建。 它使用 runit 而不是 systemd 作为其初始化系统。此外,它还让你可以选择使用多个 [桌面环境][11]。 -##### 其他特性: +##### 其他特性 : * 最低的系统要求 * 官方库也提供非自由软件包 * 支持树莓派 * 集成 OpenBSD 的 LibreSSL * 支持 musl C 库 -* 支持32位系统 +* 支持 32 位系统 [Void Linux][12] **Related:** [Not a Systemd Fan? Here are 13+ Systemd-Free Linux Distributions][13] -**相关链接:** [不是Systemd的粉丝? 这里有13个无Systemd的Linux发行版][13] +**相关链接 :** [不是 Systemd 的粉丝 ? 这里有 13 个无 Systemd 的 Linux 发行版][13] ### 4. Solus Linux ![solus budgie 2022][14] -Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴奋的特性。Solus的旗舰版本使用自己的 homegrown budgie 作为桌面环境。 +Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴奋的特性。Solus 的旗舰版本使用自己的 homegrown budgie 作为桌面环境。 -与本篇文章介绍的其他系统相比,Solus 对于新手较为友好。它设法成为[最好的Linux发行版][15]之一。 +与本篇文章介绍的其他系统相比,Solus 对于新手较为友好。它设法成为[最好的 Linux 发行版][15]之一。 它使用 eopkg 作为其包管理系统,支持版滚动发布模型。按照开发人员的说法,开发 Solus 的目标是个人电脑。 -##### 其他特性: +##### 其他特性 : * 支持 Budgie、Gnome、MATE 和 KDE Plasma * 各种开箱即用的软件,从而减少设置工作 @@ -102,19 +102,19 @@ Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴 ![Image Credits: Distrowatch][17] -Mageia 始于2010年,它是 Mandriva Linux 的一个分支。它的目标是成为稳定且安全的桌面和服务器操作系统。 +Mageia 始于 2010 年,它是 Mandriva Linux 的一个分支。它的目标是成为稳定且安全的桌面和服务器操作系统。 Mageia 是一个社区驱动的项目,由非营利组织和贡献者支持。每年会发布一个大版本。 -##### 其他特性: +##### 其他特性 : -* 支持32位系统 +* 支持 32 位系统 * 支持 KDE Plasma,Gnome 和 XFCE * 最低的系统要求 [Mageia][18] -**相关链接:** **[仍然支持32位系统的Linux发行版][19]** +**相关链接 :** **[仍然支持 32 位系统的 Linux 发行版][19]** ### 6. Clear Linux @@ -126,9 +126,9 @@ Clear Linux 是一个由 Intel 发布的发行版,主要设计考虑是性能 它不太适合个人用户使用。但可以作为一个独特的选择而尝试一下。 -##### 其他特性: +##### 其他特性 : -* 针对Intel平台的高度调优 +* 针对 Intel 平台的高度调优 * 用户和系统文件之间严格分离 * 持续的漏洞扫描 @@ -140,12 +140,12 @@ Clear Linux 是一个由 Intel 发布的发行版,主要设计考虑是性能 PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT-RPM 包管理。你可以使用 KDE Plasma,Mate 以及 XFCE 桌面,它同时还提供了更多特性的社区版本的桌面。 -本地安装的 PCLinuxOS 利用了 APT 包管理系统要感谢 [Synaptic包管理器][23]。你可以从它的仓库中找到 rpm 包。 +本地安装的 PCLinuxOS 利用了 APT 包管理系统要感谢 [Synaptic 包管理器][23]。你可以从它的仓库中找到 rpm 包。 -##### 其他特性: +##### 其他特性 : * mylivecd 脚本允许用户去生成一个当前已安装的硬件驱动的'快照'(所有的配置,应用,文档等)并且将它压缩为 ISO CD/DVD/USB 映像 -* 附加支持超过85种语言 +* 附加支持超过 85 种语言 [PCLinuxOS][24] @@ -153,12 +153,12 @@ PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT-RPM 包管理。你 ![4m linux 2022][25] -[4MLinux][26] 是一个通用的 Linux 发行版,重点聚焦于下面四个 **“M”** +[4MLinux][26] 是一个通用的 Linux 发行版,重点聚焦于下面四个 **“ M ”** * Maintenance (系统救援 Live CD) * Multimedia (支持大量的图形,音频和视频格式) * Miniserver (支持 DNS,FTP,HTTP,MySQL,NFS,Proxy,SMTP,SSH,and Telnet) -* Mystery (包含了经典Linux游戏的集合) +* Mystery (包含了经典 Linux 游戏的集合) 它具有最低的系统要求,可作为桌面和服务器版本使用. @@ -175,14 +175,14 @@ PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT-RPM 包管理。你 Tiny Core Linux 专注于使用 BusyBox 和 FLTK 提供一个基础的系统。它不是一个复杂的桌面。所有,并不能保证它可以运行于任何系统。 -它代表了启动到非常小的X桌面所需的核心功能,通常带有有线互联网访问权限。 +它代表了启动到非常小的 X 桌面所需的核心功能,通常带有有线互联网访问权限。 用户可以很好的控制一切,但对于新 Linux 用户来说,它并不是一个轻松的开箱即用的系统。 ##### 其他特性 * 旨在从启动时创建的内存副本中运行 -* 默认情况下,其操作就像像云/互联网客户端一样 +* 默认情况下,其操作就像像云 / 互联网客户端一样 * 用户可以使用 appbrowser 来游览库以及下载应用 [Tiny Core Linux][29] @@ -209,13 +209,13 @@ Linux From Scratch 并不是一个系统,而是通过手动构建所有组件 ![Image Credits: Distrowatch][33] -Slackware 是现今还在维护的最老的发行版。最初创建于1993年,以 Softlanding Linux 系统为基础,随后,许多的 Linux 发行版都是基于 Slackware。 +Slackware 是现今还在维护的最老的发行版。最初创建于 1993 年,以 Softlanding Linux 系统为基础,随后,许多的 Linux 发行版都是基于 Slackware。 Slackware 目标是称为最类似于 UNIX 的 Linux 发行版,同时保持简单和稳定。 ##### 其他特性 -* 支持32位和64位系统 +* 支持 32 位和 64 位系统 * 大量的在线文档 * 从奔腾处理器到最新的机器,它都可以运行 @@ -227,12 +227,12 @@ Slackware 目标是称为最类似于 UNIX 的 Linux 发行版,同时保持简 Alpine Linux 是一个社区开发的操作系统,专为路由器、防火墙、VPN、VoIP 盒子和服务器而设计。它是 LEAF 项目的一个分支。 -Alpine Linux 使用 apk-tools 包管理器,最初由shell脚本编写,而后使用c语言重构。它是最小的 Linux 发行版之一,仍然支持32位系统,并且是一个可以完全从电脑 RAM 运行的操作系统。 +Alpine Linux 使用 apk-tools 包管理器,最初由 shell 脚本编写,而后使用 c 语言重构。它是最小的 Linux 发行版之一,仍然支持 32 位系统,并且是一个可以完全从电脑 RAM 运行的操作系统。 -##### 其他特性: +##### 其他特性 : * 提供大小仅为 5MB 的最小容器映像 -* 对于主库,提供2年的支持; 对于社区库,在下一个稳定版本发布前提供支持 +* 对于主库,提供 2 年的支持 ; 对于社区库,在下一个稳定版本发布前提供支持 * 使用 musl libc 制作,Busybox 使用资源效率高的容器 [Alpine Linux][36] @@ -241,11 +241,11 @@ Alpine Linux 使用 apk-tools 包管理器,最初由shell脚本编写,而后 ![Image Credits: Distrowatch][37] -KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它使用[pacman包管理器][38]。它是按照"*一个桌面环境(KDE Plasma),一个工具包(QT),一个架构(X86_64)*"的理念构建的。 +KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它使用[pacman 包管理器][38]。它是按照"*一个桌面环境(KDE Plasma),一个工具包(QT),一个架构(X86_64)*"的理念构建的。 它的软件库比较有限,但依然为普通用户提供了许多工具。 -##### 其他特性: +##### 其他特性 : * 最新的 Plasma 桌面 * 紧密集成的滚动和透明的现代桌面发行版 @@ -260,7 +260,7 @@ KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它 但是话又说回来,如果你对 Linux 发行版充满了经验,那么毫无疑问,你会享受这项冒险的任务的。 -*如果你想尝试这些独立发行版的其中一种,哪一个会是你的优先选择呢? 请在评论中与我们分享.* +*如果你想尝试这些独立发行版的其中一种,哪一个会是你的优先选择呢 ? 请在评论中与我们分享.* -------------------------------------------------------------------------------- @@ -269,9 +269,9 @@ via: https://itsfoss.com/independent-linux-distros/ 作者:[sreenath][a] 选题:[lkxed][b] 译者:[MuggleWei](https://github.com/MuggleWei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[校对者 ID](https://github.com/ 校对者 ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 [a]: https://itsfoss.com/author/sreenath/ [b]: https://github.com/lkxed From 4f2cfe638e86dc8cca6744d4f47e6c9eb84a624e Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sun, 13 Nov 2022 22:44:48 +0800 Subject: [PATCH 411/925] TSL --- ...o domain names sometimes end with a dot.md | 256 ------------------ ...o domain names sometimes end with a dot.md | 256 ++++++++++++++++++ 2 files changed, 256 insertions(+), 256 deletions(-) delete mode 100644 sources/tech/20220912 Why do domain names sometimes end with a dot.md create mode 100644 translated/tech/20220912 Why do domain names sometimes end with a dot.md diff --git a/sources/tech/20220912 Why do domain names sometimes end with a dot.md b/sources/tech/20220912 Why do domain names sometimes end with a dot.md deleted file mode 100644 index 1e5103eb90..0000000000 --- a/sources/tech/20220912 Why do domain names sometimes end with a dot.md +++ /dev/null @@ -1,256 +0,0 @@ -[#]: subject: "Why do domain names sometimes end with a dot?" -[#]: via: "https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/" -[#]: author: "Julia Evans https://jvns.ca/" -[#]: collector: "lujun9972" -[#]: translator: "lxbwolf" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Why do domain names sometimes end with a dot? -====== - -Hello! When I was writing the zine [How DNS Works][1] earlier this year, someone asked me – why do people sometimes put a dot at the end of a domain name? For example, if you look up the IP for `example.com` by running `dig example.com`, you’ll see this: - -``` - - $ dig example.com - example.com. 5678 IN A 93.184.216.34 - -``` - -`dig` has put a `.` to the end of `example.com` – now it’s `example.com.`! What’s up with that? - -Also, some DNS tools require domains to have a `"."` at the end: if you try to pass `example.com` to [miekg/dns][2], like this, it’ll fail: - -``` - - // trying to send this message will return an error - m := new(dns.Msg) - m.SetQuestion("example.com", dns.TypeA) - -``` - -Originally I thought I knew the answer to this (“uh, the dot at the end means the domain is fully qualified?“). And that’s true – a fully qualified domain name is a domain with a “.” at the end! - -But that doesn’t explain _why_ dots at the end are useful or important. - -### in a DNS request/response, domain names don’t have a trailing “.” - -I once (incorrectly) thought the answer to “why is there a dot at the end?” might be “In a DNS request/response, domain names have a “.” at the end, so we put it in to match what actually gets sent/received by your computer”. But that’s not true at all! - -When a computer sends a DNS request or response, the domain names in it don’t have a trailing dot. Actually, the domain names don’t have _any_ dots. - -Instead, they’re encoded as a series of length/string pairs. For example, the domain `example.com` is encoded as these 13 bytes: - -``` - - 7example3com0 - -``` - -So there are no dots at all. Instead, an ASCII domain name (like “example.com”) gets translated into the format used in a DNS request / response by various DNS software. - -So let’s talk about one place where domain names are translated into DNS responses: zone files. - -### the trailing “.” in zone files - -One way that some people manage DNS records for a domain is to create a text file called a “zone file” and then configure some DNS server software (like `nsd` or `bind`) to serve the DNS records specified in that zone file. - -Here’s an imaginary zone file for `example.com`: - -``` - - orange 300 IN A 1.2.3.4 - fruit 300 IN CNAME orange - grape 3000 IN CNAME example.com. - -``` - -In this zone file, anything that doesn’t end in a `"."` (like `"orange"`) gets `.example.com` added to it. So `"orange"` is shorthand for `"orange.example.com"`. The DNS server knows from its configuration that this is a zone file for `example.com`, so it knows to automatically append `example.com` at the end of any name that doesn’t end with a dot. - -I assume the idea here is just to save typing – you could imagine writing this zone file by fully typing out all of the domain names: - -``` - - orange.example.com. 300 IN A 1.2.3.4 - fruit.example.com. 300 IN CNAME orange.example.com. - grape.example.com. 3000 IN CNAME example.com. - -``` - -But that’s a lot of typing. - -### you don’t need zone files to use DNS - -Even though the zone file format is defined in the official DNS RFC ([RFC 1035][3]), you don’t have to use zone files at all to use DNS. For example, AWS Route 53 doesn’t use zone files to store DNS records! Instead you create records through the web interface or API, and I assume they store records in some kind of database and not a bunch of text files. - -Route 53 (like many other DNS tools) does support importing and exporting zone files though and it can be a good way to migrate records from one DNS provider to another. - -### the trailing “.” in dig - -Now, let’s talk about `dig`’s output: - -``` - - $ dig example.com - ; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> +all example.com - ;; global options: +cmd - ;; Got answer: - ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10712 - ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 - - ;; OPT PSEUDOSECTION: - ; EDNS: version: 0, flags:; udp: 65494 - ;; QUESTION SECTION: - ;example.com. IN A - - ;; ANSWER SECTION: - example.com. 81239 IN A 93.184.216.34 - -``` - -One weird thing about this is that almost every line starts with a `;;`. What’s up with that? Well `;` is the comment character in zone files! - -So I think the reason that dig prints out its output in this weird way is so that if you wanted, you could just paste this into a zone file and have it work without any changes. - -This also explains why there’s a `.` at the end of `example.com.` – zone files require a trailing dot at the end of a domain name (because otherwise they’re interpreted as being relative to the zone). So `dig` does too. - -I really wish dig had a `+human` flag that printed out all of this information in a more human readable way, but for now I’m too lazy to put in the work to actually contribute code to do that (and I’m a pretty bad C programmer) so I’ll just complain about it on my blog instead :) - -### the trailing `"."` in curl - -Let’s talk about another case where the trailing `"."` shows up: curl! - -One of the computers in my house is called “grapefruit”, and it’s running a webserver. Here’s what happens if I run `curl grapefruit`: - -``` - - $ curl grapefruit - - - - - -``` - -It works! Cool. But what happens if I add a `.` at the end? Suddenly it doesn’t work: - -``` - - $ curl grapefruit. - curl: (6) Could not resolve host: grapefruit. - -``` - -What’s going on? To understand, we need to learn about search domains: - -### meet search domains - -When I run `curl grapefrult`, how does that get translated into a DNS request? You might think that my computer would send a request for the domain `grapefruit`, right? But that’s not true. - -Let’s use `tcpdump` to see what domain is actually being looked up: - -``` - - $ sudo tcpdump -i any port 53 - [...] A? grapefruit.lan. (32) - -``` - -It’s actually sending a request for `grapefruit.lan`. What’s up with that? - -Well, what’s going on is that: - - 1. To look up `grapefruit`, `curl` calls a function called `getaddrinfo` - - 2. `getaddrinfo` looks in a file on my computer called `/etc/resolv.conf` - - 3. `/etc/resolv.conf` contains these 2 lines: - -``` - nameserver 127.0.0.53 - search lan - -``` - - 4. Because it sees `search lan`, `getaddrinfo` adds a `lan` at the end of `grapefruit` and looks up `grapefruit.lan` instead - - - - -### when are search domains used? - -Now we know something weird: that when we look up a domain, sometimes an extra thing (like `lan`) will be added to the end. But when does that happen? - - 1. If we put a `"."` at the **end** of the domain (like `curl grapefruit.`, then search domains aren’t used - 2. If the domain has an `"."` **inside** it (like `example.com` has a dot in it), then by default search domains aren’t used either. But this can be changed with configuration (see this blog post about [ndots][4] that talks about this more) - - - -So now we know why `curl grapefruit.` has different results than `curl grapefruit` – it’s because one looks up the domain `grapefruit.` and the other one looks up `grapefruit.lan.` - -### how does my computer know what search domain to use? - -When I connect to my router, it tells me that its search domain is `lan` with DHCP – it’s the same way that my computer gets assigned an IP address. - -### so why do people put a dot at the end of domain names? - -Now that we know about zone files and search domains, here’s why I think people like to put dots at the end of a domain name. - -There are two contexts where domain names are modified and get something else added to the end: - - * in a zone file for `example.com`, `grapefruit` get translated to `grapefruit.example.com` - * on my local network (with my computer configured to use the search domain `lan`), `grapefruit` gets translated to `grapefruit.lan` - - - -So because domain names can actually be translated to something else in some cases, people like to put a `"."` at the end to communicate “THIS IS THE DOMAIN NAME, NOTHING GETS ADDED AT THE END, THIS IS THE WHOLE THING”. Because otherwise it can get confusing. - -The technical term for “THIS IS THE WHOLE THING” is **“fully qualified domain name”** or **“FQDN”**. So `google.com.` is a fully qualified domain name, and `google.com` isn’t. - -I always have to remind myself for the reasons for this because I rarely use zone files or search domains, so I often feel like – “of course I mean `google.com` and not `google.com.something.else`! Why would I mean anything else?? That’s silly!” - -But some people do use zone files and search domains (search domains are used in Kubernetes, for example!), so the “.” at the end is useful to make it 100% clear that nothing else should be added. - -### when to put a “.” at the end? - -Here are a couple of quick notes about when to put a “.” at the end of your domain names: - -**Yes: when configuring DNS** - -It’s never bad to use fully qualified domain names when configuring DNS. You don’t always have to: a non-fully-qualified domain name will often work just fine as well, but I’ve never met a piece of DNS software that wouldn’t accept a fully qualified domain name. - -And some DNS software requires it: right now the DNS server I use for `jvns.ca` makes me put a `"."` at the end of domains names (for example in CNAME records) and warns me otherwise it’ll append `.jvns.ca` to whatever I typed in. I don’t agree with this design decision but it’s not a big deal, I just put a “.” at the end. - -**No: in a browser** - -Confusingly, it often _doesn’t_ work to put a `"."` at the end of a domain name in a browser! For example, if I type `https://twitter.com.` into my browser, it doesn’t work! It gives me a 404. - -I think what’s going on here is that it’s setting the HTTP Host header to `Host: twitter.com.` and the web server on the other end is expecting `Host: twitter.com`. - -Similarly, `https://jvns.ca.` gives me an SSL error for some reason. - -### I think relative domain names used to be more common - -One last thing: I think that “relative” domain names (like me using `grapefruit` to refer to the other computer in my house, `grapefruit.lan`) used to be more commonly used, because DNS was developed in the context of universities or other big institutions which have big internal networks. - -On the internet today, it seems like it’s more common to use “absolute” domain names (like `example.com`). - --------------------------------------------------------------------------------- - -via: https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/ - -作者:[Julia Evans][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://jvns.ca/ -[b]: https://github.com/lujun9972 -[1]: https://wizardzines.com/zines/dns/ -[2]: https://github.com/miekg/dns -[3]: https://www.rfc-editor.org/rfc/rfc1035#section-4.1.1 -[4]: https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html diff --git a/translated/tech/20220912 Why do domain names sometimes end with a dot.md b/translated/tech/20220912 Why do domain names sometimes end with a dot.md new file mode 100644 index 0000000000..fb582dfb7a --- /dev/null +++ b/translated/tech/20220912 Why do domain names sometimes end with a dot.md @@ -0,0 +1,256 @@ +[#]: subject: "Why do domain names sometimes end with a dot?" +[#]: via: "https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/" +[#]: author: "Julia Evans https://jvns.ca/" +[#]: collector: "lujun9972" +[#]: translator: "lxbwolf" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +为什么有时候域名的末尾有个点? +====== + +大家好!今年早些时候,我在写杂志 [DNS 是如何工作的][1] 时,有人问我——为什么人们有时在域名的末尾加一个点?例如,如果你通过运行 `dig example.com` 查询 `example.com` 的 IP,你会看到一下内容: + +``` + + $ dig example.com + example.com. 5678 IN A 93.184.216.34 + +``` + +执行完 `dig` 命令后,`example.com` 有一个 `.`——变成了 `example.com.`!发生了什么? + +有些 DNS 工具也要求传给它的域名后加一个 `.`:如果你在使用 [miekg/dns][2] 时传给它 `example.com`,它会报错: + +``` + + // trying to send this message will return an error + m := new(dns.Msg) + m.SetQuestion("example.com", dns.TypeA) + +``` + +最初我以为我知道这个问题的答案("呃,末尾的点意味着域名是完全合格的?")。这是对的——一个完全合格的域名是一个末尾有 `“.”` 的域名! + +但是*为什么*末尾的点是有用且重要的呢? + +### 在 DNS 的请求/响应中,域名的末尾并没有 “.” + +我曾经(错误地)认为 "为什么末尾有一个点?"的答案可能是 "在 DNS 请求/响应中,域名末尾有一个".",所以我们把它放进去,以匹配你的计算机实际发送/接收的内容"。但事实并不是这样! + +当计算机发送 DNS 请求/响应时,域名的末尾并没有点。实际上,域名中*没有一个*点。 + +域名会被编码成一系列的长度/字符串对。例如,域名 `example.com` 被编码为这13个字节。 + +``` + + 7example3com0 + +``` + +编码后的内容一个点也没有。一个 ASCII 域名(如 "example.com")被转成了各种 DNS 软件的 DNS 请求/响应中使用的格式。 + +今天我们来讨论域名被转成 DNS 响应的一个地方:zone 文件。 + +### zone文件中域名末尾的 “.” + +一些人管理域名的 DNS 记录的方法是创建一个被称为 "zone 文件"的文本文件,然后配置一些 DNS 服务器软件(如 `nsd` 或 `bind`)来为该 zone 文件中指定的 DNS 记录提供服务。 + +下面是一个对应 `example.com` 的示例 zone 文件: + +``` + + orange 300 IN A 1.2.3.4 + fruit 300 IN CNAME orange + grape 3000 IN CNAME example.com. + +``` + +在这个文件中,任何不以 `"."` 结尾的域名(比如 `"orange"`)后都会自动加上 `.example.com`。所以 `"orange"` 成了 `"orange.example.com"` 的简称。DNS 服务器从它的配置中得知这是一个 `example.com` 的 zone 文件,所以它知道在所有不以点结尾的名字后面自动添加 `example.com`。 + +我想这里的想法只是为了少打几个字符——如果要打出全称,zone 文件会是这样: + +``` + + orange.example.com. 300 IN A 1.2.3.4 + fruit.example.com. 300 IN CNAME orange.example.com. + grape.example.com. 3000 IN CNAME example.com. + +``` + +确实多了很多字符。 + +### 你也可以不通过 zone 文件来使用 DNS + +尽管官方的 DNS RFC([RFC 1035][3])中定义了 zone 文件格式,但你也可以不通过 zone 文件来使用 DNS。例如,AWS Route 53 就不用 zone 文件来存储 DNS 记录!你可以通过 Web 界面或 API 来创建记录,我猜他们是用某种数据库而不是一堆文本文件来存储记录。 + +不过,Route 53(像许多其他 DNS 工具一样)确实支持导入和导出 zone 文件,这个功能或许在你更换 DNS 提供商时很有用。 + +### `dig` 命令输出中末尾的 “.” + +现在我们来讨论下 `dig` 命令的输出: + +``` + + $ dig example.com + ; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> +all example.com + ;; global options: +cmd + ;; Got answer: + ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10712 + ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 + + ;; OPT PSEUDOSECTION: + ; EDNS: version: 0, flags:; udp: 65494 + ;; QUESTION SECTION: + ;example.com. IN A + + ;; ANSWER SECTION: + example.com. 81239 IN A 93.184.216.34 + +``` + +有一件奇怪的事是,几乎每一行都以 `;;` 开头,这是怎么回事?`;` 是 zone 文件中的注释字符! + +我想 `dig` 以这种奇怪的方式输出的原因可能是为了方便你粘贴这些内容到 zone 文件时不用修改就可以直接用。 + +这也是 `example.com` 末尾有个 `.` 的原因 ——zone 文件要求域名末尾必须有点(否则它们会被解释为是相对于该区域的)。因此 `dig` 也这么处理了。 + +我真的希望 dig 有一个 `+human` 选项,以更人性化的方式打印出这些信息,但现在我太懒了,懒得花工夫去实际贡献代码来做这件事(而且我并不擅长 C),所以我只能在我的博客上抱怨一下 :) + +### curl 命令输出中末尾的 “.” + +我们来看下另一个末尾有 `.` 的例子:curl! + +我家里有台计算机名为 “grapefruit”,其上运行着 webserver。当我执行 `curl grapefruit` 时,会输出: + +``` + + $ curl grapefruit + + + + + +``` + +这样运行没问题!但是如果我在域名后加一个 `.` 会怎样呢?它报错了: + +``` + + $ curl grapefruit. + curl: (6) Could not resolve host: grapefruit. + +``` + +发生了什么?为了搞清楚,我们需要先来学习下搜索域: + +### 初识搜索域 + +当我执行 `curl grapefrult` 时,它是怎么被转成一个 DNS 请求的?你可能会认为我的计算机会向域名 `grapefruit` 发送一个请求,对吗?但事实并不是这样。 + +让我们用 `tcpdump` 来看看到底是什么域名在被查询。 + +``` + + $ sudo tcpdump -i any port 53 + [...] A? grapefruit.lan. (32) + +``` + +实际上是向 `grapefruit.lan.` 发送的请求。为什么呢? + +解释一下: + + 1. `curl` 调用函数 `getaddrinfo` 来查询 `grapefruit` + + 2. `getaddrinfo` 查询了我计算机上的文件 `/etc/resolv.conf` + + 3. `/etc/resolv.conf` 包含两行内容: + +``` + nameserver 127.0.0.53 + search lan + +``` + + 4. 因为有 `search lan` 这行内容,所以 `getaddrinfo` 在 `grapefruit` 的末尾添加了一个 `lan`,去查询 `grapefruit.lan` + + + + +### 什么时候搜索域被使用? + +现在我们知道了一些奇怪的事情:当我们查询一个域名时,有时会有一个额外的东西(如`lan`)被加到最后。但是什么时候会发生这种情况呢? + + 1. 如果我们在域名**末尾**添加一个 `.`,那么这时不会用到搜索域 + 2. 如果域名**中间包含**一个 `.`(如 `example),那么默认也不会用到搜索域。但是可以通过修改配置来改变处理逻辑(在 [ndots][4] 里有更详细的说明) + + + +我们现在知道了 `curl grapefruit.` 与 `curl grapefruit` 结果不一样的原因——因为一个查询的是 `grapefruit.`,而另一个查询的是 `grapefruit.lan.`。 + +### 我的计算机怎么知道使用哪个搜索域呢? + +当我连接路由时,它会通过 DHCP 告诉我它的搜索域是 `lan`——它也是通过这个方式给我的计算机分配 IP。 + +### 所以为什么要在域名末尾加一个点呢? + +现在我们已经了解了 zone 文件和搜索域,下面是我认为的人们要在域名末尾加点的原因: + +有两种情况下,域名会被修改,并在末尾添加其他东西。 + + * 在 `example.com` 的 zone 文件中,`grapefruit` 会被转为 `grapefruit.example.com` + * 在我的本地网络(我的计算机已经配置了使用搜索域 `lan`),`grapefruit` 被转为 `grapefruit.lan` + + + +因此,由于域名在某些情况下实际上可能被转成其他名字,人们就在结尾处加一个 `.`,以此来表示 "这是域名,末尾不需要添加任何东西,这就是全部的东西"。因为否则会引起混乱。 + +“这就是全部内容”的技术术语是**"完全合格域名"**,简称为**"FQDN "**。所以 `google.com.` 是一个完全合格的域名,而 `google.com` 不是。 + +我总是要提醒自己这样做的原因,因为我很少使用 zone 文件和搜索域,所以我经常觉得——"我当然是指 `google.com` 而不是 `google.com.something.else`! 我为什么要指其他东西?那太傻了!" + +但是有些人确实在使用 zone 文件和搜索域(例如 Kubernetes 中使用了搜索域!),所以结尾的 ". " 很有用,可以让人确切的知道,不应该再添加其他东西。 + +### 什么时候在末尾添加 “.”? + +以下是关于何时在域名末尾加 ". " 的几个简单说明: + +**需要添加:配置 DNS 时** + +在配置 DNS 时,使用完全合格的域名从来都不是坏事。你不一定要这样做:非完全合格的域名通常也能正常工作,但我从来没有遇到过不接受完全合格域名的 DNS 软件。 + +有些 DNS 软件需要这样做:现在我为 `jvns.ca` 使用的 DNS 服务器让我在域名的末尾加上 `"."`(例如在 CNAME 记录中),并提示如果我不添加,它将在我输入的内容末尾加上 `.jvns.ca`。我不同意这个设计决定,但这不是什么大问题,我只是在最后加一个 "."。 + +**不需要加:在浏览器中** + +令人困惑的是,在浏览器中,在域名结尾处加一个 `.` *不能*正常运行。例如,如果我在浏览器中输入 `https://twitter.com.`,它就会报错。它会返回 404。 + +我认为这里发生的事情是,它将 HTTP Host header 设置为`Host:twitter.com.`,而对端的网络服务器则期望 `Host:twitter.com`。 + +同样地,`https://jvns.ca.` 由于某种原因,返回了一个 SSL 错误。 + +### 我认为相对域名在过去是比较常见的 + +最后一件事:我认为"相对"域名(比如我用 `grapefruit` 来指代我家的另一台计算机 `grapefruit.lan`)在过去更常用,因为 DNS 是在大学或其他有大型内部网络的大机构中开发的。 + +在今天的互联网上,使用"绝对"域名(如 `example.com`)似乎更为普遍。 + +-------------------------------------------------------------------------------- + +via: https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/ + +作者:[Julia Evans][a] +选题:[lujun9972][b] +译者:[lxbwolf](https://github.com/lxbwolf) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://jvns.ca/ +[b]: https://github.com/lujun9972 +[1]: https://wizardzines.com/zines/dns/ +[2]: https://github.com/miekg/dns +[3]: https://www.rfc-editor.org/rfc/rfc1035#section-4.1.1 +[4]: https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html From 82569745d1f280f54f21c86a553d11232fc89b4b Mon Sep 17 00:00:00 2001 From: Cubik Date: Sun, 13 Nov 2022 14:00:01 -0500 Subject: [PATCH 412/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7][?= =?UTF-8?q?tech]:=2020221111.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20FFmpeg=20in=20Ubuntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...11.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md index e5f96bd934..3b0c307b9c 100644 --- a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md +++ b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/install-ffmpeg-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -150,7 +150,7 @@ via: https://www.debugpoint.com/install-ffmpeg-ubuntu/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From c9b3b4200bb42ce18fa051a3ac885d014c6a2160 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 14 Nov 2022 08:24:55 +0800 Subject: [PATCH 413/925] RP @geekpi https://linux.cn/article-15250-1.html --- ...st Speaker Volume in Ubuntu and Other Linux.md | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md (69%) diff --git a/translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/published/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md similarity index 69% rename from translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md rename to published/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md index 56545275df..cff6529075 100644 --- a/translated/tech/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md +++ b/published/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md @@ -3,14 +3,16 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15250-1.html" 如何提高 Ubuntu 和其他 Linux 系统中的扬声器音量 ====== -**以下是如何在 Ubuntu 和其他 Linux 发行版中提高笔记本和桌面的音量的方法。** +![](https://img.linux.net.cn/data/attachment/album/202211/14/082359euz72h2utucf2v5u.jpg) + +> 以下是如何在 Ubuntu 和其他 Linux 发行版中提高笔记本和桌面的音量的方法。 你有没有觉得你的 Ubuntu 笔记本的音量太小,尽管你把音量调到了 100%?我相信你有过。主要原因是:很明显,笔记本电脑的扬声器输出强度比大型扬声器要低。 @@ -18,41 +20,41 @@ VLC 和一些媒体播放器允许你将音量提高到 200%。在最新的 Ubuntu 中使用一些设置,你可以将音量进一步提高。 -**注意**:在你尝试和使用以下方法之前,请记住,每个扬声器都有其制造商设定的硬件限制。偶尔一次,播放超过 100% 的音频是可以的。但是,连续放大到更高的分贝可能会使输出的音频失真,并且从长远来看可能会损坏你的扬声器。因此,在使用时要小心谨慎,并有所限制。 +> **注意**:在你尝试和使用以下方法之前,请记住,每个扬声器都有其制造商设定的硬件限制。偶尔一次,播放超过 100% 的音频是可以的。但是,连续放大到更高的分贝可能会使输出的音频失真,并且从长远来看可能会损坏你的扬声器。因此,在使用时要小心谨慎,并有所限制。 ### 在 Ubuntu 和其他发行版中提高扬声器音量 -#### 对于最新的 Ubuntu 22.04 及以上版本(GNOME)。 +#### 对于最新的 Ubuntu 22.04 及以上版本(GNOME) -从应用菜单中打开设置,进入声音标签。 +从应用菜单中打开“设置Settings”,进入“声音Sound”标签。 -启用 “Over Amplification” 开关。在你启用的那一刻,你应该看到音量条被扩大了。 +启用 “过度放大Over Amplification” 开关。在你启用的那一刻,你应该看到音量条被扩大了。 ![在 Ubuntu 中提升音量超过 100%][1] 现在你可以享受音量提升来听音乐了。 -#### Fedora, Arch Linux 和其他发行版 +#### Fedora、Arch Linux 和其他发行版 如果你使用带有 GNOME 的 Fedora 工作站,你将看不到上述选项,因为这是 Ubuntu 特有的设置。见下面。 ![在 Fedora (GNOME)中,扬声器音量最大为 100%][2] -因此,对于任何其他 Linux 发行版(Arch、Fedora、RedHat 等)或桌面(KDE、Xfce、LXQt 等),打开终端并安装 [PulseAudio Volume Control][3]。 +因此,对于任何其他 Linux 发行版(Arch、Fedora、RedHat 等)或桌面(KDE、Xfce、LXQt 等),打开终端并安装 [PulseAudio 音量控制器][3]。 -**Fedora、RedHat Linux、OpenSUSE 和相关基于 rpm 的发行版:** +Fedora、RedHat Linux、OpenSUSE 等基于 RPM 的发行版: ``` sudo dnf install pavucontrol ``` -**对于 Arch Linux, Manjaro** +对于 Arch Linux、Manjaro: ``` sudo pacman -S pavucontrol ``` -**基于 Ubuntu 的非 GNOME 发行版** +基于 Ubuntu 的非 GNOME 发行版: ``` sudo apt install pavucontrol @@ -62,7 +64,7 @@ sudo apt install pavucontrol 安装后,从应用菜单中打开 `pavucontrol`,它应该有个 “PulseAudio Volume Control” 菜单项。 -![使用PulseAudio音量控制增加音量][4] +![使用 PulseAudio 音量控制增加音量][4] ### 总结 @@ -77,7 +79,7 @@ via: https://www.debugpoint.com/boost-speaker-volume-ubuntu/ 作者:[Arindam][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/) 荣誉推出 From 0640f6156011b5bc7367ff5aebe91ba443439e7f Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 14 Nov 2022 08:40:39 +0800 Subject: [PATCH 414/925] translating --- ...3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 184 ----------------- ...3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 185 ++++++++++++++++++ 2 files changed, 185 insertions(+), 184 deletions(-) delete mode 100644 sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md create mode 100644 translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md diff --git a/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md deleted file mode 100644 index e8608ed120..0000000000 --- a/sources/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md +++ /dev/null @@ -1,184 +0,0 @@ -[#]: subject: "How to Install Node.js on RHEL 9" -[#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" -[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Node.js on RHEL 9 -====== - -In this post, we will explain how to install Node.js on RHEL 9 system step-by-step. - -Built on Google’s V8 Javascript engine, [Node.js][1] is a free and opensource, cross-platform JavaScript runtime that is mostly used for building server-side applications. It uses an event-driven and asynchronous model that helps developers build highly scalable, data-intensive real-time applications (RTAs ). You can use NodeJS to build both front-end and back-end applications. - -Node.js is commonly used in building the following applications: - -- Chat applications -- Streaming applications -- Browser games -- Command-line tools -- Embedded systems - -Top companies that use NodeJS in their tech stacks include PayPal, Netflix, and Uber to mention a few. - -There are three main ways of installing Node.JS: - -- Installing Node.JS from the NodeSource repository -- Installing Node.JS from the distribution’s Official repository -- Installing Node.JS using NVM - -Let us check out how to install Node.JS on RHEL 9 using each of these methods. - -##### Prerequisites - -- Minimal Installed RHEL 9 System -- [Sudo User][2] with admin rights -- Internet Connectivity -- Red Hat Subscription or locally configured repository - -### Installing Node.js from NodeSource Repository - -[NodeSource][3]is a technology company that seeks to help organizations run production-ready Node.Js applications with more focus on resource usage and enhanced security and application performance. It provides the latest versions of Node.JS and NPM. - -To install Node.SJ from Nodesource, first, update the system packages as shown. - -``` -$ sudo dnf update -y -``` - -Next, install the required build tools which will be required during the installation of Node.JS. These include the GCC c/c++ compiler, Perl, and Python debuggers to mention a few. - -``` -$ sudo dnf groupinstall 'Development Tools' -y -``` - -Next, we are going to install Node.JS 18.x from Nodesource. To do this, download and run the NodeSource setup script as follows. - -``` -$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - -``` - -The script adds the Nodesource repository to your system among other tasks - -At the tail end of the output, you will see some additional instructions provided on how to install Node.JS and npm. - -Therefore, to install Node.JS and npm (Node Package Manager), run the command: - -``` -$ sudo dnf install nodejs -y -``` - -Once the installation is complete, verify the version of Node.JS and NPM as shown. - -``` -$ node -v -$ npm -v -``` - -The output shows that we are running Node v18.12 which is the latest LTS release and NPM 8.19.2. - -### Installing Node.js from the official RHEL repositories - -The other way of installing NodeJS and NPM is by installing them from your distribution’s official repository. However, this approach does not provide the latest versions. - -If you don’t mind not installing the latest versions of Node and NPM. , then run the following command on the command line. - -``` -$ sudo dnf update -y -$ sudo dnf install nodejs npm -y -``` - -### Installing Node.js using NVM - -Lastly, you can install Node.JS using NVM ( Node Version Manager) which is a tool for managing Node versions on your system. The tool helps developers work efficiently on different projects which require different versions of Node.JS - -NVM is not installed by default You need to install it by running the Shell script which is available on the [Official GitHub Page][4]. - -``` -$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash -``` - -This downloads and saves nvm in the .nvm directory in your home directory. - -Once installed, close your terminal sessions and open a new terminal. Then run the following command to confirm that NVM has been installed. - -``` -$ command -v nvm -``` - -Next, you can list all the available versions of Node.JS using the following command: - -``` -$ nvm ls-remote -``` - -Alternatively, you can list all the latest LTS releases for Node.JS versions as shown. - -``` -$ nvm ls-remote | grep -i latest -``` - -To install the very latest version of Node.JS (currently v19.0.0 ), run the command: - -``` -$ nvm install node -``` - -You can then verify the version of Node installed as shown. - -``` -$ node -v -``` - -In addition, you can install a specific version of Node. JS. For example, to install v18.2.0, run the command: - -``` -$ nvm install v18.12.0 -``` - -To list all the installed versions of NodeJS on your system, run the command: - -``` -$ nvm ls -``` - -The first entry with the sign ( – > ) points to the version of Node.JS that is currently in use. This is then followed by other versions as indicated below - -To switch to another version of Node.JS, use the syntax: - -``` -$ nvm use -``` - -For example, to use Node version 19.0.0, run the command: - -``` -$ nvm use 19.0.0 -``` - -Again, check the installed versions of Node.JS, and this time the  ( – > ) sign will point to v19.0.0 - -##### Conclusion - -In this guide, we have demonstrated how to install Node.js using three different methods. In addition, we have provided a few ways in which you can manage the Node versions using NVM. We hope that you can now comfortably install NodeJS on RHEL and choose the version that you want to work with on your project. - --------------------------------------------------------------------------------- - -via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/ - -作者:[James Kiarie][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.linuxtechi.com/author/james/ -[b]: https://github.com/lkxed -[1]: https://nodejs.org/en/about/ -[2]: https://www.linuxtechi.com/create-sudo-user-on-rhel-rocky-linux-almalinux/ -[3]: https://nodesource.com/ -[4]: https://github.com/nvm-sh/nvm diff --git a/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md new file mode 100644 index 0000000000..cd96c378a6 --- /dev/null +++ b/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md @@ -0,0 +1,185 @@ +[#]: subject: "How to Install Node.js on RHEL 9" +[#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" +[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 RHEL 9 上安装 Node.js +====== + +在这篇文章中,我们将逐步解释如何在 RHEL 9 系统上安装 Node.js。 + +[Node.js][1] 是基于 Google 的 V8 Javascript 引擎构建,它是一个免费的开源跨平台 JavaScript 运行时,主要用于构建服务器端应用。它使用事件驱动和异步模型,帮助开发人员构建高度可扩展的数据密集型实时应用 (RTA)。你可以使用 NodeJS 来构建前端和后端应用。 + +Node.js 通常用于构建以下应用: + +- 聊天应用 +- 流媒体应用 +- 浏览器游戏 +- 命令行工具 +- 嵌入式系统 + +在其技术栈中使用 NodeJS 的顶级公司包括 PayPal、Netflix 和 Uber 等等。 + +安装 Node.JS 主要有以下三种方式: + +- 从 NodeSource 仓库安装 Node.JS +- 从发行版的官方仓库安装 Node.JS +- 使用 NVM 安装 Node.JS + +让我们看看如何使用这些方法在 RHEL 9 上安装 Node.JS。 + +##### 先决条件 + +- 最少化安装的 RHEL 9 系统 +- 具有管理员权限的 [Sudo 用户][2] +- 互联网连接 +- Red Hat 订阅或本地配置的仓库 + +### 从 NodeSource 存储库安装 Node.js + +[NodeSource][3] 是一家技术公司,旨在帮助组织运行生产就绪的 Node.Js 应用,更加关注资源使用以及增强的安全性和应用程序性能。它提供了最新版本的 Node.JS 和 NPM。 + +要从 Nodesource 安装 Node.JS,首先,如下所示更新系统包。 + +``` +$ sudo dnf update -y +``` + +接下来,安装在安装 Node.JS 期间所需的构建工具。其中包括 GCC c/c++ 编译器、Perl 和 Python 调试器等等。 + +``` +$ sudo dnf groupinstall 'Development Tools' -y +``` + +接下来,我们将从 Nodesource 安装 Node.JS 18.x。为此,请下载并运行 NodeSource 设置脚本,如下所示。 + +``` +$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - +``` + +该脚本在其他任务中将 Nodesource 仓库添加到您的系统。 + +在输出的末尾,你将看到一些关于如何安装 Node.JS 和 npm 的附加说明。 + +因此,要安装 Node.JS 和 npm(Node 包管理器),请运行以下命令: + +``` +$ sudo dnf install nodejs -y +``` + +安装完成后,如图所示验证 Node.JS 和 NPM 的版本。 + +``` +$ node -v +$ npm -v +``` + +输出显示我们正在运行 Node v18.12,它是最新的 LTS 版本和 NPM 8.19.2。 + +### 从官方 RHEL 仓库安装 Node.js + +安装 NodeJS 和 NPM 的另一种方法是从发行版的官方仓库中安装它们。但是,这种方法不提供最新版本。 + +如果你不介意不安装最新版本的 Node 和 NPM。 那么在命令行上运行以下命令。 + +``` +$ sudo dnf update -y +$ sudo dnf install nodejs npm -y +``` + +### 使用 NVM 安装 Node.js + +最后,你可以使用 NVM(Node 版本管理器)安装 Node.JS,这是一种用于管理系统上 Node 版本的工具。该工具可帮助开发人员在需要不同版本 Node.JS 的不同项目上高效工作。 + +默认情况下没安装 NVM。你需要通过运行[官方 GitHub 页面][4]上提供的 Shell 脚本来安装它。 + +``` +$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash +``` + +这会下载 nvm 并将其保存在主目录的 .nvm 目录中。 + +安装后,关闭终端会话并打开一个新终端。然后运行以下命令确认 NVM 已经安装。 + +``` +$ command -v nvm +``` + +接下来,你可以使用以下命令列出所有可用的 Node.JS 版本: + +``` +$ nvm ls-remote +``` + +或者,你可以列出 Node.JS 版本的所有最新 LTS 版本,如图所示。 + +``` +$ nvm ls-remote | grep -i latest +``` + +要安装最新版本的 Node.JS(当前为 v19.0.0),请运行以下命令: + +``` +$ nvm install node +``` + +然后,你可以验证安装的 Node 版本,如下所示。 + +``` +$ node -v +``` + +此外,你可以安装特定版本的 Node.JS。例如,要安装 v18.2.0,请运行以下命令: + + +``` +$ nvm install v18.12.0 +``` + +要列出系统上所有已安装的 NodeJS 版本,请运行以下命令: + +``` +$ nvm ls +``` + +第一行带有 (->) 符号的条目指向当前使用的 Node.JS 版本。然后是其他版本。 + +要切换到另一个版本的 Node.JS,请使用以下语法: + +``` +$ nvm use +``` + +例如,要使用 Node 版本 19.0.0,请运行以下命令: + +``` +$ nvm use 19.0.0 +``` + +再次检查已安装的 Node.JS 版本,这次(->)符号将指向 v19.0.0 + +##### 总结 + +在本指南中,我们演示了如何使用三种不同的方法安装 Node.js。 此外,我们还提供了几种使用 NVM 管理 Node 版本的方法。 我们希望你现在可以轻松地在 RHEL 上安装 NodeJS,并选择你想要在项目中使用的版本。 + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/ + +作者:[James Kiarie][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.linuxtechi.com/author/james/ +[b]: https://github.com/lkxed +[1]: https://nodejs.org/en/about/ +[2]: https://www.linuxtechi.com/create-sudo-user-on-rhel-rocky-linux-almalinux/ +[3]: https://nodesource.com/ +[4]: https://github.com/nvm-sh/nvm From 78080fbdbdfb2903a308c8d47bcb8453c05116b7 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 14 Nov 2022 08:47:51 +0800 Subject: [PATCH 415/925] translating --- ...0221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md index 5d010bc7e5..91b0cc8d7b 100644 --- a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md +++ b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/wget-not-found-error/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3cba4f319420b2c4b04e89e3dc5db3d12f574d16 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Mon, 14 Nov 2022 09:31:33 +0800 Subject: [PATCH 416/925] translating --- ... Diagnose connectivity issues with the Linux ping command.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md b/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md index 2af97315bf..0104beb081 100644 --- a/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md +++ b/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/21/10/linux-ping-command" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 617b2afc57fdabd0d17f1f4da0cab7d437c5a492 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 14 Nov 2022 09:56:28 +0800 Subject: [PATCH 417/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @MuggleWei https://linux.cn/article-15251-1.html 恭喜你,升级为二星贡献者~ --- ...nux Distros That are Built From Scratch.md | 174 +++++++++--------- 1 file changed, 85 insertions(+), 89 deletions(-) rename {translated/tech => published}/20221014 13 Independent Linux Distros That are Built From Scratch.md (58%) diff --git a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md b/published/20221014 13 Independent Linux Distros That are Built From Scratch.md similarity index 58% rename from translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md rename to published/20221014 13 Independent Linux Distros That are Built From Scratch.md index 1d2a5af3ec..37eee8a1c9 100644 --- a/translated/tech/20221014 13 Independent Linux Distros That are Built From Scratch.md +++ b/published/20221014 13 Independent Linux Distros That are Built From Scratch.md @@ -3,102 +3,100 @@ [#]: author: "sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" [#]: translator: "MuggleWei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15251-1.html" 13 个从头开始构建的独立 Linux 发行版 ====== + +![](https://img.linux.net.cn/data/attachment/album/202211/14/095522os6236zrzcgs79e9.jpg) + 时至今日,世界上已经有成百上千种不同的 Linux 发行版。 -它们中的大多数都可以被划归为三个大类 : Debian,Red Hat (Fedora) 以及 Arch Linux。 +它们中的大多数都可以被划归为三个大类 : Debian、Red Hat(Fedora)以及 Arch Linux。 -使用基于 Debian/Ubuntu ,Red Hat/SUSE 或者 Arch 的 Linux 发行版自然有它们的优势。它们很受大众欢迎,因此它们的包管理器能够提供大量的软件包。 +使用基于 Debian/Ubuntu、Red Hat/SUSE 或者 Arch 的 Linux 发行版自然有它们的优势。它们很受大众欢迎,因此它们的包管理器能够提供大量的软件包。 -然而,有一些用户更倾向于使用从头开始构建,独立于 DEB/RPM 这类包管理系统的发行版本。 +然而,有一些用户更倾向于使用从头开始构建、独立于 DEB/RPM 这类包管理系统之外的发行版。 在这篇文章当中,我们将列出一些优秀的独立 Linux 发行版。 -**注意 :** 显然,下面的列表显然不会包括一些广受欢迎,通常作为创建新的发现版基础的发行版,如 Debian,Ubuntu 和 Fedora 等。此外,列表顺序不分先后,没有特定的排名。 +> **注意 :** 显然,下面的列表显然不会包括一些广受欢迎,通常作为创建新发行版的基础的发行版,如 Debian、Ubuntu 和 Fedora 等。此外,列表顺序不分先后,没有特定的排名。 -### 1. NixOS +### 1、NixOS ![Image Credits: Distrowatch][1] NixOS 最初发布于 2003 年,NixOS 建立在 Nix 包管理器之上。它每年发布两个版本,通常是在 5 月和 11 月。 -NixOS 显然不是一个直接面向新用户或普通用户的发行版。然而,其独特的[包管理][2]方法吸引了各种用户。 +NixOS 可能不是一个直接面向新用户或普通用户的发行版。然而,其独特的 [包管理][2] 方法吸引了各种用户。 此外,它仍然支持 32 位系统。 -##### 其他特性 : +其他特性: * 构建隔离的包 * 可靠的升级,并且具有回滚功能 * 可重现的系统配置 -[NixOS][3] +> **[NixOS][3]** -**相关链接**: [面向专家用户的高级 Linux 发行版][4] - -### 2. Gentoo Linux +### 2、Gentoo Linux ![Image Credits: Distrowatch][5] -Geetoo Linux 是一个主要针对系统专家的独立 Linux 发行版。它是为那些希望自由定制、微调和优化操作系统以满足其要求的用户而构建。 +Geetoo Linux 是一个主要针对操作系统专家的独立 Linux 发行版。它是为那些希望自由定制、微调和优化操作系统以满足其要求的用户而构建。 -Gentoo 使用[Portage 包管理器][6]来创建和安装软件包,通常还允许你针对你的硬件来优化它们。 Chrome 的开源版本 **Chromium OS** 便是使用 Gentoo 作为其核心的。 +Gentoo 使用 [Portage 包管理器][6] 来创建和安装软件包,通常还允许你针对你的硬件来优化它们。Chrome 的开源版本 **Chromium OS** 便是使用 Gentoo 作为其核心的。 -不要忘记,Gentoo 是[仍然支持 32 位架构的发行版][7]之一。 +不要忘记,Gentoo 是 [仍然支持 32 位架构的发行版][7] 之一。 -##### 其他特性 : +其他特性: * 增量更新 * 基于源码的软件管理方法 -* 支持 GURU (Gentoo 用户仓库)的 Overlay 仓库的概念,允许用户添加 Gentoo 尚未提供的软件包 +* 支持 GURU(Gentoo 用户仓库)的层叠 Overlay 仓库的概念,允许用户添加 Gentoo 尚未提供的软件包 -[Gentoo Linux][8] +> **[Gentoo Linux][8]** -### 3. Void Linux +### 3、Void Linux ![Image Credits: Distrowatch][9] -Void Linux 是一个[滚动发布的发行版][10],使用 X Binary Package System(XBPS) 来安装和删除软件。它由前 NetBSD 开发者 **Juan Romero Pardines** 创建。 +Void Linux 是一个 [滚动发布的发行版][10],使用 X 二进制软件包系统(XBPS)来安装和删除软件。它由前 NetBSD 开发者 Juan Romero Pardines 创建。 它使用 runit 而不是 systemd 作为其初始化系统。此外,它还让你可以选择使用多个 [桌面环境][11]。 -##### 其他特性 : +其他特性: -* 最低的系统要求 +* 最小化的系统要求 * 官方库也提供非自由软件包 * 支持树莓派 * 集成 OpenBSD 的 LibreSSL * 支持 musl C 库 * 支持 32 位系统 -[Void Linux][12] +> **[Void Linux][12]** -**Related:** [Not a Systemd Fan? Here are 13+ Systemd-Free Linux Distributions][13] -**相关链接 :** [不是 Systemd 的粉丝 ? 这里有 13 个无 Systemd 的 Linux 发行版][13] - -### 4. Solus Linux +### 4、Solus Linux ![solus budgie 2022][14] -Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴奋的特性。Solus 的旗舰版本使用自己的 homegrown budgie 作为桌面环境。 +Solus 的前身是 EvolveOS,它从头开始构建并提供了一些令人兴奋的特性。Solus 的旗舰版本使用自己打造的 Budgie 作为桌面环境。 -与本篇文章介绍的其他系统相比,Solus 对于新手较为友好。它设法成为[最好的 Linux 发行版][15]之一。 +与本篇文章介绍的其他系统相比,Solus 对于新手较为友好。它设法成为 [最好的 Linux 发行版][15] 之一。 -它使用 eopkg 作为其包管理系统,支持版滚动发布模型。按照开发人员的说法,开发 Solus 的目标是个人电脑。 +它使用 eopkg 作为其包管理系统,支持版滚动发布模型。按照开发人员的说法,开发 Solus 的目标是用于个人电脑。 -##### 其他特性 : +其他特性: * 支持 Budgie、Gnome、MATE 和 KDE Plasma * 各种开箱即用的软件,从而减少设置工作 -[Solus Linux][16] +> **[Solus Linux][16]** -### 5. Mageia +### 5、Mageia ![Image Credits: Distrowatch][17] @@ -106,161 +104,159 @@ Mageia 始于 2010 年,它是 Mandriva Linux 的一个分支。它的目标是 Mageia 是一个社区驱动的项目,由非营利组织和贡献者支持。每年会发布一个大版本。 -##### 其他特性 : +其他特性: * 支持 32 位系统 -* 支持 KDE Plasma,Gnome 和 XFCE +* 支持 KDE Plasma、Gnome 和 XFCE * 最低的系统要求 -[Mageia][18] +> **[Mageia][18]** -**相关链接 :** **[仍然支持 32 位系统的 Linux 发行版][19]** - -### 6. Clear Linux +### 6、Clear Linux ![Image Credits: Distrowatch][20] -Clear Linux 是一个由 Intel 发布的发行版,主要设计考虑是性能和云服务的使用。 +Clear Linux 是一个由英特尔发布的发行版,主要设计考虑是性能和云服务的使用。 有趣的是,Clear Linux 升级时是作为一个整体而非去升级单个的软件包。所以,即使你不小心弄乱了系统设置,它也可以正确的启动,执行恢复出厂设置,并让用户重新设置。 它不太适合个人用户使用。但可以作为一个独特的选择而尝试一下。 -##### 其他特性 : +其他特性: -* 针对 Intel 平台的高度调优 +* 针对英特尔平台的高度调优 * 用户和系统文件之间严格分离 * 持续的漏洞扫描 -[Clear Linux OS][21] +> **[Clear Linux OS][21]** -### 7. PCLinuxOS +### 7、PCLinuxOS ![Image Credits: Distrowatch][22] -PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT-RPM 包管理。你可以使用 KDE Plasma,Mate 以及 XFCE 桌面,它同时还提供了更多特性的社区版本的桌面。 +PCLinuxOS 是一个 x86_64 的 Linux 发行版,使用 APT/RPM 包管理。你可以使用 KDE Plasma、Mate 以及 XFCE 桌面,它同时还提供了更多特性的社区版本的桌面。 -本地安装的 PCLinuxOS 利用了 APT 包管理系统要感谢 [Synaptic 包管理器][23]。你可以从它的仓库中找到 rpm 包。 +得益于 [Synaptic 包管理器][23],本地安装的 PCLinuxOS 采用了 APT 包管理系统。但你也可以从它的仓库中找到 RPM 包。 -##### 其他特性 : +其他特性: -* mylivecd 脚本允许用户去生成一个当前已安装的硬件驱动的'快照'(所有的配置,应用,文档等)并且将它压缩为 ISO CD/DVD/USB 映像 -* 附加支持超过 85 种语言 +* mylivecd 脚本允许用户去生成一个当前已安装的硬件驱动的“快照”(所有的配置、应用、文档等)并且将它压缩为 ISO CD/DVD/USB 镜像 +* 额外支持超过 85 种语言 -[PCLinuxOS][24] +> **[PCLinuxOS][24]** -### 8. 4MLinux +### 8、4MLinux ![4m linux 2022][25] -[4MLinux][26] 是一个通用的 Linux 发行版,重点聚焦于下面四个 **“ M ”** +[4MLinux][26] 是一个通用的 Linux 发行版,重点聚焦于下面四个 **“M”** -* Maintenance (系统救援 Live CD) -* Multimedia (支持大量的图形,音频和视频格式) -* Miniserver (支持 DNS,FTP,HTTP,MySQL,NFS,Proxy,SMTP,SSH,and Telnet) -* Mystery (包含了经典 Linux 游戏的集合) +* 维护Maintenance(系统救援 Live CD) +* 多媒体Multimedia(支持大量的图形、音频和视频格式) +* 微服务器Miniserver(支持 DNS、FTP、HTTP、MySQL、NFS、Proxy、SMTP、SSH 和 Telnet) +* 神秘Mystery(包含了经典 Linux 游戏的集合) 它具有最低的系统要求,可作为桌面和服务器版本使用. -##### 其他特性 +其他特性: -* 支持大量的图形,音频和视频格式 +* 支持大量的图形、音频和视频格式 * 是小型并且通用的 Linux 发行版 -[4MLinux][27] +> **[4MLinux][27]** -### 9. Tiny Core Linux +### 9、Tiny Core Linux ![Image Credits: Distrowatch][28] -Tiny Core Linux 专注于使用 BusyBox 和 FLTK 提供一个基础的系统。它不是一个复杂的桌面。所有,并不能保证它可以运行于任何系统。 +Tiny Core Linux 专注于使用 BusyBox 和 FLTK 提供一个基础的系统。它不是一个完备的桌面,所以,并不能保证它可以运行于任何系统。 -它代表了启动到非常小的 X 桌面所需的核心功能,通常带有有线互联网访问权限。 +它只是一个启动到非常精简的 X 桌面所需的核心,通常带有有线互联网访问权限。 用户可以很好的控制一切,但对于新 Linux 用户来说,它并不是一个轻松的开箱即用的系统。 -##### 其他特性 +其他特性: * 旨在从启动时创建的内存副本中运行 -* 默认情况下,其操作就像像云 / 互联网客户端一样 +* 默认情况下,其操作就像像云端 / 互联网客户端一样 * 用户可以使用 appbrowser 来游览库以及下载应用 -[Tiny Core Linux][29] +> **[Tiny Core Linux][29]** -### 10. Linux From Scratch +### 10、Linux From Scratch(LFS) ![Image Credit: Reddit][30] [Reddit][31] -Linux From Scratch 并不是一个系统,而是通过手动构建所有组件来安装 Linux 的一种方法。一旦完成,它提供了一个紧凑、灵活和安全的系统,并且可以很好的理解一个基于 Linux 的操作系统内部是如何工作的。 +Linux From Scratch(LFS)并不是一个系统,而是通过手动构建所有组件来安装 Linux 的一种方法。一旦完成,它提供了一个紧凑、灵活和安全的系统,并且可以很好的理解一个基于 Linux 的操作系统内部是如何工作的。 -如果你希望去深入理解 Linux 是如何工作的并且探寻其具体细节,那么 Linux From Scratch 是你一定要去尝试,不能错过的一个项目。 +如果你希望去深入理解 Linux 是如何工作的并且探寻其具体细节,那么 Linux From Scratch(LFS) 是你一定要去尝试,不能错过的一个项目。 -##### 其他特性 +其他特性 * 完全从头开始,定制化的构建 Linux 系统 * 极度的灵活性 * 由于从源码开始编译,提供了额外的安全性 -[Linux From Scratch][32] +> **[Linux From Scratch][32]** -### 11. Slackware +### 11、Slackware ![Image Credits: Distrowatch][33] -Slackware 是现今还在维护的最老的发行版。最初创建于 1993 年,以 Softlanding Linux 系统为基础,随后,许多的 Linux 发行版都是基于 Slackware。 +Slackware 是现今还在维护的最古老的发行版。最初创建于 1993 年,以 Softlanding Linux 系统为基础,随后,许多的 Linux 发行版都是基于 Slackware。 Slackware 目标是称为最类似于 UNIX 的 Linux 发行版,同时保持简单和稳定。 -##### 其他特性 +其他特性: * 支持 32 位和 64 位系统 * 大量的在线文档 * 从奔腾处理器到最新的机器,它都可以运行 -[Slackware][34] +> **[Slackware][34]** -### 12. Alpine Linux +### 12、Alpine Linux ![alpine linux xfce 2022][35] Alpine Linux 是一个社区开发的操作系统,专为路由器、防火墙、VPN、VoIP 盒子和服务器而设计。它是 LEAF 项目的一个分支。 -Alpine Linux 使用 apk-tools 包管理器,最初由 shell 脚本编写,而后使用 c 语言重构。它是最小的 Linux 发行版之一,仍然支持 32 位系统,并且是一个可以完全从电脑 RAM 运行的操作系统。 +Alpine Linux 使用 apk-tools 包管理器,最初由 shell 脚本编写,而后使用 c 语言重构。它是最小的 Linux 发行版之一,仍然支持 32 位系统,并且是一个可以完全从电脑内存运行的操作系统。 -##### 其他特性 : +其他特性: -* 提供大小仅为 5MB 的最小容器映像 -* 对于主库,提供 2 年的支持 ; 对于社区库,在下一个稳定版本发布前提供支持 +* 提供大小仅为 5MB 的最小容器镜像 +* 对于主库,提供 2 年的支持;对于社区库,在下一个稳定版本发布前提供支持 * 使用 musl libc 制作,Busybox 使用资源效率高的容器 -[Alpine Linux][36] +> **[Alpine Linux][36]** -### 13. KaOS +### 13、KaOS ![Image Credits: Distrowatch][37] -KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它使用[pacman 包管理器][38]。它是按照"*一个桌面环境(KDE Plasma),一个工具包(QT),一个架构(X86_64)*"的理念构建的。 +KaOS 是一个受到 Arch 启发,从头开始构建的 Linux 发行版。它使用 [pacman 包管理器][38]。它是按照"*一个桌面环境(KDE Plasma),一个工具包(Qt),一个架构(X86_64)*"的理念构建的。 它的软件库比较有限,但依然为普通用户提供了许多工具。 -##### 其他特性 : +其他特性: * 最新的 Plasma 桌面 * 紧密集成的滚动和透明的现代桌面发行版 -[KaOS][39] +> **[KaOS][39]** #### 总结 如果你需要一些独特的体验,那么这些独立 Linux 发行版应该能很好的满足你。 -然而,如果你想要用其来替换如 Ubuntu 这样主流的 Linux 发行版作为你的桌面系统...你也许需要三思而后行,上面大多数的发行版(并不代表所有)都不是一个日常使用的桌面系统的理想的选项。 +然而,如果你想要用其来替换如 Ubuntu 这样主流的 Linux 发行版作为你的桌面系统……你也许需要三思而后行,上面大多数的发行版(并不代表所有)都不是一个日常使用的桌面系统的理想的选项。 但是话又说回来,如果你对 Linux 发行版充满了经验,那么毫无疑问,你会享受这项冒险的任务的。 -*如果你想尝试这些独立发行版的其中一种,哪一个会是你的优先选择呢 ? 请在评论中与我们分享.* +*如果你想尝试这些独立发行版的其中一种,哪一个会是你的优先选择呢 ? 请在评论中与我们分享。* -------------------------------------------------------------------------------- @@ -269,7 +265,7 @@ via: https://itsfoss.com/independent-linux-distros/ 作者:[sreenath][a] 选题:[lkxed][b] 译者:[MuggleWei](https://github.com/MuggleWei) -校对:[校对者 ID](https://github.com/ 校对者 ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 From 59ea973b968f69e18f1497fcf2d94aeb5c0e2d00 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 14 Nov 2022 23:28:11 +0800 Subject: [PATCH 418/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 这几篇不够严谨。请参照我的校对。 翻译不但需要达意,而且需要尽量不丢失原文要素。望加油。 --- ... or Upgrade Ubuntu Offline without Internet.md | 68 +++++++++---------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md index e5449214d1..0a6abedf30 100644 --- a/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md +++ b/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md @@ -3,99 +3,97 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "littlebirdnest" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -如何在没有网络的情况下,离线更新或升级 Ubuntu +如何在没有互联网连接的情况下离线更新 Ubuntu ====== -**此教程关于如何一步一步在没有网络的情况下,升级ubuntu** +> 本指南介绍了如何在没有互联网连接的情况下离线更新 Ubuntu 的步骤。 -在有些情况下,你可能需要离线更新ubuntu,又或者你可能在远程状态下需要更新一堆未联网的ubuntu,总的来说你想要升级最新的系统 +在很多情况下,你可能需要在没有互联网连接的情况下更新你的 Ubuntu 系统。你可能在外地不方便上网,也可能你需要更新一堆未联网的 Ubuntu,不管是哪种情况,保持你的系统更新最新的软件包总是需要的。 -当然,始终建议通过联网升级系统。 +当然,始终建议通过联网来更新系统。 -但有时,离线更新系统,有助于网络安全,远离黑客和恶意软件 +但有时,出于安全考虑,这是不行的。连接到互联网可能需要给你的系统进行额外的加固,以保护它们免受黑客和恶意软件的攻击。 + +以下的方法使用 [apt-offline][1] 来解决这些问题,并概述了在没有互联网的情况下离线更新 Ubuntu 的步骤。 -以下的方法使用[apt-offline][1]来解决这些问题,离线更新ubuntu ### 准备环节 -- 一台能连接到网络的ubuntu(你朋友的,咖啡馆,实验室系统) -- 装了安装包的u盘 -- 两个系统都安装了 apt-offline.一个系统离线,另一个系统联网 +- 一台能连接到网络的 Ubuntu(你朋友的、咖啡馆、实验室系统) +- 存储了软件包的 U 盘 +- 两个系统都安装了 `apt-offline`:一个系统离线,另一个系统联网 ### 安装 apt-offline -在两个系统下安装apt-offline - -你可以使用以下命令安装 apt-offline。 +在两个系统下安装 `apt-offline`。你可以使用以下命令安装: ``` sudo apt install apt-offline ``` -如果你想装离线安装 apt-offline ,你可以提前下载到u盘里,然后拷出来,再使用下面的命令 +如果你想在离线的目标系统安装 `apt-offline`,你可以提前下载到 U 盘里,然后复制到目标系统,再使用下面的命令安装。 -Ubuntu 22.04 LTS 和其他版本的下载链接如下所示。您可以选择一个镜像并下载 deb 文件。 +Ubuntu 22.04 LTS 和其他版本的下载链接如下所示。你可以选择一个镜像并下载 deb 文件。 -[下载 .deb 文件 – apt-offline][2] +> **[下载 .deb 文件 – apt-offline][2]** ``` sudo dpkg -i name_of_package.deb ``` -### 如何更新ubuntu +### 如何更新 Ubuntu -离线打开终端,且使用以下命令创建一个.sig签名文件 +在离线的目标系统上打开终端,使用以下命令创建一个 .sig 签名文件: ``` sudo apt-offline set ~/offline-data.sig ``` -[![Create the sig file][3]][4] +![创建签名文件][4] -这个刚创建的签名文件中,包含下载所需的包路径和详细信息。 +在这个刚创建的签名文件中,包含下载所需的软件包的路径和详细信息。 -[![sig file contents][5]][6] +![签名文件的内容][6] -把签名文件,拷到u盘中,再插到有网的ubuntu +把签名文件复制到 U 盘中,再插到联网的 Ubuntu 系统上。 -创建有一个目录去装这些文件 +在联网的 Ubuntu 上创建一个目录(参见下面)来存放这些文件。 -打开一个终端,运行以下命令,记得根据你的系统,更改下载目录和.sig签名文件的路径 +打开一个终端,运行以下命令来下载所需的软件包。记得根据你的系统,更改下载目录和 .sig 签名文件的路径。 ``` apt-offline get -d ~/offline-data-dir offline-data.sig ``` -[![Download the packages to install offline][7]][8] +![下载软件包以离线安装][8] -更新离线的Ubuntu +你可以看到文件相应下载,然后复制整个下载目录到 U 盘,再插到离线的 Ubuntu 系统。 -文件下载完,拷贝整个目录,再插到没联网的ubuntu - -然后运行以下命令将下载的包装到离线系统,记得根据你的系统更改目录路径 +运行以下命令将下载的软件包安装到离线系统,记得根据你的系统更改目录路径。 ``` sudo apt-offline install offline-data-dir/ ``` -[![Installing packages - offline update ubuntu][9]][10] +![安装软件包][10] -如果一切顺利,你将获得一个更新完的ubuntu +如果一切顺利,你将获得一个更新完的 Ubuntu。 -重复食用以上步骤,就可以保持你的离线ubuntu是最新版 +重复以上步骤,就可以保持你的离线 Ubuntu 为最新版本。 + +希望以上教程能帮到你更新离线的 Ubuntu 系统,如果你遇到任何问题,请在下面的评论框中告诉我。 -希望以上教程能帮到你更新离线的ubnuntu系统,如果您遇到任何问题,请在下面的评论框中告诉我。 -------------------------------------------------------------------------------- via: https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 764ea0d6cab78224c936845b220d140a9860e820 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 14 Nov 2022 23:30:34 +0800 Subject: [PATCH 419/925] P @littlebirdnest https://linux.cn/article-15253-1.html --- ... How to Update or Upgrade Ubuntu Offline without Internet.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md (96%) diff --git a/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/published/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md similarity index 96% rename from translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md rename to published/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md index 0a6abedf30..8e7e78fd04 100644 --- a/translated/tech/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md +++ b/published/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md @@ -4,12 +4,14 @@ [#]: collector: "lkxed" [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15253-1.html" 如何在没有互联网连接的情况下离线更新 Ubuntu ====== +![](https://img.linux.net.cn/data/attachment/album/202211/14/232951blxmbe6wn5eympxq.jpg) + > 本指南介绍了如何在没有互联网连接的情况下离线更新 Ubuntu 的步骤。 在很多情况下,你可能需要在没有互联网连接的情况下更新你的 Ubuntu 系统。你可能在外地不方便上网,也可能你需要更新一堆未联网的 Ubuntu,不管是哪种情况,保持你的系统更新最新的软件包总是需要的。 From 29a723cb4b3be1c60bda2b3914452287706dd0c7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 15 Nov 2022 00:13:41 +0800 Subject: [PATCH 420/925] RP @lxbwolf https://linux.cn/article-15254-1.html --- ...o domain names sometimes end with a dot.md | 231 ++++++++++++++++ ...o domain names sometimes end with a dot.md | 256 ------------------ 2 files changed, 231 insertions(+), 256 deletions(-) create mode 100644 published/20220912 Why do domain names sometimes end with a dot.md delete mode 100644 translated/tech/20220912 Why do domain names sometimes end with a dot.md diff --git a/published/20220912 Why do domain names sometimes end with a dot.md b/published/20220912 Why do domain names sometimes end with a dot.md new file mode 100644 index 0000000000..f8ed0a81d4 --- /dev/null +++ b/published/20220912 Why do domain names sometimes end with a dot.md @@ -0,0 +1,231 @@ +[#]: subject: "Why do domain names sometimes end with a dot?" +[#]: via: "https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/" +[#]: author: "Julia Evans https://jvns.ca/" +[#]: collector: "lujun9972" +[#]: translator: "lxbwolf" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15254-1.html" + +为什么有时候域名的末尾有个点? +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/15/001222ytut3qvtau32f2p2.jpg) + +大家好!今年早些时候,我在写《[DNS 是如何工作的][1]》 时,有人问我——为什么人们有时在域名的末尾加一个点?例如,如果你通过运行 `dig example.com` 查询 `example.com` 的 IP,你会看到一下内容: + +``` +$ dig example.com +example.com. 5678 IN A 93.184.216.34 +``` + +执行完 `dig` 命令后,`example.com` 有一个 `.` ——变成了 `example.com.`!发生了什么? + +有些 DNS 工具也要求传给它的域名后加一个 `.`:如果你在使用 [miekg/dns][2] 时传给它 `example.com`,它会报错: + +``` +// trying to send this message will return an error +m := new(dns.Msg) +m.SetQuestion("example.com", dns.TypeA) +``` + +最初我以为我知道这个问题的答案(“呃,末尾的点意味着域名是完全限定的?”)。这是对的 —— 一个完全限定域名fully qualified domain name(FQDN)是一个末尾有 `.` 的域名! + +但是*为什么*末尾的点是有用且重要的呢? + +### 在 DNS 的请求/响应中,域名的末尾并没有 “.” + +我曾经(错误地)认为 “为什么末尾有一个点?”的答案可能是 “在 DNS 请求/响应中,域名末尾有一个 `.`,所以我们把它放进去,以匹配你的计算机实际发送/接收的内容”。但事实并不是这样! + +当计算机发送 DNS 请求/响应时,域名的末尾并没有点。实际上,域名中*没有*点。 + +域名会被编码成一系列的长度/字符串对。例如,域名 `example.com` 被编码为这 13 个字节。 + +``` +7example3com0 +``` + +编码后的内容一个点也没有。一个 ASCII 域名(如 `example.com`)被转成了各种 DNS 软件的 DNS 请求/响应中使用的格式。 + +今天我们来讨论域名被转成 DNS 响应的一个地方:区域文件。 + +### 区域文件中域名末尾的 “.” + +一些人管理域名的 DNS 记录的方法是创建一个被称为 “区域文件” 的文本文件,然后配置一些 DNS 服务器软件(如 `nsd` 或 `bind`)来为该区域文件中指定的 DNS 记录提供服务。 + +下面是一个对应 `example.com` 的示例区域文件: + +``` +orange 300 IN A 1.2.3.4 +fruit 300 IN CNAME orange +grape 3000 IN CNAME example.com. +``` + +在这个文件中,任何不以 `.` 结尾的域名(比如 `orange`)后都会自动加上 `.example.com`。所以 `orange` 成了 `orange.example.com` 的简称。DNS 服务器从它的配置中得知这是一个 `example.com` 的区域文件,所以它知道在所有不以点结尾的名字后面自动添加 `example.com`。 + +我想这里的想法只是为了少打几个字符——如果要打出全称,区域文件会是这样: + +``` + + orange.example.com. 300 IN A 1.2.3.4 + fruit.example.com. 300 IN CNAME orange.example.com. + grape.example.com. 3000 IN CNAME example.com. + +``` + +确实多了很多字符。 + +### 你也可以不通过区域文件来使用 DNS + +尽管官方的 DNS RFC([RFC 1035][3])中定义了区域文件格式,但你也可以不通过区域文件来使用 DNS。例如,AWS Route 53 就不用区域文件来存储 DNS 记录!你可以通过 Web 界面或 API 来创建记录,我猜他们是用某种数据库而不是一堆文本文件来存储记录。 + +不过,Route 53(像许多其他 DNS 工具一样)确实支持导入和导出区域文件,这个功能或许在你更换 DNS 提供商时很有用。 + +### dig 命令输出中末尾的 “.” + +现在我们来讨论下 `dig` 命令的输出: + +``` +$ dig example.com +; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> +all example.com +;; global options: +cmd +;; Got answer: +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10712 +;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 + +;; OPT PSEUDOSECTION: +; EDNS: version: 0, flags:; udp: 65494 +;; QUESTION SECTION: +;example.com. IN A + +;; ANSWER SECTION: +example.com. 81239 IN A 93.184.216.34 +``` + +有一件奇怪的事是,几乎每一行都以 `;;` 开头,这是怎么回事?`;` 是区域文件中的注释字符! + +我想 `dig` 以这种奇怪的方式输出的原因可能是为了方便你粘贴这些内容到区域文件时,不用修改就可以直接用。 + +这也是 `example.com` 末尾有个 `.` 的原因 —— 区域文件要求域名末尾必须有点(否则它们会被解释为是相对于该区域的)。因此 `dig` 也这么处理了。 + +我真的希望 dig 有一个 `+human` 选项,以更人性化的方式打印出这些信息,但现在我太懒了,懒得花工夫去实际贡献代码来做这件事(而且我并不擅长 C),所以我只能在我的博客上抱怨一下 :) + +### curl 命令输出中末尾的 “.” + +我们来看下另一个末尾有 `.` 的例子:`curl`! + +我家里有台计算机名为 `grapefruit`,其上运行着 Web 服务器。当我执行 `curl grapefruit` 时,会输出: + +``` +$ curl grapefruit + + + + +...... +``` + +这样运行没问题!但是如果我在域名后加一个 `.` 会怎样呢?它报错了: + +``` +$ curl grapefruit. +curl: (6) Could not resolve host: grapefruit. +``` + +发生了什么?为了搞清楚,我们需要先来学习下搜索域: + +### 初识搜索域 + +当我执行 `curl grapefrult` 时,它是怎么被转成一个 DNS 请求的?你可能会认为我的计算机会向域名 `grapefruit` 发送一个请求,对吗?但事实并不是这样。 + +让我们用 `tcpdump` 来看看到底是什么域名在被查询。 + +``` +$ sudo tcpdump -i any port 53 +[...] A? grapefruit.lan. (32) +``` + +实际上是向 `grapefruit.lan.` 发送的请求。为什么呢? + +解释一下: + + 1. `curl` 调用函数 `getaddrinfo` 来查询 `grapefruit` + 2. `getaddrinfo` 查询了我计算机上的文件 `/etc/resolv.conf` + 3. `/etc/resolv.conf` 包含两行内容: + ``` + nameserver 127.0.0.53 + search lan + ``` + 4. 因为有 `search lan` 这行内容,所以 `getaddrinfo` 在 `grapefruit` 的末尾添加了一个 `lan`,去查询 `grapefruit.lan` + +### 什么时候搜索域被使用? + +现在我们知道了一些奇怪的事情:当我们查询一个域名时,有时会有一个额外的东西(如 `lan`)被加到最后。但是什么时候会发生这种情况呢? + + 1. 如果我们在域名**末尾**添加一个 `.`,那么这时不会用到搜索域 + 2. 如果域名**中间包含**一个 `.`(如 `example.com`),那么默认也不会用到搜索域。但是可以通过修改配置来改变处理逻辑(在 [ndots][4] 里有更详细的说明) + +我们现在知道了 `curl grapefruit.` 与 `curl grapefruit` 结果不一样的原因——因为一个查询的是 `grapefruit.`,而另一个查询的是 `grapefruit.lan.`。 + +### 我的计算机怎么知道使用哪个搜索域呢? + +当我连接路由时,它会通过 DHCP 告诉我它的搜索域是 `lan` —— 它也是通过这个方式给我的计算机分配 IP。 + +### 所以为什么要在域名末尾加一个点呢? + +现在我们已经了解了区域文件和搜索域,下面是我认为的人们要在域名末尾加点的原因: + +有两种情况下,域名会被修改,并在末尾添加其他东西。 + + * 在 `example.com` 的区域文件中,`grapefruit` 会被转为 `grapefruit.example.com` + * 在我的本地网络(我的计算机已经配置了使用搜索域 `lan`),`grapefruit` 被转为 `grapefruit.lan` + +因此,由于域名在某些情况下实际上可能被转成其他名字,人们就在结尾处加一个 `.`,以此来表示 “**这是域名,末尾不需要添加任何东西,这就是全部内容**”。否则会引起混乱。 + +“这就是全部内容”的技术术语是**“完全限定域名”**,简称为**“FQDN”**。所以 `google.com.` 是一个完全限定域名,而 `google.com` 不是。 + +我总是要提醒自己这样做的原因,因为我很少使用区域文件和搜索域,所以我经常觉得——“我当然是指 `google.com` 而不是 `google.com.something.else`! 我为什么要指其他东西?那太傻了!” + +但是有些人确实在使用区域文件和搜索域(例如 Kubernetes 中使用了搜索域!),所以结尾的 `.` 很有用,可以让人确切的知道,不应该再添加其他东西。 + +### 什么时候在末尾添加 “.”? + +以下是关于何时在域名末尾加 ". " 的几个简单说明: + +**需要添加:配置 DNS 时** + +在配置 DNS 时,使用完全限定域名从来都不是坏事。你不一定要这样做:非完全限定域名通常也能正常工作,但我从来没有遇到过不接受完全限定域名的 DNS 软件。 + +有些 DNS 软件需要这样做:现在我为 `jvns.ca` 使用的 DNS 服务器让我在域名的末尾加上 `.`(例如在 CNAME 记录中),并提示如果我不添加,它将在我输入的内容末尾加上 `.jvns.ca`。我不同意这个设计决定,但这不是什么大问题,我只是在最后加一个 `.`。 + +**不需要加:在浏览器中** + +令人困惑的是,在浏览器中,在域名结尾处加一个 `.` *不能*正常运行。例如,如果我在浏览器中输入 `https://twitter.com.`,它就会报错。它会返回 404。 + +我认为这里发生的事情是,它将 HTTP `Host` 标头设置为 `Host:twitter.com.`,而对端的 Web 服务器则期望 `Host:twitter.com`。 + +同样地,`https://jvns.ca.` 由于某种原因,返回了一个 SSL 错误。 + +### 我认为相对域名在过去是比较常见的 + +最后一件事:我认为“相对”域名(比如我用 `grapefruit` 来指代我家的另一台计算机 `grapefruit.lan`)在过去更常用,因为 DNS 是在大学或其他有大型内部网络的大机构中开发的。 + +在今天的互联网上,使用“绝对”域名(如 `example.com`)似乎更为普遍。 + +-------------------------------------------------------------------------------- + +via: https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/ + +作者:[Julia Evans][a] +选题:[lujun9972][b] +译者:[lxbwolf](https://github.com/lxbwolf) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://jvns.ca/ +[b]: https://github.com/lujun9972 +[1]: https://wizardzines.com/zines/dns/ +[2]: https://github.com/miekg/dns +[3]: https://www.rfc-editor.org/rfc/rfc1035#section-4.1.1 +[4]: https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html diff --git a/translated/tech/20220912 Why do domain names sometimes end with a dot.md b/translated/tech/20220912 Why do domain names sometimes end with a dot.md deleted file mode 100644 index fb582dfb7a..0000000000 --- a/translated/tech/20220912 Why do domain names sometimes end with a dot.md +++ /dev/null @@ -1,256 +0,0 @@ -[#]: subject: "Why do domain names sometimes end with a dot?" -[#]: via: "https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/" -[#]: author: "Julia Evans https://jvns.ca/" -[#]: collector: "lujun9972" -[#]: translator: "lxbwolf" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -为什么有时候域名的末尾有个点? -====== - -大家好!今年早些时候,我在写杂志 [DNS 是如何工作的][1] 时,有人问我——为什么人们有时在域名的末尾加一个点?例如,如果你通过运行 `dig example.com` 查询 `example.com` 的 IP,你会看到一下内容: - -``` - - $ dig example.com - example.com. 5678 IN A 93.184.216.34 - -``` - -执行完 `dig` 命令后,`example.com` 有一个 `.`——变成了 `example.com.`!发生了什么? - -有些 DNS 工具也要求传给它的域名后加一个 `.`:如果你在使用 [miekg/dns][2] 时传给它 `example.com`,它会报错: - -``` - - // trying to send this message will return an error - m := new(dns.Msg) - m.SetQuestion("example.com", dns.TypeA) - -``` - -最初我以为我知道这个问题的答案("呃,末尾的点意味着域名是完全合格的?")。这是对的——一个完全合格的域名是一个末尾有 `“.”` 的域名! - -但是*为什么*末尾的点是有用且重要的呢? - -### 在 DNS 的请求/响应中,域名的末尾并没有 “.” - -我曾经(错误地)认为 "为什么末尾有一个点?"的答案可能是 "在 DNS 请求/响应中,域名末尾有一个".",所以我们把它放进去,以匹配你的计算机实际发送/接收的内容"。但事实并不是这样! - -当计算机发送 DNS 请求/响应时,域名的末尾并没有点。实际上,域名中*没有一个*点。 - -域名会被编码成一系列的长度/字符串对。例如,域名 `example.com` 被编码为这13个字节。 - -``` - - 7example3com0 - -``` - -编码后的内容一个点也没有。一个 ASCII 域名(如 "example.com")被转成了各种 DNS 软件的 DNS 请求/响应中使用的格式。 - -今天我们来讨论域名被转成 DNS 响应的一个地方:zone 文件。 - -### zone文件中域名末尾的 “.” - -一些人管理域名的 DNS 记录的方法是创建一个被称为 "zone 文件"的文本文件,然后配置一些 DNS 服务器软件(如 `nsd` 或 `bind`)来为该 zone 文件中指定的 DNS 记录提供服务。 - -下面是一个对应 `example.com` 的示例 zone 文件: - -``` - - orange 300 IN A 1.2.3.4 - fruit 300 IN CNAME orange - grape 3000 IN CNAME example.com. - -``` - -在这个文件中,任何不以 `"."` 结尾的域名(比如 `"orange"`)后都会自动加上 `.example.com`。所以 `"orange"` 成了 `"orange.example.com"` 的简称。DNS 服务器从它的配置中得知这是一个 `example.com` 的 zone 文件,所以它知道在所有不以点结尾的名字后面自动添加 `example.com`。 - -我想这里的想法只是为了少打几个字符——如果要打出全称,zone 文件会是这样: - -``` - - orange.example.com. 300 IN A 1.2.3.4 - fruit.example.com. 300 IN CNAME orange.example.com. - grape.example.com. 3000 IN CNAME example.com. - -``` - -确实多了很多字符。 - -### 你也可以不通过 zone 文件来使用 DNS - -尽管官方的 DNS RFC([RFC 1035][3])中定义了 zone 文件格式,但你也可以不通过 zone 文件来使用 DNS。例如,AWS Route 53 就不用 zone 文件来存储 DNS 记录!你可以通过 Web 界面或 API 来创建记录,我猜他们是用某种数据库而不是一堆文本文件来存储记录。 - -不过,Route 53(像许多其他 DNS 工具一样)确实支持导入和导出 zone 文件,这个功能或许在你更换 DNS 提供商时很有用。 - -### `dig` 命令输出中末尾的 “.” - -现在我们来讨论下 `dig` 命令的输出: - -``` - - $ dig example.com - ; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> +all example.com - ;; global options: +cmd - ;; Got answer: - ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10712 - ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 - - ;; OPT PSEUDOSECTION: - ; EDNS: version: 0, flags:; udp: 65494 - ;; QUESTION SECTION: - ;example.com. IN A - - ;; ANSWER SECTION: - example.com. 81239 IN A 93.184.216.34 - -``` - -有一件奇怪的事是,几乎每一行都以 `;;` 开头,这是怎么回事?`;` 是 zone 文件中的注释字符! - -我想 `dig` 以这种奇怪的方式输出的原因可能是为了方便你粘贴这些内容到 zone 文件时不用修改就可以直接用。 - -这也是 `example.com` 末尾有个 `.` 的原因 ——zone 文件要求域名末尾必须有点(否则它们会被解释为是相对于该区域的)。因此 `dig` 也这么处理了。 - -我真的希望 dig 有一个 `+human` 选项,以更人性化的方式打印出这些信息,但现在我太懒了,懒得花工夫去实际贡献代码来做这件事(而且我并不擅长 C),所以我只能在我的博客上抱怨一下 :) - -### curl 命令输出中末尾的 “.” - -我们来看下另一个末尾有 `.` 的例子:curl! - -我家里有台计算机名为 “grapefruit”,其上运行着 webserver。当我执行 `curl grapefruit` 时,会输出: - -``` - - $ curl grapefruit - - - - - -``` - -这样运行没问题!但是如果我在域名后加一个 `.` 会怎样呢?它报错了: - -``` - - $ curl grapefruit. - curl: (6) Could not resolve host: grapefruit. - -``` - -发生了什么?为了搞清楚,我们需要先来学习下搜索域: - -### 初识搜索域 - -当我执行 `curl grapefrult` 时,它是怎么被转成一个 DNS 请求的?你可能会认为我的计算机会向域名 `grapefruit` 发送一个请求,对吗?但事实并不是这样。 - -让我们用 `tcpdump` 来看看到底是什么域名在被查询。 - -``` - - $ sudo tcpdump -i any port 53 - [...] A? grapefruit.lan. (32) - -``` - -实际上是向 `grapefruit.lan.` 发送的请求。为什么呢? - -解释一下: - - 1. `curl` 调用函数 `getaddrinfo` 来查询 `grapefruit` - - 2. `getaddrinfo` 查询了我计算机上的文件 `/etc/resolv.conf` - - 3. `/etc/resolv.conf` 包含两行内容: - -``` - nameserver 127.0.0.53 - search lan - -``` - - 4. 因为有 `search lan` 这行内容,所以 `getaddrinfo` 在 `grapefruit` 的末尾添加了一个 `lan`,去查询 `grapefruit.lan` - - - - -### 什么时候搜索域被使用? - -现在我们知道了一些奇怪的事情:当我们查询一个域名时,有时会有一个额外的东西(如`lan`)被加到最后。但是什么时候会发生这种情况呢? - - 1. 如果我们在域名**末尾**添加一个 `.`,那么这时不会用到搜索域 - 2. 如果域名**中间包含**一个 `.`(如 `example),那么默认也不会用到搜索域。但是可以通过修改配置来改变处理逻辑(在 [ndots][4] 里有更详细的说明) - - - -我们现在知道了 `curl grapefruit.` 与 `curl grapefruit` 结果不一样的原因——因为一个查询的是 `grapefruit.`,而另一个查询的是 `grapefruit.lan.`。 - -### 我的计算机怎么知道使用哪个搜索域呢? - -当我连接路由时,它会通过 DHCP 告诉我它的搜索域是 `lan`——它也是通过这个方式给我的计算机分配 IP。 - -### 所以为什么要在域名末尾加一个点呢? - -现在我们已经了解了 zone 文件和搜索域,下面是我认为的人们要在域名末尾加点的原因: - -有两种情况下,域名会被修改,并在末尾添加其他东西。 - - * 在 `example.com` 的 zone 文件中,`grapefruit` 会被转为 `grapefruit.example.com` - * 在我的本地网络(我的计算机已经配置了使用搜索域 `lan`),`grapefruit` 被转为 `grapefruit.lan` - - - -因此,由于域名在某些情况下实际上可能被转成其他名字,人们就在结尾处加一个 `.`,以此来表示 "这是域名,末尾不需要添加任何东西,这就是全部的东西"。因为否则会引起混乱。 - -“这就是全部内容”的技术术语是**"完全合格域名"**,简称为**"FQDN "**。所以 `google.com.` 是一个完全合格的域名,而 `google.com` 不是。 - -我总是要提醒自己这样做的原因,因为我很少使用 zone 文件和搜索域,所以我经常觉得——"我当然是指 `google.com` 而不是 `google.com.something.else`! 我为什么要指其他东西?那太傻了!" - -但是有些人确实在使用 zone 文件和搜索域(例如 Kubernetes 中使用了搜索域!),所以结尾的 ". " 很有用,可以让人确切的知道,不应该再添加其他东西。 - -### 什么时候在末尾添加 “.”? - -以下是关于何时在域名末尾加 ". " 的几个简单说明: - -**需要添加:配置 DNS 时** - -在配置 DNS 时,使用完全合格的域名从来都不是坏事。你不一定要这样做:非完全合格的域名通常也能正常工作,但我从来没有遇到过不接受完全合格域名的 DNS 软件。 - -有些 DNS 软件需要这样做:现在我为 `jvns.ca` 使用的 DNS 服务器让我在域名的末尾加上 `"."`(例如在 CNAME 记录中),并提示如果我不添加,它将在我输入的内容末尾加上 `.jvns.ca`。我不同意这个设计决定,但这不是什么大问题,我只是在最后加一个 "."。 - -**不需要加:在浏览器中** - -令人困惑的是,在浏览器中,在域名结尾处加一个 `.` *不能*正常运行。例如,如果我在浏览器中输入 `https://twitter.com.`,它就会报错。它会返回 404。 - -我认为这里发生的事情是,它将 HTTP Host header 设置为`Host:twitter.com.`,而对端的网络服务器则期望 `Host:twitter.com`。 - -同样地,`https://jvns.ca.` 由于某种原因,返回了一个 SSL 错误。 - -### 我认为相对域名在过去是比较常见的 - -最后一件事:我认为"相对"域名(比如我用 `grapefruit` 来指代我家的另一台计算机 `grapefruit.lan`)在过去更常用,因为 DNS 是在大学或其他有大型内部网络的大机构中开发的。 - -在今天的互联网上,使用"绝对"域名(如 `example.com`)似乎更为普遍。 - --------------------------------------------------------------------------------- - -via: https://jvns.ca/blog/2022/09/12/why-do-domain-names-end-with-a-dot-/ - -作者:[Julia Evans][a] -选题:[lujun9972][b] -译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://jvns.ca/ -[b]: https://github.com/lujun9972 -[1]: https://wizardzines.com/zines/dns/ -[2]: https://github.com/miekg/dns -[3]: https://www.rfc-editor.org/rfc/rfc1035#section-4.1.1 -[4]: https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html From 1f5756beaa80457c75b9dfeafd07493c2a12f768 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 15 Nov 2022 08:36:56 +0800 Subject: [PATCH 421/925] translated --- ...️⭐️ Fix scanned images with ImageMagick.md | 91 ------------------- ...️⭐️ Fix scanned images with ImageMagick.md | 91 +++++++++++++++++++ 2 files changed, 91 insertions(+), 91 deletions(-) delete mode 100644 sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md create mode 100644 translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md diff --git a/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md deleted file mode 100644 index 596bf99a97..0000000000 --- a/sources/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: "Fix scanned images with ImageMagick" -[#]: via: "https://opensource.com/article/22/11/fixing-scanned-images-imagemagick" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Fix scanned images with ImageMagick -====== - -It's easy to correct images, even in batches, with this open source tool. - -Years ago while rummaging through the contents of a shelf in a used bookstore, I happened upon a booklet titled "UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD," published by Specialized Systems Consultants. I bought it as a curiosity item because it was nearly 20 years old yet still largely applicable to modern Linux and BSD. - -That amused me then and now. A booklet written in 1986 was still largely relevant in 2016, while books on the same shelf about a proprietary OS weren't worth the paper they were printed on. (Think about it: What technology do you think is going to survive a zombie apocalypse?) I've had the booklet on my own bookshelf for several years now, but it occurred to me that it's probably worth doing a little digital preservation of this artifact, so I decided to scan the booklet to create a [CBZ ebook][1]. - -Scanning was easy, albeit time-consuming, with [Skanlite][2]. After I was finished, however, I discovered that some pages weren't quite level. - -![A page of text, including a table of contents and a glossary, that is crooked and distorted][3] - -In printing, this is called a registration problem, meaning that the position of what's being printed isn't correctly orientated on the page. - -### ImageMagick - -[ImageMagick][4] is a non-interactive terminal-based graphics editor. It might seem counterintuitive to try to edit a graphic in a graphic-less environment like a text-only terminal, but it's actually very common. For instance, when you upload an image to use as a profile picture to a web application, it's likely that a script on the application's server processes your image using ImageMagick or its libraries. The advantage of a non-interactive editor is that you can formulate what needs to be done to a sample image, then apply those effects to hundreds of other images at the press of a button. - -ImageMagick is generally just as capable as any graphics editor, as long as you take the time to uncover its many functions and how to combine them to achieve the desired effects. In this case, I want to rotate pages that are askew. After searching through ImageMagick's documentation, I discovered that the ImageMagick term for the solution I needed was called deskew. Aligning your terminology with somebody else's terminology is a challenge in anything that you don't already know, so when you approach ImageMagick (or anything), keep in mind that the word you've decided describes a problem or solution may not be the same word used by someone else. - -To deskew an image with crooked text using ImageMagick: - -``` -$ convert page_0052.webp -deskew25% fix_0052.webp -``` - -The `-deskew` option represents the threshold of acceptable skew. A skew is determined by tracing peaks and valleys of objects that appear to be letters. Depending on how crooked your scan is, you may need more or less than 25% threshold. I've gone as high as 80%, and so far nothing under 25% has had an effect. - -Here's the result: - -![The same page of text, now with the text properly aligned][5] - -Fixed! Applying this to the remaining 55 pages of the document fixed skewed pages while doing nothing to pages that were already straight. In other words, it was safe to run this command on pages that needed no adjustment, thanks to my threshold setting. - -### Cropping an image with ImageMagick - -After correcting for a skew, and because I scanned more of each page than necessary anyway to prevent accidentally cutting off words, I decided that it made sense to crop my corrected pages. I was happy to keep some space around the margins, but not quite as much as I had. I use the `crop` function of ImageMagick often enough for images on this very website, so I was familiar with the option. However, I needed to determine how to crop each page. - -First, I needed the size of the image: - -``` -$ identify fixed_0052.webp -WEBP 1128x2593 1128x2593+0+08-bit sRGB 114732B 0.020u 0:00.021 -``` - -Knowing the size, I was able to make some estimations about how many pixels I could stand to lose. After a few trial runs, I came up with this: - -``` -convert fix_0052.webp -gravity Center -crop 950x2450+0+0 crop_0052.webp -``` - -This isn't an exact fit, but it proved important when I applied it to other images in the booklet. The pages varied in content and scanner placement here and there, so I was happy to give each one a little breathing room. - -Here's the corrected and cropped image: - -![The same page of text, with the previous fixes applied and crooked white margins around the page cropped out.][6] - -### Batch image editing with open source - -The beauty of ImageMagick is that once you've figured out the formula for fixing your image, you can apply that fix to all images requiring the same fix. I do this with [GNU Parallel][7], which uses all my CPU cores to finish image correction across hundreds of pages. It doesn't take long, and the results speak for themselves. More importantly, I've got a digital archive of a fun artifact of UNIX history. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/19/3/comic-book-archive-djvu -[2]: https://opensource.com/article/22/2/scan-documents-skanlite-linux-kde -[3]: https://opensource.com/sites/default/files/2022-10/imagemagick-crook_1.png -[4]: https://opensource.com/article/17/8/imagemagick -[5]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-fix.png -[6]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-crop.png -[7]: http://LINK-TO-SETH-GNU-PARALLEL-REDHAT.COM/SYSADMIN diff --git a/translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md new file mode 100644 index 0000000000..329a0cb7dc --- /dev/null +++ b/translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md @@ -0,0 +1,91 @@ +[#]: subject: "Fix scanned images with ImageMagick" +[#]: via: "https://opensource.com/article/22/11/fixing-scanned-images-imagemagick" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 ImageMagick 修复扫描图像 +====== + +使用这个开源工具,即使是批量校正图像也很容易。 + +多年前,在翻阅一家旧书店的书架上的内容时,我偶然发现了一本名为 《UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD》 的小册子,由 Specialized Systems Consultants 出版。我买它是出于好奇,因为它已经有将近 20 年的历史了,但仍然在很大程度上适用于现代 Linux 和 BSD。 + +这让我当时和现在都很开心。一本写于 1986 年的小册子在 2016 年仍然很重要,而同一个书架上关于专有操作系统的书籍并不值得印刷它们的纸张。(想一想:你认为什么技术可以在僵尸末日中幸存下来?)这本小册子已经放在我自己的书架上好几年了,但我突然想到可能值得对这个作品做一点数字保存,所以我决定扫描这本小册子来创建一本 [CBZ 电子书][1]。 + +使用 [Skanlite][2] 进行扫描很容易,但很耗时。然而,当我完成后,我发现有些页面不是很平整。 + +![A page of text, including a table of contents and a glossary, that is crooked and distorted][3] + +在打印中,这称为配准问题,这意味着打印内容的位置在页面上的方向不正确。 + +### ImageMagick + +[ImageMagick][4] 是基于终端的非交互式图形编辑器。尝试在无图形环境(如纯文本终端)中编辑图形似乎违反直觉,但实际上很常见。例如,当你将图像上传到 Web 应用用作个人资料图片时,应用服务器上的脚本可能会使用 ImageMagick 或其库处理你的图像。非交互式编辑器的优点是你可以制定需要对示例图像执行的操作,然后只需按一下按钮即可将这些效果应用于数百个其他图像。 + +ImageMagick 通常与其他图形编辑器一样强大,只要你花时间了解它的许多功能以及如何组合它们以实现所需的效果。在这种情况下,我想旋转歪斜的页面。在搜索了 ImageMagick 的文档后,我发现我需要的解决方案的 ImageMagick 术语称为纠偏。将你的术语与其他人的术语保持一致对于你不知道的任何事情都是一个挑战,因此当你使用 ImageMagick(或其他任何东西)时,请记住,你描述问题或解决方案的用词可能和别人不一样。 + +要使用 ImageMagick 对带有弯曲文本的图像进行校正: + +``` +$ convert page_0052.webp -deskew25% fix_0052.webp +``` + +`-deskew` 选项表示可接受偏差的阈值。通过跟踪看似字母的对象的峰谷来确定倾斜。根据扫描的弯曲程度,你可能需要多于或少于 25% 的阈值。我已经达到了 80%,到目前为止,低于 25% 没用效果。 + +结果如下: + +![The same page of text, now with the text properly aligned][5] + +修复了!将其应用于文档的剩余 55 页以修复倾斜的页面,而对已经笔直的页面不做任何事情。换句话说,由于我的阈值设置,在不需要调整的页面上运行此命令是安全的。 + +### 使用 ImageMagick 裁剪图像 + +在纠正了歪斜之后,因为无论如何我扫描的每一页都比必要的要多,以防止意外切断单词,我认为裁剪我纠正的页面是有意义的。我很高兴在页边空白处保留一些空间,但没有以前那么多。我经常使用 ImageMagick 的“裁剪”功能来处理这个网站上的图像,所以我很熟悉这个选项。但是,我需要确定如何裁剪每一页。 + +首先,我需要图像的大小: + +``` +$ identify fixed_0052.webp +WEBP 1128x2593 1128x2593+0+08-bit sRGB 114732B 0.020u 0:00.021 +``` + +知道尺寸后,我能够对我可以承受的丢失多少像素做出一些估计。经过几次试运行,我得到了这个: + +``` +convert fix_0052.webp -gravity Center -crop 950x2450+0+0 crop_0052.webp +``` + +这并不完全适合,但当我将它应用于册子中的其他图像时,它被证明很重要。这些页面的内容和扫描仪位置各不相同,所以我很高兴给每一页一点空余空间。 + +这是校正和裁剪的图像: + +![The same page of text, with the previous fixes applied and crooked white margins around the page cropped out.][6] + +### 使用开源批量编辑图像 + +ImageMagick 的美妙之处在于,当你确定了修复图像的公式,你就可以将该修复应用于需要相同修复的所有图像。我使用 [GNU Parallel][7] 执行此操作,它使用我所有的 CPU 内核来完成数百页的图像校正。这并不需要很长时间,而且结果不言而喻。更重要的是,我已经有了一个 UNIX 历史上有趣作品的数字档案。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/3/comic-book-archive-djvu +[2]: https://opensource.com/article/22/2/scan-documents-skanlite-linux-kde +[3]: https://opensource.com/sites/default/files/2022-10/imagemagick-crook_1.png +[4]: https://opensource.com/article/17/8/imagemagick +[5]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-fix.png +[6]: https://opensource.com/sites/default/files/2022-10/imagemagick-deskew-crop.png +[7]: http://LINK-TO-SETH-GNU-PARALLEL-REDHAT.COM/SYSADMIN From a2a3a5079715a8e8a0d7f26488b6bfca366d29f8 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 15 Nov 2022 08:46:10 +0800 Subject: [PATCH 422/925] translated --- .../20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md index 4641133f19..b8d26eeaf6 100644 --- a/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md +++ b/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/sudo-command-not-found/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 361382130ac6931868eeb1af23618c220f4e446d Mon Sep 17 00:00:00 2001 From: "qfzy1233@163.com" Date: Tue, 15 Nov 2022 10:44:27 +0800 Subject: [PATCH 423/925] =?UTF-8?q?Update=2020221102.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Linux=20Mint's=20Update=20Manager=20Now=20Supports?= =?UTF-8?q?=20Flatpak.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Mint's Update Manager Now Supports Flatpak.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md index 6f05ff9fd5..8ddcaa0461 100644 --- a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md +++ b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md @@ -7,73 +7,73 @@ [#]: publisher: " " [#]: url: " " -Linux Mint's Update Manager Now Supports Flatpak +Linux Mint 的更新管理器现在支持 Flatpak ====== -Linux Mint's Update Manager just got more helpful! +Linux Mint的更新管理器变得为易用了! ![Linux Mint's Update Manager Now Supports Flatpak][1] -Linux Mint's Update Manager is an essential part of the distro that makes the experience easier for new users. +Linux Mint 的更新管理器是发行版的一个重要组成部分,它使新用户获得更为方便简易的体验。 -A recent update has pushed many improvements to Linux Mint 21, including Flatpak support with the update manager. +Linux Mint 21最近的一次更新推出了的许多改进,包括更新管理器对 Flatpak 的支持。 -**You just need to update your system to get these refinements.** +**你只需要更新你的系统来获得这些改进。** -### ⭐ Flatpak Support In Update Manager +### ⭐ 更新管理器中支持 Flatpak ![linux mint 21 flatpak support in update manager][2] -Image Credits: The Linux Mint Blog +图片来源:Linux Mint 博客 -Yes, you read that right. It is finally happening. +是的,你没看错。这终于实现了。 -Flatpak support has been added to the Update Manager, letting users update Flatpak applications and runtimes in a few clicks. +Flatpak已被添加到更新管理器中,用户只需单击几下即可通过 Flatpak 更新应用程序和运行时。 -This should make way for a unified update experience that further improves the user experience. +这将为进一步改善用户体验的统一更新体验让路。 -It is beneficial for new users who need not be familiar with terminal commands to update Flatpak. Also, you do not require to integrate Flatpak with the software center (for GNOME). +对于不熟悉终端命令的新用户来说,更新 Flatpak 是有助益的。此外,你不需要将 Flatpak 与软件中心集成(对于 GNOME )。 -In other words, the Linux Mint team enhanced your experience with Flatpak apps. +换句话说,Linux Mint 团队增强了你使用 Flatpak 应用程序的体验。 -**Alongside Flatpak support, the update includes a few more enhancements to Linux Mint 21, which is immediately available as an update.** +**除了对Flatpak的支持,更新还包括对Linux Mint 21的更多增强,这是一个开箱即用的更新。** -Some of the refinements include: +这些改进包括: -### Improvements To Corner Bar +### 对Corner Bar(LCTT译注:类似Windows系统内的“显示桌面”按钮)的改进 ![linux mint 21 updated corner bar][3] -Image Credits: The Linux Mint Blog +图片来源:Linux Mint 博客 -The corner bar on Linux Mint 21 has received two new additions: +Linux Mint 21 中的 corner barhas 添加了两项新特性 -- **Ability to set left click and middle click actions to the corner bar; you can configure it to show the desktop, the workspace selector, or the desklets.** -- **A new option lets you hover your mouse on the corner bar to show the desktop.** +- **能够在 corner barhas 设置左键点击和中键点击的动作;你可以配置它以显示桌面、工作区选择器或桌面。** +- **一个允许你将鼠标悬停在 corner bar 上以显示桌面的新选项。** ### Updates To Nemo ![linux mint 21 updated nemo file manager][4] -Image Credits: The Linux Mint Blog +图片来源:Linux Mint 博客 -The Nemo file manager has received a few tweaks; now, when files are selected, only the file names will be highlighted instead of the icon and file name. +Nemo文件管理器做了一些调整;现在,当文件被选中时,只会高亮显示文件名,而不是图标和文件名。 -**If you did not know**, you could enhance the Nemo file manager experience with some of our suggested tweaks as well: +**如果你还不知道**, 你也可以通过我们建议的一些调整来增强 Nemo 文件管理器的体验: -Furthermore, the desktop icon has been flipped vertically, and a new shortcut has been added to the desktop's context menu to give quick access to the display settings. +此外,桌面图标被垂直翻转,桌面上下文菜单中添加了一个新的快捷方式,可以快速打开显示设置。 -### Fewer Password Prompts +### 更少的密码提示 -This is another user experience tweak that many of you might like. +.这是你们很多人可能喜欢的另一个用户体验调整。 -When removing a Flatpak or any shortcut or local application, it will no longer ask you for a password. +当删除 Flatpak 或任何快捷方式或本地应用程序时,它将不再要求你输入密码。 -Similarly, in the case of Synaptic and the Update Manager, pkexec will be used to remember the password. +类似地,在新立得(LCTT译注:Linux 下的一个包管理工具)和更新管理器的情况下,将使用pkexec来记住密码。 -This way, users do not have to enter the password every time they perform multiple operations. +这样,用户就不需要每次执行多个操作时都输入密码。 -You can refer to [Linux Mint's monthly blog post][5] to learn about other changes. +你可以浏览[Linux Mint's monthly blog post][5] 以了解更多特性。 **Via: [DebugPointNews][6]** From 43119f0cd334bd904429e07f38c6b8dd44699133 Mon Sep 17 00:00:00 2001 From: "qfzy1233@163.com" Date: Tue, 15 Nov 2022 10:47:22 +0800 Subject: [PATCH 424/925] =?UTF-8?q?Update=2020221102.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Linux=20Mint's=20Update=20Manager=20Now=20Supports?= =?UTF-8?q?=20Flatpak.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md index 8ddcaa0461..765cf8c446 100644 --- a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md +++ b/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md @@ -32,7 +32,7 @@ Flatpak已被添加到更新管理器中,用户只需单击几下即可通过 这将为进一步改善用户体验的统一更新体验让路。 -对于不熟悉终端命令的新用户来说,更新 Flatpak 是有助益的。此外,你不需要将 Flatpak 与软件中心集成(对于 GNOME )。 +对于不熟悉终端命令的新用户来说,更新 Flatpak 是有助益的。此外,你不需要将 Flatpak 与软件中心集成(对于 GNOME 而言)。 换句话说,Linux Mint 团队增强了你使用 Flatpak 应用程序的体验。 From 0a76b751226a2b93fed038f4a6787b1c1a387e40 Mon Sep 17 00:00:00 2001 From: qfzy1233 Date: Tue, 15 Nov 2022 10:50:12 +0800 Subject: [PATCH 425/925] =?UTF-8?q?Rename=20sources/news/20221102.1=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Linux=20Mint's=20Update=20Manager=20Now=20?= =?UTF-8?q?Supports=20Flatpak.md=20to=20translated/news/20221102.1=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Linux=20Mint's=20Update=20Manager=20Now=20?= =?UTF-8?q?Supports=20Flatpak.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md (100%) diff --git a/sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/translated/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md similarity index 100% rename from sources/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md rename to translated/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md From b916878c7903ab7f08747d630406ab6720a8121a Mon Sep 17 00:00:00 2001 From: Cubik Date: Mon, 14 Nov 2022 22:10:01 -0500 Subject: [PATCH 426/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90][?= =?UTF-8?q?tech]:=2020221111.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20FFmpeg=20in=20Ubuntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...to Install FFmpeg in Ubuntu and Other Linux.md | 115 ++++++++++-------- 1 file changed, 61 insertions(+), 54 deletions(-) diff --git a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md index 3b0c307b9c..63ebd28355 100644 --- a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md +++ b/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md @@ -7,142 +7,149 @@ [#]: publisher: " " [#]: url: " " -How to Install FFmpeg in Ubuntu and Other Linux +如何在 Ubuntu 和其他 Linux 发行版中安装 FFmpeg ====== -**This tutorial outlines the steps required to install FFmpeg in Ubuntu and Other Linux systems.** +**本教程讲述了在 Ubuntu 和其他 Linux 系统中安装 FFmpeg 所需的步骤。** -The ffmpeg is a collection library and software program to manipulate multimedia files. The entire ffmpeg is a robust set of libraries that allows you to convert, stream, and manipulate audio and video files. Many frontend Linux applications use it as a backend and hence depend on it. For example, a screen recording application may need ffmpeg to convert recorded streams to gif images. +FFmpeg 是一系列用于操作多媒体文件的库和软件程序。整个 ffmpeg 是一组强大的库,允许您转换,推流和操作音频和视频文件。许多前端 Linux 应用程序将其用作后端并依赖它。例如,屏幕录制应用程序可能需要 ffmpeg 将录制的流转换为 gif 图像。 -Popular applications and services that use FFmpeg are VLC Media Player, YouTube, Blender, Kodi, Shotcut, and Handbrake – to name a few. +主流的应用程序和服务,如 VLC 媒体播放器,YouTube,Blender,Kodi,Shotcut 和 Handbrake 等,都使用 FFmpeg。 -Fun fact: NASA’s Mars 2020 mission rover Perseverance used FFmpeg to complete and process images and video before beaming back to Earth! +趣事:NASA 2020 年发射的毅力号火星探测器使用 FFmpeg 完成和处理图像和视频,然后将其发送回地球! -### About ffmpeg package +### 关于 ffmpeg 包 -The [ffmpeg][1] itself is a powerful program as a command-line utility. It is available for Linux, Windows, and macOS and supports many architectures. It is written in C and Assembly, providing extensive performance and a cross-platform utility. +[FFmped][1] 是一个强大的命令行工具。它支持 Linux,Windows 和 macOS,并支持多种架构。它是用 C 和汇编编写的,提供了强大的性能和跨平台实用性。 -#### The Core +#### 核心 -The core of ffmpeg is the command-line utility or programs. They can be used on the command line or called from any programming language. For example, you can use these from your shell program, python script, etc. +FFmpeg 的核心是命令行实用程序。它们可以在命令行上使用,也可以从任何编程语言中调用。例如,您可以从 shell 程序,python 脚本等程序中使用它们。 -- **ffmpeg**: Used to convert audio and video streams, including sources from LIVE streams such as TV cards -- **ffplay**: Media player bundled in this package to play media -- **ffprobe**: Command line tool to show media information – can output as txtm csv, xml, json formats +- **ffmpeg**:用于转换音频和视频流,包括来自 TV 卡等 LIVE 流的源 +- **ffplay**:此软件包中捆绑的媒体播放器,用于播放媒体 +- **ffprobe**:命令行工具,用于显示媒体信息 - 可以以 txtm,csv,xml,json 格式输出 -### FFmpeg Installation +### FFmpeg 安装 -Installing FFmpeg is easy in Ubuntu and other Linux distributions. Open a terminal prompt and run the following commands to install. +安装 FFmpeg 在 Ubuntu 和其他 Linux 发行版中很容易。打开终端并运行以下命令以安装。 -#### Ubuntu and similar distro +#### Ubuntu 以及相似的发行版 -``` +``` bash sudo apt install ffmpeg ``` #### Fedora -For Fedora Linux, you need to add the [RPM Fusion repo][2] for FFmpeg. The official Fedora repo doesn’t have the FFmpeg package. +对于 Fedora Linux,您需要添加 [RPM Fusion repo][2]。Fedora 官方仓库没有 FFmpeg 包。 -``` +``` bash sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm ``` -``` +``` bash sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree- ``` -``` +``` bash sudo dnf install ffmpeg ``` #### Arch Linux -``` +``` bash pacman -S ffmpeg ``` -After the successful installation, you can verify the installation using the below command. +在安装完成后,您可以使用以下命令验证安装。 -``` +``` bash ffmpeg --version ``` -![FFmpeg installed in Ubuntu Linux][3] +![Ubuntu Linux 中安装的 FFmpeg][3] -### Example: How to do basic tasks using ffmpeg +### 示例:ffmpeg 的基础用法 -First, let me give you a simple example of the basic syntax. Consider the following example. It simply converts an mp4 file to mkv file. +首先,让我给你一个简单的例子。考虑以下示例。它只是将 mp4 文件转换为 mkv 文件。 -- **Convert a basic video file** +- **转换基本视频文件** -``` +``` bash ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv ``` -Of course, this is the easiest method, but it’s not complete because it doesn’t have the bit rate, resolution and other attributes of the video file required for the conversion. +当然,这是最简单的方法,但它不完整,因为它没有转换所需的视频文件的比特率,分辨率和其他属性。 -- **Convert an audio file** +- **转换一个音频文件** -Secondly, you can convert an audio file using a similar command. +第二,您可以使用类似的命令转换音频文件。 -``` +``` bash ffmpeg -i sunny_day.ogg sunny_day.mp3 ``` -- **Convert with an audio and video codec** +- **使用音频和视频编解码器转换** -Finally, the following example can convert a video file using specified codecs. The parameter `-c` with `a` or `v` defines audio and video, respectively. The below command uses `libvpx` video and `libvorbis` audio codec for conversion. +最后,以下示例可以使用指定的编解码器转换视频文件。参数 `-c` 与 `a` 或 `v` 分别定义音频和视频。下面的命令使用 `libvpx` 视频和 `libvorbis` 音频编解码器进行转换。 -``` +``` bash ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm ``` -### How to find out about the available codecs, encoders and decoders in your system? +### 如何找出系统中可用的编解码器,编码器和解码器? -#### List all codecs +#### 列出所有编解码器 -To list all the codecs available, run the below command. +要列出所有可用的编解码器,请运行以下命令。 -``` +``` bash ffmpeg -codecs ``` -This command lists all the codecs available with their capability, whether they support decoding or encoding, etc. Moreover, they are identified with the position as per the below table. +该命令列出了所有可用的编解码器及其功能,是否支持解码或编码等。此外,它们根据下表的位置进行标识。 -``` -D..... = Decoding supported.E.... = Encoding supported..V... = Video codec..A... = Audio codec..S... = Subtitle codec...I.. = Intra frame-only codec....L. = Lossy compression.....S = Lossless compression +``` plain +D..... = Decoding supported +.E.... = Encoding supported +..V... = Video codec +..A... = Audio codec +..S... = Subtitle codec +...I.. = Intra frame-only codec +....L. = Lossy compression +.....S = Lossless compression ``` -![FFmpeg Codec list][4] +![FFmpeg 编码器列表][4] -#### List all encoders +### 列出所有编码器 -Listing all the encoders is accessible via the below command. +通过以下命令列出所有编码器。 -``` +``` bash ffmpeg -encoders ``` -#### List all decoders +#### 列出所有解码器 -Similarly, the decoders list you can get via the below command. +同样的,您可以通过以下命令获取解码器列表。 -``` +``` bash ffmpeg -decoders ``` -#### Details +#### 详细信息 -You can also get more details about the encoders or decoders using the parameter -h. +你还可以使用参数 -h 获取编码器或解码器的更多详细信息。 -``` +``` bash ffmpeg -h decoder=mp3 ``` -### Summary +### 总结 -I hope you learned the basics of FFmpeg and its commands. You can learn more about the program via the official [documentation][5]. +我希望你学会了 FFmpeg 和它的命令的基础知识。您可以通过[官方文档][5]了解更多有关该程序的信息。 -------------------------------------------------------------------------------- From 49109d6db80cd582a0ad2a5a0c587bc3302a1b63 Mon Sep 17 00:00:00 2001 From: Cubik Date: Mon, 14 Nov 2022 22:10:33 -0500 Subject: [PATCH 427/925] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?tech]:=2020221111.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Install?= =?UTF-8?q?=20FFmpeg=20in=20Ubuntu=20and=20Other=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md (100%) diff --git a/sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/translated/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md similarity index 100% rename from sources/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md rename to translated/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md From ccdbb8e79a1384bccd8051e9ffd2a2f9d2107dc3 Mon Sep 17 00:00:00 2001 From: Cubik Date: Mon, 14 Nov 2022 22:17:18 -0500 Subject: [PATCH 428/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7][?= =?UTF-8?q?talk]:=2020221112.0=20=E2=AD=90=EF=B8=8F=20Learn=20Python=207?= =?UTF-8?q?=20of=20my=20favorite=20resources.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221112.0 ⭐️ Learn Python 7 of my favorite resources.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md index 8186cd607e..275e9c9527 100644 --- a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md +++ b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/learn-python" [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -56,7 +56,7 @@ via: https://opensource.com/article/22/11/learn-python 作者:[Don Watkins][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1eaa9eccf0942683e936ecc36404c080f4353303 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 15 Nov 2022 18:30:49 +0800 Subject: [PATCH 429/925] RP @geekpi https://linux.cn/article-15256-1.html --- ...d Systemd or Any Other init System in Linux.md | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) rename {translated/tech => published}/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md (51%) diff --git a/translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/published/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md similarity index 51% rename from translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md rename to published/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md index 33f26da1f0..7741d5b271 100644 --- a/translated/tech/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md +++ b/published/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md @@ -3,45 +3,50 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15256-1.html" -如何在 Linux 中查找 Systemd 或任何其他 init 系统 +如何在 Linux 中确定运行的是那种初始化系统 ====== -**你可以通过以下方式确定你的 Linux 发行版中是否正在运行系统或任何其他 init 系统。** +![](https://img.linux.net.cn/data/attachment/album/202211/15/183009zafv77ru1afwprr7.jpg) -第一个进程在你启动 Linux 发行版时开始,称为 init(初始化的缩写)。它的进程标识符为 1(即 pid=1)。基于 Unix 的系统中的所有进程和应用程序都是这个 init 进程的直接后代。 +> 你可以通过以下方式确定你的 Linux 发行版中是否正在运行 systemd 或其它初始化系统。 + +首个进程在你启动 Linux 发行版时开始运行,它称为初始化进程 init(初始化initialization的缩写)。它的进程标识符为 1(即 pid=1)。基于 Unix 的系统中的所有进程和应用程序都是这个初始化进程的后代。 根据功能和特性,存在不同类型的初始化进程。例如,[systemd][1]、Runit、OpenRC、sysVinit 等。其中,systemd 是最流行和最现代的一种,被包括 Ubuntu 和 Fedora 在内的所有现代 Linux 发行版使用和采用。 -与传统的基于 Unix 的 init 系统相比,Systemd 及其性能一直存在争议。但这是另一篇文章的主题。 +与传统的基于 Unix 的初始化系统相比,systemd 及其性能一直存在争议。但这就是另外一个话题了。 -让我们看看如何确定在 Linux 发行版中运行的是 systemd 还是任何其他 init 系统。 +让我们看看如何确定在 Linux 发行版中运行的是 systemd 还是其它初始化系统。 -### systemd 还是什么 init 系统? +### systemd 还是其它初始化系统? -不幸的是,没有直接的命令可以找到它。你可以从初始化进程 id=1 追溯它,它基本上是到 `/sbin/init` 的符号链接,即 pid=1。 - -使用 `[strings][2]` 命令打印嵌入在二进制文件 `/sbin/init` 中的文本并使用以下命令搜索 init。 +不幸的是,没有直接的命令可以找到它。你可以从初始化进程追溯它,它基本上是到 `/sbin/init` 的符号链接,即 pid=1。 +使用 [strings][2] 命令打印嵌入在二进制文件 `/sbin/init` 中的文本并使用以下命令搜索 `init`: ``` strings /sbin/init | grep init ``` -**示例 1**:在下面的输出中,它是一个运行 Debian(通过 Peppermint OS)的 sysVinit 系统。如你所见,它清楚地显示了 init 进程名称。 +#### 示例 1 + +在下面的输出中,它是一个运行 Debian(Peppermint OS)的 sysVinit 系统。如你所见,它清楚地显示了 `init` 进程名称。 ``` strings /sbin/init | grep init ``` -![显示使用 init 而不是 systemd 的示例][3] +![显示使用 sysVinit 而不是 systemd 的示例][3] -如果在上述同一个系统中找到 systemd,那么不会有任何条目。因此,你可以得出结论,你正在运行 sysvinit 而不是 systemd。 +如果在上述同一个系统中找 `systemd`,那么不会有任何结果。因此,你可以得出结论,你正在运行 sysVinit 而不是 systemd。 -**示例 2**:如果你在 systemd 系统中运行上述命令,你可以在输出的第一行轻松看到 systemd 及其版本。 +#### 示例 2 + +如果你在 systemd 系统中运行上述命令,你可以在输出的第一行轻松看到 systemd 及其版本。 ``` strings /sbin/init | grep systemd @@ -49,7 +54,9 @@ strings /sbin/init | grep systemd ![显示它使用 systemd 的示例][4] -**示例 3**:你也可以尝试使用 `pstree` 命令打印进程树,它应该会显示第一个进程名称。它应该是 systemd 或 init,如下例所示。 +#### 示例 3 + +你也可以尝试使用 `pstree` 命令打印进程树,它应该会显示第一个进程名称。它应该是 `systemd` 或 `init`,如下例所示。 ``` pstree @@ -68,7 +75,7 @@ via: https://www.debugpoint.com/systemd-or-init/ 作者:[Arindam][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/) 荣誉推出 From 811e25475782968ff27ddafd1975bb7895212e45 Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Tue, 15 Nov 2022 22:09:11 +0800 Subject: [PATCH 430/925] translated --- ...vity issues with the Linux ping command.md | 162 ------------------ ...vity issues with the Linux ping command.md | 152 ++++++++++++++++ 2 files changed, 152 insertions(+), 162 deletions(-) delete mode 100644 sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md create mode 100644 translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md diff --git a/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md b/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md deleted file mode 100644 index 0104beb081..0000000000 --- a/sources/tech/20211020 Diagnose connectivity issues with the Linux ping command.md +++ /dev/null @@ -1,162 +0,0 @@ -[#]: subject: "Diagnose connectivity issues with the Linux ping command" -[#]: via: "https://opensource.com/article/21/10/linux-ping-command" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lujun9972" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Diagnose connectivity issues with the Linux ping command -====== -One of the most fundamental diagnostic tools for networked connectivity -is the ping command. -![World locations with red dots with a sun burst background][1] - -Networked computers are so common these days that most of us take it for granted that a computer on one side of a room can contact one on the other side of the room, much less the other side of the world. When it works as designed, networking is what makes the Internet, the cloud, file shares, media streaming, remote administration, printing, and much more possible. When something goes wrong, it can sometimes be challenging to diagnose. One of the most fundamental diagnostic tools for networked connectivity is the `ping` command. - -### The basic ping - -When you can't reach a computer on your local network, or a server on the Internet, you can ping it. A ping sends an Internet Control Message Protocol (ICMP) packet to a destination IP address. ICMP is, by design, a rudimentary format used mostly for diagnostics: It's essentially a call and response signal. - -But there's an order to troubleshooting, and it starts as close to home as possible. When in doubt, first ping your own computer to ensure you're running a networking stack. The computer you're operating is also called your _localhost_, and it has a special IP address assigned for speaking to itself: 12.0.0.1. - -The `ping`** **command understands the _localhost_ hostname, its IP address, and a shortcut of just `0`. - -You can control how many signals you send with the `-c` (as in _count_)** **option. - - -``` -$ ping 0 -c1 -PING 0 (127.0.0.1) 56(84) bytes of data. -64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms - -\--- 0 ping statistics --- -1 packets transmitted, 1 received, 0% packet loss, time 0ms -rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms -``` - -After you've established that your local networking stack is up and running, you can ping your router. The address of a router usually starts with 192,168, or 10. The exact IP address depends on your router's configuration. - -When you don't specify how many pings to send, you can stop `ping` from running with **Ctrl**+**C**. - - -``` -$ ping 192.168.0.1  -PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. -From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1) -From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1) -From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1) -From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1) -^C -``` - -If you can reach your router, that means your wired or wireless connection is working.  - -What about other hosts on my network? You can ping all kinds of devices. Not all are guaranteed to respond (some devices drop ICMP packets), but many do. For instance, I can ping my printer: - - -``` -`$ ping 192.168.0.4 ` -``` - -### Pinging beyond your network - -Beyond establishing that your own network is working as expected, you can also ping out into the wider world beyond your router. Again, not all servers are permitted to receive, much less respond to, ICMP. However, there are some that do, and a vital server to the working of the Internet is a nameserver. - -Google's DNS server is relatively easy to remember, and it does respond to pings: - - -``` -$ ping -c 2 8.8.8.8 -PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. -64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms -64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms - -\--- 8.8.8.8 ping statistics --- -2 packets transmitted, 2 received, 0% packet loss, time 1000ms -rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms -``` - -When a site has apparently disappeared, you might be able to probe the worldwide DNS network to find out what its host server's address is, and then ping that server. This at least tells you whether the host is down or whether it's just a web server issue. - -For example, say you're trying unsuccessfully to reach example.com. First, find the IP address using the `host` command: - - -``` -$ host example.com -example.com has address 93.184.216.34 -example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946 -example.com mail is handled by 0 -``` - -And then ping the website's host by IP: - - -``` -`$ ping 93.184.216.34 -c 1` -``` - -### Ping and IPv6 - -Ping works over IPv4 as well as IPv6. Using only one of them explicitly can be enforced by specifying `-4` or `-6`.  - -### Packet size - -You can change the size of the ICMP packets you're sending with the `-s` option. The default packet size is 56, which translates into 64 ICMP data bytes when combined with the 8-byte header. This command sends 43 bytes: - - -``` -`$ ping -s 35 -c 5 8.8.8.8` -``` - -You can print a timestamp before each ping report in your terminal with the `-D` option. This provides the UNIX epoch time, plus microseconds: - - -``` -$ ping -D 8.8.8.8  -PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. -[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms -[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms -``` - -### Ping time - -You can change the time interval between pings using the `-i` option. This changes the ping interval to two seconds: - - -``` -`$ ping -s 2 ` -``` - -You can also stop pinging after some value of time (in seconds) with the `-w` option: - - -``` -`$ ping -w 6` -``` - -### Variants - -There are many implementations of ping. The `iputils` package provides a `ping` command, [Busybox ][2]has a `ping` command, and there's one from BSD and others. There's even a GUI for `ping`: Gping is available for Linux, macOS, and Windows. You can find more information for `gping` on [Github][3].  - -### Learn to ping - -The `ping` command is simple, but it can be eyes and ears out on the vast expanse that is your network. Next time you have connectivity issues, let `ping` be the first tool you turn to. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/10/linux-ping-command - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/world_remote_teams.png?itok=Wk1yBFv6 (World locations with red dots with a sun burst background) -[2]: https://opensource.com/article/21/8/what-busybox -[3]: https://github.com/orf/gping diff --git a/translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md b/translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md new file mode 100644 index 0000000000..3499ad3b90 --- /dev/null +++ b/translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md @@ -0,0 +1,152 @@ +[#]: subject: "Diagnose connectivity issues with the Linux ping command" +[#]: via: "https://opensource.com/article/21/10/linux-ping-command" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lujun9972" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 Linux ping 命令诊断网络连接问题 +====== +>在本文中,我们将讨论网络连接最基本的诊断工具之一——ping 命令。 + +![World locations with red dots with a sun burst background][1] + +如今,联网计算机变得十分普遍,以至于我们大多数人都理所当然地认为,房间一侧的计算机可以连接上房间另一侧的计算机,更不用说能连接上世界的另一端的计算机了。如此,网络使 Internet、云、文件共享、媒体流、远程管理、打印等服务成为可能。但是当网络出现问题时,有时很难诊断到底是其中哪一环节出现了问题。下面,我们就来介绍:网络连接最基本的诊断工具之一——`ping` 命令。 + +### 基本的 ping 命令 + +当你无法访问本地网络上的计算机或 Internet 上的服务器时,你可以 `ping` 它的 IP 地址。`ping` 将 Internet 控制报文协议 Internet Control Message Protocol (ICMP) 数据包发送到目标 IP 地址。当我们要对网路连接状况进行判断时,ICMP 是个非常有用的协议,本质上 ICMP 是一个响应和应答信号。 + +让我们由近及远地进行故障排除。请先 `ping` 你自己的计算机,以确保你的计算机正在运行 网络栈 networking stack 。你正在操作的计算机称为 _主机_ localhost ,本地回环地址是:127.0.0.1。 + +`ping` 命令能用主机的 主机名 hostname 、IP 地址(即 127.0.0.1)或者仅仅用简写 `0`,来表示 _主机_。 + +你可以使用 `-c`选项,来控制发送数据包的 次数 count 。 + +``` +$ ping 0 -c 1 +PING 0 (127.0.0.1) 56(84) bytes of data. +64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms + +\--- 0 ping statistics --- +1 packets transmitted, 1 received, 0% packet loss, time 0ms +rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms +``` + +在你确认本地网络栈已启动并运行后,接下来,你可以 `ping` 你的路由器的 IP 地址。路由器的 IP 地址通常以 192,168 或 10 开头。实际的 IP 地址取决于路由器的配置。 + +当你没有指定要发送多少次请求时,你可以用 **Ctrl**+**C**,来终止 `ping` 的运行。 + +``` +$ ping 192.168.0.1  +PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. +From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1) +From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1) +From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1) +From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1) +^C +``` + +如果你能 `ping` 通路由器,则表示你的有线或无线连接能正常工作。 + +对于你的局域网上的其他主机呢?你可以 `ping` 各种设备,但是并非所有设备都能保证响应,因为一些设备会丢弃 ICMP 数据包,但许多设备会做出响应。例如,我可以 `ping` 我的打印机: + +``` +`$ ping 192.168.0.4 ` +``` + +### Ping 路由器以外的其他服务器 + +在确定你自己的网络内部都能连通以后,你还可以 `ping` 通到路由器以外的其他服务器。同样地,并非所有服务器都能接收 ICMP 数据包,更不用说响应 ICMP 数据包了。然而,也有一些服务器可以接收并响应 ICMP 数据包,而在互联网中的一个重要服务器是 **域名服务器** nameserver 。 + +Google 的 域名解析服务器 DNS server 的 IP 地址很容易记住,而且它会响应 `ping` 请求: + +``` +$ ping -c 2 8.8.8.8 +PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. +64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms +64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms + +\--- 8.8.8.8 ping statistics --- +2 packets transmitted, 2 received, 0% packet loss, time 1000ms +rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms +``` + +当你连不上一个网站时,你可以查询全球 DNS 网络,以找出其主机服务器的地址,然后 `ping` 该服务器。这至少可以告诉你,网站不通的原因是主机已关闭,或者只是 Web 服务器问题。 + +例如,假设你尝试访问 example.com,但是发现失败了。首先,使用 `host` 命令找到 example.com 的 IP 地址: + +``` +$ host example.com +example.com has address 93.184.216.34 +example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946 +example.com mail is handled by 0 +``` + +然后,`ping` 该网站的的 IP 地址: + +``` +`$ ping 93.184.216.34 -c 1` +``` + +### Ping 使用 IPv6 + +`ping` 不仅可以使用 IPv4,还能使用 IPv6。可以通过指定 `-4` 或 `-6` 选项,来只使用 IPv4 或 IPv6。 + +### Ping 设置数据包大小 + +你可以使用 `-s` 选项,来更改要发送的 ICMP 数据包的 大小 size 。默认的数据大小为 56 字节,加上 8 字节包头,总共得到 64 字节的 ICMP 数据包。以下的示例将发送的 ICMP 数据包大小修改为 35+8=43 个字节: + +``` +`$ ping -s 35 -c 5 8.8.8.8` +``` + +你可以使用 `-D` 选项,使得在终端中的每个 ping 回复之前,先打印出当前的时间戳。该时间戳为 UNIX 时间戳,加上微秒: + +``` +$ ping -D 8.8.8.8  +PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. +[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms +[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms +``` + +### Ping 设置时间间隔/长短 + +你可以使用 `-i` 选项,来更改两次 `ping` 请求之间的 时间间隔 interval 。以下的示例将 `ping` 间隔更改为 2 秒: + +``` +`$ ping -i 2 ` +``` + +你也可以使用 `-w` 选项,来在一段时间后终止 `ping`。 + +``` +`$ ping -w 6` +``` + +### 使用 ping 的工具 + +使用 `ping` 的工具有很多。例如,`iputils` 包提供了 `ping` 命令;[Busybox][2] 也有`ping` 命令;BSD 也有;甚至还有一个用于 `ping` 的 GUI:Gping,它可用于 Linux、macOS 和 Windows。你可以在 [Github][3] 上找到更多有关 `gping` 的信息。 + +### 一起来学习吧 + +`ping` 命令很简单,但它可以帮你诊断网络连接问题。下次再遇到网络连接问题时,让 `ping` 命令成为你解决问题的第一个工具吧。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/10/linux-ping-command + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/world_remote_teams.png?itok=Wk1yBFv6 (World locations with red dots with a sun burst background) +[2]: https://opensource.com/article/21/8/what-busybox +[3]: https://github.com/orf/gping From 87da9cf23e3a73e63f840c32d7277b1880febf03 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Wed, 16 Nov 2022 05:02:51 +0800 Subject: [PATCH 431/925] =?UTF-8?q?=E9=80=89=E9=A2=98[tech]:=2020221115=20?= =?UTF-8?q?Announcing=20Fedora=20Linux=2037?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20221115 Announcing Fedora Linux 37.md --- .../20221115 Announcing Fedora Linux 37.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 sources/tech/20221115 Announcing Fedora Linux 37.md diff --git a/sources/tech/20221115 Announcing Fedora Linux 37.md b/sources/tech/20221115 Announcing Fedora Linux 37.md new file mode 100644 index 0000000000..1c4e6cf739 --- /dev/null +++ b/sources/tech/20221115 Announcing Fedora Linux 37.md @@ -0,0 +1,83 @@ +[#]: subject: "Announcing Fedora Linux 37" +[#]: via: "https://fedoramagazine.org/announcing-fedora-37/" +[#]: author: "Matthew Miller https://fedoramagazine.org/author/mattdm/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Announcing Fedora Linux 37 +====== + +![][1] + +Today I’m excited to share the results of the hard work of thousands of Fedora Project contributors: the Fedora Linux 37 release is here! Let’s see what the latest release brings you. As always, you should make sure your system is fully up-to-date before upgrading from a previous release. Can’t wait to get started? [Download][2] while you read! + +### New editions + +Fedora Editions are flagship offerings targeted at a particular “market”. With Fedora Linux 37, we’re adding two new Editions. Fedora CoreOS is the successor to what you may remember as Atomic Host. Drawing from Project Atomic and the original CoreOS work, it provides an automatic update mechanism geared toward hosting container-based workloads. With atomic updates and easy rollback, it adds peace of mind to your infrastructure. + +Fedora Cloud is also back as an Edition. The Cloud Working Group has seen a resurgence in activity. Cloud provides a great Fedora base to run in your favorite public or private cloud. AMIs will be available in the AWS Marketplace later this week and community channels are available now. Check the [website][3] for images in other cloud providers or for your own cloud! + +### Desktop improvements + +Fedora Workstation focuses on the desktop experience. As usual, Fedora Workstation features the latest GNOME release. [GNOME 43][4] includes a new device security panel in Settings, providing the user with information about the security of hardware and firmware on the system. Building on the previous release, more core GNOME apps have been ported to the latest version of the GTK toolkit, providing improved performance and a modern look.  + +With this release, we’ve made a few changes to allow you to slim down your installation a bit. We split the language packs for the Firefox browser into subpackages. This means you can remove the “firefox-langpacks” package if you don’t need the localization. The runtime packages for gettext — the tools that help other packages produce multilingual text — are split into a separate, optional subpackage. + +Of course, we produce more than just the Editions. [Fedora Spins][5] and [Labs][6] target a variety of audiences and use cases, including [Fedora Comp Neuro][7], which provides tools for computational neuroscience, and desktop environments like [Fedora LXQt][8], which provides a lightweight desktop environment. And, don’t forget our alternate architectures: [ARM AArch64, Power, and S390x][9]. + +### Sysadmin improvements + +Fedora Server now produces a KVM disk image to make running Server in a virtual machine easier. If you’ve disabled SELinux (it’s okay — we still love you!), you can turn it back on with less impact. The autorelabel now runs in parallel, making the “fixfiles” operation much faster. + +In order to keep up with advances in cryptography, this release introduces a TEST-FEDORA39 policy that previews changes planned for future releases. The new policy includes a move away from SHA-1 signatures. Researchers have long known that this hash (like MD5 before it) is not safe to use for many security purposes. + +In the future, we are likely to remove SHA-1 from the list of acceptable security algorithms in Fedora Linux. (As the name TEST-FEDORA39 implies, perhaps as soon as next year.) We know there are still SHA-1 hashes in use today, however. The new policy helps you test your critical applications now so that you’ll be ready. Please try it out, and let us know where you encounter problems. + +Speaking of cryptography, the openssl1.1 package is now deprecated. It will remain available, but we recommend you update your code to work with openssl 3. + +### Other updates + +The Raspberry Pi 4 is now officially supported in Fedora Linux, including accelerated graphics. In other ARM news, Fedora Linux 37 drops support for the ARMv7 architecture (also known as arm32 or armhfp). + +Following our “[First][10]” foundation, we’ve updated key programming language and system library packages, including Python 3.11, Golang 1.19, glibc 2.36, and LLVM 15. + +We’re excited for you to try out the new release! Go to and download it now. Or if you’re already running Fedora Linux, follow the [easy upgrade instructions][11]. For more information on the new features in Fedora Linux 37, see the [release notes][12]. + +### In the unlikely event of a problem… + +If you run into a problem, visit our [Ask Fedora][13] user-support forum. This includes a category for [common issues][14]. + +### Thank you everyone + +Thanks to the thousands of people who contributed to the Fedora Project in this release cycle. We love having you in the Fedora community. + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/announcing-fedora-37/ + +作者:[Matthew Miller][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://fedoramagazine.org/author/mattdm/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/f37-release-1-816x345.jpg +[2]: https://getfedora.org +[3]: https://getfedora.org/en/cloud/ +[4]: https://release.gnome.org/43/ +[5]: https://spins.fedoraproject.org/ +[6]: https://labs.fedoraproject.org/ +[7]: https://labs.fedoraproject.org/en/comp-neuro/ +[8]: https://spins.fedoraproject.org/en/lxqt/ +[9]: https://alt.fedoraproject.org/alt/ +[10]: https://docs.fedoraproject.org/en-US/project/#_first +[11]: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/ +[12]: https://docs.fedoraproject.org/en-US/fedora/f37/release-notes/ +[13]: https://ask.fedoraproject.org/ +[14]: https://ask.fedoraproject.org/c/common-issues/141/none From 51d1425aafb243aedd503280ee1266f22440af0d Mon Sep 17 00:00:00 2001 From: DarkSun Date: Wed, 16 Nov 2022 05:03:00 +0800 Subject: [PATCH 432/925] add done: 20221115 Announcing Fedora Linux 37.md --- sources/tech/20221110 .md | 25 +++++++++++++++++++++++++ sources/tech/20221111 .md | 25 +++++++++++++++++++++++++ sources/tech/20221114 .md | 25 +++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 sources/tech/20221110 .md create mode 100644 sources/tech/20221111 .md create mode 100644 sources/tech/20221114 .md diff --git a/sources/tech/20221110 .md b/sources/tech/20221110 .md new file mode 100644 index 0000000000..de266343ef --- /dev/null +++ b/sources/tech/20221110 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/fastly-open-source-initiative/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fastly-open-source-initiative/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221111 .md b/sources/tech/20221111 .md new file mode 100644 index 0000000000..9f0b04e879 --- /dev/null +++ b/sources/tech/20221111 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/foss-weekly-22-42/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/foss-weekly-22-42/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221114 .md b/sources/tech/20221114 .md new file mode 100644 index 0000000000..3910d61488 --- /dev/null +++ b/sources/tech/20221114 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/nestbox/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/nestbox/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 From 75617b658e1950802d938d7aabfb2f4fd31ffc5c Mon Sep 17 00:00:00 2001 From: DarkSun Date: Wed, 16 Nov 2022 05:03:15 +0800 Subject: [PATCH 433/925] =?UTF-8?q?=E9=80=89=E9=A2=98[tech]:=2020221022=20?= =?UTF-8?q?What=E2=80=99s=20new=20in=20Fedora=20Workstation=2037?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20221022 What-s new in Fedora Workstation 37.md --- ...022 What-s new in Fedora Workstation 37.md | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sources/tech/20221022 What-s new in Fedora Workstation 37.md diff --git a/sources/tech/20221022 What-s new in Fedora Workstation 37.md b/sources/tech/20221022 What-s new in Fedora Workstation 37.md new file mode 100644 index 0000000000..fb85a3e284 --- /dev/null +++ b/sources/tech/20221022 What-s new in Fedora Workstation 37.md @@ -0,0 +1,96 @@ +[#]: subject: "What’s new in Fedora Workstation 37" +[#]: via: "https://fedoramagazine.org/whats-new-fedora-37-workstation/" +[#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What’s new in Fedora Workstation 37 +====== + +![][1] + +Fedora Workstation 37 is the latest version of the Fedora Project’s desktop operating system, made by a worldwide community dedicated to pushing forward innovation in open source. This article describes some of the new user-facing features in Fedora Workstation 37. Upgrade today from GNOME Software, or by using _[dnf system-upgrade][2]_ in your favourite terminal emulator! + +### GNOME 43 + +Fedora Workstation 37 features the latest version of the GNOME desktop environment which sees more core applications ported to GTK 4, user interface tweaks, and performance tune-ups. Check out the [GNOME 43 release notes][3] for more information! + +#### Redesigned Quick Settings menu + +![No need to open Settings just to change to and from Dark Mode][4] + +The new Quick Settings menu offers more control and convenience. You can now easily switch your Wi-Fi network in the menu instead of being taken to a full-screen dialogue box, change between default and dark modes, and enable Night Light without opening the Settings app. A convenient button for taking screenshots and screencasts is also now present. + +#### Core applications + +The GNOME core applications included in Fedora Workstation 37 have seen a round of tweaks and improvements. + + * Files has been ported to GTK 4, and the user interface has seen many improvements. Here are just some of them: + * It is now adaptive – meaning it automatically adjusts to a narrower size, making better use of the available space. + * The list view has been re-architected to make rubber-band selections easier. + * The “Properties” and “Open With…” dialogues have been redesigned. + + + +![Rubber-band selection in Files 43][5] + + * Calendar features a new sidebar that shows your upcoming events at a glance. It, along with Contacts, now feature adaptive user interfaces. + * Characters now shows you different skin tone, hair colour, and gender options for emoji. + * The package source selector in Software has been redesigned and moved to a more visible location. + * Maps has been ported to GTK 4. + * Settings includes a new Device Security panel, allowing you to easily see the hardware security features your devices offers – or lacks! + + + +![Uh oh!][6] + +### New supplemental default wallpapers + +Fedora Workstation 37 ships with a new set of supplemental wallpapers. [See how they were made here!][7] + +![The six new wallpapers come in both light and dark variants][8] + +### Under-the-hood changes throughout Fedora Linux 37 + +Fedora Linux 37 features many under-the-hood changes. Here are some notable ones: + + * The Raspberry Pi 4 single-board computer is now officially supported, including 3D acceleration! + * New installs on BIOS systems will use the GPT disk layout instead of the legacy MBR layout. The installer images will also now use GRUB instead of syslinux to boot on BIOS systems. + * If you disable and then re-enable SELinux, or run the _fixfiles onboot_ command, the file system relabelling processes will now be done in parallel, allowing for a significant speed boost. + * The default fonts for Persian has been changed from DejaVu and Noto Sans Arabic to Vazirmatn, providing a more consistent experience for those who use Fedora Linux in Persian. + + + +### Also check out… + +Cool happenings throughout the Fedora Project! + + * Fedora CoreOS and Fedora Cloud Base have been promoted to Edition status! + * Preview installer images with a new GUI for Anaconda, the Fedora Linux system installer, will become available in about a week. An article will be published with more details, so watch this space! + + + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/whats-new-fedora-37-workstation/ + +作者:[Merlin Cooper][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://fedoramagazine.org/author/mxanthropocene/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/10/f37-whats_new-816x345.jpg +[2]: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ +[3]: https://release.gnome.org/43/ +[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker1.gif +[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker2.gif +[6]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/Screenshot-from-2022-09-16-20-25-28-1024x708.png +[7]: https://blog.linuxgrrl.com/2022/06/27/abstract-wallpapers-in-blender-using-geometry-nodes/ +[8]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/dfg-1-1024x679.png From cd602dbcbe42976413a8f45e5694df0930d2c6c8 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 16 Nov 2022 08:22:33 +0800 Subject: [PATCH 434/925] Delete 20221110 .md --- sources/tech/20221110 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221110 .md diff --git a/sources/tech/20221110 .md b/sources/tech/20221110 .md deleted file mode 100644 index de266343ef..0000000000 --- a/sources/tech/20221110 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/fastly-open-source-initiative/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/fastly-open-source-initiative/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From d8d89a0fcc9b2a63da1dfd6b9d799aab7f4e2de3 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 16 Nov 2022 08:22:43 +0800 Subject: [PATCH 435/925] Delete 20221111 .md --- sources/tech/20221111 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221111 .md diff --git a/sources/tech/20221111 .md b/sources/tech/20221111 .md deleted file mode 100644 index 9f0b04e879..0000000000 --- a/sources/tech/20221111 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/foss-weekly-22-42/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/foss-weekly-22-42/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 49e860dd5a40809a3acf71f68e2e3b51b6564278 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 16 Nov 2022 08:23:53 +0800 Subject: [PATCH 436/925] Rename sources/tech/20221115 Announcing Fedora Linux 37.md to sources/news/20221115 Announcing Fedora Linux 37.md --- sources/{tech => news}/20221115 Announcing Fedora Linux 37.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/{tech => news}/20221115 Announcing Fedora Linux 37.md (100%) diff --git a/sources/tech/20221115 Announcing Fedora Linux 37.md b/sources/news/20221115 Announcing Fedora Linux 37.md similarity index 100% rename from sources/tech/20221115 Announcing Fedora Linux 37.md rename to sources/news/20221115 Announcing Fedora Linux 37.md From 122f6aa8fc44a67504b8aaa2429e077eac807e08 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 16 Nov 2022 08:25:52 +0800 Subject: [PATCH 437/925] Delete 20221114 .md --- sources/tech/20221114 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221114 .md diff --git a/sources/tech/20221114 .md b/sources/tech/20221114 .md deleted file mode 100644 index 3910d61488..0000000000 --- a/sources/tech/20221114 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/nestbox/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/nestbox/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 797c8106d5e9c30ee841e6a34b29a7032442092f Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 16 Nov 2022 08:47:31 +0800 Subject: [PATCH 438/925] translated --- ...ow to Fix bash wget Command Not Found Error.md | 119 ------------------ ...ow to Fix bash wget Command Not Found Error.md | 119 ++++++++++++++++++ 2 files changed, 119 insertions(+), 119 deletions(-) delete mode 100644 sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md create mode 100644 translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md diff --git a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md deleted file mode 100644 index 91b0cc8d7b..0000000000 --- a/sources/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md +++ /dev/null @@ -1,119 +0,0 @@ -[#]: subject: "How to Fix: bash wget Command Not Found Error" -[#]: via: "https://www.debugpoint.com/wget-not-found-error/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Fix: bash wget Command Not Found Error -====== - -**Here’s how you can fix the “bash: wget command not found” error in Debian, Ubuntu and other distros.** - -The famous wget utility is used to download any files from a URL via a terminal. It’s one of the most popular and fastest utilities for Linux terminals. - -Being a GNU utility, wget brings some fantastic features to the table. You can implement any project, such as extracting information from the web, downloading files, pausing/resuming, etc. - -However, many [Linux distros][1] do not come with this utility with default installation. So, when you want to download some files using wget, you get the wget command not found error. - -Fixing it is really easy. - -### Fixing wget command not found - -All you need to do is open a terminal prompt and run the following command to install wget. - -For Ubuntu, Linux Mint, elementaryOS, Debian and related distros: - -``` -sudo apt install wget -``` - -Arch Linux: - -``` -pacman -S wget -``` - -For Fedora (although it includes by default): - -``` -sudo dnf install wget -``` - -After installation, you can use the wget program. You can also verify whether it’s installed correctly by checking its version. - -``` -wget --version -``` - -### How to use wget - -Here are some examples of how you can use the wget program. - -The syntax of the command is below: - -``` -wget [OPTION]… [URL]… -``` - -For example, if I want to download an Ubuntu ISO file, then I can run the following command to download with the direct URL. - -``` -wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso -``` - -![Sample example of how to use wget][2] - -Similarly, you can also download using the above command or, by combining several switches as described below. You can also get this via `wget --help` command. - -``` --t, --tries=NUMBER set number of retries to NUMBER (0 unlimits) ---retry-connrefused retry even if connection is refused ---retry-on-http-error=ERRORS comma-separated list of HTTP errors to retry --O, --output-document=FILE write documents to FILE --nc, --no-clobber skip downloads that would download toexisting files (overwriting them) ---no-netrc don't try to obtain credentials from .netrc --c, --continue resume getting a partially-downloaded file ---start-pos=OFFSET start downloading from zero-based position OFFSET ---progress=TYPE select progress gauge type ---show-progress display the progress bar in any verbosity mode --N, --timestamping don't re-retrieve files unless newer than local ---no-if-modified-since don't use conditional if-modified-since get requests in timestamping mode ---no-use-server-timestamps don't set the local file's timestamp by the one on the server --S, --server-response print server response ---spider don't download anything --T, --timeout=SECONDS set all timeout values to SECONDS ---dns-timeout=SECS set the DNS lookup timeout to SECS ---connect-timeout=SECS set the connect timeout to SECS ---read-timeout=SECS set the read timeout to SECS --w, --wait=SECONDS wait SECONDS between retrievals (applies if more then 1 URL is to be retrieved) ---wait retry=SECONDS wait 1..SECONDS between retries of a retrieval (applies if more then 1 URL is to be retrieved) ---random-wait wait from 0.5WAIT…1.5WAIT secs between retrievals(applies if more then 1 URL is to be retrieved) -``` - -### Wrapping Up - -I hope this guide helps you to fix the wget error in your Linux distros. The apparent solution is quite simple. - -Drop a note below if it helps/or if you have any questions. - -[Reference][3] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/wget-not-found-error/ - -作者:[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/category/distributions -[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Sample-example-of-how-to-use-wget.jpg -[3]: https://www.gnu.org/software/wget/ diff --git a/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md new file mode 100644 index 0000000000..7be19b24fb --- /dev/null +++ b/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md @@ -0,0 +1,119 @@ +[#]: subject: "How to Fix: bash wget Command Not Found Error" +[#]: via: "https://www.debugpoint.com/wget-not-found-error/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何修复:“bash wget Command Not Found” 错误 +====== + +**以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “bash: wget command not found” 的错误。** + +著名的 wget 工具被用来通过终端从 URL 下载任何文件。它是 Linux 终端中最流行和最快速的工具之一。 + +作为一个 GNU 工具,wget 带来了一些奇妙的功能。你可以实现任何项目,如从网上提取信息、下载文件、暂停/恢复等。 + +然而,许多 [Linux 发行版][1]在默认安装时并没有附带这个工具。因此,当你想用 wget 下载一些文件时,你会得到 wget 命令未找到的错误。 + +修复它其实很容易。 + +### 修复 wget 命令未找到 + +你所需要做的就是打开终端,运行以下命令来安装 wget。 + +对于 Ubuntu, Linux Mint, elementaryOS, Debian 和相关发行版: + +``` +sudo apt install wget +``` + +Arch Linux: + +``` +pacman -S wget +``` + +对于 Fedora(虽然它默认包括): + +``` +sudo dnf install wget +``` + +安装后,你可以使用 wget 程序。你也可以通过检查其版本来验证它是否正确安装。 + +``` +wget --version +``` + +### 如何使用 wget + +下面是一些关于如何使用 wget 程序的例子。 + +命令的语法如下: + +``` +wget [选项]… [URL]… +``` + +例如,如果我想下载 Ubuntu 的 ISO 文件,那么我可以运行下面的命令,用直接的 URL 下载。 + +``` +wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso +``` + +![如何使用 wget 的例子][2] + +同样,你也可以使用上述命令下载,或者,通过下面描述的几个开关组合。你也可以通过 `wget --help` 命令得到这个。 + +``` +-t, --tries=NUMBER 设置重试次数为 NUMBER(0 为不限)。 +--retry-connrefused 即使连接被拒绝,也要重试。 +--retry-on-http-error=ERRORS 逗号分隔的 HTTP 错误列表,以便重试。 +-O, --output-document=FILE 将文件写入 FILE 中 +--nc, --no-clobber 跳过那些会下载到现有文件的下载(覆盖它们) +--no-netrc 不要试图从 .netrc 中获取证书。 +-c, --continue 继续已部分下载的文件 +--start-pos=OFFSET 从 0 开始 OFFSET 位置开始下载 +--progress=TYPE 选择进度表类型 +--show-progress 在任何详细模式下显示进度条 +--N, --timestamping 不重新检索文件,除非比本地文件新。 +--no-if-modified-since 在时间戳模式下不使用条件性的 if-modified-since 获取请求 +--no-use-server-timestamps 不以服务器上的时间戳来设置本地文件的时间戳。 +--S, --server-response 打印服务器响应 +--spider 不下载任何东西 +-T, --timeout=SECONDS 设置所有的超时值为 SECONDS +--dns-timeout=SECS 将 DNS 查询超时设置为 SECS +--connect-timeout=SECS 将连接超时设置为 SECS +--read-timeout=SECS 设置读取超时为 SECS +--w, --wait=SECONDS 在两次检索之间等待 SECONDS(适用于检索的 URL 超过 1个)。 +--wait retry=SECONDS 在检索的重试之间等待1...SECONDS(适用于检索的 URL 超过 1 个)。 +--random-wait 在两次检索之间等待 0.5WAIT...1.5WAIT 秒(适用于检索的 URL 超过 1 个) +``` + +### 总结 + +我希望这个指南能帮助你解决 Linux 发行版中的 wget 错误。明显的方案是非常简单的。 + +如果有帮助或者你有任何问题,请在下面留言。 + +[参考][3] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/wget-not-found-error/ + +作者:[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/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Sample-example-of-how-to-use-wget.jpg +[3]: https://www.gnu.org/software/wget/ From e380f736df58903b8cf0173a5fd01101efc544ed Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 16 Nov 2022 08:53:40 +0800 Subject: [PATCH 439/925] translating --- sources/tech/20221022 What-s new in Fedora Workstation 37.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221022 What-s new in Fedora Workstation 37.md b/sources/tech/20221022 What-s new in Fedora Workstation 37.md index fb85a3e284..c18faec875 100644 --- a/sources/tech/20221022 What-s new in Fedora Workstation 37.md +++ b/sources/tech/20221022 What-s new in Fedora Workstation 37.md @@ -2,7 +2,7 @@ [#]: via: "https://fedoramagazine.org/whats-new-fedora-37-workstation/" [#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b3744abde60af895fcaa955f08b862aab3eb859a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 16 Nov 2022 09:02:27 +0800 Subject: [PATCH 440/925] RP @qfzy1233 https://linux.cn/article-15257-1.html --- ... Mint's Update Manager Now Supports Flatpak.md | 54 +++++++++---------- 1 file changed, 24 insertions(+), 30 deletions(-) rename {translated/news => published}/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md (51%) diff --git a/translated/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/published/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md similarity index 51% rename from translated/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md rename to published/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md index 765cf8c446..c961b20f61 100644 --- a/translated/news/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md +++ b/published/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md @@ -3,79 +3,73 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "qfzy1233" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15257-1.html" Linux Mint 的更新管理器现在支持 Flatpak ====== -Linux Mint的更新管理器变得为易用了! +> Linux Mint 的更新管理器变得更有用了! ![Linux Mint's Update Manager Now Supports Flatpak][1] -Linux Mint 的更新管理器是发行版的一个重要组成部分,它使新用户获得更为方便简易的体验。 +Linux Mint 的更新管理器是该发行版的一个重要组成部分,它使新用户可以获得更为方便简易的体验。 -Linux Mint 21最近的一次更新推出了的许多改进,包括更新管理器对 Flatpak 的支持。 +最近的一次更新 Linux Mint 21 推出了许多改进,包括更新管理器对 Flatpak 的支持。 -**你只需要更新你的系统来获得这些改进。** +**你只需要更新你的系统就可以获得这些改进。** ### ⭐ 更新管理器中支持 Flatpak ![linux mint 21 flatpak support in update manager][2] -图片来源:Linux Mint 博客 - 是的,你没看错。这终于实现了。 -Flatpak已被添加到更新管理器中,用户只需单击几下即可通过 Flatpak 更新应用程序和运行时。 +Flatpak 支持已被添加到更新管理器中,用户只需单击几下就能更新 Flatpak 应用程序和运行时。 -这将为进一步改善用户体验的统一更新体验让路。 +这将为进一步改善用户体验的统一更新体验提供了帮助。 -对于不熟悉终端命令的新用户来说,更新 Flatpak 是有助益的。此外,你不需要将 Flatpak 与软件中心集成(对于 GNOME 而言)。 +这对新用户来说很有好处,他们不需要熟悉终端命令就能更新 Flatpak。此外,你不需要将 Flatpak 与软件中心集成(对于 GNOME 而言)。 换句话说,Linux Mint 团队增强了你使用 Flatpak 应用程序的体验。 -**除了对Flatpak的支持,更新还包括对Linux Mint 21的更多增强,这是一个开箱即用的更新。** +**除了对 Flatpak 的支持,本次更新还包括对 Linux Mint 21 的更多增强,这是一个开箱即用的更新。** -这些改进包括: +这些改进包括: -### 对Corner Bar(LCTT译注:类似Windows系统内的“显示桌面”按钮)的改进 +### 对角栏的改进 ![linux mint 21 updated corner bar][3] -图片来源:Linux Mint 博客 +Linux Mint 21 中的 角栏Corner Bar 添加了两项新特性: -Linux Mint 21 中的 corner barhas 添加了两项新特性 +- 能够在角栏设置左键点击和中键点击的动作;你可以配置它以显示桌面、工作区选择器或桌面。 +- 一个允许你将鼠标悬停在角栏上以显示桌面的新选项。 -- **能够在 corner barhas 设置左键点击和中键点击的动作;你可以配置它以显示桌面、工作区选择器或桌面。** -- **一个允许你将鼠标悬停在 corner bar 上以显示桌面的新选项。** - -### Updates To Nemo +### Nemo 的更新 ![linux mint 21 updated nemo file manager][4] -图片来源:Linux Mint 博客 +Nemo 文件管理器做了一些调整;现在,当文件被选中时,只会高亮显示文件名,而不是图标和文件名。 -Nemo文件管理器做了一些调整;现在,当文件被选中时,只会高亮显示文件名,而不是图标和文件名。 +**如果你还不知道**, 你也可以通过我们建议的一些调整来增强 Nemo 文件管理器的体验: -**如果你还不知道**, 你也可以通过我们建议的一些调整来增强 Nemo 文件管理器的体验: +> **[调整 Linux 中的 Nemo 文件管理器,让它更好用的 15 种方法](https://itsfoss.com/nemo-tweaks/)** 此外,桌面图标被垂直翻转,桌面上下文菜单中添加了一个新的快捷方式,可以快速打开显示设置。 ### 更少的密码提示 -.这是你们很多人可能喜欢的另一个用户体验调整。 +这是很多人可能喜欢的另一个用户体验调整。 当删除 Flatpak 或任何快捷方式或本地应用程序时,它将不再要求你输入密码。 -类似地,在新立得(LCTT译注:Linux 下的一个包管理工具)和更新管理器的情况下,将使用pkexec来记住密码。 +类似地,在新立得(LCTT 译注:Linux 下的一个包管理工具)和更新管理器的情况下,将使用 pkexec 来记住密码。 这样,用户就不需要每次执行多个操作时都输入密码。 -你可以浏览[Linux Mint's monthly blog post][5] 以了解更多特性。 - -**Via: [DebugPointNews][6]** +你可以浏览 [Linux Mint 月度博客][5] 以了解其它变化。 -------------------------------------------------------------------------------- @@ -84,7 +78,7 @@ via: https://news.itsfoss.com/linux-mint-update-manager/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] 译者:[qfzy1233](https://github.com/qfzy1233) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 6680aa339559fc87333476aaaaaaa32a0c0d2839 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 16 Nov 2022 10:03:55 +0800 Subject: [PATCH 441/925] ALL @wxy https://linux.cn/article-15258-1.html --- .../20221115 Announcing Fedora Linux 37.md | 85 +++++++++++++++++++ .../20221115 Announcing Fedora Linux 37.md | 83 ------------------ 2 files changed, 85 insertions(+), 83 deletions(-) create mode 100644 published/20221115 Announcing Fedora Linux 37.md delete mode 100644 sources/news/20221115 Announcing Fedora Linux 37.md diff --git a/published/20221115 Announcing Fedora Linux 37.md b/published/20221115 Announcing Fedora Linux 37.md new file mode 100644 index 0000000000..4ce0157c9f --- /dev/null +++ b/published/20221115 Announcing Fedora Linux 37.md @@ -0,0 +1,85 @@ +[#]: subject: "Announcing Fedora Linux 37" +[#]: via: "https://fedoramagazine.org/announcing-fedora-37/" +[#]: author: "Matthew Miller https://fedoramagazine.org/author/mattdm/" +[#]: collector: "lujun9972" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15258-1.html" + +Fedora Linux 37 发布 +====== + +![][1] + +今天我很兴奋地与大家分享成千上万的 Fedora 项目贡献者的辛勤工作成果:Fedora Linux 37 版本来了!让我们看看这个最新版本给你带来了什么。一如既往,在从以前的版本升级之前,你应该确保你的系统是完全最新的。迫不及待地想开始了吗?在你阅读的同时 [下载][2]! + +> **[下载 Fedora Linux 37][2]** + +### 两个新的版本 + +Fedora 的各个“版本Edition”是针对某一特定“市场”的旗舰产品。在 Fedora Linux 37 中,我们增加了两个新版本:Fedora CoreOS 是你可能还记得的 Atomic Host 的后续版本。从 Project Atomic 和 CoreOS 的初始的工作中汲取营养,它提供了一种自动更新机制,以托管基于容器的工作负载。通过原子更新和简单的回滚,它为你的基础设施增加了安全感。 + +Fedora Cloud 也作为一个版本回来了。云计算工作组的活动已经重新开始了。Cloud 版本提供了一个很棒的 Fedora 基础,可以在你喜欢的公共或私有云中运行。AMI 将在本周晚些时候在 AWS 市场上提供,在社区频道上现在已经可以使用。请查看 [此网站][3] 以了解可以在其他云供应商或你自己的云上运行的镜像! + +### 桌面的改进 + +Fedora Workstation 专注于桌面体验。像往常一样,Fedora Workstation 采用了最新的 GNOME 版本。[GNOME 43][4] 在设置中包括一个新的设备安全面板,为用户提供关于系统中硬件和固件的安全信息。在上一个版本的基础上,更多的 GNOME 核心应用程序被移植到了最新版本的 GTK 工具包,提供了更好的性能和现代的外观。  + +在这个版本中,我们做了一些改变,让你的安装变得更精简。我们把 Firefox 浏览器的语言包分成了子包。这意味着如果你不需要本地化,你可以删除 `firefox-langpacks` 包。gettext 的运行包(帮助其他包产生多语言文本的工具)被分割成一个单独的、可选择的子包。 + +当然,我们生产的不仅仅是“版本”。Fedora [定制版][5]Spins[实验室][6]Labs 针对的是不同的受众和使用情况,包括 [Fedora Comp Neuro][7] ,它为计算神经科学提供工具,以及像 [Fedora LXQt][8] 这样的桌面环境,它提供一个轻量级桌面环境。而且,别忘了我们的备用架构。[ARM AArch64、Power 和 S390x][9]。 + +### 系统管理方面的改进 + +Fedora Server 现在可以生成一个 KVM 磁盘镜像,使在虚拟机中运行 Server 更加容易。如果你已经禁用了 SELinux(没关系 —— 我们仍然爱你!),你可以在影响较小的情况下重新开启它。自动标签现在以并行方式运行,使 “fixfiles” 操作更快。 + +为了跟上密码学的发展,这个版本引入了一个 `TEST-FEDORA39` 策略,预览了计划在未来版本中的变化。新策略之一是不再使用 SHA-1 签名。研究人员早就知道这种哈希值(就像之前的 MD5 一样)在许多安全方面的使用是不安全的。 + +在未来,我们可能会将 SHA-1 从 Fedora Linux 可接受的安全算法列表中移除。(正如 `TEST-FEDORA39` 这个名字所暗示的那样,也许最快也要到明年。)不过我们知道如今 SHA-1 哈希值仍然在使用。新的策略可以帮助你现在就测试你的关键应用程序,这样你就可以做好准备。请尝试一下,并让我们知道你在哪里遇到了问题。 + +说到密码学,openssl1.1 包现在已经废弃了。它还能用,但我们建议你更新你的代码,以使用 openssl 3。 + +### 其他更新 + +树莓派 4 现在在 Fedora Linux 中得到了正式支持,包括图形加速。在 ARM 的其他方面,Fedora Linux 37 放弃了对 ARMv7 架构(也被称为 arm32 或 armhfp)的支持。 + +在我们的“[First][10]”基础上,我们已经更新了关键的编程语言和系统库包,包括 Python 3.11、Golang 1.19、glibc 2.36 和 LLVM 15。 + +我们很高兴你能试用这个新版本!请到 下载。或者如果你已经在运行 Fedora Linux,请按照 [简易升级说明][11]。更多关于 Fedora Linux 37 的新功能的信息,请看 [发行说明][12]。 + +### 在不太可能发生的情况下... + +如果你遇到了问题,请访问我们的 [Ask Fedora][13] 用户支持论坛。这里有一个 [常见问题][14] 的分类。 + +### 谢谢大家 + +感谢在这个发布周期为 Fedora 项目做出贡献的成千上万的人。我们很高兴 Fedora 社区有你们。 + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/announcing-fedora-37/ + +作者:[Matthew Miller][a] +选题:[lujun9972][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/mattdm/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/f37-release-1-816x345.jpg +[2]: https://getfedora.org +[3]: https://getfedora.org/en/cloud/ +[4]: https://release.gnome.org/43/ +[5]: https://spins.fedoraproject.org/ +[6]: https://labs.fedoraproject.org/ +[7]: https://labs.fedoraproject.org/en/comp-neuro/ +[8]: https://spins.fedoraproject.org/en/lxqt/ +[9]: https://alt.fedoraproject.org/alt/ +[10]: https://docs.fedoraproject.org/en-US/project/#_first +[11]: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/ +[12]: https://docs.fedoraproject.org/en-US/fedora/f37/release-notes/ +[13]: https://ask.fedoraproject.org/ +[14]: https://ask.fedoraproject.org/c/common-issues/141/none diff --git a/sources/news/20221115 Announcing Fedora Linux 37.md b/sources/news/20221115 Announcing Fedora Linux 37.md deleted file mode 100644 index 1c4e6cf739..0000000000 --- a/sources/news/20221115 Announcing Fedora Linux 37.md +++ /dev/null @@ -1,83 +0,0 @@ -[#]: subject: "Announcing Fedora Linux 37" -[#]: via: "https://fedoramagazine.org/announcing-fedora-37/" -[#]: author: "Matthew Miller https://fedoramagazine.org/author/mattdm/" -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Announcing Fedora Linux 37 -====== - -![][1] - -Today I’m excited to share the results of the hard work of thousands of Fedora Project contributors: the Fedora Linux 37 release is here! Let’s see what the latest release brings you. As always, you should make sure your system is fully up-to-date before upgrading from a previous release. Can’t wait to get started? [Download][2] while you read! - -### New editions - -Fedora Editions are flagship offerings targeted at a particular “market”. With Fedora Linux 37, we’re adding two new Editions. Fedora CoreOS is the successor to what you may remember as Atomic Host. Drawing from Project Atomic and the original CoreOS work, it provides an automatic update mechanism geared toward hosting container-based workloads. With atomic updates and easy rollback, it adds peace of mind to your infrastructure. - -Fedora Cloud is also back as an Edition. The Cloud Working Group has seen a resurgence in activity. Cloud provides a great Fedora base to run in your favorite public or private cloud. AMIs will be available in the AWS Marketplace later this week and community channels are available now. Check the [website][3] for images in other cloud providers or for your own cloud! - -### Desktop improvements - -Fedora Workstation focuses on the desktop experience. As usual, Fedora Workstation features the latest GNOME release. [GNOME 43][4] includes a new device security panel in Settings, providing the user with information about the security of hardware and firmware on the system. Building on the previous release, more core GNOME apps have been ported to the latest version of the GTK toolkit, providing improved performance and a modern look.  - -With this release, we’ve made a few changes to allow you to slim down your installation a bit. We split the language packs for the Firefox browser into subpackages. This means you can remove the “firefox-langpacks” package if you don’t need the localization. The runtime packages for gettext — the tools that help other packages produce multilingual text — are split into a separate, optional subpackage. - -Of course, we produce more than just the Editions. [Fedora Spins][5] and [Labs][6] target a variety of audiences and use cases, including [Fedora Comp Neuro][7], which provides tools for computational neuroscience, and desktop environments like [Fedora LXQt][8], which provides a lightweight desktop environment. And, don’t forget our alternate architectures: [ARM AArch64, Power, and S390x][9]. - -### Sysadmin improvements - -Fedora Server now produces a KVM disk image to make running Server in a virtual machine easier. If you’ve disabled SELinux (it’s okay — we still love you!), you can turn it back on with less impact. The autorelabel now runs in parallel, making the “fixfiles” operation much faster. - -In order to keep up with advances in cryptography, this release introduces a TEST-FEDORA39 policy that previews changes planned for future releases. The new policy includes a move away from SHA-1 signatures. Researchers have long known that this hash (like MD5 before it) is not safe to use for many security purposes. - -In the future, we are likely to remove SHA-1 from the list of acceptable security algorithms in Fedora Linux. (As the name TEST-FEDORA39 implies, perhaps as soon as next year.) We know there are still SHA-1 hashes in use today, however. The new policy helps you test your critical applications now so that you’ll be ready. Please try it out, and let us know where you encounter problems. - -Speaking of cryptography, the openssl1.1 package is now deprecated. It will remain available, but we recommend you update your code to work with openssl 3. - -### Other updates - -The Raspberry Pi 4 is now officially supported in Fedora Linux, including accelerated graphics. In other ARM news, Fedora Linux 37 drops support for the ARMv7 architecture (also known as arm32 or armhfp). - -Following our “[First][10]” foundation, we’ve updated key programming language and system library packages, including Python 3.11, Golang 1.19, glibc 2.36, and LLVM 15. - -We’re excited for you to try out the new release! Go to and download it now. Or if you’re already running Fedora Linux, follow the [easy upgrade instructions][11]. For more information on the new features in Fedora Linux 37, see the [release notes][12]. - -### In the unlikely event of a problem… - -If you run into a problem, visit our [Ask Fedora][13] user-support forum. This includes a category for [common issues][14]. - -### Thank you everyone - -Thanks to the thousands of people who contributed to the Fedora Project in this release cycle. We love having you in the Fedora community. - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/announcing-fedora-37/ - -作者:[Matthew Miller][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://fedoramagazine.org/author/mattdm/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/f37-release-1-816x345.jpg -[2]: https://getfedora.org -[3]: https://getfedora.org/en/cloud/ -[4]: https://release.gnome.org/43/ -[5]: https://spins.fedoraproject.org/ -[6]: https://labs.fedoraproject.org/ -[7]: https://labs.fedoraproject.org/en/comp-neuro/ -[8]: https://spins.fedoraproject.org/en/lxqt/ -[9]: https://alt.fedoraproject.org/alt/ -[10]: https://docs.fedoraproject.org/en-US/project/#_first -[11]: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/ -[12]: https://docs.fedoraproject.org/en-US/fedora/f37/release-notes/ -[13]: https://ask.fedoraproject.org/ -[14]: https://ask.fedoraproject.org/c/common-issues/141/none From 62b7022a75410905e812738894a484e003c3a0c2 Mon Sep 17 00:00:00 2001 From: Cubik Date: Wed, 16 Nov 2022 10:35:50 -0500 Subject: [PATCH 442/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90][?= =?UTF-8?q?talk]:=2020221112.0=20=E2=AD=90=EF=B8=8F=20Learn=20Python=207?= =?UTF-8?q?=20of=20my=20favorite=20resources.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Learn Python 7 of my favorite resources.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md index 275e9c9527..e72764c99b 100644 --- a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md +++ b/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md @@ -7,48 +7,48 @@ [#]: publisher: " " [#]: url: " " -Learn Python: 7 of my favorite resources +学习 Python:我最喜欢的 7 个资源 ====== -Over the years, I've honed my Python skills thanks to these open source resources. +这些年来,我通过这些开源资源提高了我的 Python 技能。 -I made a decision recently that I wanted to learn more Python so I could improve my instructional skills and broaden the horizons of my students. In the process, I have discovered these excellent resources that have me learning new code and improving my understanding of Python in general. +我最近决定进一步学习 Python,以便提高我的教学技能,拓宽我的学生的视野。在这个过程中,我发现了这些优秀的资源,让我学习新的代码,并提高了对 Python 的整体理解。 -### 1. Teach your kids to code +### 1. 教你的孩子编程 -I began the Python journey about seven years ago when I discovered connections between Apple LOGO and the [Turtle module][1] in Python. The Linux computer I was using at the time defaulted to Python 2.7, and I soon discovered that I wanted to use Python 3. I managed to get it installed and began writing some simple programs using the Turtle module. After reading Dr. Bryson Payne’s [Teach Your Kids to Code][2], I realized there was a lot more to Python than just Turtle. That’s when I installed [IDLE][3]. +我的 Python 之旅大约是 7 年前开始的,当时我发现了 Apple LOGO 和 Python 中的 [Turtle 模块][1] 之间的联系。当时使用的 Linux 计算机的默认 Python 版本为 Python 2.7,我很快发现我想使用 Python 3。我成功地安装了它,并开始使用 Turtle 模块编写一些简单的程序。在阅读 Dr. Bryson Payne 的 [教你的孩子编程][2] 之后,我意识到 Python 不仅仅是 Turtle。那时我安装了 [IDLE][3]。 ### 2. IDLE -Working with IDLE, the interactive interface improved my experience and made me confident enough to consider teaching Python to students. I volunteered to help a group of home-schooled children in my community and soon found myself teaching a class of sixteen! I’m glad their parents stayed and agreed to be my assistants, otherwise I think I’d have been overwhelmed. The experience whetted my appetite to learn more so I could teach more. +在使用 IDLE 工作的过程中,交互式界面优化了我的体验,并让我有足够的信心来考虑向学生教授 Python。我志愿帮助我社区中的一群在家学习的孩子,很快我发现自己在教授一个有十六个孩子的班级!我很高兴他们的父母同意帮助我,否则我想我会被压垮。这个经历激发了我学习更多的欲望,以便我可以教授更多。 -### 3. Mu Editor +### 3. Mu 编辑器 -The following spring in 2018 I attended PyConUS. I listened to a talk by [Nicholas Tollervey][4], a middle school teacher, who had written a Python development environment for school-age children. The [Mu editor][5] has a linter built into it, which helped me to see where my errors in programming were. Mu helped me improve my coding skills, and I was able to share that with students, who benefitted as well. +2018 年春天,我参加了 PyConUS。我听了一场由中学老师 [Nicholas Tollervey][4] 主讲的演讲,他为学龄前儿童编写了一个 Python 开发环境。[Mu 编辑器][5] 内置了一个可以帮助我找到代码中的错误的 linter。Mu 帮助我提高了我的编码技能,我也能够与学生分享这些技能,他们也从中受益。 -As my confidence and experience grew, I became eager to share the Python journey with still more students. I co-wrote a grant the following year to teach a class that used Raspberry Pi 4 computers and Python. The pandemic interrupted that experience. In the interim, the Raspberry Pi Foundation released the Pi 400. In the spring of 2021, I used the materials I had developed the previous year and a generous grant from a local library to [teach two groups][6] of students how to program. That event was so successful that it was repeated this year. +我的自信和经验增长后,我希望与更多的学生分享 Python 之旅。我与其他人合作撰写了一个申请书,以教授一个使用树莓派 4 和 Python 的课程。疫情打断了这个计划。在此期间,树莓派基金会发布了 Pi 400。2021 年春天,我使用了前一年开发的材料和一个来自当地图书馆的慷慨的资助,来 [教授两组][6] 学生如何编程。这个活动非常成功并在今年再次举办。 ### 4. Codium -Several years ago, I learned that Microsoft’s Visual Studio Code is an open source code editor that can be used on Linux. One of the aspects of my Python learning journey that had eluded me until recently was how to set up and use a virtual environment for Python programming, which had been suggested when using VS Code. My questions were answered here on Opensource.com in an [article about venv][7], and that opened the door to learning how to set up and configure Python virtual environments on my Linux computer. Around the same time, I found [Codium][8], a community project built around VS Code. +几年前,我了解到微软的 Visual Studio Code 是一个可以在 Linux 上使用的开源代码编辑器。我最近才了解到,如何在 VS Code 中配置和使用 Python 虚拟环境。我的问题在 Opensource.com 上一篇 [关于虚拟环境的文章][7] 中得到了解答,这让我可以知道如何在 Linux 计算机上设置和配置 Python 虚拟环境。大约在同一时间,我发现了 [Codium][8],一个围绕 VS Code 构建的社区项目。 -Now I want to share the VS Codium experience with my students and open their understanding of Python beyond the Turtle module. This zest for learning has me looking for training resources that are open source and freely available on the internet. +现在我希望与我的学生分享 VS Codium 的体验,并让他们对 Python 的理解不再局限于 Turtle 模块。这种学习的热情让我寻找开源且可以在互联网上随意获得的教学资源。 -### 5. Python gently explained +### 5. 简单解释 Python -The book [Automate the Boring Stuff with Python][9] by Al Sweigart has long been a favorite of mine. Now, the author has released [Python Programming Exercises, Gently Explained][10]. Both books are available online for free and are openly licensed with Creative Commons license. +[使用 Python 自动化繁琐的事情][9] 这本书是我最喜欢的一本书。现在,作者已经发布了 [Python 编程练习,简单解释][10]。这两本书都可以免费在线阅读,并且都采用了知识共享许可证。 -### 6. Python for everyone +### 6. Python for Everyone -Dr. Charles Severance released [Python for Everyone][11] in 2017, which I highly recommend. He provides "bite size" lessons for aspiring programmers like me. The code for the course is available on [GitHub][12], so you can download it and install it on your own computer or school network. +Dr. Charles Severance 在 2017 年发布了 [Python for Everyone][11],我非常推荐这本书。他为像我这样的有抱负的程序员提供了简短的课程。课程的代码可以在 [GitHub][12] 上找到,所以你可以下载它并在自己的计算机或学校网络上安装它。 -### 7. Python videos +### 7. Python 视频 -Recently I learned that Opensource.com alumnus [Jay LaCroix][13] has an excellent series of twenty-eight videos available for free on YouTube that begin with Python basics and span the gamut of a solid introduction to [Python programming][14]. Best of all, he uses a Linux computer, so his lessons are especially appropriate for a Linux programming environment. One of the takeaways from these videos is learning to use [nano][15] as a programming environment, and it’s included by default in most Linux distributions. +最近,我了解到 Opensource.com 的成员 [Jay LaCroix][13] 在 YouTube 上有一系列精彩的视频,其中包括 28 个免费视频,从 Python 基础开始,涵盖了 [Python 编程][14] 的全面介绍。最重要的是,他使用的是 Linux 计算机,因此他的课程特别适合 Linux 编程环境。这些视频的其中一个收获是学习如何使用 [nano][15] 作为编程环境,它默认情况下包含在大多数 Linux 发行版中。 -### Your learning path +### 你的学习之路 -These seven resources have helped me grow as a programmer, and it’s all open source and available to share with others. How have you been honing your programming skills? What would you like to share? Let us know in the comments. +此处提到的这七个资源帮助我成长为一名程序员,它们都是开源的并可以与其他人分享。你是如何提高编程技能的?你有什么要分享的吗?在评论中告诉我们。 -------------------------------------------------------------------------------- From aa5fbe65508415cd8cc17838265b23a0390c4b9f Mon Sep 17 00:00:00 2001 From: Cubik Date: Wed, 16 Nov 2022 10:36:14 -0500 Subject: [PATCH 443/925] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?talk]:=2020221112.0=20=E2=AD=90=EF=B8=8F=20Learn=20Python=207?= =?UTF-8?q?=20of=20my=20favorite=20resources.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md (100%) diff --git a/sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/translated/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md similarity index 100% rename from sources/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md rename to translated/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md From 43b54eb56ae410f6ea4411561c130af80a682309 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 17 Nov 2022 08:42:27 +0800 Subject: [PATCH 444/925] translated --- ...️ How to Fix sudo Command Not Found Error.md | 102 ----------------- ...️ How to Fix sudo Command Not Found Error.md | 103 ++++++++++++++++++ 2 files changed, 103 insertions(+), 102 deletions(-) delete mode 100644 sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md create mode 100644 translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md diff --git a/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md deleted file mode 100644 index b8d26eeaf6..0000000000 --- a/sources/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: subject: "How to Fix: sudo Command Not Found Error" -[#]: via: "https://www.debugpoint.com/sudo-command-not-found/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Fix: sudo Command Not Found Error -====== - -**Here’s how you can fix the “sudo command not found” error in Debian, Ubuntu and other distros.** - -Sometimes, when you set up or install [Linux distributions][1] for the first time, you get the “sudo command not found” error while trying some commands with sudo. - -The sudo command is an abbreviation of “superuser do”, and it is a program which allows a user to execute a command with admin privileges. The sudo command helps you run programs/commands like an admin user. - -Also, the user, who is running the command with sudo must be a part of the sudo group. - -The primary reason you get this error is that the package itself is not installed. However, most modern Linux distribution provides this by default, but some don’t. - -Here are the steps you should follow to fix it. - -#### Troubleshooting#1 - -- First, install the sudo package to fix the problem. Open a terminal, refresh your system and run the following commands to install sudo. - -For Ubuntu, Debian and related distros: - -``` -su -apt updateapt install sudo -``` - -For Arch Linux: - -``` -pacman -S sudo -``` - -For Fedora, RHEL, etc: - -``` -su -dnf updatednf install sudo -``` - -- After the above installation is complete, you have to add the user to `sudo` group using the following command - -`usermod -aG sudo ` - -- Then run the `visudo` from the terminal and the following line. Press CTRL+O and CTRL+X to save & exit. - -![Updating the sudoers file using visudo][2] - -- Log off and log in again to reflect the change. - -#### Troubleshooting#2 - -After the above change, if you are still getting the error, then follow the below steps. - -Make sure your `$PATH` variable contains the proper path to the `sudo` executable. If the `sudo` is installed, but the `$PATH` is incorrect, you can also get this error. Ideally, your path should contain all the below paths. - -``` -echo $PATH -``` - -``` -/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin -``` - -To change the path variable, use the following command. For example, if the `/usr/bin` is not present, then you can add it via below - -``` -export PATH=$PATH:/usr/bin -``` - -Then log out and log in to see the effect. - -### Wrapping Up - -I hope this guide helps you to fix the sudo error in your Linux distros. The apparent solution is quite simple, really. - -Drop a note below if it helps/or if you have any questions. - -[Reference][3] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/sudo-command-not-found/ - -作者:[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/category/distributions -[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Updating-the-sudoers-file-using-visudo.jpg -[3]: https://linux.die.net/man/8/sudo diff --git a/translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md new file mode 100644 index 0000000000..53ae33a283 --- /dev/null +++ b/translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md @@ -0,0 +1,103 @@ +[#]: subject: "How to Fix: sudo Command Not Found Error" +[#]: via: "https://www.debugpoint.com/sudo-command-not-found/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何修复:“sudo Command Not Found” 错误 +====== + +**以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “sudo command not found” 错误的方法**。 + +有时,当你第一次设置或安装 [Linux 发行版][1]时,你在用 sudo 尝试一些命令时,会出现 “sudo command not found” 的错误。 + +sudo 命令是 “superuser do” 的缩写,它是一个允许用户以管理员权限执行命令的程序。sudo 命令帮助你像管理员用户一样运行程序/命令。 + +此外,用 sudo 运行命令的用户必须是 sudo 组的一部分。 + +你看到这个错误的主要原因是该软件包本身没有安装。然而,大多数现代 Linux 发行版都默认提供了这个功能,但有些则没有。 + +下面是解决这个问题需要遵循的步骤。 + +#### 故障排除#1 + +- 首先,安装 sudo 包来解决这个问题。打开一个终端,刷新你的系统,并运行以下命令来安装 sudo。 + +对于 Ubuntu、Debian 和相关发行版: + +``` +su -apt updateapt install sudo +``` + +对于 Arch Linux: + +``` +pacman -S sudo +``` + +对于 Fedora、RHEL 等: + +``` +su -dnf updatednf install sudo +``` + +- 上述安装完成后,你必须使用以下命令将用户添加到 `sudo` 组中。 + +`usermod -aG sudo ` + +- 然后从终端运行 `visudo`,并运行以下行。按 CTRL+O 和 CTRL+X 来保存和退出。 + + +![使用 visudo 更新 sudoers 文件][2] + +- 退出并再次登录使变化生效。 + +#### 故障排除#2 + +在做了上述改变之后,如果你仍然收到错误信息,那么请按照以下步骤操作。 + +确保你的 `$PATH` 变量包含 `sudo` 可执行文件的正确路径。如果 `sudo` 已经安装,但 `$PATH` 不正确,你也会得到这个错误。理想情况下,你的路径应该包含以下所有的路径。 + +``` +echo $PATH +``` + +``` +/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin +``` + +要改变路径变量,使用以下命令。例如,如果 `/usr/bin` 不存在,那么你可以通过以下方式添加它。 + +``` +export PATH=$PATH:/usr/bin +``` + +然后注销并登录查看效果。 + +### 总结 + +我希望这个指南能帮助你解决 Linux 发行版中的 sudo 错误。表面上的解决方案很简单,真的。 + +如果有帮助,或者如果你有任何问题,请在下面留言,。 + +[参考][3] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/sudo-command-not-found/ + +作者:[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/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Updating-the-sudoers-file-using-visudo.jpg +[3]: https://linux.die.net/man/8/sudo \ No newline at end of file From 78eaa632bd3de651718faa9cf6efc228076963cf Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 17 Nov 2022 09:10:32 +0800 Subject: [PATCH 445/925] translating --- ...o Install LibreOffice Base Database in Ubuntu and Other Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md index b4d8271f1a..02f6c67b5b 100644 --- a/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md +++ b/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/install-libreoffice-base-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From db5561e96f5f6e464a881059f65be65a879af4f0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 17 Nov 2022 09:25:00 +0800 Subject: [PATCH 446/925] RP @geekpi https://linux.cn/article-15260-1.html --- ...3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 238 ++++++++++++++++++ ...3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 185 -------------- 2 files changed, 238 insertions(+), 185 deletions(-) create mode 100644 published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md delete mode 100644 translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md diff --git a/published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md new file mode 100644 index 0000000000..61887b03ba --- /dev/null +++ b/published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md @@ -0,0 +1,238 @@ +[#]: subject: "How to Install Node.js on RHEL 9" +[#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" +[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15260-1.html" + +如何在 RHEL 9 上安装 Node.js +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/17/092223tdodvvfdnsjiezxv.jpg) + +> 在这篇文章中,我们将逐步解释如何在 RHEL 9 系统上安装 Node.js。 + +[Node.js][1] 基于谷歌的 V8 JavaScript 引擎构建,它是一个自由开源的跨平台 JavaScript 运行时环境,主要用于构建服务器端应用。它使用事件驱动和异步模型,帮助开发人员构建高度可扩展的数据密集型的实时应用(RTA)。你可以使用 NodeJS 来构建前端和后端应用。 + +Node.js 通常用于构建以下应用: + +- 聊天应用 +- 流媒体应用 +- 浏览器游戏 +- 命令行工具 +- 嵌入式系统 + +在其技术栈中使用 NodeJS 的顶级公司包括 PayPal、NetFlix 和 Uber 等等。 + +安装 Node.js 主要有以下三种方式: + +- 从 NodeSource 仓库安装 Node.js +- 从发行版的官方仓库安装 Node.js +- 使用 NVM 安装 Node.js + +让我们看看如何使用这些方法在 RHEL 9 上安装 Node.js。 + +先决条件: + +- 最小化安装的 RHEL 9 系统 +- 具有管理员权限的 [sudo 用户][2] +- 互联网连接 +- Red Hat 订阅或本地配置的仓库 + +### 从 NodeSource 存储库安装 Node.js + +[NodeSource][3] 是一家技术公司,旨在帮助组织运行生产就绪的 Node.js 应用,关注资源使用以及增强的安全性和应用程序性能。它提供了最新版本的 Node.js 和 NPM。 + +要从 NodeSource 安装 Node.js,首先,按如下所示更新系统包。 + +``` +$ sudo dnf update -y +``` + +![][5] + +接下来,安装这期间所需的构建工具。其中包括 GCC C/C++ 编译器、Perl 和 Python 调试器等等。 + +``` +$ sudo dnf groupinstall 'Development Tools' -y +``` + +![][6] + +接下来,我们将从 NodeSource 安装 Node.js 18.x。为此,请下载并运行 NodeSource 设置脚本,如下所示。 + +``` +$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - +``` + +该脚本在其他任务中将 NodeSource 仓库添加到你的系统。 + +![][7] + +在输出的末尾,你将看到一些关于如何安装 Node.js 和 NPM 的附加说明。 + +![][8] + +因此,要安装 Node.js 和 NPM(Node 包管理器),请运行以下命令: + +``` +$ sudo dnf install nodejs -y +``` + +![][9] + +安装完成后,按如下所示验证 Node.js 和 NPM 的版本。 + +``` +$ node -v +$ npm -v +``` + +![][10] + +输出显示我们正在运行 Node v18.12,它是最新的 LTS 版本和 NPM 8.19.2。 + +### 从官方 RHEL 仓库安装 Node.js + +安装 NodeJS 和 NPM 的另一种方法是从发行版的官方仓库中安装它们。但是,这种方法不提供最新版本。 + +如果你不介意不安装最新版本的 Node 和 NPM。 那么在命令行上运行以下命令。 + +``` +$ sudo dnf update -y +$ sudo dnf install nodejs npm -y +``` + +![][11] + +### 使用 NVM 安装 Node.js + +最后,你可以使用 NVM(Node 版本管理器)安装 Node.js,这是一种用于管理系统上 Node 版本的工具。该工具可帮助开发人员在需要不同版本 Node.js 的不同项目上高效工作。 + +默认情况下没安装 NVM。你需要通过运行 [官方 GitHub 页面][4] 上提供的 Shell 脚本来安装它。 + +``` +$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash +``` + +这会下载 NVM 并将其保存在主目录的 `.nvm` 目录中。 + +![][12] + +安装后,关闭终端会话并打开一个新终端。然后运行以下命令确认 NVM 已经安装。 + +``` +$ command -v nvm +``` + +![][13] + +接下来,你可以使用以下命令列出所有可用的 Node.js 版本: + +``` +$ nvm ls-remote +``` + +![][14] + +或者,你可以列出 Node.js 版本的所有最新 LTS 版本,如图所示。 + +``` +$ nvm ls-remote | grep -i latest +``` + +![][15] + +要安装最新版本的 Node.js(当前为 v19.0.0),请运行以下命令: + +``` +$ nvm install node +``` + +![][16] + +然后,你可以验证安装的 Node.js 版本,如下所示。 + +``` +$ node -v +``` + +![][17] + +此外,你可以安装特定版本的 Node.js。例如,要安装 v18.2.0,请运行以下命令: + + +``` +$ nvm install v18.12.0 +``` + +![][18] + +要列出系统上所有已安装的 NodeJS 版本,请运行以下命令: + +``` +$ nvm ls +``` + +第一行带有 “->” 符号的条目指向当前使用的 Node.js 版本。然后是其他版本。 + +![][19] + +要切换到另一个版本的 Node.js,请使用以下语法: + +``` +$ nvm use +``` + +例如,要使用 Node 版本 19.0.0,请运行以下命令: + +``` +$ nvm use 19.0.0 +``` + +![][20] + +再次检查已安装的 Node.js 版本,这次“->” 符号将指向 v19.0.0。 + +![][21] + +### 总结 + +在本指南中,我们演示了如何使用三种不同的方法安装 Node.js。此外,我们还提供了几种使用 NVM 管理 Node 版本的方法。我们希望可以帮助你轻松地在 RHEL 上安装 NodeJS,并选择你想要在项目中使用的版本。 + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/ + +作者:[James Kiarie][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/james/ +[b]: https://github.com/lkxed +[1]: https://nodejs.org/en/about/ +[2]: https://www.linuxtechi.com/create-sudo-user-on-rhel-rocky-linux-almalinux/ +[3]: https://nodesource.com/ +[4]: https://github.com/nvm-sh/nvm +[5]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Install-updates-rhel9-system.png +[6]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Install-development-tools-rhel9-dnf-command.png +[7]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Add-NodeSource-Repository-RHEL9.png +[8]: https://www.linuxtechi.com/wp-content/uploads/2022/11/NodeSource-Repository-Output-RHEL9.png +[9]: https://www.linuxtechi.com/wp-content/uploads/2022/11/dnf-install-nodejs-rhel9.png +[10]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Verify-NodeJs-NPM-Version-RHEL9.png +[11]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Install-NodeJS-NPM-RHEL9-Official-Repo.png +[12]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Installing-NodeJS-Using-NVM.png +[13]: https://www.linuxtechi.com/wp-content/uploads/2022/11/nmv-command-interface-rhel9.png +[14]: https://www.linuxtechi.com/wp-content/uploads/2022/11/list-nodejs-using-nvm-command-rhel9.png +[15]: https://www.linuxtechi.com/wp-content/uploads/2022/11/list-latest-nodejs-using-nvm-command-rhel9.png +[16]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Install-latest-nodejs-with-nvm-rhel9.png +[17]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Verify-nodejs-npm-version-with-node-nvm.png +[18]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Install-specific-nodejs-version-nvm-command-rhel9.png +[19]: https://www.linuxtechi.com/wp-content/uploads/2022/11/nvm-ls-command-rhel9.png +[20]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Use-Specific-NodeJs-Version-RHEL9.png +[21]: https://www.linuxtechi.com/wp-content/uploads/2022/11/Check-NodeJS-Version-after-switching-rhel9.png \ No newline at end of file diff --git a/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md deleted file mode 100644 index cd96c378a6..0000000000 --- a/translated/tech/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md +++ /dev/null @@ -1,185 +0,0 @@ -[#]: subject: "How to Install Node.js on RHEL 9" -[#]: via: "https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/" -[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何在 RHEL 9 上安装 Node.js -====== - -在这篇文章中,我们将逐步解释如何在 RHEL 9 系统上安装 Node.js。 - -[Node.js][1] 是基于 Google 的 V8 Javascript 引擎构建,它是一个免费的开源跨平台 JavaScript 运行时,主要用于构建服务器端应用。它使用事件驱动和异步模型,帮助开发人员构建高度可扩展的数据密集型实时应用 (RTA)。你可以使用 NodeJS 来构建前端和后端应用。 - -Node.js 通常用于构建以下应用: - -- 聊天应用 -- 流媒体应用 -- 浏览器游戏 -- 命令行工具 -- 嵌入式系统 - -在其技术栈中使用 NodeJS 的顶级公司包括 PayPal、Netflix 和 Uber 等等。 - -安装 Node.JS 主要有以下三种方式: - -- 从 NodeSource 仓库安装 Node.JS -- 从发行版的官方仓库安装 Node.JS -- 使用 NVM 安装 Node.JS - -让我们看看如何使用这些方法在 RHEL 9 上安装 Node.JS。 - -##### 先决条件 - -- 最少化安装的 RHEL 9 系统 -- 具有管理员权限的 [Sudo 用户][2] -- 互联网连接 -- Red Hat 订阅或本地配置的仓库 - -### 从 NodeSource 存储库安装 Node.js - -[NodeSource][3] 是一家技术公司,旨在帮助组织运行生产就绪的 Node.Js 应用,更加关注资源使用以及增强的安全性和应用程序性能。它提供了最新版本的 Node.JS 和 NPM。 - -要从 Nodesource 安装 Node.JS,首先,如下所示更新系统包。 - -``` -$ sudo dnf update -y -``` - -接下来,安装在安装 Node.JS 期间所需的构建工具。其中包括 GCC c/c++ 编译器、Perl 和 Python 调试器等等。 - -``` -$ sudo dnf groupinstall 'Development Tools' -y -``` - -接下来,我们将从 Nodesource 安装 Node.JS 18.x。为此,请下载并运行 NodeSource 设置脚本,如下所示。 - -``` -$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - -``` - -该脚本在其他任务中将 Nodesource 仓库添加到您的系统。 - -在输出的末尾,你将看到一些关于如何安装 Node.JS 和 npm 的附加说明。 - -因此,要安装 Node.JS 和 npm(Node 包管理器),请运行以下命令: - -``` -$ sudo dnf install nodejs -y -``` - -安装完成后,如图所示验证 Node.JS 和 NPM 的版本。 - -``` -$ node -v -$ npm -v -``` - -输出显示我们正在运行 Node v18.12,它是最新的 LTS 版本和 NPM 8.19.2。 - -### 从官方 RHEL 仓库安装 Node.js - -安装 NodeJS 和 NPM 的另一种方法是从发行版的官方仓库中安装它们。但是,这种方法不提供最新版本。 - -如果你不介意不安装最新版本的 Node 和 NPM。 那么在命令行上运行以下命令。 - -``` -$ sudo dnf update -y -$ sudo dnf install nodejs npm -y -``` - -### 使用 NVM 安装 Node.js - -最后,你可以使用 NVM(Node 版本管理器)安装 Node.JS,这是一种用于管理系统上 Node 版本的工具。该工具可帮助开发人员在需要不同版本 Node.JS 的不同项目上高效工作。 - -默认情况下没安装 NVM。你需要通过运行[官方 GitHub 页面][4]上提供的 Shell 脚本来安装它。 - -``` -$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash -``` - -这会下载 nvm 并将其保存在主目录的 .nvm 目录中。 - -安装后,关闭终端会话并打开一个新终端。然后运行以下命令确认 NVM 已经安装。 - -``` -$ command -v nvm -``` - -接下来,你可以使用以下命令列出所有可用的 Node.JS 版本: - -``` -$ nvm ls-remote -``` - -或者,你可以列出 Node.JS 版本的所有最新 LTS 版本,如图所示。 - -``` -$ nvm ls-remote | grep -i latest -``` - -要安装最新版本的 Node.JS(当前为 v19.0.0),请运行以下命令: - -``` -$ nvm install node -``` - -然后,你可以验证安装的 Node 版本,如下所示。 - -``` -$ node -v -``` - -此外,你可以安装特定版本的 Node.JS。例如,要安装 v18.2.0,请运行以下命令: - - -``` -$ nvm install v18.12.0 -``` - -要列出系统上所有已安装的 NodeJS 版本,请运行以下命令: - -``` -$ nvm ls -``` - -第一行带有 (->) 符号的条目指向当前使用的 Node.JS 版本。然后是其他版本。 - -要切换到另一个版本的 Node.JS,请使用以下语法: - -``` -$ nvm use -``` - -例如,要使用 Node 版本 19.0.0,请运行以下命令: - -``` -$ nvm use 19.0.0 -``` - -再次检查已安装的 Node.JS 版本,这次(->)符号将指向 v19.0.0 - -##### 总结 - -在本指南中,我们演示了如何使用三种不同的方法安装 Node.js。 此外,我们还提供了几种使用 NVM 管理 Node 版本的方法。 我们希望你现在可以轻松地在 RHEL 上安装 NodeJS,并选择你想要在项目中使用的版本。 - --------------------------------------------------------------------------------- - -via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/ - -作者:[James Kiarie][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.linuxtechi.com/author/james/ -[b]: https://github.com/lkxed -[1]: https://nodejs.org/en/about/ -[2]: https://www.linuxtechi.com/create-sudo-user-on-rhel-rocky-linux-almalinux/ -[3]: https://nodesource.com/ -[4]: https://github.com/nvm-sh/nvm From faec27129595393e266641f56e76b9ea2739a214 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 17 Nov 2022 10:10:52 +0800 Subject: [PATCH 447/925] RP @Cubik65536 https://linux.cn/article-15261-1.html --- ...6 ⭐️ Using Python in VS Code and Codium.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) rename {translated/tech => published}/20221109.6 ⭐️ Using Python in VS Code and Codium.md (63%) diff --git a/translated/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/published/20221109.6 ⭐️ Using Python in VS Code and Codium.md similarity index 63% rename from translated/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md rename to published/20221109.6 ⭐️ Using Python in VS Code and Codium.md index 84e28d5b9f..a605e375ed 100644 --- a/translated/tech/20221109.6 ⭐️ Using Python in VS Code and Codium.md +++ b/published/20221109.6 ⭐️ Using Python in VS Code and Codium.md @@ -3,18 +3,20 @@ [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15261-1.html" -在 VS Code 和 Codium 中使用 Python +在 VS Code 和 Codium 中编写 Python 程序 ====== -如果你正在寻找一个优秀的、通用的、开源的、带有 Python 集成的代码编辑器,那么你可以尝试一下 Codium。 +![][0] -在过去几年内,我有幸和中学生们一起,并带他们入门 [Python 开发][1] 和 Raspberry Pi 400。这一切都很有趣,Pi 对于学生和我来说都是一个很好的平台。我们使用了 [Code with Mu][2],并且一切都很成功。我们的 Python 技能随着经验的增长而增长,因此最近我开始寻找给这些学生提供更多东西的方法。 +> 如果你正在寻找一个优秀的、通用的、开源的、带有 Python 集成的代码编辑器,那么你可以尝试一下 Codium。 -我参与了一个 Python 课程并在课程中接触了 Microsoft 的 Visual Studio Code。我在课程中学到了很多关于如何为 Python 设置虚拟环境以及如何为 Python 编程配置 VS Code 的知识。在学习过程中,我也认识了 [Codium][3],它本质上是 VS Code,但没有 Microsoft 的品牌和遥测。 +在过去几年内,我有幸和中学生们一起,并带他们入门 [Python 开发][1] 和树莓派 400。这一切都很有趣,树莓派对于学生和我来说都是一个很好的平台。我们使用了 [Code with Mu][2],并且一切都很成功。我们的 Python 技能随着经验的增长而增长,因此最近我开始寻找给这些学生提供更多东西的方法。 + +我参与了一个 Python 课程并在课程中接触了微软的 Visual Studio Code。我在课程中学到了很多关于如何为 Python 设置虚拟环境,以及如何为 Python 编程配置 VS Code 的知识。在学习过程中,我也认识了 [Codium][3],它基本上是没有微软品牌和遥测的 VS Code。 如果你正在寻找一个优秀的、通用的、开源的、带有 Python 集成的代码编辑器,那么你可以尝试一下 Codium。下面是我在 Linux 系统上为 Python 设置 Codium 的方法。 @@ -42,23 +44,23 @@ $ sudo apt install python3.10-venv 接下来,在你的电脑上 [安装 Codium][4]。在 Linux 上,你可以下载一个包并使用你的包管理器安装它,或者 [使用 Flatpak][5]。 -在安装好 Codium 之后,打开你的应用程序或活动菜单,输入 “Code” 以启动它。 +在安装好 Codium 之后,打开你的应用程序或活动菜单,输入 `code` 以启动它。 ### 安装 VS Code Python 扩展 代码其实不是什么特别的东西。它只是一些其他应用程序(编译器或运行时)解释的纯文本。你可以在 Codium 中编写 Python 代码而不需要特殊的扩展。但是,有一个 Python 扩展可以为你带来一些方便的功能。 -点击**文件**菜单,选择**首选项**,然后选择**扩展**。在**扩展**面板中,搜索 Python IntelliSense 扩展。 +点击“文件File”菜单,选择“首选项Preferences”,然后选择“扩展Extensions”。在“扩展Extensions”面板中,搜索 Python IntelliSense 扩展。 -![VS Code 和 Codium 都有一个扩展管理器,它会在页面左侧打开,允许你安装附加模块。][6] +![VS Code 和 Codium 都有一个扩展管理器,它会在页面左侧打开,允许你安装附加模块][6] 你已经在 Codium 中设置了 Python。剩下的就是把它用起来。 ### 为 VS Code 或 Codium 设置虚拟环境 -我们可以创建一个项目目录并将其添加到 Codium 中,这样在工作时,你创建和保存的文件都将默认保存到活动项目目录。这是一种快速的管理方式,可以让你不必经常点击文件保存和打开对话框。 +我们可以创建一个项目目录,并将其添加到 Codium 中,这样在工作时,你创建和保存的文件都将默认保存到活动项目目录。这是一种快速的管理方式,可以让你不必经常点击文件保存和打开对话框。 -在你创建一个虚拟 Python 环境作为工作目录时,Codium(因为你已经安装了 Python 扩展)会检测到它。当你激活一个虚拟环境文件夹作为活动项目目录时,Codium 会自动运行使用虚拟环境所需的激活代码。 +在你创建一个虚拟 Python 环境作为工作目录时,Codium 会检测到它(因为你已经安装了 Python 扩展)。当你激活一个虚拟环境文件夹作为活动项目目录时,Codium 会自动运行使用虚拟环境所需的激活代码。 要为 Python 创建一个虚拟环境,请打开终端并输入: @@ -68,16 +70,16 @@ $ python3 -m venv ~/PythonCoding ### 添加项目目录 -在 Codium 中,点击**文件**菜单,选择**将文件夹添加到工作区**。打开你刚刚设置的虚拟环境(对我来说,是 `/home/don/PythonCoding`)。 +在 Codium 中,点击“文件File”菜单,选择“将文件夹添加到工作区Add Folder to Workspace”。打开你刚刚设置的虚拟环境(对我来说,是 `/home/don/PythonCoding`)。 现在你已经准备好写一些 Python 代码了!在你的工作区中创建一个新的 Python 文件并插入一些基本代码。当你输入时,你可能会注意到,Codium 会为环境包含的 Python 模块提供自动补齐建议。 -``` python +``` import sys print("Codium running Python " + sys.version) ``` -现在点击 Codium 窗口右上角的**运行**按钮。这会在窗口底部打开一个控制台面板显示你的代码的输出: +现在点击 Codium 窗口右上角的“运行”按钮。这会在窗口底部打开一个控制台面板显示你的代码的输出: ``` (PythonCode) sh-5.1$ /home/bogus/PythonCode/bin/python @@ -94,7 +96,6 @@ Codium running Python 3.10.6 (main…)[GCC 12.1.0] Codium 的界面比一些基本的编辑器更复杂,但它有我在学习过程中所需要的东西。如果你需要一个更专业的编辑器,或者你想从当前的编辑器切换到新的编辑器,那么试试 Codium 吧。 - -------------------------------------------------------------------------------- via: https://opensource.com/article/22/11/python-vs-code-codium @@ -102,7 +103,7 @@ via: https://opensource.com/article/22/11/python-vs-code-codium 作者:[Don Watkins][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -115,3 +116,4 @@ via: https://opensource.com/article/22/11/python-vs-code-codium [5]: https://flathub.org/apps/details/com.vscodium.codium [6]: https://opensource.com/sites/default/files/2022-10/codium-extension-python.webp [7]: https://open-vsx.org/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/17/100909py38rj0tqxlyrq0t.jpg \ No newline at end of file From 3d0435c8ea2ccaf8a95aa27393db92ae316c4760 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 17 Nov 2022 16:39:52 +0800 Subject: [PATCH 448/925] RP @MjSeven https://linux.cn/article-15263-1.html --- ...ommands On Remote Linux Systems Via SSH.md | 184 +++++++++--------- 1 file changed, 94 insertions(+), 90 deletions(-) rename {translated/tech => published}/20220929 Execute Commands On Remote Linux Systems Via SSH.md (63%) diff --git a/translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/published/20220929 Execute Commands On Remote Linux Systems Via SSH.md similarity index 63% rename from translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md rename to published/20220929 Execute Commands On Remote Linux Systems Via SSH.md index 3d9c63ec5c..7a457748e9 100644 --- a/translated/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md +++ b/published/20220929 Execute Commands On Remote Linux Systems Via SSH.md @@ -3,45 +3,48 @@ [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" [#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15263-1.html" 通过 SSH 在远程 Linux 系统上执行命令 ====== -通过安全的网络连接在远程计算机上调用命令或程序 -有一天,我正在测试如何在[将文件或目录复制到多个位置和系统时保持完整的文件权限][1]。当我想检查远程系统上的文件权限时,我必须通过 SSH 登录它并检查属性。从远程系统多次登录和注销的过程让我有点烦,我想,如果我可以**在远程 Linux 系统上通过 SSH 执行命令**就好了。 +![](https://img.linux.net.cn/data/attachment/album/202211/17/163910g9u42ssfcuk9c290.jpg) + +> 通过安全的网络连接在远程计算机上调用命令或程序。 + +有一天,我正在测试如何在 [将文件或目录复制到多个位置和系统时保持完整的文件权限][1]。当我想检查远程系统上的文件权限时,我必须通过 SSH 登录它并检查属性。从远程系统多次登录和注销的过程让我有点烦,我想,如果我可以**在远程 Linux 系统上通过 SSH 执行命令**就好了。 幸运的是,在浏览了 `ssh` 命令的手册页后,我找到了一个解决办法。 如果你想知道如何本地运行远程系统上运行命令或脚本,而不登录到远程系统,下面的内容会告诉你如何做。 -### 1. 通过 SSH 在远程 Linux 系统上执行命令 +### 1、通过 SSH 在远程 Linux 系统上执行命令 从本地系统通过 SSH 在远程系统上运行命令或脚本的典型方法是: -```bash +``` $ ssh ``` -允许我给你们举几个例子。 +允许我给你们举几个例子: -#### 1.1. 通过 SSH 在远程系统上运行单个命令 +#### 1.1、通过 SSH 在远程系统上运行单个命令 -假设你想要[查找远程 Linux 系统的内核详细信息][2]。为此,只需运行: +假设你想要 [查找远程 Linux 系统的内核详细信息][2]。为此,只需运行: -```bash +``` $ ssh sk@192.168.225.22 uname -a ``` 这里, -* sk 是远程系统的用户名, -* 192.168.225.22 是远程系统的 IP 地址, -* `"uname -a"` 是我想在远程系统上运行的命令。 +* `sk` 是远程系统的用户名, +* `192.168.225.22` 是远程系统的 IP 地址, +* `uname -a` 是我想在远程系统上运行的命令。 -**示例输出:** +示例输出: ![通过 SSH 在远程 Linux 系统上执行命令][3] @@ -59,17 +62,17 @@ $ ssh sk@192.168.225.22 "uname -a" $ ssh sk@192.168.225.22 'uname -a' ``` -如果你已经[更改了 SSH 协议的默认端口][4],只需使用 **-p** 参数指定它。 +如果你已经 [更改了 SSH 协议的默认端口][4],只需使用 `-p` 参数指定它。 -```bash +``` $ ssh -p 2200 sk@192.168.225.22 uname -a ``` -#### 1.2. 通过 SSH 在远程主机上执行多个命令 +#### 1.2、通过 SSH 在远程主机上执行多个命令 你还可以在远程主机上运行多个命令,方法是将它们放在引号中。 -```bash +``` $ ssh sk@192.168.225.22 "uname -r && lsb_release -a" ``` @@ -81,52 +84,53 @@ $ ssh sk@192.168.225.22 "uname -r ; lsb_release -a" 上面的命令将显示我的 Ubuntu 服务器的内核版本和发行版详细信息。 -**示例输出:** +示例输出: ![在 Linux 上通过 SSH 在远程主机上运行多个命令][5] 正如一位读者在下面的评论部分提到的那样,你应该用引号指定多个命令。如果不使用引号,第一个命令将在远程系统上执行,第二个命令将仅在本地计算机上执行。整个带引号的命令将按预期在远程计算机上运行。 -**提示:**了解 `"&&"` 和 `";"` 在命令中的区别: +> **提示:** 了解 `&&` 和 `;` 在命令中的区别: +> +> `&&` 操作符只有在第一个命令成功时才执行第二个命令。 +> +> 示例: +> +> ``` +> sudo apt-get update && sudo apt-get upgrade +> ``` +> +> 在上述示例中,如果第一个命令成功,才会执行 `sudo apt-get upgrade`。否则,它将不会运行。 +> +> `;` 操作符会执行第二个命令,无论第一个命令是成功还是失败。 +> +> 示例: +> +> ``` +> sudo apt-get update ; sudo apt-get upgrade +> ``` +> +> 在上述示例中,即使第一个命令失败,`sudo apt-get upgrade` 也会执行。 -`"&&"` 操作符只有在第一个命令成功时才执行第二个命令。 +#### 1.3、通过 SSH 在远程机器上调用有 sudo 权限的命令 -示例: -``` -sudo apt-get update && sudo apt-get upgrade -``` - -在上述示例中,如果第一个命令成功,才会执行 `sudo apt-get upgrade`。否则,它将不会运行。 - -`";"` 操作符会执行第二个命令,无论第一个命令是成功还是失败。 - -示例: +有些命令需要 `sudo` 权限才能运行。例如,以下命令将在我的远程系统上安装 `apache2`。 ``` -sudo apt-get update ; sudo apt-get upgrade -``` - -在上述示例中,即使第一个命令失败,`sudo apt-get upgrade` 也会执行。 - -#### 1.3. 通过 SSH 在远程机器上调用有 Sudo 权限的命令 - -有些命令需要 `"sudo"` 权限才能运行。例如,以下命令将在我的远程系统上安装 **apache2**。 - -```bash $ ssh -t sk@192.168.225.22 sudo apt install apache2 ``` -**示例输出:** +示例输出: ![通过 SSH 在远程机器上运行有 Sudo 权限的命令][6] -注意到了吗?我在上面的命令中使用了 **-t** 标志,我们需要使用它来强制进行伪终端分配。它用于在远程机器上执行任意基于屏幕的程序,这非常有用。例如,在实现菜单服务时。 +注意到了吗?我在上面的命令中使用了 `-t` 标志,我们需要使用它来强制进行伪终端分配。它用于在远程机器上执行任意基于屏幕的程序,这非常有用。例如,在实现菜单服务时。 另外,我输入了**两次**密码。第一次是远程用户的密码,以便从本地系统通过 SSH 访问远程系统,第二次是为了向远程用户赋予 sudo 权限,以便安装应用程序(在本例中为 apache2)。 让我们用以下命令检查 Apache 服务是否正在运行: -```bash +``` $ ssh -t sk@192.168.225.22 sudo systemctl status apache2 sk@192.168.225.22's password: [sudo] password for sk: @@ -149,17 +153,17 @@ Dec 19 11:08:03 ubuntuserver systemd[1]: Started The Apache HTTP Server. 同样的,我们可以通过 SSH 在本地系统上运行远程系统上的任何命令或脚本。 -#### 1.4. 通过 SSH 在远程系统上运行本地脚本 +#### 1.4、通过 SSH 在远程系统上运行本地脚本 让我们在本地系统上创建一个简单的脚本来显示关于远程系统的发行版名称、包管理和基本细节等。 -```bash +``` $ vi system_information.sh ``` 添加以下行: -```bash +``` #!/bin/bash #Name: Display System Details #Owner: OSTechNIx @@ -167,17 +171,17 @@ $ vi system_information.sh echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel* ``` -按下 **ESC** 键,输入 **:wq** 保存退出。 +按下 `ESC` 键,输入 `:wq` 保存退出。 现在,通过 SSH 命令在远程系统上运行这个脚本: -```bash +``` $ ssh sk@192.168.225.22 'bash -s' < system_information.sh ``` -**示例输出:** +示例输出: -```bash +``` sk@192.168.225.22's password: /etc/debian_version /etc/lsb-release /etc/os-release buster/sid @@ -201,19 +205,19 @@ UBUNTU_CODENAME=bionic 如果你没有在上面的命令中指定 `bash -s`,你将获得远程系统的详细信息,但伪终端不会被分配。 -#### 1.5. 将远程主机的命令输出保存到本地主机 +#### 1.5、将远程主机的命令输出保存到本地主机 如果你希望与支持团队或同事共享远程系统上运行的命令输出,那么这非常有用。 -以下命令将通过 SSH 在远程系统运行 **"du -ah"**,并将输出保存在本地系统的 **diskusage** 文件中。 +以下命令将通过 SSH 在远程系统运行 `du -ah`,并将输出保存在本地系统的 `diskusage.txt` 文件中。 -```bash +``` $ ssh sk@192.168.225.22 du -ah > diskusage.txt ``` -然后,你可以通过使用 **cat** 命令或文本编辑器查看 `diskusage.txt` 文件来分析磁盘使用细节。 +然后,你可以通过使用 `cat` 命令或文本编辑器查看 `diskusage.txt` 文件来分析磁盘使用细节。 -```bash +``` $ cat diskusage.txt 4.0K ./.profile 4.0K ./.gnupg/private-keys-v1.d @@ -235,89 +239,89 @@ $ cat diskusage.txt 6.2M . ``` -#### 1.6. 配置 SSH 密钥认证,避免输入密码 +#### 1.6、配置 SSH 密钥认证,避免输入密码 如果你经常在远程系统上运行命令,你可能需要配置基于 SSH 密钥的身份验证,以便每次跳过密码输入。更多细节可以在以下链接中找到。 -* [Linux 系统下如何配置 SSH 密钥认证][7] +> **[Linux 系统下如何配置 SSH 密钥认证][7]** 配置了基于 SSH 密钥的认证后,我们可以通过 SSH 在远程机器上执行命令,从而不需要输入密码: -```bash +``` $ ssh sk@192.168.225.22 sudo apt update ``` -### 2. 通过 sshpass 在远程机器上运行命令 +### 2、通过 sshpass 在远程机器上运行命令 -如果你不想配置基于 SSH 密钥的身份验证,你可以使用 **sshpass** 实用程序。 +如果你不想配置基于 SSH 密钥的身份验证,你可以使用 `sshpass` 实用程序。 -#### 2.1. 什么是 sshpass? +#### 2.1、什么是 sshpass? -sshpass 是为使用键盘交互密码身份验证模式运行 ssh 而设计的,但它以非交互的方式。简单来说,sshpass 提供了非交互式的方式来验证 SSH 会话。 +`sshpass` 是为使用键盘交互密码身份验证模式运行 ssh 而设计的,但它以非交互的方式。简单来说,`sshpass` 提供了非交互式的方式来验证 SSH 会话。 -SSH 使用直接 TTY 访问来确保密码确实是由交互式键盘用户发出的。Sshpass 在一个专用 tty 中运行 ssh,让它误以为从交互用户那里获得了密码。 +SSH 使用直接 TTY 访问来确保密码确实是由交互式键盘用户发出的。`sshpass` 在一个专用 tty 中运行 SSH,让它误以为从交互用户那里获得了密码。 -#### 2.2. 在 Linux 中安装 sshpass +#### 2.2、在 Linux 中安装 sshpass -在许多 Linux 发行版的默认仓库中都有 sshpass 实用程序。例如,在 Debian、Ubuntu 及其衍生版本中,你可以使用下面的命令来安装 sshpass: +在许多 Linux 发行版的默认仓库中都有 `sshpass` 实用程序。例如,在 Debian、Ubuntu 及其衍生版本中,你可以使用下面的命令来安装 `sshpass`: -```bash +``` $ sudo apt install sshpass ``` -#### 2.3. 通过 SSH 和 sshpass 在远程机器上执行命令 +#### 2.3、通过 SSH 和 sshpass 在远程机器上执行命令 -Sshpass 可以接受 password 作为参数,或者通过环境变量读取密码,也可以从文本文件中读取密码。 +`sshpass` 可以通过参数接受密码,或者通过环境变量读取密码,也可以从文本文件中读取密码。 -**警告:**所有这些方法都是**高度不安全的**。所有系统用户都可以通过 **ps** 命令看到命令中的密码。**不建议**在生产中使用这些方法。最好使用基于密钥的身份验证。 +**警告:** 所有这些方法都是 **高度不安全的**。所有系统用户都可以通过 `ps` 命令看到命令中的密码。**不建议**在生产中使用这些方法。最好使用基于密钥的身份验证。 让我们看看每种方法的示例。 -**将密码作为参数提供:** +##### 将密码作为参数提供 将密码作为参数提供,使用 `-p` 选项,如下所示: -```bash +``` $ sshpass -p ssh remoteuser@ip-address ``` -**示例:** +示例输出: -```bash +``` $ sshpass -p ubuntu ssh ostechnix@192.168.1.30 uname -a ``` 其中, -* -p ubuntu - 提供远程系统的密码。 -* ostechnix@192.168.1.30 - 远程系统用户名和地址。 -* 'uname -a' - 要在远程计算机上执行的命令。 +* `-p ubuntu` - 提供远程系统的密码。 +* `ostechnix@192.168.1.30` - 远程系统用户名和地址。 +* `uname -a` - 要在远程计算机上执行的命令。 -**示例输出:** +示例输出: -```bash +``` Linux Ubuntu22CT 5.15.60-1-pve #1 SMP PVE 5.15.60-1 (Mon, 19 Sep 2022 17:53:17 +0200) x86_64 x86_64 x86_64 GNU/Linux ``` -**密码作为环境变量提供:** +##### 密码作为环境变量提供 -在这个方法中,我们声明一个名为 **SSHPASS** 的环境变量,用远程环境的密码作为其值。然后我们使用 **-e** 标志,如下所示: +在这个方法中,我们声明一个名为 `SSHPASS` 的环境变量,用远程环境的密码作为其值。然后我们使用 `-e` 标志,如下所示: -```bash +``` $ SSHPASS=ubuntu sshpass -e ssh ostechnix@192.168.1.30 uname -a ``` -**从文本文件中读取密码:** +##### 从文本文件中读取密码 -使用 echo 命令在文本文件中追加密码: +使用 `echo` 命令在文本文件中追加密码: -```bash +``` $ echo "ubuntu" > mypassword.txt ``` -现在,将密码文件传递给带有 **-f** 标志的 sshpass,如下所示: +现在,将密码文件传递给带有 `-f` 标志的 `sshpass`,如下所示: -```bash +``` $ sshpass -f mypassword.txt ssh ostechnix@192.168.1.30 uname -a ``` @@ -325,7 +329,7 @@ $ sshpass -f mypassword.txt ssh ostechnix@192.168.1.30 uname -a ### 总结 -在本教程中,我们学习了一些通过安全的网络连接在远程计算机上调用命令或程序的方法。在所有的方法中,sshpass 方法是最不安全的,建议用户避免在生产系统中使用它。 +在本教程中,我们学习了一些通过安全的网络连接在远程计算机上调用命令或程序的方法。在所有的方法中,`sshpass` 方法是最不安全的,建议用户避免在生产系统中使用它。 -------------------------------------------------------------------------------- @@ -334,7 +338,7 @@ via: https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/ 作者:[sk][a] 选题:[lkxed][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 60fbece7ae6d0ebf22326c9da461ca492eb3da14 Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Thu, 17 Nov 2022 05:07:51 -0500 Subject: [PATCH 449/925] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...atest LibreOffice in Ubuntu and other Linux.md | 134 ------------------ ...atest LibreOffice in Ubuntu and other Linux.md | 134 ++++++++++++++++++ 2 files changed, 134 insertions(+), 134 deletions(-) delete mode 100644 sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md create mode 100644 translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md diff --git a/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md deleted file mode 100644 index 79b939b88d..0000000000 --- a/sources/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md +++ /dev/null @@ -1,134 +0,0 @@ -[#]: subject: "How to Install Latest LibreOffice in Ubuntu and other Linux" -[#]: via: "https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Latest LibreOffice in Ubuntu and other Linux -====== - -**Here’s a quick guide on how to install the latest LibreOffice version in Ubuntu and other Linux.** - -The free and open-source office suite LibreOffice comes in two versions. The Community and Enterprise versions. The “community” version is for early adopters who want the latest bleeding-edge software tech. And the “enterprise” version is more stable and may not include all the latest features, but it is ideal for the production environment and professional work. - -### Install Latest LibreOffice in Ubuntu and other Linux - -#### 1. Remove pre-installed LibreOffice - -The Ubuntu operating system and other Linux ideally come with pre-installed LibreOffice. That might not be the latest one because of the distribution-specific release cycles. However, before you do a fresh install, you can remove the stock version of LibreOffice in Ubuntu and its related derivatives via the below command: - -Open a terminal and run the below commands to remove the installed LibreOffice in Ubuntu and related distributions. For others, you can use your distro’s package manager to remove it. - -``` -sudo apt remove –purge libreoffice* -sudo apt autoclean -sudo apt autoremove -``` - -Do a reboot to ensure everything is okay (though you could skip this step). - -#### 2. Install via download - -Go to the [official download page][1]. And download the “Fresh” version by choosing the type from the drop-down. For Ubuntu and other derivatives, choose the .deb file. - -![LibreOffice download and install from official website][2] - -After downloading, extract the files; you should see all the packages below. - -![Extracted LibreOffice DEB files][3] - -Now, open a terminal at the extracted files’ exact location and run the commands below in sequence. Firstly, you need to install the `ure` package. The second is the `core` package and followed by all the basic packages. Finally, the main `LibreOffice` packages. A typical set of commands are present below. You need to change the version numbers for other releases. - -``` -sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb -sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb -sudo dpkg -i libobasis7.0* -``` - -``` -sudo dpkg -i libreoffice7.0* -``` - -If you are using Fedora Linux or Red Hat Linux, use the [dnf command][4] to install in the same order as mentioned above. - -![Install LibreOffice via dpkg][5] - -Wait for the installation to finish. After completion, you can find LibreOffice via the application menu. - -![Latest LibreOffice in Menu][6] - -This should complete the steps to install the latest LibreOffice. If you don’t want to follow the above method, see the below options. - -#### Install via PPA - -If you like to install it via PPA, then follow the below steps. Make sure to remove the existing LibreOffice in step 1 above. - -``` -sudo add-apt-repository ppa:libreoffice/ppa -``` - -And finally, run the below commands to install the latest LibreOffice 5.4 series from this official PPA. - -``` -sudo apt update -sudo apt install libreoffice -``` - -Once installed, you can launch LibreOffice via Dash search. - -![LibreOffice 5.4.2 Running in Ubuntu][7] - -#### Install via Snap and Flatpak - -If you are a Linux user, you may try the LibreOffice self-contained executable, which runs in a sandbox like Snap or Flatpak. - -- To install LibreOffice via [Flatpak][8], visit [this page][9] to set it up and then run the below command to install it. - -``` -flatpak install flathub org.libreoffice.LibreOffice -``` - -- Similarly, for the [Snap version][10], use the following command to install. - -``` -sudo snap install libreoffice -``` - -### How can I upgrade to the latest LibreOffice version? - -If you do not want to remove LibreOffice but want to upgrade to the latest version, please read our complete guide below. - -> [Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows][11] - -![“Upgrade to Latest LibreOffice in Ubuntu, Linux Mint and Windows” — DebugPoint.com][12] - -Feel free to comment if you are having trouble installing the latest LibreOffice. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-latest-libreoffice-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.libreoffice.org/download/download/ -[2]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-download-and-install-from-official-website.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2017/10/Extracted-LibreOffice-DEB-files.jpg -[4]: https://www.debugpoint.com/dnf-commands-examples/ -[5]: https://www.debugpoint.com/wp-content/uploads/2017/10/Install-LibreOffice-via-dpkg.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2017/10/Latest-LibreOffice-in-Menu.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-5.4.2-Running-in-Ubuntu-.png -[8]: https://flathub.org/apps/details/org.libreoffice.LibreOffice -[9]: https://flatpak.org/setup/ -[10]: https://snapcraft.io/libreoffice -[11]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ -[12]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/embed/#?secret=KINquNxuYI#?secret=FGij1s6Mfc diff --git a/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md new file mode 100644 index 0000000000..3eaae1e4ba --- /dev/null +++ b/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md @@ -0,0 +1,134 @@ +[#]: subject: "How to Install Latest LibreOffice in Ubuntu and other Linux" +[#]: via: "https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在Ubuntu和其他Linux中安装最新的Libreoffice +====== + +**在Ubuntu和其他Linux中安装最新的Libreoffice版本的快速指南。** + +免费和开源的办公套件Libreoffice有两个版本。社区版本和企业版本。社区版本主要是给前期的用户尝鲜,有较前沿的技术. 企业版本较为稳定但不会包括最新的功能,是生产环境和专业工作的最佳选择 + +### 在Ubuntu和其他Linux中安装最新的Libreoffice + +#### 1.删除预安装的libreoffice + +ubuntu和其他linux,带预安装的Libreoffice。这可能不是最新的,因为发行版的发行周期是之前的版本.但是,在进行新安装之前,您可以通过以下命令删除Ubuntu及其相关的旧版本: + +打开一个终端并运行以下命令,以删除Ubuntu和相关分布中的已安装的Libreoffice。对于其他人,您可以使用Distro的软件包管理器将其删除。 + +``` +sudo apt remove –purge libreoffice* +sudo apt autoclean +sudo apt autoremove +``` + +然后重启以确保一切正常(你也可以跳过) + +#### 2. 从网站上下载安装 + +前往[官方下载页面][1]. 并通过从下拉菜单中选择类型下载“Fresh”版本。对于Ubuntu和其他导数,请选择.deb文件。 + +![LibreOffice download and install from official website][2] + +下载后,提取文件;您应该看到下面的所有软件包。 + +![Extracted LibreOffice DEB files][3] + +下载解压后y,在提取文件的位置打开终端并按顺序运行以下命令。首先,你需要安装 ure 包。第二个是核心包,然后是所有基本包。最后,就是主要的 LibreOffice 软件包。下面是主要一些的命令。但是您需要更具体版本的版本号。 + +``` +sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0* +``` + +``` +sudo dpkg -i libreoffice7.0* +``` + +如果您使用的是 Fedora Linux 或 Red Hat Linux,请按照上述相同的顺序使用[dnf 命令][4] + +![Install LibreOffice via dpkg][5] + +等待安装完成。完成后,您可以通过应用程序菜单找到 LibreOffice。 + +![Latest LibreOffice in Menu][6] + +这应该完成安装最新 LibreOffice 的步骤。如果您不想遵循上述方法,请参阅以下选项。 + +#### 通过 PPA 安装 + +如果您想通过 PPA 安装它,请按照以下步骤操作。确保在上面的第 1 步中删除现有的 LibreOffice。 + +``` +sudo add-apt-repository ppa:libreoffice/ppa +``` + +最后,运行以下命令从这个官方 PPA 安装最新的 LibreOffice 5.4 系列。 + +``` +sudo apt update +sudo apt install libreoffice +``` + +安装后,您可以通过 Dash 搜索启动 LibreOffice。 + +![LibreOffice 5.4.2 Running in Ubuntu][7] + +#### 通过 Snap 和 Flatpak 安装 + +如果您是 Linux 用户,您可以尝试 LibreOffice 独立的可执行文件,它在 Snap 或 Flatpak 等沙箱中运行。 + +- 要通过[Flatpak][8]安装 LibreOffice ,请访问this page][9] 进行设置,然后运行以下命令进行安装 + +``` +flatpak install flathub org.libreoffice.LibreOffice +``` + +- 同样,对于[Snap version][10],使用以下命令进行安装。 + +``` +sudo snap install libreoffice +``` + +### 如何升级到最新的 LibreOffice 版本? + +如果您不想删除 LibreOffice 但想升级到最新版本,请阅读我们下面的完整指南。 + +> [在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice[11] + +![“在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice” — DebugPoint.com][12] + +如果您在安装最新的 LibreOffice 时遇到问题,请随时发表评论。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[littlebirdnest](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.libreoffice.org/download/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-download-and-install-from-official-website.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2017/10/Extracted-LibreOffice-DEB-files.jpg +[4]: https://www.debugpoint.com/dnf-commands-examples/ +[5]: https://www.debugpoint.com/wp-content/uploads/2017/10/Install-LibreOffice-via-dpkg.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2017/10/Latest-LibreOffice-in-Menu.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-5.4.2-Running-in-Ubuntu-.png +[8]: https://flathub.org/apps/details/org.libreoffice.LibreOffice +[9]: https://flatpak.org/setup/ +[10]: https://snapcraft.io/libreoffice +[11]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ +[12]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/embed/#?secret=KINquNxuYI#?secret=FGij1s6Mfc From dc9d995c18b8aff0756c980104b64a2b7d324e9b Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Fri, 18 Nov 2022 08:43:03 +0800 Subject: [PATCH 450/925] Update 20210618 5 more reasons to run Kubernetes in your Linux homelab.md --- ...18 5 more reasons to run Kubernetes in your Linux homelab.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md index dd5ec7ed2c..6820507282 100644 --- a/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md +++ b/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/6/kubernetes-linux-homelab) [#]: author: (Seth Kenlon https://opensource.com/users/seth) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From f2997dac5a6352c224ebbea204487eb239c81e0c Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 18 Nov 2022 08:44:12 +0800 Subject: [PATCH 451/925] translated --- ...022 What-s new in Fedora Workstation 37.md | 96 ------------------- ...022 What-s new in Fedora Workstation 37.md | 95 ++++++++++++++++++ 2 files changed, 95 insertions(+), 96 deletions(-) delete mode 100644 sources/tech/20221022 What-s new in Fedora Workstation 37.md create mode 100644 translated/tech/20221022 What-s new in Fedora Workstation 37.md diff --git a/sources/tech/20221022 What-s new in Fedora Workstation 37.md b/sources/tech/20221022 What-s new in Fedora Workstation 37.md deleted file mode 100644 index c18faec875..0000000000 --- a/sources/tech/20221022 What-s new in Fedora Workstation 37.md +++ /dev/null @@ -1,96 +0,0 @@ -[#]: subject: "What’s new in Fedora Workstation 37" -[#]: via: "https://fedoramagazine.org/whats-new-fedora-37-workstation/" -[#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/" -[#]: collector: "lujun9972" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -What’s new in Fedora Workstation 37 -====== - -![][1] - -Fedora Workstation 37 is the latest version of the Fedora Project’s desktop operating system, made by a worldwide community dedicated to pushing forward innovation in open source. This article describes some of the new user-facing features in Fedora Workstation 37. Upgrade today from GNOME Software, or by using _[dnf system-upgrade][2]_ in your favourite terminal emulator! - -### GNOME 43 - -Fedora Workstation 37 features the latest version of the GNOME desktop environment which sees more core applications ported to GTK 4, user interface tweaks, and performance tune-ups. Check out the [GNOME 43 release notes][3] for more information! - -#### Redesigned Quick Settings menu - -![No need to open Settings just to change to and from Dark Mode][4] - -The new Quick Settings menu offers more control and convenience. You can now easily switch your Wi-Fi network in the menu instead of being taken to a full-screen dialogue box, change between default and dark modes, and enable Night Light without opening the Settings app. A convenient button for taking screenshots and screencasts is also now present. - -#### Core applications - -The GNOME core applications included in Fedora Workstation 37 have seen a round of tweaks and improvements. - - * Files has been ported to GTK 4, and the user interface has seen many improvements. Here are just some of them: - * It is now adaptive – meaning it automatically adjusts to a narrower size, making better use of the available space. - * The list view has been re-architected to make rubber-band selections easier. - * The “Properties” and “Open With…” dialogues have been redesigned. - - - -![Rubber-band selection in Files 43][5] - - * Calendar features a new sidebar that shows your upcoming events at a glance. It, along with Contacts, now feature adaptive user interfaces. - * Characters now shows you different skin tone, hair colour, and gender options for emoji. - * The package source selector in Software has been redesigned and moved to a more visible location. - * Maps has been ported to GTK 4. - * Settings includes a new Device Security panel, allowing you to easily see the hardware security features your devices offers – or lacks! - - - -![Uh oh!][6] - -### New supplemental default wallpapers - -Fedora Workstation 37 ships with a new set of supplemental wallpapers. [See how they were made here!][7] - -![The six new wallpapers come in both light and dark variants][8] - -### Under-the-hood changes throughout Fedora Linux 37 - -Fedora Linux 37 features many under-the-hood changes. Here are some notable ones: - - * The Raspberry Pi 4 single-board computer is now officially supported, including 3D acceleration! - * New installs on BIOS systems will use the GPT disk layout instead of the legacy MBR layout. The installer images will also now use GRUB instead of syslinux to boot on BIOS systems. - * If you disable and then re-enable SELinux, or run the _fixfiles onboot_ command, the file system relabelling processes will now be done in parallel, allowing for a significant speed boost. - * The default fonts for Persian has been changed from DejaVu and Noto Sans Arabic to Vazirmatn, providing a more consistent experience for those who use Fedora Linux in Persian. - - - -### Also check out… - -Cool happenings throughout the Fedora Project! - - * Fedora CoreOS and Fedora Cloud Base have been promoted to Edition status! - * Preview installer images with a new GUI for Anaconda, the Fedora Linux system installer, will become available in about a week. An article will be published with more details, so watch this space! - - - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/whats-new-fedora-37-workstation/ - -作者:[Merlin Cooper][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://fedoramagazine.org/author/mxanthropocene/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/10/f37-whats_new-816x345.jpg -[2]: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ -[3]: https://release.gnome.org/43/ -[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker1.gif -[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker2.gif -[6]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/Screenshot-from-2022-09-16-20-25-28-1024x708.png -[7]: https://blog.linuxgrrl.com/2022/06/27/abstract-wallpapers-in-blender-using-geometry-nodes/ -[8]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/dfg-1-1024x679.png diff --git a/translated/tech/20221022 What-s new in Fedora Workstation 37.md b/translated/tech/20221022 What-s new in Fedora Workstation 37.md new file mode 100644 index 0000000000..f92a77c09b --- /dev/null +++ b/translated/tech/20221022 What-s new in Fedora Workstation 37.md @@ -0,0 +1,95 @@ +[#]: subject: "What’s new in Fedora Workstation 37" +[#]: via: "https://fedoramagazine.org/whats-new-fedora-37-workstation/" +[#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/" +[#]: collector: "lujun9972" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fedora Workstation 37 中的新功能 +====== + +![][1] + +Fedora Workstation 37 是 Fedora Project 桌面操作系统的最新版本,由致力于推动开源创新的全球社区开发。本文介绍了 Fedora Workstation 37 中一些面向用户的新功能。今天从 GNOME Software 升级,或者在你最喜欢的终端模拟器中使用 _[dnf system-upgrade][2]_! + +### GNOME 43 + +Fedora Workstation 37 具有最新版本的 GNOME 桌面环境,其中包含更多移植到 GTK 4 的核心应用、用户界面调整和性能调整。查看 [GNOME 43 发行说明][3]了解更多信息! + +#### 重新设计的快速设置菜单 + +![无需打开设置即可切换深色模式][4] + +新的快速设置菜单提供更多控制和便利。你现在可以在菜单中轻松切换你的 Wi-Fi 网络,而不用进入全屏对话框,在默认模式和深色模式之间切换,以及在不打开“设置”应用的情况下启用夜灯。现在还提供了一个方便的截屏和截屏视频按钮。 + +#### 核心应用 + +Fedora Workstation 37 中包含的 GNOME 核心应用已经进行了一轮调整和改进。 + + * 文件已移植到 GTK 4,并且用户界面有许多改进。这里只是其中的一些: + * 它现在是自适应的,这意味着它会自动调整到更窄的尺寸,从而更好地利用可用空间。 + * 列表视图已重新设计,使橡皮筋选择更容易。 + * 重新设计了 “Properties” 和 “Open With…” 对话框。 + + + +![Files 43 中的橡皮筋选择][5] + + * 日历有一个新的边栏,可以一目了然地显示即将发生的事件。它与联系人一起,现在具有自适应用户界面。 + * 角色现在会向你显示不同的肤色、头发颜色和表情符号的性别选项。 + * Software 中的包源选择器已重新设计并移至更显眼的位置。 + * 地图已移植到 GTK 4。 + * 设置包括一个新的设备安全面板,让你可以轻松查看你的设备提供或缺少的硬件安全功能! + + + +![呃哦!][6!] + +### 新的补充默认壁纸 + +Fedora Workstation 37 附带一组新的补充壁纸。 [在这里看看它们是如何制作的!][7] + +![六张新壁纸有浅色和深色两种][8] + +### Fedora Linux 37 的底层变化 + +Fedora Linux 37 具有许多底层更改。以下是一些值得注意的: + + * 现已正式支持树莓派 4 单板机,包括 3D 加速! + * BIOS 系统上的新安装将使用 GPT 磁盘布局,而不是传统的 MBR 布局。安装程序镜像现在还将使用 GRUB 而不是 syslinux 在 BIOS 系统上引导。 + * 如果你禁用然后重新启用 SELinux,或运行 _fixfiles onboot_ 命令,文件系统重新标记过程现在将并行完成,从而显着提高速度。 + * 波斯语的默认字体已从 DejaVu 和 Noto Sans Arabic 更改为 Vazirmatn,为在波斯语中使用 Fedora Linux 的用户提供更一致的体验。 + + +### 还有这些... + +Fedora 项目中发生的很酷的事情! + + * Fedora CoreOS 和 Fedora Cloud Base 已升级为 Edition 状态! + * Fedora Linux 系统安装程序 Anaconda 的带有新 GUI 的预览安装程序镜像将在大约一周内可用。我将发布一篇文章以提供更多详细信息,敬请关注此空间! + + + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/whats-new-fedora-37-workstation/ + +作者:[Merlin Cooper][a] +选题:[lujun9972][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/mxanthropocene/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/10/f37-whats_new-816x345.jpg +[2]: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ +[3]: https://release.gnome.org/43/ +[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker1.gif +[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/ezgif.com-gif-maker2.gif +[6]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/Screenshot-from-2022-09-16-20-25-28-1024x708.png +[7]: https://blog.linuxgrrl.com/2022/06/27/abstract-wallpapers-in-blender-using-geometry-nodes/ +[8]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/09/dfg-1-1024x679.png From 8e8a42881bec273d97ba531795aeb75fd3d33148 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 18 Nov 2022 08:48:44 +0800 Subject: [PATCH 452/925] translating --- ...️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md index 2867e669bb..b44c292758 100644 --- a/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md +++ b/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/pantheon-arch-linux-install/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 96554d88a14cc68d864b06264cfb28ab68b7bbbc Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 18 Nov 2022 09:57:59 +0800 Subject: [PATCH 453/925] RP @chai001125 https://linux.cn/article-15264-1.html --- ...rity properties on Linux using checksec.md | 152 +++++++++--------- 1 file changed, 76 insertions(+), 76 deletions(-) rename {translated/tech => published}/20210607 Identify security properties on Linux using checksec.md (75%) diff --git a/translated/tech/20210607 Identify security properties on Linux using checksec.md b/published/20210607 Identify security properties on Linux using checksec.md similarity index 75% rename from translated/tech/20210607 Identify security properties on Linux using checksec.md rename to published/20210607 Identify security properties on Linux using checksec.md index 58b32c4720..385303b6b3 100644 --- a/translated/tech/20210607 Identify security properties on Linux using checksec.md +++ b/published/20210607 Identify security properties on Linux using checksec.md @@ -3,27 +3,27 @@ [#]: author: (Gaurav Kamathe https://opensource.com/users/gkamathe) [#]: collector: (lujun9972) [#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15264-1.html) 在 Linux 上使用 Checksec 识别二进制文件的安全属性 ====== ->这篇文章能让你了解如何使用 Checksec ,来识别一个可执行文件的安全属性,了解安全属性的含义,并知道如何使用它们。 +> 这篇文章能让你了解如何使用 Checksec ,来识别一个可执行文件的安全属性,了解安全属性的含义,并知道如何使用它们。 -![Target practice][1] +![][0] -编译源代码会生成一个二进制文件(即 .o 文件)。在编译期间,你可以向 `gcc` 编译器提供 标志 flags ,以启用或禁用二进制文件的某些属性,这些属性与安全性相关。 +编译源代码会生成一个二进制文件(LCTT 译注:即 `.o` 文件)。在编译期间,你可以向 `gcc` 编译器提供 标志 flags ,以启用或禁用二进制文件的某些属性,这些属性与安全性相关。 Checksec 是一个漂亮的小工具,同时它也是一个 shell 脚本。Checksec 可以识别编译时构建到二进制文件中的安全属性。编译器可能会默认启用一些安全属性,你也可以提供特定的标志,来启用其他的安全属性。 本文将介绍如何使用 Checksec ,来识别二进制文件的安全属性,包括: 1. Checksec 在查找有关安全属性的信息时,使用了什么**底层的命令** - 2. 在将源代码编译成二进制文件时,如何使用 GNU 编译器套件 GNU Compiler Collection (即 GCC) ,来**启用安全属性**。 + 2. 在将源代码编译成二进制文件时,如何使用 GNU 编译器套件 GNU Compiler Collection (即 GCC)来**启用安全属性**。 -## 安装 checksec +### 安装 checksec 要在 Fedora 和其他基于 RPM 的 Linux 系统上,安装 Checksec,请使用以下命令: @@ -37,7 +37,7 @@ $ sudo dnf install checksec $ sudo apt install checksec ``` -## shell 脚本 +### shell 脚本 在安装完 Checksec 后,能够发现 Checksec 是一个**单文件**的 shell 脚本,它位于 `/usr/bin/checksec`,并且这个文件挺大的。Checksec 的一个优点是你可以通过快速通读这个 shell 脚本,从而了解 Checksec 的执行原理、明白所有能查找有关二进制文件或可执行文件的安全属性的**系统命令**: @@ -49,7 +49,7 @@ $ wc -l /usr/bin/checksec 2111 /usr/bin/checksec ``` -以下的命令展示了如何对你每天都会使用的:`ls` 命令的二进制文件,进行 Checksec。Checksec 命令的格式是:`checksec --file=`,后面再跟上二进制文件的绝对路径: +以下的命令展示了如何对你每天都会使用的:`ls` 命令的二进制文件运行 Checksec。Checksec 命令的格式是:`checksec --file=`,后面再跟上二进制文件的绝对路径: ``` $ checksec --file=/usr/bin/ls @@ -61,9 +61,9 @@ Full RELRO      Canary found      NX enabled    PIE enabled     No RPA Checksec 输出的第一行提供了二进制文件的各种安全属性,例如 `RELRO`、`STACK CANARY`、`NX` 等(我将在后文进行详细解释)。第二行打印出给定二进制文件(本例中为 `ls`)在这些安全属性的状态(例如,`NX enabled` 表示为堆栈中的数据没有执行权限)。 -## 示例二进制文件 +### 示例二进制文件 -在本文中,我将使用以下的“hello world”程序作为示例二进制文件。 +在本文中,我将使用以下的 “hello world” 程序作为示例二进制文件。 ``` #include @@ -96,13 +96,14 @@ RELRO           STACK CANARY      NX            PIE           Partial RELRO   No canary found   NX enabled    No PIE          No RPATH   No RUNPATH   85) Symbols       No    0       0./hello $ ``` -LCTT 译注:在我的 Ubuntu 22.04 虚拟机,使用 11.3.0 版本的 gcc,结果与上述不太相同,利用默认参数进行编译,会得到 RELRO、PIE、NX 保护是全开的情况。 -## 更改 Checksec 的输出格式 +(LCTT 译注:在我的 Ubuntu 22.04 虚拟机,使用 11.3.0 版本的 `gcc`,结果与上述不太相同,利用默认参数进行编译,会得到 RELRO、PIE、NX 保护是全开的情况。) + +### 更改 Checksec 的输出格式 Checksec 允许自定义各种输出格式,你可以使用 `--output` 来自定义输出格式。我将选择的输出格式是 JSON 格式,并将输出结果通过管道传输到 `jq` 实用程序,来得到漂亮的打印。 -接下来,确保你已安装好了 [`jq`][3],因为本教程会使用 `jq`,从 Checksec 的输出结果中,用 `grep` 来快速得到某一特定的安全属性状态,并报告该安全属性是否启动(启动为 `yes`,未启动为 `no`): +接下来,确保你已安装好了 [jq][3],因为本教程会使用 `jq` 从 Checksec 的输出结果中,用 `grep` 来快速得到某一特定的安全属性状态,并报告该安全属性是否启动(启动为 `yes`,未启动为 `no`): ``` $ checksec --file=./hello --output=json | jq @@ -122,13 +123,13 @@ $ checksec --file=./hello --output=json | jq } ``` -## 看一看所有的安全属性 +### 看一看所有的安全属性 上面的二进制文件 `hello` 包括几个安全属性。我将该二进制文件与 `ls` 的二进制文件进行比较,以检查启用的安全属性有何不同,并解释 Checksec 是如何找到此信息。 -### 1\. 符号(Symbol) +#### 1、符号(Symbol) -我先从简单的讲起。在编译期间,某些 符号 symbols 包含在二进制文件中,这些符号主要用作于调试。开发软件时,需要用到这些符号,来调试和修复 bug。 +我先从简单的讲起。在编译期间,某些 符号 symbols 包含在二进制文件中,这些符号主要用作于调试。开发软件时,需要用到这些符号,来调试和修复错误。 这些符号通常会从供用户普遍使用的最终二进制文件中删除。删除这些符号不会影响到二进制文件的执行。删除符号通常是为了节省空间,因为一旦符号被删除了,二进制文件就会稍微小一些。在闭源或专有软件中,符号通常都会被删除,因为把这些符号放在二进制文件中,可以很容易地推断出软件的内部工作原理。 @@ -160,9 +161,9 @@ $ bash -x /usr/bin/checksec --file=./hello 如果你滚动浏览上述的输出结果的话,你会看到 `echo_message` 后面有各个安全属性的类别。以下显示了 Checksec 检测二进制文件是否包含符号时,运行的底层命令: ``` -\+ readelf -W --symbols ./hello -\+ grep -q '\\.symtab' -\+ echo_message '\033[31m96) Symbols\t\033[m  ' Symbols, ' symbols="yes"' '"symbols":"yes",' ++ readelf -W --symbols ./hello ++ grep -q '\\.symtab' ++ echo_message '\033[31m96) Symbols\t\033[m  ' Symbols, ' symbols="yes"' '"symbols":"yes",' ``` 上面的输出显示,Checksec 利用 `readelf`,来读取二进制文件,并提供一个特殊 `--symbols` 标志,来列出二进制文件中的所有符号。然后它会查找一个特殊值:`.symtab`,它提供了所能找到的条目的计数(即符号的个数)。你可以在上面编译的测试二进制文件 `hello` 上,尝试以下命令,得到与 Checksec 查看二进制文件类似的符号信息: @@ -171,50 +172,48 @@ $ bash -x /usr/bin/checksec --file=./hello $ readelf -W --symbols ./hello $ readelf -W --symbols ./hello | grep -i symtab ``` -LCTT 译注:也可以通过直接查看 `/usr/bin/checksec` 下的 Checksec 源文件。 -## 如何删除符号 +(LCTT 译注:也可以通过直接查看 `/usr/bin/checksec` 下的 Checksec 源文件。) + +##### 如何删除符号 你可以在编译后或编译时删除符号。 * **编译后:** 在编译后,你可以使用 `strip`,手动地来删除二进制文件的符号。删除后,使用 `file` 命令,来检验是否还有符号,现在显示 `stripped`,表明二进制文件 `hello` 无符号了: - ``` - $ gcc hello.c -o hello - $ - $ file hello - hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, not stripped - $ - $ strip hello - $ - $ file hello - hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, stripped - $ - ``` + ``` + $ gcc hello.c -o hello + $ + $ file hello + hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, not stripped + $ + $ strip hello + $ + $ file hello + hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=322037496cf6a2029dcdcf68649a4ebc63780138, for GNU/Linux 3.2.0, stripped + $ + ``` + * **编译时:** 你也可以在编译时,用 `-s` 参数让 gcc 编译器帮你自动地删除符号: -## 如何在编译时删除符号 + ``` + $ gcc -s hello.c -o hello + $ + $ file hello + hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=247de82a8ad84e7d8f20751ce79ea9e0cf4bd263, for GNU/Linux 3.2.0, stripped + $ + ``` -你也可以在编译时,用 `-s` 参数让 gcc 编译器帮你自动地删除符号: + 重新运行 Checksec,你可以看到现在二进制文件 `hello` 的 `symbols` 这一属性的值是`no`: -``` -$ gcc -s hello.c -o hello -$ -$ file hello -hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=247de82a8ad84e7d8f20751ce79ea9e0cf4bd263, for GNU/Linux 3.2.0, stripped -$ -``` + ``` + $ checksec --file=./hello --output=json | jq | grep symbols +     "symbols": "no", + $ + ``` -重新运行 Checksec,你可以看到现在二进制文件 `hello` 的 `symbols` 这一属性的值是`no`: +#### 2、Canary(堆栈溢出哨兵) -``` -$ checksec --file=./hello --output=json | jq | grep symbols -    "symbols": "no", -$ -``` - -### 2\. Canary(堆栈溢出哨兵) - -Canary 是放置在缓冲区和_栈_ stack 上的控制数据之间的已知值,它用于监视缓冲区是否溢出。当应用程序执行时,会为其分配两种内存,其中之一就是 _栈_。栈是一个具有两个操作的数据结构:第一个操作 `push`,将数据压入堆栈;第二个操作 `pop`,以后进先出的顺序从栈中弹出数据。恶意的输入可能会导致栈溢出,或使用特制的输入破坏栈,并导致程序崩溃: +Canary 是放置在缓冲区和 stack 上的控制数据之间的已知值,它用于监视缓冲区是否溢出。当应用程序执行时,会为其分配两种内存,其中之一就是 _栈_。栈是一个具有两个操作的数据结构:第一个操作 `push`,将数据压入堆栈;第二个操作 `pop`,以后进先出的顺序从栈中弹出数据。恶意的输入可能会导致栈溢出,或使用特制的输入破坏栈,并导致程序崩溃: ``` $ checksec --file=/bin/ls --output=json | jq | grep canary @@ -231,7 +230,7 @@ Checksec 是如何确定二进制文件是否启用了 Canary 的呢?使用上 $ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie' ``` -#### 启用 Canary +##### 启用 Canary 为了防止栈溢出等情况,编译器提供了 `-stack-protector-all` 标志,它向二进制文件添加了额外的代码,来检查缓冲区是否溢出: @@ -251,9 +250,9 @@ $ readelf -W -s ./hello | grep -E '__stack_chk_fail|__intel_security_cookie' $ ``` -### 3\. 位置无关可执行文件(PIE) +#### 3、位置无关可执行文件(PIE) -PIE(Position-Independent Executable)的意思是与位置无关的可执行文件。顾名思义,它指的是放置在内存中某处执行的代码,不管其绝对地址的位置,即代码段、数据段地址随机化(ASLR): +位置无关可执行文件Position-Independent Executable(PIE),顾名思义,它指的是放置在内存中某处执行的代码,不管其绝对地址的位置,即代码段、数据段地址随机化(ASLR): ``` $ checksec --file=/bin/ls --output=json | jq | grep pie @@ -263,7 +262,7 @@ $ checksec --file=./hello --output=json | jq | grep pie     "pie": "no", ``` -通常,PIE 仅对 libraries 启用,并不对独立命令行程序启用 PIE。在下面的输出中,`hello` 显示为 `LSB executable`,而 `libc` 标准库 (`.so`) 文件被标记为 `LSB shared object`: +通常,PIE 仅对 libraries 启用,并不对独立命令行程序启用 PIE。在下面的输出中,`hello` 显示为 `LSB executable`,而 `libc` 标准库(`.so`) 文件被标记为 `LSB shared object`: ``` $ file hello @@ -280,14 +279,14 @@ $ readelf -W -h ./hello | grep EXEC   Type:                              EXEC (Executable file) ``` -如果你在共享库上尝试相同的命令,你将看到 `DYN`,而不是`EXEC`: +如果你在共享库上尝试相同的命令,你将看到 `DYN`,而不是 `EXEC`: ``` $ readelf -W -h /lib64/libc-2.32.so | grep DYN   Type:                              DYN (Shared object file) ``` -#### 启用 PIE +##### 启用 PIE 要在测试程序 `hello.c` 上启用 PIE,请在编译时,使用以下命令: @@ -303,7 +302,7 @@ $ checksec --file=./hello --output=json | jq | grep pie $ ``` -现在,应该会显示为 PIE 可执行 pie executable ,其类型从 `EXEC` 更改为 `DYN`: +现在,应该会显示为 “ PIE 可执行 pie executable ”,其类型从 `EXEC` 更改为 `DYN`: ``` $ file hello @@ -313,7 +312,7 @@ $ readelf -W -h ./hello | grep DYN   Type:                              DYN (Shared object file) ``` -### 4\. NX(堆栈禁止执行) +#### 4、NX(堆栈禁止执行) NX 代表 不可执行 non-executable 。它通常在 CPU 层面上启用,因此启用 NX 的操作系统可以将某些内存区域标记为不可执行。通常,缓冲区溢出漏洞将恶意代码放在堆栈上,然后尝试执行它。但是,让堆栈这些可写区域变得不可执行,可以防止这种攻击。在使用 `gcc` 对源程序进行编译时,默认启用此安全属性: @@ -332,7 +331,7 @@ $ readelf -W -l ./hello | grep GNU_STACK   GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10 ``` -#### 演示如何禁用 NX +##### 演示如何禁用 NX 我们不建议禁用 NX,但你可以在编译程序时,使用 `-z execstack` 参数,来禁用 NX: @@ -350,9 +349,9 @@ $ readelf -W -l ./hello | grep GNU_STACK   GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x10 ``` -### 5\. RELRO(GOT写保护) +#### 5、RELRO(GOT 写保护) -RELRO 代表 重定位只读 Relocation Read-Only 。可执行链接格式 (ELF) 二进制文件使用全局偏移表(GOT),来动态地解析函数。启用 RELRO 后,会设置二进制文件中的 GOT 表为只读,从而防止重定位攻击: +RELRO 代表 “重定位只读 Relocation Read-Only ”。可执行链接格式(ELF)二进制文件使用全局偏移表(GOT)来动态地解析函数。启用 RELRO 后,会设置二进制文件中的 GOT 表为只读,从而防止重定位攻击: ``` $ checksec --file=/bin/ls --output=json | jq | grep relro @@ -362,7 +361,7 @@ $ checksec --file=./hello --output=json | jq | grep relro     "relro": "partial", ``` -Checksec 使用以下底层命令,来查找是否启用 RELRO。在二进制文件 `hello` 仅启用了 RELRO 属性中的一个属性,因此,在 Checksec 验证时,显示“partial”: +Checksec 使用以下底层命令,来查找是否启用 RELRO。在二进制文件 `hello` 仅启用了 RELRO 属性中的一个属性,因此,在 Checksec 验证时,显示 `partial`: ``` $ readelf -W -l ./hello | grep GNU_RELRO @@ -371,9 +370,9 @@ $ readelf -W -l ./hello | grep GNU_RELRO $ readelf -W -d ./hello | grep BIND_NOW ``` -#### 启用 full RELRO +##### 启用全 RELRO -要启用 full RELRO,请在 `gcc` 编译时,使用以下命令行参数: +要启用全 RELRO,请在 `gcc` 编译时,使用以下命令行参数: ``` $ gcc -Wl,-z,relro,-z,now hello.c -o hello @@ -382,7 +381,7 @@ $ checksec --file=./hello --output=json | jq | grep relro     "relro": "full", ``` -现在, RELRO 中的第二个属性也被启用,使程序变成 full RELRO: +现在, RELRO 中的第二个属性也被启用,使程序变成全 RELRO: ``` $ readelf -W -l ./hello | grep GNU_RELRO @@ -392,7 +391,7 @@ $ readelf -W -d ./hello | grep BIND_NOW  0x0000000000000018 (BIND_NOW)       ``` -### 6\. Fortify +#### 6、Fortify Fortify 是另一个安全属性,但它超出了本文的范围。Checksec 是如何在二进制文件中验证 Fortify,以及如何在 `gcc` 编译时启用 Fortify,作为你需要解决的课后练习。 @@ -408,11 +407,11 @@ $ checksec --file=./hello --output=json | jq  | grep -i forti     "fortify-able": "0" ``` -## 其他的 Checksec 功能 +### 其他的 Checksec 功能 关于安全性的话题是永无止境的,不可能在本文涵盖所有关于安全性的内容,但我还想提一下 Checksec 命令的一些其他功能,这些功能也很好用。 -### 对多个二进制文件运行 Checksec +#### 对多个二进制文件运行 Checksec 你不必对每个二进制文件都进行一次 Checksec。相反,你可以提供多个二进制文件所在的目录路径,Checksec 将一次性为你验证所有文件: @@ -420,7 +419,7 @@ $ checksec --file=./hello --output=json | jq  | grep -i forti $ checksec --dir=/usr ``` -### 对进程运行 Checksec +#### 对进程运行 Checksec Checksec 除了能检查二进制文件的安全属性,Checksec 还能对程序起作用。以下的命令用于查找你系统上所有正在运行的程序的安全属性。如果你希望 Checksec 检查所有正在运行的进程,可以使用 `--proc-all`,或者你也可以使用进程名称,选择特定的进程进行检查: @@ -430,7 +429,7 @@ $ checksec --proc-all $ checksec --proc=bash ``` -### 对内核运行 Checksec +#### 对内核运行 Checksec 除了本文介绍的用 Checksec 检查用户态应用程序的安全属性之外,你还可以使用它来检查系统内置的 内核属性 kernel properties : @@ -438,7 +437,7 @@ $ checksec --proc=bash $ checksec --kernel ``` -## 快来试一试 Checksec 吧 +### 快来试一试 Checksec 吧 Checksec 是一个能了解哪些用户空间和内核的安全属性被启用的好方法。现在,你就可以开始使用 Checksec,来了解每个安全属性是什么,并明白启用每个安全属性的原因,以及它能阻止的攻击类型。 @@ -449,7 +448,7 @@ via: https://opensource.com/article/21/6/linux-checksec 作者:[Gaurav Kamathe][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -458,3 +457,4 @@ via: https://opensource.com/article/21/6/linux-checksec [1]: https://opensource.com/sites/default/files/lead-images/target-security.png [2]: http://www.opengroup.org/onlinepubs/009695399/functions/printf.html [3]: https://stedolan.github.io/jq/download/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/18/095702dzvm482460vnrv6y.jpg \ No newline at end of file From b940de80058c8f72b56dc4957ebed8541f7e5aad Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 18 Nov 2022 11:30:26 +0800 Subject: [PATCH 454/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 首先非常感谢你愿意贡献的态度,但是我希望你能认真,而不是糊弄我。 这篇文章让你修改,我给你也留了言,但是你没有修改。 请参照我的校对来改进你的翻译质量。 --- ...ow to Install AWS CLI on Linux Step-by-Step.md | 111 ++++++++++-------- 1 file changed, 65 insertions(+), 46 deletions(-) diff --git a/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md b/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md index cc8b5a5d40..ad56a12a8e 100644 --- a/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md +++ b/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md @@ -2,115 +2,129 @@ [#]: via: "https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/" [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " +[#]: translator: "littlebirdnest" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" [#]: url: " " -如何在Linux上安装 AWS CLI +如何在 Linux 上安装 AWS 命令行工具 ====== -本文讲述如何一步步Linux上安装 AWS CLI。 AWS CLI是一个能够和aws账户进行交互的命令行程序。开发者和系统管理员用它管理日常的活动和自动化 +> 本文讲述如何一步步在 Linux 上安装 AWS CLI(命令行工具)。 + +AWS CLI 是一个能够和 AWS 账户进行交互的命令行程序。开发者和系统管理员用它管理日常的活动和自动化。 -##### 准备环节 +### 准备环节 -- 提前安装好Linux系统 -- 有管理员权限 +- 安装好的 Linux 系统 +- 具有管理员权限的 sudo 账户 - 能够联网 -现在让我们开始安装 +现在让我们开始安装: -### 1) 下载安装文件 +### 1、下载安装文件 -打开终端使用curl命令下载AWS CLI 的安装文件 +打开终端使用 `curl` 命令下载 AWS CLI 的安装文件: ``` $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ``` -以上命令会安装一个 ‘awscliv2.zip’的文件在当前工作目录 +![][4] -使用ls命令确认当前下载下来的文件 +以上命令会在当前工作目录下载一个 `awscliv2.zip` 的文件。 + +使用 [ls 命令][1] 确认当前下载下来的文件: ``` -$ ls -l awscliv2.zip -rw-rw-r-- 1 linuxtechi linuxtechi 47244662 Oct 20 10:53 awscliv2.zip $ +$ ls -l awscliv2.zip +-rw-rw-r-- 1 linuxtechi linuxtechi 47244662 Oct 20 10:53 awscliv2.zip +$ ``` -### 2) 解压下载的文件 +### 2、解压缩下载的文件 -使用unzip命令解压安装包 - -if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-3','ezslot_6',320,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-3-0'); +使用 [unzip 命令][2] 解压安装包: ``` $ unzip awscliv2.zip ``` -它会在当前目录创建一个aws的文件夹,把解压好的文件放进去 +它会在当前目录创建一个 `aws` 文件夹,把解压好的文件放进去: ``` -$ ls -ld aws drwxr-xr-x 3 linuxtechi linuxtechi 4096 Oct 19 17:18 aws $ +$ ls -ld aws +drwxr-xr-x 3 linuxtechi linuxtechi 4096 Oct 19 17:18 aws +$ ``` -### 3) 运行安装脚本 +### 3、运行安装脚本 -使用以下命令允许安装脚本 +使用以下命令运行安装脚本: ``` $ sudo ./aws/install ``` -脚本会把所有安装的文件放到 /usr/local/aws-cli目录下,然后创建一个链接文件在/usr/local/bin目录. +![][5] -if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[300,250],'linuxtechi_com-medrectangle-4','ezslot_7',340,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-medrectangle-4-0'); +脚本会把所有安装的文件放到 `/usr/local/aws-cli` 目录下,然后创建一个链接文件到 `/usr/local/bin` 目录。 -### 4) 检查AWS CLI的版本 +### 4、检查 AWS CLI 的版本 -运行以下脚本检查版本 +运行以下脚本检查版本: ``` -$ aws --version aws-cli/2.8.4 Python/3.9.11 Linux/5.15.0-48-generic exe/x86_64.ubuntu.22 prompt/off $ +$ aws --version +aws-cli/2.8.4 Python/3.9.11 Linux/5.15.0-48-generic exe/x86_64.ubuntu.22 prompt/off +$ ``` -### 5) 配置 AWS CLI +### 5、配置 AWS CLI -安装好AWS CLI,开始配置 AWS CLI +为了验证 AWS CLI 是否安装正确,开始配置 AWS CLI: -登录你的AWS管理控制台,取得AWS访问密钥id和访问密钥 +登录你的 AWS 管理控制台,取得 AWS 访问密钥 IDAccess Key ID安全访问密钥Secret Access Key。 -如果还没完成创建,就创建一个密钥id和密钥,把密钥复制到安全的地方 +如果还没完成创建,请先创建,并把它们复制到安全的地方。 -然后回到命令行,运行以下命令 +![][6] -if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-box-4','ezslot_8',260,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-box-4-0'); +然后回到命令行,运行以下命令: ``` -$ aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxx Default region name [None]: us-west-2 Default output format [None]: json $ +$ aws configure +AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx +AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxx +Default region name [None]: us-west-2 +Default output format [None]: json +$ ``` -以上的证书会被保存到这个文件 +以上的证书会被保存到这个文件: ``` $ cat  ~/.aws/credentials ``` -输出上面的命令 +上面的命令的输出: -运行aws命令,列出你账户中的 s3储存和vpc +![][7] + +运行 `aws` 命令列出你账户中的 s3 储存和 VPC: ``` -$ aws s3 ls $ aws ec2 describe-vpcs +$ aws s3 ls +$ aws ec2 describe-vpcs ``` -输出, +输出如下: -成功输出内容,说明你的 AWS CLI 已经配置完成 +![][8] -以上是全部内容,有问题评论区问 +成功输出内容,说明你的 AWS CLI 已经配置完成。 -if(typeof ez_ad_units != 'undefined'){ez_ad_units.push([[250,250],'linuxtechi_com-banner-1','ezslot_9',360,'0','0'])};__ez_fad_position('div-gpt-ad-linuxtechi_com-banner-1-0'); - -其他文章:[How to Setup EKS Cluster along with NLB on AWS][3] +这就是这篇文章的全部内容,请在下面的评论区发表你的疑问和反馈。 -------------------------------------------------------------------------------- @@ -118,8 +132,8 @@ via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -128,3 +142,8 @@ via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/ [1]: https://www.linuxtechi.com/linux-ls-command-examples-beginners/ [2]: https://www.linuxtechi.com/linux-zip-unzip-command-examples/ [3]: https://www.linuxtechi.com/how-to-setup-eks-cluster-nlb-on-aws/ +[4]: https://www.linuxtechi.com/wp-content/uploads/2022/10/Download-AWS-CLI-Curl-Command.png +[5]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-CLI-Install-Script-Linux.png +[6]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Account-Access-Secret-Key.png +[7]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Configure-Command-Output-Linux.png +[8]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Command-List-S3-VPC.png \ No newline at end of file From 576c41885c6dc3f304d38c9337c03993a743c0e7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 18 Nov 2022 11:31:25 +0800 Subject: [PATCH 455/925] P @littlebirdnest https://linux.cn/article-15265-1.html --- ...21.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md (95%) diff --git a/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md b/published/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md similarity index 95% rename from translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md rename to published/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md index ad56a12a8e..11c4fca5d1 100644 --- a/translated/tech/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md +++ b/published/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md @@ -5,11 +5,13 @@ [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" [#]: publisher: "wxy" -[#]: url: " " +[#]: url: "https://linux.cn/article-15265-1.html" 如何在 Linux 上安装 AWS 命令行工具 ====== +![][0] + > 本文讲述如何一步步在 Linux 上安装 AWS CLI(命令行工具)。 AWS CLI 是一个能够和 AWS 账户进行交互的命令行程序。开发者和系统管理员用它管理日常的活动和自动化。 @@ -146,4 +148,5 @@ via: https://www.linuxtechi.com/how-to-install-aws-cli-on-linux/ [5]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-CLI-Install-Script-Linux.png [6]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Account-Access-Secret-Key.png [7]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Configure-Command-Output-Linux.png -[8]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Command-List-S3-VPC.png \ No newline at end of file +[8]: https://www.linuxtechi.com/wp-content/uploads/2022/10/AWS-Command-List-S3-VPC.png +[0]: https://img.linux.net.cn/data/attachment/album/202211/18/112836c2d0bekaxu75ffbx.jpg \ No newline at end of file From 452bfa438ce567269d4fdf6041eda3dea42c67e0 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 19 Nov 2022 05:02:39 +0800 Subject: [PATCH 456/925] =?UTF-8?q?=E9=80=89=E9=A2=98[tech]:=2020221118=20?= =?UTF-8?q?How=20to=20rebase=20to=20Fedora=20Linux=2037=20on=20Silverblue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md --- ...rebase to Fedora Linux 37 on Silverblue.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md diff --git a/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md new file mode 100644 index 0000000000..85923564ae --- /dev/null +++ b/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md @@ -0,0 +1,118 @@ +[#]: subject: "How to rebase to Fedora Linux 37 on Silverblue" +[#]: via: "https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/" +[#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to rebase to Fedora Linux 37 on Silverblue +====== + +![][1] + +Fedora Silverblue is [an operating system for your desktop built][2][ on Fedora Linux][2]. It’s excellent for daily use, development, and container-based workflows. It offers [numerous advantages][3] such as being able to roll back in case of any problems. If you want to update or rebase to Fedora Linux 37 on your Fedora Silverblue system (these instructions are similar for Fedora Kinoite), this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens. + +Prior to actually doing the rebase to Fedora Linux 37, you should apply any pending updates. Enter the following in the terminal: + +``` + + $ rpm-ostree update + +``` + +or install updates through GNOME Software and reboot. + +### Rebasing using GNOME Software + +GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen. + +![Fedora 37 update available][4] + +First thing you need to do is download the new image, so click on the _Download_ button. This will take some time. When it’s done you will see that the update is ready to install. + +![Fedora 37 update ready to install][5] + +Click on the _Restart & Upgrade_ button. This step will take only a few moments and the computer will be restarted at the end. After restart you will end up in new and shiny release of Fedora Linux 37. Easy, isn’t it? + +### Rebasing using terminal + +If you prefer to do everything in a terminal, then this part of the guide is for you. + +Rebasing to Fedora Linux 37 using the terminal is easy. First, check if the 37 branch is available: + +``` + + $ ostree remote refs fedora + +``` + +You should see the following in the output: + +``` + + fedora:fedora/37/x86_64/silverblue + +``` + +If you want to pin the current deployment (this deployment will stay as option in GRUB until you remove it), you can do it by running: + +``` + + # 0 is entry position in rpm-ostree status + $ sudo ostree admin pin 0 + +``` + +To remove the pinned deployment use the following command: + +``` + + # 2 is entry position in rpm-ostree status + $ sudo ostree admin pin --unpin 2 + +``` + +where 2 is the position in the rpm-ostree status. + +Next, rebase your system to the Fedora Linux 37 branch. + +``` + + $ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue + +``` + +Finally, the last thing to do is restart your computer and boot to Fedora Linux 37. + +### How to roll back + +If anything bad happens—for instance, if you can’t boot to Fedora Linux 37 at all—it’s easy to go back. Pick the previous entry in the GRUB menu at boot (if you don’t see it, try to press ESC during boot), and your system will start in its previous state before switching to Fedora Linux 37. To make this change permanent, use the following command: + +``` + + $ rpm-ostree rollback + +``` + +That’s it. Now you know how to rebase Fedora Silverblue to Fedora Linux 37 and roll back. So why not do it today? + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/ + +作者:[Michal Konečný][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://fedoramagazine.org/author/zlopez/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2021/04/silverblue-rebase-816x345.jpg +[2]: https://docs.fedoraproject.org/en-US/fedora-silverblue/ +[3]: https://fedoramagazine.org/give-fedora-silverblue-a-test-drive/ +[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-11-32-1024x714.png +[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-12-22-1024x714.png From f233d2983de658830a33a49ad7b4dfdf076c548a Mon Sep 17 00:00:00 2001 From: DarkSun Date: Sat, 19 Nov 2022 05:02:47 +0800 Subject: [PATCH 457/925] add done: 20221118 How to rebase to Fedora Linux 37 on Silverblue.md --- sources/tech/20221115 .md | 25 +++++++++++++++++++++++++ sources/tech/20221116 .md | 25 +++++++++++++++++++++++++ sources/tech/20221117 .md | 25 +++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 sources/tech/20221115 .md create mode 100644 sources/tech/20221116 .md create mode 100644 sources/tech/20221117 .md diff --git a/sources/tech/20221115 .md b/sources/tech/20221115 .md new file mode 100644 index 0000000000..fef5b63dd8 --- /dev/null +++ b/sources/tech/20221115 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/unity-arch-linux/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/unity-arch-linux/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221116 .md b/sources/tech/20221116 .md new file mode 100644 index 0000000000..906b1621e6 --- /dev/null +++ b/sources/tech/20221116 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/canonical-intel-iot/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/canonical-intel-iot/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221117 .md b/sources/tech/20221117 .md new file mode 100644 index 0000000000..a4590eebe7 --- /dev/null +++ b/sources/tech/20221117 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/wsl-stable-available/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/wsl-stable-available/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 From 4a7be916d502a35ba45d861f7341fd8b5f303419 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 19 Nov 2022 10:12:51 +0800 Subject: [PATCH 458/925] Delete 20221115 .md --- sources/tech/20221115 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221115 .md diff --git a/sources/tech/20221115 .md b/sources/tech/20221115 .md deleted file mode 100644 index fef5b63dd8..0000000000 --- a/sources/tech/20221115 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/unity-arch-linux/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/unity-arch-linux/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From eb4794283a288f8527347ebe40f5fc65c44190b8 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 19 Nov 2022 10:13:04 +0800 Subject: [PATCH 459/925] Delete 20221116 .md --- sources/tech/20221116 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221116 .md diff --git a/sources/tech/20221116 .md b/sources/tech/20221116 .md deleted file mode 100644 index 906b1621e6..0000000000 --- a/sources/tech/20221116 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/canonical-intel-iot/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/canonical-intel-iot/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From e4b703bc140b0398579bd3bd407695d8013234b4 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 19 Nov 2022 10:13:24 +0800 Subject: [PATCH 460/925] Delete 20221117 .md --- sources/tech/20221117 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221117 .md diff --git a/sources/tech/20221117 .md b/sources/tech/20221117 .md deleted file mode 100644 index a4590eebe7..0000000000 --- a/sources/tech/20221117 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/wsl-stable-available/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/wsl-stable-available/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 919d98f166f13b6eb533e1a87c49b34de36fee49 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 19 Nov 2022 10:58:10 +0800 Subject: [PATCH 461/925] RP @Cubik65536 https://linux.cn/article-15267-1.html --- ...️ Learn Python 7 of my favorite resources.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) rename {translated/talk => published}/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md (57%) diff --git a/translated/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/published/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md similarity index 57% rename from translated/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md rename to published/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md index e72764c99b..8f359d285a 100644 --- a/translated/talk/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md +++ b/published/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md @@ -3,48 +3,50 @@ [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15267-1.html" 学习 Python:我最喜欢的 7 个资源 ====== -这些年来,我通过这些开源资源提高了我的 Python 技能。 +![](https://img.linux.net.cn/data/attachment/album/202211/19/105720mfgygbzyg3ccttce.jpg) + +> 这些年来,我通过这些开源资源提高了我的 Python 技能。 我最近决定进一步学习 Python,以便提高我的教学技能,拓宽我的学生的视野。在这个过程中,我发现了这些优秀的资源,让我学习新的代码,并提高了对 Python 的整体理解。 -### 1. 教你的孩子编程 +### 1、《教孩子学编程 Python 语言版》 -我的 Python 之旅大约是 7 年前开始的,当时我发现了 Apple LOGO 和 Python 中的 [Turtle 模块][1] 之间的联系。当时使用的 Linux 计算机的默认 Python 版本为 Python 2.7,我很快发现我想使用 Python 3。我成功地安装了它,并开始使用 Turtle 模块编写一些简单的程序。在阅读 Dr. Bryson Payne 的 [教你的孩子编程][2] 之后,我意识到 Python 不仅仅是 Turtle。那时我安装了 [IDLE][3]。 +我的 Python 之旅大约是 7 年前开始的,当时我发现了 Apple LOGO 和 Python 中的 [Turtle 模块][1] 之间的联系。当时使用的 Linux 计算机的默认 Python 版本为 Python 2.7,我很快发现我想使用 Python 3。我成功地安装了它,并开始使用 Turtle 模块编写一些简单的程序。在阅读 Dr. Bryson Payne 的 《[教孩子学编程 Python 语言版][2]》 之后,我意识到 Python 不仅仅是 Turtle。那时我安装了 [IDLE][3]。 -### 2. IDLE +### 2、IDLE 在使用 IDLE 工作的过程中,交互式界面优化了我的体验,并让我有足够的信心来考虑向学生教授 Python。我志愿帮助我社区中的一群在家学习的孩子,很快我发现自己在教授一个有十六个孩子的班级!我很高兴他们的父母同意帮助我,否则我想我会被压垮。这个经历激发了我学习更多的欲望,以便我可以教授更多。 -### 3. Mu 编辑器 +### 3.、Mu 编辑器 -2018 年春天,我参加了 PyConUS。我听了一场由中学老师 [Nicholas Tollervey][4] 主讲的演讲,他为学龄前儿童编写了一个 Python 开发环境。[Mu 编辑器][5] 内置了一个可以帮助我找到代码中的错误的 linter。Mu 帮助我提高了我的编码技能,我也能够与学生分享这些技能,他们也从中受益。 +2018 年春天,我参加了 PyConUS。我听了一场由中学老师 [Nicholas Tollervey][4] 主讲的演讲,他为学龄前儿童编写了一个 Python 开发环境。[Mu 编辑器][5] 内置了一个可以帮助我找到代码中的错误的 质检工具Linter。Mu 帮助我提高了我的编码技能,我也能够与学生分享这些技能,他们也从中受益。 -我的自信和经验增长后,我希望与更多的学生分享 Python 之旅。我与其他人合作撰写了一个申请书,以教授一个使用树莓派 4 和 Python 的课程。疫情打断了这个计划。在此期间,树莓派基金会发布了 Pi 400。2021 年春天,我使用了前一年开发的材料和一个来自当地图书馆的慷慨的资助,来 [教授两组][6] 学生如何编程。这个活动非常成功并在今年再次举办。 +我的自信和经验增长后,我希望与更多的学生分享 Python 之旅。我与其他人合作撰写了一个申请书,以教授一个使用树莓派 4 和 Python 的课程。疫情打断了这个计划。在此期间,树莓派基金会发布了树莓派 400。2021 年春天,我使用了前一年开发的材料和一个来自当地图书馆的慷慨的资助,来 [教授两组][6] 学生如何编程。这个活动非常成功并在今年再次举办。 -### 4. Codium +### 4、Codium -几年前,我了解到微软的 Visual Studio Code 是一个可以在 Linux 上使用的开源代码编辑器。我最近才了解到,如何在 VS Code 中配置和使用 Python 虚拟环境。我的问题在 Opensource.com 上一篇 [关于虚拟环境的文章][7] 中得到了解答,这让我可以知道如何在 Linux 计算机上设置和配置 Python 虚拟环境。大约在同一时间,我发现了 [Codium][8],一个围绕 VS Code 构建的社区项目。 +几年前,我了解到微软的 VS Code 是一个可以在 Linux 上使用的开源代码编辑器。我最近才了解到,如何在 VS Code 中配置和使用 Python 虚拟环境。我的问题在一篇 [关于虚拟环境的文章][7] 中得到了解答,这让我可以知道如何在 Linux 计算机上设置和配置 Python 虚拟环境。大约在同一时间,我发现了 [Codium][8],一个围绕 VS Code 构建的社区项目。 现在我希望与我的学生分享 VS Codium 的体验,并让他们对 Python 的理解不再局限于 Turtle 模块。这种学习的热情让我寻找开源且可以在互联网上随意获得的教学资源。 -### 5. 简单解释 Python +### 5、《Python 编程练习,简单解释》 -[使用 Python 自动化繁琐的事情][9] 这本书是我最喜欢的一本书。现在,作者已经发布了 [Python 编程练习,简单解释][10]。这两本书都可以免费在线阅读,并且都采用了知识共享许可证。 +《[Python 编程快速上手 让繁琐工作自动化][9]》 这本书是我最喜欢的一本书。现在,作者已经发布了 《[Python 编程练习,简单解释][10]》。这两本书都可以免费在线阅读,并且都采用了知识共享许可证。 -### 6. Python for Everyone +### 6、《每个人都可以使用 Python》 -Dr. Charles Severance 在 2017 年发布了 [Python for Everyone][11],我非常推荐这本书。他为像我这样的有抱负的程序员提供了简短的课程。课程的代码可以在 [GitHub][12] 上找到,所以你可以下载它并在自己的计算机或学校网络上安装它。 +Dr. Charles Severance 在 2017 年发布了 《[每个人都可以使用 Python][11]》,我非常推荐这本书。他为像我这样的有抱负的程序员提供了简短的课程。课程的代码可以在 [GitHub][12] 上找到,所以你可以下载它并在自己的计算机或学校网络上安装它。 ### 7. Python 视频 -最近,我了解到 Opensource.com 的成员 [Jay LaCroix][13] 在 YouTube 上有一系列精彩的视频,其中包括 28 个免费视频,从 Python 基础开始,涵盖了 [Python 编程][14] 的全面介绍。最重要的是,他使用的是 Linux 计算机,因此他的课程特别适合 Linux 编程环境。这些视频的其中一个收获是学习如何使用 [nano][15] 作为编程环境,它默认情况下包含在大多数 Linux 发行版中。 +最近,我了解到 [Jay LaCroix][13] 在 YouTube 上有一系列精彩的视频,其中包括 28 个免费视频,从 Python 基础开始,涵盖了 [Python 编程][14] 的全面介绍。最重要的是,他使用的是 Linux 计算机,因此他的课程特别适合 Linux 编程环境。这些视频的其中一个收获是学习如何使用 [nano][15] 作为编程环境,它默认情况下包含在大多数 Linux 发行版中。 ### 你的学习之路 @@ -57,7 +59,7 @@ via: https://opensource.com/article/22/11/learn-python 作者:[Don Watkins][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From b9a10c7c4bda047ab62f7e585778a5b02e7bcde4 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sat, 19 Nov 2022 15:30:33 +0800 Subject: [PATCH 462/925] Update and rename sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md to translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md --- ...to run Kubernetes in your Linux homelab.md | 100 ------------------ ...to run Kubernetes in your Linux homelab.md | 99 +++++++++++++++++ 2 files changed, 99 insertions(+), 100 deletions(-) delete mode 100644 sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md create mode 100644 translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md diff --git a/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md deleted file mode 100644 index 6820507282..0000000000 --- a/sources/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md +++ /dev/null @@ -1,100 +0,0 @@ -[#]: subject: (5 more reasons to run Kubernetes in your Linux homelab) -[#]: via: (https://opensource.com/article/21/6/kubernetes-linux-homelab) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -5 more reasons to run Kubernetes in your Linux homelab -====== -Kubernetes' advantages aren't just what it can do, they're also what -knowing it can do for you. -![Working from home at a laptop][1] - -In [5 reasons to run Kubernetes on your Raspberry Pi homelab][2], I explain why you might want to use Kubernetes at home. Those reasons are relatively arbitrary, and they mostly focus on outcomes. Aside from what Kubernetes can do, there are several other good reasons to look at Kubernetes as an important next step in your personal computing experience. - -### 1\. It's built on the foundation of Linux - -![T-shirt reading "Containers are Linux"][3] - -(Seth Kenlon, [CC BY-SA 4.0][4]) - -Kubernetes has a certain reputation. More accurately, it has several reputations. For some people, it's a mysterious technology with an unpronounceable name. To other people, it's a sheepdog helping them herd an over-abundance of containers. For others, it's a kind of operating system for the cloud, a useful interface to effective cloud development. And for most people, probably, it's back-end software they've never even heard of. As you might expect, it's all of these things and more. - -Not everyone interacts with Kubernetes the same way, but if you have an inclination toward systems administration, you'll find that Kubernetes is _just another Linux command_. - -I have a t-shirt that reads "Containers are Linux," which states what is, upon reflection, obvious. Container technology uses cgroups to run images of a minimal Linux operating system containing an application or set of applications. From start to finish, when you choose to run a container, you're choosing to run Linux. While Kubernetes commands run on many platforms, it's managing Linux containers, and when you interact with Kubernetes through a terminal, it's Linux business as usual: command, options, args, syntax. Running `kubeadm` or (on OKD or OpenShift) `oc` commands feels familiar because they work like any other Linux command you're used to running. What starts out seeming foreign feels natural in no time, and any Linux user interested in spending time in the terminal can find plenty of fun things to explore in Kubernetes. - -### 2\. Flexible - -Kubernetes used to be a little rigid. It supported, essentially, one container runtime—so stringently, in fact, that there's a hardcoded shim to this day to get around that legacy. Luckily, today Kubernetes has become flexible enough to allow for admins' many diverse needs. There's [Podman][5] and [CRI-O][6] available as container engines, both of which can integrate with [systemd][7]. (I meant what I said when I told you it was all Linux underneath.) You have choices of filesystems, cluster size and construction, monitoring tools, images, programming languages, and much more. Frankly, some people say there's _too much_ choice, which is usually when I suspect that after a few more years, it'll have just enough choice for me. - -### 3\. Personal development - -Containers are a fruitful business, and they have the habit of multiplying rapidly. That's by design. Containers are meant to scale, and they scale by spawning clones. Stick the containers into groups (call them _pods_), and automate how pod lifecycles are managed. That's all Kubernetes really is, and it's changing how servers can run. - -You might not need an infinitely scaleable collection of containers, and you may not need anything to help you manage the one or two containers you do run. However, if you're looking to profit from your ability to wrangle pods, then Kubernetes is exactly the tool you want. As more and more companies and organizations go global and embrace [digital transformation][8], Kubernetes is becoming a required skill in IT. If that's the path you're on, it's a good investment to learn it now and get familiar with common problems and their solutions. - -### 4\. Make containers make sense - -You may remember several years ago when open source projects started distributing their code as container images. For many, it was puzzling at the time. Not many admins really [understood what a container was][9], or where the boundaries of the imaginary container were, or how to get into the container, or why data couldn't live inside the container. - -Now, the IT world—including developers—is comfortable with the concept of containers. Delivery to containers just makes sense for a modern [CI/CD workflow][10]. For the sysadmin, though, the advantages of containers are twofold: installation is (theoretically) easier than waiting for a distro to update its packages, and containers scale. Yet it's very likely that neither of these benefits really manifests for you until you've used Kubernetes. Once you start managing containers with Kubernetes and related tools, the benefits of continuous delivery and the ability to scale are probably merely ideas you've read about. Integrate containers into how you manage your servers, and you suddenly understand what the excitement is all about. - -![Apache JMeter][11] - -(Seth Kenlon, [CC BY-SA 4.0][4]) - -The most basic of tests makes it pretty clear. Just spin up your favorite web server in a container, create a pod, then hit your server with traffic from [Apache JMeter][12], and watch containers respond. - -### 5\. Cloud-native - -If you do more development than systems administration, Kubernetes provides an excellent platform for what has easily become the biggest target of all: web apps. We all use web apps now, even though most people just think of them as "websites." The web has a hugely significant user base (to say the least), so it makes sense to provide open source applications through the browser. There are some great open source applications that run over a network, and many of those are delivered as containers to provide easy installation and a consistent user experience. - -### Bonus: It's fun - -Remember when you were still new to Linux? For some people, that might have been decades ago, and for others, it's still around the corner. For all of us, though, learning something new can be a fun challenge. If you've reached the point that Linux installs are more a bother than a challenge, you might want to try building a Kubernetes cluster in your broom closet. It will reintroduce you to all kinds of concepts you'd forgotten about. Hacking on plain-text ([YAML][13] specifically) configuration files, configuring network interfaces and networks, routing traffic, poring over the advantages and disadvantages of one backend over another, running `--dry-run` after `--dry-run` tests, tentatively pressing Return to find out whether you got everything right. Honestly, Kubernetes is just fun. - -If you want to build your own infrastructure, there's nothing quite like building your own Kubernetes cluster. A whole new world will open to you. You quickly become a cloud architect, perfecting your open cloud, installing amazing open source web applications in containers, and maybe even offering access to your family and friends. - -You become the solution. It's so very satisfying. - -### Explore Kubernetes - -Kubernetes might seem out of reach at first. It's new, a little scary, and worst yet, it apparently requires a cloud. However, there are a few ways to get started. - -First, install either [Minikube][14] or [Minishift][14]. Both of these allow you to run a local instance of Kubernetes on your personal computer. It's not quite as satisfying as building a cluster and opening it up to your friends, but it's a great, safe way to get familiar with the landscape, commands, and toolkit. - -Once you're ready for the real thing, read Chris Collins' article [Build a Kubernetes cluster with the Raspberry Pi][15]. After that, download our free ebook [Running Kubernetes on your Raspberry Pi homelab][16]. Before you know it, you'll find yourself wearing Kubernetes t-shirts, too. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/kubernetes-linux-homelab - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop) -[2]: https://opensource.com/article/20/8/kubernetes-raspberry-pi -[3]: https://opensource.com/sites/default/files/uploads/containers-are-linux.jpg (T-shirt reading "Containers are Linux") -[4]: https://creativecommons.org/licenses/by-sa/4.0/ -[5]: http://podman.io -[6]: http://cri-o.io -[7]: https://opensource.com/article/21/5/systemd -[8]: https://enterprisersproject.com/what-is-digital-transformation -[9]: https://opensource.com/article/18/11/behind-scenes-linux-containers -[10]: https://opensource.com/article/18/8/what-cicd -[11]: https://opensource.com/sites/default/files/uploads/jmeter.png (Apache JMeter) -[12]: https://jmeter.apache.org -[13]: https://www.redhat.com/sysadmin/yaml-beginners -[14]: https://opensource.com/article/18/10/getting-started-minikube -[15]: https://opensource.com/article/20/6/kubernetes-raspberry-pi -[16]: https://opensource.com/downloads/kubernetes-raspberry-pi diff --git a/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md new file mode 100644 index 0000000000..7f6f78304c --- /dev/null +++ b/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md @@ -0,0 +1,99 @@ +[#]: subject: (5 more reasons to run Kubernetes in your Linux homelab) +[#]: via: (https://opensource.com/article/21/6/kubernetes-linux-homelab) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +在你的 Linux 主机上运行 Kubernetes 的 5 个理由 +====== + +>Kubernetes 的优势不仅在于它能够做什么,还在于知道它能为你做什么。 + +![Working from home at a laptop][1] + +在 [Raspberry Pi 家庭实验室 homelab 上运行 Kubernetes 的 5 个理由][2] 这篇文章中,我解释了为什么推荐在家里使用 Kubernetes。其中的理由相对来说会有点随意,并且主要于关注结果。除了 Kubernetes 好用的功能之外,还有其他几个应将 Kubernetes 包含在你自己的计算机的理由。 + +(LCTT译注:Homelab 指的是安置在你家里的一个服务器或者多服务器的组合配置。在之上托管了多个服务和虚拟系统,以此来进行测试、开发,或者提供家庭功能用途。) + +### 1、Kubernetes 是基于 Linux 而建立的 + +![T-shirt reading "Containers are Linux"][3] + +Kubernetes 有很高的知名度。对于一些人来说,Kubernetes 是一种难以言说的神秘技术;对其他人来说,Kubernetes 就好像是牧羊犬放牧羊群一样,可以帮助他们管理过多的容器;对于另一些人来说,Kubernetes 是一种 cloud 的操作系统,是 实效云开发 effective cloud development 的一个有用的界面;对于大多数人来说,Kubernetes 可能是他们从未听说过的后端软件。正如人们所想的那样,Kubernetes 具有所有这些能力,甚至有更多的功能。 + +并非每个人都以相同的方式使用 Kubernetes,但如果你主要的工作是系统管理,你会发现 Kubernetes _只是另一个 Linux 命令_。 + +我有一件 T 恤,上面写着 “容器就是 Linux” Containers are Linux ,它的意思是显而易见的。容器技术使用 cgroups,来运行包含一个或一组应用程序的最小 Linux 操作系统映像。当你运行容器时,实际上你就是在运行 Linux。虽然在许多平台上都能使用 Kubernetes 命令,但 Kubernetes 命令管理的是 Linux 容器。当你通过终端与 Kubernetes 交互时,Kubernetes 命令类似于 Linux 的使用:有命令、选项、参数和语法。运行 Kubernetes 的 `kubeadm` 或(在 OKD 或 OpenShift 上)运行 `oc` 命令,你会感觉到很熟悉,是因为它们的工作方式与你习惯使用的任何其他 Linux 命令一样。开始时看似陌生的东西很快就会变得自然,任何有兴趣花时间在终端上的 Linux 用户都可以在 Kubernetes 中探索到许多有趣的东西。 + +### 2、Kubernetes 很灵活 + +在过去,Kubernetes 有点死板,因为从本质上来说,它仅能支持一个 容器运行时 container runtime 。这个规定非常严格,以至于今天需要一个 硬编码的垫片 hardcoded shim ,才能绕过这个遗留问题。幸运的是,如今 Kubernetes 已经变得足够灵活,可以满足管理员的许多不同需求了。[Podman][5] 和 [CRI-O][6] 可用作于容器引擎,它们都可以与 [systemd][7] 集成(这是因为 Kubernetes 的底层都是 Linux)。你可以自己选择 Kubernetes 所使用的文件系统、集群大小和构造、监控工具、镜像、编程语言等等配置。甚至现在有些人说 Kubernetes 有 _太多_ 的选择了。 + +### 3、学习 Kubernetes 有助于个人发展 + +容器是一个硕果累累的事物,它们会快速地成倍增长。这是设计使然的,容器旨在扩展,它们通过生成克隆来扩展。将容器分组(称为 _pods_),并自动化 Pod 生命周期的管理方式,这就是 Kubernetes 运用的方式。Kubernetes 正在改变服务器的运行方式。 + +你可能不需要无限扩展的容器集合,也不需要任何东西来帮助你管理正运行的一或两个容器。但是,如果你希望受益于处理 Pods 的能力,那么 Kubernetes 正是你需要学习的工具。随着越来越多的公司和组织走向全球,并拥抱 [数字化转型][8],Kubernetes 正在成为 IT 领域的必备技能。如果你想要在这个领域中发展,那么现在开始学习 Kubernetes 并熟悉它的常见问题及其解决方案,将会是一项很好的投资。 + +### 4、Kubernetes 让容器更有意义 + +你可能还记得几年前,当开源项目刚开始将它们的代码作为容器镜像分发时,对于许多人来说,容器这一概念是令人费解的:没有多少系统管理员真正理解 [容器是什么][9],或者明白容器的边界在哪里、如何进入容器,以及为什么数据不能存在于容器内。 + +现在,IT 界(包括开发人员在内)都对容器的概念都十分熟悉了。对于现代的 [CI/CD 工作流程][10] 来说,分发容器十分有意义。不过,对于系统管理员来说,容器的优势如下:安装容器比等待发行版更新其软件包和容器规模,更为容易。然而,在你使用 Kubernetes 之前,你很可能都不会真正地感受到这些好处。当你开始使用 Kubernetes 和相关工具管理容器之前,持续交付容器的好处和容器的扩展能力可能只是你读过的想法。将容器集成到你管理服务器的方式中,你会突然明白 Kubernetes 中令人兴奋的是什么。 + +![Apache JMeter][11] + +你可以试试看这个最基本的测试:只需在容器中启动你最喜欢的 Web 服务器,创建一个 pod,然后使用来自 [Apache JMeter][12] 的流量访问你的服务器,然后观察容器响应。 + +### 5、Kubernetes 是 云原生的 Cloud-native + +如果你主要做的是系统开发,而不是系统管理,那么 Kubernetes 也是 网络应用程序 web apps 的一个很好的平台。我们现在都在使用网络应用程序,尽管大多数人只是将它们视为“网站 website ”。Web 拥有庞大的用户群,因此通过浏览器提供开源的应用程序是非常有意义的。有一些很棒的开源应用程序在网络上运行,其中许多的应用程序都以容器的形式分发的,它们可以支持简单的安装和持续的用户体验。 + +### Kubernetes 的其他优势:Kubernetes 很有意思 + +你还记得你还是 Linux 新手的时候吗?对于一些人来说,那可能是几年前的事了,而对于其他人来说,可能是不久的过去。不过,对于所有人来说,学习一项新事物会是一个有趣的挑战。如果你达到了认为“Linux 的安装是麻烦多于挑战”的程度,那么你可以尝试一下构建一个 Kubernetes 集群。它会让你回忆起你忘记的各种概念:如何破解纯文本(特别是 [YAML][13] 格式的)配置文件,如何配置网络接口和网络,如何路由流量,知道一个后端相对于另一个后端的优缺点,在 `--dry-run` 测试之后运行 `dry-run` 测试,试探性地按 Return 来确定你是否做对了。老实说,使用 Kubernetes 很有趣。 + +如果你想自己构建基础架构,没有什么比构建你自己的 Kubernetes 集群更好的了。Kubernetes 集群将会为你打开一个全新的世界。你很快就会成为一名云架构师,学会完善你的开放云,在容器中安装令人惊叹的开源 Web 应用程序,也能为你的家人和朋友提供访问权限。 + +你自己就能得到解决方案。这真是太棒啦。 + +### 快来试试看 Kubernetes 吧 + +对 Kubernetes 的初学者来说,Kubernetes 似乎很难快速上手,因为 Kubernetes 是一个新的工具,会让你感到有点害怕,而且它还需要云。但是,以下有几种方法可以让你开始 Kubernetes 体验。 + +首先,安装 [Minikube][14] 或 [Minishift][14]。这两个工具都允许你在自己的计算机上运行 Kubernetes 的本地实例。虽然这种方式比不上“构建一个集群并与你的朋友共享”那么令人满意,但它是一种让你熟悉 Kubernetes 环境、命令和工具包的很好且安全的方式。 + +当你准备进一步研究 Kubernetes 后,请进一步阅读 Chris Collins 关于 [使用 Raspberry Pi 构建 Kubernetes 集群][15] 的文章。之后,再下载我们的免费电子书 [在你的 Raspberry Pi 家庭实验室上运行 Kubernetes][16]。在不知不觉中,你会发现自己也明白了“容器就是 Linux”的含义。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/kubernetes-linux-homelab + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop) +[2]: https://opensource.com/article/20/8/kubernetes-raspberry-pi +[3]: https://opensource.com/sites/default/files/uploads/containers-are-linux.jpg (T-shirt reading "Containers are Linux") +[4]: https://creativecommons.org/licenses/by-sa/4.0/ +[5]: http://podman.io +[6]: http://cri-o.io +[7]: https://opensource.com/article/21/5/systemd +[8]: https://enterprisersproject.com/what-is-digital-transformation +[9]: https://opensource.com/article/18/11/behind-scenes-linux-containers +[10]: https://opensource.com/article/18/8/what-cicd +[11]: https://opensource.com/sites/default/files/uploads/jmeter.png (Apache JMeter) +[12]: https://jmeter.apache.org +[13]: https://www.redhat.com/sysadmin/yaml-beginners +[14]: https://opensource.com/article/18/10/getting-started-minikube +[15]: https://opensource.com/article/20/6/kubernetes-raspberry-pi +[16]: https://opensource.com/downloads/kubernetes-raspberry-pi From 4b6029f290614312868883badfce10439be2ed9f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 19 Nov 2022 15:59:08 +0800 Subject: [PATCH 463/925] RP @geekpi https://linux.cn/article-15268-1.html --- ...0 ⭐️⭐️ Fix scanned images with ImageMagick.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) rename {translated/tech => published}/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md (80%) diff --git a/translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/published/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md similarity index 80% rename from translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md rename to published/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md index 329a0cb7dc..991acefdef 100644 --- a/translated/tech/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md +++ b/published/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md @@ -3,18 +3,20 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15268-1.html" 使用 ImageMagick 修复扫描图像 ====== -使用这个开源工具,即使是批量校正图像也很容易。 +![](https://img.linux.net.cn/data/attachment/album/202211/19/155829valiu5lulmhuuhiz.jpg) + +> 使用这个开源工具,即使是批量校正图像也很容易。 多年前,在翻阅一家旧书店的书架上的内容时,我偶然发现了一本名为 《UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD》 的小册子,由 Specialized Systems Consultants 出版。我买它是出于好奇,因为它已经有将近 20 年的历史了,但仍然在很大程度上适用于现代 Linux 和 BSD。 -这让我当时和现在都很开心。一本写于 1986 年的小册子在 2016 年仍然很重要,而同一个书架上关于专有操作系统的书籍并不值得印刷它们的纸张。(想一想:你认为什么技术可以在僵尸末日中幸存下来?)这本小册子已经放在我自己的书架上好几年了,但我突然想到可能值得对这个作品做一点数字保存,所以我决定扫描这本小册子来创建一本 [CBZ 电子书][1]。 +无论是当时还是现在,我都很开心。一本写于 1986 年的小册子在 2016 年仍然很重要,而同一个书架上关于专有操作系统的书籍并不值得印刷它们的纸张。(想一想:你认为什么技术可以在僵尸末日中幸存下来?)这本小册子已经放在我自己的书架上好几年了,但我突然想到可能值得对这个作品做一点数字保存,所以我决定扫描这本小册子来创建一本 [CBZ 电子书][1]。 使用 [Skanlite][2] 进行扫描很容易,但很耗时。然而,当我完成后,我发现有些页面不是很平整。 @@ -44,7 +46,7 @@ $ convert page_0052.webp -deskew25% fix_0052.webp ### 使用 ImageMagick 裁剪图像 -在纠正了歪斜之后,因为无论如何我扫描的每一页都比必要的要多,以防止意外切断单词,我认为裁剪我纠正的页面是有意义的。我很高兴在页边空白处保留一些空间,但没有以前那么多。我经常使用 ImageMagick 的“裁剪”功能来处理这个网站上的图像,所以我很熟悉这个选项。但是,我需要确定如何裁剪每一页。 +在纠正了歪斜之后,因为我扫描每一页都比必要的范围要多,以防止意外切断单词,我认为裁剪我纠正的页面是有意义的。我很高兴在页边空白处保留一些空间,但没有以前那么多。我经常使用 ImageMagick 的“裁剪”功能来处理这个网站上的图像,所以我很熟悉这个选项。但是,我需要确定如何裁剪每一页。 首先,我需要图像的大小: @@ -76,7 +78,7 @@ via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick 作者:[Seth Kenlon][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/) 荣誉推出 From b59bb8cb96f04653382065ceba25d6f3bd28ce1a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 19 Nov 2022 16:23:56 +0800 Subject: [PATCH 464/925] RP @Cubik65536 https://linux.cn/article-15269-1.html --- ...to Install FFmpeg in Ubuntu and Other Linux.md | 91 ++++++++++--------- 1 file changed, 47 insertions(+), 44 deletions(-) rename {translated/tech => published}/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md (57%) diff --git a/translated/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/published/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md similarity index 57% rename from translated/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md rename to published/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md index 63ebd28355..8b4e3da3ed 100644 --- a/translated/tech/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md +++ b/published/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md @@ -3,68 +3,70 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15269-1.html" 如何在 Ubuntu 和其他 Linux 发行版中安装 FFmpeg ====== -**本教程讲述了在 Ubuntu 和其他 Linux 系统中安装 FFmpeg 所需的步骤。** +![][0] -FFmpeg 是一系列用于操作多媒体文件的库和软件程序。整个 ffmpeg 是一组强大的库,允许您转换,推流和操作音频和视频文件。许多前端 Linux 应用程序将其用作后端并依赖它。例如,屏幕录制应用程序可能需要 ffmpeg 将录制的流转换为 gif 图像。 +> 本教程讲述了在 Ubuntu 和其他 Linux 系统中安装 FFmpeg 所需的步骤。 -主流的应用程序和服务,如 VLC 媒体播放器,YouTube,Blender,Kodi,Shotcut 和 Handbrake 等,都使用 FFmpeg。 +FFmpeg 是一系列用于操作多媒体文件的库和软件程序。整个 FFmpeg 是一组强大的库,允许你转换、推流和操作音频和视频文件。许多前端 Linux 应用程序将其用作后端并依赖它。例如,屏幕录制应用程序可能需要 FFmpeg 将录制的流转换为 Gif 图像。 -趣事:NASA 2020 年发射的毅力号火星探测器使用 FFmpeg 完成和处理图像和视频,然后将其发送回地球! +主流的应用程序和服务,如 VLC 媒体播放器、YouTube、Blender、Kodi、Shotcut 和 Handbrake 等,都使用 FFmpeg。 -### 关于 ffmpeg 包 +> 趣事:NASA 2020 年发射的毅力号火星探测器使用 FFmpeg 完成和处理图像和视频,然后将其发送回地球! -[FFmped][1] 是一个强大的命令行工具。它支持 Linux,Windows 和 macOS,并支持多种架构。它是用 C 和汇编编写的,提供了强大的性能和跨平台实用性。 +### 关于 FFmpeg 包 + +[FFmped][1] 是一个强大的命令行工具。它支持 Linux、Windows 和 macOS,并支持多种架构。它是用 C 和汇编编写的,提供了强大的性能和跨平台实用性。 #### 核心 -FFmpeg 的核心是命令行实用程序。它们可以在命令行上使用,也可以从任何编程语言中调用。例如,您可以从 shell 程序,python 脚本等程序中使用它们。 +FFmpeg 的核心是命令行实用程序。它们可以在命令行上使用,也可以从任何编程语言中调用。例如,你可以从 Shell 程序、Python 脚本等程序中使用它们。 -- **ffmpeg**:用于转换音频和视频流,包括来自 TV 卡等 LIVE 流的源 -- **ffplay**:此软件包中捆绑的媒体播放器,用于播放媒体 -- **ffprobe**:命令行工具,用于显示媒体信息 - 可以以 txtm,csv,xml,json 格式输出 +- `ffmpeg`:用于转换音频和视频流,包括来自 TV 卡等实时流的源 +- `ffplay`:此软件包中捆绑的媒体播放器,用于播放媒体 +- `ffprobe`:命令行工具,用于显示媒体信息 - 可以以 txt、csv、xml、json 格式输出 ### FFmpeg 安装 -安装 FFmpeg 在 Ubuntu 和其他 Linux 发行版中很容易。打开终端并运行以下命令以安装。 +在 Ubuntu 和其他 Linux 发行版中安装 FFmpeg 很容易。打开终端并运行以下命令以安装。 #### Ubuntu 以及相似的发行版 -``` bash +``` sudo apt install ffmpeg ``` #### Fedora -对于 Fedora Linux,您需要添加 [RPM Fusion repo][2]。Fedora 官方仓库没有 FFmpeg 包。 +对于 Fedora Linux,你需要添加 [RPM Fusion repo][2]。Fedora 官方仓库没有 FFmpeg 包。 -``` bash +``` sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm ``` -``` bash +``` sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree- ``` -``` bash +``` sudo dnf install ffmpeg ``` #### Arch Linux -``` bash +``` pacman -S ffmpeg ``` -在安装完成后,您可以使用以下命令验证安装。 +在安装完成后,你可以使用以下命令验证安装。 -``` bash +``` ffmpeg --version ``` @@ -74,27 +76,27 @@ ffmpeg --version 首先,让我给你一个简单的例子。考虑以下示例。它只是将 mp4 文件转换为 mkv 文件。 -- **转换基本视频文件** +1、转换一个基本的视频文件 -``` bash +``` ffmpeg -i big_buck_bunny.mp4 big_buck_bunny.mkv ``` -当然,这是最简单的方法,但它不完整,因为它没有转换所需的视频文件的比特率,分辨率和其他属性。 +当然,这是最简单的方法,但它不完整,因为它没有转换所需的视频文件的比特率、分辨率和其他属性。 -- **转换一个音频文件** +2、转换一个音频文件 -第二,您可以使用类似的命令转换音频文件。 +其次,你可以使用类似的命令转换音频文件。 -``` bash +``` ffmpeg -i sunny_day.ogg sunny_day.mp3 ``` -- **使用音频和视频编解码器转换** +3、使用音频和视频编解码器转换 -最后,以下示例可以使用指定的编解码器转换视频文件。参数 `-c` 与 `a` 或 `v` 分别定义音频和视频。下面的命令使用 `libvpx` 视频和 `libvorbis` 音频编解码器进行转换。 +最后,以下示例可以使用指定的编解码器转换视频文件。参数 `-c` 带有的 `a` 或 `v` 分别定义音频和视频。下面的命令使用 `libvpx` 视频和 `libvorbis` 音频编解码器进行转换。 -``` bash +``` ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm ``` @@ -102,15 +104,15 @@ ffmpeg -i big_buck_bunny.mp4 -c:v libvpx -c:a libvorbis big_buck_bunny.webm #### 列出所有编解码器 -要列出所有可用的编解码器,请运行以下命令。 +要列出所有可用的编解码器,请运行以下命令: -``` bash +``` ffmpeg -codecs ``` 该命令列出了所有可用的编解码器及其功能,是否支持解码或编码等。此外,它们根据下表的位置进行标识。 -``` plain +``` D..... = Decoding supported .E.... = Encoding supported ..V... = Video codec @@ -121,35 +123,35 @@ D..... = Decoding supported .....S = Lossless compression ``` -![FFmpeg 编码器列表][4] +![FFmpeg 编解码器列表][4] -### 列出所有编码器 +#### 列出所有编码器 -通过以下命令列出所有编码器。 +通过以下命令列出所有编码器: -``` bash +``` ffmpeg -encoders ``` #### 列出所有解码器 -同样的,您可以通过以下命令获取解码器列表。 +同样的,你可以通过以下命令获取解码器列表: -``` bash +``` ffmpeg -decoders ``` #### 详细信息 -你还可以使用参数 -h 获取编码器或解码器的更多详细信息。 +你还可以使用参数 `-h` 获取编码器或解码器的更多详细信息。 -``` bash +``` ffmpeg -h decoder=mp3 ``` ### 总结 -我希望你学会了 FFmpeg 和它的命令的基础知识。您可以通过[官方文档][5]了解更多有关该程序的信息。 +我希望你学会了 FFmpeg 和它的命令的基础知识。你可以通过 [官方文档][5] 了解更多有关该程序的信息。 -------------------------------------------------------------------------------- @@ -158,7 +160,7 @@ via: https://www.debugpoint.com/install-ffmpeg-ubuntu/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -169,3 +171,4 @@ via: https://www.debugpoint.com/install-ffmpeg-ubuntu/ [3]: https://www.debugpoint.com/wp-content/uploads/2022/06/FFmpeg-installed-in-Ubuntu-Linux.jpg [4]: https://www.debugpoint.com/wp-content/uploads/2022/06/FFmpeg-Codec-list.jpg [5]: https://ffmpeg.org/documentation.html +[0]: https://img.linux.net.cn/data/attachment/album/202211/19/162251wxt2kaajvvayar8c.jpg \ No newline at end of file From 262915dced0d1734c3c1542aac7af398ab321e17 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 20 Nov 2022 09:42:07 +0800 Subject: [PATCH 465/925] RP @chai001125 https://linux.cn/article-15271-1.html --- ...vity issues with the Linux ping command.md | 66 ++++++++++--------- 1 file changed, 34 insertions(+), 32 deletions(-) rename {translated/tech => published}/20211020 Diagnose connectivity issues with the Linux ping command.md (66%) diff --git a/translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md b/published/20211020 Diagnose connectivity issues with the Linux ping command.md similarity index 66% rename from translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md rename to published/20211020 Diagnose connectivity issues with the Linux ping command.md index 3499ad3b90..dbeff9ef51 100644 --- a/translated/tech/20211020 Diagnose connectivity issues with the Linux ping command.md +++ b/published/20211020 Diagnose connectivity issues with the Linux ping command.md @@ -3,41 +3,42 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lujun9972" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15271-1.html" -使用 Linux ping 命令诊断网络连接问题 +使用 Linux 的 ping 命令诊断网络连接问题 ====== ->在本文中,我们将讨论网络连接最基本的诊断工具之一——ping 命令。 -![World locations with red dots with a sun burst background][1] +> 在本文中,我们将讨论网络连接最基本的诊断工具之一:`ping` 命令。 -如今,联网计算机变得十分普遍,以至于我们大多数人都理所当然地认为,房间一侧的计算机可以连接上房间另一侧的计算机,更不用说能连接上世界的另一端的计算机了。如此,网络使 Internet、云、文件共享、媒体流、远程管理、打印等服务成为可能。但是当网络出现问题时,有时很难诊断到底是其中哪一环节出现了问题。下面,我们就来介绍:网络连接最基本的诊断工具之一——`ping` 命令。 +![][0] + +如今,联网计算机变得十分普遍,以至于我们大多数人都理所当然地认为,房间一侧的计算机可以连接上房间另一侧的计算机,更不用说能连接上世界的另一端的计算机了。如此,网络使互联网、云、文件共享、媒体流、远程管理、打印等服务成为可能。但是当网络出现问题时,有时很难诊断到底是其中哪一环节出现了问题。下面,我们就来介绍:网络连接最基本的诊断工具之一—— `ping` 命令。 ### 基本的 ping 命令 -当你无法访问本地网络上的计算机或 Internet 上的服务器时,你可以 `ping` 它的 IP 地址。`ping` 将 Internet 控制报文协议 Internet Control Message Protocol (ICMP) 数据包发送到目标 IP 地址。当我们要对网路连接状况进行判断时,ICMP 是个非常有用的协议,本质上 ICMP 是一个响应和应答信号。 +当你无法访问本地网络上的计算机或互联网上的服务器时,你可以 `ping` 它的 IP 地址。`ping` 将 互联网控制报文协议 Internet Control Message Protocol (ICMP)数据包发送到目标 IP 地址。当我们要对网路连接状况进行判断时,ICMP 是个非常有用的协议,本质上 ICMP 是一个响应和应答信号。 -让我们由近及远地进行故障排除。请先 `ping` 你自己的计算机,以确保你的计算机正在运行 网络栈 networking stack 。你正在操作的计算机称为 _主机_ localhost ,本地回环地址是:127.0.0.1。 +让我们由近及远地进行故障排除。请先 `ping` 你自己的计算机,以确保你的计算机正在运行 网络栈 networking stack 。你正在操作的计算机称为 主机 localhost ,本地回环地址是:`127.0.0.1`。 -`ping` 命令能用主机的 主机名 hostname 、IP 地址(即 127.0.0.1)或者仅仅用简写 `0`,来表示 _主机_。 +`ping` 命令能用主机的 主机名 hostname 、IP 地址(即 `127.0.0.1`)或者仅仅用简写 `0` 来表示 “主机”。 -你可以使用 `-c`选项,来控制发送数据包的 次数 count 。 +你可以使用 `-c` 选项,来控制发送数据包的 次数 count 。 ``` $ ping 0 -c 1 PING 0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms -\--- 0 ping statistics --- +--- 0 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms ``` -在你确认本地网络栈已启动并运行后,接下来,你可以 `ping` 你的路由器的 IP 地址。路由器的 IP 地址通常以 192,168 或 10 开头。实际的 IP 地址取决于路由器的配置。 +在你确认本地网络栈已启动并运行后,接下来,你可以 `ping` 你的路由器的 IP 地址。路由器的 IP 地址通常以 `192.168` 或 `10` 开头。实际的 IP 地址取决于路由器的配置。 -当你没有指定要发送多少次请求时,你可以用 **Ctrl**+**C**,来终止 `ping` 的运行。 +当你没有指定要发送多少次请求时,你可以用 `Ctrl+C`,来终止 `ping` 的运行。 ``` $ ping 192.168.0.1  @@ -54,14 +55,14 @@ From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1) 对于你的局域网上的其他主机呢?你可以 `ping` 各种设备,但是并非所有设备都能保证响应,因为一些设备会丢弃 ICMP 数据包,但许多设备会做出响应。例如,我可以 `ping` 我的打印机: ``` -`$ ping 192.168.0.4 ` +$ ping 192.168.0.4  ``` -### Ping 路由器以外的其他服务器 +### ping 路由器以外的其他服务器 -在确定你自己的网络内部都能连通以后,你还可以 `ping` 通到路由器以外的其他服务器。同样地,并非所有服务器都能接收 ICMP 数据包,更不用说响应 ICMP 数据包了。然而,也有一些服务器可以接收并响应 ICMP 数据包,而在互联网中的一个重要服务器是 **域名服务器** nameserver 。 +在确定你自己的网络内部都能连通以后,你还可以 `ping` 通到路由器以外的其他服务器。同样地,并非所有服务器都能接收 ICMP 数据包,更不用说响应 ICMP 数据包了。然而,也有一些服务器可以接收并响应 ICMP 数据包,而在互联网中的一个重要服务器是 域名服务器 nameserver 。 -Google 的 域名解析服务器 DNS server 的 IP 地址很容易记住,而且它会响应 `ping` 请求: +谷歌的 域名解析服务器 DNS server 的 IP 地址很容易记住,而且它会响应 `ping` 请求: ``` $ ping -c 2 8.8.8.8 @@ -69,14 +70,14 @@ PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms -\--- 8.8.8.8 ping statistics --- +--- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms ``` 当你连不上一个网站时,你可以查询全球 DNS 网络,以找出其主机服务器的地址,然后 `ping` 该服务器。这至少可以告诉你,网站不通的原因是主机已关闭,或者只是 Web 服务器问题。 -例如,假设你尝试访问 example.com,但是发现失败了。首先,使用 `host` 命令找到 example.com 的 IP 地址: +例如,假设你尝试访问 `example.com`,但是发现失败了。首先,使用 `host` 命令找到 `example.com` 的 IP 地址: ``` $ host example.com @@ -88,22 +89,22 @@ example.com mail is handled by 0 然后,`ping` 该网站的的 IP 地址: ``` -`$ ping 93.184.216.34 -c 1` +$ ping 93.184.216.34 -c 1 ``` -### Ping 使用 IPv6 +### 使用 IPv6 `ping` 不仅可以使用 IPv4,还能使用 IPv6。可以通过指定 `-4` 或 `-6` 选项,来只使用 IPv4 或 IPv6。 -### Ping 设置数据包大小 +### 设置数据包大小 你可以使用 `-s` 选项,来更改要发送的 ICMP 数据包的 大小 size 。默认的数据大小为 56 字节,加上 8 字节包头,总共得到 64 字节的 ICMP 数据包。以下的示例将发送的 ICMP 数据包大小修改为 35+8=43 个字节: ``` -`$ ping -s 35 -c 5 8.8.8.8` +$ ping -s 35 -c 5 8.8.8.8 ``` -你可以使用 `-D` 选项,使得在终端中的每个 ping 回复之前,先打印出当前的时间戳。该时间戳为 UNIX 时间戳,加上微秒: +你可以使用 `-D` 选项,使得在终端中的每个 `ping` 回复之前,先打印出当前的时间戳。该时间戳为 UNIX 时间戳,加上微秒: ``` $ ping -D 8.8.8.8  @@ -112,23 +113,23 @@ PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. [1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms ``` -### Ping 设置时间间隔/长短 +### 设置时间间隔/长短 你可以使用 `-i` 选项,来更改两次 `ping` 请求之间的 时间间隔 interval 。以下的示例将 `ping` 间隔更改为 2 秒: ``` -`$ ping -i 2 ` +$ ping -i 2  ``` -你也可以使用 `-w` 选项,来在一段时间后终止 `ping`。 +你也可以使用 `-w` 选项,来在一段时间后终止 `ping`,单位为秒。 ``` -`$ ping -w 6` +$ ping -w 6 ``` -### 使用 ping 的工具 +### ping 的变体 -使用 `ping` 的工具有很多。例如,`iputils` 包提供了 `ping` 命令;[Busybox][2] 也有`ping` 命令;BSD 也有;甚至还有一个用于 `ping` 的 GUI:Gping,它可用于 Linux、macOS 和 Windows。你可以在 [Github][3] 上找到更多有关 `gping` 的信息。 +`ping` 有很多变体。例如,`iputils` 包提供了 `ping` 命令;[Busybox][2] 也有`ping` 命令;BSD 也有;甚至还有一个图形界面的 `ping`:`gping`,它可用于 Linux、macOS 和 Windows。你可以在 [GitHub][3] 上找到更多有关 `gping` 的信息。 ### 一起来学习吧 @@ -141,7 +142,7 @@ via: https://opensource.com/article/21/10/linux-ping-command 作者:[Seth Kenlon][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -150,3 +151,4 @@ via: https://opensource.com/article/21/10/linux-ping-command [1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/world_remote_teams.png?itok=Wk1yBFv6 (World locations with red dots with a sun burst background) [2]: https://opensource.com/article/21/8/what-busybox [3]: https://github.com/orf/gping +[0]: https://img.linux.net.cn/data/attachment/album/202211/20/094045mhhkqhepke4qebks.jpg \ No newline at end of file From 3261ef630f88287b93b2a5347ff73502b99dc269 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 20 Nov 2022 11:02:30 +0800 Subject: [PATCH 466/925] RP @geekpi https://linux.cn/article-15272-1.html --- ...022 What-s new in Fedora Workstation 37.md | 54 ++++++++----------- 1 file changed, 23 insertions(+), 31 deletions(-) rename {translated/tech => published}/20221022 What-s new in Fedora Workstation 37.md (51%) diff --git a/translated/tech/20221022 What-s new in Fedora Workstation 37.md b/published/20221022 What-s new in Fedora Workstation 37.md similarity index 51% rename from translated/tech/20221022 What-s new in Fedora Workstation 37.md rename to published/20221022 What-s new in Fedora Workstation 37.md index f92a77c09b..66f5c68f19 100644 --- a/translated/tech/20221022 What-s new in Fedora Workstation 37.md +++ b/published/20221022 What-s new in Fedora Workstation 37.md @@ -3,51 +3,46 @@ [#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/" [#]: collector: "lujun9972" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15272-1.html" Fedora Workstation 37 中的新功能 ====== ![][1] -Fedora Workstation 37 是 Fedora Project 桌面操作系统的最新版本,由致力于推动开源创新的全球社区开发。本文介绍了 Fedora Workstation 37 中一些面向用户的新功能。今天从 GNOME Software 升级,或者在你最喜欢的终端模拟器中使用 _[dnf system-upgrade][2]_! +Fedora Workstation 37 是 Fedora Project 桌面操作系统的最新版本,由致力于推动开源创新的全球社区开发。本文介绍了 Fedora Workstation 37 中一些面向用户的新功能。现在就从 GNOME “软件Software”应用升级,或者在你最喜欢的终端模拟器中使用 [dnf system-upgrade][2] 升级! ### GNOME 43 -Fedora Workstation 37 具有最新版本的 GNOME 桌面环境,其中包含更多移植到 GTK 4 的核心应用、用户界面调整和性能调整。查看 [GNOME 43 发行说明][3]了解更多信息! +Fedora Workstation 37 具有最新版本的 GNOME 桌面环境,其中包含更多移植到 GTK 4 的核心应用、用户界面调整和性能调整。查看 [GNOME 43 发行说明][3] 了解更多信息! #### 重新设计的快速设置菜单 ![无需打开设置即可切换深色模式][4] -新的快速设置菜单提供更多控制和便利。你现在可以在菜单中轻松切换你的 Wi-Fi 网络,而不用进入全屏对话框,在默认模式和深色模式之间切换,以及在不打开“设置”应用的情况下启用夜灯。现在还提供了一个方便的截屏和截屏视频按钮。 +新的“快速设置Quick Settings”菜单提供更多控制和便利。你现在可以在菜单中轻松切换你的 Wi-Fi 网络,而不用进入全屏对话框;在默认模式和深色模式之间切换;以及在不打开“设置Settings”应用的情况下启用夜灯。现在还提供了一个方便的截屏和录屏按钮。 #### 核心应用 -Fedora Workstation 37 中包含的 GNOME 核心应用已经进行了一轮调整和改进。 +Fedora Workstation 37 中包含的 GNOME 核心应用已经进行了一轮调整和改进: - * 文件已移植到 GTK 4,并且用户界面有许多改进。这里只是其中的一些: + * “文件Files”应用已移植到 GTK 4,并且用户界面有许多改进。这里只是其中的一些: * 它现在是自适应的,这意味着它会自动调整到更窄的尺寸,从而更好地利用可用空间。 * 列表视图已重新设计,使橡皮筋选择更容易。 - * 重新设计了 “Properties” 和 “Open With…” 对话框。 + * 重新设计了 “属性Properties” 和 “打开方式……Open With…” 对话框。 + + ![Files 43 中的橡皮筋选择][5] + * “日历Calendar”应用有一个新的边栏,可以一目了然地显示即将发生的事件。它与“联系人Contacts”应用一起,现在具有自适应用户界面。 + * “角色Characters”应用现在会向你显示不同的肤色、头发颜色和表情符号的性别选项。 + * “软件Software” 中的包源选择器已重新设计并移至更显眼的位置。 + * “地图Maps”应用已移植到 GTK 4。 + * “设置Settings”应用包括一个新的“设备安全Device Security”面板,让你可以轻松查看你的设备提供或缺少的硬件安全功能! + ![呃哦!][6] - -![Files 43 中的橡皮筋选择][5] - - * 日历有一个新的边栏,可以一目了然地显示即将发生的事件。它与联系人一起,现在具有自适应用户界面。 - * 角色现在会向你显示不同的肤色、头发颜色和表情符号的性别选项。 - * Software 中的包源选择器已重新设计并移至更显眼的位置。 - * 地图已移植到 GTK 4。 - * 设置包括一个新的设备安全面板,让你可以轻松查看你的设备提供或缺少的硬件安全功能! - - - -![呃哦!][6!] - -### 新的补充默认壁纸 +### 新补充的默认壁纸 Fedora Workstation 37 附带一组新的补充壁纸。 [在这里看看它们是如何制作的!][7] @@ -58,19 +53,16 @@ Fedora Workstation 37 附带一组新的补充壁纸。 [在这里看看它们 Fedora Linux 37 具有许多底层更改。以下是一些值得注意的: * 现已正式支持树莓派 4 单板机,包括 3D 加速! - * BIOS 系统上的新安装将使用 GPT 磁盘布局,而不是传统的 MBR 布局。安装程序镜像现在还将使用 GRUB 而不是 syslinux 在 BIOS 系统上引导。 - * 如果你禁用然后重新启用 SELinux,或运行 _fixfiles onboot_ 命令,文件系统重新标记过程现在将并行完成,从而显着提高速度。 + * 在 BIOS 系统上的新安装将使用 GPT 磁盘布局,而不是传统的 MBR 布局。在 BIOS 系统上,安装程序镜像现在还将使用 GRUB 而不是 syslinux 进行引导。 + * 如果你禁用然后重新启用 SELinux,或运行 `fixfiles onboot` 命令,文件系统的重新标记过程现在将并行完成,从而显着提高速度。 * 波斯语的默认字体已从 DejaVu 和 Noto Sans Arabic 更改为 Vazirmatn,为在波斯语中使用 Fedora Linux 的用户提供更一致的体验。 - ### 还有这些... Fedora 项目中发生的很酷的事情! - * Fedora CoreOS 和 Fedora Cloud Base 已升级为 Edition 状态! - * Fedora Linux 系统安装程序 Anaconda 的带有新 GUI 的预览安装程序镜像将在大约一周内可用。我将发布一篇文章以提供更多详细信息,敬请关注此空间! - - + * Fedora CoreOS 和 Fedora Cloud Base 已升级为 “版本Edition” 级别! + * Fedora Linux 系统安装程序,带有新 GUI 的 Anaconda 预览安装程序镜像将在大约一周内可用。我将发布一篇文章以提供更多详细信息,敬请关注! -------------------------------------------------------------------------------- @@ -79,7 +71,7 @@ via: https://fedoramagazine.org/whats-new-fedora-37-workstation/ 作者:[Merlin Cooper][a] 选题:[lujun9972][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/) 荣誉推出 From 8c9612c98bb9a13cc92f6203a249f50477d963a0 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Sun, 20 Nov 2022 21:58:08 +0800 Subject: [PATCH 467/925] Translating --- ...6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index 2858b33b75..29e1dbb48d 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MjSeven" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 9f512574afcd22031a737f1b669fa256a49b029c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 20 Nov 2022 23:37:15 +0800 Subject: [PATCH 468/925] =?UTF-8?q?=E8=B6=85=E6=9C=9F=E5=9B=9E=E6=94=B6=20?= =?UTF-8?q?&=20=E8=BF=87=E6=9C=9F=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @gpchn @KevinZonda @FelixYFZ @CoWave-Fall --- ...essive Web App Experience is Here for Linux.md | 102 ----------------- ...sma 5.27 Bringing Subtle Outline on Windows.md | 58 ---------- ...New Open-Source Cross-Platform Terminal App.md | 106 ------------------ ...hat was your first programming language.md | 2 +- ...njaro- Here-s What I Think After a Week.md | 2 +- ...roviders- How to keep your options open.md | 2 +- ...SL Certificates- Make the Right Choice.md | 2 +- ...o Enable and Access USB Drive in VirtualBox.md | 2 +- 8 files changed, 5 insertions(+), 271 deletions(-) delete mode 100644 sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md delete mode 100644 sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md delete mode 100644 sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md diff --git a/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md b/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md deleted file mode 100644 index 64296aea6c..0000000000 --- a/sources/news/20221109.2 ⭐️ Microsoft Teams Progressive Web App Experience is Here for Linux.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: subject: "Microsoft Teams Progressive Web App Experience is Here for Linux" -[#]: via: "https://news.itsfoss.com/microsoft-teams-pwa-linux/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Microsoft Teams Progressive Web App Experience is Here for Linux -====== - -Microsoft Teams PWA is now available for Linux users! - -![Microsoft Teams Progressive Web App Experience is Here for Linux][1] - -After recently [dropping support][2] for a native Microsoft Teams Linux app, Microsoft has finally made the **PWA** (progressive web app) available to everyone. - -PWA is an app that uses the same code as a website but with a few changes that make it easier to use it as an app. - -Users of the native Linux app have mixed feelings about this move, some welcoming it and others not. - -Let us take a look at what Microsoft has done with this app. - -### ⭐ Microsoft Teams Progressive Web App - -![microsoft teams pwa][3] - -With the [Microsoft Teams][4] PWA, you get several features already available on the Windows client. So, it is a good thing for most users. - -The features include: - -- **Ability to set custom backgrounds** -- **A new gallery view** -- **Reactions to chats** -- **Raise-a-hand feature during meetings** -- **System Notifications** - -The Teams PWA comes with a dock icon and can be set to auto-start on system boot. - -Additionally, it gets easy access to app permissions and can be used with Conditional Access configuration (for Azure users), applied via the Endpoint Manager. - -**Related Read 📖** - -### 👇 How to Use the PWA - -![microsoft teams pwa install prompt][5] - -When you first log in to Teams on a web browser, it should show you a pop-up similar to the one shown above. - -Click on it to install the PWA, launch it from your application list, and then use it like a desktop app. - -> 💡Users of Firefox beware: Only Chromium-based browsers like Chrome and Edge support PWAs. - -But, if it doesn't show you a pop-up, or you mistakenly clicked on 'Not-now', follow these steps to install the Teams PWA. - -![microsoft teams pwa edge][6] - -For **Microsoft Edge**: - -1. Log in to Teams through the [official website][7]. 2. Click on the three-dot menu of the browser. 3. Then go into '**Apps**.' as shown in the screenshot above. 4. Click on '**Install this site as an app.**'  5. Set the app name and click on '**Install**' to set up the Teams PWA. - -If you are using Google Chrome on Linux, here's what it looks like: - -![microsoft teams pwa chrome][8] - -The steps include login to **Teams → Three-dot menu → More tools → Create shortcut.** - -Next, you need to do the following to create the PWA: - -![microsoft teams pwa chrome 2][9] - -- **Set app name** -- **Enable 'Open as window'** -- **Click on 'Create'** - -That's pretty easy! So, have you tried Microsoft Teams PWA experience on Linux yet? - -Share your thoughts in the comments below! - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/microsoft-teams-pwa-linux/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/ms-teams-pwa-arrives-on-linux.png -[2]: https://news.itsfoss.com/microsoft-linux-app-retire/ -[3]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA.png -[4]: https://www.microsoft.com/en-in/microsoft-teams/group-chat-software -[5]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Install.png -[6]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Edge.png -[7]: https://teams.live.com -[8]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Chrome.png -[9]: https://news.itsfoss.com/content/images/2022/11/MicrosoftTeams_PWA_Chrome_2.png diff --git a/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md b/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md deleted file mode 100644 index 3a7dd6eca7..0000000000 --- a/sources/news/20221110.4 ⭐️ KDE Plasma 5.27 Bringing Subtle Outline on Windows.md +++ /dev/null @@ -1,58 +0,0 @@ -[#]: subject: "KDE Plasma 5.27 Bringing Subtle Outline on Windows" -[#]: via: "https://debugpointnews.com/kde-plasma-5-27-outline-windows/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -KDE Plasma 5.27 Bringing Subtle Outline on Windows -====== - -![][1] - -**A new feature arriving on the KDE Plasma desktop that enables a subtle outline in Breeze theme window borders for better usability and design.** - -A [recent merge request][2] for the upcoming KDE Plasma 5.27 release (for 2023) shows how a nice, subtle window border can make a difference in the overall desktop look. - -Today, the drop-shadow distinguishes two overlapped windows in the default Plasma Breeze theme. That’s the only thing that differentiates the edges of two application windows. - -Sometimes it becomes difficult to find out the edges when you want to drag the window or do something else, especially in the dark Breeze theme. - -In the light theme, it’s not that difficult, though. - -To make it look more professional, the new border gives a pleasant look to the default Breeze theme. - -![KDE Plasma new outline comparison][3] - -KDE Plasma new outline comparison - -The colour of the new window outline is adaptive and not a fixed colour. It adapts based on the wallpaper and the theme’s default colour. But there is a catch, though. There won’t be any settings for this to disable. Because making a switch for this would be irrelevant since it’s very subtle and should work with all types of KDE customization. - -![KDE Plasma - new outline in windows -2][4] - -KDE Plasma – new outline in windows -2 - -KDE Plasma 5.27 is currently under development and will be an LTS release. Also, it will be the final release of the Plasma 5 series. It’s currently scheduled for Feb 2023. - -Via [blog][5] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/kde-plasma-5-27-outline-windows/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/11/kdenewborder.jpg -[2]: https://invent.kde.org/plasma/breeze/-/merge_requests/241 -[3]: https://debugpointnews.com/wp-content/uploads/2022/11/KDE-Plasma-new-outline-comparison.jpg -[4]: https://debugpointnews.com/wp-content/uploads/2022/11/KDE-Plasma-new-outline-in-windows-2.jpg -[5]: https://www.akselmo.dev/2022/10/31/I-made-outlines-for-KDE-Breeze.html diff --git a/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md b/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md deleted file mode 100644 index 54e3eb4f51..0000000000 --- a/sources/news/20221111.3 ⭐️ Meet Tabby, A New Open-Source Cross-Platform Terminal App.md +++ /dev/null @@ -1,106 +0,0 @@ -[#]: subject: "Meet Tabby, A New Open-Source Cross-Platform Terminal App" -[#]: via: "https://news.itsfoss.com/tabby/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Meet Tabby, A New Open-Source Cross-Platform Terminal App -====== - -Tabby is a mind-blowing terminal app for a local shell, SSH, and Telnet connections. Let's take a look! - -![Meet Tabby, A New Open-Source Cross-Platform Terminal App][1] - -There are a lot of terminal apps out there that offer a range of functionalities. - -So, what's unique about Tabby? - -Tabby is a cross-platform customizable terminal app with SSH integration. It is a terminal emulator that does not try to be a new shell or Cygwin replacement. - -Let's take a look at what Tabby aims to be. - -### ⭐ An Impressive Customizable Terminal App - -![tabby][2] - -Formerly known as 'Terminus', [Tabby][3] is a highly customizable cross-platform open-source terminal emulator. - -It can connect to SSH servers using its integrated connection manager and offers various customization options in terms of appearance and other functionalities. It also supports plugins; these can be added from the settings menu to add more functionality to the app. - -If you have been a user of PowerShell ISE, PuTTY, or the mac terminal, Tabby will suit you as a perfect replacement. - -> 💡Tabby is not a lightweight app, so one needs to be careful about system resources. - -It is available for Linux, Windows, and macOS. You can also run Tabby as a portable app for Windows. - -They also offer an experimental web app, if you are a fan of it, feel free to try it out. - -An **integrated SSH client, font ligature, Unicode support, and configurable shortcuts** make Tabby worth trying. - -#### Related Read 📖 - -### Features of Tabby - -![tabby ssh][4] - -Tabby has an integrated SSH and Telnet client with support for X11, port forwarding and automatic jump host management. - -You can customize Tabby's appearance by using various theming and color options. - -![tabby themes][5] - -For starters, features like these provide an excellent user experience. But it does not end here. - -Tabby has a bunch of features to offer; some of the key highlights include: - -![tabby tabs][6] - -- **Integrated serial terminal** -- **Remember previously opened tabs and supports multi-pane nesting.** -- **Full Unicode Support** -- **Smart Tabs and progress bars for tabs** -- **Optional Quake mode.** -- **Integrated encrypted container for SSH secrets and configuration** -- **Zmodem Transfers** -- **Customizable Hotkeys** -- **Multiple Profiles with Profile Manager** - -### 👇 Download and Try Tabby - -Keep in mind that Tabby is currently in its early stages and under heavy development. - -**It is fun, feature-rich, and engaging, but it may not be for everyone!** - -If it does not sound too overwhelming, head to their [GitHub repo][7] and download the latest package for the platform you want. - -Various packages such as **.deb, .rpm, .tar.gz, .pacman,** and more are available for Linux. - -You can also explore its official website for more info. - -[Tabby][3] - -💬 Are you willing to give Tabby a try? - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/tabby/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/11/tabby-first-look.png -[2]: https://news.itsfoss.com/content/images/2022/11/Tabby-1.png -[3]: https://tabby.sh -[4]: https://news.itsfoss.com/content/images/2022/11/Tabby_SSH.png -[5]: https://news.itsfoss.com/content/images/2022/11/Tabby_Themes-1.png -[6]: https://news.itsfoss.com/content/images/2022/11/Tabby_MultiPane-1.png -[7]: https://github.com/Eugeny/tabby/releases/tag/v1.0.186 diff --git a/sources/talk/20210816 What was your first programming language.md b/sources/talk/20210816 What was your first programming language.md index ecc66550ad..7e13d19ddb 100644 --- a/sources/talk/20210816 What was your first programming language.md +++ b/sources/talk/20210816 What was your first programming language.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/21/8/first-programming-language" [#]: author: "Jen Wike Huger https://opensource.com/users/jen-wike" [#]: collector: "lujun9972" -[#]: translator: "gpchn" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " diff --git a/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md b/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md index ba9a2cf4d2..948d479519 100644 --- a/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md +++ b/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/manjaro-linux-experience/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lujun9972" -[#]: translator: "KevinZonda" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " diff --git a/sources/talk/20220509 Cloud service providers- How to keep your options open.md b/sources/talk/20220509 Cloud service providers- How to keep your options open.md index 2d7819ac3a..277e470cda 100644 --- a/sources/talk/20220509 Cloud service providers- How to keep your options open.md +++ b/sources/talk/20220509 Cloud service providers- How to keep your options open.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/5/cloud-service-providers-open" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: "FelixYFZ " +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " diff --git a/sources/talk/20220609 SSL Certificates- Make the Right Choice.md b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md index 2d6d4eed87..7f66bd67f9 100644 --- a/sources/talk/20220609 SSL Certificates- Make the Right Choice.md +++ b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/06/ssl-certificates-make-the-right-choice/" [#]: author: "Jitendra Bhojwani https://www.opensourceforu.com/author/jitendra-bhojwani/" [#]: collector: "lkxed" -[#]: translator: "KevinZonda" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " diff --git a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md index edb15071c3..14f0539a0f 100644 --- a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md +++ b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: "CoWave-Fall" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b06004ff9a560671be862b618a77f7e64aa6faa4 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 21 Nov 2022 08:44:45 +0800 Subject: [PATCH 469/925] translated --- ...ice Base Database in Ubuntu and Other Linux.md | 65 ------------------- ...ice Base Database in Ubuntu and Other Linux.md | 65 +++++++++++++++++++ 2 files changed, 65 insertions(+), 65 deletions(-) delete mode 100644 sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md create mode 100644 translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md diff --git a/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md deleted file mode 100644 index 02f6c67b5b..0000000000 --- a/sources/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md +++ /dev/null @@ -1,65 +0,0 @@ -[#]: subject: "How to Install LibreOffice Base Database in Ubuntu and Other Linux" -[#]: via: "https://www.debugpoint.com/install-libreoffice-base-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install LibreOffice Base Database in Ubuntu and Other Linux -====== - -**Here’s how to install the LibreOffice Base database module in Ubuntu and other Linux distributions.** - -The popular free and open-source office suite LibreOffice consists of six individual components. However, the default installation of LibreOffice in Ubuntu and related distributions only include five of them: - -- Calc -- Writer -- Impress -- Draw -- Math - -Due to some reason, the database module LibreOffice Base is not included. So, here’s how you can install it separately in Ubuntu and other distros. - -### Install LibreOffice Base in Ubuntu and Other Linux - -You can use either the Software app or use the terminal to install `libreoffice-base` package. I would recommend using the terminal to install it. Open a terminal window and run the following command to install it. - -``` -sudo apt install libreoffice-base -``` - -If you prefer Software or any other GUI-based installer, search for “libreoffice-base” and hit install. - -For **Fedora and RPM-based distros**, use the following command: - -``` -sudo dnf install libreoffice-base -``` - -And if you installed LibreOffice in **Arch Linux**– either [libreoffice-fresh][1] or [libreoffice-still][2] package, then no action is required. LibreOffice Base is already included in those two packages. So, you are good to go. - -On another note, if you want to check out how to install the latest LibreOffice, check out [this guide][3]. - -![Install Libreoffice Base in Ubuntu][4] - -Finally, after installation, you can find out the LibreOffice Base in the application menu. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-libreoffice-base-ubuntu/ - -作者:[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://archlinux.org/packages/extra/x86_64/libreoffice-fresh/ -[2]: https://archlinux.org/packages/extra/x86_64/libreoffice-still/ -[3]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-Libreoffice-Base-in-Ubuntu.jpg diff --git a/translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md new file mode 100644 index 0000000000..0673e29e41 --- /dev/null +++ b/translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md @@ -0,0 +1,65 @@ +[#]: subject: "How to Install LibreOffice Base Database in Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/install-libreoffice-base-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu 和其他 Linux 下安装 LibreOffice Base 数据库 +====== + +**以下是如何在 Ubuntu 和其他 Linux 发行版中安装 LibreOffice Base 数据库模块。** + +流行的免费和开源办公套件 LibreOffice 由六个独立的组件组成。然而,Ubuntu 和相关发行版中默认安装的 LibreOffice 只包括其中的五个: + +- Calc +- Writer +- Impress +- Draw +- Math + +由于某些原因,数据库模块 LibreOffice Base 没有被包括在内。所以,这里告诉你如何在 Ubuntu 和其他发行版中单独安装它。 + +### 在 Ubuntu 和其他 Linux 中安装 LibreOffice Base + +你可以使用 Software 应用或终端来安装 `libreoffic-base` 包。我建议使用终端来安装它。打开一个终端窗口,运行以下命令来安装它。 + +``` +sudo apt install libreoffice-base +``` + +如果你喜欢 Software 或其他基于 GUI 的安装程序,搜索 “libreoffic-base” 并点击安装。 + +对于 **Fedora 和基于 RPM 的发行版**,使用以下命令: + +``` +sudo dnf install libreoffice-base +``` + +如果你在 **Arch Linux** 中安装了 LibreOffice,无论是 [libreoffic-fresh][1] 还是 [libreoffic-still][2],那么就不需要任何操作了。LibreOffice Base 已经包含在这两个软件包中了。你可以开始使用了。 + +在另一个方面,如果你想看看如何安装最新的 LibreOffice,请查看[这个指南][3]。 + +![在 Ubuntu 中安装 Libreoffice Base][4] + +最后,安装完毕后,你可以在应用菜单中找出 LibreOffice Base。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-libreoffice-base-ubuntu/ + +作者:[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://archlinux.org/packages/extra/x86_64/libreoffice-fresh/ +[2]: https://archlinux.org/packages/extra/x86_64/libreoffice-still/ +[3]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-Libreoffice-Base-in-Ubuntu.jpg From 823e845528ba68b96bfac64da0ff2d8b11e2fd93 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 21 Nov 2022 08:49:27 +0800 Subject: [PATCH 470/925] translating --- ...015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md index 14f0539a0f..3570d136cb 100644 --- a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md +++ b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 86f67b0871be0378cf80b4169c6e0968ecc09c69 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 21 Nov 2022 09:54:34 +0800 Subject: [PATCH 471/925] RP @geekpi https://linux.cn/article-15274-1.html --- ...ow to Fix bash wget Command Not Found Error.md | 120 ++++++++++++++++++ ...ow to Fix bash wget Command Not Found Error.md | 119 ----------------- 2 files changed, 120 insertions(+), 119 deletions(-) create mode 100644 published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md delete mode 100644 translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md diff --git a/published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md new file mode 100644 index 0000000000..a5e7f9cc32 --- /dev/null +++ b/published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md @@ -0,0 +1,120 @@ +[#]: subject: "How to Fix: bash wget Command Not Found Error" +[#]: via: "https://www.debugpoint.com/wget-not-found-error/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15274-1.html" + +如何修复:“bash wget Command Not Found” 错误 +====== + +![][0] + +> 以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “bash: wget command not found” 的错误。 + +著名的 `wget` 工具被用来通过终端从 URL 下载任何文件。它是 Linux 终端中最流行和最快速的工具之一。 + +作为一个 GNU 工具,`wget` 带来了一些奇妙的功能。你可以实现各种目的,如从网上提取信息、下载文件、暂停/恢复等。 + +然而,许多 [Linux 发行版][1] 在默认安装时并没有附带这个工具。因此,当你想用 `wget` 下载一些文件时,你会得到 wget 命令未找到的错误。 + +修复它其实很容易。 + +### 修复 wget 命令未找到 + +你所需要做的就是打开终端,运行以下命令来安装 `wget`。 + +对于 Ubuntu、Linux Mint、elementaryOS、Debian 和相关发行版: + +``` +sudo apt install wget +``` + +Arch Linux: + +``` +pacman -S wget +``` + +对于 Fedora(虽然它默认包括): + +``` +sudo dnf install wget +``` + +安装后,你就可以使用 `wget` 程序了。你也可以通过检查其版本来验证它是否正确安装。 + +``` +wget --version +``` + +### 如何使用 wget + +下面是一些关于如何使用 `wget` 的例子。 + +命令的语法如下: + +``` +wget [选项]… [URL]… +``` + +例如,如果我想下载 Ubuntu 的 ISO 文件,那么我可以运行下面的命令,用 URL 直接下载。 + +``` +wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso +``` + +![如何使用 wget 的例子][2] + +同样,你也可以使用上述命令下载,或者,通过下面描述的几个开关组合。你也可以通过 `wget --help` 命令得到这个: + +- `-t, --tries=NUMBER` 设置重试次数为 `NUMBER`(0 为不限) +- `--retry-connrefused` 即使连接被拒绝,也要重试 +- `--retry-on-http-error=ERRORS` 逗号分隔的 HTTP 错误列表,以便重试 +- `-O, --output-document=FILE` 将文件写入 `FILE` 中 +- `--nc, --no-clobber` 跳过那些会下载到现有文件的下载(即覆盖它们) +- `--no-netrc` 不要试图从 `.netrc` 中获取证书 +- `-c, --continue` 继续已部分下载的文件 +- `--start-pos=OFFSET` 从 `OFFSET` 位置开始下载 +- `--progress=TYPE` 选择进度条类型 +- `--show-progress` 在详细模式下显示进度条 +- `--N, --timestamping` 不重新获取文件,除非比本地文件新 +- `--no-if-modified-since` 在时间戳模式下不使用条件性的 `if-modified-since` 获取请求的资源 +- `--no-use-server-timestamps` 不以服务器上的时间戳来设置本地文件的时间戳 +- `--S, --server-response` 打印服务器响应 +- `--spider` 不下载任何东西 +- `-T, --timeout=SECONDS` 设置所有的超时值为 `SECONDS` 秒 +- `--dns-timeout=SECS` 将 DNS 查询超时设置为 `SECS` +- `--connect-timeout=SECS` 将连接超时设置为 `SECS` +- `--read-timeout=SECS` 设置读取超时为 `SECS` +- `--w, --wait=SECONDS` 在两次检索之间等待 `SECONDS` 秒(适用于检索的 URL 超过 1个) +- `--waitretry=SECONDS` 在检索的重试之间等待 1 到 `SECONDS` 秒(适用于检索的 URL 超过 1 个) +- `--random-wait` 在两次检索之间等待 `0.5WAIT` 到 `1.5WAIT` 秒(适用于检索的 URL 超过 1 个) + +### 总结 + +我希望这个指南能帮助你解决 Linux 发行版中的 `wget` 错误。显然方案是非常简单的。 + +如果有帮助或者你有任何问题,请在下面留言。 + +> **[参考][3]** + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/wget-not-found-error/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/category/distributions +[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Sample-example-of-how-to-use-wget.jpg +[3]: https://www.gnu.org/software/wget/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/21/095343hnxjfinvbpzf2x5f.jpg \ No newline at end of file diff --git a/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md deleted file mode 100644 index 7be19b24fb..0000000000 --- a/translated/tech/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md +++ /dev/null @@ -1,119 +0,0 @@ -[#]: subject: "How to Fix: bash wget Command Not Found Error" -[#]: via: "https://www.debugpoint.com/wget-not-found-error/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何修复:“bash wget Command Not Found” 错误 -====== - -**以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “bash: wget command not found” 的错误。** - -著名的 wget 工具被用来通过终端从 URL 下载任何文件。它是 Linux 终端中最流行和最快速的工具之一。 - -作为一个 GNU 工具,wget 带来了一些奇妙的功能。你可以实现任何项目,如从网上提取信息、下载文件、暂停/恢复等。 - -然而,许多 [Linux 发行版][1]在默认安装时并没有附带这个工具。因此,当你想用 wget 下载一些文件时,你会得到 wget 命令未找到的错误。 - -修复它其实很容易。 - -### 修复 wget 命令未找到 - -你所需要做的就是打开终端,运行以下命令来安装 wget。 - -对于 Ubuntu, Linux Mint, elementaryOS, Debian 和相关发行版: - -``` -sudo apt install wget -``` - -Arch Linux: - -``` -pacman -S wget -``` - -对于 Fedora(虽然它默认包括): - -``` -sudo dnf install wget -``` - -安装后,你可以使用 wget 程序。你也可以通过检查其版本来验证它是否正确安装。 - -``` -wget --version -``` - -### 如何使用 wget - -下面是一些关于如何使用 wget 程序的例子。 - -命令的语法如下: - -``` -wget [选项]… [URL]… -``` - -例如,如果我想下载 Ubuntu 的 ISO 文件,那么我可以运行下面的命令,用直接的 URL 下载。 - -``` -wget https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso -``` - -![如何使用 wget 的例子][2] - -同样,你也可以使用上述命令下载,或者,通过下面描述的几个开关组合。你也可以通过 `wget --help` 命令得到这个。 - -``` --t, --tries=NUMBER 设置重试次数为 NUMBER(0 为不限)。 ---retry-connrefused 即使连接被拒绝,也要重试。 ---retry-on-http-error=ERRORS 逗号分隔的 HTTP 错误列表,以便重试。 --O, --output-document=FILE 将文件写入 FILE 中 ---nc, --no-clobber 跳过那些会下载到现有文件的下载(覆盖它们) ---no-netrc 不要试图从 .netrc 中获取证书。 --c, --continue 继续已部分下载的文件 ---start-pos=OFFSET 从 0 开始 OFFSET 位置开始下载 ---progress=TYPE 选择进度表类型 ---show-progress 在任何详细模式下显示进度条 ---N, --timestamping 不重新检索文件,除非比本地文件新。 ---no-if-modified-since 在时间戳模式下不使用条件性的 if-modified-since 获取请求 ---no-use-server-timestamps 不以服务器上的时间戳来设置本地文件的时间戳。 ---S, --server-response 打印服务器响应 ---spider 不下载任何东西 --T, --timeout=SECONDS 设置所有的超时值为 SECONDS ---dns-timeout=SECS 将 DNS 查询超时设置为 SECS ---connect-timeout=SECS 将连接超时设置为 SECS ---read-timeout=SECS 设置读取超时为 SECS ---w, --wait=SECONDS 在两次检索之间等待 SECONDS(适用于检索的 URL 超过 1个)。 ---wait retry=SECONDS 在检索的重试之间等待1...SECONDS(适用于检索的 URL 超过 1 个)。 ---random-wait 在两次检索之间等待 0.5WAIT...1.5WAIT 秒(适用于检索的 URL 超过 1 个) -``` - -### 总结 - -我希望这个指南能帮助你解决 Linux 发行版中的 wget 错误。明显的方案是非常简单的。 - -如果有帮助或者你有任何问题,请在下面留言。 - -[参考][3] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/wget-not-found-error/ - -作者:[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/category/distributions -[2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Sample-example-of-how-to-use-wget.jpg -[3]: https://www.gnu.org/software/wget/ From 3756cb49e89e4e971889b5cb4053fa2a05d21bab Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:47:53 +0800 Subject: [PATCH 472/925] translating --- ...initive Guide to Using and Customizing the Dock in Ubuntu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md b/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md index 9689098aec..637e7c9ee1 100644 --- a/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md +++ b/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 81f3d6f90efcacc0f91ca9c1657d302da5d4a431 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 21 Nov 2022 15:38:23 +0800 Subject: [PATCH 473/925] ALL @wxy https://linux.cn/article-15275-1.html --- ...istributions for Programmers in 2022 [Featured].md | 225 +++++++++++++++++ ...istributions for Programmers in 2022 [Featured].md | 229 ------------------ 2 files changed, 225 insertions(+), 229 deletions(-) create mode 100644 published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md delete mode 100644 sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md diff --git a/published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md b/published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md new file mode 100644 index 0000000000..82419d578b --- /dev/null +++ b/published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md @@ -0,0 +1,225 @@ +[#]: subject: "Top 10 Linux Distributions for Programmers in 2022 [Featured]" +[#]: via: "https://www.debugpoint.com/top-linux-distributions-programmers-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15275-1.html" + +适合程序员的十大 Linux 发行版(2022 版) +====== + +![](https://img.linux.net.cn/data/attachment/album/202211/21/153625z44s41qcviv5ckip.jpg) + +> 我们点评了为程序员和开发人员提供的十大最佳 Linux 发行版(2022 版),以帮助他们完成工作和个人项目。 + +程序员和开发人员在其工作或项目中会使用各种工具和应用程序,包括代码编辑器、编程语言编译器、附加组件、数据库等。如果你对现代开发者的工作流程进行分类,它包含以下典型的工作流程: + +- 访问代码库 +- 编程 +- 调试 +- 测试 +- 部署 + +而这种典型的工作流程可能需要各种工具。一个标准的清单可能是这样的: + +- 代码编辑器 +- 简单的文本编辑器 +- 网页浏览器(网页开发者需要所有变体) +- 数据库引擎 +- 一个本地服务器 +- 编程语言相应的编译器 +- 调试器 +- 监测或剖析工具(可执行文件或网络版) + +可以说,与 Windows 相比,Linux 是编程的最佳选择。(出于几个原因,我在本文中不对 macOS 进行比较。)Linux 是最佳选择的主要原因是,与 Windows 相比,在 Linux 发行版中已经预装具有现代技术的软件包和应用程序,或非常容易安装。 + +因此,在这篇文章中,我们想列出 2022 年最适合程序员的 Linux 发行版。 + +### 2022 年适合程序员的十大 Linux 发行版 + +#### 1、Fedora Workstation + +![Fedora 35 Workstation][1] + +也许这个名单中最完美的 Linux 发行版是 Fedora Linux。它用于桌面的默认 Workstation 版通过其选择的软件包带来了正宗的 GNOME 桌面体验。 + +Fedora Linux 的默认安装为你提供了所有主要的开发包,开箱即用。它们包括 PHP、OpenJDK、PostgreSQL、Django、Ruby on Rails、Ansible 等。 + +通过 dnf 软件包管理器安装更多的应用程序是非常简单的,如 VS Code 编辑器和其他软件包。你也可以借助“软件Software”应用来安装,这是一个应用商店,你只需点击一个按钮就可以搜索和安装应用程序。 + +Fedora Linux 支持 Snap 和 Flatpak,这给了你更多的灵活性。你也可以利用 Fedora 中的 RPM Fusion 仓库,这个仓库让你可以访问许多自由和非自由的软件包。由于许可证和其他明显的原因,Fedora Linux 不想在他们的主仓库中包括这些包。 + +你可以在下面的官网上查看最新的 Fedora Linux。 + +> **[下载 Fedora][2]** + +#### 2、Ubuntu Linux + +![Ubuntu 桌面是一个适合程序员的完美的Linux发行版][3] + +本列表中的第二个 Linux 发行版是 Ubuntu Linux。Ubuntu Linux 是目前在服务器和桌面上使用最多的 Linux 发行版。Ubuntu 提供长期支持(LTS)版本,有五年的官方支持(另外还有五年的维护支持),期间还有短期支持版本供高级用户使用。 + +由于它很流行,所有最新的软件包和应用程序供应商都提供 Ubuntu(.deb)版本。因其流行,也带来了论坛和文档的大量支持,这对开发者来说是完美的,特别是当你在开发阶段被错误困住的时候。在下面的链接中了解更多关于 Ubuntu 的信息。 + +> **[下载 Ubuntu][4]** + +#### 3、openSUSE + +openSUSE 是全球在关键系统中使用的最稳定和最专业的 Linux 发行版之一。这个 Linux 发行版是企业级工作负载的首选解决方案之一,包括台式机、服务器和瘦客户机。 + +它比 Ubuntu 和 Fedora 有一些优势。首先,它有两个变种:Leap 和 Tumbleweed。openSUSE Leap 是一个长期支持版本(LTS),提供最新的稳定性。openSUSE Tumbleweed 是一个滚动发布的软件,提供尖端的软件包。 + +如果你的开发需要最新的软件包和硬件支持,那么 Tumbleweed 就是你的选择。如果你需要稳定性和一个运行时间较长、维护量较小的系统,请选择 openSUSE Leap。 + +使用 openSUSE 进行开发工作的优势之一是其软件包管理器 YaST。使用 YaST 软件包管理器,你可以轻松地将许多事情自动化。 + +除此之外,openSUSE 的软件交付方式也很出色。它的软件门户在网上,你可以访问它,搜索一个软件包,然后点击安装。 + +如果与新用户相比,你对 Linux 有一定的经验,请选择 openSUSE 进行开发工作。 + +> **[下载 openSUSE][5]** + +#### 4、Manjaro Linux + +Manjaro Linux 是一个基于 Arch Linux 的发行版,它使 Arch 的安装变得简单。它基于 Arch Linux,但带来了一些功能,如像 Ubuntu 或 Linux Mint 那样的图形化安装程序、 pamac 安装程序、精心策划的软件仓库等。Manjaro 有三种主要的桌面风格:GNOME、KDE Plasma 和 Xfce,可以满足几乎所有用户的需求。 + +如果你想用 Arch Linux 和它的滚动发布包来满足你的开发需求,但又不想陷入安装原生 Arch 的麻烦,Manjaro 是你的完美选择。 + +> **[下载 Manjaro][6]** + +#### 5、Arch Linux + +虽然 Manjaro 和其他基于 Arch 的易于安装的 Linux 发行版已经出现,但你可能还是想用 [原生 Arch][7] 来亲手定制你的桌面。 + +这更多的是针对那些想要更多控制权和为项目或需求建立自定义 Linux 操作系统的资深开发者或程序员。在这些情况下,你可能想用你最喜欢的桌面安装 Arch Linux 来设置你的开发操作系统。 + +假设你对 Arch Linux 和计算机有一定的经验。在这种情况下,这是所有选择中最好的,因为它可以让你完全控制定制的 Linux 操作系统中的每个软件包。 + +> **[下载 Arch Linux][8]** + +#### 6、Pop OS + +Pop OS(写作 Pop!_OS )是由计算机制造商 System76 为其系列硬件开发的。Pop OS 是自由开源的,基于 Ubuntu。它遵循 Ubuntu 的发布周期,同时带来额外的调整,以及为用户定制的软件包。 + +![Pop OS 21.10 桌面 Linux 发行版][9] + +Pop OS 是程序员的完美选择,因为它原生支持许多 Ubuntu 支持的编程语言。它因其打造的软件中心而在计算机科学家和程序员中广受欢迎,该软件中心有一个专门的部分介绍开发和编程的应用程序。 + +除此之外,Pop OS 中的 COSMIC 桌面(一个定制的 GNOME 桌面)为程序员提供了独特的体验,包括自动平铺、可爱的调色板、原生的深色模式和丰富的设置。 + +如果你需要一个基于 Ubuntu、稳定的、并对程序员友好的 Linux 发行版,那么请选择 Pop OS。 + +> **[下载 POP OS][10]** + +#### 7、KDE Neon + +如果你是一个很习惯 KDE Plasma 桌面的开发者,并且想要一个基于 Qt 的开发环境,那么 KDE Neon 就非常适合你。 + +KDE Neon 是一个基于 Ubuntu LTS 版本的 Linux 发行版,带有最新的 KDE Plasma 桌面和 KDE 框架包。因此,在 KDE Neon 中,你可以得到 Ubuntu LTS 的稳定性和带有 Qt 的最新 KDE 软件包。 + +如果你需要一个拥有开箱即用的应用程序的快速系统、一个友好的用户界面和巨大的社区支持,这是一个完美的 Linux 发行版。 + +> **[下载 KDE Neon][11]** + +#### 8、Debian + +Debian GNU/Linux 无需介绍。Debian 的稳定分支是 Ubuntu 及其所有衍生品的基础。因此,它是主要和稳定的 Linux 之一。它是你的开发环境的完美选择,因为它为你提供了终极稳定性和多年的支持。 + +不过,Debian 的稳定分支在采用最新软件包方面略显保守。Debian 的维护者会仔细检查和合并软件包,因为整个世界(嗯,几乎)都依赖于 Debian 的稳定性。 + +对于高级用户和系统管理员来说,如果你想要一个稳定的、长期运行的开发环境,并且维护工作量较少,那么它是一个完美的编程环境。 + +> **[下载 Debian Linux][12]** + +#### 9、Kali Linux + +Kali Linux 是由 Offensive Security 开发的,主要针对寻找网络漏洞的道德黑客和渗透测试人员。它预装了大量的黑客工具和应用程序。 + +如果你有足够的经验,它可以成为程序员和开发人员的一个完美的 Linux 发行版。如果你对 Linux 很熟悉,并且在处理错误和依赖关系方面有一定的经验,就可以选择 Kali Linux。 + +> **[下载 Kali Linux][13]** + +#### 10、Fedora 实验室 + +而这个名单上的最后一个 Linux 发行版是 Fedora Linux 的发行版组合。 + +Fedora 实验室Labs为程序员、科学家和学生提供了专门策划的 Linux 发行版,并预装了应用程序、相应的软件包和实用程序。很多人都不知道这些,如果配置得当,它们可以作为完美的现成 Linux 发行版为你服务。 + +下面是对它们的总结: + +**Fedora 科学** + +- 科学和数值开源工具与 KDE Plasma 桌面的结合 +- 应用列表包括: + - 用于 C/C++ 的 GNU 科学库 + - 与 MATLAB 兼容的 MGNU Octave + - LaTeX + - Maxima 计算机代数系统 + - 用于绘制二维和三维图形的 Gnuplot + - 用于数据科学的 Pandas Python 库 + - IPython + - 用于 Java 和 R 编程语言的软件包 +- 关于 Fedora 科学,[在此下载][14] 和了解更多。 + +**Fedora 计算神经科学** + +- 带有 GNOME 桌面环境的开源神经科学应用程序和软件包。 +- 了解更多并 [在此下载][15]。 + +**Fedora 机器人套件** + +- 这个完美的 Linux 发行版结合了最好的开源机器人应用程序和软件包,针对初级和经验丰富的机器人科学家和程序员。 +- 了解更多并 [在此下载][16]。 + +来自 Fedora Linux 的**其他解决方案**包括 [Fedora 安全实验室][17]、[Fedora 天文学][18] 和 [Fedora Python 教室][19],你或许想看看这些解决方案。 + +这些 Fedora 实验室选项可以成为编程项目或在特定科学领域工作的完美 Linux 发行版。 + +### 总结 + +那么,你如何在这份最适合程序员的 Linux 发行版名单中选择你的最爱? + +如果你不确定,并希望以最小的努力来建立和运行一个开发系统,那就选择 Fedora Workstation 或 Ubuntu。 + +如果你有空闲时间,或者想对你的系统有更多的控制,喜欢做实验,对偶尔出现的错误也不在意,那么就选择基于 Arch Linux 的系统。 + +对于刚进入 Linux 生态系统的新开发者来说,Pop OS 也是一个不错的选择。对于特定的需求,请到 Fedora 实验室选择。 + +我希望这份 2022 年最适合程序员的 Linux 发行版清单能给你一些指导,让你选择最喜欢的 Linux 发行版进行编程和开发。 + +干杯。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/top-linux-distributions-programmers-2022/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/Fedora-35-Workstation.jpg +[2]: https://getfedora.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-is-a-perfect-Linux-Distribution-for-Programmers.jpg +[4]: https://ubuntu.com/download +[5]: https://www.opensuse.org/ +[6]: https://manjaro.org/download/ +[7]: https://www.debugpoint.com/2022/01/archinstall-guide/ +[8]: https://archlinux.org/download/ +[9]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop.jpg +[10]: https://pop.system76.com/ +[11]: https://neon.kde.org/download +[12]: https://www.debian.org/distrib/ +[13]: https://www.kali.org/ +[14]: https://labs.fedoraproject.org/en/scientific/ +[15]: https://labs.fedoraproject.org/en/comp-neuro/ +[16]: https://labs.fedoraproject.org/en/robotics/ +[17]: https://labs.fedoraproject.org/en/security +[18]: https://labs.fedoraproject.org/en/astronomy +[19]: https://labs.fedoraproject.org/en/python-classroom diff --git a/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md b/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md deleted file mode 100644 index 5cb6d9db74..0000000000 --- a/sources/tech/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md +++ /dev/null @@ -1,229 +0,0 @@ -[#]: subject: "Top 10 Linux Distributions for Programmers in 2022 [Featured]" -[#]: via: "https://www.debugpoint.com/top-linux-distributions-programmers-2022/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 Linux Distributions for Programmers in 2022 [Featured] -====== - -**We review the top 10 best Linux distributions for programmers and developers (in 2022) to help with their work and personal projects.** - -The developers or the programmers use various tools and applications for their job or projects. It includes code editors, programming language compilers, add-ons, databases, etc. If you categorise the workflow of a modern developer – it contains a typical workflow as below – - -- accessing to the code repo -- programming -- debugging -- testing -- deploying - -And this typical workflow may need a wide range of tools. A standard list might be like this – - -- Code editors -- Simple Text Editors -- Web browsers (all variants for a web developer) -- Database engine -- A local server -- The respective programming language compiler -- Debuggers -- Monitoring or profiling tools (executables or network) - -Arguably, Linux is the best choice for programming compared to Windows. I am not comparing macOS in this article for several reasons. The primary reason for Linux is the best is because packages and apps with modern technology come as pre-installed or very easy to install in Linux distributions than Windows. - -Hence, in this post, we would like to list the best Linux Distributions for programmers in 2022. - -### Top 10 Linux Distributions for Programmers in 2022 - -#### 1. Fedora Workstation - -![Fedora 35 Workstation][1] - -Fedora 35 Workstation - -Perhaps the perfect Linux distribution among this list is Fedora Linux. Its default workstation edition for desktop brings an authentic GNOME desktop experience with its choice of packages. - -Fedora Linux default installation gives you all major development packages out of the box. They include PHP, OpenJDK, PostgreSQL, Django, Ruby on Rails, Ansible, etc. - -Installing additional applications such as Code editors and other packages are super simple with the dnf package manager. You can also take advantage of Software which is an app store where you can search and install applications with just a click of a button. - -Fedora Linux supports Snap and Flatpak, and that gives you more flexibility. You can also take advantage of the RPM Fusion repository in Fedora. The RPM Fusion repo gives you access to many free and non-free packages. Fedora Linux doesn’t want to include these packages in their main repo for license and other obvious reasons. - -You can check out the latest Fedora Linux on their official website below. - -[Download Fedora][2] - -#### 2. Ubuntu Linux - -![Ubuntu Desktop is a perfect Linux Distribution for Programmers][3] - -Ubuntu Desktop is a perfect Linux Distribution for Programmers. - -The second Linux distribution in this list is Ubuntu Linux. Ubuntu Linux is the most used Linux distribution today in server and desktop both. Ubuntu provides a long-term support release with five years of official support (plus another five years of maintenance support) and two short-term releases per year for power users. - -Due to its popularity, all the latest packages and application vendors provide Ubuntu (.deb) variants. The popularity also brings massive support in forums and documentation, perfect for developers, especially when you are stuck with errors during the development phase. Learn more about Ubuntu in the below link. - -[Download Ubuntu][4] - -#### 3. openSUSE - -openSUSE is one of the most stable and professionally built Linux distributions used in critical systems worldwide. This Linux Distribution is a go-to solution for enterprise-level workloads that include desktops, servers and thin clients. - -It has some advantages over Ubuntu and Fedora. First, it has two variants – Leap and Tumbleweed. The openSUSE Leap is a long-term support release (LTS) that provides up-to-date stability. The openSUSE Tumbleweed is a rolling release software that features bleeding edge packages. - -If you need the latest packages and hardware support for your development, then Tumbleweed is your choice. If you need stability and a longer-running system with low maintenance, choose openSUSE Leap. - -One of the advantages of using openSUSE for your development work is its package manager YaST. You can automate many activities with ease using the YaST package manager. - -On top of that, the openSUSE software delivery method is outstanding. Its software portal is on the web, which you can visit, search for a package and click install. - -If you are a little experienced in Linux compared to the new users, choose openSUSE for your development work. - -[Download openSUSE][5] - -#### 4. Manjaro Linux - -Manjaro Linux is an Arch Linux-based distribution that makes Arch installation easy. It is based on Arch Linux but brings several features such as a GUI installer like Ubuntu or Linux Mint, pamac installer, its curated repositories and more. Manjaro comes in three primary desktop flavours – GNOME, KDE Plasma and Xfce to cater to almost all user base. - -If you want Arch Linux and its rolling release package base for your development needs but do not want to get into the hassles of installing vanilla Arch, Manjaro is your perfect choice. - -[Download Manjaro][6] - -#### 5. Arch Linux - -While Manjaro and other Arch-based easy installation Linux distributions are out there, you may still want to get your hands dirty with the [vanilla Arch installation][7] with your custom desktop. - -This is more for power developers or programmers who want more control and a custom Linux operating system built for projects or needs. You may want to install Arch Linux with your favourite desktop to set up your development operating system in those cases. - -Suppose you are experienced in Arch Linux and computers in general. In that case, this is the best choice among all because it gives you complete control over each package in your custom build Linux operating system. - -[Download Arch Linux][8] - -#### 6. Pop OS - -The Pop OS (represented as Pop!_OS) was developed by computer manufacturer System76 for their series of hardware. Pop OS is free and open-source, based on Ubuntu. It follows the Ubuntu release cycle for its base while bringing additional tweaks, and packages customised for users. - -![Pop OS 21.10 Desktop Linux Distributions][9] - -Pop OS 21.10 Desktop - -Pop OS is perfect for programmers because it natively supports many programming languages based on Ubuntu. It markets itself as popular among computer scientists and programmers for its curated software centre, which has a dedicated section featuring applications for development and programming. - -On top of that, the COSMIC desktop (customised GNOME desktop) in Pop OS gives a unique experience to programmers with auto-tiling, a lovely colour palette, native dark mode and a wide range of settings. - -If you need an Ubuntu base and want a stable programmer-friendly Linux distribution, then choose Pop OS. - -[Download POP OS][10] - -#### 7. KDE Neon - -If you are a developer who feels comfortable in the KDE Plasma desktop and wants a Qt-based development environment, then KDE Neon is perfect for you. - -KDE Neon is a Linux distribution based on the Ubuntu LTS version with the latest KDE Plasma desktop, and KDE Framework packages. So, in KDE Neon, you get Ubuntu LTS stability with bleeding-edge KDE packages with Qt. - -This is a perfect Linux Distribution if you need a fast system with out-of-the-box applications, a friendly user interface and huge community support. - -[Download KDE Neon][11] - -#### 8. Debian - -Debian GNU/Linux needs no introduction. Debian’s stable branch is the base of Ubuntu and all its derivatives. Hence it is one of the primary and stable Linux. And it is perfect for your development environment because it gives you ultimate stability with multi-year support. - -Although, Debian’s stable branch is slightly conservative in adopting the latest packages. Debian maintainers carefully check and merge packages because the entire world (well, almost) depends on Debian stability. - -It is a perfect programming environment for advanced users and sysadmins if you want a stable and long-running dev environment with low maintenance effort. - -[Download Debian Linux][12] - -#### 9. Kali Linux - -The Kali Linux is developed by Offensive Security and primarily targets ethical hackers and penetration testers looking out for network vulnerabilities. It comes with tons of hacking tools and applications pre-installed. - -It can be a perfect Linux distribution for programmers and developers if you are experienced enough. Go for Kali Linux if you are well versed with Linux with some experience in navigating around errors and dependencies. - -[Download Kali Linux][13] - -#### 10. Fedora Labs Options - -And the final Linux Distribution in this list is a combination of Linux Distributions from Fedora Linux. - -Fedora Labs provides specially curated Linux Distributions for programmers, scientists and students with pre-loaded applications, respective packages and utilities. Many people are unaware of these, and when appropriately configured, they can act as perfect ready-made Linux distribution for you. - -Here’s a summary of them. - -**Fedora Scientific** - -- GNU Scientific Library for C/C++ -- MATLAB Compatible MGNU Octave -- LaTeX -- Maxima Computer Algebra System -- Gnuplot for drawing 2D and 3D graphs -- Pandas Python library for data science -- IPython -- Packages for Java and R programming languages - -- Combination of Scientific and numerical open-source tools with KDE Plasma desktop. -- Application list includes – -- Learn more about Fedora Scientific and [download it here][14]. - -**Fedora COMP NEURO** - -- Open source neuroscience applications and packages with GNOME Desktop environment. Learn more and [download it here][15]. - -**Fedora Robotics Suite** - -- Perfect Linux distribution combines the best open-source robotics applications and packages targeted to beginner and experienced Robotics scientists and programmers. -- Learn more and [download it here][16]. - -**Other solutions** from Fedora Linux include [Fedora Security Labs][17], [Fedora Astronomy][18] and [Fedora Python Classroom][19], which you want to check out. - -These Fedora Labs options can be perfect Linux distributions for programming projects or working in specific science fields. - -### Summary - -So, how do you choose your favourite among this list of best Linux Distributions for programmers? - -If you are unsure and want to have a development system up and running with minimal effort, go for Fedora Workstation or Ubuntu. - -If you have spare time or want more control over your system, like experimenting and being comfortable with occasional errors, then go for Arch Linux-based systems. - -Pop OS is also a good choice for new developers new to the Linux ecosystem. For specific needs, go to the Fedora Labs options. - -I hope this list of best Linux Distributions for programmers in 2022 gives you some guidance on choosing your favourite Linux distributions for programming and development. - -Cheers. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/top-linux-distributions-programmers-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/wp-content/uploads/2021/11/Fedora-35-Workstation.jpg -[2]: https://getfedora.org/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Desktop-is-a-perfect-Linux-Distribution-for-Programmers.jpg -[4]: https://ubuntu.com/download -[5]: https://www.opensuse.org/ -[6]: https://manjaro.org/download/ -[7]: https://www.debugpoint.com/2022/01/archinstall-guide/ -[8]: https://archlinux.org/download/ -[9]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop.jpg -[10]: https://pop.system76.com/ -[11]: https://neon.kde.org/download -[12]: https://www.debian.org/distrib/ -[13]: https://www.kali.org/ -[14]: https://labs.fedoraproject.org/en/scientific/ -[15]: https://labs.fedoraproject.org/en/comp-neuro/ -[16]: https://labs.fedoraproject.org/en/robotics/ -[17]: https://labs.fedoraproject.org/en/security -[18]: https://labs.fedoraproject.org/en/astronomy -[19]: https://labs.fedoraproject.org/en/python-classroom From 4d74ef76de8bfb000349ac09f368d82c6b78c5b7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 21 Nov 2022 23:23:20 +0800 Subject: [PATCH 474/925] RP @littlebirdnest https://linux.cn/article-15277-1.html --- ...atest LibreOffice in Ubuntu and other Linux.md | 135 ++++++++++++++++++ ...atest LibreOffice in Ubuntu and other Linux.md | 134 ----------------- 2 files changed, 135 insertions(+), 134 deletions(-) create mode 100644 published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md delete mode 100644 translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md diff --git a/published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md new file mode 100644 index 0000000000..179b548be1 --- /dev/null +++ b/published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md @@ -0,0 +1,135 @@ +[#]: subject: "How to Install Latest LibreOffice in Ubuntu and other Linux" +[#]: via: "https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15277-1.html" + +如何在 Ubuntu 中安装最新的 LibreOffice +====== + +![][0] + +> 在 Ubuntu 和其他 Linux 中安装最新的 LibreOffice 版本的快速指南。 + +自由开源的办公套件 LibreOffice 有两个版本:社区版和企业版。“社区” 版是为那些希望获得最新的尖端软件技术的早期采用者准备的。而 “企业” 版本更加稳定,可能不包括所有的最新功能,但它是生产环境和专业工作的理想选择。 + +### 在 Ubuntu 和其他 Linux 中安装最新的 LibreOffice + +#### 1、删除预安装的 LibreOffice + +Ubuntu 和其他的 Linux 发行版带有预安装的 LibreOffice。这可能不是最新的,这是因为发行版有特定的发行周期。在进行新安装之前,你可以通过以下命令删除 Ubuntu 及其衍生发行版中的的旧版本。 + +打开一个终端并运行以下命令,以删除 Ubuntu 和相关发行版中的已安装的 LibreOffice。对于其他发行版,你可以使用发行版的软件包管理器将其删除。 + +``` +sudo apt remove –purge libreoffice* +sudo apt autoclean +sudo apt autoremove +``` + +然后重启以确保一切正常(尽管你也可以跳过这一步)。 + +#### 2、从网站上下载安装 + +前往 [官方下载页面][1]. 并通过从下拉菜单中选择类型下载 “最新的” 版本。对于 Ubuntu 和其他衍生产品,请选择 .deb 文件。 + +![LibreOffice download and install from official website][2] + +下载后,提取文件;你应该看到下面的所有软件包。 + +![Extracted LibreOffice DEB files][3] + +在提取文件的位置打开终端,并按顺序运行以下命令。首先,你需要安装 ure 包,其次是核心包,然后是所有的基本包。最后,就是主要的 LibreOffice 软件包。下面是一组典型的命令。你需要更改为具体版本的版本号。 + +``` +sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb +sudo dpkg -i libobasis7.0* +``` + +``` +sudo dpkg -i libreoffice7.0* +``` + +如果你使用的是 Fedora Linux 或 Red Hat Linux,请按照上述相同的顺序使用 [dnf 命令][4]。 + +![Install LibreOffice via dpkg][5] + +等待安装完成。完成后,你可以通过应用程序菜单找到 LibreOffice。 + +![Latest LibreOffice in Menu][6] + +这应该完成安装最新 LibreOffice 的步骤。如果你不想遵循上述方法,请参阅以下选项。 + +### 通过 PPA 安装 + +如果你想通过 PPA 安装它,请按照以下步骤操作。确保在上面的第 1 步中删除现有的 LibreOffice。 + +``` +sudo add-apt-repository ppa:libreoffice/ppa +``` + +最后,运行以下命令从这个官方 PPA 安装最新的 LibreOffice 5.4 系列。 + +``` +sudo apt update +sudo apt install libreoffice +``` + +安装后,你可以通过 Dash 搜索启动 LibreOffice。 + +![LibreOffice 5.4.2 Running in Ubuntu][7] + +### 通过 Snap 和 Flatpak 安装 + +如果你是 Linux 用户,你可以尝试 LibreOffice 独立的可执行文件,它在 Snap 或 Flatpak 等沙箱中运行。 + +要通过 [Flatpak][8] 安装 LibreOffice ,请访问 [这个页面][9] 进行设置,然后运行以下命令进行安装: + +``` +flatpak install flathub org.libreoffice.LibreOffice +``` + +同样,对于 [Snap][10] 版本,使用以下命令进行安装: + +``` +sudo snap install libreoffice +``` + +### 如何升级到最新的 LibreOffice 版本? + +如果你不想删除 LibreOffice 但想升级到最新版本,请阅读我们下面的完整指南。 + +> **[在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice][11]** + +如果你在安装最新的 LibreOffice 时遇到问题,请随时留言。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.libreoffice.org/download/download/ +[2]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-download-and-install-from-official-website.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2017/10/Extracted-LibreOffice-DEB-files.jpg +[4]: https://www.debugpoint.com/dnf-commands-examples/ +[5]: https://www.debugpoint.com/wp-content/uploads/2017/10/Install-LibreOffice-via-dpkg.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2017/10/Latest-LibreOffice-in-Menu.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-5.4.2-Running-in-Ubuntu-.png +[8]: https://flathub.org/apps/details/org.libreoffice.LibreOffice +[9]: https://flatpak.org/setup/ +[10]: https://snapcraft.io/libreoffice +[11]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ +[12]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/embed/#?secret=KINquNxuYI#?secret=FGij1s6Mfc +[0]: https://img.linux.net.cn/data/attachment/album/202211/21/232133g8pmpgssszv6p1v8.jpg \ No newline at end of file diff --git a/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md deleted file mode 100644 index 3eaae1e4ba..0000000000 --- a/translated/tech/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md +++ /dev/null @@ -1,134 +0,0 @@ -[#]: subject: "How to Install Latest LibreOffice in Ubuntu and other Linux" -[#]: via: "https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何在Ubuntu和其他Linux中安装最新的Libreoffice -====== - -**在Ubuntu和其他Linux中安装最新的Libreoffice版本的快速指南。** - -免费和开源的办公套件Libreoffice有两个版本。社区版本和企业版本。社区版本主要是给前期的用户尝鲜,有较前沿的技术. 企业版本较为稳定但不会包括最新的功能,是生产环境和专业工作的最佳选择 - -### 在Ubuntu和其他Linux中安装最新的Libreoffice - -#### 1.删除预安装的libreoffice - -ubuntu和其他linux,带预安装的Libreoffice。这可能不是最新的,因为发行版的发行周期是之前的版本.但是,在进行新安装之前,您可以通过以下命令删除Ubuntu及其相关的旧版本: - -打开一个终端并运行以下命令,以删除Ubuntu和相关分布中的已安装的Libreoffice。对于其他人,您可以使用Distro的软件包管理器将其删除。 - -``` -sudo apt remove –purge libreoffice* -sudo apt autoclean -sudo apt autoremove -``` - -然后重启以确保一切正常(你也可以跳过) - -#### 2. 从网站上下载安装 - -前往[官方下载页面][1]. 并通过从下拉菜单中选择类型下载“Fresh”版本。对于Ubuntu和其他导数,请选择.deb文件。 - -![LibreOffice download and install from official website][2] - -下载后,提取文件;您应该看到下面的所有软件包。 - -![Extracted LibreOffice DEB files][3] - -下载解压后y,在提取文件的位置打开终端并按顺序运行以下命令。首先,你需要安装 ure 包。第二个是核心包,然后是所有基本包。最后,就是主要的 LibreOffice 软件包。下面是主要一些的命令。但是您需要更具体版本的版本号。 - -``` -sudo dpkg -i libobasis7.0-ure_7.0.4.2-2_amd64.deb -sudo dpkg -i libobasis7.0-core_7.0.4.2-2_amd64.deb -sudo dpkg -i libobasis7.0* -``` - -``` -sudo dpkg -i libreoffice7.0* -``` - -如果您使用的是 Fedora Linux 或 Red Hat Linux,请按照上述相同的顺序使用[dnf 命令][4] - -![Install LibreOffice via dpkg][5] - -等待安装完成。完成后,您可以通过应用程序菜单找到 LibreOffice。 - -![Latest LibreOffice in Menu][6] - -这应该完成安装最新 LibreOffice 的步骤。如果您不想遵循上述方法,请参阅以下选项。 - -#### 通过 PPA 安装 - -如果您想通过 PPA 安装它,请按照以下步骤操作。确保在上面的第 1 步中删除现有的 LibreOffice。 - -``` -sudo add-apt-repository ppa:libreoffice/ppa -``` - -最后,运行以下命令从这个官方 PPA 安装最新的 LibreOffice 5.4 系列。 - -``` -sudo apt update -sudo apt install libreoffice -``` - -安装后,您可以通过 Dash 搜索启动 LibreOffice。 - -![LibreOffice 5.4.2 Running in Ubuntu][7] - -#### 通过 Snap 和 Flatpak 安装 - -如果您是 Linux 用户,您可以尝试 LibreOffice 独立的可执行文件,它在 Snap 或 Flatpak 等沙箱中运行。 - -- 要通过[Flatpak][8]安装 LibreOffice ,请访问this page][9] 进行设置,然后运行以下命令进行安装 - -``` -flatpak install flathub org.libreoffice.LibreOffice -``` - -- 同样,对于[Snap version][10],使用以下命令进行安装。 - -``` -sudo snap install libreoffice -``` - -### 如何升级到最新的 LibreOffice 版本? - -如果您不想删除 LibreOffice 但想升级到最新版本,请阅读我们下面的完整指南。 - -> [在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice[11] - -![“在 Ubuntu、Linux Mint 和 Windows 中升级到最新的 LibreOffice” — DebugPoint.com][12] - -如果您在安装最新的 LibreOffice 时遇到问题,请随时发表评论。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[littlebirdnest](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.libreoffice.org/download/download/ -[2]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-download-and-install-from-official-website.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2017/10/Extracted-LibreOffice-DEB-files.jpg -[4]: https://www.debugpoint.com/dnf-commands-examples/ -[5]: https://www.debugpoint.com/wp-content/uploads/2017/10/Install-LibreOffice-via-dpkg.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2017/10/Latest-LibreOffice-in-Menu.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2017/10/LibreOffice-5.4.2-Running-in-Ubuntu-.png -[8]: https://flathub.org/apps/details/org.libreoffice.LibreOffice -[9]: https://flatpak.org/setup/ -[10]: https://snapcraft.io/libreoffice -[11]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/ -[12]: https://www.debugpoint.com/libreoffice-upgrade-update-latest/embed/#?secret=KINquNxuYI#?secret=FGij1s6Mfc From 11fca21dd0cb42266f9aa37f99c5971783bd0635 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 22 Nov 2022 00:02:30 +0800 Subject: [PATCH 475/925] RP @chai001125 https://linux.cn/article-15278-1.html --- ...to run Kubernetes in your Linux homelab.md | 100 ++++++++++++++++++ ...to run Kubernetes in your Linux homelab.md | 99 ----------------- 2 files changed, 100 insertions(+), 99 deletions(-) create mode 100644 published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md delete mode 100644 translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md diff --git a/published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md new file mode 100644 index 0000000000..92af1e9e3a --- /dev/null +++ b/published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md @@ -0,0 +1,100 @@ +[#]: subject: (5 more reasons to run Kubernetes in your Linux homelab) +[#]: via: (https://opensource.com/article/21/6/kubernetes-linux-homelab) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15278-1.html) + +在你的 Linux 家庭实验室上运行 Kubernetes 的 5 个理由 +====== + +> Kubernetes 的优势不仅在于它能够做什么,还在于知道它能为你做什么。 + +![][0] + +在 [树莓派家庭实验室上运行 Kubernetes 的 5 个理由][2] 这篇文章中,我解释了为什么推荐在家里使用 Kubernetes。其中的理由相对来说会有点随意,并且主要于关注结果。除了 Kubernetes 好用的功能之外,还有其他几个应将 Kubernetes 包含在你自己的计算机的理由。 + +(LCTT 译注:家庭实验室Homelab 指的是安置在你家里的一个服务器或者多服务器的组合配置。在之上托管了多个服务和虚拟系统,以此来进行测试、开发,或者提供家庭功能用途。) + +### 1、Kubernetes 是基于 Linux 而建立的 + +![T-shirt reading "Containers are Linux"][3] + +Kubernetes 有很高的知名度。对于一些人来说,Kubernetes 是一种神秘技术,有一个不好念的名字;而对另一些人来说,Kubernetes 就好像是牧羊犬放牧羊群一样,可以帮助他们管理过多的容器;对于其它人来说,Kubernetes 是一种 cloud 的操作系统,是 实效云开发 effective cloud development 的一个有用的界面;对于大多数人来说,Kubernetes 可能是他们从未听说过的后端软件。正如人们所想的那样,Kubernetes 具有所有这些能力,甚至有更多的功能。 + +并非每个人都以相同的方式使用 Kubernetes,但如果你主要的工作是系统管理,你会发现 Kubernetes _只是又一个 Linux 命令_。 + +我有一件 T 恤,上面写着 “容器就是 Linux Containers are Linux ”,它的意思是显而易见的。容器技术使用 cgroup,来运行包含一个或一组应用程序的最小 Linux 操作系统镜像。当你运行容器时,实际上你就是在运行 Linux。虽然 Kubernetes 能在许多平台上使用,但 Kubernetes 管理的是 Linux 容器。当你通过终端与 Kubernetes 交互时,就像是使用 Linux:有命令、选项、参数和语法。运行 Kubernetes 的 `kubeadm` 或(在 OKD 或 OpenShift 上)运行 `oc` 命令,你会感觉到很熟悉,是因为它们的工作方式与你习惯使用的任何其他 Linux 命令一样。开始时看似陌生的东西很快就会变得自然,任何有兴趣在终端上花时间的 Linux 用户都可以在 Kubernetes 中探索到许多有趣的东西。 + +### 2、Kubernetes 很灵活 + +在过去,Kubernetes 有点死板,因为从本质上来说,它仅能支持一个 容器运行时 container runtime 。这个规定非常严格,以至于今天需要一个 硬编码的垫片 hardcoded shim ,才能绕过这个遗留问题。幸运的是,如今 Kubernetes 已经变得足够灵活,可以满足管理员的许多不同需求了。[Podman][5] 和 [CRI-O][6] 可用作于容器引擎,它们都可以与 [systemd][7] 集成(这是因为 Kubernetes 的底层都是 Linux)。你可以自己选择 Kubernetes 所使用的文件系统、集群大小和构造、监控工具、镜像、编程语言等等配置。甚至现在有些人说 Kubernetes 有 _太多_ 的选择了。 + +### 3、学习 Kubernetes 有助于个人发展 + +容器是一个硕果累累的事物,它们会快速地成倍增长,这就是它的设计。容器旨在扩展,它们通过生成克隆来扩展。将容器分组(称为 “容器荚pod”),并自动管理容器荚的生命周期,这就是 Kubernetes 运用的方式。它正在改变服务器的运行方式。 + +你可能不需要无限扩展的容器集合,也不需要任何东西来帮助你管理正运行的一或两个容器。但是,如果你希望受益于处理容器荚的能力,那么 Kubernetes 正是你需要学习的工具。随着越来越多的公司和组织走向全球,拥抱 [数字化转型][8],Kubernetes 正在成为 IT 领域的必备技能。如果你想要在这个领域中发展,那么现在开始学习 Kubernetes 并熟悉它的常见问题及其解决方案,将会是一项很好的投资。 + +### 4、Kubernetes 让容器更有意义 + +你可能还记得几年前,当开源项目刚开始将它们的代码作为容器镜像分发时,对于许多人来说,容器这一概念是令人费解的:没有多少系统管理员真正理解 [容器是什么][9],或者明白容器的边界在哪里、如何进入容器,以及为什么数据不能存在于容器内。 + +现在,IT 界(包括开发人员在内)都对容器的概念都十分熟悉了。对于现代的 [CI/CD 工作流程][10] 来说,交付给容器十分有意义。不过,对于系统管理员来说,容器的优势如下:安装容器(理论上)比等待发行版更新其软件包更为容易,而且容器可以扩展。然而,在你使用 Kubernetes 之前,你很可能都不会真正地感受到这些好处。当你开始使用 Kubernetes 和相关工具管理容器之前,持续交付容器的好处和容器的扩展能力可能只是你从文章里面读过的想法。将容器集成到你管理服务器的方式中,你会突然明白 Kubernetes 中令人兴奋的是什么。 + +![Apache JMeter][11] + +你可以试试看这个最基本的测试:只需在容器中启动你最喜欢的 Web 服务器,创建一个容器荚,然后使用来自 [Apache JMeter][12] 的流量访问你的服务器,然后观察容器响应。 + +### 5、Kubernetes 是云原生的 + +如果你主要做的是软件开发,而不是系统管理,那么 Kubernetes 也是 网页应用程序 web apps 的一个很好的平台。我们现在都在使用网页应用程序,尽管大多数人只是将它们视为 “网站 website ”。网络拥有庞大的用户群,因此通过浏览器提供开源的应用程序是非常有意义的。有一些很棒的开源应用程序在网络上运行,其中许多的应用程序都以容器的形式分发的,它们可以支持简单的安装和持续的用户体验。 + +### Kubernetes 的其他优势:Kubernetes 很有意思 + +你还记得你还是 Linux 新手的时候吗?对于一些人来说,那可能是几十年前的事了,而对于其他人来说,可能是不久的过去。不过,对于所有人来说,学习一项新事物会是一个有趣的挑战。如果你达到了认为 “Linux 的安装与其说是一个挑战,不如说是一个麻烦” 的程度,那么你可以尝试一下构建一个 Kubernetes 集群。它会让你回忆起你忘记的各种概念:如何修改纯文本(特别是 [YAML][13] 格式的)配置文件,如何配置网络接口和网络,如何路由流量,知道一个后端相对于另一个后端的优缺点,在 `--dry-run` 测试之后运行 `--dry-run` 测试,试探性地按回车键来确定你是否做对了。老实说,使用 Kubernetes 很有趣。 + +如果你想构建自己的基础架构,没有什么比构建你自己的 Kubernetes 集群更好的了。Kubernetes 集群将会为你打开一个全新的世界。你很快就会成为一名云架构师,学会完善你的开放云,在容器中安装令人惊叹的开源 Web 应用程序,也能为你的家人和朋友提供访问权限。 + +你自己就能得到解决方案。这真是太棒啦。 + +### 快来试试看 Kubernetes 吧 + +对 Kubernetes 的初学者来说,Kubernetes 似乎很难快速上手,因为 Kubernetes 是一个新的工具,会让你感到有点害怕,而且它还需要云服务。但是,以下有几种方法可以让你开始 Kubernetes 体验。 + +首先,安装 [Minikube][14] 或 [Minishift][14]。这两个工具都允许你在自己的计算机上运行 Kubernetes 的本地实例。虽然这种方式比不上“构建一个集群并与你的朋友共享”那么令人满意,但它是一种让你熟悉 Kubernetes 环境、命令和工具包的很好且安全的方式。 + +当你准备进一步研究 Kubernetes 后,请进一步阅读 Chris Collins 的《[使用树莓派构建 Kubernetes 集群][15]》 的文章。之后,再下载我们的免费电子书 《[在你树莓派家庭实验室上运行 Kubernetes][16]》。在不知不觉中,你会发现自己也明白了“容器就是 Linux”的含义。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/kubernetes-linux-homelab + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop) +[2]: https://opensource.com/article/20/8/kubernetes-raspberry-pi +[3]: https://opensource.com/sites/default/files/uploads/containers-are-linux.jpg (T-shirt reading "Containers are Linux") +[4]: https://creativecommons.org/licenses/by-sa/4.0/ +[5]: http://podman.io +[6]: http://cri-o.io +[7]: https://opensource.com/article/21/5/systemd +[8]: https://enterprisersproject.com/what-is-digital-transformation +[9]: https://opensource.com/article/18/11/behind-scenes-linux-containers +[10]: https://opensource.com/article/18/8/what-cicd +[11]: https://opensource.com/sites/default/files/uploads/jmeter.png (Apache JMeter) +[12]: https://jmeter.apache.org +[13]: https://www.redhat.com/sysadmin/yaml-beginners +[14]: https://opensource.com/article/18/10/getting-started-minikube +[15]: https://opensource.com/article/20/6/kubernetes-raspberry-pi +[16]: https://opensource.com/downloads/kubernetes-raspberry-pi +[0]: https://img.linux.net.cn/data/attachment/album/202211/22/000124imal02j2yollqbqj.jpg \ No newline at end of file diff --git a/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md deleted file mode 100644 index 7f6f78304c..0000000000 --- a/translated/tech/20210618 5 more reasons to run Kubernetes in your Linux homelab.md +++ /dev/null @@ -1,99 +0,0 @@ -[#]: subject: (5 more reasons to run Kubernetes in your Linux homelab) -[#]: via: (https://opensource.com/article/21/6/kubernetes-linux-homelab) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -在你的 Linux 主机上运行 Kubernetes 的 5 个理由 -====== - ->Kubernetes 的优势不仅在于它能够做什么,还在于知道它能为你做什么。 - -![Working from home at a laptop][1] - -在 [Raspberry Pi 家庭实验室 homelab 上运行 Kubernetes 的 5 个理由][2] 这篇文章中,我解释了为什么推荐在家里使用 Kubernetes。其中的理由相对来说会有点随意,并且主要于关注结果。除了 Kubernetes 好用的功能之外,还有其他几个应将 Kubernetes 包含在你自己的计算机的理由。 - -(LCTT译注:Homelab 指的是安置在你家里的一个服务器或者多服务器的组合配置。在之上托管了多个服务和虚拟系统,以此来进行测试、开发,或者提供家庭功能用途。) - -### 1、Kubernetes 是基于 Linux 而建立的 - -![T-shirt reading "Containers are Linux"][3] - -Kubernetes 有很高的知名度。对于一些人来说,Kubernetes 是一种难以言说的神秘技术;对其他人来说,Kubernetes 就好像是牧羊犬放牧羊群一样,可以帮助他们管理过多的容器;对于另一些人来说,Kubernetes 是一种 cloud 的操作系统,是 实效云开发 effective cloud development 的一个有用的界面;对于大多数人来说,Kubernetes 可能是他们从未听说过的后端软件。正如人们所想的那样,Kubernetes 具有所有这些能力,甚至有更多的功能。 - -并非每个人都以相同的方式使用 Kubernetes,但如果你主要的工作是系统管理,你会发现 Kubernetes _只是另一个 Linux 命令_。 - -我有一件 T 恤,上面写着 “容器就是 Linux” Containers are Linux ,它的意思是显而易见的。容器技术使用 cgroups,来运行包含一个或一组应用程序的最小 Linux 操作系统映像。当你运行容器时,实际上你就是在运行 Linux。虽然在许多平台上都能使用 Kubernetes 命令,但 Kubernetes 命令管理的是 Linux 容器。当你通过终端与 Kubernetes 交互时,Kubernetes 命令类似于 Linux 的使用:有命令、选项、参数和语法。运行 Kubernetes 的 `kubeadm` 或(在 OKD 或 OpenShift 上)运行 `oc` 命令,你会感觉到很熟悉,是因为它们的工作方式与你习惯使用的任何其他 Linux 命令一样。开始时看似陌生的东西很快就会变得自然,任何有兴趣花时间在终端上的 Linux 用户都可以在 Kubernetes 中探索到许多有趣的东西。 - -### 2、Kubernetes 很灵活 - -在过去,Kubernetes 有点死板,因为从本质上来说,它仅能支持一个 容器运行时 container runtime 。这个规定非常严格,以至于今天需要一个 硬编码的垫片 hardcoded shim ,才能绕过这个遗留问题。幸运的是,如今 Kubernetes 已经变得足够灵活,可以满足管理员的许多不同需求了。[Podman][5] 和 [CRI-O][6] 可用作于容器引擎,它们都可以与 [systemd][7] 集成(这是因为 Kubernetes 的底层都是 Linux)。你可以自己选择 Kubernetes 所使用的文件系统、集群大小和构造、监控工具、镜像、编程语言等等配置。甚至现在有些人说 Kubernetes 有 _太多_ 的选择了。 - -### 3、学习 Kubernetes 有助于个人发展 - -容器是一个硕果累累的事物,它们会快速地成倍增长。这是设计使然的,容器旨在扩展,它们通过生成克隆来扩展。将容器分组(称为 _pods_),并自动化 Pod 生命周期的管理方式,这就是 Kubernetes 运用的方式。Kubernetes 正在改变服务器的运行方式。 - -你可能不需要无限扩展的容器集合,也不需要任何东西来帮助你管理正运行的一或两个容器。但是,如果你希望受益于处理 Pods 的能力,那么 Kubernetes 正是你需要学习的工具。随着越来越多的公司和组织走向全球,并拥抱 [数字化转型][8],Kubernetes 正在成为 IT 领域的必备技能。如果你想要在这个领域中发展,那么现在开始学习 Kubernetes 并熟悉它的常见问题及其解决方案,将会是一项很好的投资。 - -### 4、Kubernetes 让容器更有意义 - -你可能还记得几年前,当开源项目刚开始将它们的代码作为容器镜像分发时,对于许多人来说,容器这一概念是令人费解的:没有多少系统管理员真正理解 [容器是什么][9],或者明白容器的边界在哪里、如何进入容器,以及为什么数据不能存在于容器内。 - -现在,IT 界(包括开发人员在内)都对容器的概念都十分熟悉了。对于现代的 [CI/CD 工作流程][10] 来说,分发容器十分有意义。不过,对于系统管理员来说,容器的优势如下:安装容器比等待发行版更新其软件包和容器规模,更为容易。然而,在你使用 Kubernetes 之前,你很可能都不会真正地感受到这些好处。当你开始使用 Kubernetes 和相关工具管理容器之前,持续交付容器的好处和容器的扩展能力可能只是你读过的想法。将容器集成到你管理服务器的方式中,你会突然明白 Kubernetes 中令人兴奋的是什么。 - -![Apache JMeter][11] - -你可以试试看这个最基本的测试:只需在容器中启动你最喜欢的 Web 服务器,创建一个 pod,然后使用来自 [Apache JMeter][12] 的流量访问你的服务器,然后观察容器响应。 - -### 5、Kubernetes 是 云原生的 Cloud-native - -如果你主要做的是系统开发,而不是系统管理,那么 Kubernetes 也是 网络应用程序 web apps 的一个很好的平台。我们现在都在使用网络应用程序,尽管大多数人只是将它们视为“网站 website ”。Web 拥有庞大的用户群,因此通过浏览器提供开源的应用程序是非常有意义的。有一些很棒的开源应用程序在网络上运行,其中许多的应用程序都以容器的形式分发的,它们可以支持简单的安装和持续的用户体验。 - -### Kubernetes 的其他优势:Kubernetes 很有意思 - -你还记得你还是 Linux 新手的时候吗?对于一些人来说,那可能是几年前的事了,而对于其他人来说,可能是不久的过去。不过,对于所有人来说,学习一项新事物会是一个有趣的挑战。如果你达到了认为“Linux 的安装是麻烦多于挑战”的程度,那么你可以尝试一下构建一个 Kubernetes 集群。它会让你回忆起你忘记的各种概念:如何破解纯文本(特别是 [YAML][13] 格式的)配置文件,如何配置网络接口和网络,如何路由流量,知道一个后端相对于另一个后端的优缺点,在 `--dry-run` 测试之后运行 `dry-run` 测试,试探性地按 Return 来确定你是否做对了。老实说,使用 Kubernetes 很有趣。 - -如果你想自己构建基础架构,没有什么比构建你自己的 Kubernetes 集群更好的了。Kubernetes 集群将会为你打开一个全新的世界。你很快就会成为一名云架构师,学会完善你的开放云,在容器中安装令人惊叹的开源 Web 应用程序,也能为你的家人和朋友提供访问权限。 - -你自己就能得到解决方案。这真是太棒啦。 - -### 快来试试看 Kubernetes 吧 - -对 Kubernetes 的初学者来说,Kubernetes 似乎很难快速上手,因为 Kubernetes 是一个新的工具,会让你感到有点害怕,而且它还需要云。但是,以下有几种方法可以让你开始 Kubernetes 体验。 - -首先,安装 [Minikube][14] 或 [Minishift][14]。这两个工具都允许你在自己的计算机上运行 Kubernetes 的本地实例。虽然这种方式比不上“构建一个集群并与你的朋友共享”那么令人满意,但它是一种让你熟悉 Kubernetes 环境、命令和工具包的很好且安全的方式。 - -当你准备进一步研究 Kubernetes 后,请进一步阅读 Chris Collins 关于 [使用 Raspberry Pi 构建 Kubernetes 集群][15] 的文章。之后,再下载我们的免费电子书 [在你的 Raspberry Pi 家庭实验室上运行 Kubernetes][16]。在不知不觉中,你会发现自己也明白了“容器就是 Linux”的含义。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/kubernetes-linux-homelab - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop) -[2]: https://opensource.com/article/20/8/kubernetes-raspberry-pi -[3]: https://opensource.com/sites/default/files/uploads/containers-are-linux.jpg (T-shirt reading "Containers are Linux") -[4]: https://creativecommons.org/licenses/by-sa/4.0/ -[5]: http://podman.io -[6]: http://cri-o.io -[7]: https://opensource.com/article/21/5/systemd -[8]: https://enterprisersproject.com/what-is-digital-transformation -[9]: https://opensource.com/article/18/11/behind-scenes-linux-containers -[10]: https://opensource.com/article/18/8/what-cicd -[11]: https://opensource.com/sites/default/files/uploads/jmeter.png (Apache JMeter) -[12]: https://jmeter.apache.org -[13]: https://www.redhat.com/sysadmin/yaml-beginners -[14]: https://opensource.com/article/18/10/getting-started-minikube -[15]: https://opensource.com/article/20/6/kubernetes-raspberry-pi -[16]: https://opensource.com/downloads/kubernetes-raspberry-pi From a3bc3ff1e1789e5d8312609d691ce948833ef76e Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 22 Nov 2022 08:42:08 +0800 Subject: [PATCH 476/925] translated --- ... Elementary OS’s Pantheon Desktop in Arch Linux.md | 176 ----------------- ... Elementary OS’s Pantheon Desktop in Arch Linux.md | 177 ++++++++++++++++++ 2 files changed, 177 insertions(+), 176 deletions(-) delete mode 100644 sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md create mode 100644 translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md diff --git a/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md deleted file mode 100644 index b44c292758..0000000000 --- a/sources/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md +++ /dev/null @@ -1,176 +0,0 @@ -[#]: subject: "How to Install Elementary OS’s Pantheon Desktop in Arch Linux" -[#]: via: "https://www.debugpoint.com/pantheon-arch-linux-install/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Elementary OS’s Pantheon Desktop in Arch Linux -====== - -**Pantheon is the default desktop environment for the elementary OS. This quick guide explains the steps to install the Pantheon desktop environment in Arch Linux.** - -Pantheon is a beautiful desktop environment used by the elementary OS. It is based on GTK3 (GTK4 porting in progress) and Vala and is a nice and clean desktop that provides you with a refined experience of a Linux desktop. - -The desktop is primarily used by the elementary OS. Elementary OS provides a modified version of Pantheon desktop, which is based on the GNOME software base. - -The elementary OS is based on the Ubuntu LTS release. Hence it is super easy to install the Pantheon desktop in ubuntu-based distributions. That means if you want to experience Pantheon without installing elementary OS – it’s just one or two commands to install it in Ubuntu. - -In Fedora, you can also install using group packages. However, a distro called [Ultramarine Linux][1] provides it by default with a Fedora base. - -But, installing Pantheon in Arch Linux requires some work. It is not straightforward with a simple pacman command and won’t work out of the box at all. Some configuration is required and might break your system. - -Here I give you the guideline and steps to install Pantheon Desktop in Arch Linux. - -**Warning:**Things may not go well the first time, so I suggest you do it on a virtual machine before installing it on a physical system. Because installing Pantheon in Arch is not as streamlined as installing GNOME, Xfce, and KDE Plasma desktop in Arch Linux. It requires some additional manual configuration as well. - -Here are the steps to install Pantheon Desktop in Arch Linux. - -### Install Pantheon Desktop in Arch Linux - -#### Step 1: Install Base System - -Make sure you install the Arch Linux base system by following the automated [archinstall script using this guide][2]. If you’re already running an Arch installation, you can skip this step and follow the next step. - -#### Step 2: Update Your System - -Open a terminal in your Arch installation. And make sure the system is up to date by running the below command: - -``` -pacman -Syu -``` - -#### Step 3: Instal yay AUR Helper - -Many packages that are required for Pantheon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][3]. - -#### Step 4: Install Pantheon Desktop in Arch Linux - -Install the following packages using the below command. These are required packages available in the Arch official repository consisting of all necessary components, wingpanel, icons, and wallpapers. - -- [pantheon][4] -- lightdm-pantheon-greeter -- sound-theme-elementary -- switchboard -- lightdm-gtk-greeter -- elementary-icon-theme -- elementary-wallpapers -- pantheon-applications-menu -- wingpanel-indicator-session -- wingpanel-indicator-datetime - -``` -pacman -S --needed pantheon lightdm-pantheon-greeter sound-theme-elementary switchboard lightdm-gtk-greeter elementary-icon-theme elementary-wallpapers pantheon-applications-menu wingpanel-indicator-session wingpanel-indicator-datetime inter-font firefox -``` - -Install the following packages from the user repository. These are some additional packages that are not available in the Arch official repository. And these might take some time to install. - -- pantheon-session-git -- gnome-settings-daemon-elementary -- pantheon-default-settings -- switchboard-plug-pantheon-tweaks-git -- urutau-icons-git -- pantheon-dock-git - -``` -yay -S pantheon-session-git pantheon-default-settings switchboard-plug-pantheon-tweaks-git urutau-icons-git pantheon-dock-git -``` - -The next step is to install the display server and manager. Use `lightdm` as the display manager for Pantheon in Arch. I tried using other display managers with Pantheon but that didn’t end well. - -``` -pacman -S --needed xorg lightdm -``` - -#### Step 5: Configure - -The default greeter needs some modifications. Run the below command to check the available sessions. - -``` -ls -1 /usr/share/xgreeters -``` - -![greeters list][5] - -Open the lightdm configuration file and change the greeter-session to io.elementary.greeter. - -``` -sudo nano /etc/lightdm/lightdm.conf - -greeter-session=io.elementary.greeter -``` - -Save and close the file (CTRL+O, ENTER and CTRL+X). - -![lightdm conf][6] - -Enable the display manager and network manager in systemd. - -``` -systemctl enable lightdmsystemctl enable NetworkManager -``` - -Reboot the system. - -``` -systemctl reboot -``` - -If all went well, you should see the following login screen (I know, it doesn’t look cool at all, anyway). Change the session from the top dropdown and log in with the username and password. - -![Login screen - Pantheon in Arch][7] - -#### Step 6: Post-Install Configuration - -When I first logged in to my test system, many things didn’t work. Here’s a list of items and their possible solutions. - -a) **Wallpaper**: The wallpaper module seems not to be working at all. So, there was no wallpaper by default. Even the “Change Wallpaper” option is not opening. If you face this, install `dconf` editor and change the wallpaper via the below steps. - -``` -pacman -S --needed dconf-editor -``` - -Then Launch the dconf editor from the menu. Navigate to `"org > gnome > desktop > background > picture-uri"`. Turn off the default value and add the custom value `file:////usr/share/backgrounds/Ashim DSilva.jpg`. You can use any other image as well. Save and close. - -![Change background property using dconf-editor][8] - -b) **Icons**: Change the icons via `Settings > Tweaks.` Then change the icon and cursors to urutau-icons. - -After all the configurations and installation, you should be all set with the Pantheon Desktop in Arch Linux. Here’s a screenshot of my test machine. - -![Pantheon Desktop in Arch Linux][9] - -### Closing Notes - -I hope this guide helps you eventually install the Pantheon desktop in Arch Linux. It took me a couple of days to finally able to fit the pieces together and make them work. - -Although some small features are still not working, a workable Pantheon desktop is still available. - -The only thing that surprises me is the performance of Pantheon in Arch. The elementary OS installation is not that fast in my same test machine. But the Pantheon base is faster in Arch than a vanilla elementary OS. However, if you would like Pantheon, give it a go. - -If you face any errors, let me know using the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/pantheon-arch-linux-install/ - -作者:[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/ultramarine-linux-36/ -[2]: https://www.debugpoint.com/archinstall-guide/ -[3]: https://www.debugpoint.com/install-yay-arch/ -[4]: https://wiki.archlinux.org/index.php/Pantheon -[5]: https://www.debugpoint.com/wp-content/uploads/2021/02/greeters-list.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/lightdm-conf.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Login-screen-Pantheon-in-Arch.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Change-background-property-using-dconf-editor.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2021/02/Pantheon-Desktop-in-Arch-Linux-1.jpg diff --git a/translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md new file mode 100644 index 0000000000..ed4ecc1d09 --- /dev/null +++ b/translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md @@ -0,0 +1,177 @@ +[#]: subject: "How to Install Elementary OS’s Pantheon Desktop in Arch Linux" +[#]: via: "https://www.debugpoint.com/pantheon-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Arch Linux 中安装 Elementary OS 的 Pantheon 桌面 +====== + +**Pantheon 是 Elementary OS 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Pantheon 桌面环境的步骤**。 + +Pantheon 是 elementary OS 使用的一个漂亮的桌面环境。它基于 GTK3(GTK4 移植正在进行中)和 Vala,是一个漂亮而干净的桌面,为你提供了一个精致的 Linux 桌面体验。 + +该桌面主要由 elementary OS 使用。Elementary OS 提供了 Pantheon 桌面的修改版,它是基于 GNOME 软件基础的。 + +Elementary OS 是基于 Ubuntu LTS 版本。因此,在基于 ubuntu 的发行版中安装 Pantheon 桌面是超级容易的。这意味着如果你想在不安装 elementary OS 的情况下体验 Pantheon,在 Ubuntu 中这只需要一两个命令就可以安装。 + +在 Fedora 中,你也可以使用组包进行安装。然而,一个以 Fedora 为基础,名为 [Ultramarine Linux][1] 的发行版默认提供了它。 + +但是,在 Arch Linux 中安装 Pantheon 需要一些工作。它不是用简单的 pacman 命令就能直接完成的,而且不能开箱即用。需要一些配置,这可能会破坏你的系统。 + +这里我给你提供了在 Arch Linux 中安装 Pantheon 桌面的指南和步骤。 + +**警告:**第一次可能不顺利,所以我建议你在物理系统上安装前先在虚拟机上进行。因为在 Arch 中安装 Pantheon 并不像在 Arch Linux 中安装 GNOME、Xfce 和 KDE Plasma 桌面那样流畅。它还需要一些额外的手动配置。 + +下面是在 Arch Linux 中安装 Pantheon 桌面的步骤。 + +### 在 Arch Linux 中安装 Pantheon 桌面 + +#### 第 1 步:安装基础系统 + +确保你按照[本指南的自动 archinstall 脚本][2]安装了 Arch Linux 基础系统。如果你已经在完成了 Arch 安装,你可以跳过这一步,按照下一步进行。 + +#### 第 2 步:更新你的系统 + +在你的 Arch 中打开一个终端。并通过运行以下命令确保系统是最新的: + +``` +pacman -Syu +``` + +#### 第 3 步:安装 yay AUR 助手 + +Many packages that are required for Pantheon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][3]. +Pantheon 所需的许多包在 Arch 官方仓库中不可用。它们存在于 Arch 用户仓库 (AUR) 中。因此你您需要安装 yay 以获得额外的软件包。按照[本指南安装 yay AUR 助手][3]。 + +#### 第 4 步:在 Arch Linux 中安装 Pantheon 桌面 + +使用以下命令安装以下软件包。这些是 Arch 官方仓库中可用的必需软件包,包括所有必要的组件、wingpanel、图标和壁纸。 + +- [pantheon][4] +- lightdm-pantheon-greeter +- sound-theme-elementary +- switchboard +- lightdm-gtk-greeter +- elementary-icon-theme +- elementary-wallpapers +- pantheon-applications-menu +- wingpanel-indicator-session +- wingpanel-indicator-datetime + +``` +pacman -S --needed pantheon lightdm-pantheon-greeter sound-theme-elementary switchboard lightdm-gtk-greeter elementary-icon-theme elementary-wallpapers pantheon-applications-menu wingpanel-indicator-session wingpanel-indicator-datetime inter-font firefox +``` + +从用户仓库安装以下包。这些是 Arch 官方仓库中不可用的一些附加包。这些可能需要一些时间来安装。 + +- pantheon-session-git +- gnome-settings-daemon-elementary +- pantheon-default-settings +- switchboard-plug-pantheon-tweaks-git +- urutau-icons-git +- pantheon-dock-git + +``` +yay -S pantheon-session-git pantheon-default-settings switchboard-plug-pantheon-tweaks-git urutau-icons-git pantheon-dock-git +``` + +下一步是安装显示服务器和管理器。使用 `lightdm` 作为 Arch 中 Pantheon 的显示管理器。我尝试将其他显示管理器与 Pantheon 一起使用,但结果并不理想。 + +``` +pacman -S --needed xorg lightdm +``` + +#### 第 5 步:配置 + +默认欢迎程序需要一些修改。运行以下命令以检查可用会话。 + +``` +ls -1 /usr/share/xgreeters +``` + +![greeters 列表][5] + +打开 lightdm 配置文件并将 greeter-session 更改为 io.elementary.greeter。 + +``` +sudo nano /etc/lightdm/lightdm.conf + +greeter-session=io.elementary.greeter +``` + +保存并关闭文件(CTRL+O、回车 和 CTRL+X)。 + +![lightdm 配置][6] + +在 systemd 中启用显示管理器和网络管理器。 + +``` +systemctl enable lightdmsystemctl enable NetworkManager +``` + +重启系统。 + +``` +systemctl reboot +``` + +如果一切顺利,你应该会看到以下登录屏幕(我知道,它看起来一点也不酷)。从顶部下拉菜单更改会话并使用用户名和密码登录。 + +![Pantheon 在 Arch 中的登录页面][7] + +#### 第 6 步:安装后配置 + +当我第一次登录到我的测试系统时,很多东西都不起作用。以下是列表及其可能的解决方案。 + +a) **壁纸**:壁纸模块似乎根本不起作用。因此,默认情况下没有壁纸。甚至“更改壁纸”选项也没有打开。如果遇到这种情况,请安装 `dconf` 编辑器并通过以下步骤更改壁纸。 + +``` +pacman -S --needed dconf-editor +``` + +接着从菜单启动 dconf 编辑器。进入 `“org > gnome > desktop > background > picture-uri”`。关闭默认值并添加自定义值 `file:////usr/share/backgrounds/Ashim DSilva.jpg`。你也可以使用任何其他图像。保存并关闭。 + +![使用 dconf-editor 更改背景属性][8] + +b) **图标**:通过 `Settings > Tweaks` 更改图标。然后将图标和光标更改为 urutau-icons。 + +在完成所有配置和安装之后,你应该已经在 Arch Linux 中设置了 Pantheon 桌面。这是我的测试机的截图。 + +![Arch Linux 中的 Pantheon 桌面][9] + +### 结束语 + +我希望本指南能帮助你最终在 Arch Linux 中安装 Pantheon 桌面。我花了几天时间才终于能够将各个部分组合在一起并使它们发挥作用。 + +尽管一些小功能仍然无法使用,但有一个可用的 Pantheon 桌面。 + +唯一让我惊喜的是 Pantheon 在 Arch 中的表现。在我的同一台测试机上,elementary OS 安装不是那么快。但 Pantheon 基础版在 Arch 中的速度比原始 elementary OS 快。不过,如果你喜欢 Pantheon,可以试试。 + +如果你遇到任何错误,请使用下面的评论栏告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/pantheon-arch-linux-install/ + +作者:[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/ultramarine-linux-36/ +[2]: https://www.debugpoint.com/archinstall-guide/ +[3]: https://www.debugpoint.com/install-yay-arch/ +[4]: https://wiki.archlinux.org/index.php/Pantheon +[5]: https://www.debugpoint.com/wp-content/uploads/2021/02/greeters-list.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/lightdm-conf.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Login-screen-Pantheon-in-Arch.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Change-background-property-using-dconf-editor.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/02/Pantheon-Desktop-in-Arch-Linux-1.jpg From 0c8328b1f3188425dabace588d218ec532a558f1 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 22 Nov 2022 08:49:51 +0800 Subject: [PATCH 477/925] translating --- .../20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md index de816dc913..80cf78e2dd 100644 --- a/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md +++ b/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/switch-twitter-mastodon" [#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 4372f211fb1913f196267c0287f48f799008537f Mon Sep 17 00:00:00 2001 From: DarkSun Date: Wed, 23 Nov 2022 05:02:44 +0800 Subject: [PATCH 478/925] =?UTF-8?q?=E9=80=89=E9=A2=98[tech]:=2020221122=20?= =?UTF-8?q?Anaconda=20Web=20UI=20preview=20image=20now=20public!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sources/tech/20221122 Anaconda Web UI preview image now public.md --- ...naconda Web UI preview image now public.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 sources/tech/20221122 Anaconda Web UI preview image now public.md diff --git a/sources/tech/20221122 Anaconda Web UI preview image now public.md b/sources/tech/20221122 Anaconda Web UI preview image now public.md new file mode 100644 index 0000000000..ce0de4368e --- /dev/null +++ b/sources/tech/20221122 Anaconda Web UI preview image now public.md @@ -0,0 +1,97 @@ +[#]: subject: "Anaconda Web UI preview image now public!" +[#]: via: "https://fedoramagazine.org/anaconda-web-ui-preview-image-now-public/" +[#]: author: "Jiří Konečný https://fedoramagazine.org/author/jkonecny/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Anaconda Web UI preview image now public! +====== + +![][1] + +Background photo taken by [David Cantrell][2] (cropped) + +We are excited to announce the first public preview image of the new Anaconda web interface!  Our vision is to reimagine and modernize our installer’s user experience (see our blog post [“Anaconda is getting a new suit”][3]). We are doing this by redesigning the user experience on all fronts to make it more easy and approachable for everyone to use. + +Today, we would like to introduce our [plans][4] for the public preview release, as our new project has already reached a point where core code functionality is already developed and the new interface can be used for real installations.  + +So, we’re giving you something to play with! 🙂 + +![][5] + +### Why public preview image? + +By giving you a working ISO as soon as we can, you have the opportunity to help us to define this new UI. This task allows us to rethink what we have and find new ways to overcome the challenges of the UI instead of re-creating what we had already. Please take this opportunity and reach us with your feedback to help us to create the best OS installer ever! + +Please let us know what you require from Anaconda. **What** features ****are important to you and **why** are these important? That will allow us to prioritize our focus on development and design. See below for [how to contact us][6]. + +### How to get public preview image? + +Download the Anaconda preview image [here][7].  + +Thanks a lot to the [Image Builder][8] team for providing us with a way to build ISO with the Fedora 37 Workstation GA content. We are planning to provide additional images with an updated installer to give you the newest features and fixes with the link above. There are no updates to the installation payload (installed system data) yet. We will announce important updates of the ISO image by sending mail to [anaconda-devel@lists.fedoraproject.org][9] with CC to [devel@lists.fedoraproject.org][10]. Please subscribe to either of these to get information about the news. This way we will be able to iterate on your feedback. + +### What you will get with the preview ISO + +The ISO will allow you to install the system and let you get a taste of the new UI, so you can provide us early feedback. However, it is pretty early in the development cycle. We advise you to not use this ISO to install critical infrastructure or machines where you have important data. + +Let’s go to the more interesting part of what you can do with the ISO: + + * Choose installation language + * Select your disks + * Automatically partition the disks. **BEWARE! This will erase everything on the selected disks.** + * Automatically install Fedora 37 GA Workstation system + * Basic review screen of your selections + * Installation progress screen + * Built-in help (on Installation destination screen only) + + + +#### Known issues: + + * In the bootloader menu you’ll see “Install Fedora 38”, it’s expected because the installation environment is from Rawhide. However, the content installed will be Fedora 37 GA, so don’t worry. + * Virtual Box on Mac might have resolution issues. We are working on resolving this issue. + * Aspect ratio and window handling. We know we need to solve this better, feedback is welcome. + + + +### How to provide feedback? + +Your feedback is critical to have a project which you and we can be proud of, so please share it with us. To give us feedback: + + * Use our [GitHub repository discussions][11] + * Send mail to the [anaconda-devel@lists.fedoraproject.org][9] mailing list + + + +Please take your time to play with the UI and tell us what you think. What works great, what is not working and what you would like to have. Ideally, follow future updates and tell us if the situation is better or worse.  + +We are really counting on your feedback and we are thankful to have you all supporting us in this journey! + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/anaconda-web-ui-preview-image-now-public/ + +作者:[Jiří Konečný][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://fedoramagazine.org/author/jkonecny/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/anaconda-816x345.jpg +[2]: https://fedoraproject.org/wiki/User:Dcantrell +[3]: https://communityblog.fedoraproject.org/anaconda-is-getting-a-new-suit/ +[4]: https://fedoraproject.org/wiki/Changes/Anaconda_Web_UI_preview_image +[5]: https://lh3.googleusercontent.com/wYYvx8Cp5YJBLlMTWu4PCQlFsTQqs_ZflspDg7cjLyPE2lZUChhiJGKkdT3BcALPyiR0A04rR32S8YRoOfQHGLm22HaEQK6opM4cSUE_xchqmiowJPnDNCu7qsQSEg85ClJku_-ZSlwFoy3PQPhmactnKnHPjsEa9gS4tAqrINTfZ_Pj0Gg_jLJ4u1tNVw +[6]: tmp.UJAFNoc8ku#provide-feedback +[7]: https://fedorapeople.org/groups/anaconda/webui_preview_image/x86_64/webui_latest_install.iso +[8]: https://github.com/osbuild/osbuild-composer +[9]: mailto:anaconda-devel@lists.fedoraproject.org +[10]: mailto:devel@lists.fedoraproject.org +[11]: https://github.com/rhinstaller/anaconda/discussions/new?category=web-ui From cfc3a8c39493ea0d95c048a6e4322327dae19349 Mon Sep 17 00:00:00 2001 From: DarkSun Date: Wed, 23 Nov 2022 05:02:52 +0800 Subject: [PATCH 479/925] add done: 20221122 Anaconda Web UI preview image now public.md --- sources/tech/20221118 .md | 25 +++++++++++++++++++++++++ sources/tech/20221121 .md | 25 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 sources/tech/20221118 .md create mode 100644 sources/tech/20221121 .md diff --git a/sources/tech/20221118 .md b/sources/tech/20221118 .md new file mode 100644 index 0000000000..314f58ecf0 --- /dev/null +++ b/sources/tech/20221118 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/foss-weekly-22-43/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/foss-weekly-22-43/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 diff --git a/sources/tech/20221121 .md b/sources/tech/20221121 .md new file mode 100644 index 0000000000..cfef8289c3 --- /dev/null +++ b/sources/tech/20221121 .md @@ -0,0 +1,25 @@ +[#]: subject: "" +[#]: via: "https://news.itsfoss.com/vmware-workstation-17-release/" +[#]: author: " " +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +====== + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vmware-workstation-17-release/ + +作者:[][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: +[b]: https://github.com/lujun9972 From b8b87fe38e3b14255e2fc3d989bbbcb64e68bb89 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 23 Nov 2022 08:38:29 +0800 Subject: [PATCH 480/925] translated --- ...o Enable and Access USB Drive in VirtualBox.md | 108 ------------------ ...o Enable and Access USB Drive in VirtualBox.md | 108 ++++++++++++++++++ 2 files changed, 108 insertions(+), 108 deletions(-) delete mode 100644 sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md create mode 100644 translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md diff --git a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md deleted file mode 100644 index 3570d136cb..0000000000 --- a/sources/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md +++ /dev/null @@ -1,108 +0,0 @@ -[#]: subject: "How to Enable and Access USB Drive in VirtualBox" -[#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Enable and Access USB Drive in VirtualBox -====== -Here’s a precise guide on how you can enable USB in Oracle VirtualBox. - -![][1] - -When you work in a Virtual machine environment, the USB is usually plugged into the host system. But it is a little difficult to access that USB content from the guest system. - -In VirtualBox, you need to install some extensions and enable some settings to access USB in. Here’s how. - -This article assumes that you have already installed VirtualBox and also installed some Linux distribution or operating system inside it. - -If not, check out the [articles here][2]. - -### Enable USB in VirtualBox 7.0 - -#### Install VirtualBox Extension Pack - -* Open the VirtualBox download page and download the VirtualBox Extension pack for all supported platforms using [this link][3]. - -![Download the extension pack][4] - -* Then Click on `File > Tools > Extension Pack Manager.` - -* Click on the `Install` button in the toolbar and select the downloaded .vbox-extpak file. - -* Hit `Install`. Accept the terms, and give the admin password for the installation. - -![install extension pack manager][5] - -![install extension pack manager after accepting terms][6] - -* After successful installation, you can see it in the installed list. - -* Restart your host system. Restarting is mandatory. - -#### Enable USB in the guest box - -* Plugin the USB stick into your host system – which you want to access from the guest virtual machine. - -* Start VirtualBox and right-click on the VM name where you want to enable USB. Select Settings. - -![Launch settings for the virtual machine][7] - -* On the left pane, click on USB. Then select the controller version. For example, you can select USB 3.0. Then click on the small plus icon to add a USB filter. - -* In this list, you should see your USB stick name (which you plugged in). For this example, I can see my Transcend Jetflash drive, which I plugged in. - -* Select it and press OK. - -![Select the USB stick][8] - -* Now, start your virtual machine. Open the file manager, and you should see the USB is enabled and mounted on your virtual machine. - -* In this demonstration, you can see the Thunar file manager of my [Arch-Xfce][9] virtual machine is showing the contents of my USB stick. - -![Enabling USB and accessing contents from VirtualBox][10] - -### Usage notes - -Now, here are a couple of things you should remember. - -* When you plug in the USB in the host system, keep it mounted. But do not open or access any file before launching the virtual machine. - -* Once you start your virtual machine, the USB will be unmounted in the host system and auto-mounted in the guest system, i.e. your virtual machine. - -* After you finish with a USB stick, ensure to eject or unmount it inside a virtual machine. Then it will be accessible again inside your host system. - -### Wrapping Up - -VirtualBox is a powerful utility and provides easy-to-use features to extensively set up your Virtual Machines. The steps are straightforward, and make sure your USB stick is detected properly in the host system to work. - -Also, remember that USB stick detection via extension pack is not related to VirtualBox guest addition. They are completely unrelated and provide separate functions. - -Finally, let me know if this guide helps you in the comment box. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/enable-usb-virtualbox/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[CoWave-Fall](https://github.com/CoWave-Fall) -校对:[校对者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/10/usb-vbox-1024x576.jpg -[2]: https://www.debugpoint.com/tag/virtualbox -[3]: https://www.virtualbox.org/wiki/Downloads -[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Download-the-extension-pack.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager-after-accepting-terms.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Launch-settings-for-the-virtual-machine.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick.jpg -[9]: https://www.debugpoint.com/xfce-arch-linux-install-4-16/ -[10]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox.jpg diff --git a/translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md new file mode 100644 index 0000000000..231302dd62 --- /dev/null +++ b/translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md @@ -0,0 +1,108 @@ +[#]: subject: "How to Enable and Access USB Drive in VirtualBox" +[#]: via: "https://www.debugpoint.com/enable-usb-virtualbox/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 VirtualBox 中启用和访问 USB 驱动器 +====== +这是有关如何在 Oracle VirtualBox 中启用 USB 的指南。 + +![][1] + +当你在虚拟机环境中工作时,USB 通常插入主机系统。但是从访客系统访问 USB 内容有点困难。 + +在 VirtualBox 中,你需要安装一些扩展并启用一些设置才能访问 USB。方法如下。 + +本文假设你已经安装了 VirtualBox,并且还在其中安装了一些 Linux 发行版或操作系统。 + +如果没有,请查看[此处的文章][2]。 + +### 在 VirtualBox 7.0 中启用 USB + +#### 安装 VirtualBox 扩展包 + +* 打开 VirtualBox 下载页面并从[此链接][3]下载适用于所有支持平台的 VirtualBox 扩展包。 + +![下载扩展包][4] + +* 然后单击 `文件 > 工具 > 扩展包管理器`。 + +* 单击工具栏中的`安装`按钮并选择下载的 .vbox-extpak 文件。 + +* 点击`安装`。接受条款,并为安装提供管理员密码。 + +![安装扩展包管理器][5] + +![接受条款后安装扩展包管理器][6] + +* 安装成功后,可以在已安装列表中看到。 + +* 重启主机系统。重启是强制性的。 + +#### 在客户机中启用 USB + +* 将 U 盘插入你的宿主机系统,你希望从虚拟机中访问该系统。 + +* 启动 VirtualBox 并右键单击要启用 USB 的 VM 名称。选择设置。 + +![虚拟机的启动设置][7] + +* 在左窗格中,单击 USB。然后选择控制器版本。例如,你可以选择 USB 3.0。然后单击小加号图标添加 USB 过滤器。 + +* 在此列表中,你应该看到你的 U 盘名称(你插入的)。对于这个例子,我可以看到我插入的 Transcend Jetflash 驱动器。 + +* 选择它并按 OK。 + +![选择 U 盘][8] + +* 现在,启动你的虚拟机。打开文件管理器,你应该会看到 USB 已启用并挂载到你的虚拟机上。 + +* 在此演示中,你可以看到我的 [Arch-Xfce][9] 虚拟机的 Thunar 文件管理器正在显示我的 U 盘中的内容。 + +![启用 USB 并从 VirtualBox 访问内容][10] + +### 使用说明 + +现在,这里有几件事你应该记住。 + +* 当你在主机系统中插入 USB 时,请保持挂载状态。但在启动虚拟机之前不要打开或访问任何文件。 + +* 启动虚拟机后,USB 将在主机系统中卸载并自动挂载到客户机系统中,即你的虚拟机。 + +* 使用完 U 盘后,确保在虚拟机中将其弹出或卸载。然后它将能再从你的宿主机系统内访问。 + +### 总结 + +VirtualBox 是一个功能强大的程序,提供易于使用的功能来设置的你虚拟机。这些步骤很简单,并确保你的 U 盘在主机系统中被正确检测到以正常工作。 + +另外,请记住,通过扩展包检测 U 盘与 VirtualBox 客户端增强包无关。它们完全不相关并提供独立的功能。 + +最后,如果本指南对你有帮助,请在评论栏中告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/enable-usb-virtualbox/ + +作者:[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/10/usb-vbox-1024x576.jpg +[2]: https://www.debugpoint.com/tag/virtualbox +[3]: https://www.virtualbox.org/wiki/Downloads +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/Download-the-extension-pack.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/10/install-extension-pack-manager-after-accepting-terms.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Launch-settings-for-the-virtual-machine.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick.jpg +[9]: https://www.debugpoint.com/xfce-arch-linux-install-4-16/ +[10]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox.jpg From 76d9be3c7fa284da0b4a7601c4af16663b0ff01a Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 23 Nov 2022 08:42:13 +0800 Subject: [PATCH 481/925] translated --- ...sing and Customizing the Dock in Ubuntu.md | 245 ----------------- ...sing and Customizing the Dock in Ubuntu.md | 246 ++++++++++++++++++ 2 files changed, 246 insertions(+), 245 deletions(-) delete mode 100644 sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md create mode 100644 translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md diff --git a/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md b/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md deleted file mode 100644 index 637e7c9ee1..0000000000 --- a/sources/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md +++ /dev/null @@ -1,245 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (The Definitive Guide to Using and Customizing the Dock in Ubuntu) -[#]: via: (https://itsfoss.com/customize-ubuntu-dock/) -[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/) - -The Definitive Guide to Using and Customizing the Dock in Ubuntu -====== - -When you log into Ubuntu, you’ll see the dock on the left side with some application icons on it. This dock (also known as launcher or sometimes as panel) allows you to quickly launch your frequently used programs. - -![][1] - -I rely heavily on the dock and I am going to share a few tips about using the dock effectively and customize its looks and position. - -You’ll learn the following in this tutorial: - - * Basic usage of the dock: adding more applications and using shortcuts for launching applications. - * Customize the looks of the dock: Change the icon size, icon positions. - * Change the position: for single screen and multi-monitor setup - * Hide mounted disk from the dock - * Auto-hide or disable the dock - * Possibility of additional dock customization with dconf-editor - * Replace dock with other docking applications - - - -I’ll use the terms dock, panel and launcher in the tutorial. All of them refer to the same thing. - -### Using the Ubuntu dock: Absolute basic that you must know - -If you are new to Ubuntu, you should know a few things about using the dock. You’ll eventually discover these dock features, I’ll just speed up the discovery process for you. - -#### Add new applications to the dock (or remove them) - -The steps are simple. Search for the application from the menu and run it. - -The running application appears in the dock, below all other icons. Right click on it and select the “Add to Favorites” option. This will lock the icon to the dock. - -![Right-click on the icon and select “Add to Favorites”][2] - -Removing an app icon from the doc is even easier. You don’t even need to run the application. Simply right click on it and select “Remove From Favorites”. - -![Right-click on the icon and select “Remove from Favorites”][3] - -#### Reorder icon position - -By default, new application icons are added after all the other icons on the launcher. You don’t have to live with it as it is. - -To change the order of the icons, you just need to drag and drop to the other position of your choice. No need to “lock it” or any additional effort. It stays on that location until you make some changes again. - -![Reorder Icons On Ubuntu Docks][4] - -#### Right click to get additional options for some apps - -Left-clicking on an icon launches the application or bring it to focus if the application is already running. - -Right-clicking the icon gives you additional options. Different applications will have different options. - -For browsers, you can open a new private window or preview all the running windows. - -![][5] - -For file manager, you can go to all the bookmarked directories or preview opened windows. - -You can, of course, quit the application. Most applications will quit while some applications like Telegram will be minimized to the system tray. - -#### Use keyboard shortcut to launch applications quickly [Not many people know about this one] - -The dock allows you to launch an application in a single mouse click. But if you are like me, you can save that mouse click with a keyboard shortcut. - -Using the Super/Window key and a number key will launch the application on that position. - -![][6] - -If the application is already running, it is brought to focus, i.e. it appears in front of all the other running application windows. - -Since it is position-based, you should make sure that you don’t reorder the icons all the time. Personally, I keep Firefox at position 1, file manager at 2 and the alternate browser at 3 and so on until number 9. This way, I quickly launch the file manager with Super+2. - -I find it easier specially because I have a three screen setup and moving the mouse to the launcher on the first screen is a bit too much of trouble. You can enable or disable the dock on additional screen. I’ll show that to you later in this tutorial. - -### Change the position of the dock - -By default, the dock is located on the left side of your screen. Some people like the launcher at the bottom, in a more traditional way. - -Ubuntu allows you to change the position of the dock. You can move it to the bottom or to the right side or on the top. I am not sure many people actually put the dock on the top or the right side, so moving the dock to the top is not an option here. - -![Change Launcher Position][7] - -To change the dock position, go to Settings->Appearance. You should see some options under Dock section. You need to change the “Position on screen” settings here. - -![Go to Settings->Appearance->Dock][8] - -#### Position of dock on a multiple monitor setup - -If you have multiple screens attached to your system, you can choose whether to display the dock on all screens or one of chosen screens. - -![Ubuntu Dock Settings Multimonitor][9] - -Personally, I display the dock on my laptop screen only which is my main screen. This gives me maximum space on the additional two screens. - -### Change the appearance of the dock - -Let’s see some more dock customization options in Ubuntu. - -Imagine you added too many applications to the dock or have too many applications open. It will fill up the space and you’ll have to scroll to the top and bottom to go to the applications at end points. - -What you can do here is to change the icon size and the dock will now accommodate more icons. Don’t make it too small, though. - -![][10] - -To do that, go to Settings-> Appearance and change it by moving the slider under Icon size. The default icons size is 48 pixels. - -![Changing Icon Size In Ubuntu Dock][11] - -#### Hide mounted disks from the launcher - -If you plug in a USB disk or SD Card, it is mounted to the system, and an icon appear in the launcher immediately. This is helpful because you can right click on it and select safely remove drive option. - -![Mounted disks are displayed In the Ubuntu Dock][12] - -If you somehow find it troublesome, you can turn this feature off. Don’t worry, you can still access the mounted drives from the file manager. - -Open a terminal and use the following command: - -``` -gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false -``` - -The changes take into effect immediately. You won’t be bothered with mounted disk being displayed in the launcher. - -If you want the default behavior back, use this command: - -``` -gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts true -``` - -### Change the behavior of dock - -Let’s customize the default behavior of the dock and make it more suitable to your needs. - -#### Enable minimize on click - -If you click on the icon of a running application, its window will be brought to focus. That’s fine. However, if you click on it, nothing happens. By default, clicking on the same icon won’t minimize the application. - -Well, this is the behavior in modern desktop, but I don’t like it. I prefer that the application is minimized when I click on its icon for the second time. - -If you are like me, you may want to [enable click to minimize option in Ubuntu][13]: - -To do that, open a terminal and enter the following command: - -``` -gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' -``` - -#### Auto-hide Ubuntu dock and get more screen space - -If you want to utilize the maximum screen space, you can enable auto-hide option for the dock in Ubuntu. - -This will hide the dock, and you’ll get the entire screen. The dock is still accessible, though. Move your cursor to the location of the dock where it used to be, and it will appear again. When the dock reappears, it is overlaid on the running application window. And that’s a good thing otherwise too many elements would start moving on the screen. - -The auto-hide option is available in Settings-> Appearance and under Dock section. Just toggle it. - -![Auto-hide the dock][14] - -If you don’t like this behavior, you can enable it again the same way. - -#### Disable Ubuntu dock - -Auto-hide option is good enough for many people, but some users simply don’t like the dock. If you are one of those users, you also have the option to disable the Ubuntu dock entirely. - -Starting with Ubuntu 20.04, you have the Extensions application available at your disposal to [manage GNOME Extensions][15]. - -![Look for Extensions app in the menu][16] - -With this Extensions application, you can easily disable or re-enable the dock. - -![Disable Ubuntu Dock][17] - -### Advanced dock customization with dconf-editor [Not recommended] - -##### Warning - -The dconf-editor allows you to change almost every aspect of the GNOME desktop environment. This is both good and bad because you must be careful in editing. Most of the settings can be changed on the fly, without asking for conformation. While you may reset the changes, you could still put your system in such a state that it would be difficult to put things back in order. - -For this reason, I advise not to play with dconf-editor, specially if you don’t like spending time in troubleshooting and fixing problems or if you are not too familiar with Linux and GNOME. - -The [dconf editor][18] gives you additional options to customize the dock in Ubuntu. Install it from the software center and then navigate to org > gnome > shell > extensions > dash-to-dock. You’ll find plenty of options here. I cannot even list them all here. - -![][19] - -### Replace the dock in Ubuntu - -There are several third-party dock applications available for Ubuntu and other Linux distributions. You can install a dock of your choice and use it. - -For example, you can install Plank dock from the software center and use it in similar fashion to Ubuntu dock. - -![Plank Dock in Ubuntu][20] - -Disabling Ubuntu Dock would be a better idea in this case. It won’t be wise to use multiple docks at the same time. - -### Conclusion - -This tutorial is about customizing the default dock or launcher provided in Ubuntu’s GNOME implementation. Some suggestions should work on the dock in vanilla GNOME as work well. - -I have shown you most of the common Ubuntu dock customization. You don’t need to go and blindly follow all of them. Read and think which one suits your need and then act upon it. - -Was it too trivial or did you learn something new? Would you like to see more such tutorials? I welcome your suggestions and feedback on dock customization. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/customize-ubuntu-dock/ - -作者:[Abhishek Prakash][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://itsfoss.com/author/abhishek/ -[b]: https://github.com/lujun9972 -[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/ubuntu-dock.png?resize=800%2C450&ssl=1 -[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/add-icons-to-dock.png?resize=800%2C450&ssl=1 -[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/remove-icons-from-dock.png?resize=800%2C450&ssl=1 -[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/reorder-icons-on-ubuntu-docks.gif?resize=800%2C430&ssl=1 -[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/right-click-icons-ubuntu-dock.png?resize=800%2C450&ssl=1 -[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/keyboard-shortcut-for-ubuntu-dock.png?resize=800%2C450&ssl=1 -[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/change-launcher-position-ubuntu.png?resize=800%2C450&ssl=1 -[8]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/change-dock-position-ubuntu.png?resize=800%2C450&ssl=1 -[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/ubuntu-dock-settings-multimonitor.png?resize=800%2C450&ssl=1 -[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/normal-icon-size-dock.jpg?resize=1024%2C1080&ssl=1 -[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/changing-icon-size-in-ubuntu-dock.png?resize=800%2C450&ssl=1 -[12]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/external-mounted-disks-in-ubuntu-dock.png?resize=800%2C450&ssl=1 -[13]: https://itsfoss.com/click-to-minimize-ubuntu/ -[14]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/autohide-dock-ubuntu.png?resize=800%2C450&ssl=1 -[15]: https://itsfoss.com/gnome-shell-extensions/ -[16]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/06/GNOME-extensions-app-ubuntu.jpg?resize=800%2C240&ssl=1 -[17]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/disable-dock-ubuntu.png?resize=800%2C450&ssl=1 -[18]: https://wiki.gnome.org/Apps/DconfEditor -[19]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/dconf-editor-dock.png?resize=592%2C599&ssl=1 -[20]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/plank-dock-Ubuntu.jpg?resize=800%2C382&ssl=1 diff --git a/translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md b/translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md new file mode 100644 index 0000000000..56fe9a39fa --- /dev/null +++ b/translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md @@ -0,0 +1,246 @@ +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (The Definitive Guide to Using and Customizing the Dock in Ubuntu) +[#]: via: (https://itsfoss.com/customize-ubuntu-dock/) +[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/) + +在 Ubuntu 中使用和自定义程序坞 +====== + +当你登录 Ubuntu 时,你会看到屏幕左侧的 程序坞/停靠栏 dock ,上面有一些应用程序的图标。程序坞(也称为 启动器 launcher ,或者 面板 panel )可以让你快速启动某个常用的应用程序。 + +![][1] + +我经常使用程序坞。在本文中,我将分享一些关于有效使用程序坞的小技巧,并介绍自定义程序坞的外观和位置的方法。 + +你将在本教程中学习到以下内容: + + * 程序坞的基本用途:添加应用程序,并使用快捷方式来启动应用程序 + * 自定义程序坞的外观:更改图标大小、图标位置 + * 更改程序坞的位置:可用于单屏和多显示器的设置 + * 在程序坞中隐藏已安装的磁盘图标 + * 自动隐藏或禁用程序坞 + * 使用 dconf-editor 对程序坞进行额外的定制 + * 用其他程序坞应用程序替换 Ubuntu 默认的程序坞 + +我将在教程中使用 程序坞 dock 面板 panel 启动器 launcher 等术语,它们的意思是等同的。 + +### 如何使用 Ubuntu 程序坞:你必须知道的基础知识 + +如果你是 Ubuntu 的新手,你需要掌握如何使用程序坞。尽管,在一段时间后你总会熟悉程序坞的功能,但是阅读本文能让你更快地明白。 + +#### 向程序坞添加新的应用程序(或删除应用程序) + +这一步骤十分简单。从菜单中搜索你想要添加在程序坞的应用程序,然后运行它。 + +正在运行的应用程序会显示在程序坞中,它的图标在程序坞中所有图标的下方。右键单击该图标,然后选择 “添加到收藏夹” Add to Favorites 选项。这会把该应用程序的图标锁定到程序坞上。 + +![Right-click on the icon and select “Add to Favorites”][2] + +从程序坞中删除应用程序的图标,操作起来更为简单。你不需要运行你想要在程序坞删除的应用程序,只需右键单击应用程序图标,然后选择 “从收藏夹中删除” Remove From Favorites 即可。 + +![Right-click on the icon and select “Remove from Favorites”][3] + +#### 更改程序坞中的图标顺序 + +默认情况下,新添加到程序坞的应用程序图标会放置在程序坞上的所有图标之后。但是,你也可以改变图标的位置。 + +要更改图标的顺序,你只需将它拖放到另一个位置即可,不用 “锁定位置” lock it ,或者做其他的事情。如果你不做任何的更改,这个图标会一直停留在那个位置。 + +![Reorder Icons On Ubuntu Docks][4] + +#### 右键单击程序坞中的图标,以获取应用程序的额外选项 + +左键单击程序坞中的图标会启动应用程序,或者如果应用程序已经在运行,则这个应用程序会被聚焦,即它会出现在所有其他正在运行的应用程序窗口前面。 + +右键单击程序坞中的图标会为你提供应用程序的额外选项。不同的应用程序会有不同的选项。 + +右键单击**浏览器**图标,在它的额外选项中,你可以打开一个新的私人窗口,或预览所有正在运行的窗口。 + +![][5] + +右键单击**文件管理器**图标,在它的额外选项中,你可以查看所有已添加书签的目录,或预览打开的窗口。 + +当然,你也可以通过右键单击图标,来退出应用程序。大多数应用程序能够通过右键单击而退出,而一些应用程序(例如 Telegram 等),将被最小化到 系统托盘 system tray 中。 + +#### 使用键盘快捷键,以快速启动程序坞中的应用程序 [知道这个的人不多] + +你只需用鼠标单击程序坞上的图标,即可启动应用程序。但是,你也可以用键盘快捷键,来启动应用程序。 + +使用 **WIN/Super 键** + **数字键**的组合,能够启动程序坞中该位置的应用程序。 + +![][6] + +如果应用程序已经在运行了,它将被聚焦。 + +由于这个功能是基于位置的,所以请不要一直对图标进行重新排序。就我个人而言,我把 Firefox 放在程序坞的第 1 个位置,文件管理器放在第 2 个位置,备用浏览器放在第 3 个位置,以此类推,直到第 9 个位置。这样,我可以使用 Super + 2,从而快速启动文件管理器。 + +因为我的系统连接了 3 个屏幕,所以我发现这个快速启动应用程序的功能特别好用,我不必再将鼠标移动到第一个屏幕上的程序坞上了。你也可以在其他屏幕上启用或禁用程序坞,我将在本教程的后面部分向你展示如何设置。 + +### 改变程序坞在屏幕上的位置 + +默认情况下,程序坞位于屏幕的左侧。但是,有些人喜欢将程序坞放置在屏幕底部。 + +Ubuntu 允许你更改程序坞的位置。你可以将程序坞移至底部或右侧。我不确定很多人真的想要把扩展坞放在了顶部,所以将扩展坞移到顶部并不是一个选项。 + +![Change Launcher Position][7] + +要更改程序坞位置,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,你可以在 Dock 栏下看到一些选项,然后你可以在此处更改 “屏幕上的位置” Position on screen 这一设置。 + +![Go to Settings->Appearance->Dock][8] + +#### 程序坞在多显示器设置中的位置 + +如果你的系统连接了多个屏幕,你可以选择是在所有的屏幕上还是在某个选定的屏幕上,显示扩展坞。 + +![Ubuntu Dock Settings Multimonitor][9] + +对于我个人而言,我只在我的笔记本电脑屏幕上显示程序坞,因为这是我的主屏幕。这样在我的另外两个屏幕会留有最大的空间。 + +### 更改程序坞的外观 + +让我们继续看看 Ubuntu 程序坞中的更多自定义选项吧。 + +想象一下,如果你在程序坞中添加了太多的应用程序或打开了太多应用程序,那么程序坞的空间会被填满。如果你想要进入到程序坞端点处的应用程序,那么你必须滚动到程序坞顶部和底部才可以。 + +你可以更改程序坞的图标大小,来解决这个问题,这样程序坞就能够容纳更多图标来。不过,也不要让图标太小。 + +![][10] + +要更改程序坞的图标大小,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,并通过移动 “图标大小” Icon size 下的滑块来更改它。默认的图标大小为 48 像素。 + +![Changing Icon Size In Ubuntu Dock][11] + +#### 在程序坞中隐藏已安装的磁盘图标 + +当你插入 U 盘或 SD 卡时,它的驱动器会安装到系统中,并且在程序坞中会立即出现一个图标。这个图标很有用,因为你可以直接通过右键单击它,来安全地删除驱动器选项。 + +![Mounted disks are displayed In the Ubuntu Dock][12] + +如果你认为在程序坞中显示已安装的磁盘图标很麻烦的话,你也可以关闭这个功能。别担心,你仍然可以从文件管理器访问已安装的驱动器。 + +打开终端,使用以下命令,来隐藏程序坞中已安装的磁盘图标: + +``` +gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false +``` + +更改会立即生效。你不再会为程序坞中显示已安装的磁盘而烦恼了。 + +如果你想要恢复默认情况,请使用以下命令: + +``` +gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts true +``` + +### 改变程序坞的行为 + +接下来,让我们自定义程序坞的默认行为,使它能更适合你的需求吧。 + +#### 启用点击最小化 + +如果你单击一个正在运行的应用程序的图标,那么这个应用程序的窗口将成为焦点。当如果你**再次单击**这个图标时,将什么都不会发生。这是因为,在默认情况下,第二次点击同一图标不会最小化应用程序。 + +这是现代桌面的默认行为,但我不太喜欢,我更喜欢的是:当我**第二次点击图标时,应用程序会被最小化**。 + +如果你像我一样,那么你可能想要在 Ubuntu 中 [启用点击最小化选项][13]: + +为此,请打开终端并输入以下命令: + +``` +gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' +``` + +#### 自动隐藏 Ubuntu 程序坞,以获得更多屏幕空间 + +如果你想要有最大的屏幕空间,你可以在 Ubuntu 中为程序坞启用自动隐藏选项。 + +自动隐藏选项会隐藏程序坞,你就能获得整个屏幕。不过,程序坞仍然可以使用。将光标移动到程序坞原来所在的位置,它就会再次出现。当程序坞重新出现时,它会覆盖在正在运行的应用程序窗口上。这是一件好事,否则太多元素会开始在屏幕上移动。 + +要设置程序坞自动隐藏,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,你可以在 Dock 栏下开启 自动隐藏选项 Auto-hide the Dock 。 + +![Auto-hide the dock][14] + +如果你不喜欢自动隐藏程序坞的话,你可以用同样的方式禁用它。 + +#### 禁用 Ubuntu 默认的程序坞 + +Ubuntu 程序坞的自动隐藏选项对很多人来说已经足够好了,但是依旧有些用户根本不喜欢 Ubuntu 自带的程序坞。如果你也是其中的一员,你可以选择完全禁用 Ubuntu 的程序坞。 + +从 Ubuntu 20.04 开始,你可以使用 扩展应用程序 Extensions application ,来管理 [GNOME 扩展][15]。 + +![Look for Extensions app in the menu][16] + +使用这个扩展应用程序,你就可以轻松地禁用或重新启用程序坞了。 + +![Disable Ubuntu Dock][17] + +### 使用 dconf-editor 进行高级的程序坞定制 [不推荐] + + +##### 请注意 + +dconf-editor 能让你更改 GNOME 桌面环境的几乎每个方面。这个性质喜忧参半,因为你在更改时必须小心,而且大多数设置都可以即时更改,无需确认。虽然你可以重置你的更改,但你仍可能会将系统置于难以恢复正常的状态。 + +出于这个原因,我不推荐你使用 dconf-editor,特别是如果你不喜欢花时间在故障排除和修复问题上,或者如果你不太熟悉 Linux 和 GNOME。 + +[dconf editor][18] 给你提供了在 Ubuntu 中自定义程序坞的其他选项。你可以在从软件中心安装 dconf editor,然后导航到 org > gnome > shell > extensions > dash-to-dock,在这里你会找到很多自定义程序坞的选择。 + +![][19] + +### 替换 Ubuntu 默认的程序坞 + +有几个第三方的程序坞应用程序可用于 Ubuntu 和其他 Linux 发行版。你可以安装你想要的第三方程序坞,并使用它。 + +例如,你可以从软件中心下载 Plank dock,并以与 Ubuntu 程序坞类似的方式来使用它。 + +![Plank Dock in Ubuntu][20] + +在这种情况下,禁用 Ubuntu 默认的程序坞会是一个更好的主意,因为同时使用多个扩展坞是不太明智的。 + +### 总结 + +本教程介绍了在 GNOME 实现中,如何自定义 Ubuntu 默认的程序坞。上述程序坞的更改在 vanilla GNOME 的程序坞上运行良好。 + +我已经向你展示了大多数常见的 Ubuntu 程序坞的定制方法。你不需要去盲目地跟随教程中的所有步骤。阅读并思考哪一个是你需要的,然后根据教程中的方法更改配置。 + +如果你不喜欢 Ubuntu 默认的程序坞,也有其他的程序坞可供试验。 + +这个教程让你学到了新东西吗?你还想看到更多这样的教程吗?欢迎你在评论区中建议和反馈。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/customize-ubuntu-dock/ + +作者:[Abhishek Prakash][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/lujun9972 +[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/ubuntu-dock.png?resize=800%2C450&ssl=1 +[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/add-icons-to-dock.png?resize=800%2C450&ssl=1 +[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/remove-icons-from-dock.png?resize=800%2C450&ssl=1 +[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/reorder-icons-on-ubuntu-docks.gif?resize=800%2C430&ssl=1 +[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/right-click-icons-ubuntu-dock.png?resize=800%2C450&ssl=1 +[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/keyboard-shortcut-for-ubuntu-dock.png?resize=800%2C450&ssl=1 +[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/change-launcher-position-ubuntu.png?resize=800%2C450&ssl=1 +[8]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/change-dock-position-ubuntu.png?resize=800%2C450&ssl=1 +[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/ubuntu-dock-settings-multimonitor.png?resize=800%2C450&ssl=1 +[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/normal-icon-size-dock.jpg?resize=1024%2C1080&ssl=1 +[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/01/changing-icon-size-in-ubuntu-dock.png?resize=800%2C450&ssl=1 +[12]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/external-mounted-disks-in-ubuntu-dock.png?resize=800%2C450&ssl=1 +[13]: https://itsfoss.com/click-to-minimize-ubuntu/ +[14]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/01/autohide-dock-ubuntu.png?resize=800%2C450&ssl=1 +[15]: https://itsfoss.com/gnome-shell-extensions/ +[16]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/06/GNOME-extensions-app-ubuntu.jpg?resize=800%2C240&ssl=1 +[17]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/disable-dock-ubuntu.png?resize=800%2C450&ssl=1 +[18]: https://wiki.gnome.org/Apps/DconfEditor +[19]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/dconf-editor-dock.png?resize=592%2C599&ssl=1 +[20]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/plank-dock-Ubuntu.jpg?resize=800%2C382&ssl=1 From dfb36d0c020664b489bda139c63d15ea4639cd6c Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 23 Nov 2022 08:44:19 +0800 Subject: [PATCH 482/925] translating --- .../20221118 How to rebase to Fedora Linux 37 on Silverblue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md index 85923564ae..86f9ef58b3 100644 --- a/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md +++ b/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md @@ -2,7 +2,7 @@ [#]: via: "https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/" [#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 8da0f4d38e216fa9adbf65b7949756ad6a91bf09 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 23 Nov 2022 09:32:14 +0800 Subject: [PATCH 483/925] Delete 20221118 .md --- sources/tech/20221118 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221118 .md diff --git a/sources/tech/20221118 .md b/sources/tech/20221118 .md deleted file mode 100644 index 314f58ecf0..0000000000 --- a/sources/tech/20221118 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/foss-weekly-22-43/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/foss-weekly-22-43/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 5bdb02b48ae3202d9a3e6b3ca7c0e4624978c1a6 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 23 Nov 2022 09:32:29 +0800 Subject: [PATCH 484/925] Delete 20221121 .md --- sources/tech/20221121 .md | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 sources/tech/20221121 .md diff --git a/sources/tech/20221121 .md b/sources/tech/20221121 .md deleted file mode 100644 index cfef8289c3..0000000000 --- a/sources/tech/20221121 .md +++ /dev/null @@ -1,25 +0,0 @@ -[#]: subject: "" -[#]: via: "https://news.itsfoss.com/vmware-workstation-17-release/" -[#]: author: " " -[#]: collector: "lujun9972" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - - -====== - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/vmware-workstation-17-release/ - -作者:[][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: -[b]: https://github.com/lujun9972 From 3f6cf16c171c49a22b7d6854f09b082310794af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Wed, 23 Nov 2022 09:57:29 +0800 Subject: [PATCH 485/925] Translated --- ...s and folders from Windows to Linux with WinSCP.md | 112 ------------------ ...s and folders from Windows to Linux with WinSCP.md | 112 ++++++++++++++++++ 2 files changed, 112 insertions(+), 112 deletions(-) delete mode 100644 sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md create mode 100644 translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md diff --git a/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md deleted file mode 100644 index 127132272e..0000000000 --- a/sources/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md +++ /dev/null @@ -1,112 +0,0 @@ -[#]: subject: "Transfer files and folders from Windows to Linux with WinSCP" -[#]: via: "https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp" -[#]: author: "Paul https://opensource.com/users/plaubscher" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Transfer files and folders from Windows to Linux with WinSCP -====== - -If you're looking for a way to quickly transfer files from your Windows computer to your Linux computer, then the open source WinSCP utility makes it easy to transfer a file or a folder of files over the network. - -Sometimes you need to transfer files over a network. There are lots of file sharing services out there, but most require that you send your file to the Internet. This seems like a long way to go (not to mention the privacy concerns) when two computers are right beside each other, or at least in the same building. The open source WinSCP utility makes it quick and easy to transfer a file or a folder of files over the network from your Windows computer to your Linux computer. - -### IP address - -Before you can make the transfer, you must know the IP address or fully-qualified domain name of the destination computer. Assuming it's a computer on your same network, and that you're not running a DNS server to resolve computer names, you can find the destination IP address using the `ip` command on the Linux machine: - -``` -[linux]$ ip addr show |grep'inet ' -inet 127.0.0.1/8 scope host lo   -inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 -``` - -In all cases, 127.0.0.1 is a loopback address that the computer uses only to talk to itself, so in this example the correct address is 192.168.1.23. On your system, the IP address is likely to be different. If you're not sure which is which, you can try each one in succession until you get the right one (and then write it down somewhere!) - -Alternatively, you can look in your router's settings, which list all addresses assigned over DHCP. - -### Firewalls and servers - -The `WinSCP` command uses the OpenSSH protocol, so your Linux computer must be running the OpenSSH server software, and its firewall must allow SSH traffic. - -If you're not sure whether your Linux machine is running SSH, then run this command on the Linux machine: - -``` -[linux]$ sudo systemctl enable--now sshd -``` - -To ensure your firewall allows SSH traffic, run this command: - -``` -[linux]$ sudo firewall-cmd --add-servicessh--permanent -``` - -For more information on firewalls on Linux, read [Make Linux stronger with firewalls][1]. - -### Using WinSCP - -WinSCP is an open source SSH file transfer application for Microsoft Windows. To use it, you first must [download and][2][install][2] it. - -Once you're installed it, open WinSCP and select the **SCP** option in the **File Protocol** field. - -Add the IP address or DNS name of your Linux computer in the **Host name** field, and enter **22** in the **Port number** field. Enter you user name and password for the Linux computer, and then click the **Login** button at the bottom of the WinSCP window. - -![Image of the WinSCP login window.][3] - -Verify that you are authenticated to the Linux computer. Upon success, your Linux computer's IP address or DNS name appears at the top of the window. - -![Image of a WinSCP window showing where IP adress is located.][4] - -Now you can drag and drop a file (I used `winscp-test.txt` as an example) from the left Windows pane to the destination Linux computer pane on the right, and the file transfers. - -![Image of drag and drop window in WinSCP.][5] - -Alternatively, you can right-click on a file in the left pane and upload it to the remote destination in the right pane. - -![Image of a right click option to upload files in WinSCP.][6] - -### Verify the copy - -Open a Linux terminal and use the `ls` command to view the transferred `winscp-test.txt` file. In my example, it appears in my home directory, `/_home_/sysadmin`. - -``` -$ ls -Desktop -Documents -Downloads -Music -Pictures -pscp-test.txt[...] -``` - -You've successfully transferred a file from a Windows computer to a Linux computer over the network! - -Of course, you can use the same technique as above to transfer files and folders from a Linux computer to a Windows computer. - -### Remote copying - -With the power of the open source WinSCP application, you have access to any computer in your house or workplace, to servers you have accounts on, and even mobile, [edge][7], and Internet of Things devices. Use this great tool to transfer files as easily as you would copy a file from one local directory to another! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp - -作者:[Paul][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/plaubscher -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/19/7/make-linux-stronger-firewalls -[2]: https://sourceforge.net/projects/winscp/files/ -[3]: https://opensource.com/sites/default/files/2022-10/winscp.loginwindow.png -[4]: https://opensource.com/sites/default/files/2022-10/WinSCPwindow.showing.IPinfo.png -[5]: https://opensource.com/sites/default/files/2022-10/WinSCP.drapdropwindow.png -[6]: https://opensource.com/sites/default/files/2022-10/RightclickUploadfileWInSCP.png -[7]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM diff --git a/translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md new file mode 100644 index 0000000000..35e8d23732 --- /dev/null +++ b/translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md @@ -0,0 +1,112 @@ +[#]: subject: "Transfer files and folders from Windows to Linux with WinSCP" +[#]: via: "https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp" +[#]: author: "Paul https://opensource.com/users/plaubscher" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 WinSCP 将文件和文件夹从 Windows 传输到 Linux +====== + +如果你正在寻找一种快速的从你的 Windows 计算机传输文件到你的 Linux 计算机的方法,那么开源的 WinSCP 实用程序会使其很容易地通过网络传输一个文件或一个文件夹。 + +有时,你需要通过文件传输文件。这里有很多文件共享服务,但是大多数的共享服务都要求你发送你的文件到互联网上。当两台计算机并排在一起或在一栋建筑物中时,通过互联网传输文件,这似乎看起来是一条很长的路 (更不用说隐私问题)。开源 WinSCP 实用程序会使其很轻易地通过网络将一个文件或一个文件夹从你的 Windows 计算机传输到你的 Linux 计算机。 + +### IP 地址 + +在你可以传输之前,你必需知道目标计算机的 IP 地址或完全限定的域名。假设它是一台在你的同一个网络上的计算机,并且你没有运行一个 DNS 服务器来解析计算机名称,你可以在 Linux 计算机上使用 `ip` 命令来找到目标 IP 地址: + +``` +[linux]$ ip addr show |grep'inet ' +inet 127.0.0.1/8 scope host lo   +inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 +``` + +在所有的情况下,127.0.0.1 都是一个 回送地址loopback address ,计算机仅使用它来自我通信,因此在这个示例中,正确的地址是 192.168.1.23 。在你的系统中,IP 地址可能会看起来有所不同。如果你不确定哪个是哪个,你可以逐个尝试到你找到正确的 IP 地址 (然后,在一些地方写下来!) + +或者,你可以查找你的路由器设置,它列出了所有通过 DHCP 分配的地址。 + +### 防火墙和地址 + +`WinSCP` 命令使用 OpenSSH 协议,因此,你的 Linux 计算机必需运行 OpenSSH 服务器软件,并且你的 Linux 计算机的防火墙必需允许 SSH 通信。 + +如果你不确定你的 Linux 机器是否在运行 SSH ,那么在 Linux 机器的终端上运行这个命令: + +``` +[linux]$ sudo systemctl enable--now sshd +``` + +为确保你的防火墙允许 SSH 通信,运行这个命令: + +``` +[linux]$ sudo firewall-cmd --add-servicessh--permanent +``` + +关于 Linux 上的防火墙的更多信息,阅读 [增强 Linux 防火墙][1] 。 + +### 使用 WinSCP + +WinSCP 是一款针对 Microsoft Windows 的开源 SSH 文件传输应用程序。为使用它,你必需先 [下载][2] 和 [安装][2] 它。 + +在你安装完成后,打开 WinSCP ,并在 文件协议File Protocol 区域中选择 **SCP** 选项。 + +在 主机名称Host name 区域中添加你的 Linux 计算机的 IP 地址或 DNS 名称,并在 端口编号Port number 区域中输入 **22** 。针对该 Linux 计算机,输入你的用户名称和密码,然后单击 WinSCP 窗口底部的 登录Login 按钮。 + +![Image of the WinSCP login window.][3] + +验证你是否获取登录 Linux 计算机的身份授权。在验证成功后,你的 Linux 计算机的 IP 地址或 DNS 名称将显示在窗口的顶部。 + +![Image of a WinSCP window showing where IP adress is located.][4] + +现在,你可以从左侧的 Windows 面板中拖拽一个文件 (如示例,我使用 `winscp-test.txt` 文件) 到右侧的目标 Linux 计算机目标,接下来文件或传输。 + +![Image of drag and drop window in WinSCP.][5] + +或者,你可以在左侧的面板中右键单击一个文件,然后上传它到右侧的远程目标的面板。 + +![Image of a right click option to upload files in WinSCP.][6] + +### 验证复制件 + +打开一个 Linux 终端,然后使用 `ls` 命令来查看已传输的 `winscp-test.txt` 文件。在我的示例中,它出现在我的 home 目录, `/_home_/sysadmin` 。 + +``` +$ ls +Desktop +Documents +Downloads +Music +Pictures +pscp-test.txt[...] +``` + +你已经通过网络成功地将一个文件从一台 Windows 计算机传输到一台 Linux 计算机! + +当然,你也可以使用类似上述的技术,将文件和文件夹从一台 Linux 计算机传输到一台 Windows 计算机。 + +### 远程复制 + +使用强大的开源 WinSCP 应用程序,你可以访问在你家中或工作场所的任意一台计算机、你拥有账户的服务器、甚至是移动设备、[边缘设备][7]、物联网设备。使用这个极好的工具来传输文件就像你在本地目录下将一个文件复制到另一个本地目录一样容易! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-winscp + +作者:[Paul][a] +选题:[lkxed][b] +译者:[robsean]](https://github.com/robsean) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/plaubscher +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[2]: https://sourceforge.net/projects/winscp/files/ +[3]: https://opensource.com/sites/default/files/2022-10/winscp.loginwindow.png +[4]: https://opensource.com/sites/default/files/2022-10/WinSCPwindow.showing.IPinfo.png +[5]: https://opensource.com/sites/default/files/2022-10/WinSCP.drapdropwindow.png +[6]: https://opensource.com/sites/default/files/2022-10/RightclickUploadfileWInSCP.png +[7]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM From ec1d5caa626deca19389e2949ac5d698b9c02a7f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 23 Nov 2022 09:58:06 +0800 Subject: [PATCH 486/925] RP @geekpi https://linux.cn/article-15280-1.html --- ...️ How to Fix sudo Command Not Found Error.md | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) rename {translated/tech => published}/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md (63%) diff --git a/translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/published/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md similarity index 63% rename from translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md rename to published/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md index 53ae33a283..2e557e41c5 100644 --- a/translated/tech/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md +++ b/published/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md @@ -3,28 +3,30 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15280-1.html" 如何修复:“sudo Command Not Found” 错误 ====== -**以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “sudo command not found” 错误的方法**。 +![][0] -有时,当你第一次设置或安装 [Linux 发行版][1]时,你在用 sudo 尝试一些命令时,会出现 “sudo command not found” 的错误。 +> 以下是你如何在 Debian、Ubuntu 和其他发行版中修复 “sudo command not found” 错误的方法。 -sudo 命令是 “superuser do” 的缩写,它是一个允许用户以管理员权限执行命令的程序。sudo 命令帮助你像管理员用户一样运行程序/命令。 +有时,当你第一次设置或安装 [Linux 发行版][1] 时,你在用 `sudo` 尝试一些命令时,会出现 “sudo command not found” 的错误。 -此外,用 sudo 运行命令的用户必须是 sudo 组的一部分。 +`sudo` 命令是 “superuser do” 的缩写,它是一个允许用户以管理员权限执行命令的程序。`sudo` 命令帮助你像管理员用户一样运行程序/命令。 + +此外,用 `sudo` 运行命令的用户必须是 `sudo` 组的一部分。 你看到这个错误的主要原因是该软件包本身没有安装。然而,大多数现代 Linux 发行版都默认提供了这个功能,但有些则没有。 下面是解决这个问题需要遵循的步骤。 -#### 故障排除#1 +#### 故障排除 #1 -- 首先,安装 sudo 包来解决这个问题。打开一个终端,刷新你的系统,并运行以下命令来安装 sudo。 +首先,安装 `sudo` 包来解决这个问题。打开一个终端,刷新你的系统,并运行以下命令来安装 `sudo`。 对于 Ubuntu、Debian 和相关发行版: @@ -44,18 +46,19 @@ pacman -S sudo su -dnf updatednf install sudo ``` -- 上述安装完成后,你必须使用以下命令将用户添加到 `sudo` 组中。 +上述安装完成后,你必须使用以下命令将用户添加到 `sudo` 组中。 -`usermod -aG sudo ` - -- 然后从终端运行 `visudo`,并运行以下行。按 CTRL+O 和 CTRL+X 来保存和退出。 +``` +usermod -aG sudo +``` +然后从终端运行 `visudo`,并运行以下行。按 `CTRL+O` 和 `CTRL+X` 来保存和退出。 ![使用 visudo 更新 sudoers 文件][2] -- 退出并再次登录使变化生效。 +退出并再次登录使变化生效。 -#### 故障排除#2 +#### 故障排除 #2 在做了上述改变之后,如果你仍然收到错误信息,那么请按照以下步骤操作。 @@ -81,9 +84,9 @@ export PATH=$PATH:/usr/bin 我希望这个指南能帮助你解决 Linux 发行版中的 sudo 错误。表面上的解决方案很简单,真的。 -如果有帮助,或者如果你有任何问题,请在下面留言,。 +如果有帮助,或者如果你有任何问题,请在下面留言。 -[参考][3] +> **[参考][3]** -------------------------------------------------------------------------------- @@ -92,7 +95,7 @@ via: https://www.debugpoint.com/sudo-command-not-found/ 作者:[Arindam][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/) 荣誉推出 @@ -100,4 +103,5 @@ via: https://www.debugpoint.com/sudo-command-not-found/ [b]: https://github.com/lkxed [1]: https://www.debugpoint.com/category/distributions [2]: https://www.debugpoint.com/wp-content/uploads/2022/09/Updating-the-sudoers-file-using-visudo.jpg -[3]: https://linux.die.net/man/8/sudo \ No newline at end of file +[3]: https://linux.die.net/man/8/sudo +[0]: https://img.linux.net.cn/data/attachment/album/202211/23/095652r00yigyouzgo838c.jpg \ No newline at end of file From 7fe844d6e5d058033c16a149c4c26b1ce5893122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Wed, 23 Nov 2022 10:11:12 +0800 Subject: [PATCH 487/925] Translating --- ... 10 Lightweight Linux Distributions for your Old Hardware in 2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md b/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md index c1de1e201f..7e8f5b4931 100644 --- a/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md +++ b/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/lightweight-linux-distributions-2022/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1b12c6ce6dffa3fe86ecd6da2908e19c15bf9c11 Mon Sep 17 00:00:00 2001 From: fuyanjie Date: Wed, 23 Nov 2022 10:45:02 +0800 Subject: [PATCH 488/925] translated1123 --- ... Linux With Audacity -and Reduce Noise-.md | 131 ------------------ ... Linux With Audacity -and Reduce Noise-.md | 130 +++++++++++++++++ 2 files changed, 130 insertions(+), 131 deletions(-) delete mode 100644 sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md create mode 100644 translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md diff --git a/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md b/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md deleted file mode 100644 index 6fa3cf4c43..0000000000 --- a/sources/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md +++ /dev/null @@ -1,131 +0,0 @@ -[#]: subject: "How to Record Audio in Linux With Audacity (and Reduce Noise)" -[#]: via: "https://itsfoss.com/audacity-recording/" -[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" -[#]: collector: "lkxed" -[#]: translator: "FYJNEVERFOLLOWS " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Record Audio in Linux With Audacity (and Reduce Noise) -====== - -[Audacity][1] is a free and open source cross-platform [audio editor][2]. Professionals use it for the tone of features it provides in such a small package. - -You don’t have to be a professional and use all of its features. You can use it to record audio from your microphone and do some basics like background noise removal. - -I will show you how to do that in this tutorial. - -### Installing Audacity on Linux - -Installing Audacity on Linux is quite a straightforward process. Because of its popularity, it is available in the official repositories of most Linux distributions. - -You can search for it in your distribution’s software center or package manager. - -As a terminal fan, let me share the commands for the common distros. - -For Debian or Ubuntu-based distributions: - -``` -sudo apt install audacity -``` - -For RHEL or Fedora-based distributions: - -``` -sudo dnf install audacity -``` - -If you use an Arch-based distribution: - -``` -sudo pacman -Syu audacity -``` - -**Note** that installing via the official repositories may not give you the [latest version][3]. To get the latest version, you may use the AppImage, or Flatpak/Snap packages. - -### Recording audio using Audacity - -Once Audacity is installed, open it from the application menu or launch it from the terminal. You will be greeted with something like this: - -![Audacity Interface][4] - -It is easy to start recording by clicking on the **record** button (the red dot). When you are done, click on the **stop** button (square icon) to finish. You also get a waveform preview of your recording, as shown below: - -![record audio with audacity][5] - -Then, you can check what was recorded by clicking the **play** button (the green icon). - -In case you do not see any waveform it indicates that nothing has been recorded. Probably, you have not set up your input correctly. Ensure that you have selected the correct microphone and it is not muted in the **system settings**. You can also access this from the Audacity interface. - -The recordings are not saved automatically as MP3 or other formats. **To save the recording**, you can go to File → Export and select **Export as MP3** (or any other preferred format). - -### Reducing background noise with Audacity - -There is another fantastic feature available in Audacity which you can use to reduce white noise in recorded audio. - -The best practice would be to not say anything for the first five seconds when you start recording with Audacity. This should give you desired background noise. - -On the waveform of your audio recording, select the part you think is the background noise. - -![Background noise][6] - -With the noise part selected, go to **Effects → Noise Reduction** from the top file menu. - -It will open a pop-up window like this. Click on the “**Get Noise Profile**” here. - -![Noise Reduction Effect Popup Window][7] - -Now, you have got the noise profile set. Now you have to use it to reduce it from the recording. - -Press Ctrl + A shortcut key to select the entire recording. You may also select part of it, noise will be reduced from the selected portion only. - -With the audio track selected, again go to **Effect → Noise Reduction**. - -**Don’t click** on ‘Get Noise Profile’ this time. This time, you should be able to press the **OK** button. - -Just press the OK button and this will apply the noise reduction effect to your recording, which gets reflected on the waveform as shown below: - -![Audio Waveform after Noise Reduction][8] - -Now the recorded audio will have less noise as compared. You can fine-tune the noise filtering while selecting the Noise Reduction effect. - -To summarize: - -* Select the noise part, go to Effect->Noise Reduction and then click “Get Noise Profile” -* Press Ctrl+A to select entire audio recording, go to Effect->Noise Reduction and press OK this time - -Note that you cannot remove every type of noise, but this should help nonetheless. - -### Audacity can do a lot more - -Recording audio with Audacity may not seem as easy as using GNOME Sound Recorder, but it’s not overly complicated. The noise reduction feature comes in handy if you are recording voiceovers. - -Audacity has a lot more features, and it is not possible to cover all of them in a single tutorial. This is why I’ll keep this short and simple. - -If you have a problem with [Audacity’s privacy policy adjustments][9] (in 2021), try out some of the available forks. - -I hope this little tutorial helps you use Audacity for audio recording. Let me know if you have questions or suggestions. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/audacity-recording/ - -作者:[Anuj Sharma][a] -选题:[lkxed][b] -译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/anuj/ -[b]: https://github.com/lkxed -[1]: https://github.com/audacity/audacity -[2]: https://itsfoss.com/best-audio-editors-linux/ -[3]: https://github.com/audacity/audacity/releases -[4]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-interface.png -[5]: https://itsfoss.com/wp-content/uploads/2022/08/record-audio-with-audacity.png -[6]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-reduction.png -[7]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-steps.png -[8]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-reduced.png -[9]: https://news.itsfoss.com/audacity-fiasco-fork/ diff --git a/translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md b/translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md new file mode 100644 index 0000000000..6db8dae03b --- /dev/null +++ b/translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md @@ -0,0 +1,130 @@ +[#]: subject: "How to Record Audio in Linux With Audacity (and Reduce Noise)" +[#]: via: "https://itsfoss.com/audacity-recording/" +[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" +[#]: collector: "lkxed" +[#]: translator: "FYJNEVERFOLLOWS" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中使用 Audacity 录制音频(并降低噪音) +====== + +[Adacity][1] 是一个免费的开源跨平台[音频编辑器][2]。专业人士使用它是因为它提供的功能仅需安装很小的软件包。 + +你不必成为一名专业人士并使用它的所有功能。你可以使用它从麦克风录制音频,并执行一些基本操作,如背景噪声消除。 + +我将在本教程中向你展示如何做到这一点。 + +### 在 Linux 上安装 Audacity + +在 Linux 上安装 Audacity 是一个非常简单的过程。由于其受欢迎,可以在大多数 Linux 发行版的官方存储库中找到它。 + +你可以在发行版的软件中心或软件包管理器中搜索它。 + +作为一个终端爱好者,让我分享一下常见发行版的命令。 + +对于基于 Debian 或 Ubuntu 的发行版: + +``` +sudo apt install audacity +``` + +对于基于 RHEL 或 Fedora 的发行版: + +``` +sudo dnf install audacity +``` + +如果你在用基于 Arch 的发行版: + +``` +sudo pacman -Syu audacity +``` +**注意**,通过官方存储库安装可能无法获得[最新版本][3]。要获得最新版本,你可以使用 AppImage 或 Flatpak/Snap 软件包。 + +### 使用 Audacity 录制音频 + +安装 Audacity 后,从应用程序菜单打开它或从终端启动它。你会看到这样的界面: + +![Audacity Interface][4] +单击**录制**按钮(红点)即可轻松开始录制。完成后,单击**停止**按钮(方形图标)来结束录制。你还可以预览录制的波形,如下所示: + +![record audio with audacity][5] + +然后,你可以通过单击**播放**按钮(绿色图标)检查录制的内容。 + +如果你没有看到任何波形,则表示未录制到任何内容。很可能,你没有正确设置音频输入。确保你选择了正确的麦克风,并确保在**系统设置**中其未被静音。你也可以通过 Audacity 接口设置。 + +录音不会自动保存为 MP3 或其他格式。**要保存录音**,你可以转到 `File` → `Export` 并选择 `Export as MP3`(或任何其他想要的格式)。 + +### 使用 Audacity 降低背景噪声 + +Audacity 还有另一个很棒的功能,你可以使用它来减少录制音频中的白噪声。 + +最好的做法是在开始使用 Audacity 录制时的前五秒不要说任何话。这将为你提供所需的背景噪声。 + +在录制音频的波形上,选择你认为是背景噪声的部分。 + +![Background noise][6] + +选择噪声部分后,从顶部文件菜单中转到 `Effects` → `Noise Reduction`。 + +它会像这样打开一个弹出窗口。单击此处的 `Get Noise Profile`。 + +![Noise Reduction Effect Popup Window][7] + +现在,你已经设置了噪声配置文件。现在,你必须使用它来减少录音中的噪声。 + +按 `Ctrl + A` 快捷键选择整段录音。你也可以选择其中的一部分,仅对所选部分减少噪声。 + +选择音轨后,再次转到 `Effect` → `Noise Reduction`。 + +**这次不要单击** `Get Noise Profile`。这一次,你应该能够按下 `OK` 按钮。 + +只需按下 `OK` 按钮,即可将降噪效果应用到录音中,并反映在波形上,如下所示: + +![Audio Waveform after Noise Reduction][8] + +现在,相较而言,录制的音频将具有更少的噪声。你可以在选择 `Noise Reduction` 效果时微调噪声过滤。 + +总结如下: + +* 选择噪声部分,转到 `Effects` → `Noise Reduction`,然后单击 `Get Noise Profile` + +* 按 `Ctrl + A` 选择整段音频录制,转到 `Effects` → `Noise Reduction`,这次按 `OK` 按钮 + +请注意,你无法移除所有类型的噪声,但这应该会有所帮助。 + +### Audacity 能做更多事情 + +使用 Audacity 录制音频可能不像使用 GNOME 录音机那样简单,但它并不太复杂。如果你正在录制画外音,降噪功能将非常有用。 + +Audacity 有更多其他功能,不可能在一个教程中涵盖所有这些功能。这就是为什么我会保持简短的原因。 + +如果你不能接受 2021 年的 [Audacity 的隐私政策调整][9],试试其他可用的工具。 + +我希望这个小教程能帮助你使用 Audacity 进行音频录制。如果你有问题或建议,请告诉我。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/audacity-recording/ + +作者:[Anuj Sharma][a] +选题:[lkxed][b] +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/anuj/ +[b]: https://github.com/lkxed +[1]: https://github.com/audacity/audacity +[2]: https://itsfoss.com/best-audio-editors-linux/ +[3]: https://github.com/audacity/audacity/releases +[4]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-interface.png +[5]: https://itsfoss.com/wp-content/uploads/2022/08/record-audio-with-audacity.png +[6]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-reduction.png +[7]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-steps.png +[8]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-reduced.png +[9]: https://news.itsfoss.com/audacity-fiasco-fork/ From 3c81701260dee5ac17d19ad5bcb6d7532b68c793 Mon Sep 17 00:00:00 2001 From: fuyanjie Date: Wed, 23 Nov 2022 11:06:48 +0800 Subject: [PATCH 489/925] translating --- ...Streaming Audio in Ubuntu and other Linux Distributions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md b/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md index 8620d214f8..ac6e8dca33 100644 --- a/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md +++ b/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/record-streaming-audio/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "FYJNEVERFOLLOWS" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -160,7 +160,7 @@ via: https://itsfoss.com/record-streaming-audio/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[译者ID](https://github.com/FYJNEVERFOLLOWS) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 7b0f7491035d084edb34c6fe32758cf1367f780e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 23 Nov 2022 14:37:03 +0800 Subject: [PATCH 490/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 https://linux.cn/article-15281-1.html 这篇翻译的很用心,就是 RUBY 标签和双引号的用法我做了一点调整。 --- ...sing and Customizing the Dock in Ubuntu.md | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) rename {translated/tech => published}/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md (80%) diff --git a/translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md b/published/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md similarity index 80% rename from translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md rename to published/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md index 56fe9a39fa..4cbc192479 100644 --- a/translated/tech/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md +++ b/published/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15281-1.html) [#]: subject: (The Definitive Guide to Using and Customizing the Dock in Ubuntu) [#]: via: (https://itsfoss.com/customize-ubuntu-dock/) [#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/) @@ -10,6 +10,8 @@ 在 Ubuntu 中使用和自定义程序坞 ====== +![][0] + 当你登录 Ubuntu 时,你会看到屏幕左侧的 程序坞/停靠栏 dock ,上面有一些应用程序的图标。程序坞(也称为 启动器 launcher ,或者 面板 panel )可以让你快速启动某个常用的应用程序。 ![][1] @@ -23,10 +25,10 @@ * 更改程序坞的位置:可用于单屏和多显示器的设置 * 在程序坞中隐藏已安装的磁盘图标 * 自动隐藏或禁用程序坞 - * 使用 dconf-editor 对程序坞进行额外的定制 + * 使用 `dconf-editor` 对程序坞进行额外的定制 * 用其他程序坞应用程序替换 Ubuntu 默认的程序坞 -我将在教程中使用 程序坞 dock 面板 panel 启动器 launcher 等术语,它们的意思是等同的。 +我将在教程中使用 程序坞 dock 面板 panel 启动器 launcher 等术语,它们的意思是等同的。 ### 如何使用 Ubuntu 程序坞:你必须知道的基础知识 @@ -36,11 +38,11 @@ 这一步骤十分简单。从菜单中搜索你想要添加在程序坞的应用程序,然后运行它。 -正在运行的应用程序会显示在程序坞中,它的图标在程序坞中所有图标的下方。右键单击该图标,然后选择 “添加到收藏夹” Add to Favorites 选项。这会把该应用程序的图标锁定到程序坞上。 +正在运行的应用程序会显示在程序坞中,它的图标在程序坞中所有图标的下方。右键单击该图标,然后选择 “添加到收藏夹 Add to Favorites ” 选项。这会把该应用程序的图标锁定到程序坞上。 ![Right-click on the icon and select “Add to Favorites”][2] -从程序坞中删除应用程序的图标,操作起来更为简单。你不需要运行你想要在程序坞删除的应用程序,只需右键单击应用程序图标,然后选择 “从收藏夹中删除” Remove From Favorites 即可。 +从程序坞中删除应用程序的图标,操作起来更为简单。你不需要运行你想要在程序坞删除的应用程序,只需右键单击应用程序图标,然后选择 “从收藏夹中删除 Remove From Favorites ” 即可。 ![Right-click on the icon and select “Remove from Favorites”][3] @@ -48,7 +50,7 @@ 默认情况下,新添加到程序坞的应用程序图标会放置在程序坞上的所有图标之后。但是,你也可以改变图标的位置。 -要更改图标的顺序,你只需将它拖放到另一个位置即可,不用 “锁定位置” lock it ,或者做其他的事情。如果你不做任何的更改,这个图标会一直停留在那个位置。 +要更改图标的顺序,你只需将它拖放到另一个位置即可,不用 “锁定位置 lock it ”,或者做其他的事情。如果你不做任何的更改,这个图标会一直停留在那个位置。 ![Reorder Icons On Ubuntu Docks][4] @@ -64,19 +66,19 @@ 右键单击**文件管理器**图标,在它的额外选项中,你可以查看所有已添加书签的目录,或预览打开的窗口。 -当然,你也可以通过右键单击图标,来退出应用程序。大多数应用程序能够通过右键单击而退出,而一些应用程序(例如 Telegram 等),将被最小化到 系统托盘 system tray 中。 +当然,你也可以通过右键单击图标,来退出应用程序。大多数应用程序能够通过右键单击而退出,而一些应用程序(例如 Telegram 等),将被最小化到 系统托盘 system tray 中。 #### 使用键盘快捷键,以快速启动程序坞中的应用程序 [知道这个的人不多] 你只需用鼠标单击程序坞上的图标,即可启动应用程序。但是,你也可以用键盘快捷键,来启动应用程序。 -使用 **WIN/Super 键** + **数字键**的组合,能够启动程序坞中该位置的应用程序。 +使用 `WIN`/`Super` + `数字键` 的组合,能够启动程序坞中该位置的应用程序。 ![][6] 如果应用程序已经在运行了,它将被聚焦。 -由于这个功能是基于位置的,所以请不要一直对图标进行重新排序。就我个人而言,我把 Firefox 放在程序坞的第 1 个位置,文件管理器放在第 2 个位置,备用浏览器放在第 3 个位置,以此类推,直到第 9 个位置。这样,我可以使用 Super + 2,从而快速启动文件管理器。 +由于这个功能是基于位置的,所以请不要一直对图标进行重新排序。就我个人而言,我把 Firefox 放在程序坞的第 1 个位置,文件管理器放在第 2 个位置,备用浏览器放在第 3 个位置,以此类推,直到第 9 个位置。这样,我可以使用 `Super + 2`,从而快速启动文件管理器。 因为我的系统连接了 3 个屏幕,所以我发现这个快速启动应用程序的功能特别好用,我不必再将鼠标移动到第一个屏幕上的程序坞上了。你也可以在其他屏幕上启用或禁用程序坞,我将在本教程的后面部分向你展示如何设置。 @@ -84,11 +86,11 @@ 默认情况下,程序坞位于屏幕的左侧。但是,有些人喜欢将程序坞放置在屏幕底部。 -Ubuntu 允许你更改程序坞的位置。你可以将程序坞移至底部或右侧。我不确定很多人真的想要把扩展坞放在了顶部,所以将扩展坞移到顶部并不是一个选项。 +Ubuntu 允许你更改程序坞的位置。你可以将程序坞移至底部或右侧。我不觉得有很多人真的想要把扩展坞放在了顶部,所以没有将扩展坞移到顶部的选项。 ![Change Launcher Position][7] -要更改程序坞位置,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,你可以在 Dock 栏下看到一些选项,然后你可以在此处更改 “屏幕上的位置” Position on screen 这一设置。 +要更改程序坞位置,请进入 “设置 Settings ” 菜单,然后点击 “外观 Appearance ” ,你可以在 Dock 栏下看到一些选项,然后你可以在此处更改 “屏幕上的位置 Position on screen ” 这一设置。 ![Go to Settings->Appearance->Dock][8] @@ -110,7 +112,7 @@ Ubuntu 允许你更改程序坞的位置。你可以将程序坞移至底部或 ![][10] -要更改程序坞的图标大小,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,并通过移动 “图标大小” Icon size 下的滑块来更改它。默认的图标大小为 48 像素。 +要更改程序坞的图标大小,请进入 “设置 Settings ” 菜单,然后点击 “外观 Appearance ” ,并通过移动 “图标大小 Icon size ” 下的滑块来更改它。默认的图标大小为 48 像素。 ![Changing Icon Size In Ubuntu Dock][11] @@ -160,7 +162,7 @@ gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' 自动隐藏选项会隐藏程序坞,你就能获得整个屏幕。不过,程序坞仍然可以使用。将光标移动到程序坞原来所在的位置,它就会再次出现。当程序坞重新出现时,它会覆盖在正在运行的应用程序窗口上。这是一件好事,否则太多元素会开始在屏幕上移动。 -要设置程序坞自动隐藏,请进入 “设置” Settings 菜单,然后点击 “外观” Appearance ,你可以在 Dock 栏下开启 自动隐藏选项 Auto-hide the Dock 。 +要设置程序坞自动隐藏,请进入 “设置 Settings ” 菜单,然后点击 “外观 Appearance ” ,你可以在 Dock 栏下开启 自动隐藏选项 Auto-hide the Dock ” 。 ![Auto-hide the dock][14] @@ -180,14 +182,13 @@ Ubuntu 程序坞的自动隐藏选项对很多人来说已经足够好了,但 ### 使用 dconf-editor 进行高级的程序坞定制 [不推荐] - ##### 请注意 -dconf-editor 能让你更改 GNOME 桌面环境的几乎每个方面。这个性质喜忧参半,因为你在更改时必须小心,而且大多数设置都可以即时更改,无需确认。虽然你可以重置你的更改,但你仍可能会将系统置于难以恢复正常的状态。 +`dconf-editor` 能让你更改 GNOME 桌面环境的几乎每个方面。这个性质喜忧参半,因为你在更改时必须小心,而且大多数设置都可以即时更改,无需确认。虽然你可以重置你的更改,但你仍可能会将系统置于难以恢复正常的状态。 -出于这个原因,我不推荐你使用 dconf-editor,特别是如果你不喜欢花时间在故障排除和修复问题上,或者如果你不太熟悉 Linux 和 GNOME。 +出于这个原因,我不推荐你使用 `dconf-editor`,特别是如果你不喜欢花时间在故障排除和修复问题上,或者如果你不太熟悉 Linux 和 GNOME。 -[dconf editor][18] 给你提供了在 Ubuntu 中自定义程序坞的其他选项。你可以在从软件中心安装 dconf editor,然后导航到 org > gnome > shell > extensions > dash-to-dock,在这里你会找到很多自定义程序坞的选择。 +[dconf-editor][18] 给你提供了在 Ubuntu 中自定义程序坞的其他选项。你可以在从软件中心安装 `dconf-editor`,然后导航到 `org > gnome > shell > extensions > dash-to-dock`,在这里你会找到很多自定义程序坞的选择。 ![][19] @@ -195,7 +196,7 @@ dconf-editor 能让你更改 GNOME 桌面环境的几乎每个方面。这个性 有几个第三方的程序坞应用程序可用于 Ubuntu 和其他 Linux 发行版。你可以安装你想要的第三方程序坞,并使用它。 -例如,你可以从软件中心下载 Plank dock,并以与 Ubuntu 程序坞类似的方式来使用它。 +例如,你可以从软件中心下载 “Plank dock”,并以与 Ubuntu 程序坞类似的方式来使用它。 ![Plank Dock in Ubuntu][20] @@ -218,7 +219,7 @@ via: https://itsfoss.com/customize-ubuntu-dock/ 作者:[Abhishek Prakash][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -244,3 +245,4 @@ via: https://itsfoss.com/customize-ubuntu-dock/ [18]: https://wiki.gnome.org/Apps/DconfEditor [19]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/dconf-editor-dock.png?resize=592%2C599&ssl=1 [20]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/01/plank-dock-Ubuntu.jpg?resize=800%2C382&ssl=1 +[0]: https://img.linux.net.cn/data/attachment/album/202211/23/143533heym0bybbfm0bfbj.jpg \ No newline at end of file From 7424288497fcc04345be263883de72e27311ef55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Wed, 23 Nov 2022 15:01:07 +0800 Subject: [PATCH 491/925] Translating --- ...1025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md index af8661718c..778b9f7ada 100644 --- a/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md +++ b/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 10f1869342183a91dea47df9cb8f117e364a5491 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 24 Nov 2022 08:44:43 +0800 Subject: [PATCH 492/925] translated --- ...⭐️ How to switch from Twitter to Mastodon.md | 118 ------------------ ...⭐️ How to switch from Twitter to Mastodon.md | 118 ++++++++++++++++++ 2 files changed, 118 insertions(+), 118 deletions(-) delete mode 100644 sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md create mode 100644 translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md diff --git a/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md deleted file mode 100644 index 80cf78e2dd..0000000000 --- a/sources/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md +++ /dev/null @@ -1,118 +0,0 @@ -[#]: subject: "How to switch from Twitter to Mastodon" -[#]: via: "https://opensource.com/article/22/11/switch-twitter-mastodon" -[#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to switch from Twitter to Mastodon -====== - -Mastodon is an open source microblogging community. - -Like many people, I find social media somewhat exciting and also...a bit much. Sometimes you get deep-fried in algorithms, tracking data, and ads catered especially for you. You lack administrative control over what you want to see, especially on the old platforms many of us are used to. As usual, you must look to open source to fix the problem. And that's exactly what [Mastodon][1], an open source microblogging community, does. - -With Mastodon social, not only are you working with open source software, but everything is decentralized, which means you can pick what you want to see partly based on the instance you want to occupy. Mastodon uses separate instances, each with its own code of conduct, privacy options, and moderation policies. That means that when you join an instance, you're less likely to see the stuff you're not interested in and more likely to see messages from people who share your interests. - -However, you can also interact with other instances. All Mastodon installs have the potential to be "federated" in what its users call the "fediverse." - -### What is the fediverse? - -The fediverse is an ensemble of federated (or interconnected) servers. The word comes from the mix of "federated" and "universe." You can use this for all sorts of web publishing, from social networking to websites to file hosting. While each instance is hosted independently, they can talk to each other. - -### So how can I sign up for Mastodon? - -First, go to [Mastodon.social][2] to sign up. - -On the right-hand side of the screen, there are **Sign in** and **Create account** buttons. - -![Sign-in or Create Account interface][3] - -However, because anyone can run a Mastodon server, there are many instances, and some servers are already home to a community with interests that may align with your own. As I've said, you'll have access to the whole fediverse no matter what, but it can be nice to start on a server where people already "speak your language" (that can be literal, too, because you can add a filter to find a server in your native language). - -To find a server, click the **Find another server** button. - -![Signing up interface][4] - -When you click that button, you're brought to the [Join Mastodon page][5], with a button to list available servers. - -![Getting started interface][6] - -As you scroll down, you can pick a topic on the left to help you find where you would like to be hosted. - -![Topic list][7] - -I'm all about open source, so let's see what we have in the technology topic. - -![Technology topics][8] - -As you can see, there's a large index with many waiting lists. In this case, it looks like Don Watkins, a fellow Opensource.com author, has chosen an instance that works for himself and our talented group. So I'll skip ahead and tell you where I'm going: There's a free open source software server known as [Fosstodon][9], and I've chosen to sign up there so I can share my articles freely. - -Here are the sign-in steps. - -First, enter your information: - -![Steps for signing in][10] - -Next, you get a message about a confirmation email: - -![Confirmation message][11] - -When you get to your email, click the **Verify** button, and the system prompts you to confirm your login information. - -This server does have an application process to join. This process isn't just for safety reasons but also for privacy. Once approved, you get this amazing email! - -![Welcome message][12] - -I kept my handle from other social media venues, so it's easy to move back and forth from one place to another and cross-post with replication and API calls. - -### Complete control - -Now that I have a new profile, I can change preferences on what emails I receive, allowing for more control over what I see. This is a good way to give me more power over my media intake, and it's greatly appreciated. Once I click **Preferences**, Mastodon offers me cool appearance, language information, and many other options. - -![Appearance settings][13] - -Next, I can click notifications and limit what I see and what I get notified for, so I can opt for less noise. - -![Notifications settings][14] - -This complete control of my media without algorithmic intervention is great. You can also set up featured hashtags for what you want on your profile to follow long-term projects or allow people to find you by following those hashtags. You also have the options for filters, followers, and so much more. - -### Final notes - -This open source social media is a great way to find your group of people and broadly interact with those in a broad universe of interests. Controlling media intake is great for some balance in your life, and you can opt-in to contributing by checking the [contributor rules][15]. - -In addition to the control over your own social media experience, you also gain phone apps that work on all devices, including Toot for iPhone and Tusky for Android. - -Long story short: I think we should all get ready for a new open source world of social media. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/switch-twitter-mastodon - -作者:[Jessica Cherry][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/cherrybomb -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/11/twitter-vs-mastodon -[2]: https://mastodon.social/ -[3]: https://opensource.com/sites/default/files/2022-11/1signin-createaccount.png -[4]: https://opensource.com/sites/default/files/2022-11/2signingup.png -[5]: https://joinmastodon.org/servers -[6]: https://opensource.com/sites/default/files/2022-11/3gettingstarted.png -[7]: https://opensource.com/sites/default/files/2022-11/4topics.png -[8]: https://opensource.com/sites/default/files/2022-11/5techtopic.png -[9]: https://fosstodon.org/ -[10]: https://opensource.com/sites/default/files/2022-11/6signin.jpg -[11]: https://opensource.com/sites/default/files/2022-11/7confirmation.png -[12]: https://opensource.com/sites/default/files/2022-11/8welcome.png -[13]: https://opensource.com/sites/default/files/2022-11/9appearance.png -[14]: https://opensource.com/sites/default/files/2022-11/10notifications.png -[15]: https://github.com/mastodon/mastodon/blob/main/CONTRIBUTING.md diff --git a/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md new file mode 100644 index 0000000000..ed4d7ffa54 --- /dev/null +++ b/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md @@ -0,0 +1,118 @@ +[#]: subject: "How to switch from Twitter to Mastodon" +[#]: via: "https://opensource.com/article/22/11/switch-twitter-mastodon" +[#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何从 Twitter 切换到 Mastodon +====== + +Mastodon 是一个开源微博社区。 + +像许多人一样,我发现社交媒体有些令人兴奋,而且……有点多。有时,你会在算法、跟踪数据和针对你的广告中大受煎熬。你对想要查看的内容缺乏管理控制,尤其是在我们许多人习惯的旧平台上。像往常一样,你必须寻求开源来解决问题。而这正是开源微博社区 [Mastodon][1] 所做的。 + +使用 Mastodon social,你不仅可以使用开源软件,而且一切都是去中心化的,这意味着你可以部分地根据你想要占用的实例来选择你想要查看的内容。 Mastodon 使用不同的实例,每个实例都有自己的行为准则、隐私选项和审核政策。这意味着当你加入一个实例时,你不太可能看到您不感兴趣的内容,而更有可能看到来自与你有共同兴趣的人的消息。 + +但是,你也可以与其他实例进行交互。所有 Mastodon 用户都有可能在用户称之为 “fediverse” 的地方“联合”。 + +### 什么是 fediverse? + +fediverse 是联合(或互连)服务器的集合。这个词来自“联邦”和“宇宙”的组合。你可以将其用于各种网络发布,从社交网络到网站再到文件托管。虽然每个实例都是独立托管的,但它们可以相互通信。 + +### 那么我该如何注册 Mastodon? + +首先,前往 [Mastodon.social][2] 进行注册。 + +在屏幕的右侧,有**登录**和**创建帐户**按钮。 + +![Sign-in or Create Account interface][3] + +但是,因为任何人都可以运行 Mastodon 服务器,所以有很多实例,并且一些服务器已经成为社区的所在地,这些社区的兴趣可能与你的兴趣一致。正如我所说的,无论如何你都可以访问整个 fediverse,但如果能在一个人们已经“说你的语言”的服务器上开始,那就更好了(也可以是字面意思,因为你可以添加一个过滤器以查找使用你的母语的服务器)。 + +要查找服务器,请单击**查找另一台服务器**按钮。 + +![Signing up interface][4] + +当你单击该按钮时,你将进入[加入 Mastodon 页面][5],其中有一个列出可用服务器的按钮。 + +![Getting started interface][6] + +向下滚动时,你可以在左侧选择一个主题,以帮助你找到希望托管的位置。 + +![Topic list][7] + +我的都是关于开源的,所以让我们看看我们在技术主题中有什么。 + +![Technology topics][8] + +如你所见,有一个包含许多等候名单的大型索引。在这种情况下,Opensource.com 的一位作者 Don Watkins 似乎选择了一个适合他自己和我们天才小组的实例。因此,我将跳过并告诉你我要去哪里:有一个名为 [Fosstodon][9] 的免费开源软件服务器,我选择在那里注册,这样我就可以自由分享我的文章。 + +以下是登录步骤。 + +首先,输入你的信息: + +![Steps for signing in][10] + +接下来,你会收到有关确认电子邮件的消息: + +![Confirmation message][11] + +当你收到邮件时,点击**验证**按钮,系统会提示你确认你的登录信息。 + +该服务器确实有申请加入的过程。这个过程不仅是出于安全原因,也是为了隐私。获得批准后,你就会收到这封很棒的电子邮件! + +![Welcome message][12] + +我保留了其他社交媒体场所的地址,因此很容易从一个地方来回移动到另一个地方,并通过复制和 API 调用交叉发布。 + +### 完全控制 + +现在我有了一个新的个人资料,我可以更改我收到的电子邮件的偏好,从而更好地控制我看到的内容。这是让我对媒体接收有更多控制权的好方法,非常感谢。单击 **Preferences** 后,Mastodon 会为我提供炫酷的外观、语言信息和许多其他选项。 + +![Appearance settings][13] + +接下来,我可以点击通知并限制我看到的内容和收到通知的内容,这样我就可以选择更少的噪音。 + +![Notifications settings][14] + +在没有算法干预的情况下完全控制我的媒体非常棒。你还可以为个人资料上的内容设置特色主题标签,以关注长期项目或让人们通过关注这些主题标签找到你。你还可以选择过滤器、关注者等等。 + +### 总结 + +这种开源社交媒体是找到你的人群并与兴趣广泛的人进行广泛互动的好方法。控制媒体摄入量对于你生活中的某种平衡非常有用,你可以查看[贡献者规则][15]选择加入贡献。 + +除了控制你自己的社交媒体体验外,你还可以获得适用于所有设备的手机应用,包括适用于 iPhone 的 Toot 和适用于 Android 的 Tusky。 + +长话短说:我认为我们都应该做好新的额开源社交媒体世界的准备。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/switch-twitter-mastodon + +作者:[Jessica Cherry][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/cherrybomb +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/11/twitter-vs-mastodon +[2]: https://mastodon.social/ +[3]: https://opensource.com/sites/default/files/2022-11/1signin-createaccount.png +[4]: https://opensource.com/sites/default/files/2022-11/2signingup.png +[5]: https://joinmastodon.org/servers +[6]: https://opensource.com/sites/default/files/2022-11/3gettingstarted.png +[7]: https://opensource.com/sites/default/files/2022-11/4topics.png +[8]: https://opensource.com/sites/default/files/2022-11/5techtopic.png +[9]: https://fosstodon.org/ +[10]: https://opensource.com/sites/default/files/2022-11/6signin.jpg +[11]: https://opensource.com/sites/default/files/2022-11/7confirmation.png +[12]: https://opensource.com/sites/default/files/2022-11/8welcome.png +[13]: https://opensource.com/sites/default/files/2022-11/9appearance.png +[14]: https://opensource.com/sites/default/files/2022-11/10notifications.png +[15]: https://github.com/mastodon/mastodon/blob/main/CONTRIBUTING.md From 130ef3614e8b0c62bf812943cdd2dacef93c4434 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 24 Nov 2022 08:51:09 +0800 Subject: [PATCH 493/925] translating --- ... How to Install OpenOffice in Arch Linux [Beginner’s Guide].md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md index bc730a3db8..3765db74bb 100644 --- a/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md +++ b/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/install-openoffice-arch/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From eb101103574582f1a8b9a932e895d9d38dace522 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 24 Nov 2022 11:16:03 +0800 Subject: [PATCH 494/925] RP @geekpi https://linux.cn/article-15283-1.html --- ...ice Base Database in Ubuntu and Other Linux.md | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) rename {translated/tech => published}/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md (61%) diff --git a/translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/published/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md similarity index 61% rename from translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md rename to published/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md index 0673e29e41..c30fbaca71 100644 --- a/translated/tech/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md +++ b/published/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md @@ -3,16 +3,18 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15283-1.html" 如何在 Ubuntu 和其他 Linux 下安装 LibreOffice Base 数据库 ====== -**以下是如何在 Ubuntu 和其他 Linux 发行版中安装 LibreOffice Base 数据库模块。** +![][0] -流行的免费和开源办公套件 LibreOffice 由六个独立的组件组成。然而,Ubuntu 和相关发行版中默认安装的 LibreOffice 只包括其中的五个: +> 以下是如何在 Ubuntu 和其他 Linux 发行版中安装 LibreOffice Base 数据库模块。 + +流行的自由开源的办公套件 LibreOffice 由六个独立的组件组成。然而,Ubuntu 和相关发行版中默认安装的 LibreOffice 只包括其中的五个: - Calc - Writer @@ -24,23 +26,23 @@ ### 在 Ubuntu 和其他 Linux 中安装 LibreOffice Base -你可以使用 Software 应用或终端来安装 `libreoffic-base` 包。我建议使用终端来安装它。打开一个终端窗口,运行以下命令来安装它。 +你可以使用 “软件Software” 应用或终端来安装 `libreoffic-base` 包。我建议使用终端来安装它。打开一个终端窗口,运行以下命令来安装它。 ``` sudo apt install libreoffice-base ``` -如果你喜欢 Software 或其他基于 GUI 的安装程序,搜索 “libreoffic-base” 并点击安装。 +如果你喜欢 “软件Software” 应用 或其他基于 GUI 的安装程序,搜索 “libreoffic-base” 并点击安装。 -对于 **Fedora 和基于 RPM 的发行版**,使用以下命令: +对于 Fedora 和基于 RPM 的发行版,使用以下命令: ``` sudo dnf install libreoffice-base ``` -如果你在 **Arch Linux** 中安装了 LibreOffice,无论是 [libreoffic-fresh][1] 还是 [libreoffic-still][2],那么就不需要任何操作了。LibreOffice Base 已经包含在这两个软件包中了。你可以开始使用了。 +如果你在 Arch Linux 中安装了 LibreOffice,无论是 [libreoffic-fresh][1] 还是 [libreoffic-still][2],那么就不需要任何操作了。LibreOffice Base 已经包含在这两个软件包中了。你可以开始使用了。 -在另一个方面,如果你想看看如何安装最新的 LibreOffice,请查看[这个指南][3]。 +在另一个方面,如果你想看看如何安装最新的 LibreOffice,请查看 [这个指南][3]。 ![在 Ubuntu 中安装 Libreoffice Base][4] @@ -53,7 +55,7 @@ via: https://www.debugpoint.com/install-libreoffice-base-ubuntu/ 作者:[Arindam][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/) 荣誉推出 @@ -63,3 +65,4 @@ via: https://www.debugpoint.com/install-libreoffice-base-ubuntu/ [2]: https://archlinux.org/packages/extra/x86_64/libreoffice-still/ [3]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ [4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-Libreoffice-Base-in-Ubuntu.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202211/24/111503yhkq3mihfxkxsh1v.jpg \ No newline at end of file From fa379c8573282cacba89b85af83de53fe1f0508a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 24 Nov 2022 11:51:01 +0800 Subject: [PATCH 495/925] RP @FYJNEVERFOLLOWS https://linux.cn/article-15284-1.html --- ... Linux With Audacity -and Reduce Noise-.md | 45 ++++++++++--------- 1 file changed, 25 insertions(+), 20 deletions(-) rename {translated/tech => published}/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md (61%) diff --git a/translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md b/published/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md similarity index 61% rename from translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md rename to published/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md index 6db8dae03b..2f52b58b26 100644 --- a/translated/tech/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md +++ b/published/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md @@ -3,14 +3,16 @@ [#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" [#]: collector: "lkxed" [#]: translator: "FYJNEVERFOLLOWS" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15284-1.html" -如何在 Linux 中使用 Audacity 录制音频(并降低噪音) +如何在 Linux 中使用 Audacity 录制音频(并降噪) ====== -[Adacity][1] 是一个免费的开源跨平台[音频编辑器][2]。专业人士使用它是因为它提供的功能仅需安装很小的软件包。 +![][0] + +[Audacity][1] 是一个自由开源的跨平台 [音频编辑器][2]。专业人士使用它是因为它提供的功能仅需安装很小的软件包。 你不必成为一名专业人士并使用它的所有功能。你可以使用它从麦克风录制音频,并执行一些基本操作,如背景噪声消除。 @@ -41,22 +43,25 @@ sudo dnf install audacity ``` sudo pacman -Syu audacity ``` -**注意**,通过官方存储库安装可能无法获得[最新版本][3]。要获得最新版本,你可以使用 AppImage 或 Flatpak/Snap 软件包。 + +**注意**,通过官方存储库安装可能无法获得 [最新版本][3]。要获得最新版本,你可以使用 AppImage 或 Flatpak/Snap 软件包。 ### 使用 Audacity 录制音频 安装 Audacity 后,从应用程序菜单打开它或从终端启动它。你会看到这样的界面: ![Audacity Interface][4] -单击**录制**按钮(红点)即可轻松开始录制。完成后,单击**停止**按钮(方形图标)来结束录制。你还可以预览录制的波形,如下所示: + +单击“录制”按钮(红点)即可轻松开始录制。完成后,单击“ +停止”按钮(方形图标)来结束录制。你还可以预览录制的波形,如下所示: ![record audio with audacity][5] -然后,你可以通过单击**播放**按钮(绿色图标)检查录制的内容。 +然后,你可以通过单击“播放”按钮(绿色图标)检查录制的内容。 -如果你没有看到任何波形,则表示未录制到任何内容。很可能,你没有正确设置音频输入。确保你选择了正确的麦克风,并确保在**系统设置**中其未被静音。你也可以通过 Audacity 接口设置。 +如果你没有看到任何波形,则表示未录制到任何内容。很可能,你没有正确设置音频输入。确保你选择了正确的麦克风,并确保在“系统设置system settings”中其未被静音。你也可以通过 Audacity 接口设置。 -录音不会自动保存为 MP3 或其他格式。**要保存录音**,你可以转到 `File` → `Export` 并选择 `Export as MP3`(或任何其他想要的格式)。 +录音不会自动保存为 MP3 或其他格式。**要保存录音**,你可以转到 “文件File导出Export” 并选择 “导出为 MP3Export as MP3”(或任何其他想要的格式)。 ### 使用 Audacity 降低背景噪声 @@ -68,9 +73,9 @@ Audacity 还有另一个很棒的功能,你可以使用它来减少录制音 ![Background noise][6] -选择噪声部分后,从顶部文件菜单中转到 `Effects` → `Noise Reduction`。 +选择噪声部分后,从顶部文件菜单中转到 “效果Effects降低噪音Noise Reduction”。 -它会像这样打开一个弹出窗口。单击此处的 `Get Noise Profile`。 +它会像这样打开一个弹出窗口。单击此处的 “获取噪音配置文件Get Noise Profile”。 ![Noise Reduction Effect Popup Window][7] @@ -78,21 +83,20 @@ Audacity 还有另一个很棒的功能,你可以使用它来减少录制音 按 `Ctrl + A` 快捷键选择整段录音。你也可以选择其中的一部分,仅对所选部分减少噪声。 -选择音轨后,再次转到 `Effect` → `Noise Reduction`。 +选择音轨后,再次转到 “效果Effects降低噪音Noise Reduction”。 -**这次不要单击** `Get Noise Profile`。这一次,你应该能够按下 `OK` 按钮。 +**这次不要单击** “获取噪音配置文件Get Noise Profile”。这一次,你应该能够按下 “OK” 按钮。 -只需按下 `OK` 按钮,即可将降噪效果应用到录音中,并反映在波形上,如下所示: +只需按下 “OK” 按钮,即可将降噪效果应用到录音中,并反映在波形上,如下所示: ![Audio Waveform after Noise Reduction][8] -现在,相较而言,录制的音频将具有更少的噪声。你可以在选择 `Noise Reduction` 效果时微调噪声过滤。 +现在,相较而言,录制的音频将具有更少的噪声。你可以在选择 “降低噪音Noise Reduction” 效果时微调噪声过滤。 总结如下: -* 选择噪声部分,转到 `Effects` → `Noise Reduction`,然后单击 `Get Noise Profile` - -* 按 `Ctrl + A` 选择整段音频录制,转到 `Effects` → `Noise Reduction`,这次按 `OK` 按钮 +* 选择噪声部分,转到 “效果Effects降低噪音Noise Reduction”,然后单击 “获取噪音配置文件Get Noise Profile” +* 按 `Ctrl + A` 选择整段音频录制,转到 “效果Effects降低噪音Noise Reduction”,这次按 `OK` 按钮 请注意,你无法移除所有类型的噪声,但这应该会有所帮助。 @@ -113,7 +117,7 @@ via: https://itsfoss.com/audacity-recording/ 作者:[Anuj Sharma][a] 选题:[lkxed][b] 译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -128,3 +132,4 @@ via: https://itsfoss.com/audacity-recording/ [7]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-steps.png [8]: https://itsfoss.com/wp-content/uploads/2022/08/audacity-noise-reduced.png [9]: https://news.itsfoss.com/audacity-fiasco-fork/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/24/114858g6vpfg3gfglvxnp4.jpg \ No newline at end of file From eec628dc385a28b5fd29c69b68707cf4ea32aa12 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 24 Nov 2022 19:02:44 +0800 Subject: [PATCH 496/925] ALL @wxy https://linux.cn/article-15286-1.html --- ...️ 31 Linux Commands Every Ubuntu User Should Know.md | 790 ++++++++++++++++++ ...️ 31 Linux Commands Every Ubuntu User Should Know.md | 755 ----------------- 2 files changed, 790 insertions(+), 755 deletions(-) create mode 100644 published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md delete mode 100644 sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md diff --git a/published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md b/published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md new file mode 100644 index 0000000000..3ddd8e2172 --- /dev/null +++ b/published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md @@ -0,0 +1,790 @@ +[#]: subject: "31 Linux Commands Every Ubuntu User Should Know" +[#]: via: "https://itsfoss.com/essential-ubuntu-commands/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15286-1.html" + +每个 Linux 用户都应该知道的 31 条命令 +====== + +![][0] + +哪些是**最基本**的 Linux 的命令? + +经常有读者问我这个问题,我一直试图避免回答这个问题。 + +为什么呢?我不知道 Linux 命令吗?不是的。这不是原因。而是因为很难对它们进行分类。对我来说必不可少的东西对你来说可能并不重要。 + +但我想这适用于所有的东西,我们网站上的每一个这样的推荐应用程序列表也都是这样。 + +这就是为什么我最终放弃了,并创建了这个基本但**重要的** Linux 命令列表,它应该对作为 Linux 用户的你有所帮助。这更多的是针对 Ubuntu 这样的桌面用户,但如果你把 Ubuntu 作为服务器使用,它们也应该对你有所帮助。 + +### Linux 的基本命令 + +我在这里列出的每个命令都有多个选项和多种用途。如果我尝试给出每个命令的最常见的例子,它将很容易变成一本超过一万字的口袋书。 + +我不会详述这些命令中的任何一个。我将列出每个命令的目的及其基本语法。你可以从这些命令的链接教程中阅读更多关于使用这些命令的信息。 + +在你开始阅读列表之前推荐阅读: + +- [Linux 中路径的概念][1] +- [文件权限的概念][2] +- [了解 Linux 终端的行话][3] + +还有一件事。我在这里更多地使用了**文件夹**这个术语,而不是**目录**。 + +[在 Linux 中文件夹被称为目录][4],有些人可能不喜欢这样。然而,我相信对于初学者来说,这更容易掌握。 + +#### 1、ls 命令:列出一个文件夹的内容 + +这是一个新的 Linux 用户最先学会的几个命令之一。这个命令可以让你看到当前文件夹里有哪些文件和文件夹。 + +``` +ls +``` + +你可以使用长列表选项 `ls -l` 来查看细节,如文件大小、权限、修改时间等。如果你想,你可以对这些选项进行排序和控制。 + +``` +ls -l +``` + +![ls 命令][5] + +推荐阅读: + +> **[ls 命令示例][6]** + +#### 2、cd 命令:改变目录 + +默认情况下,你从你的主目录下开始。你经常需要改变目录并移动到另一个目录。 + +例如,你下载了一个 deb 文件或脚本。现在你想运行它。你可以通过提供完整的路径从你现在的工作目录运行它,但是切换到下载的位置会让事情更简单。 + +`cd` 命令代表“改变目录change directory”,你可以改变你的位置,移动到另一个目录。 + +![cd 命令示例][7] + +在这一点上,我强烈建议阅读关于 Linux 中路径的概念,这样在 Linux 命令行中浏览目录时,事情就容易理解了。 + +推荐阅读: + +> **[cd 命令示例][8]** + +#### 3、cat 命令:读取一个文本文件 + +如果你想在 Linux 中快速查看一个文本文件的内容,`cat` 是你需要使用的命令。它在屏幕上显示内容。 + +``` +cat filename +``` + +![cat 命令示例][9] + +你也可以使用 `cat` 命令来创建新的文件或给现有文件添加更多的文本。 + +推荐阅读: + +> **[cat 命令的例子][10]** + +#### 4、less 命令:读取一个大的文本文件 + +`cat` 命令对于查看小的文本文件已经足够了。但是,如果你有一个有数百行的巨大文本文件,我不建议使用 `cat`。它将用所有的文本淹没你的屏幕,而你将很难处理它。 + +这就是 `less` 命令有用的地方。当你用 `less` 打开一个文件时,它会分页打开文件。你可以向上/向下滚动,寻找文本等等。 + +![用 less 命令阅读大文件][11] + +一旦你读完了文件,你可以按 `Q` 键退出 `less` 视图。你会注意到,屏幕上什么都没有显示。你的屏幕是干净的。 + +推荐阅读: + +> **[less 命令示例][12]** + +#### 5、touch 命令:创建新文件 + +在 Linux 终端中,有多种创建新文件的方法。你在上面看到的 `cat` 命令也可以创建新文件。 + +然而,我更喜欢用 `touch` 命令来实现这一目的。 + +``` +touch new_file_name +``` + +![touch command ubuntu][13] + +如果你对现有的文件使用它,它们的时间戳会被修改。 + +推荐阅读: + +> **[touch 命令示例][14]** + +#### 6、mkdir 命令:创建新的文件夹 + +虽然没有创建新文件的特定命令,但有一个专门的命令用于创建新的文件夹(或目录,我们在 Linux 中称之为“目录”)。 + +``` +mkdir new_dir +``` + +![mkdir 命令示例][15] + +推荐阅读: + +> **[mkdir 命令示例][16]** + +#### 7、cp 命令:复制文件和文件夹 + +在命令行中复制文件和文件夹也是你会遇到的常见任务之一。`cp` 命令是“复制Copy”的简称,用于这一目的。 + +想象一下,你必须修改一个配置文件。一个聪明的做法是用另一个名字复制该文件。这样一来,你就有了一个文件的备份。 + +``` +cp existing_file.txt existing_file.back +``` + +你也可以使用同样的 `cp` 命令来复制目录。为此,你必须指定递归选项 `-r`。 + +``` +cp -r dir another_location +``` + +![cp 命令示例][17] + +推荐阅读: + +> **[cp 命令示例][18]** + +#### 8、mv 命令:剪贴或重命名文件和文件夹 + +`mv` 命令是 “移动Move” 的意思。当你把一个文件复制到另一个地方时,它仍然保留在原来的地方。 + +`mv` 命令将文件和文件夹移动到另一个位置。你可以把它看作是一个剪切-粘贴的操作。 + +``` +mv file.txt /another/location +``` + +你也可以使用 `mv` 命令来重命名文件。 + +``` +mv file.txt new_file.txt +``` + +同样的 `mv` 命令也可以移动或重命名文件夹,不需要任何特殊的选项。 + +![mv 命令示例][19] + +推荐阅读: + +> **[mv 命令示例][20]** + +#### 9、rm 命令:删除文件和文件夹 + +要在 Linux 终端中删除文件,你可以使用 `rm`(“删除Remove”的缩写)命令。 + +``` +rm filename +``` + +在命令行中删除文件后,没有撤销选项。这就是为什么你在删除文件时要非常小心。如果你害怕删除错误的文件,可以使用选项 `-i` 的交互式模式,它给你一个额外的提示来确认操作。 + +``` +rm -i filename +``` + +使用递归选项 `-r`,你也可以使用相同的 `rm` 命令来删除文件夹。 + +![rm 命令示例][21] + +推荐阅读: + +> **[rm 命令示例][22]** + +#### 10、nano 命令:编辑文件 + +迟早有一天,你会被要求对一个文件的内容进行修改。想象一下,你必须改变 SSH、Grub 或其他一些应用程序的配置文件。 + +有一些 [基于命令行的][23] 文本编辑器可以达到这个目的。Ubuntu 预装了 Nano 编辑器,它比 Vim、Emacs 等更容易使用。 + +**如果你好奇它们有什么不同**,请阅读我们的 [Nano vs. Vim 对比][24] 文章。 + +更容易使用并不意味着和基于 GUI 的文本编辑器一样舒适。你将不得不使用键盘快捷键来移动、修改、保存和退出文件。 + +要用 `nano` 打开一个新的、未命名的文件,请使用: + +``` +nano +``` + +要在 nano 中编辑一个现有的文件,请使用: + +``` +nano filename +``` + +在这两种情况下,你都应该看到一个类似这样的界面。 + +![nano 命令示例][25] + +要保存(或放弃修改)并退出编辑器界面,请使用 `Ctrl+x` 键。 + +请参考我之前创建的 [nano 初学者指南][26] 来适应它。 + +#### 11、clear 命令:清除终端屏幕 + +Nano 感觉很复杂,对吗?让我来分享一个简单的命令。 + +`clear` 命令可以清除终端。就是这样。 + +``` +clear +``` + +你为什么需要这样做呢?嗯,如果你的终端屏幕充斥着随机的东西,而你想做一些新的事情。清理终端就像清理黑板或在你的笔记本上打开一个新页。 + +#### 12、ps 命令:检查和管理进程 + +`ps` 命令是用来管理你系统上运行的进程的。每个进程都有一个相关的 ID,称为 PID,它可以用于各种目的,例如 [终止一个进程][27]。 + +``` +~$ ps + pid tty time cmd + 15358 ? 00:00:00 bash + 15404 ? 00:00:00 ps +``` + +这里, + +- `PID`:进程 ID +- `TTY`:与进程相关的控制终端(现在已经不那么重要了) +- `TIME`:总的 CPU 使用时间 +- `CMD`:运行该进程的命令名称 + +但一个系统不可能只运行两到三个进程,不是吗?要查看所有用户运行的所有进程,请使用: + +``` +ps aux +``` + +这将给出一个庞大的进程列表和关于它们的更多细节。如果你运行这个命令,现在将是使用 `clear` 命令的绝佳时机。 + +![进程列表][29] + +推荐阅读: + +> **[ps 命令示例][30]** + +#### 13、top 命令:系统监控 + +`ps` 命令给你提供了所有正在运行的进程,而 `top` 命令给你提供了进程和系统资源消耗的实时视图。 + +``` +top +``` + +把它看作是 Linux 中任务管理器的终端版本。通过 `top` 命令,你会看到很多有趣的细节。 + +我主要使用 `top` 命令来检查哪个进程占用了太多的 CPU 或内存。如果你有兴趣做实验,还有 [更好的 top 替代品][31]。 + +![top 命令][32] + +要 [停止运行的 top 命令][33],请使用 `Ctrl+C` 键盘快捷键。 + +推荐阅读: + +> **[有效使用 top 命令作为任务管理器][34]** + +#### 14、lsblk 命令: 列出磁盘和分区 + +`lsblk` 命令列出了你系统中所有的块设备。用非常简单(技术上不完全准确)的术语来说,它显示的是磁盘和分区。 + +``` +~# lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS +loop0 7:0 0 79.9M 1 loop /snap/lxd/22923 +loop1 7:1 0 103M 1 loop /snap/lxd/23541 +loop2 7:2 0 63.2M 1 loop /snap/core20/1623 +loop3 7:3 0 48M 1 loop /snap/snapd/17336 +loop4 7:4 0 48M 1 loop /snap/snapd/17029 +loop6 7:6 0 63.2M 1 loop /snap/core20/1634 +vda 252:0 0 25G 0 disk +├─vda1 252:1 0 24.9G 0 part / +├─vda14 252:14 0 4M 0 part +└─vda15 252:15 0 106M 0 part /boot/efi +vdb 252:16 0 466K 1 disk +~# +``` + +#### 15、fdisk 命令:列出并管理磁盘和分区 + +另一个类似但更好的命令是 `fdisk` 命令。它可以让你操作磁盘的分区。这意味着你可以用这个命令创建新的分区,删除和调整现有分区的大小。 + +你还可以用它来列出系统中所有的块设备,包括 [回环设备][35]。 + +``` +sudo fdisk -l +``` + +如果你有许多分区、磁盘和回环设备(由 Snap 应用程序创建),输出结果可能是巨大的。我在这里展示的是输出的相关部分: + +``` +Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors +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: gpt +Disk identifier: 0B7C796D-51CD-4DD4-962A-7D94B31690E2 + +Device Start End Sectors Size Type +/dev/vda1 227328 52428766 52201439 24.9G Linux filesystem +/dev/vda14 2048 10239 8192 4M BIOS boot +/dev/vda15 10240 227327 217088 106M EFI System +``` + +#### 16、find 命令:搜索文件 + +即使作为一个桌面用户,你也会遇到在 Linux 命令行中搜索文件的情况。 + +`find` 命令是一个用于此目的的广泛而通用的命令。它有 50 多个选项,而你可能永远不会需要所有的选项。 + +下面是一个 `find` 命令的例子,它将给你提供当前目录中所有以 `.txt` 扩展名结尾的文件。 + +``` +find . -type f -name "*.txt" +``` + +其他常见的例子包括按大小、修改时间等查找文件。你可以 [将 find 与 exec][36] 或 [xargs][37] 结合起来,对 `find` 命令的结果采取行动。例如,你可以寻找所有的 `.txt` 文件并选择删除它们。 + +推荐阅读: + +> **[find 命令示例][38]** + +#### 17、grep 命令:在文件内容中搜索 + +`find` 命令根据文件的名称和类型来搜索文件。如果你想根据文件的内容进行搜索,你可以使用 `grep`命令。 + +因此,与其寻找所有以 `.txt` 结尾的文件,不如用 `grep` 寻找所有包含文本 `foss` 的文件。 + +``` +grep -ri search_term +``` + +![grep 命令示例][39] + +想学习更多吗?这里有一些更多的 [grep 命令示例][40]。方便的 [grep 速查表][41] 应该可以帮助你。 + +#### 18、kill 命令:终止进程 + +暴力不是答案......它是解决方案。 + +开个玩笑! + +如果你有一个行为不端的进程,占用了太多的系统资源,你可以 [找到它,然后终止][27] 它,[使用 kill 命令][42] 就行。 + +``` +sudo kill -9 process_ID_or_Name +``` + +正如你在上面的命令中看到的,你需要知道进程 ID(PID)或进程名称来终止它。你可以使用 `ps` 或 `top` 命令来获得 PID或确切的进程名称。 + +``` +ps aux | grep -i “name of your desired program” +``` + +你注意到 `grep` 命令的使用了吗?你已经在利用这个列表中提到的命令了。 + +![find kill process][43] + +我不知道你怎么想的,但是当我寻找流氓进程来终止时,我觉得自己就像 [《飓风营救》中的连姆·尼森][44]。 + +![Taken meme find you kill you][45] + +#### 19、history 命令:回头看看你过去运行了哪些命令 + +比如,你在几天前使用了一个特定的 Linux 命令。现在你需要再次运行它,但你不能正确地想起它。 + +你可以按上下方向键。 + +这对许多 Linux 用户来说是一个熟悉的场景:这就是 `history` 命令的作用。 + +在 Ubuntu 中,你的 Shell 会保存你所运行的命令的历史。在终端输入 `history`,你会看到你过去运行的命令的历史。 + +![history 命令][46] + +你可以选择从历史记录中运行一个条目,使用其编号,像这样。 + +``` +!number +``` + +但即使是历史记录也可能是巨大的,所以(再次)使用 `grep` 命令来过滤你的搜索词。 + +``` +~$ history | grep aux + 1915 ps aux + 1952 ps aux | grep -i spotify + 1955 ps -aux | grep -i calculator + 1957 ps -aux | grep -i calculator + 1959 ps -aux | grep -i calculator + 1970 history | grep aux +``` + +还有一种方法可以进入命令历史并进行搜索。按 `Ctrl+R`,然后输入搜索词。 + +推荐阅读: + +> **[history 命令示例][47]** + +#### 20、chmod 命令:改变文件权限 + +我强烈建议在这个阶段阅读有关 [Linux 文件权限][2]。这将有助于你更好地理解,而不是盲目地运行 [chmod 命令][48]。 + +`chmod`(“改变模式change mode”)命令是用来改变文件的权限的。 + +这个命令最常见的用途是当你想让一个文件可执行时。有一个Shell脚本?像这样让它可执行: + +``` +chmod u+x file-executable +``` + +还有更多的使用情况,使 `chmod `成为 Ubuntu 用户必须知道的命令。 + +**有趣的事实**:`chmod 777` 命令为所有用户提供了所有的权限。这代表了我们的座右铭是 “让每个人都能获得知识”。 + +#### 21、lshw 命令:获取硬件细节 + +在 Linux 中,有大量的命令行 [工具可以用来获取硬件细节][49] 和其他系统信息。 + +可能预装在 Ubuntu 上的是 `lshw`(“列出硬件list hardware”的缩写)。 + +现在,默认情况下,它显示了大量关于所有硬件组件的详细信息,相信我,这不是很容易理解。 + +``` +lshw +``` + +你可能会感到在这里使用 `grep` 的诱惑,但没有必要这样做。`lshw` 的输出被分成几类,你可以用它来显示一类硬件的细节。 + +[想知道你的网络适配器的制造商][50]?使用这个: + +``` +lshw -C network +``` + +![lshw 命令示例][51] + +#### 22、sudo 命令:以 root 权限运行命令 + +你一定注意到,我在之前讨论的一些命令中使用了 `sudo` 作为前缀。 + +默认情况下,在 Ubuntu 中,`sudo` 的配置方式是,它允许你(默认的管理用户)以 root 权限运行任何命令。 + +你被要求输入一个密码,而且是你的用户账户密码。当你输入密码时,屏幕上没有任何显示。新用户对此感到困惑,但这是 UNIX/Linux 的预期行为。你输入密码并按回车键。 + +![使用 sudo 的例子][52] + +推荐阅读: + +> **[Ubuntu 中的 root 用户][53]** + +#### 23、apt 命令: 安装、删除和管理 .deb 包 + +在 Ubuntu 中,`apt` 命令被用来管理软件包。你必须和 `sudo` 一起使用它,因为这些是管理任务。 + +要安装一个软件包,请使用: + +``` +sudo apt install package_name +``` + +要删除一个安装软件,请使用: + +``` +sudo apt remove package_name +``` + +要一次性用所有可升级的软件包更新你的 Ubuntu 系统: + +``` +sudo apt update && sudo apt upgrade +``` + +[apt update 和 upgrade 的区别][54] 是:`update` 会刷新软件包的缓存,而 `upgrade` 则是实际安装更新。 + +`apt` 命令还有很多内容。你可以阅读 [这个详细的 apt 命令指南][55]。 + +#### 24、add-apt-repository 命令:添加和删除 PPA + +好吧,这个命令已经不像十年前那么流行了。你仍然会在这里和那里遇到 [add-apt-repository 命令][56]。它是用来管理你系统中的 PPA(非官方的、用户生成的软件库)。 + +在跟随网络上的教程时,你可能会遇到由三行组成的安装说明: + +``` +sudo add-apt-repository ppa:dr-akulavich/lighttable +sudo apt update +sudo apt install lighttable-installer +``` + +第一个命令是添加 PPA(外部资源库)。你已经熟悉了下面两条,它们用于更新软件包缓存和安装你刚刚添加的 PPA 仓库提供的软件。 + +要删除一个 PPA,你应该首先删除你从它那里安装的软件,然后像这样删除它: + +``` +sudo add-apt-repository -r ppa:dr-akulavich/lighttable +``` + +我有一篇 [关于 PPA 的完整指南][57],可以了解关于这个主题的更多细节。 + +#### 25、snap 命令:安装、删除和管理 Snap 包 + +到目前为止,你知道 apt 软件包和它们的管理。然而,Ubuntu 也使用并积极推荐使用其 Snap 打包格式。 + +学习一些基本的 `snap` 命令将帮助你有效地管理这些软件包。 + +要找到一个软件包,请使用: + +``` +snap find search_term +``` + +要安装一个软件包,请使用: + +``` +sudo snap install package_name +``` + +要列出已安装的 Snap 应用程序: + +``` +snap list +``` + +要删除一个已安装的 Snap 应用程序,请使用: + +``` +sudo snap remove package_name +``` + +#### 26、ip 命令:检查 IP 地址和其他信息 + +`ip` 命令可以让你 [检查你的 IP 地址][58]。你还可以查看和操作路由、网络设备等。 + +``` +ip a +``` + +![ip 地址检查][59] + +#### 27、ping 命令:检查远程系统是否可达 + +`ping` 是另一个你应该知道的 [Linux 网络命令][60]。要检查一个远程系统是否可用,把它的 IP 地址给 `ping` 命令: + +``` +ping ip_address +``` + +你也可以用它来检查一个网站是否关闭,尽管现在它不是很准确。 + +![ping command ubuntu][61] + +使用 `Ctrl+C` 来停止运行的 `ping` 命令。 + +推荐阅读: + +> **[ping 命令示例][62]** + +#### 28、ssh 命令:连接到远程系统 + +我对把 `ssh` 添加到必须知道的 Linux 命令列表中持怀疑态度。许多桌面用户可能不需要它。SSH 被用于从你的终端连接到其他 Linux系统。 + +``` +ssh user@address_of_remote_system +``` + +当然,你需要知道远程系统的用户和密码。 + +如果你有云服务器或家庭设置,其中有其他 Linux 系统,你可以用它从你的主系统连接到它们。 + +#### 29、scp 命令:在远程系统之间复制文件 + +既然我在列表中包括了 `ssh`,那么包括一些 [通过 SSH 连接在远程系统之间传输文件的命令][63] 才是公平的。 + +`scp` 命令的工作原理与你之前看到的 `cp` 命令差不多。 + +下面是一个例子,它把文件从远程系统上的用户的主目录复制到你本地登录系统的当前目录。 + +``` +scp user@remote_address:/home/username/filename . +``` + +推荐阅读: + +> **[scp 命令示例][64]** + +#### 30、exit 命令:关闭终端 + +Linux 的基本命令列表就要结束了。那么让我们来谈谈退出终端的问题。这很简单。只要输入 + +``` +exit +``` + +如果你正在使用另一个用户或 Shell,你就会从那里注销。 + +你也可以使用 `Ctrl+D` 键来退出终端。 + +#### 31、shutdown 命令:关闭或重启系统 + +好了。如果你还没有退出终端,让我分享一个最后的命令。 + +从命令行中 [关闭你的系统][65] 怎么样? + +[使用 shutdown 命令][66] 来达到这个目的: + +``` +shutdown +``` + +上述命令 [安排在一分钟内关机][67]。你可以用以下方法让它立即关闭: + +``` +shutdown -now +``` + +你也可以使用同样的关机命令来 [重启你的 Ubuntu 系统][68]。 + +``` +shutdown -r now +``` + +#### 更多:man 命令:详细了解命令 + +还有一个,这也是最后一个,我保证。所有的 Linux 系统都有一个命令的手册。它被称为手册页,你可以通过以下方式访问已安装命令的手册页: + +``` +man command_name +``` + +[了解手册页][69] 对于新用户来说,可能会让人不知所措,但它却很方便。它为你提供了一个命令的通用语法和所有选项的描述。 + +当你对使用一个命令没有把握时,可以先查看它的手册页,然后再在网上搜索它。 + +### 总是有更多…… + +**这只是大约 30 个命令。而且这还不到 Linux 命令的20%**。我还没有涉及很多网络命令。我甚至没有涉及用户管理命令。 + +我在写这篇文章时,考虑到了普通的 Ubuntu 桌面用户。这些是你更可能使用的命令。从长远来看,掌握一些这方面的知识会很有帮助。 + +除此以外,学习是没有止境的。即使是最老练的 Linux 用户也会不断发现和学习新东西。 + +考虑到你对学习 Linux 命令感兴趣,让我推荐一些 [好的 Linux书籍][70] 和资源。 + +- [Linux 如何工作][71]:解释了 Linux 如何工作,而不是命令。 +- William Shotts 的《[Linux 命令行][72]》:可以合法地免费下载 PDF 格式的文件。 +- Daniel J Barrett 的《[Linux口袋指南][73]》:将 Linux 命令分为不同的类别,并通过小例子进行简单的解释。 +- [快速学习 Linux][74]:完全专注于 Linux 命令,有适当的例子和练习。 + +除此之外,你还可以从 [Linux Journey][75] 和 [Linux Handbook][76] 等网站学习。 + +**我知道你已经读了很久了**,但这还不到冰山一角。总有更多的东西需要学习,但也不是说如果你不知道所有的 Linux 命令,你就必须感到痛苦。 + +**没有人知道所有的东西。** + +现在,轮到你了。你觉得这份 Linux 命令列表有帮助吗? + +**如果你要在其中增加一些命令,会是什么?评论区是你的**。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/essential-ubuntu-commands/ + +作者:[Abhishek Prakash][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://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://linuxhandbook.com/absolute-vs-relative-path/ +[2]: https://linuxhandbook.com/linux-file-permissions/ +[3]: https://itsfoss.com/basic-terminal-tips-ubuntu/ +[4]: https://itsfoss.com/folder-directory-linux/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/ls-command-ubuntu.png +[6]: https://linuxhandbook.com/ls-command/ +[7]: https://itsfoss.com/wp-content/uploads/2022/11/cd-command-examples.png +[8]: https://linuxhandbook.com/cd-command-examples/ +[9]: https://itsfoss.com/wp-content/uploads/2022/11/cat-command-example.png +[10]: https://linuxhandbook.com/cat-command/ +[11]: https://itsfoss.com/wp-content/uploads/2022/11/reading-large-files-with-less-command.png +[12]: https://linuxhandbook.com/less-command/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/touch-command-ubuntu.png +[14]: https://linuxhandbook.com/touch-command/ +[15]: https://itsfoss.com/wp-content/uploads/2022/11/mkdir-command-example.png +[16]: https://linuxhandbook.com/mkdir-command/ +[17]: https://itsfoss.com/wp-content/uploads/2022/11/cp-command-example.png +[18]: https://linuxhandbook.com/cp-command/ +[19]: https://itsfoss.com/wp-content/uploads/2022/11/mv-command-example.png +[20]: https://linuxhandbook.com/mv-command/ +[21]: https://itsfoss.com/wp-content/uploads/2022/11/rm-command-examples.png +[22]: https://linuxhandbook.com/remove-files-directories/ +[23]: https://itsfoss.com/command-line-text-editors-linux/ +[24]: https://itsfoss.com/vim-vs-nano/ +[25]: https://itsfoss.com/wp-content/uploads/2022/11/nano-command-example.png +[26]: https://itsfoss.com/nano-editor-guide/ +[27]: https://itsfoss.com/how-to-find-the-process-id-of-a-program-and-kill-it-quick-tip/ +[28]: https://itsfoss.com/cdn-cgi/l/email-protection +[29]: https://itsfoss.com/wp-content/uploads/2022/11/list-processes-ubuntu.webp +[30]: https://linuxhandbook.com/ps-command/ +[31]: https://itsfoss.com/linux-system-monitoring-tools/ +[32]: https://itsfoss.com/wp-content/uploads/2022/11/top-command-ubuntu.png +[33]: https://itsfoss.com/stop-program-linux-terminal/ +[34]: https://linuxhandbook.com/top-command/ +[35]: https://itsfoss.com/loop-device-linux/ +[36]: https://linuxhandbook.com/find-exec-command/ +[37]: https://linuxhandbook.com/xargs-command/ +[38]: https://linuxhandbook.com/find-command-examples/ +[39]: https://itsfoss.com/wp-content/uploads/2022/11/grep-command-examples.png +[40]: https://linuxhandbook.com/grep-command-examples/ +[41]: https://linuxhandbook.com/grep-command-cheatsheet/ +[42]: https://linuxhandbook.com/kill-process/ +[43]: https://itsfoss.com/wp-content/uploads/2022/11/find-kill-process-ubuntu-800x264.png +[44]: https://www.imdb.com/title/tt0936501/?ref_=tt_urv +[45]: https://itsfoss.com/wp-content/uploads/2022/11/taken-meme-find-you-kill-you.jpg +[46]: https://itsfoss.com/wp-content/uploads/2022/11/history-command-ubuntu-800x534.png +[47]: https://linuxhandbook.com/history-command/ +[48]: https://linuxhandbook.com/chmod-command/ +[49]: https://itsfoss.com/hardinfo/ +[50]: https://itsfoss.com/find-network-adapter-ubuntu-linux/ +[51]: https://itsfoss.com/wp-content/uploads/2022/11/lshw-command-examples.png +[52]: https://itsfoss.com/wp-content/uploads/2022/11/using-sudo-example-ubuntu.png +[53]: https://itsfoss.com/root-user-ubuntu/ +[54]: https://itsfoss.com/apt-update-vs-upgrade/ +[55]: https://itsfoss.com/apt-command-guide/ +[56]: https://itsfoss.com/add-apt-repository-command-not-found/ +[57]: https://itsfoss.com/ppa-guide/ +[58]: https://itsfoss.com/check-ip-address-ubuntu/ +[59]: https://itsfoss.com/wp-content/uploads/2022/11/ip-address-check-ubuntu.png +[60]: https://itsfoss.com/basic-linux-networking-commands/ +[61]: https://itsfoss.com/wp-content/uploads/2022/11/ping-command-ubuntu.png +[62]: https://linuxhandbook.com/ping-command/ +[63]: https://linuxhandbook.com/transfer-files-ssh/ +[64]: https://linuxhandbook.com/scp-command/ +[65]: https://learnubuntu.com/shutdown-ubuntu/ +[66]: https://linuxhandbook.com/linux-shutdown-command/ +[67]: https://itsfoss.com/schedule-shutdown-ubuntu/ +[68]: https://learnubuntu.com/restart-ubuntu/ +[69]: https://itsfoss.com/linux-man-page-guide/ +[70]: https://itsfoss.com/best-linux-books/ +[71]: https://nostarch.com/howlinuxworks3 +[72]: https://linuxcommand.org/tlcl.php +[73]: https://www.oreilly.com/library/view/linux-pocket-guide/9780596806347/ +[74]: https://linuxhandbook.gumroad.com/l/mEsrwA +[75]: https://linuxjourney.com/ +[76]: https://linuxhandbook.com/a-to-z-linux-commands/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/24/184845y5i7757o708odem7.png \ No newline at end of file diff --git a/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md b/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md deleted file mode 100644 index b3d18742d5..0000000000 --- a/sources/tech/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md +++ /dev/null @@ -1,755 +0,0 @@ -[#]: subject: "31 Linux Commands Every Ubuntu User Should Know" -[#]: via: "https://itsfoss.com/essential-ubuntu-commands/" -[#]: author: "Abhishek Prakash https://itsfoss.com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -31 Linux Commands Every Ubuntu User Should Know -====== - -What are the **essential Ubuntu commands**? - -I have been asked this question several times by regular readers, and I have tried to avoid answering it. - -Why? Don’t I know Ubuntu commands? Nope. That’s not the reason. It is because it is difficult to categorize them. What’s essential to me may not be essential to you. - -But I guess that applies to everything and every such list of recommended applications on our portal. - -That’s why I finally gave in and created this list of basic yet **essential Linux commands** that should be helpful to you as a Ubuntu user. This is more focused on desktop Ubuntu users, but if you use Ubuntu as a server, they should also help you. - -### Essential Ubuntu Commands - -Every command I list here has multiple options and several uses. If I try giving even the most common examples of each command, it will easily turn into a pocketbook of more than 10,000 words. - -I will not go into detail with any of these commands. I’ll list the purpose of each command with its basic syntax. You can read more about using these commands from their linked tutorials. - -**Recommended reading before you start following the list:** - -- Concept of [path in Linux][1] -- [Concept of file permission][2] -- Knowing the [terminal jargon][3] - -Another thing. I have used the term **folder** here more than the **directory**. - -A [folder is called a directory in Linux][4], and puritans may not like this. However, I believe it is easier to grasp for beginners. - -#### 1. ls command: List the content of a folder - -This is among the first few commands a new Linux user learns. This command lets you see what files and folders are in your current folder. - -``` -ls -``` - -You can use the long listing option ls -l to see details like file size, permission, modified time, etc. You can sort and control these options if you want to. - -``` -ls -l -``` - -![ls command ubuntu][5] - -**Related Read**: [ls command examples][6] - -#### 2. cd command: Change the directory - -By default, you start in your home directory. You’ll often require to change the directory and move to another one. - -For example, you downloaded a deb file or script. Now you want to run it. You can do that from your present working directory by providing the full path but switching to that location makes things easier. - -The cd command stands for **change directory;**with this, you can change your location and move to another directory. - -![cd command examples][7] - -At this point, I highly recommend reading about the concept of paths in Linux so that things are easy to understand while navigating through directories in the Linux command line. - -**Recommended Read**: [cd command examples][8] - -#### 3. cat command: Read a text file - -If you quickly want to see the contents of a text file in Linux, **cat** is the command you use. It displays the contents on the screen. - -``` -cat filename -``` - -![cat command example][9] - -You can also use the cat command to create new files or add more text to existing files. - -**Recommended Read**: [cat command examples][10] - -#### 4. less command: Read a large text file - -The cat command is good enough for viewing small text files. But I won’t recommend using cat if you have a huge text file with hundreds of lines. It will flood your screen with all the text, and you will have difficulty with it. - -This is where the less command comes into the picture. When you open a file with less, it opens the file in pages. You can scroll up/down, look for text, and more. - -![reading large files with less command][11] - -Once you are done reading the file, you can **exit the less view by pressing the Q key**. You’ll notice that nothing is displayed on the screen. Your screen is clean. - -**Suggested Read**: [less command examples][12] - -#### 5. touch command: Create new files - -There are multiple ways of creating new files in the Linux terminal. The cat command you saw above can also create new files. - -However, I prefer the touch command for this purpose. - -``` -touch new_file_name -``` - -![touch command ubuntu][13] - -If you use it with existing files, their timestamps will be modified. - -**Also Read**: [touch command examples][14] - -#### 6. mkdir command: Make new folders - -While there is no specific command for creating new files, there is a dedicated command for making new folders (or directories, as we call them in Linux). - -``` -mkdir new_dir -``` - -![mkdir command example][15] - -**Explore More Here**: [mkdir command examples][16] - -#### 7. cp command: Copy files and folders - -Copying files and folders in the command line is also one of the common tasks you will encounter. The cp command, short for copy, is used for this purpose. - -Imagine that you have to modify a configuration file. A smart move will be to copy the file with another name. This way, you’ll have a backup of the file. - -``` -cp existing_file.txt existing_file.back -``` - -You can use the same cp command for copying directories as well. For that, you must specify the recursive option `**-r**`: - -``` -cp -r dir another_location -``` - -![cp command example][17] - -**You May Also Read**: [cp command examples][18] - -#### 8. mv command: Cut-paste or rename files and folders - -The mv command stands for ‘move’. When you copy a file to another location, it remains in its original place. - -The mv command moves the files and folders to the other location. You can think of it as a cut-paste operation. - -``` -mv file.txt /another/location -``` - -You can use the mv command to rename the file as well. - -``` -mv file.txt new_file.txt -``` - -The same mv command also moves or renames folders without any special options. - -![mv command example][19] - -**Recommended Read**: [mv command examples][20] - -#### 9. rm command: Remove files and folders - -To delete files in the Linux terminal, you use the **rm** (short for remove) command. - -``` -rm filename -``` - -There is no undo option after you delete files in the command line. This is why you should be extremely careful while deleting files. If you are afraid of deleting the wrong file, use the interactive mode with option -i, which gives you an additional prompt to confirm the action. - -``` -rm -i filename -``` - -With the recursive option -r, you can also use the same rm command to delete folders. - -![rm command examples][21] - -**Recommended Read**: [rm command examples][22] - -#### 10. nano: Edit files - -Sooner or later, you’ll be required to make changes to the contents of a file. Imagine that you have to change a configuration file of SSH, grub, or some other application. - -There are [command line-based t][23]ext editors for this purpose. Ubuntu comes with Nano editor preinstalled, and it is relatively easier to use than Vim, Emacs, etc. - -**If you are curious****about differences**, read our [Nano vs. Vim comparison][24] article. - -Easier to use doesn’t mean the same comfort as a GUI-based text editor. You will have to use the keyboard shortcuts for moving around, making changes, saving, and exiting files. - -To open a new, unnamed file with nano, use: - -``` -nano -``` - -To edit an existing file in Nano, use: - -``` -nano filename -``` - -In both cases, you should see an interface like this. - -![nano command example][25] - -To save (or discord changes) and exit the editor interface, use the Ctrl+x keys. - -Please refer to the [Nano beginner guide][26] I created earlier to get comfortable with it. - -#### 11. clear: Clear terminal screen - -Nano feels like a complicated one, right? Let me share a simple command. - -The clear command clears the terminal. That’s it. - -``` -clear -``` - -And why do you need to do that? Well, if your terminal screen is flooded with random stuff and you want to do something new. Cleaning the terminal is like cleaning the board or opening a new page in your notebook. - -#### 12. ps: Check and handle processes - -The ps command is for handling the processes running on your system. Each process has an associated ID called PID, which can be used for various purposes, such as [terminating a process][27]. - -``` -[[email protected]][28]:~$ ps - PID TTY TIME CMD - 15358 ? 00:00:00 bash - 15404 ? 00:00:00 ps -``` - -Here, - -- **PID: Process ID** -- **TTY: Controlling terminal associated with the process (Not that important these days)** -- **TIME: Total CPU usage time** -- **CMD: Name of command that runs the process** - -But a system cannot run just 2-3 processes, can it? To see all the processes running by all users, use: - -``` -ps aux -``` - -This will give a massive list of processes and more details about them. If you run this command, now will be an excellent time to use the **clear** command. - -![list processes ubuntu][29] - -**Recommended Read**: [ps command examples][30] - -#### 13. top: System monitor - -While the ps command gives you all the running processes, the top command gives you a real-time view of the processes and the system resource consumption. - -``` -top -``` - -Consider it like the terminal variant of the task manager in Linux. You’ll see a lot of interesting details with the top command. - -I primarily use the top command to check which process takes too much CPU or RAM. There are [better top alte][31][r][31][natives][31] if you are interested to experiment. - -![top command ubuntu][32] - -To [stop the running top command][33], use the **Ctrl+C** keyboard shortcut. - -**Recommended Read**: [Using top command effectively as a task manager][34] - -#### 14. lsblk: List disks and partitions - -The **lsblk** command lists all the block devices on your system. In really simple (and not entirely technically accurate) terms, it displays the disks and partitions. - -``` -[email protected]:~# lsblk -NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS -loop0 7:0 0 79.9M 1 loop /snap/lxd/22923 -loop1 7:1 0 103M 1 loop /snap/lxd/23541 -loop2 7:2 0 63.2M 1 loop /snap/core20/1623 -loop3 7:3 0 48M 1 loop /snap/snapd/17336 -loop4 7:4 0 48M 1 loop /snap/snapd/17029 -loop6 7:6 0 63.2M 1 loop /snap/core20/1634 -vda 252:0 0 25G 0 disk -├─vda1 252:1 0 24.9G 0 part / -├─vda14 252:14 0 4M 0 part -└─vda15 252:15 0 106M 0 part /boot/efi -vdb 252:16 0 466K 1 disk -[email protected]:~# -``` - -#### 15. fdisk: List and Manage disks and partition - -Another similar but better command is the **fdisk** command. It lets you manipulate the disk partitions. This means you can create new partitions and delete and resize existing ones with this command. - -You can also use it to list all the block devices, including [loop devices][35], on your system. - -``` -sudo fdisk -l -``` - -The output could be huge if you have many partitions, disks, and loop devices (created by snap applications). I am showing a relevant part of the output here: - -``` -Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors -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: gpt -Disk identifier: 0B7C796D-51CD-4DD4-962A-7D94B31690E2 - -Device Start End Sectors Size Type -/dev/vda1 227328 52428766 52201439 24.9G Linux filesystem -/dev/vda14 2048 10239 8192 4M BIOS boot -/dev/vda15 10240 227327 217088 106M EFI System -``` - -#### 16. find: Search for files - -Even as a desktop user, you’ll encounter cases where you may have to search for files in the Linux command line. - -The find command is an extensive and versatile command for this purpose. It has more than fifty options, and you will probably never need all of them. - -Here’s an example of the find command that will give you all the files that end with .**txt** extension in the current directory. - -``` -find . -type f -name "*.txt" -``` - -Other common examples include finding files by size, modified time, etc. You can [combine find with exec][36] or [xargs][37] to take actions on the result of the find command. For example, you can look for all the .txt files and choose to delete them. - -**Also Read:**[find command examples][38] - -#### 17. grep: Search in file content - -The find command search for files based on their name and type. If you want to search based on the content of the files, you use the grep command. - -So, instead of looking for all files ending with .txt, you look for all files containing the text ‘foss’ with grep. - -``` -grep -ri search_term -``` - -![grep command examples][39] - -Want more? Here are some more [practical examples of the grep command][40]. The handy [grep cheat sheet][41] should help you out. - -#### 18. kill: Terminate processes - -Violence is not the answer … it’s the solution. - -Just kidding! - -If you have a misbehaving process that takes too many system resources, you can [find it and then terminate][27] it [using the kill command][42]. - -``` -sudo kill -9 process_ID_or_Name -``` - -As you can see in the above command, you need to know the process ID (PID) or the name to terminate it. You can use the ps or the top command to get the PID or exact process name. - -``` -ps aux | grep -i “name of your desired program” -``` - -Did you notice the use of grep command? You are already utilizing the commands mentioned in this list. - -![find kill process ubuntu][43] - -I don’t know about you, but I feel like [Liam Nesson in Taken][44] when I look for rogue processes to terminate. - -![taken meme find you kill you][45] - -#### 19. history: Look back into what commands you ran in the past - -So, you used a specific Linux command a few days ago. Now you need to run it again, but you cannot recall it correctly. - -You can press the up and down arrow keys. - -That’s a familiar scenario for many Linux users; this is where the history command helps. - -In Ubuntu, your shell keeps a history of the commands you run. Enter history in the terminal, and you should see a history of commands you ran in the past. - -![history command ubuntu][46] - -You can choose to run an entry from the history using its number like this: - -``` -!number -``` - -But even the history could be huge, so (again) use the grep command to filter your search term. - -``` -[email protected]:~$ history | grep aux - 1915 ps aux - 1952 ps aux | grep -i spotify - 1955 ps -aux | grep -i calculator - 1957 ps -aux | grep -i calculator - 1959 ps -aux | grep -i calculator - 1970 history | grep aux -``` - -There is another way to access the command history and search it. Press **Ctrl+R** and then enter the search term. - -**Recommended Read**: [history command examples][47] - -#### 20. chmod: Change File Permissions - -I highly recommend reading about [Linux file permissions][2] at this stage. That will help you understand things better than just running the [chmod command][48] blindly. - -The chmod (change mode) command is used for changing the permissions on a file. - -The most common use of this command is when you want to make a file executable. Got a shell script? Make it executable like this: - -``` -chmod u+x file executable -``` - -There are many more use cases that make chmod a must-know command for Ubuntu users. - -**Fun fact**: The parent company of **It’s FOSS** is **chmod777 Media Tech**. chmod 777 command gives all the permissions to all the users. This represents our motto of ‘knowledge access to everyone‘. - -#### 21. lshw: Get the Hardware Details - -There are tons of command line [tools to get the hardware details][49] and other system information in Linux. - -The one that probably comes preinstalled on Ubuntu is**lshw** (short for list hardware). - -Now, by default, it displays a vast output with details about all the hardware component,s and trust me, that’s not very easy to understand. - -``` -lshw -``` - -You may feel the temptation of using grep here, but there is no need for that. The output of lshw is divided into classes and you can use that to show the details for a class of hardware. - -Want to [know the manufacturer of your network adapters][50]? Use this: - -``` -lshw -C network -``` - -![lshw command examples][51] - -#### 22. sudo: Run Commands With root Privileges - -You must have noticed that I used sudo as a prefix for some commands I discussed previously. - -By default, in Ubuntu, **sudo** is configured in a way that it allows you (to the default admin user) to run any command with root privileges. - -You are asked to enter a password, and it’s your user account password. When you enter the password, nothing is displayed on the screen. New users get baffled by it, but it’s the expected behavior in UNIX/Linux. You type the password and press enter. - -![using sudo example ubuntu][52] - -More about [root user in Ubuntu here][53]. - -#### 23. apt: Install, Remove and Manage .deb packages - -The**apt** command is used for managing packages in Ubuntu. You’ll have to use it with sudo as these are administrative tasks. - -To install a package, use: - -``` -sudo apt install package_name -``` - -To delete an install software, use: - -``` -sudo apt remove package_name -``` - -To update your Ubuntu system with all upgradable packages at once: - -``` -sudo apt update && sudo apt upgrade -``` - -The [difference between apt update and upgrade][54] is that an update refreshes the package cache and the upgrade actually installs the update. - -There is a lot more to the apt command. You can read [this detailed apt command guide][55]. - -#### 24. add-apt-repository: Add, and Remove PPAs - -Alright! This one is not as popular as it was a decade ago. You’ll still come across the [add-apt-repository command][56] here and there. It’s used for managing PPA (unofficial, user-generated repositories) in your system. - -While following tutorials on the web, you may come across installation instructions that are composed of three lines: - -``` -sudo add-apt-repository ppa:dr-akulavich/lighttable -sudo apt update -sudo apt install lighttable-installer -``` - -The first command is adding the PPA (external repository). You are already familiar with the following two, which are used to update the package cache and install software provided by the PPA repository you just added. - -To delete a PPA, you should first delete the software you installed from it and then remove it like this: - -``` -sudo add-apt-repository -r ppa:dr-akulavich/lighttable -``` - -I have a [complete guide on PPA][57] for more details on this topic. - -#### 25. snap: Install, Remove and Manage snap packages - -So far, you know apt packages and their management. However, Ubuntu also uses and actively recommends using its snap packaging format. - -Learning a few basic snap commands will help you manage these packages effectively. - -To find a package, use: - -``` -snap find search_term -``` - -To install a package, use: - -``` -sudo snap install package_name -``` - -To list installed snap applications: - -``` -snap list -``` - -To remove an installed Snap application, use: - -``` -sudo snap remove package_name -``` - -#### 26. ip: Check IP address and other info - -The **ip** command lets you [check your IP address][58]. You can also see and manipulate the routes, network devices, and more. - -``` -ip a -``` - -![ip address check ubuntu][59] - -#### 27. ping: Check if the remote system is reachable - -Ping is another [Linux networking command][60] you should be aware of. To check whether a remote system is available or not, give its IP address to the ping command: - -``` -ping ip_address -``` - -You can also use it to check if a website is down though it is not very accurate these days. - -![ping command ubuntu][61] - -Use **Ctrl+C** to stop the running ping command. - -**Recommended Read**: [ping command examples][62] - -#### 28. ssh: Connecting to remote systems - -I was skeptical about adding ssh to the list of must-know Linux commands. Many desktop users may not need it. SSH is used for connecting to other Linux systems from your terminal. - -``` -ssh [email protected]_address_of_remote_system -``` - -You need to know the user and password of the remote system, of course. - -If you have cloud servers or a home setup where other Linux systems are available, you can use it to connect to them from your primary system. - -#### 29. scp: Copy files between remote systems - -Since I included ssh in the list, it was only fair to include something for [transferring files between the remote systems over SSH connection][63]. - -The scp command works almost like the cp command you saw earlier. - -Here’s an example that copies the file from the home directory of the user on the remote system to the current directory of your locally logged in system. - -``` -scp [email protected]_address:/home/username/filename . -``` - -**Recommended Read**: [scp command examples][64] - -#### 30. exit: Close the terminal - -The list of essential Linux commands is ending. So let’s talk about exiting the terminal. It’s quite simple. Just enter: - -``` -exit -``` - -If you are using another user or shell, you’ll be logged out from that. - -You may also use **Ctrl+D**keys to exit the terminal. - -#### 31. shutdown: Turn off or reboot the system - -Alright. Let me share a final command if you haven’t exited the terminal yet. - -How about [turning off your system][65] from the command line? - -[Use the shutdown command][66] for this purpose: - -``` -shutdown -``` - -The above command [schedules a shutdown][67] in one minute. You can make it turn off immediately with: - -``` -shutdown -now -``` - -You can use the same shutdown command for [rebooting your Ubuntu system][68] as well: - -``` -shutdown -r now -``` - -#### Bonus tip: man: Learn about commands in detail - -One more, and this is the last one, I promise. All Linux systems come with a manual for the commands. It’s called manpage, and you can access the manual page of an installed command with the following: - -``` -man command_name -``` - -[Understanding the manpage][69] can be overwhelming for new users, but it comes quite handy. It gives you the generic syntax and description of all the options a command has. - -When you are unsure about using a command, try checking its man page before searching for it on the internet. - -### There’s Always More … - -**That’s just about 30 commands. And that’s not even 20% of the Linux commands**. I haven’t covered many networking commands. I didn’t even go for the user management commands. - -I wrote this keeping a regular Ubuntu desktop user in mind. These are the kinds of commands you are more likely to use. Having some knowledge about them would be helpful in the long run. - -Other than that, there is no end to learning. Even the most seasoned Linux users constantly discover and learn new stuff. - -Considering that you are interested in learning Linux commands, let me recommend some[good Linux books][70] and resources. - -- [How Linux Works][71]: Explains the working of Linux more than the commands -- [The Linux Command Line by William Shotts][72]: Legally available to download for free in PDF format -- [Linux Pocket Guide by Daniel J Barrett][73]: Linux commands into category and briefly explained with small examples -- [Learn Linux Quickly][74]: Entirely focused on Linux commands with proper examples and sample exercises - -Apart from that, you can also learn from websites like [Linux Journey][75] and [Linux Handbook][76]. - -**I know it’s been a long read**, but it’s not even the tip of the iceberg. There is always more to learn, but it’s also not the case that you have to feel miserable if you don’t know all the Linux commands. - -**No one knows everything.** - -Now, it’s your turn. Did you find this list of Ubuntu commands helpful? - -**If you had to add some more commands to it, what would they be? The comment section is all yours.** - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/essential-ubuntu-commands/ - -作者:[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/ -[b]: https://github.com/lkxed -[1]: https://linuxhandbook.com/absolute-vs-relative-path/ -[2]: https://linuxhandbook.com/linux-file-permissions/ -[3]: https://itsfoss.com/basic-terminal-tips-ubuntu/ -[4]: https://itsfoss.com/folder-directory-linux/ -[5]: https://itsfoss.com/wp-content/uploads/2022/11/ls-command-ubuntu.png -[6]: https://linuxhandbook.com/ls-command/ -[7]: https://itsfoss.com/wp-content/uploads/2022/11/cd-command-examples.png -[8]: https://linuxhandbook.com/cd-command-examples/ -[9]: https://itsfoss.com/wp-content/uploads/2022/11/cat-command-example.png -[10]: https://linuxhandbook.com/cat-command/ -[11]: https://itsfoss.com/wp-content/uploads/2022/11/reading-large-files-with-less-command.png -[12]: https://linuxhandbook.com/less-command/ -[13]: https://itsfoss.com/wp-content/uploads/2022/11/touch-command-ubuntu.png -[14]: https://linuxhandbook.com/touch-command/ -[15]: https://itsfoss.com/wp-content/uploads/2022/11/mkdir-command-example.png -[16]: https://linuxhandbook.com/mkdir-command/ -[17]: https://itsfoss.com/wp-content/uploads/2022/11/cp-command-example.png -[18]: https://linuxhandbook.com/cp-command/ -[19]: https://itsfoss.com/wp-content/uploads/2022/11/mv-command-example.png -[20]: https://linuxhandbook.com/mv-command/ -[21]: https://itsfoss.com/wp-content/uploads/2022/11/rm-command-examples.png -[22]: https://linuxhandbook.com/remove-files-directories/ -[23]: https://itsfoss.com/command-line-text-editors-linux/ -[24]: https://itsfoss.com/vim-vs-nano/ -[25]: https://itsfoss.com/wp-content/uploads/2022/11/nano-command-example.png -[26]: https://itsfoss.com/nano-editor-guide/ -[27]: https://itsfoss.com/how-to-find-the-process-id-of-a-program-and-kill-it-quick-tip/ -[28]: https://itsfoss.com/cdn-cgi/l/email-protection -[29]: https://itsfoss.com/wp-content/uploads/2022/11/list-processes-ubuntu.webp -[30]: https://linuxhandbook.com/ps-command/ -[31]: https://itsfoss.com/linux-system-monitoring-tools/ -[32]: https://itsfoss.com/wp-content/uploads/2022/11/top-command-ubuntu.png -[33]: https://itsfoss.com/stop-program-linux-terminal/ -[34]: https://linuxhandbook.com/top-command/ -[35]: https://itsfoss.com/loop-device-linux/ -[36]: https://linuxhandbook.com/find-exec-command/ -[37]: https://linuxhandbook.com/xargs-command/ -[38]: https://linuxhandbook.com/find-command-examples/ -[39]: https://itsfoss.com/wp-content/uploads/2022/11/grep-command-examples.png -[40]: https://linuxhandbook.com/grep-command-examples/ -[41]: https://linuxhandbook.com/grep-command-cheatsheet/ -[42]: https://linuxhandbook.com/kill-process/ -[43]: https://itsfoss.com/wp-content/uploads/2022/11/find-kill-process-ubuntu-800x264.png -[44]: https://www.imdb.com/title/tt0936501/?ref_=tt_urv -[45]: https://itsfoss.com/wp-content/uploads/2022/11/taken-meme-find-you-kill-you.jpg -[46]: https://itsfoss.com/wp-content/uploads/2022/11/history-command-ubuntu-800x534.png -[47]: https://linuxhandbook.com/history-command/ -[48]: https://linuxhandbook.com/chmod-command/ -[49]: https://itsfoss.com/hardinfo/ -[50]: https://itsfoss.com/find-network-adapter-ubuntu-linux/ -[51]: https://itsfoss.com/wp-content/uploads/2022/11/lshw-command-examples.png -[52]: https://itsfoss.com/wp-content/uploads/2022/11/using-sudo-example-ubuntu.png -[53]: https://itsfoss.com/root-user-ubuntu/ -[54]: https://itsfoss.com/apt-update-vs-upgrade/ -[55]: https://itsfoss.com/apt-command-guide/ -[56]: https://itsfoss.com/add-apt-repository-command-not-found/ -[57]: https://itsfoss.com/ppa-guide/ -[58]: https://itsfoss.com/check-ip-address-ubuntu/ -[59]: https://itsfoss.com/wp-content/uploads/2022/11/ip-address-check-ubuntu.png -[60]: https://itsfoss.com/basic-linux-networking-commands/ -[61]: https://itsfoss.com/wp-content/uploads/2022/11/ping-command-ubuntu.png -[62]: https://linuxhandbook.com/ping-command/ -[63]: https://linuxhandbook.com/transfer-files-ssh/ -[64]: https://linuxhandbook.com/scp-command/ -[65]: https://learnubuntu.com/shutdown-ubuntu/ -[66]: https://linuxhandbook.com/linux-shutdown-command/ -[67]: https://itsfoss.com/schedule-shutdown-ubuntu/ -[68]: https://learnubuntu.com/restart-ubuntu/ -[69]: https://itsfoss.com/linux-man-page-guide/ -[70]: https://itsfoss.com/best-linux-books/ -[71]: https://nostarch.com/howlinuxworks3 -[72]: https://linuxcommand.org/tlcl.php -[73]: https://www.oreilly.com/library/view/linux-pocket-guide/9780596806347/ -[74]: https://linuxhandbook.gumroad.com/l/mEsrwA -[75]: https://linuxjourney.com/ -[76]: https://linuxhandbook.com/a-to-z-linux-commands/ From 6af636c4f235525df4331ace9a5b190f07c89f7b Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Thu, 24 Nov 2022 21:02:36 +0800 Subject: [PATCH 497/925] Update 20210415 5 reasons sysadmins love systemd.md --- sources/tech/20210415 5 reasons sysadmins love systemd.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210415 5 reasons sysadmins love systemd.md b/sources/tech/20210415 5 reasons sysadmins love systemd.md index f063a55ddc..5ce9e73653 100644 --- a/sources/tech/20210415 5 reasons sysadmins love systemd.md +++ b/sources/tech/20210415 5 reasons sysadmins love systemd.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/article/21/4/sysadmins-love-systemd) [#]: author: (Seth Kenlon https://opensource.com/users/seth) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (chai001125) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 6408be692a21096ea04e5e2ede4d54619f4e3867 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 25 Nov 2022 08:40:59 +0800 Subject: [PATCH 498/925] translated --- ...rebase to Fedora Linux 37 on Silverblue.md | 118 ------------------ ...rebase to Fedora Linux 37 on Silverblue.md | 118 ++++++++++++++++++ 2 files changed, 118 insertions(+), 118 deletions(-) delete mode 100644 sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md create mode 100644 translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md diff --git a/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md deleted file mode 100644 index 86f9ef58b3..0000000000 --- a/sources/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md +++ /dev/null @@ -1,118 +0,0 @@ -[#]: subject: "How to rebase to Fedora Linux 37 on Silverblue" -[#]: via: "https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/" -[#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/" -[#]: collector: "lujun9972" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to rebase to Fedora Linux 37 on Silverblue -====== - -![][1] - -Fedora Silverblue is [an operating system for your desktop built][2][ on Fedora Linux][2]. It’s excellent for daily use, development, and container-based workflows. It offers [numerous advantages][3] such as being able to roll back in case of any problems. If you want to update or rebase to Fedora Linux 37 on your Fedora Silverblue system (these instructions are similar for Fedora Kinoite), this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens. - -Prior to actually doing the rebase to Fedora Linux 37, you should apply any pending updates. Enter the following in the terminal: - -``` - - $ rpm-ostree update - -``` - -or install updates through GNOME Software and reboot. - -### Rebasing using GNOME Software - -GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen. - -![Fedora 37 update available][4] - -First thing you need to do is download the new image, so click on the _Download_ button. This will take some time. When it’s done you will see that the update is ready to install. - -![Fedora 37 update ready to install][5] - -Click on the _Restart & Upgrade_ button. This step will take only a few moments and the computer will be restarted at the end. After restart you will end up in new and shiny release of Fedora Linux 37. Easy, isn’t it? - -### Rebasing using terminal - -If you prefer to do everything in a terminal, then this part of the guide is for you. - -Rebasing to Fedora Linux 37 using the terminal is easy. First, check if the 37 branch is available: - -``` - - $ ostree remote refs fedora - -``` - -You should see the following in the output: - -``` - - fedora:fedora/37/x86_64/silverblue - -``` - -If you want to pin the current deployment (this deployment will stay as option in GRUB until you remove it), you can do it by running: - -``` - - # 0 is entry position in rpm-ostree status - $ sudo ostree admin pin 0 - -``` - -To remove the pinned deployment use the following command: - -``` - - # 2 is entry position in rpm-ostree status - $ sudo ostree admin pin --unpin 2 - -``` - -where 2 is the position in the rpm-ostree status. - -Next, rebase your system to the Fedora Linux 37 branch. - -``` - - $ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue - -``` - -Finally, the last thing to do is restart your computer and boot to Fedora Linux 37. - -### How to roll back - -If anything bad happens—for instance, if you can’t boot to Fedora Linux 37 at all—it’s easy to go back. Pick the previous entry in the GRUB menu at boot (if you don’t see it, try to press ESC during boot), and your system will start in its previous state before switching to Fedora Linux 37. To make this change permanent, use the following command: - -``` - - $ rpm-ostree rollback - -``` - -That’s it. Now you know how to rebase Fedora Silverblue to Fedora Linux 37 and roll back. So why not do it today? - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/ - -作者:[Michal Konečný][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://fedoramagazine.org/author/zlopez/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2021/04/silverblue-rebase-816x345.jpg -[2]: https://docs.fedoraproject.org/en-US/fedora-silverblue/ -[3]: https://fedoramagazine.org/give-fedora-silverblue-a-test-drive/ -[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-11-32-1024x714.png -[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-12-22-1024x714.png diff --git a/translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md new file mode 100644 index 0000000000..d9ea169c6d --- /dev/null +++ b/translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md @@ -0,0 +1,118 @@ +[#]: subject: "How to rebase to Fedora Linux 37 on Silverblue" +[#]: via: "https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/" +[#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/" +[#]: collector: "lujun9972" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Silverblue 上变基到 Fedora Linux 37 +====== + +![][1] + +Fedora Silverblue 是[基于 Fedora Linux 构建的桌面操作系统][2]。它非常适合日常使用、开发和基于容器的工作流程。它提供了[众多优势][3],例如能够在出现任何问题时回滚。如果你想在 Fedora Silverblue 系统上更新或变基到 Fedora Linux 37(这些说明与 Fedora Kinoite 类似),本文将告诉你如何操作。它不仅向你展示了该做什么,而且还向你展示了在发生不可预见的事情时如何恢复。 + +在实际对 Fedora Linux 37 进行变基之前,你应该应用任何待定的更新。在终端中输入以下内容: + +``` + +$ rpm-ostree update + +``` + +或通过 GNOME Software 安装更新并重新启动。 + +### 使用 GNOME Software 变基 + +GNOME Software 向你显示更新页面上有新版本的 Fedora Linux 可用。 + +![Fedora 37 更新可用][4] + +你需要做的第一件事是下载新图片,因此请点击_下载_按钮。这需要一些时间。完成后,你将看到更新已准备好安装。 + +![Fedora 37 更新准备好安装][5] + +点击 _Restart &Upgrade_ 按钮。此步骤只需要几分钟,最后计算机将重启。重启后,你将获得全新的 Fedora Linux 37 版本。很简单,不是吗? + +### 使用终端变基 + +如果你喜欢在终端中完成所有操作,那么本指南的这一部分适合你。 + +使用终端变基到 Fedora Linux 37 很容易。首先,检查 37 分支是否可用: + +``` + +$ ostree remote refs fedora + +``` + +你应该在输出中看到以下内容: + +``` + +fedora:fedora/37/x86_64/silverblue + +``` + +如果你想置顶当前部署(该部署将作为 GRUB 中的选项保留,直到你删除它),你可以通过运行以下命令来完成: + +``` + +# 0 is entry position in rpm-ostree status +$ sudo ostree admin pin 0 + +``` + +要删除置顶部署,请使用以下命令: + +``` + +# 2 is entry position in rpm-ostree status +$ sudo ostree admin pin --unpin 2 + +``` + +其中 2 是 rpm-ostree 状态中的位置。 + +接下来,将你的系统重新设置为 Fedora Linux 37 分支。 + +``` + +$ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue + +``` + +最后,要做的最后一件事是重新启动计算机并引导至 Fedora Linux 37。 + +### 如何回滚 + +如果发生任何不好的事情,例如,如果你根本无法启动到 Fedora Linux 37,这很容易回滚。在引导时选择 GRUB 菜单中的上一个条目(如果你没有看到它,请尝试在引导过程中按 ESC),你的系统将以切换到 Fedora Linux 37 之前的先前状态启动。要使此更改永久生效,请使用以下命令: + +``` + +$ rpm-ostree rollback + +``` + +就是这样。现在你知道如何将 Fedora Silverblue 变基到 Fedora Linux 37 并回滚。那么为什么不在今天做呢? + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/ + +作者:[Michal Konečný][a] +选题:[lujun9972][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/zlopez/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2021/04/silverblue-rebase-816x345.jpg +[2]: https://docs.fedoraproject.org/en-US/fedora-silverblue/ +[3]: https://fedoramagazine.org/give-fedora-silverblue-a-test-drive/ +[4]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-11-32-1024x714.png +[5]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/Screenshot-from-2022-11-15-11-12-22-1024x714.png \ No newline at end of file From e4fa7016a3802e23c855f0625b68d60450d1a034 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 25 Nov 2022 08:47:05 +0800 Subject: [PATCH 499/925] translating --- ...221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md index 3c354cd47f..ace1587af9 100644 --- a/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md +++ b/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/cinnamon-arch-linux-install/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ae8bdcc95a12bec174da747bd8e46f65022aab3b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 25 Nov 2022 10:02:43 +0800 Subject: [PATCH 500/925] RP @geekpi https://linux.cn/article-15287-1.html --- ...o Enable and Access USB Drive in VirtualBox.md | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) rename {translated/tech => published}/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md (52%) diff --git a/translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/published/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md similarity index 52% rename from translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md rename to published/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md index 231302dd62..5f6ec9d629 100644 --- a/translated/tech/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md +++ b/published/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md @@ -3,65 +3,68 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15287-1.html" -如何在 VirtualBox 中启用和访问 USB 驱动器 +如何在 VirtualBox 中启用和访问 U 盘 ====== -这是有关如何在 Oracle VirtualBox 中启用 USB 的指南。 + +> 这是有关如何在 Oracle VirtualBox 中启用 USB 的指南。 ![][1] -当你在虚拟机环境中工作时,USB 通常插入主机系统。但是从访客系统访问 USB 内容有点困难。 +当你在虚拟机环境中工作时,USB 通常插入主机系统。但是从客体系统访问 USB 内容有点困难。 在 VirtualBox 中,你需要安装一些扩展并启用一些设置才能访问 USB。方法如下。 本文假设你已经安装了 VirtualBox,并且还在其中安装了一些 Linux 发行版或操作系统。 -如果没有,请查看[此处的文章][2]。 +如果没有,请查看 [这篇文章][2]。 + +> **请注意,Oracle VM VirtualBox 扩展包采用 Oracle 的个人使用和评估许可证(PUEL)。该许可证与 VirtualBox 不同,后者采用的是 GPL。如果你将下面的步骤用于商业目的,请确保你仔细阅读 [本页面][11]。** ### 在 VirtualBox 7.0 中启用 USB #### 安装 VirtualBox 扩展包 -* 打开 VirtualBox 下载页面并从[此链接][3]下载适用于所有支持平台的 VirtualBox 扩展包。 +打开 VirtualBox 下载页面并从 [此链接][3] 下载适用于所有支持平台的 VirtualBox 扩展包。 ![下载扩展包][4] -* 然后单击 `文件 > 工具 > 扩展包管理器`。 +然后单击 “文件File > 工具Tools > 扩展包管理器Extension Pack Manager”。 -* 单击工具栏中的`安装`按钮并选择下载的 .vbox-extpak 文件。 +单击工具栏中的 “安装Install” 按钮并选择下载的 .vbox-extpak 文件。 -* 点击`安装`。接受条款,并为安装提供管理员密码。 +点击 “安装Install”。接受条款,并为安装提供管理员密码。 ![安装扩展包管理器][5] ![接受条款后安装扩展包管理器][6] -* 安装成功后,可以在已安装列表中看到。 +安装成功后,可以在已安装列表中看到。 -* 重启主机系统。重启是强制性的。 +重启主机系统。重启是强制性的。 -#### 在客户机中启用 USB +#### 在客体机中启用 USB -* 将 U 盘插入你的宿主机系统,你希望从虚拟机中访问该系统。 +将 U 盘插入你的宿主机系统,你希望从虚拟机中访问该系统。 -* 启动 VirtualBox 并右键单击要启用 USB 的 VM 名称。选择设置。 +启动 VirtualBox 并右键单击要启用 USB 的虚拟机名称。选择“设置Settings”。 ![虚拟机的启动设置][7] -* 在左窗格中,单击 USB。然后选择控制器版本。例如,你可以选择 USB 3.0。然后单击小加号图标添加 USB 过滤器。 +在左窗格中,单击 USB。然后选择控制器版本。例如,你可以选择 USB 3.0。然后单击小加号图标添加 USB 过滤器。 -* 在此列表中,你应该看到你的 U 盘名称(你插入的)。对于这个例子,我可以看到我插入的 Transcend Jetflash 驱动器。 +在此列表中,你应该看到你的 U 盘名称(你插入的)。对于这个例子,我可以看到我插入的 Transcend Jetflash 驱动器。 -* 选择它并按 OK。 +选择它并按 “OK”。 ![选择 U 盘][8] -* 现在,启动你的虚拟机。打开文件管理器,你应该会看到 USB 已启用并挂载到你的虚拟机上。 +现在,启动你的虚拟机。打开文件管理器,你应该会看到 U 盘已启用并挂载到你的虚拟机上。 -* 在此演示中,你可以看到我的 [Arch-Xfce][9] 虚拟机的 Thunar 文件管理器正在显示我的 U 盘中的内容。 +在此演示中,你可以看到我的 [Arch-Xfce][9] 虚拟机的 Thunar 文件管理器正在显示我的 U 盘中的内容。 ![启用 USB 并从 VirtualBox 访问内容][10] @@ -69,11 +72,11 @@ 现在,这里有几件事你应该记住。 -* 当你在主机系统中插入 USB 时,请保持挂载状态。但在启动虚拟机之前不要打开或访问任何文件。 +当你在主机系统中插入 U 盘时,请保持挂载状态。但在启动虚拟机之前不要打开或访问任何文件。 -* 启动虚拟机后,USB 将在主机系统中卸载并自动挂载到客户机系统中,即你的虚拟机。 +启动虚拟机后,U 盘将在主机系统中卸载并自动挂载到客体系统中,即你的虚拟机。 -* 使用完 U 盘后,确保在虚拟机中将其弹出或卸载。然后它将能再从你的宿主机系统内访问。 +使用完 U 盘后,确保在虚拟机中将其弹出或卸载。然后它将能再从你的主机系统内访问。 ### 总结 @@ -90,7 +93,7 @@ via: https://www.debugpoint.com/enable-usb-virtualbox/ 作者:[Arindam][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/) 荣誉推出 @@ -106,3 +109,4 @@ via: https://www.debugpoint.com/enable-usb-virtualbox/ [8]: https://www.debugpoint.com/wp-content/uploads/2022/10/Select-the-USB-stick.jpg [9]: https://www.debugpoint.com/xfce-arch-linux-install-4-16/ [10]: https://www.debugpoint.com/wp-content/uploads/2022/10/Enabling-USB-and-accessing-contents-from-VirtualBox.jpg +[11]: https://www.virtualbox.org/wiki/VirtualBox_PUEL \ No newline at end of file From e1ac85ac7d095b55bfa7025e8eae1dede37d6cd9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 25 Nov 2022 10:25:28 +0800 Subject: [PATCH 501/925] =?UTF-8?q?=E6=B8=85=E9=99=A4=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=92=8C=E8=BF=87=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.10- Top New Features and Release Wiki.md | 169 ------------ ...tu 22.10 Kinetic Kudu- Top New Features.md | 88 ------ ...ie 22.10 Kinetic Kudu- Top New Features.md | 93 ------- ...Inspiring Facts From Its Glorious Past!.md | 193 ------------- ...0 Best Linux Distributions in 2022 For Everyone.md | 221 --------------- ...nux Distributions for your Old Hardware in 2022.md | 218 --------------- ...0 Most Beautiful Linux Distributions [Featured].md | 216 --------------- ...0 32-Bit Linux Distributions in 2022 [Compared].md | 255 ------------------ ...Make LibreOffice Look Like Microsoft Office.md | 112 -------- 9 files changed, 1565 deletions(-) delete mode 100644 sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md delete mode 100644 sources/tech/20221012 Kubuntu 22.10 Kinetic Kudu- Top New Features.md delete mode 100644 sources/tech/20221013 Ubuntu Budgie 22.10 Kinetic Kudu- Top New Features.md delete mode 100644 sources/tech/20221014 Celebrating KDE-s 26th Birthday With Some Inspiring Facts From Its Glorious Past!.md delete mode 100644 sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md delete mode 100644 sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md delete mode 100644 sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md delete mode 100644 sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md delete mode 100644 sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md diff --git a/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md b/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md deleted file mode 100644 index 4e78ea7df5..0000000000 --- a/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md +++ /dev/null @@ -1,169 +0,0 @@ -[#]: subject: "Ubuntu 22.10: Top New Features and Release Wiki" -[#]: via: "https://www.debugpoint.com/ubuntu-22-10/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu 22.10: Top New Features and Release Wiki -====== -Here’s the list of new features and tech which is coming up in Ubuntu 22.10 Kinetic Kudu. - -![Ubuntu 22.10 Kinetic Kudu Desktop (dev)][1] - -The development of Ubuntu 22.10 is almost at the finishing stage, and the BETA is out. At this stage, features are frozen, and only testing/bug fixes are ongoing for Ubuntu 22.10. - -In this article, I will touch upon the essential features of Ubuntu 22.10 Kinetic Kudu. But before that, a quick summary of the schedule. - -Ubuntu 22.10 BETA was released on September 29, 2022, and it’s currently under testing. - -The final release of Ubuntu 22.10 is on October 20, 2022. - -Since it is a short-term release, it is supported for nine months until July 20, 2023. - -### Ubuntu 22.10 Kinetic Kudu Desktop: Top Features - -Following the letter-based code name, we are at “K” following the “J” of Jammy Jellyfish. This version is code-named “Kinetic Kudu”, named after a [long-horned animal species][2] found in Africa. - -All the packages and repos are named as “kinetic” in applicable places for this release. - -#### Linux Kernel - -Ubuntu 22.10 features Linux Kernel 5.19, which was released a few days back. The current mainline kernel, which is dubbed as [version 6.0][3], won’t feature in this version due to a schedule mismatch. - -Linux Kernel 5.19 brings regular updates across CPU, GPU and other peripherals. Significant features in this Kernel include multi-platform ARM support, LoongArch arch support, support for AMD RDNA, CDNA, Intel’s Raptor Lake and many important updates. You can read in detail about its new features on [this page][4]. - -#### GNOME 43 - -In Ubuntu 22.10, GNOME 43 is the base desktop version. GNOME 43 is an impressive release in terms of features and work around the GTK4 and libadwaita. A lot of features which was missed to reach in Ubuntu 22.04 LTS, finally arrived in this version. - -Since the feature list is vast, I will try to summarize it here. - -First and foremost, GNOME Shell gets high-resolution scroll wheel support, colour support in server decoration, and improved animation and performance all around the desktop. - -Secondly, the vital app – Files (Nautilus) 43 brings a vast set of tweaks after its migration to GTK4. In Files 43, you get the redesigned context menu, rubberband selection, adaptive sidebar, which auto-hides based on its size, emblems support and new GtkColumnView support for a better experience. - -Third, the stunning [GNOME 43 quick settings][5] arrive in Ubuntu. The settings will give you easy access to several key items right from the tray. - -Other important changes in GNOME 43 include: - -* An updated properties dialog window with intelligent behaviour based on file types -* GNOME Web gets web extension API support enabling you to install Firefox and Chrome add-ons -* Improved context menu in Files sidebar -* Updated app info page in Software - -Don’t forget to review my detailed [GNOME 43 feature write-up][6] to learn more. - -#### New Settings Panel - -There are some [key changes][7] arrive in the Settings panel. A new panel is introduced – “Ubuntu Desktop” which has the desktop icon and dock options. This panel is unavailable in vanilla GNOME (e.g. in Fedora Workstation). - -![New Ubuntu desktop and Appearance tab in settings][8] - -The Background tab is now merged with the Appearance tab. This essentially consolidates Ubuntu’s theming options to one single setting page. Effectively, it’s a good change and a wise UI decision. In addition, a new “Device Security Panel” is also introduced. - -#### PipeWire by Default - -Ubuntu 22.10 is all about adopting the new tech, and leaving the legacy items behind. With that motto, in this release, the Pipewire sound server is made default for the first time in Ubuntu. PulseAudio will still be there but inactive for now. - -For those folks in Audio recording, mixing work would greatly benefit from this. - -#### IWD replacing the wpa_supplicant - -Similarly, with PipeWire, another new tech adoption is coming in Ubuntu 22.10. The legacy `wpa_supplicant` wireless module is changing, and IWD (iNet Wireless Daemon) is replacing it. The IWD was developed by Intel, and it had certain advantages and more features over wpa_supplicant. - -Besides, the wpa_supplicant is almost two decades old and served its purpose in GNU/Linux and BSD systems. - -In my personal experience, I had some difficult experiences with wpa_supplicant, which manages the Wi-Fi connections. For example, sudden disconnection, and not waking up the Wi-Fi after standby, to name a few. - -With the modern IWD, I hope the continuous struggle with several users with Ubuntu and Wi-Fi shall disappear. If you want to learn more about IWD, you can read some excellent discussions [here][9] and [here][10]. - -#### Official desktop flavours - -All the official desktop flavours of Ubuntu are getting their current stable release. If you are already using Xubuntu, Ubuntu MATE – well, you get the same version as the prior one. Because these desktops did not have a major upgrade recently. - -Lubuntu users should get the recently released LXQt 1.1.0 desktop which brings additional features such as compact and a new application menu, new theming changes and more. - -Kubuntu users should get KDE Plasma 5.25, which brings you some unique features such as a floating panel, dynamic accent colour and many [such exciting features][11]. - -Budgie lovers should get the new features that are under development via Ubuntu Budgie 22.10. I will write up a separate article on Budgie because of the changes. - -So, in summary, you get [Xfce 4.16][12], MATE 1.24, KDE Plasma 5.25 and LXQt 1.1.0 as the desktop versions. - -#### Tool-chain updates - -Now, it’s time to find out about the important packages and programming updates for developers. In this release, you get the following version upgrades for individual items. - -* BlueZ 5.65 -* CUPS 2.4 -* Python 3.10.6 -* NetworkManager 1.38 -* Mesa 22 -* Pipewire 0.3.56 -* PulseAudio 16 -* xdg-desktop-portal 1.14 - -Although, I am not sure whether Python 3.11 will be ready ([currently in RC][13]) before release. I hope not. - -#### Wallpaper - -Finally, a brand new wallpaper featuring the official Kudu mascot is ready to give your desktop a nice touch. - -#### Summary of the key changes in Ubuntu 22.10 - -* Linux Kernel 5.19 -* GNOME 43 -* Pipewire by default -* IWD is replacing wpa_supplicant -* KDE Plasma 5.25 in Kubuntu -* LXQt 1.1.0 in Lubuntu -* Firefox 104 -* LibreOffice 7.4 -* Thunderbird 102 - -You can download the BETA builds of this release (which are stable with the condition) [from this page][14] for testing. - -The flavours’ BETA builds are available on the below pages. - -| Ubuntu Flavour | Link for daily builds .iso image(s) | -| :- | :- | -| Ubuntu 22.10 Desktop | http://cdimage.ubuntu.com/daily-live/current/ | -| Xubuntu 22.10 | https://cdimage.ubuntu.com/xubuntu/releases/kinetic/beta/ | -| Ubuntu MATE 22.10 | https://cdimage.ubuntu.com/ubuntu-mate/releases/kinetic/beta/ | -| Ubuntu Kylin 22.10 | https://cdimage.ubuntu.com/ubuntukylin/releases/kinetic/beta/ | -| Lubuntu 22.10 | https://cdimage.ubuntu.com/lubuntu/releases/kinetic/beta/ | -| Kubuntu 22.10 | https://cdimage.ubuntu.com/kubuntu/releases/kinetic/beta/ | -| Ubuntu Budgie 22.10 | https://cdimage.ubuntu.com/ubuntu-budgie/releases/kinetic/beta/ | -| Ubuntu Unity 22.10 | https://cdimage.ubuntu.com/ubuntu-unity/releases/kinetic/beta/ | - -So, that’s about it on the changes in Ubuntu 22.10. Do let me know about your favourite feature in the comment box. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/ubuntu-22-10/ - -作者:[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/08/Ubuntu-22.10-Kinetic-Kudu-Desktop-dev.jpg -[2]: https://en.wikipedia.org/wiki/Kudu -[3]: https://www.debugpoint.com/linux-kernel-6-0/ -[4]: https://www.debugpoint.com/linux-kernel-5-19/ -[5]: https://www.debugpoint.com/gnome-43-quick-settings/ -[6]: https://www.debugpoint.com/gnome-43/ -[7]: https://launchpad.net/ubuntu/kinetic/+source/gnome-control-center/+changelog -[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/New-Ubuntu-desktop-and-Appearance-tab-in-settings.jpg -[9]: https://bbs.archlinux.org/viewtopic.php?id=237074 -[10]: https://bbs.archlinux.org/viewtopic.php?pid=1858588#p1858588 -[11]: https://www.debugpoint.com/kde-plasma-5-25/ -[12]: https://www.debugpoint.com/xfce-4-16-review/ -[13]: https://pythoninsider.blogspot.com/2022/08/python-3110rc1-is-now-available.html -[14]: https://cdimage.ubuntu.com/daily-live/current/ diff --git a/sources/tech/20221012 Kubuntu 22.10 Kinetic Kudu- Top New Features.md b/sources/tech/20221012 Kubuntu 22.10 Kinetic Kudu- Top New Features.md deleted file mode 100644 index 3396550fa8..0000000000 --- a/sources/tech/20221012 Kubuntu 22.10 Kinetic Kudu- Top New Features.md +++ /dev/null @@ -1,88 +0,0 @@ -[#]: subject: "Kubuntu 22.10 Kinetic Kudu: Top New Features" -[#]: via: "https://www.debugpoint.com/kubuntu-22-10-features/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Kubuntu 22.10 Kinetic Kudu: Top New Features -====== -A brief summary of Kubuntu 22.10 “Kinetic Kudu” and additional information about the release. - -![Kubuntu 22.10 Kinetic Kudu Desktop][1] - -### Kubuntu 22.10: Top New Features - -Among all the [great KDE Plasma-based distributions][2], Kubuntu is the best. Because it brings stability to both Plasma and at its core, that is Ubuntu. - -Kubuntu 22.10 is a short-term release based on Ubuntu 22.10 – supported for nine months from the release. Since short-term releases are to adopt the latest technologies, removing the obsolete ones, its features list is minimal. - -This release of Kubuntu features Linux Kernel 5.19, which brings run-time Average Power Limiting (RAPL) support for Intel’s Raptor and Alder Lake processor, multiple families of ARM updates in mainline kernel and usual processor/GPU and file-system updates. Learn more about Kernel 5.19 features in [this article][3]. - -Compared to the prior [Kubuntu release 22.04 LTS][4] (with Plasma 5.24), you get the latest KDE Plasma 5.25 (final point release) desktop with all the bug fixes and updates. - -Although, [KDE Plasma 5.26][5], which has just got released, could not make it to this version. But I believe it should come in as a point release, just not on the release day. - -Besides, Plasma 5.25 is not small in terms of features. It’s, in fact, packed with new cool advancements. If you are especially using Kubuntu’s earlier version, you should be aware of these new items. - -Firstly, Kubuntu 22.10 enables you to make your default panel “float”. We call it the Floating Panel. So, no more using the add-ons for this. - -Secondly, the accent colour of your desktop can change based on the wallpaper’s tone. Now you can see your Kubuntu desktop changes dynamically when you enable it from Settings > Global Theme > Colours. - -![KDE Plasma - Dynamic Accent Colour and Floating Panel Demo][6] - -In addition, switching between dark and light modes becomes more smooth thanks to the change. Also, in Kubuntu 22.10 with Wayland, you can now see and apply the display-specific resolutions in the settings dropdown. - -On the other hand, Discover is more friendly to Flatpak, with additional app details and an additional options button to notify you that there is still data for uninstalled apps. - -![The app page gives more clarity in Plasma 5.25][7] - -Furthermore, the Krunner launcher in Kubuntu now detects the search language and display results accordingly. Also, the network manager applet now shows the Wi-Fi frequency alongside the access point name (this is help full for cases where you have the same access point name for 4G and 5G bands). - -All of these changes are powered by Qt 5.15.6 and Framework 5.98. If you want to learn more about Plasma 5.25, refer to the dedicated feature guide [here][8]. - -### Other features of Kubuntu 22.10 - -The core applications and packages bump up to their respective versions based on Ubuntu 22.10, and here’s a summary. - -* Linux Kernel 5.19 -* KDE Plasma 5.25.5 (hopefully will get 5.26 soon) -* KDE Framework 5.98 -* Qt 5.15.6 -* Firefox 105.0.1 -* Thunderbird 102.3.2 -* LibreOffice 7.4.2.3 -* VLC Media Player 3.0.17 -* Pipewire replacing PulseAudio - -Finally, you can download the Kubuntu 22.10 BETA from the below links. - -[https://cdimage.ubuntu.com/kubuntu/releases/kinetic/beta/][9] - -While the developers are preparing for the final release (due on Oct 20, 2022), you can try it on a [virtual machine][10], Or a physical system. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/kubuntu-22-10-features/ - -作者:[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/10/Kubuntu-22.10-Kinetic-Kudu-Desktop.jpg -[2]: https://www.debugpoint.com/top-linux-distributions-kde-plasma/ -[3]: https://www.debugpoint.com/linux-kernel-5-19/ -[4]: https://www.debugpoint.com/kubuntu-22-04-lts/ -[5]: https://www.debugpoint.com/kde-plasma-5-26/ -[6]: https://youtu.be/npfHwMLXXHs -[7]: https://www.debugpoint.com/wp-content/uploads/2022/05/App-page-gives-more-clarity-in-Plasma-5.25.jpg -[8]: https://www.debugpoint.com/kde-plasma-5-25/ -[9]: https://cdimage.ubuntu.com/kubuntu/releases/kinetic/beta/ -[10]: https://www.debugpoint.com/tag/virtual-machine diff --git a/sources/tech/20221013 Ubuntu Budgie 22.10 Kinetic Kudu- Top New Features.md b/sources/tech/20221013 Ubuntu Budgie 22.10 Kinetic Kudu- Top New Features.md deleted file mode 100644 index 0bee836b7f..0000000000 --- a/sources/tech/20221013 Ubuntu Budgie 22.10 Kinetic Kudu- Top New Features.md +++ /dev/null @@ -1,93 +0,0 @@ -[#]: subject: "Ubuntu Budgie 22.10 Kinetic Kudu: Top New Features" -[#]: via: "https://www.debugpoint.com/ubuntu-budgie-22-10-features/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu Budgie 22.10 Kinetic Kudu: Top New Features -====== -Here’s a brief overview of the Ubuntu Budgie 22.10 (upcoming) and its features. - -![Ubuntu Budgie 22.10 KInetic Kudu Desktop][1] - -### Ubuntu Budgie 22.10: Top New Features - -The Budgie desktop has a different fan base because of its fusion of simplicity, feature and performance. Ubuntu Budgie 22.10 is an official Budgie flavour of Ubuntu, where you get the latest Ubuntu base with a stable Budgie desktop. - -Ubuntu Budgie 22.10 is a short-term release, supported for nine months until July 2023. - -This release of Ubuntu Budgie features Linux Kernel 5.19, which brings run-time Average Power Limiting (RAPL) support for Intel’s Raptor and Alder Lake processor, multiple families of ARM updates in mainline kernel and usual processor/GPU and file-system updates. Learn more about Kernel 5.19 features in [this article][2]. - -At the heart of this version, Ubuntu Budgie is powered by Budgie Desktop version 10.6.4, which brings updated applications and additional core tweaks. If you are using the prior Ubuntu budgie version, i.e. 22.04 or 21.10, you will notice some changes. And you should be aware of those. - -First of all, the Budgie Control Center gets modern protocols for screensharing (both RDP and VNC), enhanced fractional scaling and colour profile support for your monitor. In addition, the Control centre now shows the monitor refresh rate and additional support added for Wacom tablets. - -Secondly, Budgie desktop settings get a global option to control applets spacing and additional refinements. - -After removing the calendar launcher, the clock at the top bar now only gives the launcher for date/time settings. You can access the Calendar from the applets at the extreme right of the top bar. - -Ubuntu Budgie 22.10 fundamentally changed its application stack, which ships by default. Earlier (22.04 and prior), Budgie featured the GNOME applications as default for several desktop functions. Since GNOME is already moved to libadwaita/GTK4 with its own styling and theming, those apps wouldn’t look consistent in Budgie’s styling. - -That is correct. Because these rounded corners with budgie/mate apps really look off. - -![Budgie desktop with GTK4-libadwaita and MATE apps][3] - -So, from this release onwards, the default app sets are slowly moving away from GNOME Apps to native or MATE apps/alternatives. - -For Example, GNOME Calculator and System Monitor are now replaced by Mate Calculator and Mate system monitor. Atril document viewer replaces Evince reader. In addition, font-manager replaces GNOME Font Viewer, and a list of other GNOME apps are in “wait and watch” mode. They may get replaced in upcoming Budgie desktop point releases. - -However, the text editor is still Gedit in this version, which is already a [great choice][4]. And a new native screenshot application debuts with a tweak tool for Raspberry Pi devices. - -If you want to learn more about this transition, read the discussion [here][5]. - -So, that’s about the core changes in this release and here’s a quick summary of Ubuntu Budgie alongside other applications. - -### Summary of the core items of Ubuntu Budgie 22.10 - -#### Core and major items - -* [Ubuntu 22.10][6] -* Linux Kernel 5.19 -* Budgie desktop version 10.6.4 -* Firefox 105.0.1 (Snap version) -* Thunderbird 102.3.2 -* LibreOffice 7.4.2.3 - -#### Other changes - -* Pipewire replacing PulseAudio. The PulseAudio package is removed from ISO. -* WebP support by default -* New Tweak Tool for ARM devices (Raspberry Pi) -* Tilix Terminal 1.9.5 -* Transmission torrent client 3.0.0 -* GNOME Software 43.0 - -Finally, you can download Ubuntu Budgie 22.10 Beta from the below link. Also you can try out the Raspberry Pi beta image as well. - -* [Link to the beta build][7] -* [Link to Raspberry Pi build][8] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/ubuntu-budgie-22-10-features/ - -作者:[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/10/Ubuntu-Budgie-22.10-KInetic-Kudu-Desktop-1024x578.jpg -[2]: https://www.debugpoint.com/linux-kernel-5-19/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Budgie-desktop-with-GTK4-libadwaita-and-MATE-apps.jpg -[4]: https://www.debugpoint.com/gedit-features/ -[5]: https://discourse.ubuntubudgie.org/t/default-applications-review-for-22-10-23-04-and-beyond/5883 -[6]: https://www.debugpoint.com/ubuntu-22-10/ -[7]: https://cdimage.ubuntu.com/ubuntu-budgie/releases/kinetic/beta/ -[8]: https://sourceforge.net/projects/budgie-remix/files/budgie-raspi-22.10/ diff --git a/sources/tech/20221014 Celebrating KDE-s 26th Birthday With Some Inspiring Facts From Its Glorious Past!.md b/sources/tech/20221014 Celebrating KDE-s 26th Birthday With Some Inspiring Facts From Its Glorious Past!.md deleted file mode 100644 index 552185aee7..0000000000 --- a/sources/tech/20221014 Celebrating KDE-s 26th Birthday With Some Inspiring Facts From Its Glorious Past!.md +++ /dev/null @@ -1,193 +0,0 @@ -[#]: subject: "Celebrating KDE’s 26th Birthday With Some Inspiring Facts From Its Glorious Past!" -[#]: via: "https://itsfoss.com/kde-facts-trivia/" -[#]: author: "Avimanyu Bandyopadhyay https://www.gizmoquest.com" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Celebrating KDE’s 26th Birthday With Some Inspiring Facts From Its Glorious Past! -====== - -Wishing a Very Happy Birthday to **KDE**! - -Let us celebrate this moment by looking back on its glorious history with some inspiring facts on this legendary and much-loved Desktop Environment! - -![kde birthday][1] - -### KDE’s Origin - -**26 years ago**, [Matthias Ettrich][2] (a German Computer Scientist currently working at [HERE][3]) founded KDE. - -![matthias 2950607241][4] - -When Matthias was a student at the [Eberhard Karls University of Tübingen][5], he was not satisfied as a [Common Desktop Environment (CDE)][6] user. - -CDE is a desktop environment for Unix. - -However, he wanted an interface that was more comfortable, simpler, and easy to use, with a better look and feel. - -So, in 1996, Matthias Ettrich announced the **Kool Desktop Environment (KDE)**, a GUI (graphical user interface) for Unix systems, built with Qt and C ++. - -Note that the full form of KDE was an innocent pun intended to CDE at the time. You do not usually say it as “Kool Desktop Environment”, just KDE as of now. You can read the [original announcement post][7] to get a dose of nostalgia. - -**Trivia**: The official mascot of KDE is Konqi who has a girlfriend named Katie. Previously there used to be a wizard named [Kandalf][8] but was later replaced by Konqi because many people loved and preferred the mascot to be this charming and friendly dragon! - -![Konqi is KDE's mascot. Katie is his girlfriend and mascot of KDE women's project.][9] - -[Konqi][10] - -[Katie][11] - -And, here’s how it looked like with KDE mascot: - -![Screenshot of earlier version of KDE desktop][12] - -### 13 Interesting and Inspiring Facts on KDE - -We’ve looked back into some interesting yet inspiring events that took place over the last 26 years of the KDE project: - -#### 1. Early Development Events - -15 developers met in Arnsberg, Germany, in 1997, to work on the KDE project and discuss its future. This event came to be known as [KDE One][13] followed by [KDE Two][14] and [KDE Three][15] and so on in the later years. They even had [one][16] for a beta version. - -#### 2. The KDE Free Qt Foundation Agreement - -The foundation agreement for the [KDE Free Qt Foundation][17] was signed by [KDE e.V.][18] and [Trolltech][19], then owner of the Qt Foundation who [ensured the permanent availability][20] of Qt as free software. - -#### 3. First Stable Version - -![kde 1][21] - -The [first stable version][22] of KDE was released in **1998**, in addition to highlighting an application development framework, the [KOM/OpenParts][23], and an office suite preview. You can check out the [KDE 1.x Screenshots][24]. - -#### 4. The KDE Women Initiative - -The community women’s group, [KDE Women][25], was created and announced in March 2001 with the primary goal to increase the number of women in free software communities, particularly in KDE. - -#### 5. 1 Million Commits - -The community [reached 1 million commits][26] within a span of only 19 months, from 500,000 in January 2006 and 750,000 in December 2007, with the launch of KDE 4 at the same time. - -#### 6. Release Candidate of Development Platform Announced - -A [release candidate][27] of KDE’s development platform consisting of basic libraries and tools to develop KDE applications was announced on October 2007. - -#### 7. First KDE & Qt event in India - -The [first conference][28] of the KDE and Qt community in India happened in Bengaluru in March 2011 that became an annual event henceforth. - -#### 8. GCompris and KDE - -In **December 2014**, the educational software suite [GCompris joined][29] the [project incubator of KDE community][30] (We have [previously][31] discussed GCompris, which is bundled with Escuelas Linux, a comprehensive educational distro for teachers and students). - -#### 9. KDE Slimbooks - -In **2016**, the KDE community partnered with a Spanish laptop retailer and [announced the launch of the KDE Slimbook][32], an ultrabook with KDE Plasma and KDE Applications pre-installed. Slimbook offers a pre-installed version of [KDE Neon][33] and [can be purchased from their website][34]. - -#### 10. Transition to GitLab - -In **2019**, KDE [migrated][35] from Phabricator to GitLab to enhance the development process and let new contributors easy access to the workflow. However, KDE still uses bugzilla for tracking bugs. - -#### 11. Adopts Decentralized Matrix Protocol - -KDE added Matrix bridge to the IRC channels and powered up its native chat clients using the open-source decentralized Matrix protocol in **2019**. - -#### 12. KDE PinePhone - -KDE developers teamed up with [PINE64][36] in **2020** to introduce a community edition PinePhone powered by KDE. - -#### 13. Valve Picks KDE for Steam Deck - -Steam Deck is undoubtedly a super trending Linux gaming console right now. And, Valve chose KDE as its desktop environment to make it work in **2021**. - -### Today, KDE is Powered by Three Great Projects - -#### KDE Plasma - -Previously called Plasma Workspaces, KDE Plasma facilitates a unified workspace environment for running and managing applications on various devices like desktops, netbooks, tablets or even [smartphones][37]. - -Currently, [KDE Plasma 5.26][38] is the most recent version and was released some days ago. The KDE Plasma 5 project is the fifth generation of the desktop environment and is the successor to KDE Plasma 4. - -#### KDE Applications - -KDE Applications are a bundled set of applications and libraries designed by the KDE community. Most of these applications are cross-platform, though primarily made for Linux. - -A very [nice][39] project in this category is a music player called Elisa focused on an optimised integration with Plasma. - -#### KDE Development Platform - -The KDE Development Platform is what significantly empowers the above two initiatives, and is a collection of libraries and software frameworks released by KDE to promote better collaboration among the community to develop KDE software. - -**Personal Note**: It was an honour covering this article on KDE’s Birthday and I would like to take this opportunity to brief some of my personal favourite KDE based apps and distros that I have extensively used in the past and continue to. - -Check out the entire [timeline][40] in detail here for a more comprehensive outline or you can take a look at this 19-year visual changes in this interesting video: - -![A Video from YouTube][41] - -### Best KDE-Based Distributions - -If you have heard all the good things about KDE, you should try out the distributions powered by KDE. - -We have a [list of Linux distributions based on KDE][42], if you are curious. - -*Hope you liked our favourite moments in KDE history on their 26th Anniversary! Please do write about any thoughts you might have about any of your memorable experiences with KDE in the comments below.* - -This article was originally published in 2018, and has been edited to reflect latest information. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/kde-facts-trivia/ - -作者:[Avimanyu Bandyopadhyay][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.gizmoquest.com -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2022/10/kde-birthday.png -[2]: https://en.wikipedia.org/wiki/Matthias_Ettrich -[3]: https://here.com/ -[4]: https://itsfoss.com/wp-content/uploads/2022/10/matthias-2950607241.jpg -[5]: https://www.uni-tuebingen.de/en -[6]: https://en.wikipedia.org/wiki/Common_Desktop_Environment -[7]: https://kde.org/announcements/announcement/ -[8]: https://en.wikipedia.org/wiki/Konqi#Kandalf -[9]: https://itsfoss.com/wp-content/uploads/2018/10/Konqi-and-Katie.jpg -[10]: https://en.wikipedia.org/wiki/Konqi -[11]: https://community.kde.org/Katie -[12]: https://itsfoss.com/wp-content/uploads/2018/10/Konqi-from-the-early-days-who-replaced-Kandalf-right.jpg -[13]: https://community.kde.org/KDE_Project_History/KDE_One_(Developer_Meeting) -[14]: https://community.kde.org/KDE_Project_History/KDE_Two_(Developer_Meeting) -[15]: https://community.kde.org/KDE_Project_History/KDE_Three_(Developer_Meeting) -[16]: https://community.kde.org/KDE_Project_History/KDE_Three_Beta_(Developer_Meeting) -[17]: https://www.kde.org/community/whatiskde/kdefreeqtfoundation.php -[18]: https://www.kde.org/announcements/fsfe-associate-member.php -[19]: https://dot.kde.org/2007/02/28/trolltech-becomes-first-corporate-patron-kde -[20]: https://dot.kde.org/2016/01/13/qt-guaranteed-stay-free-and-open-%E2%80%93-legal-update -[21]: https://itsfoss.com/wp-content/uploads/2022/10/kde-1.jpg -[22]: https://www.kde.org/announcements/announce-1.0.php -[23]: https://www.kde.org/kdeslides/Usenix1998/sld016.htm -[24]: https://czechia.kde.org/screenshots/kde1shots.php -[25]: https://community.kde.org/KDE_Women -[26]: https://dot.kde.org/2009/07/20/kde-reaches-1000000-commits-its-subversion-repository -[27]: https://www.kde.org/announcements/announce-4.0-platform-rc1.php -[28]: https://dot.kde.org/2010/12/28/confkdein-first-kde-conference-india -[29]: https://dot.kde.org/2014/12/11/gcompris-joins-kde-incubator-and-launches-fundraiser -[30]: https://community.kde.org/Incubator -[31]: https://itsfoss.com/escuelas-linux/ -[32]: https://dot.kde.org/2017/01/26/kde-and-slimbook-release-laptop-kde-fans -[33]: https://en.wikipedia.org/wiki/KDE_neon -[34]: https://slimbook.es/en/store/slimbook-kde -[35]: https://pointieststick.com/2020/05/23/this-week-in-kde-we-have-migrated-to-gitlab/ -[36]: https://www.pine64.org -[37]: https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp -[38]: https://news.itsfoss.com/kde-plasma-5-26-release/ -[39]: https://mgallienkde.wordpress.com/2018/10/09/0-3-release-of-elisa-music-player/ -[40]: https://timeline.kde.org/ -[41]: https://youtu.be/1UG4lQOMBC4 -[42]: https://itsfoss.com/best-kde-distributions/ diff --git a/sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md b/sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md deleted file mode 100644 index abb6345f04..0000000000 --- a/sources/tech/20221017.0 ⭐️⭐️ Top 10 Best Linux Distributions in 2022 For Everyone.md +++ /dev/null @@ -1,221 +0,0 @@ -[#]: subject: "Top 10 Best Linux Distributions in 2022 For Everyone" -[#]: via: "https://www.debugpoint.com/best-linux-distributions-2022/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 Best Linux Distributions in 2022 For Everyone -====== - -**We compiled a list of the 10 best Linux distributions for everyone in 2022 based on their stability, attractiveness and time required to configure after installation.** - -The Linux Distribution space is heavily fragmented to the point that a new fork is being created almost daily. A very few of them are unique and bring something different to the table. Most of them are just the same Ubuntu or Debian based with a different theme or a wrapper. - -The Linux distro landscape is so dynamic that it changes every month. Some Linux distributions become more stable with ever-changing packages and components, while others become unstable in quality. Hence, it’s challenging to pick and choose the best Linux distribution for your school, work or just casual browsing, watching movies, etc. Not to mention, many Linux distributions are discontinued yearly due to a lack of contributions, cost overruns and other reasons. - -That said, we compiled the below 10 best Linux distributions in 2022, which are perfect for any user or use case. That includes casual dual-boot users with Windows 10 or 11, students, teachers, developers, creators, etc. Take a look. - -### Best Linux Distributions of 2022 - -#### 1. Fedora KDE - -The first Linux distribution, which I think is the best on this list, is Fedora Linux KDE Edition. The primary reason is that Fedora Linux is very stable with the latest tech, and KDE Plasma is super fast and perfect for all users. Moreover, this Fedora and KDE Plasma combination doesn’t require further modification or tweaks after installation. Over the last couple of releases and after the latest [Fedora 36][1] release feedback, Fedora Linux with KDE Plasma has become the go-to distribution for every possible use case and workflow. - -In addition, KDE Plasma also brings KDE Applications and goodies, eliminating additional software you need. And with the help of Fedora repo and [RPM Fusion][2], you can blindly trust Fedora Linux with KDE Edition for your daily driver. - -[![Fedora KDE Edition - Best Linux Distributions of 2022][3]][4] - -On a side note, you can also consider the [Fedora Linux workstation][5] edition with GNOME if you prefer a GNOME-styled desktop. In addition, you might consider other [Fedora Spins][6] or [Fedora Labs][7] if you like a different desktop flavour. - -You can download Fedora KDE Edition here. Other downloads with [torrent details][8] are present here. - -[Download Fedora][9] - -#### 2. KDE Neon - -The second distribution we would like to feature in this list is KDE Neon. The KDE Neon is based on the Ubuntu LTS release at its base. But the KDE Framework and KDE Applications with KDE Plasma desktop are the latest from the team. The primary reason for featuring this is that it is perfect for you if you want a Ubuntu LTS base distribution but want the latest KDE Applications. In fact, you can use it for your daily driver for years to come, provided you keep your system up to date. - -In contrast, the Kubuntu LTS releases are also perfect. But they may not have the latest KDE Framework or applications. - -[![KDE Neon - Best Linux Distributions of 2022][10]][11] - -You can download the KDE Neon at the below link. Make sure to choose the user edition while downloading. - -[Download KDE Neon][12] - -#### 3. Ubuntu LTS Releases with GNOME - -The Ubuntu LTS releases (with default GNOME Desktop) are the most used Linux Distribution today. It’s the most popular, most downloaded and used by users, enterprises and several real-world needs. - -There is no doubt about the Ubuntu LTS version’s power and stability. It has been time-tested. With the vast community support, Ubuntu LTS versions with customised GNOME might be the perfect fit for your needs. - -Most third-party applications and games primarily target Ubuntu, and you get a much bigger support base than all the distributions in this list. But the recent trends of decisions from Canonical (Ubuntu’s creator), such as forcing users to adopt Snap and other stuff, may raise a concern for you if you are an advanced user. - -But for casual users who want to browse the internet, watch movies, listen to music and do personal work, you can blindly trust Ubuntu LTS versions as your best Linux distribution. - -[![Ubuntu LTS with GNOME][13]][14] - -Finally, you can download Ubuntu 22.04 LTS (the current one) using the below link. - -[Download Ubuntu][15] - -#### 4. Linux Mint Cinnamon - -One of the Linux distributions that “just works” out-of-the-box in “any” type of hardware. The [Linux Mint][16] is fourth on this list. The above three distributions (Fedora, Ubuntu LTS) may not work well in older hardware (PC or Laptop) having low memory and older CPU. But Linux Mint is perfect in those use cases with its unique ability to make everyone welcome. - -Furthermore, with Linux Mint, you do not need to install any additional applications after a fresh install. It comes with every possible driver and utility for all use cases. For example, your printer, webcam, and Bluetooth would work in Linux Mint. - -In addition, if you are new to Linux or Windows users who plan to migrate, then it is a perfect distribution to start. Its legacy menu-driven Cinnamon desktop is one of the best open-source desktops today. - -[![Linux Mint Cinnamon Edition][17]][18] - -If you ever get confused or have no time to choose which distribution is best for you, choose the Linux Mint Cinnamon edition. With that said, you can download Linux Mint using the below link. - -[Download Linux Mint][19] - -#### 5. Pop OS - -The Pop OS is developed by American computer manufacturer System76 for their hardware lineup. But it is one of the famous and emerging Linux distributions based on Ubuntu. The Pop OS is primarily known to have perfect for modern hardware (including NVIDIA graphics) and brings some unique features absent in the traditional Ubuntu with GNOME desktop. - -For example, you get a well-designed COSMIC desktop with Pop OS (which is currently being written with Rust), a built-in tiling feature, well-optimized power controls, and a stunning Pop Shop. The Pop Shop is a software store designed by its maker to give you a well-categorized set of applications for your study, learning, development, gaming, etc. This distribution is also perfect for gaming if you plan to start your Linux journey with gaming in mind. - -In addition, if you want a professional-grade Linux distribution with official help and support, you should check out actual System76 hardware with Pop OS. - -[![Pop OS - Best Linux Distributions of 2022][20]][21] - -However, you can download the Pop OS for various hardware for free using the link below. - -[Download Pop OS][22] - -#### 6. MX Linux - -MX Linux is a well-designed Linux distribution primarily targeted at older hardware with productivity and stability in mind. It’s an emerging Linux distribution that is free from systemd and uses the init system. Based on the Debian Stable branch, it brings Xfce Desktop, KDE Plasma desktop and Fluxbox with its own powerful MX utilities. - -You can use MX Linux for all of your needs. But I would not recommend it for gaming or development work. If you need a stable Linux distribution for your older hardware, free from systemd, you can choose MX Linux. Especially the Fluxbox edition. - -[![MX Linux][23]][24] - -You can download MX Linux from its official website below. - -[Download MX Linux][25] - -#### 7. Endeavour OS - -If you like the concept of “Rolling release”, which gives you all the latest packages and operating system components, Arch Linux is perhaps the best you can have. However, installing Arch Linux might be tricky for new users, although the recent [archinstall][26] does a pretty job. - -However, EndeavourOS is a perfect Arch Linux-based distribution which features Xfce, KDE Plasma and other popular desktops out of the box. Armed with the Calamares installer, it is super easy to install Endeavour OS. - -However, this might not be the best Linux distribution for beginners. But it is the best one for little advanced users who are already familiar with Linux. - -On the brighter side, you get to say, “btw, I use Arch”. - -[![EndeavourOS - Best Linux Distributions of 2022][27]][28] - -Last but not least, EndeavourOS has excellent community support, and its Telegram channel support is the best in my personal experience. So, if you ever get stuck, help is just a message away. - -Download this excellent and emerging Linux distribution using the link below. - -[Download Endeavour OS][29] - -#### 8. Zorin OS - -Zorin OS is a Linux distribution based on Ubuntu Linux and is best for those who want nice looks, power, stability, and a productive system. In this Linux distribution, the default desktop is a blend of Xfce and GNOME 3, heavily customised. One of the advantages of Zorin is it comes with ready-made themes. With those themes, you can make Zorin OS look like Windows and macOS with just one click. - -This helps the new users easily migrate to Linux and use Zorin for their day-to-day work. - -[![Zorin OS - Best Linux Distributions of 2022][30]][31] - -Additionally, Zorin OS maintains three editions – Pro, Lite and Core, which cater to different user bases. The Pro edition is a paid version with additional themes and tweaks for a minimal fee. - -You can download Zorin OS from the below link. - -[Download Zorin OS][32] - -#### 9. Debian with Xfce - -There are many Linux distributions which are based on Debian. But I have included vanilla Debian in this list because of its excellent stability and power. Debian – termed a “Universal Operating System”, is perfect for moderately experienced users of Linux. But if you can set up a daily driver with Debian Stable with Xfce, you can run it for years without reformating or reinstalling for fear of breaking your system. - -Debian package repo contains all possible packages, which gives you the ultimate flexibility to set up any custom system you want. - -![Debian with Xfce Desktop][33] - -A perfect Linux distribution if you know how to set up a Debian box with some experience. You can download and install Debian after choosing the proper installer for your system here. Debian comes with an installer for several architectures. You may [read our guide][34]if you are confused about which one to choose and how to install it. - -[Download Debian][35] - -#### 10. Ubuntu Studio - -The final best Linux distribution we feature in this list is Ubuntu Studio. Ubuntu Studio is an official Ubuntu Linux distribution specially curated for Multimedia production type of work. - -Ubuntu Studio comes with the low-latency mainline Linux Kernel to give additional advantages to multiple operations. In addition, Ubuntu Studio brings its native “Ubuntu Studio Controls”, which provides creators with several options to tweak CPU settings for heavy CPU-intensive rendering and processing. - -[![Ubuntu Studio 22.04 LTS Desktop][36]][37] - -Moreover, a massive list of free and open-source audio, graphics, and video applications is pre-loaded into the ISO, saving time if you plan to build a multimedia workstation. - -Ubuntu Studio is powered by the KDE Plasma desktop, the perfect Linux distribution for all creators worldwide. - -You can download Ubuntu Studio from the below link. - -[Download Ubuntu Studio][38] - -### Closing Notes - -I hope this list of “curated and best Linux distributions” helps you pick one for yourself, your friends and co-workers. These are based on their current status (active project), prospects (i.e. it has a well-defined vision for the future) and how easy to set up and out-of-the-box experience. - -Finally, which Linux distribution should you think should be in the top 10? Let me know in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/best-linux-distributions-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/2022/02/fedora-36/ -[2]: https://www.debugpoint.com/2020/07/enable-rpm-fusion-fedora-rhel-centos/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition-1024x640.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-KDE-Edition.jpg -[5]: https://getfedora.org/en/workstation/download/ -[6]: https://spins.fedoraproject.org/ -[7]: https://labs.fedoraproject.org/ -[8]: https://torrent.fedoraproject.org/ -[9]: https://spins.fedoraproject.org/kde/download/index.html -[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon-1024x578.jpg -[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/KDE-Neon.jpg -[12]: https://neon.kde.org/download -[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME-1024x575.jpg -[14]: https://www.debugpoint.com/wp-content/uploads/2022/05/Ubuntu-LTS-with-GNOME.jpg -[15]: https://ubuntu.com/download/desktop -[16]: https://www.debugpoint.com/linux-mint/ -[17]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition-1024x576.jpg -[18]: https://www.debugpoint.com/wp-content/uploads/2022/05/Linux-Mint-Cinnamon-Edition.jpg -[19]: https://linuxmint.com/download.php -[20]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS-1024x577.jpg -[21]: https://www.debugpoint.com/wp-content/uploads/2022/05/Pop-OS.jpg -[22]: https://pop.system76.com/ -[23]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux-1024x522.jpg -[24]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux.jpg -[25]: https://mxlinux.org/download-links/ -[26]: https://www.debugpoint.com/2022/01/archinstall-guide/ -[27]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS-1024x574.jpg -[28]: https://www.debugpoint.com/wp-content/uploads/2022/05/EndeavourOS.jpg -[29]: https://endeavouros.com/download/ -[30]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS-1024x575.jpg -[31]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS.jpg -[32]: https://zorin.com/os/download/ -[33]: https://www.debugpoint.com/wp-content/uploads/2022/05/Debian-with-Xfce-Desktop.jpg -[34]: https://www.debugpoint.com/2021/01/install-debian-buster/ -[35]: https://www.debian.org/distrib/ -[36]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop-1024x631.jpg -[37]: https://www.debugpoint.com/wp-content/uploads/2022/04/Ubuntu-Studio-22.04-LTS-Desktop.jpg -[38]: https://ubuntustudio.org/download/ diff --git a/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md b/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md deleted file mode 100644 index 7e8f5b4931..0000000000 --- a/sources/tech/20221027.4 ⭐️⭐️ 10 Lightweight Linux Distributions for your Old Hardware in 2022.md +++ /dev/null @@ -1,218 +0,0 @@ -[#]: subject: "10 Lightweight Linux Distributions for your Old Hardware in 2022" -[#]: via: "https://www.debugpoint.com/lightweight-linux-distributions-2022/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -10 Lightweight Linux Distributions for your Old Hardware in 2022 -====== - -**We highlight a list of 10 lightweight Linux Distributions ideal for your older PC in 2022. We give you their features and what makes them perfect for reviving older hardware.** - -We believe that you should not throw away any hardware, especially PC and its components. Ideally, well-designed software should always run on any hardware. There are many [Linux Distributions][1] specifically designed for older hardware and PCs. And you can quickly revive them with the help of these Linux operating systems. In this post, we highlight ten such Linux Distributions which are lightweight and old hardware friendly in 2022. - -### 10 Lightweight Linux Distributions 2022 - -#### 1. Linux Lite - -The first lightweight Linux Distribution we feature in this list for 2022 is Linux Lite. Linux Lite is a continually developed and improved Linux Distribution based on Ubuntu and Debian. This decade-old Linux Distribution is perfect for your older hardware which needs a friendly and well-designed distro. The team markets this distro as an ideal starting point for Windows users who ends up with not supported hardware with Windows. The primary advantages of this distro are well customized and nice-looking Xfce desktop with an Ubuntu base, the latest Kernel and, of course, a 32-bit ISO image. - -![Linux Lite - Lightweight Linux Distributions][2] - -Linux Lite - -Advantages of Linux Lite: - -- Ubuntu-based -- Customized Xfce desktop -- Native applications -- 32-bit support -- Active development -- Minimum system requirement < 1 GB RAM - -[Download Linux Lite][3] - -#### 2. Puppy Linux - -The second distro that we feature in this list is Puppy Linux. Puppy Linux is a little different than traditional distros out there. It is designed to run from RAM without needing to install it in a physical system. If appropriately configured, you can save the sessions, plus it continues to work well even if you remove the bootable medium. - -![Puppy Linux - one of the best lightweight Linux Distribution in 2022][4] - -Puppy Linux – one of the best lightweight Linux Distribution in 2022 - -This Linux distro is binary compatible with Ubuntu LTS versions; the latest version is based on Ubuntu 20.04 LTS. Since Ubuntu dropped the 32-bit support, the newest version dropped the 32-bit version. - -Puppy Linux use cases are perfect for older computers, Netbooks, and hardware with less than 1GB of RAM. At the core, it is run by superfast JWM (Jow’s Window Manager), Puppy Package Manager that supports .deb, .rpm and its native PET packages. - -Overall, it’s a perfect and well-designed Linux Distribution for older hardware, hands down. - -Features: - -- Based on the Ubuntu LTS Version -- It can run on low-end Netbooks -- Works directly from RAM even after removing the bootable media -- Unique package manager – Puppy Package Manager -- Powered by JWM - -#### 3. BunsenLabs Linux - -The third lightweight Linux distro in this list is BunsenLabs Linux, a successor of the Crunchbang project. The BunsenLabs Linux is based on the Debian Stable branch, bringing modern applications to your low-end system. This distro provides a 32-bit version image for low-end systems and a standard 64-bit system for your regular hardware. At the core, BunsenLabds is powered by a pre-configured OpenBox window manager with a stunning tint2 panel, pre-configured Conky and jgmenu. - -![BunsenLabs Linux -Lightweight Linux Distribution ][5] - -BunsenLabs Linux - -This is a well-designed, superfast, stable and nice-looking distribution for older systems. - -Feature summary: - -- Based on Debian Stable branch -- Openbox window manager with tint2 panel, conky and jgmenu -- It provides a 32-bit installer -- Help and support are available via official forums - -[Download BunsenLabs Linux][6] - -#### 4. Lubuntu - -Lubuntu is famous for being a lightweight Linux Distribution. It is an official Ubuntu Linux flavour that features the lightweight LxQt desktop environment. Lubuntu gives you modern Ubuntu Linux packages and technology while it features the LxQt for your low-end hardware. Although it might require some extra system resources compared to other distros in this list, it is still a go-to Linux distro for older hardware. - -![Lubuntu - Lightweight Linux Distribution ][7] - -Lubuntu - -If you need a moderately lighter Linux Distribution which is stable and works out of the box, then choose Lubuntu. - -[Download Lubuntu][8] - -#### 5. Absolute Linux - -The fifth lightweight Linux distribution is Absolute Linux, based on Slackware Linux. This distro packages all necessary day-to-day applications in its installer image so that you get a complete distro out of the box. Absolute Linux features the IceWM and ROX Desktop, which gives you ultimate speed while using it on your older hardware. It is systemd-free, which offers an extra advantage over other distributions. - -![Absolute Linux - Lightweight Linux Distributions][9] - -Absolute Linux - -Feature Summary: - -- Based on Slackware -- Systemd-free -- Packages necessary software -- Powered by IceWM and package manager Slapt-get - -[Download Absolute Linux][10] - -#### 6. antiX Linux - -Yet another lightweight Linux distribution we want to highlight is antiX Linux. The antiX Linux is based on Debian stable branch and has several attractive features. At its core, it uses IceWM, Fluxbox, and ROX Desktop options, giving you an excellent and fast desktop experience. It is entirely systemd-free and uses sysVinit and runit system. The antiX Linux also gives you a 32-bit installer and has four variants – Full, Core, Base and net catering to different use cases. - -![antiX Linux - Lightweight Linux Distributions][11] - -antiX Linux - -Features: - -- Based on Debian stable -- It provides a 32-bit installer -- Systemd free -- Powered by IceWM and other window manager flavours - -[Download antiX Linux][12] - -#### 7. LXLE - -The LXLE Linux is a spin of the Lubuntu LTS series with an LXDE desktop instead of an LXQt desktop. The choice of applications, installer and other features makes it a perfect distro for older hardware. It is ideal for reviving your old system with a stable Ubuntu-LTS base and a fast LXDE desktop environment. - -![LXLE Linux - Lightweight Linux Distributions][13] - -LXLE Linux - -However, in my personal opinion, I feel LXQt is a little faster than LXDE. Well, that feedback might be relative and can be different for you. There are not many Linux distributions today, which give you an LXDE flavour. Hence it is one of the unique and lightweight Linux distributions for your daily use. - -[Download LXLE][14] - -#### 8. Porteus Linux - -The Porteus Linux is a remix of Slackware Linux that features the old KDE 4.0+ desktop environment (before the KDE Plasma series). This superfast Linux distribution is perfect for your antique hardware because it is based on bleeding-edge Slackware and gives you a 32-bit version. This distro can run from Live USB or a CD, or any bootable media and comes with just 300 MB of installer size. - -If you love the old KDE (like me!) and Slackware simplicity, this is a perfect distro for you, even your new hardware. - -![Porteus Linux][15] - -Porteus Linux - -[Download Porteus Linux][16] - -#### 9. Q4OS - -Q4OS is a unique Linux Distribution in this list. It targets the older Windows systems, which have become obsolete today. Many older PCs used to run Windows XP and Windows 7. They no longer work well with Windows and some modern Linux Distributions because the modern and updated OS requires much more computing power and resources. - -Q4OS targets those use cases and give you a well-designed Linux Distribution with features such as a 32-bit installer, Windows installer, Trinity Desktop environments, pre-made Windows themes, etc. - -![Q4OS - KDE Plasma Edition][17] - -Q4OS – KDE Plasma Edition - -[Download Q4OS][18] - -#### 10. MX Linux - -The final Linux Distribution in this list is the famous MX Linux, which has made its features and uniqueness in recent times. However, I doubted whether I would list MX Linux as lightweight. Because in my opinion, it is a medium-weight Linux Distribution if you consider its KDE Plasma flavour. - -![MX Linux][19] - -MX Linux - -However, it has some features which make it a perfect candidate for lightweight Linux distributions. MX Linux is based on the Debian Stable branch and created with antiX components. It features its own MX Linux native applications for your additional workflow. You get KDE Plasma, Xfce and Fluxbox as desktop options. - -[Download MX Linux][20] - -### Summary & Conclusion - -If you look closely, most of the lightweight Linux distribution we listed here is based on Debian Linux. It is truly the “Universal Operating System”. Modern Linux Desktop Environments like GNOME 40+, and KDE Plasma with Systemd init systems are no longer compatible with older hardware. Also, as technology progresses, more software complexity is introduced, requiring higher-end systems. - -That said, I hope you get some idea about which lightweight Linux distributions to choose for your old laptop or PC from this list. Each of them serves different tastes and needs with one goal: to revive your older systems. So, take your pick. - -Cheers. - -Some image credit: Respective Linux Distributions - -This article, Top Ten Lightweight Linux Distributions of 2022, is filed under the [Top Ten List][21]. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/lightweight-linux-distributions-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/category/distributions -[2]: https://www.debugpoint.com/wp-content/uploads/2022/03/Linux-Lite.jpg -[3]: http://www.linuxliteos.com/ -[4]: https://www.debugpoint.com/wp-content/uploads/2022/03/Puppy-Linux-one-of-the-best-lightweight-Linux-Distribution-in-2022.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/03/BunsenLabs-Linux.jpg -[6]: https://www.bunsenlabs.org/ -[7]: https://www.debugpoint.com/wp-content/uploads/2022/03/Lubuntu.jpg -[8]: https://lubuntu.me/ -[9]: https://www.debugpoint.com/wp-content/uploads/2022/03/Absolute-Linux.jpg -[10]: https://www.absolutelinux.org/ -[11]: https://www.debugpoint.com/wp-content/uploads/2022/03/antiX-Linux-1024x640.jpg -[12]: https://antixlinux.com/ -[13]: https://www.debugpoint.com/wp-content/uploads/2022/03/LXLE-Linux.jpg -[14]: http://www.lxle.net/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/Porteus-Linux.jpg -[16]: http://www.porteus.org/ -[17]: https://www.debugpoint.com/wp-content/uploads/2022/03/Q4OS-KDE-Plasma-Edition.jpg -[18]: https://q4os.org/ -[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/MX-Linux-1.jpg -[20]: https://mxlinux.org/ -[21]: https://www.debugpoint.com/tag/top-10-list diff --git a/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md b/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md deleted file mode 100644 index d6b6fd5a35..0000000000 --- a/sources/tech/20221027.5 ⭐️⭐️ Top 10 Most Beautiful Linux Distributions [Featured].md +++ /dev/null @@ -1,216 +0,0 @@ -[#]: subject: "Top 10 Most Beautiful Linux Distributions [Featured]" -[#]: via: "https://www.debugpoint.com/beautiful-linux-distributions-2022/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 Most Beautiful Linux Distributions [Featured] -====== - -**We give you the top 10 beautiful Linux Distributions of 2022. They are a visual treat to your eyes while being a robust operating system.** - -The most fantastic thing about [Linux Distributions][1] is you can customize them to any extent to satisfy your visual needs. Whether based on Ubuntu or Fedora, you have all the tools you need to customize a Linux desktop. - -But, there are many Linux Distributions that looks stunning without any customization. The developers have made them so that you can experience the visual treat right after installation without any additional effort on customization. - -Hence, we compiled a list of the most beautiful Linux distributions you can try right now and give your PC a visual makeover. - -### Most Beautiful Linux Distributions of 2022 - -#### 1. Zorin OS - -The first Linux Distribution which we would like to feature is Zorin OS. The Zorin OS is a beautiful Linux distribution that uses Zorin Desktop based on GNOME. It is perfect for newcomers who want a nice desktop but are also productive at the same time. - -One unique feature of Zorin OS is its ability to transform its look to make it like any other operating system. That means the taskbar, application menu, and Dock can change with just one click option from its Layout settings, giving you the utmost flexibility and out-of-the-box experience while using ZorinOS. - -[Read more about Zorin OS][2] - -![Zorin OS 16 Desktop][3] - -Zorin OS 16 Desktop - -#### 2. Elementary OS - -The elementaryOS is one of the most beautiful Linux distributions today based on Ubuntu Long Term Support (LTS) release. This Linux Distribution uses the stunning Pantheon Desktop environment, whose look and feel is inspired by macOS. - -The elementary OS is perfect for those coming from macOS to the Linux world as they would find many things familiar, such as gestures and window decorations. - -However, you may not find many customization options available in elementary OS settings. You may need to depend on external script commands to make further customization. However, the default looks are beautiful and serve their purpose for the majority of users. - -The most significant advantage of elementary OS is its curated app store. The App Store provides you with all categories of applications specially designed for the elementary OS, which looks and works great. - -[Read more about elementaryOS][4] - -![elementary OS 6 ODIN Desktop][5] - -elementary OS 6 ODIN Desktop - -#### 3. Deepin OS - -The third distribution which we would like to highlight is Deepin OS. The Deepin OS is based on Debian and was created by Deepin Technology Co from China. It uses its own Deepin Desktop Environment based on Qt. The Deepin desktop looks incredible with its widgets, colour schemes, window decorations, and wallpapers that give you an out-of-the-box visual treat. - -With its well-polished visual components, you may think that it looks almost similar to macOS. And thanks to the Debian “stable” branch, Deepin OS is the perfect choice if you want an excellent-looking Linux distribution with stability. - -Why is Deepin OS beautiful? - -- Awesome Qt-based Deepin Desktop -- Native widgets and dark theme support -- Several options to customize the Dock -- Transparency, Window effects, CursDockheme, Icon Theme support -- Accent Color - -[Read more about Deepin OS][6] - -![Deepin 20 Desktop][7] - -Deepin 20 Desktop - -#### 4. Cutefish OS - -**Note**: Cutefish OS is currently undergoing a team change and will take time to get a new release. [Learn more here][8]. - -The fourth Linux Distribution which we feature here is [CutefishOS][9]. This Debian and Ubuntu-based Linux distribution feature a natively developed Cutefish desktop. This Linux Distribution is currently under development. But its looks are already making waves across the user’s base. - -Under the hood, CutefishOS is built upon Qt and KDE Framework. This efficient Linux Distribution with Cutefish desktop features the global menu feature at the top bar out of the box. - -The customization options are still being worked on as its currently under development. But with the latest release, you get the native dark mode, accent colour, animation effects, and dock position (left, right, bottom), among other options. - -You may go ahead if you want to experiment with a nice desktop that looks completely different. Also, you may go over the complete review and tutorials of this desktop presented below. - -[Cutefish OS Review][10] - -![Cutefish OS][11] - -Cutefish OS - -#### 5. Manjaro KDE Plasma - -The Manjaro Linux KDE Edition is one of the best-looking Linux distributions today. Based on Arch Linux, Manjaro KDE Edition features the stock KDE Plasma desktop environment with some additional tweaks and widgets. The green colour palette of Manjaro gives you a fresh look and feel. You can customize further with built-in KDE tools and settings and change icons and themes from KDE Stores. - -The Manjar KDE Edition is a perfect combination of performance and beauty with the power of Arch Linux. And it is an ideal starting point for the new Arch Linux users. - -[Read more about Manjaro KDE Desktop][12] - -![Manjaro KDE Plasma][13] - -Manjaro KDE Plasma - -#### 6. Garuda Linux - -The famous Garduda Linux is the 6th OS on this list. Garuda Linux is based on Arch Linux and brings a beautiful desktop for you. It features all major desktop environments with custom-designed icon themes and colour palettes. This operating system uses Zen Kernel, optimized for performance in your hardware. - -The look and feel are stunning in Garuda Linux. The macOS style looks like you get out of the box. The combination of neon icon theme, lovely colour palette, blur and Transparency with the global menu is perfect for its own. - -One of the primary advantages of Garuda is it provides you with the choice of all desktop environments – KDE Plasma, GNOME, Xfce, LXQt, MATE and others. - -[Read more about Garuda Linux][14] - -![Garuda Linux][15] - -Garuda Linux - -#### 7. Linux Mint Cinnamon Edition - -We all love Linux Mint because of its simplicity, elegance and stability. It is one of the most widely used and famous Linux distributions today. And perhaps the most used Linux distribution after Ubuntu. However, it is not that fancy-looking if you compare this with other Linux Distributions here in this list. - -But the default Cinnamon desktop looks clean and perfect if you like the legacy user interface, which looks fantastic. - -The Linux Mint Cinnamon edition is perfect for all users, especially new users of Linux or even those are migrating from Windows. The default looks and feels with Mint’s green colour palette look refreshing. - -If you cannot decide on an eye-candy Linux distribution with stability, choose the Linux Mint Cinnamon edition without a doubt. - -[Read more about Linux Mint][16] - -![Linux Mint 20 - Cinnamon Edition Desktop][17] - -Linux Mint 20 – Cinnamon Edition Desktop - -#### 8. Nitrux OS - -[Nitrux Linux][18]is based on Debian, which features a modified version of the KDE Plasma desktop called NX Desktop. This unique Linux distribution brings its own set of Nitrux applications built upon Maui kit and Qt. Nitrux is systemd-free and uses OpenRC as an init system. With all these unique features and stunning looks, it is one of the best Linux distributions today. - -Nitrux OS’s default look is perfectly designed with a modified KDE Plasma desktop with Kvantum theme engine, icon theme, colour palette and cursor theme. The team behind Nitrux OS also brings a separate desktop called Maui Shell, a beautiful convergent desktop that adapts itself based on screen size. - -If you need a KDE Plasma desktop with out-of-the-box modification with stability, then go for Nitrux OS. You won’t be disappointed. - -[Read more about Nitrux OS][18] - -![Nitrux 2.0 + Desktop][19] - -Nitrux 2.0 + Desktop - -#### 9. Ubuntu Kylin - -The Ubuntu Kylin is an official Ubuntu flavour designed explicitly for Chinese people who use a simplified Chinese script. However, it supports another language as well. - -This modified Ubuntu flavour uses Ubuntu Kylin User Interface (aka UKUI). The UKUI desktop is created using Qt to support MATE Desktop components. - -Ubuntu Kylin looks elegant, and it would remind you of a combination of GNOME and KDE Plasma in terms of looks and design. - -It features a nicely designed icon set, bottom taskbar, nice application view, app switcher, rounded corner, and more These features are carefully crafted. - -[Read more about Ubuntu Kylin][20] - -![Ubuntu Kylin Desktop][21] - -Ubuntu Kylin Desktop - -#### 10. Pop OS - -The Pop OS is developed by System76, which manufactures computer hardware. This Ubuntu-based Linux Distribution comes pre-installed in all the System6 hardware. However, you can separately download and install it from its official repository in your system. - -The Pop OS features the default GNOME desktop with additional tweaks and configurations. This desktop features the pre-GNOME 40-era desktop with several extensions and tweaks pre-configured. For example, you get a bottom dock that can be configured to move around on the desktop, a launcher to launch applications, rounded corners and many such features. This desktop also features auto-tiling and optimized keyboard navigation to make you more productive. - -The look and feel are clean and beautifully designed with a colour palette, built-in dark mode, rounded corners in the application window, and an icon theme. - -[Read more about Pop OS][22] - -![Pop OS 21.10 Desktop][23] - -Pop OS 21.10 Desktop - -### Closing Notes - -I hope this list of beautiful Linux distributions of 2022 helps you decide which one you want for your desktop or laptop. Because these are already configured to look beautiful, they are powerful. - -Take your pick and start your Linux journey. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/beautiful-linux-distributions-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/category/distributions -[2]: https://zorin.com -[3]: https://www.debugpoint.com/wp-content/uploads/2021/08/Zorin-OS-16-Desktop.jpg -[4]: https://elementary.io/ -[5]: https://www.debugpoint.com/wp-content/uploads/2021/08/elementary-OS-6-ODIN-Desktop.jpg -[6]: https://www.deepin.org/en/ -[7]: https://www.debugpoint.com/wp-content/uploads/2020/09/Deepin-20-Desktop.jpg -[8]: https://www.debugpoint.com/cutefish-development-restarts/ -[9]: https://en.cutefishos.com/ -[10]: https://www.debugpoint.com/2021/11/cutefish-os-review-2021/ -[11]: https://www.debugpoint.com/wp-content/uploads/2021/11/Cutefish-OS-1024x581.jpg -[12]: https://manjaro.org/downloads/official/kde/ -[13]: https://www.debugpoint.com/wp-content/uploads/2022/03/Manjaro-KDE-Plasma-1024x576.jpg -[14]: https://garudalinux.org/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/03/Garuda-Linux-1024x577.jpg -[16]: https://linuxmint.com/ -[17]: https://www.debugpoint.com/wp-content/uploads/2020/07/Linux-Mint-20-Cinnamon-Edition-Desktop.png -[18]: https://nxos.org/ -[19]: https://www.debugpoint.com/wp-content/uploads/2022/03/Nitrux-2.0-Desktop-1024x581.jpg -[20]: https://www.ubuntukylin.com -[21]: https://www.debugpoint.com/wp-content/uploads/2022/03/Ubuntu-Kylin-Desktop.jpg -[22]: https://pop.system76.com/ -[23]: https://www.debugpoint.com/wp-content/uploads/2021/12/Pop-OS-21.10-Desktop.jpg diff --git a/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md b/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md deleted file mode 100644 index 02cfb6ff2a..0000000000 --- a/sources/tech/20221102.3 ⭐️⭐️ Top 10 32-Bit Linux Distributions in 2022 [Compared].md +++ /dev/null @@ -1,255 +0,0 @@ -[#]: subject: "Top 10 32-Bit Linux Distributions in 2022 [Compared]" -[#]: via: "https://www.debugpoint.com/32-bit-linux-distributions/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Top 10 32-Bit Linux Distributions in 2022 [Compared] -====== - -**We list the best 32-bit Linux distributions that still support ancient systems.** - -### What is happening with 32-bit Linux Distros? - -Linux always supports older hardware, thanks to the community. But more and more Linux operating systems are dropping support for 32-bit systems mainly because it takes additional testing effort to keep another build apart from 64-bit, and the number of 32-bit systems is reducing daily. - -Most of the older hardware manufactured before 2007 has 32-bit architecture-based CPUs, which we mostly know as i386, i586, i486 and x86. However, the hardware manufactured after 2007 are primarily 64-bit and may term as modern. - -Recently, many famous and lightweight Linux distros dropped support for 32-bit architecture. But some projects are still strong and provide users with an option to run the older machines with full functionality. - -I will list the ten best Linux distros that still support 32-bit systems. - -### Top 10 32-bit Linux distros in 2022 - -#### 1. Debian - -Debian Linux is the foundation of hundreds of Linux distributions across multiple architectures. Millions use it as a desktop and server operating system. Debian is a “universal operating system” because it supports x86-64, arm64, armel,armhf, i386, mips, mipsel, mips64el, ppc64el, s390x architectures with work in progress for riscv64. - -In addition, it supports a wide range of hardware and includes free and non-free packages. On the desktop side, all the major [desktop environments][1] are available for you to install on your older hardware. - -Perhaps, it is the safest choice if you are looking for a vanilla 32-bit Linux distro experience. - -![Debian Logo][2] - -#### Why is Debian the best 32-bit distro? - -- Most popular and widely used -- Dependable and used by millions -- Well documentation, tutorials and user guides -- Proper framed future roadmap -- [Support for all architectures and platforms][3] - -[Download Debian][4] - -#### 2. MX Linux - -MX Linux is a systemd-free distro based on Debian stable branch. It is recently trending among users who want a clean system that supports older to modern hardware. - -MX Linux is popular because it’s carefully created to give you a perfect and stable system with its native applications and tools. - -![MX Linux][5] - -The team behind it gives a lot of thought while packaging the applications in this distro. Besides that, it is also based on antiX components and comes with KDE Plasma desktop, Xfce and Fluxbox. - -MX Linux is probably the best choice in this list because it is easy to download and use in older systems. - -![mx linux logo][6] - -#### Why is MX Linux the best? - -- Systemd free, hence faster -- Based on Debian stable, it gives a more stable system -- Unique in-house applications to help users with generic tasks -- 3 desktop flavour options to choose from -- Well-supported community and user-base - -[Download MX Linux][7] - -#### 3. Q4OS - -The third 32-bit Linux distro in this list is Q4OS. Q4OS is a unique Linux operating system based on Debian and brings KDE and Trinity desktop environments. It comes with a 32-bit installer which can be used to install. In addition, Q4OS also features a Windows installer where you can parallel run this distro inside WIndows. - -An exciting and related trivia about Q4OS is that it was created as an alternative to Windows XP when Microsoft discontinued it on 2014. And it’s still going strong and providing a stable 32-bit alternative to many users. - -![Q4OS Logo][8] - -#### Here are some of the critical advantages of Q4OS - -- Well-defined roadmap and unlikely to be discontinued -- Based on Debian and long-term support has been available for more than five years -- Provides KDE and Trinity desktop both (for those who like KDE 3) -- The unique installer gives the ability to install it inside Windows and take advantage of the entire hardware (not like in VM) -- Themes, Software centre, and third-party app installers are available - -[Download Q4OS][9] - -#### 4. NixOS - -The fourth Linux distro in this list of 32-bit distributions is NixOS, built on top of the Nix Package manager. This independent Linux distribution is perfect for DevOps and deployment pipeline tasks and supports atomic updates. It uses a configuration script for several tasks, including installation. - -That said, NixOS is not for the beginner or average Linux users, although it functions like other Linux distributions. It’s not designed to be an end-user Linux operating system. - -However, since it provides a 32-bit variant, it’s perfect for some use cases where you need to set up a remote server or pipeline in older hardware. You can learn more and download using the below link. - -[Download NixOS][10] - -#### 5. Void Linux - -Void Linux is an independent Linux distro (not depending on Debian or Fedora, etc.) which follows a unique rolling release model. It comes with X Binary Package System (XBPS), which helps you to install apps and packages directly from sources. In addition, it uses runit as init system, instead of systemd.  - -Void Linux provides a 32-bit installer with the latest packages alongside the usual 64-bit and ARM installation methods. Hence, you can quickly try it out on your older hardware. Moreover, Void Linux also support all major desktop environments, such as Xfce, Cinnamon, LXDE, LXQt and more. - -![Void Linux Logo][11] - -#### Here are some of the advantages of Void Linux - -- Independent distribution and free from Debian, Ubuntu or Fedora base -- Well-defined path for future updates and continuity -- Excellent XBPS package management system -- A rolling release-based distro which is stable -- All major desktop environments supported - -[Download Void Linux][12] - -#### 6. Zorin OS Lite 15.3 - -Zorin OS is an excellent and popular Linux distribution, a fusion of Xfce and GNOME 3 desktop. It comes with a Pro and Lite version. The Zorin OS Lite version provides a 32-bit installer at the moment. - -![Zorin OS - Best Linux Distributions of 2022][13] - -But there is a catch. Currently, the Zorin OS 15.3 Lite version only supports the 32-bit version. And its support ends on April 2023. - -After that, Zorin OS will not be supporting the 32-bit version anymore. The reason is it is based on Ubuntu LTS. And Ubuntu discontinued the 32-bit image from Ubuntu 20.04 LTS Focal Fossa version. - -Hence, you can use Zorin OS 15.3 Lite until April 2023 and take advantage of its beautiful desktop and additional features. - -[Download Zorin OS 15.3 Lite (32 bit)][14] - -#### 7. Porteus - -If you are a fan of the Old-KDE desktop and looking for a 32-bit operating system, then you can try Porteus Linux. Porteus is a Slackware Linux spin that features a KDE 4.0+ desktop environment. It is based on bleeding edge Slackware Linux and provides a fast desktop experience. Moreover, it can run from a Live USB/CD. The installer size is 300 MB, perfect for CD-based older hardware. - -![Porteus Logo][15] - -#### The reason why Porteus can be an ideal 32-bit Linux OS - -- Based on bleeding-edge Slackware Linux -- Enjoy the simplicity of Slackware -- Installer size can fit into a CD (300 MB only) -- Legacy KDE 4.0 Desktop support -- Can run off a USB or CD - -[Download Porteus Linux][16] - -#### 8. antiX - -The antiX Linux is slightly different on the desktop level than other 32-bit distros in this list. It is a lightweight Linux distribution based on Debian stable branch and brings some exciting features. First and foremost, it comes with a 32-bit installer, which has four variants – Full, Core, Base and Net. Secondly, it features famous primarily Windows Managers and Not desktop environments. Hence it is faster. - -The antiX Linux features IceWM, Fluxbox, and ROX desktop options. In addition, it is free of systemd and uses sysVinit & runit as init system. - -A perfect 32-bit Linux distribution that brings window manager, sydtemd-free and Debian base. - -![Antix Logo][17] - -#### Why is antiX an excellent 32-bit distro? - -- Provides stability with Debian stable branch -- Provides a 32-bit installer with four variants -- Systemd free distribution  -- Window manager support, rather than desktops - -[Download antiX][18] - -#### 9. BunsenLabs Linux - -Remember the famous Crunchbang project? The BunsenLabs Linux is a successor of the Crunchbang project based on the Debian stable branch. Like antiX, it also features Windows Manager rather than desktop environments. It brings Openbox Window manager with an excellent tint2 panel at its core. In addition, some goodies such as Conky presets, jgmenu makes it a well-designed 32-bit distro for that ancient hardware. - -![BunsenLabs Logo][19] - -#### Why is BunsenLabs the best? - -- Powered by Debian stable branch -- Openbox Window manager is for the desktop experience -- Pre-configured Concky with tint2 panel, jgmenu -- A good amount of help and support is available - -[Download BunsenLabs][20] - -#### 10. Alpine Linux - -A list of 32-bit Linux distributions is incomplete without Alpine Linux. Alpine Linux is an almost two-decade-old Linux distro created for developers and power users. It’s unique and provides a 32-bit variant among other architectures. - -At its core, it uses musl and BusyBox instead of GNU tools and packages. Also, Alpine uses OpenRC as init system. - -This independent Linux is perfect for containers and hypervisors and boasts about its security. Perhaps, not so suitable for usual desktop usage. However, the popular PostmarketOS mobile Linux OS platform is based on Alpine Linux. - -![Alpine Logo][21] - -#### Alpine Linux advantages - -- Independent Linux distro -- Not based on GNU toolchain (uses musl and BusyBox) -- APK package manager -- Suitable for containers and Hypervisors -- Well secured at the core level - -[Download AlpineLinux][22] - -### List of significant distros that dropped support of 32-bit recently - -Since you went thru the above list, it’s always to remember that a bunch of distros which depended on Ubuntu dropped their 32-bit support. From the version Ubuntu 20.04 Focal Fossa, Ubuntu officially closed the support for 32-bit. Hence all the Ubuntu-LTS variants are also forced to follow this decision. - -Here’s a brief list of awesome distros which unfortunately discontinued the 32-bit support in the recent past. - -- Linux Mint 20 and above -- Puppy Linux 9.5 and above -- Ubuntu 20.04 LTS Focal Fossa and above -- All the official Ubuntu flavours (such as Lubuntu and Xubuntu) from 20.04 onwards - -### Closing Notes - -You can rest assured that there will always be support for 32-bit Linux distributions to support older hardware. If a day comes when all distro stops support, Debian will always support all hardware possible. That’s the beauty of Debian. - -Also, other niche distros, such as Puppy and Void Linux – will continue to support 32-bit hardware in the coming days. Because they are built with this purpose only. - -Finally, I hope this list helps you to pick the best 32-bit distro for your PC or hardware. Also, don’t forget to check out the [best lightweight distros][23] for older hardware which contain 64-bit distros for older hardware. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/32-bit-linux-distributions/ - -作者:[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/category/desktop-environment -[2]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_debian.png -[3]: https://www.debugpoint.com/install-debian-buster/ -[4]: https://www.debian.org/distrib/ -[5]: https://www.debugpoint.com/wp-content/uploads/2022/05/MX-Linux.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/07/mx-linux-logo-2.png -[7]: https://mxlinux.org/download-links/ -[8]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_q4os_lightblue.png -[9]: https://www.q4os.org/downloads1.html -[10]: https://nixos.org/ -[11]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_void.png -[12]: https://voidlinux.org/download/ -[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Zorin-OS.jpg -[14]: https://zorin.com/os/download/15/lite/32/ -[15]: https://www.debugpoint.com/wp-content/uploads/2022/07/Porteus-Logo.png -[16]: http://www.porteus.org/ -[17]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_antix.png -[18]: https://antixlinux.com/download/ -[19]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_bunsenlabs_yellow_black.png -[20]: https://www.bunsenlabs.org/installation.html -[21]: https://www.debugpoint.com/wp-content/uploads/2022/07/512_alpine.png -[22]: https://alpinelinux.org/downloads/ -[23]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ diff --git a/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md b/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md deleted file mode 100644 index efc97c43b2..0000000000 --- a/sources/tech/20221104.1 ⭐️ How to Make LibreOffice Look Like Microsoft Office.md +++ /dev/null @@ -1,112 +0,0 @@ -[#]: subject: "How to Make LibreOffice Look Like Microsoft Office" -[#]: via: "https://www.debugpoint.com/libreoffice-like-microsoft-office/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Make LibreOffice Look Like Microsoft Office -====== - -**We attempted to make the LibreOffice suite look like Microsoft Office. Is it possible? Let’s find out.** - -[LibreOffice][1] is a free and open-source office productivity suite that provides you with a complete collection of applications. It consists of a Word processor (Writer), a spreadsheet program (Calc), Presentation (Impress), and a drawing program (Draw). It also gives you a stand-alone database system LibreOffice Base while LibreOffice Math is a program that helps students and researchers write formulas and equations. - -While the widely used [Microsoft Office][2] is a paid office productivity suite that gives you excellent programs to perform almost all tasks related to study, office, and enterprise usage. - -Adopting LibreOffice is sometimes difficult compared to Microsoft Office – although most of the menu items and tools are the same. Both programs are different, but their objective is the same in terms of functionality. Due to its popularity, Microsoft office is used widely and is well-known to users. However, many users prefer the free LibreOffice for their work and activities. - -That said, if you can make LibreOffice look like Microsoft Office, it is much easier for first-time users to adopt – mostly coming from a Microsoft Office background. The look and feel play a big part in users’ minds, including their muscle memory, familiarity with colours, and menu items. - -Of course, you can not make it exactly like Microsoft Office because of the different icons, fonts, etc. However, you can make it look up to a certain amount. - -### Make LibreOffice Look Like Microsoft Office - -#### 1. User Interface changes - -LibreOffice has a “Ribbon” style toolbar called Tabbed Bar. However, it has many toolbar options (see below). For this guide, I have used the Tabbed bar option. - -- Open LibreOffice and go to `Menu > View > User Interface`. -- Select `Tabbed` from the UI Section. - -![tabbed bar option][3] - -- Click on Apply to All. -- LibreOffice also provides an option to apply the toolbar type-specific to Writer or Calc. If you want a different toolbar type, you can choose that way. But I would recommend using the Apply to All to make it consistent. - -- Now you should have the Microsoft Office-style Ribbon. Although they are not precisely the same, you get the feel of it. - -#### 2. Microsoft Office Icons for LibreOffice - -The Icons in the toolbar play a big part in your workflow. LibreOffice provides some nice icons for your toolbar. The best ones are the – - -- Karasa Jaga -- Colibre -- Elementary - -For this guide, we will use Office 2013 icon set, which an author develops. It is available in Devian Art. - -- Go to the below link and download the LibreOffice extension file (*.oxt). For the newer versions of LibreOffice, you need to use extension files to install icon sets. - -[download office 2013 icon sets for libreoffice][4] - -- After downloading, double-click the .oxt file to open. Or, press CTRL+ALT+E to open the Extension Manager and select the downloaded .oxt file using the Add button. Close the window once done. - -![Import icon sets in Extension Manager][5] - -- Now go to `Tools > Options > View`. From the Icon style, choose Office 2013. - -- Change the icon size via `Icon Size > Notebookbar > Large`. If you feel the icons are small, you can change them. However, I think to make it more Office-like, the large settings work better. - -![Change icons in Options][6] - -And that’s it. Your LibreOffice installation should look like this. - -![Making LibreOffice look like Microsoft Office in KDE Plasma][7] - -![Making LibreOffice look like Microsoft Office in Windows 10][8] - -![Making LibreOffice look like Microsoft Office in GNOME][9] - -Remember, the looks may be different if you are using Ubuntu, KDE Plasma, or any Linux distribution. But I think it looks closer to Microsoft Office in KDE Plasma than GNOME. LibreOffice doesn’t look good in GTK-based systems at the moment. - -In Windows, however, it looks better because it uses a system font and colour palette. - -These are some settings that you can use. However, you can play around with more customizations, icons, and themes as you wish. If you fancy dark mode in LibreOffice, you may want to read our tutorial – on [how to enable dark mode in LibreOffice][10]. - -### Closing Notes - -Microsoft Office is undoubtedly the market leader in the Office productivity space. There is a reason for it, it comes with decades of development, and it’s not a free product. The latest Office 365 Home usage price is around ~7 USD per month for 3 to 4 devices, which is a bit pricy if you ask me. - -Whereas LibreOffice is free and community-developed and headed by The Document Foundation. It is not trying to be Microsoft Office, but it allows millions of users, schools, non-profits, colleges, and students to work and learn using a free office suite. Hence, the development is slower, and features arrive late. - -Hence, it is beneficial if it can mimic the basic look and feel to make it like Microsoft Office to increase LibreOffice’s adoption. And I hope this guide serves a little purpose in that direction. - -[Link: Official Feature comparison between LibreOffice and Microsoft Office.][11] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/libreoffice-like-microsoft-office/ - -作者:[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]: http://libreoffice.com -[2]: http://office.com -[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/tabbed-bar-option.jpg -[4]: https://www.deviantart.com/users/outgoing?https://1drv.ms/u/s!ArgKmgFcmBYHhSQkPfyMZRnXX5LJ -[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/Import-icon-sets-in-Extension-Manager.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2021/06/Change-icons-in-Options-1024x574.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-KDE-Plasma.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-Windows-10.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2021/06/Making-LibreOffice-look-like-Microsoft-Office-in-GNOME.jpg -[10]: https://www.debugpoint.com/how-to-enable-dark-mode-libreoffice/ -[11]: https://wiki.documentfoundation.org/Feature_Comparison:_LibreOffice_-_Microsoft_Office From e3f3fc2f209fe4b3b52b26d40a7467062b0dcb54 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 25 Nov 2022 11:46:18 +0800 Subject: [PATCH 502/925] ALL @wxy https://linux.cn/article-15288-1.html --- .../20221004 5 Best Python IDE-s- and Code Editor-s-.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources/tech => published}/20221004 5 Best Python IDE-s- and Code Editor-s-.md (100%) diff --git a/sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md b/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md similarity index 100% rename from sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md rename to published/20221004 5 Best Python IDE-s- and Code Editor-s-.md From 2c7bfb78aee512a0b20e7f82743f120a79f0f53e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 25 Nov 2022 11:51:41 +0800 Subject: [PATCH 503/925] ALL --- ...5 Best Python IDE-s- and Code Editor-s-.md | 221 ++++++++++-------- 1 file changed, 127 insertions(+), 94 deletions(-) diff --git a/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md b/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md index 0869aeb644..edd7c987d6 100644 --- a/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md +++ b/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md @@ -2,157 +2,187 @@ [#]: via: "https://www.debugpoint.com/5-best-python-ide-code-editor/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15288-1.html" -5 Best Python IDE(s) and Code Editor(s) +6 个最好的 Python IDE 和代码编辑器 ====== -We list the five best Python code editors for Ubuntu/Linux and Windows in 2022. -[Python][1] is everywhere today, and it is arguably the C programming language of the modern era. You can find Python everywhere, from websites, apps, data science projects, and AI to IoT devices. So being a popular programming language of this decade, it is essential to know the development environment of Python, where developers create applications, especially if you are starting afresh. +![][0] -Many Python development environments are available with features and utilities catering to your need. Some of them are useful for beginners learning Python by setting up the environment and other users for heavy Python development and complex setups. Here, in this post, I will touch upon the five best of them that would help you to pick one for your own need and use case. +> 我们列出了 2022 年适用于 Linux 和 Windows 的六个最佳 Python 代码编辑器。 -### Best Python Editor for Coding +如今,[Python][1] 无处不在,它可以说是现代版的 C 语言编程语言。从网站、应用程序、数据科学项目、人工智能到物联网设备,你可以发现 Python 无处不在。因此,作为这十年来流行的编程语言,了解 Python 的开发环境是很有必要的,开发人员用它创建应用程序,特别是如果你是刚刚开始学习 Python 编程,更需要了解 Python 开发环境。 -This top list features the following editors: +许多 Python 开发环境都提供了可以满足你需求的功能和工具。其中有些环境对学习 Python 的初学者很有用,而另外一些用户则适用于重型 Python 开发和复杂的设置。在这里,在这篇文章中,我将谈一谈其中最好的几个,这将有助于你根据自己的需要和使用情况选择一个。 -1. Eclipse -2. PyCharm -3. Spyder -4. Sublime Text -5. Thonny +### 最好的 Python 编码编辑器 -#### 1. Eclipse with PyDev +这个榜单上有以下几个编辑器: -![Eclipse Editor][2] +1. Visual Studio Code +2. Eclipse +3. PyCharm +4. Spyder +5. Sublime Text +6. Thonny -[Eclipse][3] is a free and open-source IDE developed by IBM. This complete IDE is used for Java and Android development. However, it supports many other programming languages, including Python. You can use Eclipse with the popular PyDev plugin, which enables you to convert Eclipse to a complete Python development environment. With PyDev integration in Eclipse, you can do the compilation, code analysis, live debugging, interactive console access, and many more features. +#### 1、Visual Studio Code -##### Advantage +![Visual Studio Code][46] -* Extensive features and complete Python development IDE. +尽管它是微软创造的,但 Visual Studio Code 是最好的代码编辑器之一。不仅是 Python,对于所有流行和趋势的编程语言都是。 -##### Disadvantage +它具有语法高亮、代码补完、调试、代码片段、内置 Git 等诸如此类的功能。对于新手来说,它有点复杂,但也只需几个小时就能学会。 -* A heavyweight on system performance. -* Targetted for advanced users. +然而,它是用 Electron 框架构建的,可能会感觉稍微慢一些。但在高端的开发硬件下这不是问题。它是一个自由开源的应用程序,适用于 Linux、macOS 和 Windows。 -##### Installation and more information +以下是适用于 Ubuntu、Fedora 和相关发行版的单个 deb 和 RPM 包: -* Platform: Linux -* Type: IDE -* Price: Free -* Source: Open Source -* Official Download link: [PyDev][4], [Eclipse][5] -* Official Website: [Eclipse][6], [PyDev Plugin][7] -* Flatpak: [Eclipse for Java is available as Flatpak via Flathub][8]. You can try this version after [setting up Flatpak.][9] +> **[下载 VS Code][47]** -#### 2. PyCharm Editor +你也可以为 Flatpak 设置你的系统,并从终端运行以下命令,在所有 Linux 发行版上安装它。 -![PyCharm Editor][14] +``` +flatpak install flathub com.visualstudio.code +``` -Developed by JetBrains, [PyCharm][15] provides intelligent code completion, code inspections, on-the-fly error highlighting, quick fixes, automated code refactorings, and rich navigation capabilities. +#### 2、带有 PyDev 的 Eclipse -PyCharm’s massive collection of tools out of the box includes an integrated debugger and test runner; Python profiler; a built-in terminal; integration with major VCS and built-in database tools; remote development capabilities with remote interpreters; an integrated ssh terminal; and integration with Docker and Vagrant. +![Eclipse 编辑器][2] -In addition to Python, PyCharm provides first-class support for various Python web development frameworks, specific template languages, JavaScript, CoffeeScript, TypeScript, HTML/CSS, AngularJS, Node.js, and more. +[Eclipse][3] 是一个由 IBM 开发的自由开源的 IDE。这个完备的 IDE 可用于 Java 和 Android 开发。然而,它也支持许多其他编程语言,包括 Python。你可以将 Eclipse 与流行的 PyDev 插件一起使用,它可以将 Eclipse 转换成一个完整的 Python 开发环境。通过将 PyDev 集成在 Eclipse 中,你可以进行编译、代码分析、实时调试、交互式控制台访问,以及更多的功能。 -PyCharm has two versions of installers. The professional version and a community version. The community version is free and open source. The professional version is not free as it comes with professional tools and extensive support. The professional edition has a monthly subscription version of <10 USD for individual use. +优势: -However, if you are a beginner, you can start with the free Community edition of PyCharm. +* 丰富的功能和完整的 Python 开发 IDE。 -For both Scientific and Web Python development. With HTML, JS, and SQL support. +劣势: -##### Advantage +* 对系统性能有很大影响。 +* 针对高级用户。 -* Advanced and modern editing capabilities for professionals that aid rapid developments. +安装和更多信息: -##### Disadvantage +* 平台:Linux、Mac 和 Windows +* 类型:集成开发环境 +* 价格:免费 +* 源代码:开源 +* 官方下载链接:[PyDev][4]、[Eclipse][5] +* 官方网站:[Eclipse][6]、[PyDev 插件][7] +* Flatpak:[Eclipse for Java 通过 Flathub 以 Flatpak 的形式提供][8],你可以在 [设置 Flatpak][9] 之后尝试这个版本 -* Most professional tools are available in the paid version (approximately 8 to 10 USD per month for individual use). +#### 3、PyCharm 编辑器 -##### Installation and additional information +![PyCharm 编辑器][14] -* Platform: Linux, Mac, and Windows -* Type: IDE -* Price: Free (Community edition) and Paid (Professional Edition) -* Source: Open Source (Community Edition) -* [Official Download link][16] -* Flatpak:You can install the [community version via Flathub][17] after [setting up your Linux system for Flatpak][18]. +由 JetBrains 开发的 [PyCharm][15] 提供了智能代码补完、代码检查、即时错误高亮、快速修复、自动代码重构和丰富的导航功能。 -#### 3. Spyder Editor +PyCharm 开箱即用的大量工具包括:集成的调试器和测试运行器;Python 剖析器;内置终端;与主要版本控制系统和内置数据库工具的集成;借助远程解释器提供的远程开发能力;集成 SSH 终端;以及与 Docker 和 Vagrant 的集成。 + +除了 Python,PyCharm 还为各种 Python 网页开发框架、特定模板语言、JavaScript、CoffeeScript、TypeScript、HTML/CSS、AngularJS、Node.js 等提供了一流的支持。 + +PyCharm 有两个版本的安装程序:专业版和社区版。社区版是自由开源的。专业版不是免费的,因为它带有专业工具和广泛的支持。专业版有一个不到 10 美元的月度订阅版本,供个人使用。 + +然而,如果你是一个初学者,你可以从 PyCharm 免费的社区版开始。 + +它适用于科学和网页 Python 开发。具有 HTML、JS 和 SQL 支持。 + +优势: + +* 为专业人士提供先进的现代编辑功能,有助于快速开发。 + +劣势: + +* 大多数专业工具都在付费版本中提供(个人使用时每月约 8 至 10 美元)。 + +安装和其他信息: + +* 平台:Linux、Mac 和 Windows +* 类型:IDE +* 价格:免费(社区版)和付费(专业版) +* 源代码:开源(社区版) +* [官方下载链接][16] +* Flatpak:你可以在 [为 Flatpak 设置你的 Linux 系统][18] 之后安装 [Flathub 提供的社区版本][17] + +#### 4、Spyder 编辑器 ![Spyder Editor][23] -[Spyder][24] is a powerful Python editor written in Python for Python. It is designed to be used by scientists, engineers, and data scientists. It offers a unique combination of a comprehensive development tool’s advanced editing, analysis, debugging, and profiling functionality with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package. +[Spyder][24] 是一个强大的 Python 编辑器,是用 Python 编写的。它是为科学家、工程师和数据科学家所设计的。它将综合开发工具的高级编辑、分析、调试和剖析功能与科学软件包的数据探索、交互式执行、深度检查和漂亮的可视化功能独特地结合起来。 -##### Advantage +优势: -* Lightweight and Free +* 轻量级和免费 -##### Disadvantage +劣势: -* You have to download it as part of the Anaconda package. No standalone installer. +* 你必须把它作为 Anaconda 软件包的一部分来下载。没有独立的安装程序。 -##### Installation and additional instructions +安装和其他说明: -* Platform: Anaconda -* Type: IDE -* Price: Free -* Source: Open Source -* [Official Download link][25] -* [Official Website][26] +* 平台:Anaconda +* 类型:IDE +* 价格:免费 +* 源代码:开源 +* [官方下载链接][25] +* [官方网站][26] -#### 4. Sublime Text +#### 5、Sublime Text ![Sublime Text][27] -[Sublime Text][28] is a sophisticated code editor with a Python programming interface. It is a cross-platform utility and natively supports many programming languages. You can extend its features and functionality using plugins. The sublime text comes with productivity-boosting features such as Goto anything, changes to multiple sections of your file simultaneously. +[Sublime Text][28] 是一个支持 Python 编程的复杂的代码编辑器。它是一个跨平台的工具,原生支持许多编程语言。你可以使用插件来扩展其特性和功能。Sublime Text 带有提高生产力的功能,如 “Goto anything”,可以同时对文件的多个部分进行修改。 -##### Advantages +优点: -* Lightweight, free, and available for Windows, Mac, and Linux. +* 轻量级、免费、可用于 Windows、Mac 和 Linux。 -##### Disadvantages +缺点: -* It is free to evaluate, but you must buy a license for advanced usage. +* 它是免费评估的,但你必须购买一个许可证来进行高级使用。(LCTT 译注:但可以一直免费评估,而不限制时间,只是会时不时提醒) -##### Additional information and installation +其他信息和安装: -* Platform: Windows, Linux, OS X -* Type: IDE -* Price: Free, but a license must be purchased for continuous use -* Source: Closed Source -* [Official Download link][29] -* [Official Website][30] -* Flatpak: Sublime Text is available via [Flathub as Flatpak][31]. Set up your [Linux system for Flatpak][32] and then install it. +* 平台:Windows、Linux、OS X +* 类型:IDE +* 价格:免费,但必须购买许可证才能继续使用 +* 源代码:闭源 +* [官方下载链接][29] +* [官方网站][30] +* Flatpak:Sublime Text 可以通过 [Flathub 以 Flatpak 软件包][31] 获得。设置你的 [Linux 上的 Flatpak][32],然后安装它。 -#### 5. Thonny Python Editor +#### 6、Thonny Python 编辑器 -![Thonny Editor][37] +![Thonny 编辑器][37] -[Thonny][38] is a beginner’s Python IDE and is simple to use. It comes with the latest Python (3.7+ as of writing) built-in, so you do not need to worry about installing Python separately in your operating system. The user interface is clutterless and distraction-free for beginners. Some of the other notable features of Thonny include – a variable view, simple debugger, steps, and syntax errors. +[Thonny][38] 是一个面向初学者的 Python IDE,使用起来很简单。它内置了最新的 Python(截至本文撰写时为 3.7+),所以你不需要在你的操作系统中单独安装 Python。用户界面毫不杂乱,对初学者来说没有任何干扰。Thonny 的其他一些显著特点包括:变量视图、简单调试器、单步调试和语法错误。 -##### Advantages +优点: -* Lightweight, free, and available for Windows, Mac, and Linux. -* Perfect for absolute beginners in Python (or even in coding). +* 轻量级、免费,可用于 Windows、Mac 和 Linux。 +* 非常适合 Python 的绝对初学者(甚至是编码的初学者)。 -##### Disadvantages +缺点: -* Available with basic features as it is a beginner’s IDE. +* 由于它是一个初学者的 IDE,所以只有基本的功能。 -##### Installation and additional info +安装和其他信息: -* Platform: Windows, Linux, Mac -* Type: IDE -* Price: Free -* Source: Open Source -* [Official Download link][39] -* Flatpak: It’s available as [Flatpak via Flathub][40]. Set up your [Linux system to install Flatpak][41], and they go for installing it. +* 平台:Windows、Linux 和 Mac +* 类型:IDE +* 价格:免费 +* 源代码:开源 +* [官方下载链接][39] +* Flatpak:它通过 [Flathub 以 Flatpak][40] 的形式提供。设置你的 [Linux 系统安装 Flatpak][41],然后去安装它。 + +--- + +有很多 Python 编辑器可用,这些是用于编码的六个最好的 Python 编辑器。你可以尝试其他值得注意的 Python 编辑器:VIM、IDLE(默认 Python 自带)、Cloud 9 和 Emacs。 + +🗨️ 你最喜欢哪个编辑器?请在下面的评论区告诉我们。 -------------------------------------------------------------------------------- @@ -160,8 +190,8 @@ via: https://www.debugpoint.com/5-best-python-ide-code-editor/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -212,3 +242,6 @@ via: https://www.debugpoint.com/5-best-python-ide-code-editor/ [43]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ [44]: https://flathub.org/apps/details/org.thonny.Thonny [45]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[46]: https://www.debugpoint.com/wp-content/uploads/2022/10/Visual-Studio-Code.jpg +[47]: https://code.visualstudio.com/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/25/114333wj3t354qjhrggrvw.jpg \ No newline at end of file From c1e3b81fe07dd17e9173692f5025cf82d1152b89 Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Fri, 25 Nov 2022 20:44:57 +0800 Subject: [PATCH 504/925] APL --- ...w to Install Kubernetes Cluster on Debian 11 with Kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md b/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md index eafa316839..f8051c9d5b 100644 --- a/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md +++ b/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md @@ -2,7 +2,7 @@ [#]: via: "https://www.linuxtechi.com/install-kubernetes-cluster-on-debian/" [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "lxbwolf" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 19f1b3720160ef2f14d682ee807bfb592c28abcb Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Fri, 25 Nov 2022 21:46:00 +0800 Subject: [PATCH 505/925] TSL --- ...netes Cluster on Debian 11 with Kubeadm.md | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md b/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md index f8051c9d5b..d4c0604d27 100644 --- a/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md +++ b/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md @@ -7,36 +7,36 @@ [#]: publisher: " " [#]: url: " " -How to Install Kubernetes Cluster on Debian 11 with Kubeadm +如何用 Kubeadm 在 Debian 11 上安装 Kubernetes 集群 ====== -Are you looking for an easy guide for installing Kubernetes Cluster on Debian 11 (Bullseye)? +你是否在寻找一份在 Debian 11 (Bullseye) 上安装 Kubernetes 集群的简易指南? -The step-by-step guide on this page will demonstrate you how to install Kubernetes cluster on Debian 11 with Kubeadm utility. +本页的分步指南将向您展示如何使用 Kubeadm 工具在 Debian 11 上安装 Kubernetes 集群。 -Kubernetes (k8s) cluster contains master and worker nodes which are used to run containerized applications. Master node works as control plan and worker nodes offers environment for actual workload. +Kubernetes(k8s)集群包含主节点和工作节点,用于运行容器化的应用程序。主节点作为控制平面,工作节点为实际工作负载提供环境。 -##### Prerequisites +##### 前置条件 -* Minimal Installed Debian 11 +* 已安装 Debian 11 * 2 CPU / vCPU * 2 GB RAM -* 20 GB free disk space -* Sudo User with Admin rights -* Stable Internet Connectivity +* 20 GB 空闲硬盘空间 +* 有管理员权限的 sudo 用户 +* 稳定的网络连接 -##### Lab Setup +##### Lab 配置 -For the demonstration, I am using three Debian 11 systems with following details, +在本文中,我使用了 3 个 Debian 11 系统的节点,配置如下 * Master Node (k8s-master) – 192.168.1.236 * Worker Node 1 (k8s-worker1) – 192.168.1.237 * Worker Node 2 (k8s-worker2) – 192.168.1.238 -Without any further delay, let’s jump into the installation steps. +事不宜迟,我们直接进入安装步骤。 -### 1 ) Set Host Name and update /etc/hosts file +### 1 ) 设置主机名和更新 /etc/hosts 文件 -Use hostnamectl command to set the hostname on master and worker nodes. +在主节点和工作节点上使用 hostnamectl 命令来设置主机名。 ``` $ sudo hostnamectl set-hostname "k8s-master"       // Run on master node @@ -44,7 +44,7 @@ $ sudo hostnamectl set-hostname "k8s-worker1"      // Run on 1st worker nod $ sudo hostnamectl set-hostname "k8s-worker2"      // Run on 2nd worker node ``` -Add the following entries in /etc/hosts file on all the nodes, +在所有节点的 /etc/hosts 文件末尾添加下面几行内容, ``` 192.168.1.236       k8s-master @@ -52,20 +52,20 @@ Add the following entries in /etc/hosts file on all the nodes, 192.168.1.238       k8s-worker2 ``` -### 2) Disable Swap on all nodes +### 2) 在所有节点上关闭交换分区 -For kubelet to work smoothly, it is recommended to disable swap. Run following commands on master and worker nodes to turn off swap. +我推荐关闭交换分区,以便更丝滑地使用 kubelet。在所有节点上执行以下命令来关闭交换分区。 ``` $ sudo swapoff -a $ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab ``` -### 3) Configure Firewall Rules for Kubernetes Cluster +### 3) 配置 Kubernetes 集群相关的防火墙规则 -In case, OS firewall is enabled on your debian systems then allow following ports on master and worker nodes respectively. +如果你的操作系统防火墙是打开的,请分别在主节点和工作节点允许以下的端口。 -On Master node, run +在主节点,执行 ``` $ sudo ufw allow 6443/tcp @@ -78,7 +78,7 @@ $ sudo ufw allow 10255/tcp $ sudo ufw reload ``` -On Worker Nodes, +在工作节点,执行 ``` $ sudo ufw allow 10250/tcp @@ -86,13 +86,13 @@ $ sudo ufw allow 30000:32767/tcp $ sudo ufw reload ``` -Note: If firewall is disabled on your Debian 11 systems, then you can skip this step. +注意:如果你的 Debian 11系统防火墙是关闭的,可以跳过此步骤。 -### 4) Install Containerd run time on all nodes +### 4) 在所有节点安装 Containerd 运行时 -Containerd is the industry standard container run time, we must install containerd on all master and worker nodes. +Containerd 是容器运行时的行业标准,所有节点必须安装 containerd。 -Before installing containerd, set the following kernel parameters on all the nodes. +先在所有节点上配置如下的核心参数,再安装 containerd。 ``` $ cat </dev/null 2>&1 ``` -Set cgroupdriver to systemd on all the nodes, +在所有节点上设置 cgroupdriver 为 systemd, -Edit the file ‘/etc/containerd/config.toml’ and look for the section ‘[plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options]’ and add SystemdCgroup = true +编辑 “/etc/containerd/config.toml” 文件,找到 ‘[plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options]’ 部分,添加一行内容:SystemdCgroup = true ``` $ sudo vi /etc/containerd/config.toml @@ -139,18 +139,18 @@ $ sudo vi /etc/containerd/config.toml ![systemdCgroup-true-containerd-config-toml][1] -Save and close the file. +保存并退出文件。 -Restart and enable containerd service on all the nodes, +在所有节点上重启并打开 containerd service。 ``` $ sudo systemctl restart containerd $ sudo systemctl enable containerd ``` -### 5) Enable Kubernetes Apt Repository +### 5) 添加 Kubernetes Apt 库 -Enable Kubernetes apt repository on all the nodes, run +执行以下命令,添加 Kubernetes Apt 库 ``` $ sudo apt install gnupg gnupg2 curl software-properties-common -y @@ -158,9 +158,9 @@ $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dea $ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" ``` -### 6) Install Kubelet, Kubectl and Kubeadm on all nodes +### 6) 在所有节点上安装 Kubelet, Kubectl 和 Kubeadm -Run the following apt commands on all the nodes to install Kubernetes cluster components like kubelet, kubectl and Kubeadm. +在所有节点上执行以下 apt 命令,安装 Kubernetes 集群组件,如 kubelet,kubectl 以及 Kubeadm。 ``` $ sudo apt update @@ -168,21 +168,21 @@ $ sudo apt install kubelet kubeadm kubectl -y $ sudo apt-mark hold kubelet kubeadm kubectl ``` -### 7) Create Kubernetes Cluster with Kubeadm +### 7) 使用 Kubeadm 创建 Kubernetes 集群 -Now, we are all set to create Kubernetes cluster, run following command only from master node, +现在我们可以创建 Kubernetes 集群了,在主节点上执行以下命令 ``` $ sudo kubeadm init --control-plane-endpoint=k8s-master ``` -Output, +命令输出 ![Kubernetes-Control-Plane-Initialization-Debian11][2] -Above output confirms that control plane has been initialized successfully. In the output, we have commands for regular user for interacting with the cluster and also the command to join any worker node to this cluster. +出现以上内容,说明控制平面初始化成功。在输出中,有普通用户与集群交互的命令,也有把任何工作节点加入到集群的命令。 -To start interacting with cluster, run following commands on master node, +要开始与集群进行交互,请在主节点上运行以下命令。 ``` $ mkdir -p $HOME/.kube @@ -190,20 +190,20 @@ $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` -Run following kubectl command to get nodes and cluster information, +执行以下 kubectl 命令来获取节点和集群的信息, ``` $ kubectl get nodes $ kubectl cluster-info ``` -Output of above commands, +以上命令的输出 ![Nodes-Cluster-Info-Kubectl][3] -Join both the worker nodes to the cluster by running ‘Kubeadm join’ command. +通过执行 ‘Kubeadm join’ 命令来把两个工作节点加入到集群。 -Note: Copy the exact command from the output of ‘kubeadm init’ command. In my case, following is the command +注意:请从 ‘kubeadm init’ 命令的输出中复制完整的命令。在我的例子中,命令如下: ``` $ sudo kubeadm join k8s-master:6443 --token ta622t.enl212euq7z87mgj \ @@ -211,15 +211,15 @@ $ sudo kubeadm join k8s-master:6443 --token ta622t.enl212euq7z87mgj \   --discovery-token-ca-cert-hash sha256:2be58f54458d0e788c96b8841f811069019161f9a3dd8502a38c773e5c6ead17 ``` -Output from Worker Node 1, +在工作节点 1 上的输出如下 ![Worker-Node1-Join-Kunernetes-Cluster][4] -Output from Worker Nod 2 , +在工作节点 2 上的输出如下 ![Worker-Node2-Join-Kubernetes-Cluster][5] -Check the nodes status by running following command from master node, +在主节点上执行以下命令,检查节点的状态: ``` $ kubectl get nodes @@ -230,21 +230,21 @@ k8s-worker2   NotReady             2m19s   v1.25.0 $ ``` -To make nodes status ready, we must install POD network addons like Calico or flannel. +为了使节点状态变为 ready,我们需要安装 POD 网络插件,如 Calico 或 flannel。 -### 8) Install Calico Pod Network Addon +### 8) 安装 Calico Pod 网络插件 -On the master node, run beneath command to install calico, +在主节点上执行以下命令安装 calico: ``` $ kubectl apply -f https://projectcalico.docs.tigera.io/manifests/calico.yaml ``` -Output, +输出 ![Install-calico-pod-network-addon-debian11][6] -Allow Calico ports in OS firewall, run beneath ufw commands on all the nodes, +在所有节点上执行以下命令,配置防火墙允许 Calico 的端口, ``` $ sudo ufw allow 179/tcp @@ -255,7 +255,7 @@ $ sudo ufw allow 4789/udp $ sudo ufw reload ``` -Verify the status of Calico pods, run +执行以下命令检查下 Calico 的状态 ``` $ kubectl get pods -n kube-system @@ -263,15 +263,15 @@ $ kubectl get pods -n kube-system ![Calico-Pods-Status-Kuberenetes-Debian11][7] -Perfect, now check nodes status again, +完美!现在再检查下节点状态。 ![Nodes-status-after-calico-Installation][8] -Great, output above confirms that master and worker nodes are in ready status. Now, this cluster is ready for the workload. +非常棒!上面的输出说明主节点和工作节点的状态都是 ready。现在这个集群可以正常工作了。 -### 9) Test Kubernetes Cluster Installation +### 9) 检查 Kubernetes 集群安装是否正确 -To test Kubernetes cluster installation, let’s try to deploy nginx based application via deployment. Run beneath commands, +我们尝试通过 deployment 命令来部署基于 nginx 的应用程序,来验证Kubernetes 集群的安装是否正确。执行以下命令: ``` $ kubectl create deployment nginx-app --image=nginx --replicas 2 @@ -279,13 +279,13 @@ $ kubectl expose deployment nginx-app --name=nginx-web-svc --type NodePort --por $ kubectl describe svc nginx-web-svc ``` -Output of above commands, +以上命令的输出: ![Nginx-Based-App-Kubernetes-Cluster-Debian11][9] -Try to access the nginx based application using following curl command along with the nodeport 30036. +使用以下的 curl 命令通过节点端口 30036 来访问基于 nginx 的应用程序。 -Note : In the curl command we can use either of worker node’s hostname. +注意:在 curl 命令中,两个工作节点的主机名都可以使用 ``` $ curl http://k8s-worker1:30036 @@ -293,9 +293,9 @@ $ curl http://k8s-worker1:30036 ![Access-Nginx-Based-App-via-NodePort-Kubernetes-Debian11][10] -Above command’s output confirm that we are able to access our nginx based application. +以上的输出说明我们可以正常访问基于 nginx 的应用程序了。 -That’s all from this guide, I hope you have found it informative and able to install Kubernetes cluster on Debian 11 smoothly. Kindly do post your queries and feedback in below comments section. +以上为全部内容。希望本文对你有用,参照本文可以在 Debian 11 上正常安装 Kubernetes 集群。如有任何问题,请在下面评论区告诉我。 -------------------------------------------------------------------------------- @@ -303,7 +303,7 @@ via: https://www.linuxtechi.com/install-kubernetes-cluster-on-debian/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[lxbwolf](https://github.com/lxbwolf) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 84ad9425fbcd5bf2c08698404f2f6bbce43c4464 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 26 Nov 2022 09:58:02 +0800 Subject: [PATCH 506/925] RP @geekpi https://linux.cn/article-15290-1.html --- ...rebase to Fedora Linux 37 on Silverblue.md | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) rename {translated/tech => published}/20221118 How to rebase to Fedora Linux 37 on Silverblue.md (66%) diff --git a/translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/published/20221118 How to rebase to Fedora Linux 37 on Silverblue.md similarity index 66% rename from translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md rename to published/20221118 How to rebase to Fedora Linux 37 on Silverblue.md index d9ea169c6d..24833b8085 100644 --- a/translated/tech/20221118 How to rebase to Fedora Linux 37 on Silverblue.md +++ b/published/20221118 How to rebase to Fedora Linux 37 on Silverblue.md @@ -3,38 +3,36 @@ [#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/" [#]: collector: "lujun9972" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15290-1.html" 如何在 Silverblue 上变基到 Fedora Linux 37 ====== ![][1] -Fedora Silverblue 是[基于 Fedora Linux 构建的桌面操作系统][2]。它非常适合日常使用、开发和基于容器的工作流程。它提供了[众多优势][3],例如能够在出现任何问题时回滚。如果你想在 Fedora Silverblue 系统上更新或变基到 Fedora Linux 37(这些说明与 Fedora Kinoite 类似),本文将告诉你如何操作。它不仅向你展示了该做什么,而且还向你展示了在发生不可预见的事情时如何恢复。 +Fedora Silverblue 是 [基于 Fedora Linux 构建的桌面操作系统][2]。它非常适合日常使用、开发和基于容器的工作流程。它提供了 [众多优势][3],例如能够在出现任何问题时回滚。如果你想在 Fedora Silverblue 系统上更新或变基到 Fedora Linux 37(这些说明与 Fedora Kinoite 类似),本文将告诉你如何操作。它不仅向你展示了该做什么,而且还向你展示了在发生不可预见的事情时如何恢复。 在实际对 Fedora Linux 37 进行变基之前,你应该应用任何待定的更新。在终端中输入以下内容: ``` - $ rpm-ostree update - ``` -或通过 GNOME Software 安装更新并重新启动。 +或通过 GNOME 软件Software 应用安装更新并重新启动。 -### 使用 GNOME Software 变基 +### 使用 GNOME 软件应用变基 -GNOME Software 向你显示更新页面上有新版本的 Fedora Linux 可用。 +在更新页面上,GNOME 软件Software 应用向你显示有新版本的 Fedora Linux 可用。 ![Fedora 37 更新可用][4] -你需要做的第一件事是下载新图片,因此请点击_下载_按钮。这需要一些时间。完成后,你将看到更新已准备好安装。 +你需要做的第一件事是下载新镜像,因此请点击“下载Download”按钮。这需要一些时间。完成后,你将看到更新已准备好安装。 ![Fedora 37 更新准备好安装][5] -点击 _Restart &Upgrade_ 按钮。此步骤只需要几分钟,最后计算机将重启。重启后,你将获得全新的 Fedora Linux 37 版本。很简单,不是吗? +点击 “重启并更新Restart & Upgrade” 按钮。此步骤只需要几分钟,最后计算机将重启。重启后,你将获得全新的 Fedora Linux 37 版本。很简单,不是吗? ### 使用终端变基 @@ -43,35 +41,27 @@ GNOME Software 向你显示更新页面上有新版本的 Fedora Linux 可用。 使用终端变基到 Fedora Linux 37 很容易。首先,检查 37 分支是否可用: ``` - $ ostree remote refs fedora - ``` 你应该在输出中看到以下内容: ``` - fedora:fedora/37/x86_64/silverblue - ``` 如果你想置顶当前部署(该部署将作为 GRUB 中的选项保留,直到你删除它),你可以通过运行以下命令来完成: ``` - # 0 is entry position in rpm-ostree status $ sudo ostree admin pin 0 - ``` 要删除置顶部署,请使用以下命令: ``` - # 2 is entry position in rpm-ostree status $ sudo ostree admin pin --unpin 2 - ``` 其中 2 是 rpm-ostree 状态中的位置。 @@ -79,21 +69,17 @@ $ sudo ostree admin pin --unpin 2 接下来,将你的系统重新设置为 Fedora Linux 37 分支。 ``` - $ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue - ``` 最后,要做的最后一件事是重新启动计算机并引导至 Fedora Linux 37。 ### 如何回滚 -如果发生任何不好的事情,例如,如果你根本无法启动到 Fedora Linux 37,这很容易回滚。在引导时选择 GRUB 菜单中的上一个条目(如果你没有看到它,请尝试在引导过程中按 ESC),你的系统将以切换到 Fedora Linux 37 之前的先前状态启动。要使此更改永久生效,请使用以下命令: +如果发生任何不好的事情,例如,如果你根本无法启动到 Fedora Linux 37,这很容易回滚。在引导时选择 GRUB 菜单中的上一个条目(如果你没有看到它,请尝试在引导过程中按 `ESC`),你的系统将以切换到 Fedora Linux 37 之前的先前状态启动。要使此更改永久生效,请使用以下命令: ``` - $ rpm-ostree rollback - ``` 就是这样。现在你知道如何将 Fedora Silverblue 变基到 Fedora Linux 37 并回滚。那么为什么不在今天做呢? @@ -105,7 +91,7 @@ via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/ 作者:[Michal Konečný][a] 选题:[lujun9972][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/) 荣誉推出 From 1b4bfd95deb7e148e49482ad25f3773c4d85a83c Mon Sep 17 00:00:00 2001 From: "Xiaobin.Liu" Date: Sat, 26 Nov 2022 11:21:05 +0800 Subject: [PATCH 507/925] TSL --- ...How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md (100%) diff --git a/sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md b/translated/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md similarity index 100% rename from sources/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md rename to translated/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md From f8e1a5910635ebd171f345edd41246a58493384a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 26 Nov 2022 11:39:29 +0800 Subject: [PATCH 508/925] ALL @wxy https://linux.cn/article-15291-1.html --- ...sktop Clients for Ubuntu and Other Linux [2022].md | 199 ++++++++++++++++++ ...sktop Clients for Ubuntu and Other Linux [2022].md | 195 ----------------- 2 files changed, 199 insertions(+), 195 deletions(-) create mode 100644 published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md delete mode 100644 sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md diff --git a/published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md b/published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md new file mode 100644 index 0000000000..a3d0cdfbe6 --- /dev/null +++ b/published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md @@ -0,0 +1,199 @@ +[#]: subject: "Best Remote Desktop Clients for Ubuntu and Other Linux [2022]" +[#]: via: "https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15291-1.html" + +最佳 Linux 远程桌面客户端 +====== + +![][0] + +> 一个适用于 Ubuntu 和其他 Linux 发行版的最佳远程桌面客户端的列表。 + +远程桌面客户端允许你连接到任何其他桌面/服务器,并远程执行任务。它是一种重要的 IT 支持和商业用例。在 Linux 中,有许多远程桌面客户端可用。其中一些是免费的,而另一些是付费版本。所有这些客户端都支持流行的 远程桌面协议Remote Desktop Protocol(RDP),如 VNC、RDP 等等。 + +本文将介绍一些适用于 Ubuntu 和其他发行版的最佳免费远程桌面客户端。该列表包括自由开源的应用程序,以及一些免费使用但专有的应用程序。 + +注意:你的目标系统中需要一个远程桌面服务器(如 Xrdp)来成功建立远程连接。然后你才能使用以下应用程序进行连接。这是一个双向的过程。如果你想了解更多的情况,请参考我们的一个案例研究: + +> **[通过 RDP 从 Windows 连接到 Ubuntu][1]** + +### 适用于 Linux 的最佳远程桌面客户端 + +#### GNOME Connections + +![GNOME 连接][2] + +第一个远程桌面客户端是一个原生的 [GNOME 应用程序][3]:GNOME 连接Connections 应用。这个基于 GTK 的应用程序带来了一个简单的用户界面。它是一个非常适合初学者的应用程序。它可以在一分钟内快速设置和连接(如果你知道 IP 和其他细节)。 + +此外,它还提供了清晰的指示,说明你是要连接到 Linux 还是 Windows。GNOME 连接应用支持 VNC(针对 Linux)和 RDP(针对 Windows)协议。 + +用 Flatpak 安装这个应用程序超级简单。[设置你的系统以使用 Flatpak][7],并使用以下命令进行安装: + +``` +flatpak install flathub org.gnome.Connections +``` + +更多信息: + +- [源代码和主页][4] + +#### KRDC + +![KRDC][5] + +下一个应用程序是 KRDC,这是一个 [KDE 应用程序][6],允许你查看和控制另一台机器上的远程桌面会话。它支持 VNC 和 RDP 协议。你还可以控制分辨率和设置密码;当然,它与你的 Plasma 桌面整合得很好。 + +所以,如果你正在寻找一个原生的 KDE 远程桌面应用程序,那就是它。对于 KDE Plasma 桌面,它应该是默认安装的。 + +如果没有,理想的方法是使用 Flatpak 来安装它。[设置你的系统以使用 Flatpak][7],然后使用下面的命令来安装: + +``` +flatpak install flathub org.kde.krdc +``` + +更多信息: + +- [主页][8] +- [文档][9] +- [源代码][10] + +#### Remmina + +![Remmina 远程桌面客户端][11] + +Remmina 是 Linux 系统中最古老的远程桌面客户端之一。可能是你有需要时的“首选”客户端。这个自由开源的应用程序可用于 Linux,也可用于 macOS。它支持许多远程协议,如 RDP、VNC、NX、X2GO、SPICE、HTTPS 和 SSH。 + +此外,它的用户界面简单而厚重,而且在开发和错误修复方面超级活跃。 + +这个应用程序已经在所有主要发行版的软件库中。你可以在 Ubuntu 的软件应用中搜索 “remmina”,或在其他发行版的相关应用中搜索。然后点击安装即可。 + +此外,你也可以 [为 Flatpak 设置你的系统][7],用下面的命令以 Flatpak 安装: + +``` +flatpak install flathub org.remmina.Remmina +``` + +更多信息: + +- [主页][12] +- [源代码][13] + +#### TigerVNC + +TigerVNC 是一个自由开源的“平台中立”的 VNC(虚拟网络计算Virtual Network Computing)协议的实现,带有客户端和服务器包。当有高性能需求时,你可以使用这个远程桌面,因为它在远程连接的 3D/视频数据方面效果最好,经过了优化。 + +此外,它仍然提供了一个 32 位的安装程序,以及通常的 64 位程序和命令行界面。TigerVNC 的客户端程序名称是 `vncviewer`,请 [参考这里][14] 的各种选项。 + +你可以从 [Sourceforge 页面][15] 获得预编译的 deb 和 RPM 包。 + +更多信息: + +- [主页][16] +- [文档][17] +- [源代码][18] + +#### X2Go + +![X2Go][19] + +[X2Go][20] 是一个基于 Linux 的远程桌面软件,基于 NX 技术,由 NoMachine 开发。它是一个客户端和服务器包的集合,使你能够通过代理连接到远程机器。 + +对于远程客户端部分,它有两种选择。你可以使用 X2Go 客户端或 Pyhoca-GUI(基于 Python)。所有这些都被捆绑在一起,放在 Linux 的存储库中。此外,所有的组件也可用于 Windows 和 macOS。 + +你可以从以下页面下载该软件的客户端和服务器部分: + +[下载 X2Go][31] + +#### Chrome 远程桌面 + +![Chrome 远程桌面][21] + +如果你喜欢通过网页浏览器进行远程连接,或者在安装 RDP 服务器时遇到了限制,你可以尝试通过 Chrome 浏览器进行远程连接。 + +Chrome 远程桌面Chrome Remote Desktop 服务是由谷歌创建的,可以通过互联网使用。这项服务通过 WebRTC 协议在浏览器上运行,并使用一些专有技术。 + +一旦启动,就会从主机上下载一个服务器组件,并使用 Chrome 来提供功能。而在客户机上使用 Chrome 浏览器扩展来启用你的远程连接。 + +你可以打开以下网址,通过 Chrome 和支持 WebRTC 的浏览器访问这项服务。 + +> **[https://remotedesktop.google.com/][22]** + +此外,它为远程查看你的系统提供了一个基于 PIN 的即时认证机制。而且它限制只能被最多 100 个客户端使用。 + +### 更多的远程客户端 + +上面的列表应该足以满足大多数常见的使用情况。然而,如果你仍然渴望得到更多的远程桌面客户端,这里是我为你准备的一个列表,并简要介绍了它们的性质。 + +#### 自由开源的 + +- [TurboVNC][23](自由开源) +- [UltraVNC][24](自由开源) +- FreeRDP(免费开源 + 需要编译 + 支持 Wayland) + +#### 商业闭源,需要许可证才能使用 + +- [Thincast][25] (免费使用;Flatpak 软件包;可用于树莓派;闭源和专有许可证) +- [NoMachine][26] (个人免费使用;商业付费;流行,可用于 Linux、Windows、macOS、树莓派) +- [AnyDesk][27] (个人免费;企业付费;闭源) +- [VNC Connect][28] (付费;闭源) +- [TightVNC][29] (需要带有电子邮件地址的许可证才能在 Linux 中使用) +- [itopia][30] (免费,有试用版;Flatpak) + +### 总结 + +本文列出了一些适用于 Ubuntu 和其他 Linux 发行版的最新远程桌面客户端。其中一些是免费的,而且很容易使用。你可以将它们用于远程支持、学习和其他使用情况。此外,我还提到了基于 WebRTC 的远程服务,除了浏览器扩展,不需要任何安装。 + +此外,为了大家方便,我也提到了一些商业的。因为如果你是一个中小型企业,你可能想看看有支持的付费版本应用程序。 + +最后,哪一个远程客户端软件是你的 “首选” 应用程序?请在下面的评论栏里告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/connect-ubuntu-20-04-windows-10/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/GNOME-Connections.jpg +[3]: https://www.debugpoint.com/best-gnome-apps-part-1/ +[4]: https://gitlab.gnome.org/GNOME/connections +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/KRDC.jpg +[6]: https://www.debugpoint.com/best-kde-apps-part-1/ +[7]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[8]: https://apps.kde.org/krdc/ +[9]: https://docs.kde.org/?application=krdc +[10]: https://invent.kde.org/network/krdc +[11]: https://www.debugpoint.com/wp-content/uploads/2020/03/Remmina.png +[12]: https://remmina.org/ +[13]: https://gitlab.com/Remmina/Remmina +[14]: https://tigervnc.org/doc/vncviewer.html +[15]: https://sourceforge.net/projects/tigervnc/files/stable/ +[16]: https://tigervnc.org/ +[17]: https://github.com/TigerVNC/tigervnc/wiki +[18]: https://github.com/TigerVNC/tigervnc/releases +[19]: https://www.debugpoint.com/wp-content/uploads/2020/03/X2Go.jpg +[20]: https://wiki.x2go.org/doku.php/download:start +[21]: https://www.debugpoint.com/wp-content/uploads/2020/03/Chrome-Remote-Desktop.png +[22]: https://remotedesktop.google.com/ +[23]: https://www.turbovnc.org/ +[24]: https://www.uvnc.com/ +[25]: https://thincast.com/ +[26]: https://www.nomachine.com/ +[27]: https://anydesk.com/ +[28]: https://www.realvnc.com/en/connect/ +[29]: https://www.tightvnc.com/ +[30]: https://itopia.com/ +[31]: https://wiki.x2go.org/doku.php/download:start +[0]: https://img.linux.net.cn/data/attachment/album/202211/26/113747n4iymaq6afri2fqq.jpg \ No newline at end of file diff --git a/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md b/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md deleted file mode 100644 index 758bb8c21e..0000000000 --- a/sources/tech/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md +++ /dev/null @@ -1,195 +0,0 @@ -[#]: subject: "Best Remote Desktop Clients for Ubuntu and Other Linux [2022]" -[#]: via: "https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Best Remote Desktop Clients for Ubuntu and Other Linux [2022] -====== - -**A list of best remote desktop clients for Ubuntu and other Linux distros.** - -Remote desktop clients allow you to connect to any other desktop/server and perform tasks remotely. It’s one of the important aspects of IT support and other commercial use cases. In Linux, there are many remote desktop clients available. Some of them are free, while others are paid versions. All of these clients support popular remote desktop protocols (RDP) such as VNC, RDP and others. - -This article looks at some of the best free remote desktop clients for Ubuntu and other distros. The list includes free and open-source apps and some free-to-use but proprietary apps. - -Note: You need a remote desktop server (such as Xrdp) in your target system to establish a remote connection successfully. Then only you can connect using the following apps. It’s a two-way process. If you want to get more insight, refer to one of our case studies: [Connecting to Ubuntu from Windows via RDP][1]. - -### Best Remote Desktop Clients for Ubuntu + Others - -#### GNOME Connections - -![GNOME Connections][2] - -The first remote desktop client is a native [GNOME app][3] – “GNOME Connections”. This GTK-based app brings a simple user interface. It’s a perfect app for beginners. It’s also a perfect way quickly set up and connect in a minute (if you know the IP and other details). - -In addition, it comes with clear instructions on whether you want to connect to a Linux machine or Windows. GNOME Connections support VNC (for Linux) and RDP (for Windows) protocols. - -Installing this app is super easy with Flatpak. Set up your system to use Flatpak and install it using the following command. - -``` -flatpak install flathub org.gnome.Connections -``` - -**More information** - -- [Source code and home page][4] - -#### KRDC - -![KRDC][5] - -The next app is KRDC, a [KDE app][6] that allows you to view and control remote desktop sessions on another machine. It supports VNC and RDP protocol. You can also control the resolutions and passwords; of course, it integrates well with your Plasma desktop. - -So, this is it if you are looking for a native-KDE app for a remote desktop. For the KDE Plasma desktop, it should be installed by default. - -If not, the ideal way to install it is using Flatpak. [Set up your system to use Flatpak][7], and then use the following command to install. - -``` -flatpak install flathub org.kde.krdc -``` - -**More information** - -- [Home page][8] -- [Documentation][9] -- [Source code][10] - -#### Remmina - -![Remmina remote desktop client][11] - -Remmina is one of the oldest remote desktop clients for Linux systems. Probably the “go-to” client when you are in need. This free and open-source app is available Linux as well as for macOS. It supports many remote protocols, such as RDP, VNC, NX, X2GO, SPICE, HTTPS and SSH. - -Moreover, it is powerful with its simple yet profound user interface and is super-active in development and bug fixes. - -This app is already in all the major distro’s repositories. You can search for “remmina” in your Software app in Ubuntu and related apps in other distros. And hit install. - -Alternatively, you can also use the following commands to install. - -Furthermore, you can also [set up your system for Flatpak][7] and install it as Flatpak using the following command. - -``` -flatpak install flathub org.remmina.Remmina -``` - -**More information** - -- [Home page][12] -- [Source code][13] - -#### TigerVNC - -TigerVNC is a free and open-source “platform-neutral” implementation of the VNC (Virtual Network Computing) protocol that comes with both client and server packages. You can use this remote desktop when there is a need for high performance because it works best and is optimized for 3D/Video data over a remote connection. - -Furthermore, it still provides a 32-bit installer, along with the usual 64-bit and a command line interface. The client program name for TigerVNC is `vncviewer` and options are present [here][14]. - -You can get the pre-compiled deb and RPM packages from the [Sourceforge page here][15]. - -**More information** - -- [Home page][16] -- [Documentation][17] -- [Source code][18] - -#### X2Go - -![X2Go][19] - -[X2][20][G][20][o][20] is a Linux-based remote desktop software based on NX technology which is developed by NoMachine. It is a collection of client and server packages that enables you to connect to remote machines via proxy. - -For the remote client part – it comes with two options. You can use either the X2Go client or Pyhoca-GUI (based on Python). All of these are bundled together in the repositories available for Linux. In addition, all the components are also available for Windows and macOS. - -You can download this software’s client and server parts from the below page. - -Download X2Go - -#### Chrome Remote Desktop - -![Chrome Remote Desktop][21] - -If you prefer a remote connection over a web browser or have limitations in installing an RDP server, you can try out a remote connection via Google Chrome. - -The Chrome Remote Desktop service is created by Google and is available over the internet. This service runs via WebRTC protocol over a browser and uses some proprietary technology. - -Once launched, a server component is downloaded from the host machine and uses Chrome to provide the functionality. And in the client machine uses a Google Chrome Extension to enable your remote connection. - -You can open the below URL to access this service via Chrome and WebRTC-supported browser. - -[https://remotedesktop.google.com/][22] - -Furthermore, it provides an on-the-fly PIN-based authentication mechanism for remote viewing of your systems. And it is limited to being used by up to 100 clients only. - -### More remote clients - -The above list should suffice for most of the common use cases. However, if you are still hungry for more remote desktop clients, here’s a list I have prepared for you with a brief of their nature. - -#### Free and open-source - -- [TurboVNC][23] (Free and open-source) -- [UltraVNC][24] (Free and open-source) -- FreeRDP (Free + require compilation + support Wayland) - -#### Commercial closed source and requires a license to use - -- [Thincast][25] (Free to use; Flatpak package; Available for Raspberry Pi; Closed source & Proprietary license) -- [NoMachine][26] (Free for personal; Paid for business; Popular, available for Linux, Windows, macOS, Raspberry Pi) -- [AnyDesk][27] (Free for personal; Paid for business; closed source) -- [VNC Connect][28] (Paid; closed source) -- [TightVNC][29] (requires a license with an email address to be used in Linux) -- [itopia][30] (Free with a trial version; Flatpak) - -### Wrapping Up - -This article lists some of the latest remote desktop clients for Ubuntu and other Linux distributions. Some of them are free and easy to use. You can use them for remote support, studying, and other use cases. IN addition, I also mentioned WebRTC-based remote service, which doesn’t require any installation except a browser extension. - -Furthermore, for the benefit of everyone, I have mentioned some of the commercial ones as well. Because if you are a small and medium enterprise, you might want to check the paid version apps with support. - -Finally, which one of the remote client software is your “go-to” app? Let me know in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/best-remote-desktop-clients-ubuntu/ - -作者:[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/connect-ubuntu-20-04-windows-10/ -[2]: https://www.debugpoint.com/wp-content/uploads/2022/11/GNOME-Connections.jpg -[3]: https://www.debugpoint.com/best-gnome-apps-part-1/ -[4]: https://gitlab.gnome.org/GNOME/connections -[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/KRDC.jpg -[6]: https://www.debugpoint.com/best-kde-apps-part-1/ -[7]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ -[8]: https://apps.kde.org/krdc/ -[9]: https://docs.kde.org/?application=krdc -[10]: https://invent.kde.org/network/krdc -[11]: https://www.debugpoint.com/wp-content/uploads/2020/03/Remmina.png -[12]: https://remmina.org/ -[13]: https://gitlab.com/Remmina/Remmina -[14]: https://tigervnc.org/doc/vncviewer.html -[15]: https://sourceforge.net/projects/tigervnc/files/stable/ -[16]: https://tigervnc.org/ -[17]: https://github.com/TigerVNC/tigervnc/wiki -[18]: https://github.com/TigerVNC/tigervnc/releases -[19]: https://www.debugpoint.com/wp-content/uploads/2020/03/X2Go.jpg -[20]: https://wiki.x2go.org/doku.php/download:start -[21]: https://www.debugpoint.com/wp-content/uploads/2020/03/Chrome-Remote-Desktop.png -[22]: https://remotedesktop.google.com/ -[23]: https://www.turbovnc.org/ -[24]: https://www.uvnc.com/ -[25]: https://thincast.com/ -[26]: https://www.nomachine.com/ -[27]: https://anydesk.com/ -[28]: https://www.realvnc.com/en/connect/ -[29]: https://www.tightvnc.com/ -[30]: https://itopia.com/ From ee1225716a6d9c5e1fb27fc1f81bc4e7d3f1a335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:19:54 +0800 Subject: [PATCH 509/925] This article is collected by lkxed. --- ...all With UFW in Ubuntu Linux [Beginner’s Guide].md | 337 ++++++++++++++++++ 1 file changed, 337 insertions(+) create mode 100644 sources/tech/20221114.0 ⭐️⭐️ Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide].md diff --git a/sources/tech/20221114.0 ⭐️⭐️ Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide].md b/sources/tech/20221114.0 ⭐️⭐️ Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide].md new file mode 100644 index 0000000000..14aa6e1ce7 --- /dev/null +++ b/sources/tech/20221114.0 ⭐️⭐️ Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide].md @@ -0,0 +1,337 @@ +[#]: subject: "Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide]" +[#]: via: "https://itsfoss.com/ufw-ubuntu/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Using Firewall With UFW in Ubuntu Linux [Beginner’s Guide] +====== + +UFW (Uncomplicated Firewall) is a simple-to-use firewall utility with plenty of options for all kinds of users. + +It is actually an interface for iptables, which is the classic low-level tool (and harder to get comfortable with) to set up rules for your network. + +### Why should you use a Firewall? + +A firewall is a way to regulate the incoming and outgoing traffic on your network. This is crucial for servers, but it also makes a regular user’s system much safer, giving you control. If you are one of those people who like to keep things under control on an advanced level even on the desktop, you may consider setting up a firewall. + +In short, the firewall is a must for servers. On desktops, it is up to you if you want to set it up. + +### Setting up a firewall with UFW + +It is important to properly set up firewalls. An incorrect setup may leave the server inaccessible if you are doing it for a remote Linux system, like a cloud or VPS server. For example, you block all incoming traffic on the server you are accessing via SSH. Now you won’t be able to access the server via SSH. + +In this tutorial, I’ll go over configuring a firewall that suits your needs, giving you an overview of what can be done using this simple utility. This should be suitable for both [Ubuntu server and desktop users][1]. + +Please note that I’ll be using the command line method here. There is a GUI frontend called [Gufw][2] for desktop users but I won’t be covering it in this tutorial. There is a dedicated [guide to Gufw][3] if you want to use that. + +#### Install UFW + +If you are using Ubuntu, [UFW][4] should already be installed. If not, you can install it using the following command: + +``` +sudo apt install ufw +``` + +For other distributions, please use your package manager for installing UFW. + +To check that UFW is properly installed, enter: + +``` +ufw --version +``` + +If it is installed, you should see the version details: + +``` +[email protected]:~$ ufw --version +ufw 0.36.1 +Copyright 2008-2021 Canonical Ltd. +``` + +Great! So you have UFW on your system. Let’s see about using it now. + +**Note: You need to use sudo or be root to run (almost) all the ufw commands.** + +#### Check ufw status and rules + +UFW works by setting up rules for incoming and outgoing traffic. These rules consist of **allowing** and **denying** specific sources and destinations. + +You can check the firewall rules by using the following command: + +``` +sudo ufw status +``` + +This should give you the following output at this stage: + +``` +Status: inactive +``` + +The above command would have shown you the firewall rules if the firewall was enabled. By default, UFW is not enabled and doesn’t affect your network. We’ll take care of that in the next section. + +![check ufw status][5] + +But here’s the thing, you can see and modify the firewall rules even ufw is not enabled. + +``` +sudo ufw show added +``` + +And in my case, it showed this result: + +``` +[email protected]:~$ sudo ufw show added +Added user rules (see 'ufw status' for running firewall): +ufw allow 22/tcp +[email protected]:~$ +``` + +Now, I don’t remember if I added this rule manually or not. It’s not a fresh system. + +#### Default policies + +By default, UFW denies all incoming and allows all outgoing traffic. This behavior makes perfect sense for the average desktop user, since you want to be able to connect to various services (such as http/https to access web pages) and don’t want to have anyone connect to your machine. + +However, **if you are using a remote server, you must allow traffic on the SSH port** so that you can connect to the system remotely. + +You can either allow traffic on SSH default port 22: + +``` +sudo ufw allow 22 +``` + +In case you are using SSH on some other port, allow it at the service level: + +``` +sudo ufw allow ssh +``` + +Do note that the firewall is not active yet. This is a good thing. You can modify rules before you enable ufw so that essential services are not impacted. + +If you are going to use UFW a production server, please ensure to [allow ports through UFW][6] for the running services. + +For example, web servers usually use port 80, so use “sudo ufw allow 80”. You may also do it at service level “sudo ufw allow apache”. + +This onus lies on your side and it is your responsibility to ensure your server runs properly. + +For **desktop users**, you can go ahead with the default policies. + +``` +sudo ufw default deny incoming +sudo ufw default allow outgoing +``` + +#### Enable and disable UFW + +For UFW to work, you have to enable it: + +``` +sudo ufw enable +``` + +Doing so will start the firewall and schedule it to start every time you boot up. You receive the following message: + +``` +Firewall is active and enabled on system startup. +``` + +**Again**: _if you are connected to a machine via ssh, make sure ssh is allowed before enabling ufw by entering_**sudo ufw allow ssh**_._ + +If you want to turn UFW off, type in: + +``` +sudo ufw disable +``` + +You’ll get back: + +``` +Firewall stopped and disabled on system startup +``` + +#### Reload firewall for new rules + +If UFW is already enabled and you modify the firewall rules, you need to reload it before the changes take into effect. + +You can restart UFW by disabling it and enabling it again: + +``` +sudo ufw disable && sudo ufw enable +``` + +Or **reload** the rules: + +``` +sudo ufw reload +``` + +#### Reset to default firewall rules + +If at any time you screw up any of your rules and want to return to the default rules (that is, no exceptions for allowing incoming or denying outgoing traffic), you can start it afresh with: + +``` +sudo ufw reset +``` + +**_Keep in mind that this will delete all your firewall configs._** + +### Configuring firewall with UFW (more detailed view) + +Alright! So you have learned most of the basic ufw commands. At this stage, I would prefer to go a bit in more detail on the firewall rule configuration. + +#### Allow and deny by protocol and ports + +This is how you add new exceptions to your firewall; **allow** enables your machine to receive data from the specified service, while **deny** does the opposite + +By default, these commands will add rules for both **IP** and **IPv6**. If you’d like to modify this behavior, you’ll have to edit **/etc/default/ufw**. Change + +``` +IPV6=yes +``` + +to + +``` +IPV6=no +``` + +That being said, the basic commands are: + +``` +sudo ufw allow / +sudo ufw deny / +``` + +If the rule was successfully added, you’ll get back: + +``` +Rules updated +Rules updated (v6) +``` + +For example: + +``` +sudo ufw allow 80/tcp +sudo ufw deny 22 +sudo ufw deny 443/udp +``` + +**Note:**_if you don’t include a specific protocol, the rule will be applied for both **tcp** and **udp**._ + +If you enable(or, if already running, reload) UFW and check out its status, you can see that the new rules have been successfully applied. + +![UFW Ports][7] + +You can also allow/deny **port ranges**. For this type of rule, you must specify the protocol. For example: + +``` +sudo ufw allow 90:100/tcp +``` + +Will allow all services on ports 90 to 100 using the TCP protocol. You can reload and verify the status: + +![UFW Port Ranges][8] + +#### Allow and deny by services + +To make things easier, you can also add rules using the service name: + +``` +sudo ufw allow +sudo ufw deny +``` + +For example, to allow incoming ssh and block and incoming HTTP services: + +``` +sudo ufw allow ssh +sudo ufw deny http +``` + +While doing so, **UFW** will read the services from **/etc/services**. You can check out the list yourself: + +``` +less /etc/services +``` + +![List /etc/services][9] + +#### Add rules for applications + +Some apps provide specific named services for ease of use and might even utilize different ports. One such example is **ssh**. You can see a list of such apps that are present on your machine with the following: + +``` +sudo ufw app list +``` + +![UFW App List][10] + +In my case, the available applications are **CUPS** (a network printing system) and **OpenSSH**. + +To add a rule for an application, type: + +``` +sudo ufw allow +sudo ufw deny +``` + +For example: + +``` +sudo ufw allow OpenSSH +``` + +Reloading and checking the status, you should see that the rule has been added: + +![UFW Apps][11] + +### Conclusion + +This was just the tip of the iceberg firewall. There is so much more to firewalls in Linux that a book can be written on it. In fact, there is already an excellent book Linux Firewalls by Steve Suehring. + +[Linux Firewalls: Enhancing Security with nftables and Beyond: Enhancing Security with nftables and Beyond (4th Edition)][12] + +$49.99 + +[Buy on Amazon][12] + +We earn a commission if you make a purchase, at no additional cost to you. + + +11/26/2022 03:17 am GMT + +If you think setting up a firewall with UFW, you should try using iptables or nftables. Then you’ll realize how UFW uncomplicates the firewall configuration. + +I hope you liked this beginner’s guide to UFW. Let me know if you have questions or suggestions. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/ufw-ubuntu/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/ubuntu-server-vs-desktop/ +[2]: http://gufw.org/ +[3]: https://itsfoss.com/set-up-firewall-gufw/ +[4]: https://help.ubuntu.com/community/UFW +[5]: https://itsfoss.com/wp-content/uploads/2022/11/check-ufw-status.png +[6]: https://learnubuntu.com/allow-port-firewall/ +[7]: https://itsfoss.com/wp-content/uploads/2019/03/ufw_ports.png +[8]: https://itsfoss.com/wp-content/uploads/2019/03/ufw_port_ranges-1.png +[9]: https://itsfoss.com/wp-content/uploads/2019/03/etc_services.png +[10]: https://itsfoss.com/wp-content/uploads/2019/03/ufw_app_list.png +[11]: https://itsfoss.com/wp-content/uploads/2019/03/ufw_apps.png +[12]: https://www.amazon.com/dp/0134000021?tag=AAWP_PLACEHOLDER_TRACKING_ID From d9b061eb3f1c610e3735730b4073be51c13f6133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:31:00 +0800 Subject: [PATCH 510/925] This article is collected by lkxed. --- ...Install GNOME Desktop Environment in Linux Mint.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md diff --git a/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md new file mode 100644 index 0000000000..5a87ca942c --- /dev/null +++ b/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md @@ -0,0 +1,116 @@ +[#]: subject: "How to Install GNOME Desktop Environment in Linux Mint" +[#]: via: "https://itsfoss.com/install-gnome-linux-mint/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install GNOME Desktop Environment in Linux Mint +====== + +Linux Mint is an excellent Linux distribution, especially for beginners. + +I like that it stays on the familiar Ubuntu/Debian front and yet it does several things [better than Ubuntu][1]. One of them is that it doesn’t push Snaps down my throat. + +However, I am not a fan of the Cinnamon desktop as I never really liked the Windows XP or 7’s default setup either. + +As I was looking for the stability that Linux Mint offered with the ability to use GNOME and here’s what I got in the end: + +![install gnome in linux mint][2] + +Nothing too fancy but this is my Linux Mint 21 running GNOME 42.5. + +And if you want to install GNOME on Linux Mint, this guide is for you. + +### Things to know before installing GNOME on Linux Mint + +You really should have good enough reasons to install GNOME on Mint. If you are just feeling experimental, try it in a virtual machine. I performed this tutorial with [Linux Mint installed in VirtualBox][3]. + +The thing about installing a desktop environment other than the one provided by the distribution is that the removal part complicates the matter. + +Cinnamon uses some GNOME elements. If you decide to remove GNOME later, it may impact some parts of Cinnamon. + +This could be a cause of panic for inexperienced users. Of course, reinstalling the Cinnamon desktop from the TTY screen could be a possible solution here. + +The gist of all this is that if you easily get spooked and don’t like troubleshooting, you should not do these ‘experiments’ on your main computer. + +With that aside, let’s see the simple procedure of getting GNOME on Linux Mint. + +### Install GNOME Desktop Environment in Linux Mint + +Here you have two options. Either you can go with a complete GNOME desktop which includes all the GNOME utilities, or you can go with the stripped-down version having the least amount of GNOME packages. + +And I will be covering both. + +To **install GNOME with the least amount of GNOME utilities,** you’d have to install a package named `vanilla-GNOME` using the given command: + +``` +sudo apt install vanilla-gnome-desktop +``` + +And **if you want to have a complete GNOME experience**, you can simply install the `gnome` package: + +``` +sudo apt install gnome +``` + +Once you execute any of the two shown commands, you will be asked to choose the preferred display manager in the next step. + +![choose display manager][4] + +`gdm3` is a display manager for the GNOME desktop while Linux Mint uses `lightdm` by default and both should work just fine, but I will suggest you go with gdm3 to have the complete GNOME experience. + +#### Switching to GNOME + +Once done, log out and hit enter once, and there you’d see a small gear icon. From here, choose GNOME: + +![choose gnome while logging in][5] + +And now, you have GNOME with Linux Mint as a base! + +#### Bonus Tip: How to Apply Themes with consistency + +You can use that Cinnamon themes, but most of them don’t work as expected, so I will recommend using GNOME themes such as Adwaita to have consistency around the desktop. + +For me, the default fonts do not work at all, and I prefer something close to what Fedora offers. So open GNOME tweaks from the system menu and make changes as shown: + +![change fonts in ubuntu to have vanilla gnome experience][6] + +Here’s what I have used: + +- **Cantarell Regular (11)** for both interface and document text. +- **Noto Sans Mono Regular (13)** for monospace text. +- **Cantarell Bold (11)** for window titles. + +And it turned out to be far better than the default Ubuntu font scheme. + +Since you have GNOME, you can use our detailed guide on installing and [changing GNOME themes on Linux][7] to make it as your heart desires. + +### Wrapping Up + +As you can see, installing GNOME on Linux Mint is quite simple. And as I mentioned earlier, the removal part could complicate things as it has the possibility of removing some GNOME packages required by Cinnamon. + +What is powering your main machine right now? I’m on Pop!_OS. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-gnome-linux-mint/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/linux-mint-vs-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/install-gnome-in-linux-mint.png +[3]: https://itsfoss.com/install-linux-mint-in-virtualbox/ +[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-display-manager.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/choose-gnome-while-logging-in.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/change-fonts-in-ubuntu-to-have-vanilla-gnome-experience.png +[7]: https://itsfoss.com/install-switch-themes-gnome-shell/ From d3f8d858a992abf9d02513e79baf0b83056f94b1 Mon Sep 17 00:00:00 2001 From: aREversez <53844261+aREversez@users.noreply.github.com> Date: Sat, 26 Nov 2022 23:33:51 +0800 Subject: [PATCH 511/925] translated --- ...iend- The Facebook That Could Have Been.md | 242 ------------------ ...iend- The Facebook That Could Have Been.md | 238 +++++++++++++++++ 2 files changed, 238 insertions(+), 242 deletions(-) delete mode 100644 sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md create mode 100644 translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md diff --git a/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md deleted file mode 100644 index 024278de13..0000000000 --- a/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md +++ /dev/null @@ -1,242 +0,0 @@ -[#]: subject: "Friend of a Friend: The Facebook That Could Have Been" -[#]: via: "https://twobithistory.org/2020/01/05/foaf.html" -[#]: author: "Two-Bit History https://twobithistory.org" -[#]: collector: "lujun9972" -[#]: translator: "aREversez" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Friend of a Friend: The Facebook That Could Have Been -====== - -> _I express my network in a FOAF file, and that is the start of the revolution._ —Tim Berners-Lee (2007) - -The FOAF standard, or Friend of a Friend standard, is a now largely defunct/ignored/superseded[1][1] web standard dating from the early 2000s that hints at what social networking might have looked like had Facebook not conquered the world. Before we talk about FOAF though, I want to talk about the New York City Subway. - -The New York City Subway is controlled by a single entity, the Metropolitan Transportation Agency, better known as the MTA. The MTA has a monopoly on subway travel in New York City. There is no legal way to travel in New York City by subway without purchasing a ticket from the MTA. The MTA has no competitors, at least not in the “subway space.” - -This wasn’t always true. Surprisingly, the subway system was once run by two corporations that competed with each other. The Inter-borough Rapid Transit Company (IRT) operated lines that ran mostly through Manhattan, while the Brooklyn-Manhattan Transit Corporation (BMT) operated lines in Brooklyn, some of which extended into Manhattan also. In 1932, the City opened its own service called the Independent Subway System to compete with the IRT and BMT, and so for a while there were _three_ different organizations running subway lines in New York City. - -One imagines that this was not an effective way to run a subway. It was not. Constructing interchanges between the various systems was challenging because the IRT and BMT used trains of different widths. Interchange stations also had to have at least two different fare-collection areas since passengers switching trains would have to pay multiple operators. The City eventually took over the IRT and BMT in 1940, bringing the whole system together under one operator, but some of the inefficiencies that the original division entailed are still problems today: Trains designed to run along lines inherited from the BMT (e.g. the A, C, or E) cannot run along lines inherited from the IRT (e.g. the 1, 2, or 3) because the IRT tunnels are too narrow. As a result, the MTA has to maintain two different fleets of mutually incompatible subway cars, presumably at significant additional expense relative to other subway systems in the world that only have to deal with a single tunnel width. - -This legacy of the competition between the IRT and BMT suggests that subway systems naturally tend toward monopoly. It just makes more sense for there to be a single operator than for there to be competing operators. Average passengers are amply compensated for the loss of choice by never having to worry about whether they brought their IRT MetroCard today but forgot their BMT MetroCard at home. - -Okay, so what does the Subway have to do with social networking? Well, I have wondered for a while now whether Facebook has, like the MTA, a natural monopoly. Facebook does seem to have _a_ monopoly, whether natural or unnatural—not over social media per se (I spend much more time on Twitter), but over my internet social connections with real people I know. It has a monopoly over, as they call it, my digitized “social graph”; I would quit Facebook tomorrow if I didn’t worry that by doing so I might lose many of those connections. I get angry about this power that Facebook has over me. I get angry in a way that I do not get angry about the MTA, even though the Subway is, metaphorically and literally, a sprawling trash fire. And I suppose I get angry because at root I believe that Facebook’s monopoly, unlike the MTA’s, is not a natural one. - -What this must mean is that I think Facebook owns all of our social data now because they happened to get there first and then dig a big moat around themselves, not because a world with competing Facebook-like platforms is inefficient or impossible. Is that true, though? There are some good reasons to think it isn’t: Did Facebook simply get there first, or did they instead just do social networking better than everyone else? Isn’t the fact that there is only one Facebook actually convenient if you are trying to figure out how to contact an old friend? In a world of competing Facebooks, what would it mean if you and your boyfriend are now Facebook official, but he still hasn’t gotten around to updating his relationship status on VisageBook, which still says he is in a relationship with his college ex? Which site will people trust? Also, if there were multiple sites, wouldn’t everyone spend a lot more time filling out web forms? - -In the last few years, as the disadvantages of centralized social networks have dramatically made themselves apparent, many people have attempted to create decentralized alternatives. These alternatives are based on open standards that could potentially support an ecosystem of inter-operating social networks (see e.g. [the Fediverse][2]). But none of these alternatives has yet supplanted a dominant social network. One obvious explanation for why this hasn’t happened is the power of network effects: With everyone already on Facebook, any one person thinking of leaving faces a high cost for doing so. Some might say this proves that social networks are natural monopolies and stop there; I would say that Facebook, Twitter, et al. chose to be walled gardens, and given that people have envisioned and even built social networks that inter-operate, the network effects that closed platforms enjoy tell us little about the inherent nature of social networks. - -So the real question, in my mind, is: Do platforms like Facebook continue to dominate merely because of their network effects, or is having a single dominant social network more efficient in the same way that having a single operator for a subway system is more efficient? - -Which finally brings me back to FOAF. Much of the world seems to have forgotten about the FOAF standard, but FOAF was an attempt to build a decentralized and open social network before anyone had even heard of Facebook. If any decentralized social network ever had a chance of occupying the redoubt that Facebook now occupies before Facebook got there, it was FOAF. Given that a large fraction of humanity now has a Facebook account, and given that relatively few people know about FOAF, should we conclude that social networking, like subway travel, really does lend itself to centralization and natural monopoly? Or does the FOAF project demonstrate that decentralized social networking was a feasible alternative that never became popular for other reasons? - -### The Future from the Early Aughts - -The FOAF project, begun in 2000, set out to create a universal standard for describing people and the relationships between them. That might strike you as a wildly ambitious goal today, but aspirations like that were par for the course in the late 1990s and early 2000s. The web (as people still called it then) had just trounced closed systems like America Online and [Prodigy][3]. It could only have been natural to assume that further innovation in computing would involve the open, standards-based approach embodied by the web. - -Many people believed that the next big thing was for the web to evolve into something called the Semantic Web. [I have written about][4] what exactly the Semantic Web was supposed to be and how it was supposed to work before, so I won’t go into detail here. But I will sketch the basic vision motivating the people who worked on Semantic Web technologies, because the FOAF standard was an application of that vision to social networking. - -There is an essay called [“How Google beat Amazon and Ebay to the Semantic Web”][5] that captures the lofty dream of the Semantic Web well. It was written by Paul Ford in 2002. The essay imagines a future (as imminent as 2009) in which Google, by embracing the Semantic Web, has replaced Amazon and eBay as the dominant e-commerce platform. In this future, you can search for something you want to purchase—perhaps a second-hand Martin guitar—by entering `buy:martin guitar` into Google. Google then shows you all the people near your zipcode selling Martin guitars. Google knows about these people and their guitars because Google can read RDF, a markup language and core Semantic Web technology focused on expressing relationships. Regular people can embed RDF on their web pages to advertise (among many other things) the items they have to sell. Ford predicts that as the number of people searching for and advertising products this way grows, Amazon and eBay will lose their near-monopolies over, respectively, first-hand and second-hand e-commerce. Nobody will want to search a single centralized database for something to buy when they could instead search the whole web. Even Google, Ford writes, will eventually lose its advantage, because in theory anyone could crawl the web reading RDF and offer a search feature similar to Google’s. At the very least, if Google wanted to make money from its Semantic Web marketplace by charging a percentage of each transaction, that percentage would probably by forced down over time by competitors offering a more attractive deal. - -Ford’s imagined future was an application of RDF, or the Resource Description Framework, to e-commerce, but the exciting thing about RDF was that hypothetically it could be used for anything. The RDF standard, along with a constellation of related standards, once widely adopted, was supposed to blow open database-backed software services on the internet the same way HTML had blown open document publishing on the internet. - -One arena that RDF and other Semantic Web technologies seemed poised to takeover immediately was social networking. The FOAF project, known originally as “RDF Web Ring” before being renamed, was the Semantic Web effort offshoot that sought to accomplish this. FOAF was so promising in its infancy that some people thought it would inevitably make all other social networking sites obsolete. A 2004 Guardian article about the project introduced FOAF this way: - -> In the beginning, way back in 1996, it was SixDegrees. Last year, it was Friendster. Last week, it was Orkut. Next week, it could be Flickr. All these websites, and dozens more, are designed to build networks of friends, and they are currently at the forefront of the trendiest internet development: social networking. But unless they can start to offer more substantial benefits, it is hard to see them all surviving, once the Friend Of A Friend (FOAF) standard becomes a normal part of life on the net.[2][6] - -The article goes on to complain that the biggest problem with social networking is that there are too many social networking sites. Something is needed that can connect all of the different networks together. FOAF is the solution, and it will revolutionize social networking as a result. - -FOAF, according to the article, would tie the different networks together by doing three key things: - - * It would establish a machine-readable format for social data that could be read by any social networking site, saving users from having to enter this information over and over again - * It would allow “personal information management programs,” i.e. your “Contacts” application, to generate a file in this machine-readable format that you could feed to social networking sites - * It would further allow this machine-readable format to be hosted on personal homepages and read remotely by social networking sites, meaning that you would be able to keep your various profiles up-to-date by just pushing changes to your own homepage - - - -It is hard to believe today, but the problem in 2004, at least for savvy webizens and technology columnists aware of all the latest sites, was not the lack of alternative social networks but instead the proliferation of them. Given _that_ problem—so alien to us now—one can see why it made sense to pursue a single standard that promised to make the proliferation of networks less of a burden. - -### The FOAF Spec - -According to the description currently given on the FOAF project’s website, FOAF is “a computer language defining a dictionary of people-related terms that can be used in structured data.” Back in 2000, in a document they wrote to explain the project’s goals, Dan Brickley and Libby Miller, FOAF’s creators, offered a different description that suggests more about the technology’s ultimate purpose—they introduced FOAF as a tool that would allow computers to read the personal information you put on your homepage the same way that other humans do.[3][7] FOAF would “help the web do the sorts of things that are currently the proprietary offering of centralised services.”[4][8] By defining a standard vocabulary for people and the relationships between them, FOAF would allow you to ask the web questions such as, “Find me today’s web recommendations made by people who work for Medical organizations,” or “Find me recent publications by people I’ve co-authored documents with.” - -Since FOAF is a standardized vocabulary, the most important output of the FOAF project was the FOAF specification. The FOAF specification defines a small collection of RDF _classes_ and RDF _properties_. (I’m not going to explain RDF here, but again see [my post about the Semantic Web][4] if you want to know more.) The RDF _classes_ defined by the FOAF specification represent subjects you might want to describe, such as people (the `Person` class) and organizations (the `Organization` class). The RDF _properties_ defined by the FOAF specification represent logical statements you might make about the different subjects. A person could have, for example, a first name (the `givenName` property), a last name (the `familyName` property), perhaps even a personality type (the `myersBriggs` property), and be near another person or location (the `based_near` property). The idea was that these classes and properties would be sufficient to represent the kind of the things people say about themselves and their friends on their personal homepage. - -The FOAF specification gives the following as an example of a well-formed FOAF document. This example uses XML, though an equivalent document could be written using JSON or a number of other formats: - -``` - - - Dan Brickley - - - - - -``` - -This FOAF document describes a person named “Dan Brickley” (one of the specification’s authors) that has a homepage at `http://danbri.org`, something called an “open ID,” and a picture available at `/images/me.jpg`, presumably relative to the base address of Brickley’s homepage. The FOAF-specific terms are prefixed by `foaf:`, indicating that they are part of the FOAF namespace, while the more general RDF terms are prefixed by `rdf:`. - -Just to persuade you that FOAF isn’t tied to XML, here is a similar FOAF example from Wikipedia, expressed using a format called JSON-LD[5][9]: - -``` - - { - "@context": { - "name": "http://xmlns.com/foaf/0.1/name", - "homepage": { - "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage", - "@type": "@id" - }, - "Person": "http://xmlns.com/foaf/0.1/Person" - }, - "@id": "https://me.example.com", - "@type": "Person", - "name": "John Smith", - "homepage": "https://www.example.com/" - } - -``` - -This FOAF document describes a person named John Smith with a homepage at `www.example.com`. - -Perhaps the best way to get a feel for how FOAF works is to play around with [FOAF-a-matic][10], a web tool for generating FOAF documents. It allows you to enter information about yourself using a web form, then uses that information to create the FOAF document (in XML) that represents you. FOAF-a-matic demonstrates how FOAF could have been used to save everyone from having to enter their social information into a web form ever again—if every social networking site could read FOAF, all you’d need to do to sign up for a new site is point the site to the FOAF document that FOAF-a-matic generated for you. - -Here is a slightly more complicated FOAF example, representing me, that I created using FOAF-a-matic: - -``` - - - - - - - - - - Sinclair Target - Sinclair - Target - - - - - John Smith - - - - - - - -``` - -This example has quite a lot of preamble setting up the various XML namespaces used by the document. There is also a section containing data about the tool that was used to generate the document, largely so that, it seems, people know whom to email with complaints. The `foaf:Person` element describing me tells you my name, email address, and homepage. There is also a nested `foaf:knows` element telling you that I am friends with John Smith. - -This example illustrates another important feature of FOAF documents: They can link to each other. If you remember from the previous example, my friend John Smith has a homepage at `www.example.com`. In this example, where I list John Smith as a `foaf:person` with whom I have a `foaf:knows` relationship, I also provide a `rdfs:seeAlso` element that points to John Smith’s FOAF document hosted on his homepage. Because I have provided this link, any program reading my FOAF document could find out more about John Smith by following the link and reading his FOAF document. In the FOAF document we have for John Smith above, John did not provide any information about his friends (including me, meaning, tragically, that our friendship is unidirectional). But if he had, then the program reading my document could find out not only about me but also about John, his friends, their friends, and so on, until the program has crawled the whole social graph that John and I inhabit. - -This functionality will seem familiar to anyone that has used Facebook, which is to say that this functionality will seem familiar to you. There is no `foaf:wall` property or `foaf:poke` property to replicate Facebook’s feature set exactly. Obviously, there is also no slick blue user interface that everyone can use to visualize their FOAF social network; FOAF is just a vocabulary. But Facebook’s core feature—the feature that I have argued is key to Facebook’s monopoly power over, at the very least, myself—is here provided in a distributed way. FOAF allows a group of friends to represent their real-life social graph digitally by hosting FOAF documents on their own homepages. It allows them to do this without surrendering control of their data to a centralized database in the sky run by a billionaire android-man who spends much of his time apologizing before congressional committees. - -### FOAF on Ice - -If you visit the current FOAF project homepage, you will notice that, in the top right corner, there is an image of the character Fry from the TV series Futurama, stuck inside some sort of stasis chamber. This is a still from the pilot episode of Futurama, in which Fry gets frozen in a cryogenic tank in 1999 only to awake a millennium later in 2999. Brickley, whom I messaged briefly on Twitter, told me that he put that image there as a way communicating that the FOAF project is currently “in stasis,” though he hopes that there will be a future opportunity to resuscitate the project along with its early 2000s optimism about how the web should work. - -FOAF never revolutionized social networking the way that the 2004 Guardian article about it expected it would. Some social networking sites decided to support the standard: LiveJournal and MyOpera are examples.[6][11] FOAF even played a role in Howard Dean’s presidential campaign in 2004—a group of bloggers and programmers got together to create a network of websites they called “DeanSpace” to promote the campaign, and these sites used FOAF to keep track of supporters and volunteers.[7][12] But today FOAF is known primarily for being one of the more widely used vocabularies of RDF, itself a niche standard on the modern web. If FOAF is part of your experience of the web today at all, then it is as an ancestor to the technology that powers Google’s “knowledge panels” (the little sidebars that tell you the basics about a person or a thing if you searched for something simple). Google uses vocabularies published by the schema.org project—the modern heir to the Semantic Web effort—to populate its knowledge panels.[8][13] The schema.org vocabulary for describing people seems to be somewhat inspired by FOAF and serves many of the same purposes. - -So why didn’t FOAF succeed? Why do we all use Facebook now instead? Let’s ignore that FOAF is a simple standard with nowhere near as many features as Facebook—that’s true today, clearly, but if FOAF had enjoyed more momentum it’s possible that applications could have been built on top of it to deliver a Facebook-like experience. The interesting question is: Why didn’t this nascent form of distributed social networking catch fire when Facebook was not yet around to compete with it? - -There probably is no single answer to that question, but if I had to pick one, I think the biggest issue is that FOAF only makes sense on a web where everyone has a personal website. In the late 1990s and early 2000s, it might have been easy to assume the web would eventually look like this, especially since so many of the web’s early adopters were, as far as I can tell, prolific bloggers or politically engaged technologists excited to have a platform. But the reality is that regular people don’t want to have to learn how to host a website. FOAF allows you to control your own social information and broadcast it to social networks instead of filling out endless web forms, which sounds pretty great if you already have somewhere to host that information. But most people in practice found it easier to just fill out the web form and sign up for Facebook than to figure out how to buy a domain and host some XML. - -What does this mean for my original question about whether or not Facebook’s monopoly is a natural one? I think I have to concede that the FOAF example is evidence that social networking _does_ naturally lend itself to monopoly. - -That people did not want to host their own data isn’t especially meaningful itself—modern distributed social networks like [Mastodon][14] have solved that problem by letting regular users host their profiles on nodes set up by more savvy users. It is a sign, however, of just how much people hate complexity. This is bad news for decentralized social networks, because they are inherently more complex under the hood than centralized networks in a way that is often impossible to hide from users. - -Consider FOAF: If I were to write an application that read FOAF data from personal websites, what would I do if Sally’s FOAF document mentions a John Smith with a homepage at `example.com`, and Sue’s FOAF document mentions a John Smith with a homepage at `example.net`? Are we talking about a single John Smith with two websites or two entirely different John Smiths? What if the both FOAF documents list John Smith’s email as `johnsmith@gmail.com`? This issue of identity was an acute one for FOAF. In a 2003 email, Brickley wrote that because there does not exist and probably should not exist a “planet-wide system for identifying people,” the approach taken by FOAF is “pluralistic.”[9][15] Some properties of FOAF people, such as email addresses and homepage addresses, are special in that their values are globally unique. So these different properties can be used to merge (or, as Libby Miller called it, “smoosh”) FOAF documents about people together. But none of these special properties are privileged above the others, so it’s not obvious how to handle our John Smith case. Do we trust the homepages and conclude we have two different people? Or do we trust the email addresses and conclude we have a single person? Could I really write an application capable of resolving this conflict without involving (and inconveniencing) the user? - -Facebook, with its single database and lack of political qualms, could create a “planet-wide system for identifying people” and so just gave every person a unique Facebook ID. Problem solved. - -Complexity alone might not doom distributed social networks if people cared about being able to own and control their data. But FOAF’s failure to take off demonstrates that people have never valued control very highly. As one blogger has put it, “‘Users want to own their own data’ is an ideology, not a use case.”[10][16] If users do not value control enough to stomach additional complexity, and if centralized systems are more simple than distributed ones—and if, further, centralized systems tend to be closed and thus the successful ones enjoy powerful network effects—then social networks are indeed natural monopolies. - -That said, I think there is still a distinction to be drawn between the subway system case and the social networking case. I am comfortable with the MTA’s monopoly on subway travel because I expect subway systems to be natural monopolies for a long time to come. If there is going to be only one operator of the New York City Subway, then it ought to be the government, which is at least nominally more accountable than a private company with no competitors. But I do not expect social networks to stay natural monopolies. The Subway is carved in granite; the digital world is writ in water. Distributed social networks may now be more complicated than centralized networks in the same way that carrying two MetroCards is more complicated than carrying one. In the future, though, the web, or even the internet, could change in fundamental ways that make distributed technology much easier to use. - -If that happens, perhaps FOAF will be remembered as the first attempt to build the kind of social network that humanity, after a brief experiment with corporate mega-databases, does and always will prefer. - -_If you enjoyed this post, more like it come out every four weeks! Follow [@TwoBitHistory][17] on Twitter or subscribe to the [RSS feed][18] to make sure you know when a new post is out._ - -_Previously on TwoBitHistory…_ - -> I know it's been too long since my last post, but my new one is here! I wrote almost 5000 words on John Carmack, Doom, and the history of the binary space partitioning tree. -> -> — TwoBitHistory (@TwoBitHistory) [November 6, 2019][19] - - 1. Please note that I did not dare say “dead.” [↩︎][20] - - 2. Jack Schofield, “Let’s be Friendsters,” The Guardian, February 19, 2004, accessed January 5, 2020, . [↩︎][21] - - 3. Dan Brickley and Libby Miller, “Introducing FOAF,” FOAF Project, 2008, accessed January 5, 2020, . [↩︎][22] - - 4. ibid. [↩︎][23] - - 5. Wikipedia contributors, “JSON-LD,” Wikipedia: The Free Encyclopedia, December 13, 2019, accessed January 5, 2020, . [↩︎][24] - - 6. “Data Sources,” FOAF Project Wiki, December 11 2009, accessed January 5, 2020, . [↩︎][25] - - 7. Aldon Hynes, “What is Dean Space?”, Extreme Democracy, accessed January 5, 2020, . [↩︎][26] - - 8. “Understand how structured data works,” Google Developer Portal, accessed January 5, 2020, . [↩︎][27] - - 9. tef, “Why your distributed network will not work,” Progamming is Terrible, January 2, 2013, . [↩︎][28] - - 10. Dan Brickley, “Identifying things in FOAF,” rdfweb-dev Mailing List, July 10, 2003, accessed on January 5, 2020, . [↩︎][29] - - - - --------------------------------------------------------------------------------- - -via: https://twobithistory.org/2020/01/05/foaf.html - -作者:[Two-Bit History][a] -选题:[lujun9972][b] -译者:[aREversez](https://github.com/aREversez) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://twobithistory.org -[b]: https://github.com/lujun9972 -[1]: tmp.mJHAgyVHGr#fn:1 -[2]: https://en.wikipedia.org/wiki/Fediverse -[3]: https://en.wikipedia.org/wiki/Prodigy_(online_service) -[4]: https://twobithistory.org/2018/05/27/semantic-web.html -[5]: https://www.ftrain.com/google_takes_all -[6]: tmp.mJHAgyVHGr#fn:2 -[7]: tmp.mJHAgyVHGr#fn:3 -[8]: tmp.mJHAgyVHGr#fn:4 -[9]: tmp.mJHAgyVHGr#fn:5 -[10]: http://www.ldodds.com/foaf/foaf-a-matic -[11]: tmp.mJHAgyVHGr#fn:6 -[12]: tmp.mJHAgyVHGr#fn:7 -[13]: tmp.mJHAgyVHGr#fn:8 -[14]: https://en.wikipedia.org/wiki/Mastodon_(software) -[15]: tmp.mJHAgyVHGr#fn:9 -[16]: tmp.mJHAgyVHGr#fn:10 -[17]: https://twitter.com/TwoBitHistory -[18]: https://twobithistory.org/feed.xml -[19]: https://twitter.com/TwoBitHistory/status/1192196764239093760?ref_src=twsrc%5Etfw -[20]: tmp.mJHAgyVHGr#fnref:1 -[21]: tmp.mJHAgyVHGr#fnref:2 -[22]: tmp.mJHAgyVHGr#fnref:3 -[23]: tmp.mJHAgyVHGr#fnref:4 -[24]: tmp.mJHAgyVHGr#fnref:5 -[25]: tmp.mJHAgyVHGr#fnref:6 -[26]: tmp.mJHAgyVHGr#fnref:7 -[27]: tmp.mJHAgyVHGr#fnref:8 -[28]: tmp.mJHAgyVHGr#fnref:9 -[29]: tmp.mJHAgyVHGr#fnref:10 diff --git a/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md new file mode 100644 index 0000000000..3d46287b2b --- /dev/null +++ b/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md @@ -0,0 +1,238 @@ +[#]: subject: "Friend of a Friend: The Facebook That Could Have Been" +[#]: via: "https://twobithistory.org/2020/01/05/foaf.html" +[#]: author: "Two-Bit History https://twobithistory.org" +[#]: collector: "lujun9972" +[#]: translator: "aREversez" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Friend of a Friend: The Facebook That Could Have Been +====== + +> 我把自己的网络写进 FOAF 文件,由此开启了变革。——互联网之父蒂姆·伯纳斯·李(2007) + +目前,FOAF 标准(Friend of a Friend)基本上已经不再使用了,或者说被人们忘记了,亦或者说已经被取代了[1][1]。回顾本世纪第一个十年,假如 Facebook 没有征服世界的话,FOAF 将会定义我们今天所用的社交网络。不过在开始探讨这一 web 标准之前,我想先来谈一谈纽约地铁。 + +目前,纽约地铁的唯一管理机构是 大都会运输署Metropolitan Transportation Agency,简称 MTA。MTA 对纽约市的地铁交通拥有垄断权。在纽约乘地铁必须先从 MTA 购买车票,否则属于非法行为。也就是说,MTA 在地铁行业没有任何竞争对手。 + +不过,以前可不是这样。说起来可能有些让人吃惊,纽约市的地铁交通曾由两家企业相互竞争,共同运营。跨区捷运公司Inter-borough Rapid Transit Company(IRT)的势力范围是穿过曼哈顿的线路,布鲁克林-曼哈顿运输股份有限公司Brooklyn-Manhattan Transit Corporation(BMT)管理的则是布鲁克林区内的线路,其中也有部分线路延伸到了曼哈顿。1932 年,纽约市投入使用了独立地铁系统,与 IRT 和 BMT 展开竞争,所以当时纽约共有三家不同公司控制着市内地铁交通。 + +可能会有人觉得这样的地铁运营效率不高。事实上也确是如此。由于 IRT 和 BMT 投入使用的列车宽度不同,所以在不同的运营系统之间建造换乘站十分困难。此外,乘客换乘时还需向不同的运营商支付费用,这就意味着在换乘站至少要设置两个不同的检票区域。后来,纽约市于 1940 年取缔了 IRT 和 BMT,将整个纽约市的地铁交通置于一家运营商的管理之下,不过由于此前分而治之而造成的效率低下问题时至今日依然存在:能在 BMT 的线路上运行的列车无法在 IRT 的线路上运行,因为 IRT 的线路隧道比较窄。因此,MTA 不得不同时管理这两种互不兼容的列车系统,由此带来的支出可能远比世界上其他单一隧道宽度的地铁系统要多得多。 + +IRT 和 BMT 之间的竞争所造成的历史遗留问题告诉我们,地铁系统本身就趋向于垄断经营。相比较于两家运营商相互竞争,只有一家运营商更能解决问题。乘客们虽然失去了选择的余地,但再也不用担心带了一张地铁卡却忘记了另一张的问题。 + +那么,地铁和社交网络又有什么关系呢?我在想,Facebook 是否和 MTA 一样都有自然垄断的属性呢?事实上,无论是自然垄断还是非自然垄断,Facebook 貌似确有垄断能力。当然它垄断的不是社交媒体本身(我在 Twitter 上面花的时间更多),而是垄断了与现实中认识的人之间的线上联系。Facebook 能够垄断所谓的“社交图谱”;如果我不用担心会失去与别人的联系方式,那我明天就会卸载 Facebook,因为我对 Facebook 的垄断权力感到非常气愤。不过,我却不会生 MTA 的气,即便从字面上和比喻义上来讲,纽约市地铁都是一堆焚烧着的、火舌乱窜的垃圾。说到底,我愤怒是因为我觉得不同于 MTA 的自然垄断,Facebook 的垄断属于非自然垄断。 + +我的意思是,如今 Facebook 之所以能拥有所有人的社交数据,因为它碰巧是第一个做大做强,确立巨头地位的社交平台,而不是因为其他社交平台难以或者无法与之竞争。不过,难道真是因为这样吗?许多事实告诉我们,原因并非如此。Facebook 真的是第一个社交平台吗?它提供的服务真的比其他社交平台要好吗?如果你想联系老朋友,只有 Facebook 这一个平台的话,不会方便许多吗?在 Facebook 有很多竞争对手的情况下,如果你和你男朋友 Facebook 上面的感情状态都显示“交往中”,但是他始终没来得及更新他在 VisageBook 上的感情状态,说不定现在上面还是他和他大学前任那时候的关系,那么这种情况意味着什么呢?人们信任的又是哪个社交网站呢?如果社交网站有很多,难道在填写信息上面不会很耗时间吗? + +过去几年,由于中心化社交网络的缺陷暴露出来,许多人尝试构建去中心化的平台。基于开放标准,去中心化平台有望建立互通的社交网络生态(比如 [Fediverse][2])。可惜的是,其中没有一个平台能够取代主流社交网络。一个比较明显的原因是 网络效应network effects的力量:既然每个人都在用 Facebook,那么任何想要放弃 Facebook 的人都将会付出巨大的代价。有人会说,这一点恰恰证明了社交网络属于自然垄断行业。但我想说,Facebook、Twitter等平台是自己选择封闭起来的。此外,鉴于人们已经设想出社交网络的互通性,并且付诸实践,那么封闭的社交平台引发的网络效应就无法证明社交网络具有自然垄断属性。 + +因此,在我看来,真正的问题是:之所以 Facebook 等平台到现在仍是主流社交网络,仅仅是因为网络效应,还是说与只有一家运营商的地铁系统一样,单一的主流社交网络效率更高? + +最后,这些问题让我想起了 FOAF。尽管人们似乎已经忘记了 FOAF 标准,但是早在 Facebook 出现之前,人们就尝试使用 FOAF 建立开放的、去中心化的社交网络。如果过去有哪个去中心化社交网络有机会早于 Facebook 占领如今 Facebook 驻守的阵地,那只可能是 FOAF。考虑到世界上大部分人都有 Facebook 账号,而且了解 FOAF 的人相对较少,我们是否可以得到如下结论:同地铁一样,社交网络也有中心化和自然垄断的性质;亦或者,FOAF 项目说明,尽管去中心化社交网络可行,但由于其他原因,无法获得人们的广泛支持。 + +### 早期社交媒体的未来 + +FOAF 项目诞生于 2000 年,旨在建立一套表示个人身份以及人与人之间关系的通用标准。在今天看来,这一雄心勃勃的项目可能会让人感到惊讶,但是在上世纪末本世纪初,这样的想法再寻常不过了。当时在网络上,美国在线America Online 与 [Prodigy][3] 等封闭系统遭遇惨败。这让人很自然地想到,计算机领域的创新发展必须要保持开放、基于标准,而且这也正是网络的特点。 + +许多人认为,网络下一场重头戏会是 语义网Semantic Web。我有篇文章介绍了关于语义网概念与运行原理的设想,所以这里不再赘述。但是我会简单谈谈推动人们研究语义网技术的愿景,因为 FOAF 标准正是这一愿景在社交网络方面的应用。 + +一篇题为 [《谷歌如何击败亚马逊和易贝,朝着语义网进军How Google beat Amazon and Ebay to the Semantic Web》][5] 的文章很好地描绘了语义网这一崇高理想。文章写于 2002 年,作者是 Paul Ford。这篇文章设想了 2002 年至 2009 年的情景:通过使用语义网,谷歌取代了亚马逊和易贝,成为电商平台主导者。文章指出,在未来,如果你想买东西,比如说一把二手的马丁吉他,可以在谷歌中输入 `buy:martin guitar`。根据你的邮编,谷歌会告诉你附近哪些人在卖马丁吉他。谷歌之所以可以获取卖家及其吉他的信息,是因为它可以读取资源描述框架标记语言 RDF,该语言是语义网的核心技术,用于描述资源之间的关系。人们可以将 RDF 内容嵌入网页,能实现的用途比较广泛,比如给要卖的东西打广告。Ford 预测,随着使用这种方式搜索和售卖商品的人数增加,亚马逊和易贝将失去它们在电商领域近乎垄断的地位。如果可以搜索全网,又有谁会执着于某个封闭的数据库呢?Ford 写道,即便是谷歌,最终也会失势。因为理论上,任何一个人都可以检索网络,查阅 RDF,提供类似于谷歌的搜索功能。起码,如果谷歌打算对语义网上的每笔交易按一定比例收取费用,以此盈利,那么以后随着相关竞争越来越激烈,谷歌的抽成比例很有可能会被迫降低。 + +Ford 所设想的未来是关于 RDF 在电商领域的应用,不过 RDF 更振奋人心的地方在于,它或许可以应用于各个领域。RDF 标准以及一系列相关标准曾一度得到广泛应用,被认为可以突破基于数据库的开放软件服务面临的发展瓶颈,如同 HTML 为开放文档排版带来新的发展契机一般。 + +RDF 以及其他语义网技术唾手可得的另一个领域是社交网络。FOAF 项目最初的名字是“RDF Web Ring”,是语义网发展的产物,旨在实现语义网的设想。FOAF 自诞生之初就被人们看好,有人甚至认为,FOAF 必定会淘汰掉其他社交网站。2004 年《卫报》的一篇文章这样介绍该项目: + +> 最初是 1996 年,SixDegrees 开始运营;接着是去年,出现了 Friendster;上周是 Orkut;下周 Flickr 也会登上舞台。这些网站不胜枚举,都是为了建立社交网络。如今,它们处在互联网发展的最前沿。但是,如果它们无法提供更优质的服务,在 FOAF 标准得到广泛应用之后,它们就会很难存活下去。[2][6] + +文章继续指出,社交网络面临的最大问题就是网站数量过多。这就需要一种能够将所有这些网站连接起来的手段。可行方案就是 FOAF ,它终将变革整个社交网络。 + +根据该文章,FOAF 可将不同的社交网站紧密连接起来,实现途径有三个要点: + + * FOAF 将创建机器可读的社交数据格式,可为各个社交网站识别读取,避免让用户在不同的网站上重复输入信息。 + * FOAF 标准下,联系人Contacts(个人信息管理程序)可生成上述格式的文件,供用户在各社交网站使用。 + * FOAF 标准下,该文件可寄放在个人主页上,可为各社交网站读取。这样一来,用户只需将修改过的信息推到主页,其他平台就会同步更新。 + + + +在今天可能难以想象,但在 2004 年,至少在熟悉技术的网民和技术专栏记者看来,当时社交网络并不算少,但是每个网络的用户群体都很小。虽然与我们十分遥远,但若能考虑到这一问题,我们就会明白为什么需要建立单一标准来推动社交网络扩大用户基础。 + +### FOAF 规则 + +根据 FOAF 项目官网现有的介绍,FOAF 指的是“一种计算机语言,用于生成与人相关的各种条目的字典,条目以结构化数据的形式储存”。2000 年,FOAF 的创始人 Dan Brickley 和 Libby Miller 发表了一份关于该项目目标的文件,给出了不同的解释,强调了 FOAF 的最终目标:作为工具,FOAF 可让计算机像人类一样读取用户主页的个人信息[3][7]。FOAF 将会“帮助网络提供当前只有中心化平台才能提供的服务”[4][8]。通过为个人以及人际关系定义标准词汇表,FOAF 可以理解用户输入的内容,比如“查找医院医疗人员今天给出的推荐”,或者“查找曾与我合作过的人最近发表的文章”。 + +由于 FOAF 是标准化的词汇表,所以该项目最重要的成果莫过于 FOAF 规则。FOAF 规则规定了 RDF 类 和 RDF 属性(这里我不再解释什么是 RDF,如果感兴趣可查阅[我关于语义网的文章][4])。RDF 的类由 FOAF 规则规定,表示要描述的对象,比如人(`Person` 类)和组织(`Organization` 类)。RDF 属性由 FOAF 规则规定,表示针对不同对象所做的逻辑声明。例如,一个人可以有一个名字(`givenName` 属性)、一个姓氏(`familyName` 属性),可能还有人格类型(`myersBriggs` 属性)以及与他人的距离或者位置信息(`based_near` 属性)。FOAF 规则的思想是,这些类和属性要足以表示人们在个人主页上显示的身份信息和朋友信息。【注:Myers–Briggs 即迈尔斯布里格斯类型指标,是一种人格类型理论模型】 + +FOAF 规则给出了 FOAF 文件的一份范例文档。该实例的格式是 XML,不过也可以使用 JSON 等格式进行编写: + +``` + + + Dan Brickley + + + + + +``` + +这份 FOAF 文件对一个人进行了描述,他的名字叫做 Dan Brickley,在 `http://danbri.org` 网站上设有个人主页,他还有个叫做“open ID”的东西,`/images/me.jpg` 表示图片,可能和 Brickley 的主页地址相关。FOAF 的元素名称都会有 `foaf:` 前缀,表示它们是 FOAF 命名空间的一部分。相应地,RDF 的元素名称前面也都会有 `rdf:`。 + +为了说明 FOAF 不限于 XML 格式,这里从维基百科摘取了一个相似的例子,格式为 JSON-LD [5][9]: + +``` + + { + "@context": { + "name": "http://xmlns.com/foaf/0.1/name", + "homepage": { + "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage", + "@type": "@id" + }, + "Person": "http://xmlns.com/foaf/0.1/Person" + }, + "@id": "https://me.example.com", + "@type": "Person", + "name": "John Smith", + "homepage": "https://www.example.com/" + } + +``` + +上面这份 FOAF 文件也描述了一个人,他的名字叫 John Smith,在 `www.example.com` 网站上有自己的主页。 + +理解 FOAF 原理的最好方法可能就是使用 [FOAF-a-matic][10],一个在线生成 FOAF 文档的工具。你可以在工具页面的表单里输入自己的相关信息,创建表示自己的 FOAF 文档(XML 格式)。FOAF-a-matic 说明了 FOAF 是如何避免在注册不同社交网站账号时重复输入社交信息的麻烦:如果每个社交网站都可以读取 FOAF,你只需要在没有注册过帐号的网站上引用你在 FOAF-a-matic 生成的 FOAF 文档,就可以注册一个新帐号了。 + +下面这个实例是我用 FOAF-a-matic 生成的,稍微复杂一些,表示我自己: + +``` + + + + + + + + + + Sinclair Target + Sinclair + Target + + + + + John Smith + + + + + + + +``` + +本例中,主要信息之前有很多其他内容,用于设置文档使用的各种 XML 命名空间。其中就有文档生成工具的信息,这样用户就能明白出了问题要向谁进行反馈。`foaf:Person` 元素给出了我的名字,电子邮箱和主页。其中嵌套了 `foaf:knows` 元素,说明我有个叫 John Smith 的朋友。 + +该例还体现了 FOAF 文档的另外一个重要功能:相互关联。还记得之前 John Smith 的例子吗?他在 `www.example.com` 上面有自己的主页。在我的这个例子中,我将 John Smith 列在了 `foaf:person` 元素里,上一级元素是 `foaf:knows`,表示我认识的人。此外,我还加入了 `rdfs:seeAlso` 元素,放了 John Smith 主页的 FOAF 文档链接。由于加入了这一链接,程序在读取我的 FOAF 文档时,就能根据该链接读取他的 FOAF 文档,查找到更多关于 John Smith 的信息。在之前 John Smith 的 FOAF 文档里,John 并没有提供任何有关朋友的信息(包括我在内),这意味着程序无法确定我们两人之间的朋友关系。但如果他加入了朋友信息,程序在读取我的文档之后,不仅会发现我,也会发现 John、他的朋友、他的朋友的朋友,以此类推,直到程序穷尽我和 John 各自的社交图谱。 + +该功能在 Facebook 用户的大家看来应该很熟悉了。FOAF 没有 `foaf:wall` 属性和 `foaf:poke` 属性,无法完美复制 Facebook 的功能。很明显,FOAF 也没有漂亮的蓝色界面,无法为用户提供可视化的 FOAF 社交网络,它只是一个词汇表。不过,Facebook 的核心功能是以分布式的方式提供的,我认为这正是 Facebook 垄断能力的关键。在 FOAF 标准下,好友可以将 FOAF 文档上传至个人主页,数字化展示他们真实的社交图谱,用户无需将个人数据的控制权交给 Facebook 这样一个中心化的数据库。要知道,由于对用户个人数据管理不当,扎克伯格在国会委员会召开之前的大多数时间都在向公众道歉。 + +### 暂时搁置的 FOAF + +浏览 FOAF 项目主页,你会发现在页面的右上角,有一张喜剧动画《飞出个未来》主角弗莱躺在休眠舱内的图片。这张图片是《飞出个未来》某一集的截图,讲的是弗莱在 1999 年不小心跌进了低温休眠舱,到了 2999 年再次苏醒过来的故事。我曾和 Brickley 在 Twitter 上简短地聊了一下,他告诉我,挂这张图片是为了告诉人们,未来 FOAF 项目将有机会重获新生,继续探索 20 世纪初关于网络运作方式的设想。 + +FOAF 绝不可能像《卫报》期望的那般变革社交网络。一些社交网站选择支持 FOAF 标准,比如 LiveJournal 和 MyOpera [6][11]。FOAF 甚至还在 2004 年霍华德·迪恩竞选总统时发挥了一定作用:一群博主和程序员合力搭建起了一个将网站连接起来的网络,称其为“迪恩空间DeanSpace”,帮助迪恩竞选,并在网站上使用 FOAF 记录迪恩的支持者和帮助迪恩竞选的志愿者[7][12]。不过,今天人们了解到 FOAF 主要还是因为它是 RDF 应用最为广泛的词汇表之一,而 RDF 正是现代网络的一个重要标准。如果在今天还能用到 FOAF 的话,可能就是谷歌“知识面板knowledge panels”所用技术的原型。知识面板是在用谷歌搜索时,出现在搜索结果右侧的一小块内容,会提供搜索关键词的基本信息。谷歌为推行其知识面板,使用了语义网项目的“后继者” schema.org 项目发布的词汇表[8][13]。schema.org 用来描述人物的词汇表似乎有着 FOAF 的影子,两者的目的大多也是相同的。 + +那么,为什么 FOAF 还是失败了呢?为什么人们都在用 Facebook 呢?且不提 FOAF 只是一个简单的标准,没有 Facebook 那么丰富的功能,如果 FOAF 发展势头保持下去,很有可能就会出现相关软件和应用,带来像 Facebook 那样的体验。问题是,在 Facebook 还未发展到能与之分庭抗礼之时,FOAF 这股分布式社交网络的新生力量为什么没能得到广泛应用呢? + +恐怕这个问题的答案并不唯一,不过非要我说的话,我觉得最关键的一点是,只有在每个人都有个人网站的情况下,FOAF 才有意义。19 世纪 90 年代末到 20 世纪初,人们理所当然地觉得网络最终会出现这种情况,因为就我所知,互联网的早期用户多是高产的博客写手,参政的技术专家,他们都希望能有个自己的平台。但是,现实情况却是,普通用户并不愿意学习怎么搭建和运营网站。FOAF 的用户可以掌控自己的社交信息并将其推送到各类社交网络上,省去了到处注册账号的麻烦。如果你已经有了储存社交信息的个人网站,那么这个想法应该很诱人。但实际上,相比较于买域名、折腾 XML 文档,大多数人觉得填写信息、注册 Facebook 账号来得更容易些。 + +那么,这与我最初的问题(Facebook 是否属于自然垄断)有什么相关呢?我不得不承认,FOAF 的案例说明,社交网络 _的确_ 拥有自然垄断属性。 + +其实,关于用户不愿管理自己的数据这一问题,本身并没有那么重要,因为通过让普通用户在熟悉技术的用户所设置的节点上储存个人信息,[Mastodon][14] 等现代分布式社交网络已经解决了这个问题。这也表明,人们多么不愿意折腾复杂的东西。对去中心化社交网络来说,这无疑是个坏消息,因为相较于中心化网络,去中心化网络更为复杂,这是用户再清楚不过的。 + +FOAF:如果我要写一个能读取个人网站上 FOAF 数据的程序,假设 Sally 的 FOAF 文档提到了 John Smith,说他在 `example.com` 有自己的主页;Sue 的 FOAF 文档也提到了 John Smith,说他在 `example.net` 有自己的主页。在这种情况下,我应该怎么办呢?到底是只有一个 John Smith 而他正好有两个主页呢,还是这两个 John Smith 是不同的人呢?如果两个 FOAF 文档中 John Smith 的邮箱都是 `johnsmith@gmail.com`,又该怎么办呢?这种身份问题是 FOAF 的软肋。在一封 2003 年的邮件里,Brickley 写道,由于不存在而且可能也不应该存在一个“全球性的身份识别系统”,FOAF 采取的方法只能是“多元的”[9][15]。FOAF 用户的邮件地址和主页地址等部分属性具有特殊性,因为邮件地址和主页地址都是独一无二的。因此,这些内容不可能相同的属性可以将人们的多个 FOAF 文档合并起来(用 Libby Miller 的话来说,“挤”在一起)。不过这些特殊属性不存在所谓优先级的说法,所以前面 John Smith 的问题还是不好解决。换句话说,是该相信主页,判定他们不是同一个人呢?还是要相信邮件地址,判定他们是同一个人呢?我真的能够在不干扰到用户的前提下,写出一个程序,解决这类问题吗? + +Facebook 拥有单一的数据库,不用顾虑政治性问题,有条件创建“全球性的身份识别系统”,给每个人发行独一无二的身份 ID,于是问题就迎刃而解了。 + +如果人们真的在乎对自己数据的持有权和掌控权,单是因为复杂难解应该不足以导致分布式社交网络的失败。但是 FOAF 的失败表明,人们从未重视过对自己数据的掌控权。正如一位博主所说,“所谓‘用户想要拥有自己的数据’只不过是一个想法,和实际应用没有关系”[10][16]。如果用户不够重视个人数据,无法忍受过于复杂的平台,如果中心化系统比去中心化系统更为简单易用,如果中心化系统有发展为封闭系统的趋向,借此取得成功,享受网络效应带来的巨大效益,那么社交网络确实属于自然垄断。 + +即便如此,我认为地铁系统的案例和社交网络的案例仍存在不同之处。我可以欣然接受 MTA 对地铁交通的垄断,因为我希望地铁系统本身就应该是长期垄断行业。如果纽约地铁只有一家运营商,那么它只能是政府,至少在名义上,政府比没有竞争对手的私企更加负责。但是我却不希望社交网络属于自然垄断。地铁建好了基本上就是一成不变的,但数字世界却在不断演变发展。在今天,分布式社交网络也许比中心化网络更加复杂,就好比带两张地铁卡总是比只带一张要麻烦的多。不过,在未来,互联网会发生根本性变革,那时分布式技术将会更易于使用。 + +如果未来果真如此,FOAF 可能会作为建立分布式社交网络的第一次尝试为人们记住。在企业大型数据库所驱动的中心化网络时代结束之后,分布式网络将会得到人们的长期青睐。 + +_如果你喜欢这篇文章,欢迎关注推特 [@TwoBitHistory][28],也可通过 [RSS feed][29] 订阅,获取更多最新文章。_ + + + + 1. 请注意,这里我没有用“消亡”一词。[↩︎][20] + + 2. Jack Schofield, “Let’s be Friendsters,” The Guardian, February 19, 2004, accessed January 5, 2020, . [↩︎][21] + + 3. Dan Brickley and Libby Miller, “Introducing FOAF,” FOAF Project, 2008, accessed January 5, 2020, . [↩︎][22] + + 4. 同上。[↩︎][23] + + 5. Wikipedia contributors, “JSON-LD,” Wikipedia: The Free Encyclopedia, December 13, 2019, accessed January 5, 2020, . [↩︎][24] + + 6. “Data Sources,” FOAF Project Wiki, December 11 2009, accessed January 5, 2020, . [↩︎][25] + + 7. Aldon Hynes, “What is Dean Space?”, Extreme Democracy, accessed January 5, 2020, . [↩︎][26] + + 8. “Understand how structured data works,” Google Developer Portal, accessed January 5, 2020, . [↩︎][27] + + 9. tef, “Why your distributed network will not work,” Progamming is Terrible, January 2, 2013, . [↩︎][28] + + 10. Dan Brickley, “Identifying things in FOAF,” rdfweb-dev Mailing List, July 10, 2003, accessed on January 5, 2020, . [↩︎][29] + + + + +-------------------------------------------------------------------------------- + +via: https://twobithistory.org/2020/01/05/foaf.html + +作者:[Two-Bit History][a] +选题:[lujun9972][b] +译者:[aREversez](https://github.com/aREversez) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://twobithistory.org +[b]: https://github.com/lujun9972 +[1]: tmp.mJHAgyVHGr#fn:1 +[2]: https://en.wikipedia.org/wiki/Fediverse +[3]: https://en.wikipedia.org/wiki/Prodigy_(online_service) +[4]: https://twobithistory.org/2018/05/27/semantic-web.html +[5]: https://www.ftrain.com/google_takes_all +[6]: tmp.mJHAgyVHGr#fn:2 +[7]: tmp.mJHAgyVHGr#fn:3 +[8]: tmp.mJHAgyVHGr#fn:4 +[9]: tmp.mJHAgyVHGr#fn:5 +[10]: http://www.ldodds.com/foaf/foaf-a-matic +[11]: tmp.mJHAgyVHGr#fn:6 +[12]: tmp.mJHAgyVHGr#fn:7 +[13]: tmp.mJHAgyVHGr#fn:8 +[14]: https://en.wikipedia.org/wiki/Mastodon_(software) +[15]: tmp.mJHAgyVHGr#fn:9 +[16]: tmp.mJHAgyVHGr#fn:10 +[17]: https://twitter.com/TwoBitHistory +[18]: https://twobithistory.org/feed.xml +[19]: https://twitter.com/TwoBitHistory/status/1192196764239093760?ref_src=twsrc%5Etfw +[20]: tmp.mJHAgyVHGr#fnref:1 +[21]: tmp.mJHAgyVHGr#fnref:2 +[22]: tmp.mJHAgyVHGr#fnref:3 +[23]: tmp.mJHAgyVHGr#fnref:4 +[24]: tmp.mJHAgyVHGr#fnref:5 +[25]: tmp.mJHAgyVHGr#fnref:6 +[26]: tmp.mJHAgyVHGr#fnref:7 +[27]: tmp.mJHAgyVHGr#fnref:8 +[28]: tmp.mJHAgyVHGr#fnref:9 +[29]: tmp.mJHAgyVHGr#fnref:10 From 5a93d3b20023a3c49a2ce246627e6da5fef09e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:46:03 +0800 Subject: [PATCH 512/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221115.0=20=E2=AD=90=EF=B8=8F=20You=20Can=20Now=20In?= =?UTF-8?q?stall=20Unity=207.6=20Desktop=20on=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Now Install Unity 7.6 Desktop on Arch Linux.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md diff --git a/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md new file mode 100644 index 0000000000..855082ebf9 --- /dev/null +++ b/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md @@ -0,0 +1,70 @@ +[#]: subject: "You Can Now Install Unity 7.6 Desktop on Arch Linux" +[#]: via: "https://news.itsfoss.com/unity-arch-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +You Can Now Install Unity 7.6 Desktop on Arch Linux +====== + +Unity Desktop is a classic desktop environment built by Canonical and was a part of Ubuntu from 2010 to 2017 but dropped in favor of GNOME. + +And, we thought it was killed forever. But it made a comeback. + +Earlier this year, a revamped version of Unity was released after a long 6-year period since its last update in May 2016. + +The development was spearheaded by a young developer [Rudra Saraswat][1], who is also the creator of [Ubuntu Unity][1], an official flavor of Ubuntu now. + +The release of Unity 7.6 marked the arrival of a host of improvements. + +And, to take that further, Unity 7.6 has been made available for Arch Linux. The developer mentions: + +> This port is based on an earlier effort, Unity-for-Arch by chenxiaolong (maintained from 2011-2016). + +### Trying Unity 7.6 on Arch Linux + +![unity on arch linux][2] + +First, you must ensure that you have Arch Linux already set up. + +Then you can follow these steps to run Unity 7.6 on Arch Linux: + +- **Install '[Paru][3]', it is an AUR helper.** +- **Install a script called 'unity-installer-arch' using 'paru -S unity-installer-arch'** +- **Run 'unity-installer-arch' in a TTY/terminal window.** +- **Select 'Install Unity desktop'.** +- **Change default display manager to 'lightdm'.** +- **Use 'unity-greeter' as the default greeter.** + +My colleague Sreenath tried it out, and during installation, he had to start with a fresh copy of Arch because of multiple dependency conflicts. + +It may be different for you, but do keep that in mind. If you do not want to spend time on that, you might want to try [Ubuntu Unity][4] instead. + +### Wrapping Up + +For Unity desktop fans, this is a good thing. More distributions may consider having a variant with a Unity desktop on board. + +Do you want that to happen? + +_💬 Are you an existing user of Unity desktop? Want to give it a try? Share your thoughts in the comments._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/unity-arch-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://about.ruds.io +[2]: https://news.itsfoss.com/content/images/2022/11/unity_for_arch.jpg +[3]: https://itsfoss.com/paru-aur-helper/ +[4]: https://ubuntuunity.org From d5f25c1ecbd4400666623b290d9057cf2f72fb26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:50:08 +0800 Subject: [PATCH 513/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221117.0=20=E2=AD=90=EF=B8=8F=20Authenticator=20A=20?= =?UTF-8?q?Simple=20Open-Source=20App=20to=20Replace=20Authy=20on=20Linux.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Open-Source App to Replace Authy on Linux.md | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md diff --git a/sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md new file mode 100644 index 0000000000..0cccbd0d2b --- /dev/null +++ b/sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md @@ -0,0 +1,96 @@ +[#]: subject: "Authenticator: A Simple Open-Source App to Replace Authy on Linux" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Authenticator: A Simple Open-Source App to Replace Authy on Linux +====== + +Authy is a popular app for storing and managing two-factor codes. It is a cloud-based service that gives you convenience with industry-grade security. Unfortunately, it is not open-source. + +Would you consider using a more straightforward (and open-source) authenticator app on your Linux desktop? + +Well, of course, you cannot cloud sync here. But you can generate a backup for the two-factor authentication codes. Keeping that in mind, let me tell you more about Authenticator. + +![authenticator app ft][1] + +### Authenticator: Generate Two-Factor Authentication Codes + +When you enable two-factor authentication with online services, most services give you a token/QR code that you can add/scan to generate codes. + +Authenticator is one such app for Linux that lets you add two-factor authentication codes. + +![authenticator ui][2] + +It is a free and open-source app with essential features to add a variety of tokens and websites that support two-factor authentication. + +**Recommended Read**: [Best Password Managers for Linux Desktop][3] + +### Features of Authenticator + +![authenticator auto lock][4] + +Some of the essential options that you get with it include: + +- QR Code scanner using a camera or a screenshot +- Protect the app using a passphrase +- Autolock the app +- Support for different algorithms (SHA-1/SHA-256/SHA-512) +- Time-based/Counter-based/Steam computing methods supported +- Backup/Restore options (FreeOTP, Aegis, andOTP, Bitwarden, and Google Authenticator) + +You get customization options and the ability to add a custom provider as per the support provided by the service. One can add a custom icon for the provider to help you distinguish between the authentication codes. + +![authenticator custom provider][5] + +For the most part, the default settings should work with websites. However, you might want to check the exact details with the provider if it does not work. + +The app also features multiple providers out of the box, like Google Drive and Proton Mail. So, you do not need to add custom configurations for every entry you add. + +### Installing Authenticator on Linux + +![authenticator add new code][6] + +Authenticator is available as a Flatpak. So, you can install it on any Linux distribution. + +Just type in the following command to get it installed: + +``` +flatpak install flathub com.belmoussaoui.Authenticator +``` + +You can head to its [Flathub][7] or GitLab page to explore more. + +If you are new to the Linux world, refer to our [Flatpak guide][8] to set it up. Your software center might already have Flatpak integration enabled out of the box. You can search for it to get it installed in such a case. + +### Use Open Source Authenticator App For Security and Reliability + +We often depend on cloud-powered tools for everything. Sure, it is convenient. + +However, sometimes desktop apps are more helpful. If you are in the same boat and thinking of making a switch, Authenticator can be an excellent app to have installed for two-factor authentication codes. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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/11/authenticator-app-ft.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-ui.png +[3]: https://itsfoss.com/password-managers-linux/ +[4]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-auto-lock.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-custom-provider.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-add-new-code.png +[7]: https://flathub.org/apps/details/com.belmoussaoui.Authenticator +[8]: https://itsfoss.com/flatpak-guide/ From 8ce29a9b47ceb5390bc5c2de32a3c8b617875566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:52:05 +0800 Subject: [PATCH 514/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221117.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20and=20Use=20htop=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ How to Install and Use htop in Linux.md | 197 ++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md diff --git a/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md b/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md new file mode 100644 index 0000000000..8837e31e64 --- /dev/null +++ b/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md @@ -0,0 +1,197 @@ +[#]: subject: "How to Install and Use htop in Linux" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install and Use htop in Linux +====== + +Windows has its famous task manager. Linux has several GUI and [command line system monitors][1]. Every Linux system comes with a couple of them. + +On the command line, the top command is perhaps the goto command for checking the system resource utilization quickly. + +[Using top command][2] apart from viewing the processes could be tricky. And this is where htop tops top. Pun aside, htop is a top-like utility but with a better and user-friendly interface. + +In this guide, I will be showing you how you can install and use htop in Linux. + +### Install htop utility in Linux + +You won’t find htop pre-installed on the majority of Linux distributions but being one of the most popular utilities, you will find htop in default repositories of almost every Linux distro. + +So if your machine is powered by something that is based on Debian/Ubuntu, the following command should get your job done: + +``` +sudo apt install htop +``` + +Similarly, if you’re on Fedora, you can use the given command: + +``` +sudo dnf install htop +``` + +And there’s also a snap package available if you like to avoid building packages from the source: + +``` +sudo snap install htop +``` + +If you’re on something else or want to build from a source, you can always refer to [htop’s GitHub page][3] for detailed instructions. + +Once you’re done with the installation, you just have to use the htop command in the terminal, and it will reflect all the ongoing processes in your system: + +``` +htop +``` + +![install and use htop][4] + +In htop, there is a color coding for the individual section, so let’s have a look at what each color indicates while using htop. + +##### What different colors and statistics indicate in htop + +So let’s start with the CPU usage bar, as it utilizes the maximum number of colors. + +#### CPU usage bar + +![cpu process in htop][5] + +- **Green:** Resources consumed by user processes. +- **Blue:** Indicates low-priority threads. +- **Red:** CPU resources used by system (kernel) processes. +- **Aqua blue:** Indicates virtualized processes. + +#### Memory bar + +![memory bar in htop][6] + +- **Green:** Memory being utilized by system processes. +- **Blue:** Memory used by buffer pages. +- **Orange:** Memory allocated for cache pages. + +#### Statistics + +![task statistics in htop][7] + +- **1.86** is the average load for the last minute. +- **1.75** is the average load for the last 4 minutes. +- **1.47** is the average load for the last 15 minutes. + +- **Tasks: 166** shows there is a total of 166 ongoing processes. +- **1249 thr** indicates that those 166 processes are handled by 1249 threads. +- **1 running** indicates that from those 166 processes, only one task is in a state of running. +- **The load** average indicates the average system load over a period of time. Since my system is Hexa-Core, anything under 6.0 is ok. This number may exceed, such as 6.1, so the upcoming processes have to wait for ongoing tasks to be completed. +- **Uptime** is nothing but hours since you logged in. + +Now, let’s jump to the actual implementation part. + +### How to use htop in Linux + +As the htop is mainly used to check for system resources, let’s have a look at how you can sort the processes based on resource consumption. + +#### Sort processes based on Resource Consumption + +The easiest way to sort processes based on CPU and memory usage is to use your mouse pointer. Hover the cursor over the CPU or Memory section and click on any of those. + +And there you will see an icon of a triangle `△` and based on that you can sort the process based on highest to lowest resource consumption: + +But if you are dealing with remote servers, you might not have the privilege to use a mouse and in those cases, you can use keyboard shortcuts. + +Press **F6** and it will bring up every option available to sort the ongoing processes: + +![sort processes in htop using keyboard shortcut][8] + +You can use arrow keys to select a preferred sorting option and then press the Enter key, results should reflect as intended. + +#### Search for a specific process + +If you want to look for a specific process and its resource consumption, you can press **F3** and it will get you a search prompt as shown below: + +![search processes in htop][9] + +For example, I searched for htop, and it highlighted the process with light orange color. And you can press **F3** for the next result. + +#### Filter ongoing processes + +While searching may get you the intended results, I find the filtering process using keywords even more effective as it presents a list of processes. + +To filter processes, you have to press **F4** and type the name of the process. For example, I filtered processes related to gnome-boxes: + +![filter processes in htop][10] + +#### Kill process + +Once you made it to find the most resource-hungry and unnecessary process, you just have to press **F9**, and it will present you with termination signals: + +![kill process in htop][11] + +I can’t cover all 15 termination signals, we have a separate guide on [different termination signals][12], so you can refer to that guide if you intend to learn more about them. + +But I will recommend you use SIGTERM first, as it is the most efficient and friendly way to kill the process. + +#### Customize htop + +Here, my aim is to add a date and time and change the color scheme to monochrome. + +First, press **F2**, and it will being setup prompt allowing users to change how htop looks: + +![customize htop in ubuntu][13] + +First, hover to the `Colors` sections and press Enter and it will allow us to change the color scheme. From there, select the Monochrome option and press Enter to save changes: + +![change htop colors in linux][14] + +Now, go back to the setup option, and from there, use the left arrow key to explore available meters: + +![explore available meters in htop][15] + +As I intend to add the Date and time, I have to press Enter once I find the option for it. + +Here, it will allow you to place the date and time in any of the left and right columns and you can use the up and down arrow keys to change the order of columns. + +So I placed the date and time meter with the last styling option (you can change styles using the spacebar): + +![add date and time htop][16] + +Once you are done aligning the date and time meter, press the enter key to save changes and **F10** to close the setup prompt. + +### Wrapping Up + +In this guide, I explained how you can install the htop utility in different Linux distributions and how you can use some basic functionalities of htop to manage system resources efficiently. + +But htop can do a lot more and for that and to learn more, you can always refer to its man page, and we have a detailed guide on [how you can get the most out of the man page in Linux][17]. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/linux-system-monitoring-tools/ +[2]: https://linuxhandbook.com/top-command/ +[3]: https://github.com/htop-dev/htop +[4]: https://itsfoss.com/wp-content/uploads/2022/11/install-and-use-htop.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/cpu-process-in-htop-1.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/memory-bar-in-htop.png +[7]: https://itsfoss.com/wp-content/uploads/2022/11/task-statistics-in-htop.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/sort-processes-in-htop-using-keyboard-shortcut.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/search-processes-in-htop.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/filter-processes-in-htop.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/kill-process-in-htop.png +[12]: https://linuxhandbook.com/termination-signals/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/customize-htop-in-ubuntu.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/change-htop-colors-in-linux.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/explore-available-meters-in-htop.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/add-date-and-time-htop.png +[17]: https://linuxhandbook.com/man-pages/ From e7e0279c3a4f8840073f7c2249dc0b4c5b017cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:53:05 +0800 Subject: [PATCH 515/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221118.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fi?= =?UTF-8?q?xing=20=E2=80=9CKey=20is=20stored=20in=20legacy=20trusted.gpg?= =?UTF-8?q?=20keyring=E2=80=9D=20Issue=20in=20Ubuntu.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ed in legacy trusted.gpg keyring” Issue in Ubuntu.md | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md diff --git a/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md b/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md new file mode 100644 index 0000000000..6bdb4bc00f --- /dev/null +++ b/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md @@ -0,0 +1,144 @@ +[#]: subject: "Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu +====== + +If you use a PPA or add an external repository in Ubuntu 22.04 and later versions, chances are that you will see a message like this: + +``` +W: https://packagecloud.io/slacktechnologies/slack/debian/dists/jessie/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. +``` + +![ubuntu key is stored legacy][1] + +First thing first. It is not an error, it is a warning message. A warning does not stop the procedure. You can continue upgrading your system even if you see this warning message during an update. + +If you don’t like seeing the warning message, you can take some manual steps to get rid of it. + +There are two ways; the proper way and the quick and dirty way. Read both methods and see which one you feel comfortable with. + +### Method 1: Import the key [Proper but complicated way] + +First, list all the GPG keys added to your system. + +``` +sudo apt-key list +``` + +This will show a huge list of keys stored in your system. What you have to do here is to look for the keys associated with the warning message. + +``` +[email protected]:~$ sudo apt-key list +[sudo] password for abhishek: +Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). +/etc/apt/trusted.gpg +-------------------- +pub rsa4096 2014-01-13 [SCEA] [expired: 2019-01-12] + 418A 7F2F B0E1 E6E7 EABF 6FE8 C2E7 3424 D590 97AB +uid [ expired] packagecloud ops (production key) <[email protected]> + +pub rsa4096 2016-02-18 [SCEA] + DB08 5A08 CA13 B8AC B917 E0F6 D938 EC0D 0386 51BD +uid [ unknown] https://packagecloud.io/slacktechnologies/slack (https://packagecloud.io/docs#gpg_signing) <[email protected]> +sub rsa4096 2016-02-18 [SEA] + +/etc/apt/trusted.gpg.d/audio-recorder-ubuntu-ppa.gpg +---------------------------------------------------- +pub rsa4096 2015-08-30 [SC] + 42EF 41ED 9813 B713 D4F1 F06D 5CF1 2638 ACF9 669F +uid [ unknown] Launchpad PPA for Team audio-recorder + +/etc/apt/trusted.gpg.d/danielrichter2007-ubuntu-grub-customizer.gpg +------------------------------------------------------------------- +pub rsa1024 2010-10-08 [SC] + 59DA D276 B942 642B 1BBD 0EAC A8AA 1FAA 3F05 5C03 +``` + +How do you do that? Read the message carefully. + +``` +W: https://packagecloud.io/slacktechnologies/slack/debian/dists/jessie/InRelease: Key is stored in legacy +``` + +In my case, the repository has keywords like packagecloud, slacktechnologies. It is shown at the top of the apt-key list output. You may have to scroll a bit in your case. + +In this rare case, the external repository added by Slack, has two GPG keys. One of them is expired and I’ll ignore it. You may not have such a situation. + +You should the last 8 characters (excluding the space) under the line after pub. + +``` +/etc/apt/trusted.gpg +-------------------- +pub rsa4096 2014-01-13 [SCEA] [expired: 2019-01-12] + 418A 7F2F B0E1 E6E7 EABF 6FE8 C2E7 3424 D590 97AB +uid [ expired] packagecloud ops (production key) <[email protected]> + +pub rsa4096 2016-02-18 [SCEA] + DB08 5A08 CA13 B8AC B917 E0F6 D938 EC0D 0386 51BD +uid [ unknown] https://packagecloud.io/slacktechnologies/slack (https://packagecloud.io/docs#gpg_signing) <[email protected]> +``` + +So from the line “DB08 5A08 CA13 B8AC B917 E0F6 D938 EC0D 0386 51BD”, I’ll take the last 8 characters “0386 51BD”, remove the space and then use it to import the GPG key in its dedicated file under the /etc/apt/trusted.gpg.d directory: + +``` +sudo apt-key export 038651BD | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/slack.gpg +``` + +I created a new file slack.gpg here, in case you didn’t notice it. I named it slack.gpg because it is associated with Slack application I installed earlier. The filename does not matter but it’s good for identification. + +If the command runs successfully, you won’t see any message. You can verify that by checking if the newly created gpg file exists or not. + +![import gpg key to trusted ubuntu][2] + +Run the update again and now you should not see the warning message anymore. + +### Method 2: Copy to the trusted.gpd.d directory [Quick and dirty way] + +If you don’t feel comfortable doing all the above stuff manually, well, you can ignore the warning message. I mean, ignoring it is always an option. + +Another option is to copy the /etc/apt/trusted.gpg file to /etc/apt/trusted.gpg.d directory. After all, Ubuntu only complains that it needs the GPG keys in /etc/apt/trusted.gpg.d directory. + +You’ll still have to use the terminal. Open it and use the following command: + +``` +sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d +``` + +Now, if you run the update, you won’t see the “Key is stored in legacy trusted.gpg keyring” warning message anymore. + +![quick dirty way to fix apt key stored legacy][3] + +### Conclusion + +I have written a detailed article on [apt-key deprecation][4]. Apparently, that article had some readers confused and hence I wrote this one to give them direct steps for getting rid of the message. + +As I said before, it is a warning message and can be ignored for now. The onus to ‘fix’ this issue lies on the external software developers and Ubuntu developers. The external software developers should make sure that their GPG keys are no longer added in the /etc/apt/trusted.gpg file. + +The end users should not take the pain for their laziness. + +So, which method did you use to get rid of the ‘key is stored in legacy’ warning message? The first one or the second one? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/ubuntu-key-is-stored-legacy.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/import-gpg-key-to-trusted-ubuntu.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/quick-dirty-way-to-fix-apt-key-stored-legacy.png +[4]: https://itsfoss.com/apt-key-deprecated/ From b7aee9fd0ee32d227e54c563e36629275ed4e5a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:54:11 +0800 Subject: [PATCH 516/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221119.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=207?= =?UTF-8?q?=20Reasons=20Why=20Cinnamon=20is=20a=20Fantastic=20(Yet=20Under?= =?UTF-8?q?rated)=20Linux=20Desktop=20Environment.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...stic (Yet Underrated) Linux Desktop Environment.md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md diff --git a/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md b/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md new file mode 100644 index 0000000000..b0bb7c538a --- /dev/null +++ b/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md @@ -0,0 +1,185 @@ +[#]: subject: "7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment +====== + +Linux Mint is one of my favorite distributions. The flagship (or default) Cinnamon desktop is why I like it so much. + +The user experience offered by Cinnamon desktop may not be mind-blowing or fancy. But, the desktop environment provides enough reasons for users to like it and easily work with it to get things done. + +At the end of the day, that’s what we want. A user interface that works as expected and does not get in the way. + +I think Cinnamon desktop does a few things right to give you an exciting experience. Let me mention some of those here. + +**If you did not know**, the Cinnamon desktop is a fork of the GNOME 3 created in **2011** by **Clement Lefebvre** (Linux Mint creator) with enhancements over the years. + +### 1. Familiar User Interface + +![linux mint 21 full][1] + +The primary objective of building Cinnamon was to keep the GNOME 2 desktop style alive. + +And that is why you get a familiar desktop layout compared to the most popular consumer desktop operating system, i.e., Windows. + +Of course, Windows 11 has evolved its usual layout with time. But, accessing a start menu, a taskbar, system icons in the tray, and a couple of window decorations make it easy to grasp. + +Whether you are a Windows user or a macOS user, the Cinnamon desktop layout should not feel challenging at all. + +![linux mint welcome][2] + +To help you further, the “**Welcome Screen**” in Linux Mint provides you with all the information quickly. + +### 2. Lightweight + +To get a comfortable experience with Cinnamon desktop (usually with Linux Mint), you have the following system requirements: + +- 4 GB RAM +- 100 GB of disk space +- 1024×768 resolution screen + +In the modern computing age, these specifications should suit almost everyone. So, you do not have to worry about needing an insane amount of memory or disk space to run a Linux distro powered by Cinnamon. + +Of course, you can try [installing Cinnamon desktop on Ubuntu][3]. + +But, for this article, we consider Linux Mint as the ideal use case. + +### 3. Fast Performance Without Sacrificing User Experience + +When we think about a lightweight desktop environment—we usually imagine a bland user interface that focuses on performance. + +![linux mint perf][4] + +With Cinnamon desktop, that is not the case. It does include subtle animations and features icons/themes that make up for a modern look, if not the best. + +It looks pleasing to the eyes with a minimal approach. + +Typically, I am a sucker for pretty user interfaces, but I can still live with Linux Mint’s straightforward user experience running it on a dual-monitor setup (**1440p + 1080p**). + +It may not be the best dual-monitor experience with Linux Mint Cinnamon edition (no dock/panel on the second screen for me). So, there is little room for improvement. + +### 4. Default Customization Options + +You might already know that KDE is probably the king when it comes to giving the ability to customize out-of-the-box. + +We have super useful guides if you are curious about going that way: + +- [KDE Customization Guide][5] +- [How to Properly Theme KDE Plasma [In-depth Guide]][6] +- [Best Gorgeous KDE Plasma Themes][7] + +But, for many users, it is **overwhelming**. + +I think Linux Mint gives the right amount of extra controls/customizations, which you also learn on its **Welcome Screen**. + +![cinnamon theme customize][8] + +Some of the elements that you can easily customize include: + +- Desktop color (accent) +- Light/Dark theme toggle +- Panel layout +- Icons, buttons, and mouse pointer. + +You can head to the system settings and navigate to “Themes” to find the essential tweaks. + +**Recommended Read:**[7 Ways to Customize Cinnamon Desktop on Linux][9] + +### 5. Official Add-ons to Spice Up Your Experience + +![cinnamon desklet][10] + +Linux Mint supports various add-ons to enhance your experience. These are all part of its [Cinnamon Spices][11] offering. They include: + +- Themes +- Extensions +- Applets +- Desklets + +Applets and Desklets are tiny programs that you can add on top of the panel (near the system tray) and the desktop, respectively. + +![applet cinnamon][12] + +You can manage system default applets or download more from the official repositories: + +![applets cinnamon][13] + +Similarly, you can add a Desklet from the available defaults or get a new one from the repositories. + +![desklet cinnamon][14] + +Plenty of valuable utilities to monitor system resources, check the weather, and more. + +In addition, you get access to various themes built by the community that could easily give you a look you always wanted. + +![cinnamon theme][15] + +To complement all the above spices, you can use extensions to make the panel transparent, add a watermark to your desktop, enable windows tiling, and add some exciting window animations. + +![linux mint extensions][16] + +### 6. Compatible and Seamless User Experience + +Why do I highlight the user experience again? + +The best part about Cinnamon desktop is that it evolves in a way that respects and supports all functionalities. + +For instance, if you want to install an app you enjoyed using on KDE Plasma, it should work the same way here. There’s nothing special with Cinnamon desktop that would break the experience. + +![gnome accounts cinnamon][17] + +Similarly, the desktop adds features that try to co-exist with services from other desktop environments. For instance, calendar events support using GNOME Online Accounts. + +### 7. Panel Customization + +![linux mint panel][18] + +The dock, taskbar, or panel comprises an integral part of the user interface. + +Yes, other desktop environments allow you to customize the same to some extent. With Cinnamon, you get a good amount of control to tweak it. + +I think you get all the essential options a user would want. + +### Wrapping Up + +GNOME and KDE Plasma are popular desktop environments. However, Cinnamon is not far off on essential parts to provide an optimal user experience. + +_What do you think of the Cinnamon desktop environment? Do you prefer to try it with Linux Mint? Share your thoughts in the comments section below._ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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/11/linux-mint-21-full.jpg +[2]: https://itsfoss.com/wp-content/uploads/2022/11/linux-mint-welcome.png +[3]: https://itsfoss.com/install-cinnamon-on-ubuntu/ +[4]: https://itsfoss.com/wp-content/uploads/2022/11/linux-mint-perf.png +[5]: https://itsfoss.com/kde-customization/ +[6]: https://itsfoss.com/properly-theme-kde-plasma/ +[7]: https://itsfoss.com/best-kde-plasma-themes/ +[8]: https://itsfoss.com/wp-content/uploads/2022/11/cinnamon-theme-customize.png +[9]: https://itsfoss.com/customize-cinnamon-desktop/ +[10]: https://itsfoss.com/wp-content/uploads/2022/11/cinnamon-desklet.png +[11]: https://cinnamon-spices.linuxmint.com +[12]: https://itsfoss.com/wp-content/uploads/2022/11/applet-cinnamon.png +[13]: https://itsfoss.com/wp-content/uploads/2022/11/applets-cinnamon.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/desklet-cinnamon.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/cinnamon-theme.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/linux-mint-extensions.png +[17]: https://itsfoss.com/wp-content/uploads/2022/11/gnome-accounts-cinnamon.png +[18]: https://itsfoss.com/wp-content/uploads/2022/11/linux-mint-panel.png From 87795780f696be9c9db0e17159e5024452e79968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:55:16 +0800 Subject: [PATCH 517/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221121.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20htop=20Alternatives=20to=20Enhance=20Your=20Linux=20System?= =?UTF-8?q?=20Monitoring=20Experience.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Enhance Your Linux System Monitoring Experience.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md diff --git a/sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md new file mode 100644 index 0000000000..fb2969556c --- /dev/null +++ b/sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md @@ -0,0 +1,159 @@ +[#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 htop Alternatives to Enhance Your Linux System Monitoring Experience +====== + +htop is a popular command-line tool to help monitor the system’s resources and performance on Linux. + +**It’s better than top**, often available by default out of the box. + +With htop, you can filter and sort processes to understand things better, get a tree view of the processes running, and kill processes when needed. + +![htop 2022][1] + +I use htop over other system monitoring tools because it displays what’s essential to me and allows terminating rogue/frozen processes when I need to take control of running services. + +But, if you want something else that displays more info or looks different, what are some **htop alternatives**? Let’s take a look. + +**Recommended Read**: [7 System Monitoring Tools for Linux to Keep an Eye on Vital System Stats][2] + +### 1. atop + +![atop 2022][3] + +[atop][4] is all about running process details. You get all the data you need to understand the processing on your system. + +It also provides the ability to make a permanent log of resource utilization for long-term analysis. A system administrator might find this more useful than anyone else. + +Unfortunately, it does not provide you with a pretty output. So, if you want that, keep looking at the other options below. + +#### How to install atop? + +For Ubuntu/Debian-based distributions, type in: + +``` +sudo apt install atop +``` + +### 2. vtop + +![vtop 2022][5] + +[vtop][6] is the perfect system monitoring utility if you want a good-looking output and essential features to manage processes. + +The output looks like a GUI in a terminal, as I’ve stated in some of my other articles. You can have mouse support or choose to disable it. The theme can also be customized. + +It is built using Node.js. So, you need to install additional packages to get it installed. + +Unfortunately, this project seems to be no longer actively maintained. But, it worked for me at the time of writing this article. + +#### How to install vtop? + +For Ubuntu-based distros, enter the following commands in the terminal: + +``` +sudo apt install nodejs +sudo apt install npm +sudo npm install -g vtop +``` + +### 3. btop++ + +![btop][7] + +[btop++][8] is a C++ version of bashtop and bpytop. And, yes, it is the third iteration of those projects by the same developer. + +btop++ includes full mouse support, features a game-inspired menu system, lets you filter processes, get a tree view, and more. + +#### How to install btop++? + +Using the official repositories, you can easily install it on Fedora, OpenSUSE, and FreeBSD. + +For Fedora, you can type in: + +``` +sudo dnf install btop +``` + +You can explore its [GitHub page][8] for options to install on other Linux distributions. + +### 4. Glances + +![glances 2022][9] + +Glances is similar to htop, but with more features. + +It is a cross-platform system monitoring utility that can export data as CSV or other formats for InfluxDB, Elasticsearch, and more. + +You can also utilize its web user interface to check the stats remotely or without access to the terminal. + +#### How to Install Glances? + +For Ubuntu-based distros, you can type in: + +``` +sudo apt install glances +``` + +### 5. nmon + +![nmon 2022 1][10] + +[nmon][11] is an impressive monitoring utility that lets you control what you want to display as the output. + +You can extract the monitoring data (export it as CSV) and use it for further analysis. It is easy to toggle statistics and switch between different views. + +By default, it refreshes the data every two seconds, but you can customize it and access more options to tweak your experience. + +#### How to install nmon? + +You can find it in the official repositories. For Ubuntu-based distros, type in the following in the terminal: + +``` +sudo apt install nmon +``` + +### Wrapping Up + +![top 2022][12] + +The top command utility comes baked in with your Linux system. If you want a no-nonsense monitoring utility and want to keep an eye on system processes and some stats, top is sufficient. + +Not sure if I can count it as an enhanced experience over htop and that’s the reason why top is not included in the main list. + +As you can see here, some monitoring utilities may be fun and prove to be more insightful than htop. + +_What is your favorite htop replacement? Do you think htop is more than enough for your use-case? Feel free to let me know your thoughts in the comments down below._ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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/11/htop-2022.png +[2]: https://itsfoss.com/linux-system-monitoring-tools/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/atop-2022.png +[4]: https://www.atoptool.nl/index.php +[5]: https://itsfoss.com/wp-content/uploads/2022/11/vtop-2022.png +[6]: https://github.com/MrRio/vtop +[7]: https://itsfoss.com/wp-content/uploads/2022/11/btop.png +[8]: https://github.com/aristocratos/btop +[9]: https://itsfoss.com/wp-content/uploads/2022/11/glances-2022.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/nmon-2022-1.png +[11]: https://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage +[12]: https://itsfoss.com/wp-content/uploads/2022/11/top-2022.png From 194cb375e7f8fec47f8713a2fcf5494bc5452ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:55:55 +0800 Subject: [PATCH 518/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221121.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Le?= =?UTF-8?q?arn=20Git=203=20commands=20to=20level=20up=20your=20skill.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Learn Git 3 commands to level up your skill.md | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md diff --git a/sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md new file mode 100644 index 0000000000..80773e6f6f --- /dev/null +++ b/sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md @@ -0,0 +1,132 @@ +[#]: subject: "Learn Git: 3 commands to level up your skill" +[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Learn Git: 3 commands to level up your skill +====== + +When I talk to people about Git, almost everyone has a strong reaction to [the `git rebase` command][1]. This command has caused many people to change directory, remove the repository, and just re-clone to start over. I think this comes from misconceptions about how branching actually works, a pretty terrible default interface, and some merge conflicts mucking things up. + +### Git squash + +If you've ever made a lot of commits locally and wish there was a way to smash them all down into a single commit, you're in luck. Git calls this concept "squashing commits." I discovered the concept while working on documentation. It took me over a dozen commits to finally get a bit of markdown just right. The repo maintainer didn't want to see all my attempts cluttering up the project's history, so I was told to "just git squash your commits." + +Squashing sounded like a solid plan. There was just one issue. I didn't know how to do it. As someone new to Git, I did what anyone would do. I consulted the manual for `squash` and immediately hit a snag: + +``` +$ man git-squash> No manual entry for git-squash +``` + +It turns out I wasn't being told to run a Git command called `squash`, I was being asked to [run an entirely separate command][2] that would, in the end, combine all my commits into one. This is a common scenario: someone who has been using a tool for a while uses jargon or refers to a concept, which to them is absolutely clear, but isn't obvious to someone new to the tech. + +Conceptually it would look like this: + +![Image of 6 bowls of different colored spices, and an arrow pointing to the second image of all the spices blended into one bowl.][3] + +I'm laying it out this way to encourage you that you are definitely not the first or last person that would be confused by Git or someone talking about Git. It's OK to ask for clarification and for help finding the right documentation. What that docs maintainer actually meant was, "use Git rebase to squash the commits into one." + +### Git rebase + +The git rebase command removes a chain of commits away from its first parent and places it at the end of another chain of commits, combining both chains of commits into one long chain, instead of two parallel chains. I realize that's a dense statement. + +If you think back to how Git commits are chained together, you can see that any branch aside from your initial `main` branch has a parent commit that serves as the "base" of that chain. Rebasing is the act of making the last commit in another chain the new "base" commit for a specified branch. + +You might already be more familiar with Git merge. Take a look at how the [git-scm.com][4] site explains the difference: + +![Image of Git merge versus git rebase shown as numbered bubbles.][5] + +In this example merge, Git preserves the chain of commits shown in the image as C4, which has a parent of C2, when combining the changes in C3 to make a whole new commit, C5. The branch pointer for "experiment" still exists and still points at C4. + +The rebase in this example shows a similar situation of C4 first existing as a separate branch with a parent of C2. But then, instead of merging with the code of C3, it makes C3 the new parent of C4, resulting in a new commit called C4. Notably, the branch pointer "main" has not moved yet. To make Git move the pointer to the end of the chain, currently pointed at by "experiment", you also need to perform a merge. + +Rebase is not a replacement for merge. It's a tool for making cleaner histories to be used in conjunction with merge. + +#### Interactive rebase is your best friend! + +One of the scariest parts of performing a rebase from the command line is the horrifying interface. Running the command `git rebase ` either works or blows up. There's not a lot of feedback or way to ensure it is doing what you precisely want. Fortunately, the rebase command and many other Git commands have an interactive mode, which you can invoke with the parameter `-i' or`–interactive`. + +![Image of the Git lens interactive Rebase tool in VS Code.][6] + +When invoking interactive mode, rebase transforms from a terrifying black box into a menu of options that let you do several things to the chain of commits you are rebasing. For every commit, you can choose to: + +- Pick: Include it as is +- Reword: Rewrite the commit message +- Edit: Make further changes to the files in the commit before the rebase finishes +- Squash: Smash multiple commits into one commit, keeping all commit messages +- Fixup: Smash multiple commits into one commit, but just keep the last commit message +- Drop: Discard this commit + +I personally like the way that the open source [GitLens extension for VS Code][7] lays out the options with dropdown picklists, but Git lets you assign these options using any editor. For text-only tools like Emacs or Vim, you need to type out the selection rather than pick from a menu, but the end result is still the same. + +#### When to rebase + +Knowing _when_ to rebase is as important as knowing _how_ to rebase. In truth, if you don't care about your repos histories being a bit messy, then you might never perform a rebase. But if you do want to make cleaner histories and have fewer commits cluttering up your graph view, then there is one clear rule of thumb to always keep in mind: + +> "Do not rebase commits that exist outside your repository and that people may have based work on." + +If you follow that guideline, you'll be fine. + +Simply put, if you make a local branch to do your work, feel free to rebase it all you want. But as soon as that branch is pushed, do not rebase it. It is really up to you. + +Hopefully you found this helpful in understanding how the git rebase command works and can use it with more confidence. As with any Git command, practice is the only real way to learn and understand what is going on. I encourage you to brave and experiment with interactive rebase! + +### Git cherry-pick + +Most developers have committed work only to realize they have been working on the wrong branch. Ideally, they could just pick up that one commit and move it over to the right branch. That is exactly what `git cherry-pick` does. + +Cherry-picking is the art of rebasing single commits. This was so common of a pattern that they gave it its own command. + +![Image of a woman picking a cherry from one tree and putting on another tree.][8] + +To perform a cherry pick, you simply tell Git the ID of the commit you want to move to "here", where HEAD is pointing: + +``` +$ git cherry-pick +``` + +Should something go wrong, it's straightforward to recover, thanks to the error messages that Git provides: + +``` +$ git cherry-pick -i 2bc01cd +Auto-merging README.md +CONFLICT (content): Merge conflict in README.md +error: could not apply 2bc01cd… added EOF lines +hint: After resolving the conflicts, mark them with +hint: "git add/rm ", then run +hint: "git cherry-pick --continue". +hint: You can instead skip this commit with "git cherry-pick --skip". +hint: To abort and get back to the state before "git cherry-pick", +hint: run "git cherry-pick --abort". +$ git cherry-pick --abort +``` + +### Git more power + +The `git rebase` command is a powerful part of the Git utility. It's probably best to practice using it with a test repo before you have to use it under stress, but once you're familiar with its concepts and workflow, you can help provide a clear history of a repository's development. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/advanced-git-commands + +作者:[Dwayne McDaniel][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/dwaynemcdaniel +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/4/git-rebase-i +[2]: https://opensource.com/article/22/4/manage-git-commits-rebase-i-command +[3]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.spices.png +[4]: http://git-scm.com +[5]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.gitmerger.png +[6]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.GitLens%20Interactive%20Rebase%20tool%20in%20VS%20Code.png +[7]: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens +[8]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.cherrypicking.png From e4e3432454f7695bda8a2cd2eaa60dc71c6f9ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:56:36 +0800 Subject: [PATCH 519/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221121.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=207?= =?UTF-8?q?=20Git=20tips=20for=20technical=20writers.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 ⭐️⭐️ 7 Git tips for technical writers.md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md diff --git a/sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md b/sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md new file mode 100644 index 0000000000..a71cbac625 --- /dev/null +++ b/sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md @@ -0,0 +1,131 @@ +[#]: subject: "7 Git tips for technical writers" +[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: author: "Maximilian Kolb https://opensource.com/users/kolb" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +7 Git tips for technical writers +====== + +As a technical writer working for [ATIX][1], my tasks include creating and maintaining documentation for [Foreman][2] at [github.com/theforeman/foreman-documentation][3]. Git helps me track versions of content, and to collaborate with the open source community. It's an integral part of storing the results of my work, sharing it, and discussing improvements. My main tools include my browser, OpenSSH to connect to Foreman instances, [Vim][4] to edit source files, and Git to version content. + +This article focuses on recurring challenges when taking the first steps with Git and contributing to Foreman documentation. This is meant for intermediate Git users. + +### Prerequisites + +- You have installed and configured Git on your system. You must at least set your user name and email address. +- You have an account on [github.com][5]. GitHub isn't an open source project itself, but it's the site where many open source Git repositories are stored (including Foreman's documentation.) +- You have forked the [foreman-documentation][3] repository into your own account or organization (for example, _github.com/__My_User_Account__/foreman-documentation_. For more information, see [A step-by-step guide to Git][6] by Kedar Vijay Kulkarni. +- You have added your SSH public key to GitHub. This is necessary to push your changes to GitHub. For more information, see [A short introduction to GitHub][7] by Nicole C. Baratta. + +### Contributing to Foreman documentation + +Foreman is an open source project and thrives on community contributions. The project welcomes everyone and there are only a few requirements to make meaningful contributions. Requirements and conventions are documented in the [README.md][8] and [CONTRIBUTING.md][9] files. + +Here are some of the most frequent tasks when working on Foreman documentation. + +### I want to start working on Foreman documentation + +- Clone the repository from github.com:`$ git clone git@github.com:theforeman/foreman-documentation.git +$ cd foreman-documentation/` +- Rename the remote:`$ git remote rename origin upstream` +- Optional: Ensure that your local master branch is tracking the master branch from the **foreman-documentation** repository from the **theforeman** organization:`$ git status`This automatically starts you on the latest commit of the default branch, which in this case is **master**. +- If you do not have a fork of the repository in your own account or organization already, create one.Go to [github.com/theforeman/foreman-documentation][3] and click **Fork**. +- Add your fork to your repository.`$ git remote add github git@github.com:_My_User_Account_/foreman-documentation.git`Your local repository now has two remotes: `upstream` and `github`. + +### I want to extend the Foreman documentation + +For simple changes such as fixing a spelling mistake, you can create a pull request (PR) directly. + +- Create a branch named, for example, `fix_spelling`. The `git switch` command changes the currently checked out branch, and `-c` creates the branch:`$ git switch -c fix_spelling` +- Make your change. +- Add your change and commit:`$ git add guides/common/modules/abc.adoc +$ git commit -m "Fix spelling of existing"`I cannot emphasise the importance of good Git commit messages enough. A commit message tells contributors what you have done, and because it's preserved along with the rest of the codebase, it serves as a historical footnote when someone's looking back through code to determine what's happened over its lifespan. For more information on great git commit messages, see [The seven rules of a great Git commit message][10] by cbeams. +- Optional but recommended: View and verify the diff to the default branch. The default branch for **foreman-documentation** is called `master`, but other projects may name theirs differently (for example, `main`, `dev`, or `devel`.)`$ git diff master` +- Push your branch to Github. This publishes your change to your copy of the codebase.`$ git push --set-upstream github fix_spelling` +- Click on the link provided by Git in your terminal to create a pull request (PR).`remote: Create a pull request for 'fix_spelling' on Github by visiting: +remote:      https://github.com/_My_User_Account_/foreman-documentation/pull/new/fix_spelling` +- Add an explanation on _why_ the community should accept your change. This isn't necessary for a trivial PR, such as fixing a spelling mistake, but for major changes it's important. + +### I want to rebase my branch to master. + +- Ensure your local master branch tracks the master branch from [github.com/theforeman/foreman-documentation][3], not **foreman-documentation** in your own namespace:`$ git switch master`This should read `Your branch is up to date with 'upstream/master'`, with `upstream` being the name of your remote repository pointing to `github.com/theforeman/foreman-documentation`. You can review your remotes by running `git remote -v`. +- Fetch possible changes from your remote. The `git fetch` command downloads the tracked branch from your remote, and the `--all` option updates all branches simultaneously. This is necessary when working with additional branches. The `--prune` option removes references to branches that no longer exist.`$ git fetch --all --prune` +- Pull possible changes from `upstream/master` into your local `master` branch. The `git pull` command copies commits from the branch you're tracking into your current branch. This is used to "update" your local `master` branch to the latest state of the `master` branch in your remote (Github, in this case.)`$ git pull` +- Rebase your branch to "master".`$ git switch my_branch +$ git rebase -i master` + +### I have accidentally committed to master + +- Create a branch to save your work:`$ git switch -c my_feature` +- Switch back to the `master` branch:`$ git switch master` +- Drop the last commit on `master`:`$ git reset --soft HEAD~1` +- Switch back to `my_feature` branch and continue working:`$ git switch my_feature` + +### I want to reword my commit message + +- If you only have one commit on your branch, use `git amend` to change your last commit:`$ git commit --amend`This assumes that you don't have any other files added to your staging area (that is, you did not run `git add My_File` without also committing it.) +- Push your "change" to Github, using the `--force` option because the Git commit message is part of your existing commit, so you're changing the history on your branch.`$ git push --force` + +### I want to restructure multiple changes on a single branch + +- Use **e** to make actual changes to your commit. This interrupts your rebase! +- Use **f** to combine a commit with its parent. +- Use **d** to completely remove the commit from your branch. +- Move the lines to change the order of your changes.After successfully rebasing, your own commits are on top of the last commit from `master`. + +- Optional but strongly recommended: Fetch changes from Github.`$ git switch master +$ git fetch +$ git pull`This ensures that you directly incorporate any other changes into your branch in the order they've been merged to `master`. +- To restructure your work, rebase your branch and make changes as necessary. Rebasing to `master` means changing the parent commit of your first commit on your branch:`$ git rebase --interactive master`Replace the first word `pick` to modify the commit. + +### I want to copy a commit from another branch + +- Get the commit ID from a stable branch (for example, a branch named `3.3`), using the `-n` option to limit the number of commits.`$ git log -n 5 3.3` +- Replicate changes by cherry-picking commits to your branch. The `-x` option adds the commit ID to your commit message. This is only recommended when cherry-picking commits from a stable branch.`$ git switch My_Branch +$ git cherry-pick -x Commit_ID` + +### More tips + +At ATIX, we run a [GitLab][11] instance to share code, collaborate, and automate tests and builds internally. With the open source community surrounding the Foreman ecosystem, we rely on Github. + +I recommend that you always point the remote named `origin` in any Git repository to your _internal_ version control system. This prevents leaking information to external services when doing a `git push` based on pure muscle memory. + +Additionally, I recommend using a fixed naming scheme for remotes. I always name the remote pointing to my own GitLab instance `origin`, the open source project `upstream`, and my fork on Github `github`. + +For `foreman-documentation`, the repository has a relatively flat history. When working with a more complex structure, I tend to think of Git repositories in a very visual way with nodes (commits) pointing to nodes on lines (branches) that potentially intertwine. Graphical tools such as `gitk` or [Git Cola][12] can help visualize your Git history. Once you have fully grasped how Git works, you can move on to aliases, if you prefer the command line. + +Before a big rebase with a lot of expected merge conflicts, I recommend creating a "backup" branch that you can quickly view diffs against. Note that it's pretty hard to irreversibly delete commits, so play around in your local Git repository before making big changes. + +### Git for tech writers + +Git is a tremendous help for technical writers. Not only can you use Git to version your own content, but you can actively collaborate with others. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/advanced-git-commands + +作者:[Maximilian Kolb][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/kolb +[b]: https://github.com/lkxed +[1]: https://atix.de/en/ +[2]: https://opensource.com/article/17/8/system-management-foreman +[3]: https://github.com/theforeman/foreman-documentation +[4]: https://opensource.com/resources/what-vim +[5]: https://github.com/ +[6]: https://opensource.com/article/18/1/step-step-guide-git +[7]: https://opensource.com/life/15/11/short-introduction-github +[8]: https://github.com/theforeman/foreman-documentation/blob/master/guides/README.md#contribution-guidelines +[9]: https://github.com/theforeman/foreman-documentation/blob/master/CONTRIBUTING.md#contributing-to-foreman-documentation +[10]: https://cbea.ms/git-commit/#seven-rules +[11]: https://about.gitlab.com/ +[12]: https://opensource.com/article/20/3/git-cola From 979d22795df97281d211a7f6f2b1074824963835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:57:37 +0800 Subject: [PATCH 520/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221121.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Setup=20Python=20Development=20Environment=20in=20Ubun?= =?UTF-8?q?tu=20and=20Fedora.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...on Development Environment in Ubuntu and Fedora.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/tech/20221121.0 ⭐️⭐️ How to Setup Python Development Environment in Ubuntu and Fedora.md diff --git a/sources/tech/20221121.0 ⭐️⭐️ How to Setup Python Development Environment in Ubuntu and Fedora.md b/sources/tech/20221121.0 ⭐️⭐️ How to Setup Python Development Environment in Ubuntu and Fedora.md new file mode 100644 index 0000000000..f7e578e4c6 --- /dev/null +++ b/sources/tech/20221121.0 ⭐️⭐️ How to Setup Python Development Environment in Ubuntu and Fedora.md @@ -0,0 +1,142 @@ +[#]: subject: "How to Setup Python Development Environment in Ubuntu and Fedora" +[#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Setup Python Development Environment in Ubuntu and Fedora +====== + +**This article helps you with the basics and steps to setup your Python development environment in Ubuntu and Fedora.** + +[Python][1] became popular in the last couple of years due to its powerful libraries, easy syntax, and portability. It is being used currently almost every system across businesses. + +So, if you are trying to set up your Python box and wondering how to begin etc., then you are at the right place. Here, I tried to give you some steps to get started. + +### Setup Python Development Environment in Ubuntu and Fedora + +#### Python Versions + +If you are starting up Python development fresh, then it is recommended that you use the latest Python 3.x for your development, as Python 2.x is already out of support. Almost all the leading Linux distributions removed the dependency on Python 2. + +If you are running the latest distributions as of today for Fedora or Ubuntu, then you should have Python 3.x already installed and set as the default interpreter. For example, Fedora 37 and Ubuntu 22.04 LTS, which are currently available, have [Python 3.11][2] as the default Python shell. + +A quick way to find out what Python version you have is by running the below command from a terminal in both Ubuntu and Fedora. + +``` +python2 +``` + +``` +python3 +``` + +![python3][3] + +If you are running earlier versions of Ubuntu or Fedora, then you can install the latest Python 3.x using the below commands: + +**Ubuntu** + +``` +sudo apt install python3 +``` + +**Fedora** + +``` +sudo dnf install python3 +``` + +Also, run the below command to find out the path of your Python executable in the current system: + +``` +which python +``` + +#### Switching Versions as the default interpreter + +If your system has multiple Python versions installed – 2.x and 3.x and you want to switch between them, it is possible.  + +_If you have only one version installed, you can skip this section._ + +To switch, first, run python from the terminal to find out the default executable path. Ideally, it should be `/usr/bin/python`. Now, run below to find out the symbolic link to the executable. + +``` +ln -l /usr/bin/python +``` + +``` +lrwxrwxrwx 1 root root .... /usr/bin/pyhton -> python2 +``` + +Now check out the `$PATH` variable to determine the order of path concatenation which the system looks up for executables. + +``` +echo $PATH +``` + +![PATH-Variable][4] + +As you can see `/usr/local/bin`is preceding the `/usr/bin/` then you can create a soft symbolic link to `python3`. Then your interpreter should pick up the latest Python 3 instead of Python 2 while running the python command.  + +``` +ls -s /usr/bin/python3 /usr/local/bin/python +``` + +Now you should logout and log in again to clear any hash entries, or you can run `hash -r` to clear them out. + +Now you can run python from the terminal, and you should have the latest Python 3 picked up. + +#### Python IDE + +An integrated development environment (IDE) helps you write and compile and execute your code. There are [several free Python IDE available][5] – such as PyCharm, Eclipse, Eric, etc., which you can use. That would be another write-up on their pros and cons.  + +If you download Python from the official [python.org][1] website, Python accompanies a default development environment called IDLE. IDLE is good for starting up your system, and later you can decide to pick any of the best free Python IDE available. + +IDLE is not included in Ubuntu and Fedora along with python as default, you have to install it manually. Run the below commands from the terminal to manually install IDLE. + +**Ubuntu** + +``` +sudo apt install idle +``` + +**Fedora** + +``` +sudo dnf install python-tools +``` + +Once installed, you can launch IDLE from the command line idle or search from the application. + +![IDLE-environment`][6] + +Now, you can use IDLE to start your development. Most of the basic options you can find in the File menu of IDLE. + +I hope this guide explains what you should know before starting your Python development. Although this guide is primarily targeted to Ubuntu and Fedora, you can still follow the instructions for all Ubuntu and Fedora-based distributions as well. If you are facing problems with the Python environment setup, let me know in the comment section below.  + +[Next:Learn Bash base64 Encode and Decode With Examples][7] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ + +作者:[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.python.org/ +[2]: https://www.debugpoint.com/install-python-3-11-ubuntu/ +[3]: https://www.debugpoint.com/wp-content/uploads/2020/06/python3.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2020/06/PATH-Variable.png +[5]: https://www.debugpoint.com/5-best-python-ide-code-editor/ +[6]: https://www.debugpoint.com/wp-content/uploads/2020/06/IDLE-environment.png +[7]: https://www.debugpoint.com/bash-base64-encode-decode/ From 1091ec0f3df5e5fa1189488b1f58a541ac9d20e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 26 Nov 2022 23:59:11 +0800 Subject: [PATCH 521/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221126.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Po?= =?UTF-8?q?p=20OS=20Review=20Reasons=20why=20its=20an=20all-rounder=20Linu?= =?UTF-8?q?x=20distro.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iew Reasons why its an all-rounder Linux distro.md | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md diff --git a/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md b/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md new file mode 100644 index 0000000000..a73ad75ed5 --- /dev/null +++ b/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md @@ -0,0 +1,158 @@ +[#]: subject: "Pop OS Review: Reasons why its an all-rounder Linux distro" +[#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Pop OS Review: Reasons why its an all-rounder Linux distro +====== + +**Few reasons why System76’s Pop OS is the best all-rounder Ubuntu-based Linux distribution.** + +Pop!_OS is a Ubuntu Linux-based derivative developed and created by American computer manufacturer System76 for their lines of hardware devices. System76 sells high-end servers, desktops, laptops and other peripherals. And all of their runs on the Ubuntu variant Pop!_OS. + +Since its inception, the Pop!_OS team has had a different vision of the customized Ubuntu and the default desktop GNOME. + +![][1] + +![Pop OS 22.04 LTS Desktop][2] + +### Pop OS review + +#### Well configured GNOME + +Although, for the past few releases, there have been massive core design changes in the GNOME desktop to modernize itself, moving away from the GNOME 3.38 days. The recently released [GNOME 43][3] is a testament to that. Key changes include completing the GTK4 and libadwaita port, improving mutter changes and creating a newly designed user interface in [quick settings][4] and Files. + +But System76 still features a **customized version of GNOME** today to cater to their commercial needs and make it look more “professional”. And productive, too, while being a well-looking GNOME. + +A few vital built-in features of GNOME which I want to highlight here. + +The super-useful **Auto Tiling** in GNOME desktop work by default. Those who experienced tiling can never go back to non-tiling mode. It helps to efficiently organize your work with open windows and eventually saves time. The Pop!_OS auto-tiling takes care of it by default. + +Again, too much tiling of windows may create problems with smaller screens. To counter that, Pop!_OS also brings auto **stacking of window** features. It makes your windows remain on top of one another, and you can easily stack or unstack them with simple keyboard shortcuts. + +Talking about **Keyboard shortcuts**, the GNOME desktop in Pop!_OS is well coupled with keyboard shortcuts to move, resize windows, quickly search and launch applications. + +![Pop OS Tiling and other options for windows][5] + +#### Productivity Built-in + +![Workspace and Dock - is simple yet powerful][6] + +The **workspace** and the switcher are easy to use with a vertical menu. That gives you easy access whenever you want to look at your open workspaces and applications. The primary dock is well settled at the bottom with usable default shortcuts. + +The settings give you several customization options to change the dock’s behaviour and appearance. Built-in options include **“no dock”, “extended dock up to edges”, and “compact dock”**. All these options are available without needing to install any GNOME extension. + +The **global launcher** in Pop!_OS is a [KDE’s Krunner type search][7]. It can be kicked off with a super key at any time in your workflow. You can search for any app and launch it directly without visiting the application menu. + +![Pop OS Launcher][8] + +#### Perfect for Engineering Work + +The most important of any productive work system is how easy for you to install and remove applications. And not to mention the discovery of apps. + +Pop!_OS features its native app, **Pop!_Shop**, for software management. It is very nicely organized, with categories for all of your needs. + +Furthermore, Flatpak is installed, and **Flathub is added by default**. Basically, you don’t need a “things to do” guide for Pop!_OS. + +For core **engineering, machine learning, data science and AI** – Pop!_Shop has a separate section for discovery and installing software. With just one click, you can set up your engineering environment – without worrying about dependencies and other errors in Linux. + +The same applies to other engineering and science streams, such as Biotech, mobile app development, math modelling and media production. + +Pop!_OS get out of your way and enables your system in no time. + +In addition, thousands of Linux software are compatible with Pop!_OS since it supports deb files, Snap, Flatpak and AppImages. + +![Pop Shop categories][9] + +#### Tweaked to System76 Hardware + Dedicated NVIDIA Support + +It’s 2022, and we all have difficulties getting proper NVIDIA GPU support in Linux because NVIDIA is being NVIDIA. Pop!_OS features a separate installation ISO file, which includes a **proprietary NVIDIA driver** pre-packed so that you can be assured that things should work out of the box. No more following tutorials and running commands to install NVIDIA drivers. + +Furthermore, if you use **high-resolution laptops** or monitors, Pop!_OS has the best support via its settings. + +#### Gaming Ready and Hardware + +Pop!_OS is famous for default gaming support in Linux. Its Pop!_Shop allows you to install **Steam, game hub and Lutris** with just a click of a button. And your system is ready for gaming without worrying about dependencies and other problems. If you are using System76’s own hardware with NVIDIA GPU, you enjoy the full Linux gaming experience. + +For other high-end gaming laptops or desktops, I think Pop!_OS is the best Ubuntu-based Linux distro for gaming today, considering how easy to install and play. No doubt about it. + +#### Security and Privacy Aspects + +Pop!_OS supports **full disk encryption** via the installer. While installing Pop!_OS, it gives you the option to encrypt the entire disk! And you can enable a password to boot into Pop!_OS. + +It’s the only Linux distribution which allows full-disk encryption by default. Pop!_OS does not collect much of your usage data besides simple hardware and OS information. The firmware update is automatic via settings for System76 hardware. + +![Full-disk encryption in Pop OS - during installation][10] + +#### Roadmap and System76 Vision + +Being a distribution backed by a commercial entity has its advantage. For example, you get timely security, software and firmware updates. Although System76 steers Pop!_OS’s direction of its own needs, end users can use it for their own use and work. + +For example, two crucial decisions that System76 took related to Pop!_OS. First, it’s developing a **new Rust-based Linux desktop** environment ground up. The reason is to move away from GNOME desktops and probably to adopt a more modern programming framework for Linux desktops. + +Second, the Pop!_OS release schedule changed after its current release, [Pop!_OS 22.04 LTS][11]. Usually, it follows Ubuntu’s release cycle – twice a year. But from the release of Ubuntu 22.10 onwards, Pop!_OS breaking away from it and will release its own version with all the upstream changes. + +> [Oh No! There Won’t Be A Pop OS 22.10 Release][12] + +The timings of the new release are unknown. But my optimistic guess would be one Pop!_OS release yearly. Although the direction is changing, it matters significantly less for the more extensive user base who want their workstation to work out of the box with a stable Linux distro. + +### Summary + +To summarise, why Pop!_OS might be the most stable & usable Ubuntu-based distro today: + +- Auto Tiling and Auto Stacking by default +- Super useful Keyboard shortcuts +- Not too fancy, but productive GNOME workspace application menu. dock and tray +- Curated Pop Shop to easily install applications for your basic and advanced needs. +- NVIDIA support included in ISO file +- Gaming ready via Pop Shop +- Default support of Flatpak with Flathub and other app formats +- Automatic firmware updates +- Full disk encryption +- Well-defined future roadmap + +### Closing Notes + +I hope this Pop OS review gives you some perspective about this distro and its easy use for the average user base. In addition, it can be well placed as a [beginner Ubuntu-based Linux distro][13]. + +With all the friendship events between Ubuntu and Microsoft and its direction, we don’t know what may happen in a few years. With that in mind, if you or anyone ever gets too overwhelmed with which Linux to try, then try Pop!_OS. It should work out of the box. + +You can download Pop!_OS from the [official website][14]. + +[More Pop OS coverage][15] (all recent articles) + +[Next:How to use journalctl to View and Analyze Systemd Logs [With Examples]][16] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ + +作者:[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/11/popreview.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/04/Pop-OS-22.04-LTS-Desktop.jpg +[3]: https://www.debugpoint.com/gnome-43/ +[4]: https://www.debugpoint.com/gnome-43-quick-settings/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Pop-OS-Tiling-and-other-options-for-windows.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/Workspace-and-Dock-is-simple-yet-powerful.jpg +[7]: https://www.debugpoint.com/top-10-kde-plasma-tips-2021/ +[8]: https://www.debugpoint.com/wp-content/uploads/2021/06/Pop-OS-Launcher.png +[9]: https://www.debugpoint.com/wp-content/uploads/2022/11/Pop-Shop-categories.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/11/Full-disk-encryption-in-Pop-OS-during-installation.jpg +[11]: https://www.debugpoint.com/pop-os-22-04-lts/ +[12]: https://debugpointnews.com/no-pop-os-22-10/ +[13]: https://www.debugpoint.com/linux-distro-beginners/ +[14]: https://pop.system76.com/ +[15]: https://www.debugpoint.com/tag/pop-os +[16]: https://www.debugpoint.com/systemd-journalctl/ From 3409ff8af0e9dcbf213b65a86a95d5e4319b0374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 00:01:53 +0800 Subject: [PATCH 522/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221122.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20ma?= =?UTF-8?q?cOS=20Alternative=20helloSystem=20(0.7.0)=20is=20moving=20towar?= =?UTF-8?q?ds=20stability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...helloSystem (0.7.0) is moving towards stability.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md diff --git a/sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md new file mode 100644 index 0000000000..8b13e9ad3c --- /dev/null +++ b/sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md @@ -0,0 +1,85 @@ +[#]: subject: "macOS Alternative helloSystem (0.7.0) is moving towards stability" +[#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +macOS Alternative helloSystem (0.7.0) is moving towards stability +====== + +**With the release of helloSystem 0.7.0 and more internal work, helloSystem is moving towards stability for an “open” alternative to macOS.** + +The helloSystem is a FreeBSD-based lightweight operating system aiming for an “open” alternative to macOS. The primary objective of helloSystem is to provide an easy-to-install and use FreeBSD alternative with a truly “open” system. In addition, the team also aims for macOS switchers who can feel comfortable with a similar desktop without a lockdown system or the complexity of a Linux distribution. + +Making such an operating system takes time, considering the hardware support in the BSD system. The team is working on creating a desktop – “hellodesktop” from the ground up. Written in C++, the hellodesktop and other improvements are coming along nicely. + +![helloSystem 0.7.0 Desktop][1] + +### helloSystem 0.7.0 + +At the end of 2021, the team released the last stable version, [helloSystem 0.7.0][2], based on FreeBSD 13.0 and is currently porting the system to FreeBSD 13.1 and 14 versions. + +Along with that, a bunch of new features that work now in this system; here’s a summary: + +- Powered by FreeBSD 13.0 +- Refinements in the LIVE medium with updated boot time and compressed UFS filesystem +- Reduced ISO image size to 800 MB to fit into a CD +- Compatible with Ventoy USB creator +- NVIDIA GPU support, including older models +- exFAT support is added while installing in the target partition +- KDE’s Falkon browser is added, with additional menu items to download and install Chromium and Firefox +- System alert sounds +- Brightness and sound control support via Laptop keyboard dedicated keys + +![Menu and apps in helloSystem 0.7.0][3] + +In addition to the above, a new section is added in helloSystem 0.7.0 to give you an early look at the features which the team is currently working on. Some of the coolest features arriving in future releases include: + +- Debian runtime install utility to run Linux applications inside BSD! +- A separate app for downloading applications. +- New update utility + +Furthermore, a bunch of bug fixes and translation updates landed in 0.7.0. + +![Installing Linux Runtime is under development][4] + +That being said, it still needs significant time to become an easy-to-use BSD variant and an “open” alternative to macOS. Since I [reported first][5], huge updates have already been made within a year across the graphical installer, desktop apps, and bug fixes. I hope it will become more mainstream in 2023 with FreeBSD 14 port. + +### Download + +If you want to try it in real hardware, make sure to take backups and try. Also, helloSystem is now fully compatible with virtual machines such as [VirtualBox][6]. You can give it a try. If you are trying in VirtualBox, make sure to change the CPU to 64-bit. + +Official download of the versions (including helloSystem 0.7.0 stable) is available on [this page][7], or you can grab the ISO using the below link. + +[Download helloSystem 0.7.0][8] + +If you want to contribute to testing, development or any capacity, [visit the GitHub page for details][9]. + +[Next:Boost Your Productivity with Folder Color App in Ubuntu][10] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ + +作者:[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/11/helloSystem-0.7.0-Desktop.jpg +[2]: https://github.com/helloSystem/ISO/releases/tag/r0.7.0 +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Menu-and-apps-in-helloSystem-0.7.0.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Installing-Linux-Runtime-is-under-development.jpg +[5]: https://www.debugpoint.com/tag/hellosystem +[6]: https://www.debugpoint.com/tag/virtualbox +[7]: https://github.com/helloSystem/ISO/releases +[8]: https://github.com/helloSystem/ISO/releases/download/r0.7.0/hello-0.7.0_0G160-FreeBSD-13.0-amd64.iso +[9]: https://github.com/helloSystem +[10]: https://www.debugpoint.com/folder-colors-in-mate-and-ubuntu/ From 411503857f82d6cd1e849cba04af3b982b835179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 00:02:16 +0800 Subject: [PATCH 523/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221123.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20ap?= =?UTF-8?q?t=20remove=20vs=20apt=20purge=20What=E2=80=99s=20the=20Differen?= =?UTF-8?q?ce.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... apt remove vs apt purge What’s the Difference.md | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md diff --git a/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md new file mode 100644 index 0000000000..d31fadca1d --- /dev/null +++ b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md @@ -0,0 +1,121 @@ +[#]: subject: "apt remove vs apt purge: What’s the Difference?" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +apt remove vs apt purge: What’s the Difference? +====== + +To [uninstall an application in the Ubuntu terminal][1], you can use: + +``` +sudo apt remove package_name +``` + +But in various forums, you may come across the suggestion to use the apt purge command for removing applications completely. + +This leaves you confused because using apt purge is quite similar to apt remove: + +``` +sudo apt purge package_name +``` + +So, why are there two similar commands for removing packages? What’s the difference between the two? Let me explain it to you with a few examples. + +### What’s the difference between apt-remove and apt-purge? + +Both apt-remove and apt-purge do the same thing and that is to uninstall a package. The apt-purge removes the package and purges any configuration files associated with it. That’s the only difference between the two. Neither command touches the application files under the home directory of the user. + +Have you ever removed an application and installed it again, only to notice that all your settings are in place? It’s because the apt remove command doesn’t remove the configuration files. + +#### See what’s being removed and what remains + +Let me share a practical example of removing the mplayer application using both apt remove and apt purge commands. The focus is on seeing what files remain after each operation. + +Here are the files associated with mplayer before removal. + +![mplayer before removal][2] + +Now, if I run the apt remove command. + +![apt uninstall package ubuntu][3] + +Here are the files that remain in the system: + +![files after mplayer removal][4] + +As you can see, there are mplayer files remaining in two locations: /etc and /home/abhishek. + +Now, if I install mplayer again and use apt purge to remove mplayer application this time. + +![apt purge command][5] + +Let’s look for files associated mplayer now. + +![files after mplayer removal][6] + +As you can see, the files from /etc directory no longer exists. + +But what about the files in the home directory? Should apt purge not remove it? + +The answer is negative. The apt commands do not touch the configuration files located under the home directory. They remain in the system unless you manually remove them. Those files are really small in size and hardly take disk space. + +Do note that not all applications create configuration files under /etc or home directory. + +#### The effect of using apt remove or apt purge + +A practical example I can think of is Discord. You [install Discord on Ubuntu][7] with deb file. Start using it by logging into your account. Remove discord and install it again using deb file. + +Now if you start Discord, you’ll notice that you are already logged into your account. Surprising, no? + +But this is a feature because some applications like Discord, VirtualBox provide you updates similarly. You remove the current version and install the newer one (even if you don’t see this process). Since the application configuration files are not touched, you are logged back in without additional effort. + +The apt remove command gives you the option to reuse an application with similar configuration that you used in the past. + +However, you may not always want it. If you configured an application in a bad way and want to start from scratch, the apt purge command is the way to go forward. + +#### Does apt purge perform a wild-card removal? + +When you purge a package, you’ll notice that it mentions removing package-name*. This indicates that it will remove all the packages with names starting from package-name. + +![apt purge wild card][8] + +I didn’t find a definite answer on this point in the documentation (i.e. man page). So, I did a little test on my own. I installed espeak and espeak-ng packages. The espeak* should expand to espeak-ng as well. + +But when espeak was pruged, the espeak-ng package was untouched. So there seems to be a mechanism that protects against such wild card expansions. + +### So, should you use apt remove or apt purge? + +Few people just get addicted to using apt purge. + +In my opinion, apt remove is what you should use most of the time. Use apt purge when you have to get rid of the custom configuration files. + +In both cases, you’ll have to remove the remaining configuration files from the user’s home directory and run apt autoremove to eliminate any leftover dependencies. + +Over to you now. Do you understand the difference between apt remove and apt purge better now? Which one do you prefer to use? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/apt-remove/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/mplayer-before-removal.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/apt-uninstall-package-ubuntu.png +[4]: https://itsfoss.com/wp-content/uploads/2022/11/files-after-mplayer-removal.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/apt-purge-command.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/files-after-apt-purge.png +[7]: https://itsfoss.com/install-discord-linux/ +[8]: https://itsfoss.com/wp-content/uploads/2022/11/apt-purge-wild-card.png From 8d227f1da1663ee7f4fb61b2fab0175db1931a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 00:02:56 +0800 Subject: [PATCH 524/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221122.0=20=E2=AD=90=EF=B8=8F=20Find=20bugs=20with?= =?UTF-8?q?=20the=20git=20bisect=20command.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Find bugs with the git bisect command.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md diff --git a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md new file mode 100644 index 0000000000..d47ef7e576 --- /dev/null +++ b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md @@ -0,0 +1,75 @@ +[#]: subject: "Find bugs with the git bisect command" +[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Find bugs with the git bisect command +====== + +Have you ever found a bug in code and needed to know when it was first introduced? Chances are, whoever committed the bug didn't declare it in their Git commit message. In some cases, it might have been present for weeks, months, or even years, meaning you would need to search through hundreds or thousands of commits to find when the problem was introduced. This is the problem that `git bisect` was built to solve! + +The `git bisect` command is a powerful tool that quickly checks out a commit halfway between a known good state and a known bad state and then asks you to identify the commit as either good or bad. Then it repeats until you find the exact commit where the code in question was first introduced. + +![Image of Zeno's paradox of Achilles.][1] + +This "mathmagical" tool works by leveraging the power of halving. No matter how many steps you need to get through, by looking at the halfway point and deciding if it is the new top or bottom of the list of commits, you can find any desired commit in a handful of steps. Even if you have 10,000 commits to hunt through, it only takes a maximum of 13 steps to find the first offending commit. + +- commit 1 bad <> commit 10,000 good => commit 5,000 is bad +- commit 5,000 bad <> commit 10,000 good => commit 7,500 is good +- commit 5,000 bad <> commit 7,500 good => commit 6,250 is good +- commit 5,000 bad <> commit 6,250 good => commit 5,625 is bad +- commit 5,625 bad <> commit 6,250 good => commit 5,938 is bad +- commit 5,938 bad <> commit 6,250 good => commit 6,094 is good +- commit 5,938 bad <> commit 6,094 good => commit 6,016 is bad +- commit 6,016 bad <> commit 6,094 good => commit 6,055 is good +- commit 6,016 bad <> commit 6,055 good => commit 6,036 is bad +- commit 6036 bad <> commit 6055 good => commit 6046 is bad +- commit 6,046 bad <> commit 6,055 good => commit 6,050 is bad +- commit 6,050 bad <> commit 6,055 good => commit 6,053 is good +- commit 6,053 bad <> commit 6,055 good => commit 6,054 is good + +So, the first bad commit of the 10,000 is commit number 6,053. With `git bisect`, this would take a couple of minutes at maximum. I can't even imagine how long this would take to investigate crawling through each commit one at a time. + +### Using Git bisect + +Using the `git bisect`command is very straightforward: + +``` +$ git bisect start +$ git bisect bad        # Git assumes you mean HEAD by default +$ git bisect good # specify a tag or commit ID for +``` + +Git checks out the commit in the middle and waits for you to declare either: + +``` +$ git bisect good## or +$ git bisect bad +``` + +Then the bisect tool repeats checking out the commit halfway between good and bad commits until you tell it: + +``` +$ git bisect reset +``` + +Advanced users can even write scripts that determine good and bad states as well as any remediation actions to take upon finding the specific commit. You might not use the `git bisect` command every day of your life, but when you need it, it is a lifesaver. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/advanced-git-commands + +作者:[Dwayne McDaniel][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/dwaynemcdaniel +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-11/beyondgit.paradox.png From 7e208b5b85f101a0e3ed361e708e7a89f1cbad35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 09:42:33 +0800 Subject: [PATCH 525/925] =?UTF-8?q?Rename=2020221122.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20macOS=20Alternative=20helloSystem?= =?UTF-8?q?=20(0.7.0)=20is=20moving=20towards=20stability.md=20to=20202211?= =?UTF-8?q?22.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20macOS=20Alternati?= =?UTF-8?q?ve=20helloSystem=20(0.7.0)=20is=20moving=20towards=20stability.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md => 20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md} (100%) diff --git a/sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/tech/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md similarity index 100% rename from sources/tech/20221122.0 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md rename to sources/tech/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md From 124d64dc23d4b35e44b53a57adf00145834995cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 09:45:01 +0800 Subject: [PATCH 526/925] =?UTF-8?q?Rename=2020221117.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Authenticator=20A=20Simple=20Open-Source=20App=20to?= =?UTF-8?q?=20Replace=20Authy=20on=20Linux.md=20to=2020221117.1=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Authenticator=20A=20Simple=20Open-Source?= =?UTF-8?q?=20App=20to=20Replace=20Authy=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Authenticator A Simple Open-Source App to Replace Authy on Linux.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md => 20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md} (100%) diff --git a/sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md similarity index 100% rename from sources/tech/20221117.0 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md rename to sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md From 784d04efb10d19b5280e7c91d4046e5a755645a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 09:46:17 +0800 Subject: [PATCH 527/925] =?UTF-8?q?Rename=2020221121.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=207=20Git=20tips=20for=20technical?= =?UTF-8?q?=20writers.md=20to=2020221121.1=20=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=207=20Git=20tips=20for=20technical=20writers.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...cal writers.md => 20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md => 20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md} (100%) diff --git a/sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md b/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md similarity index 100% rename from sources/tech/20221121.0 ⭐️⭐️ 7 Git tips for technical writers.md rename to sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md From 7bfea04f21f3b07d3a8cd392d969aaf656d74931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 09:46:47 +0800 Subject: [PATCH 528/925] =?UTF-8?q?Rename=2020221121.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Learn=20Git=203=20commands=20to?= =?UTF-8?q?=20level=20up=20your=20skill.md=20to=2020221121.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Learn=20Git=203=20commands=20to?= =?UTF-8?q?=20level=20up=20your=20skill.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....md => 20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md => 20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md} (100%) diff --git a/sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md similarity index 100% rename from sources/tech/20221121.0 ⭐️⭐️ Learn Git 3 commands to level up your skill.md rename to sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md From fb39f8f6d7e92123dd057ec834e1c1a84e4c1dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 09:47:09 +0800 Subject: [PATCH 529/925] =?UTF-8?q?Rename=2020221121.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=205=20htop=20Alternatives=20to=20En?= =?UTF-8?q?hance=20Your=20Linux=20System=20Monitoring=20Experience.md=20to?= =?UTF-8?q?=2020221121.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205=20htop?= =?UTF-8?q?=20Alternatives=20to=20Enhance=20Your=20Linux=20System=20Monito?= =?UTF-8?q?ring=20Experience.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md => 20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md} (100%) diff --git a/sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md similarity index 100% rename from sources/tech/20221121.0 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md rename to sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md From f2081dd44c0952edef05436659b0dbd8d74337c0 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sun, 27 Nov 2022 10:03:34 +0800 Subject: [PATCH 530/925] =?UTF-8?q?Rename=20sources/tech/20221122.1=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20macOS=20Alternative=20he?= =?UTF-8?q?lloSystem=20(0.7.0)=20is=20moving=20towards=20stability.md=20to?= =?UTF-8?q?=20sources/news/20221122.1=20=E2=AD=90=EF=B8=8F=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20macOS=20Alternative=20helloSystem=20(0.7.0)=20is=20?= =?UTF-8?q?moving=20towards=20stability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... macOS Alternative helloSystem (0.7.0) is moving towards stability.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/{tech => news}/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md (100%) diff --git a/sources/tech/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md similarity index 100% rename from sources/tech/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md rename to sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md From 024d3d592a24dbfb4ba83ab707345a0317cc56ea Mon Sep 17 00:00:00 2001 From: Cubik Date: Sat, 26 Nov 2022 21:12:55 -0500 Subject: [PATCH 531/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7][?= =?UTF-8?q?news]:=2020221122.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20ma?= =?UTF-8?q?cOS=20Alternative=20helloSystem=20(0.7.0)=20is=20moving=20towar?= =?UTF-8?q?ds=20stability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...cOS Alternative helloSystem (0.7.0) is moving towards stability.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md index 8b13e9ad3c..09a5237e82 100644 --- a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md +++ b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -66,7 +66,7 @@ via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From edddabcd632df973a18506ac921862cd896a9ee1 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 27 Nov 2022 10:42:12 +0800 Subject: [PATCH 532/925] RP @geekpi https://linux.cn/article-15293-1.html --- ... Elementary OS’s Pantheon Desktop in Arch Linux.md | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) rename {translated/tech => published}/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md (66%) diff --git a/translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/published/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md similarity index 66% rename from translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md rename to published/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md index ed4ecc1d09..809730e839 100644 --- a/translated/tech/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md +++ b/published/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md @@ -3,28 +3,30 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15293-1.html" -如何在 Arch Linux 中安装 Elementary OS 的 Pantheon 桌面 +如何在 Arch Linux 中安装 elementary OS 的 Pantheon 桌面 ====== -**Pantheon 是 Elementary OS 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Pantheon 桌面环境的步骤**。 +![][0] + +> Pantheon 是 elementary OS 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Pantheon 桌面环境的步骤。 Pantheon 是 elementary OS 使用的一个漂亮的桌面环境。它基于 GTK3(GTK4 移植正在进行中)和 Vala,是一个漂亮而干净的桌面,为你提供了一个精致的 Linux 桌面体验。 -该桌面主要由 elementary OS 使用。Elementary OS 提供了 Pantheon 桌面的修改版,它是基于 GNOME 软件基础的。 +该桌面主要由 elementary OS 使用。elementary OS 提供了 Pantheon 桌面的修改版,它是基于 GNOME 的。 -Elementary OS 是基于 Ubuntu LTS 版本。因此,在基于 ubuntu 的发行版中安装 Pantheon 桌面是超级容易的。这意味着如果你想在不安装 elementary OS 的情况下体验 Pantheon,在 Ubuntu 中这只需要一两个命令就可以安装。 +elementary OS 基于 Ubuntu LTS 版本。因此,在基于 Ubuntu 的发行版中安装 Pantheon 桌面是超级容易的。这意味着如果你想在不安装 elementary OS 的情况下体验 Pantheon,在 Ubuntu 中这只需要一两个命令就可以安装。 在 Fedora 中,你也可以使用组包进行安装。然而,一个以 Fedora 为基础,名为 [Ultramarine Linux][1] 的发行版默认提供了它。 -但是,在 Arch Linux 中安装 Pantheon 需要一些工作。它不是用简单的 pacman 命令就能直接完成的,而且不能开箱即用。需要一些配置,这可能会破坏你的系统。 +但是,在 Arch Linux 中安装 Pantheon 需要一些工作。它不是用简单的 `pacman` 命令就能直接完成的,而且不能开箱即用。需要一些配置,这可能会破坏你的系统。 这里我给你提供了在 Arch Linux 中安装 Pantheon 桌面的指南和步骤。 -**警告:**第一次可能不顺利,所以我建议你在物理系统上安装前先在虚拟机上进行。因为在 Arch 中安装 Pantheon 并不像在 Arch Linux 中安装 GNOME、Xfce 和 KDE Plasma 桌面那样流畅。它还需要一些额外的手动配置。 +**警告:** 第一次可能不顺利,所以我建议你在物理系统上安装前先在虚拟机上进行。因为在 Arch 中安装 Pantheon 并不像在 Arch Linux 中安装 GNOME、Xfce 和 KDE Plasma 桌面那样流畅。它还需要一些额外的手动配置。 下面是在 Arch Linux 中安装 Pantheon 桌面的步骤。 @@ -32,7 +34,7 @@ Elementary OS 是基于 Ubuntu LTS 版本。因此,在基于 ubuntu 的发行 #### 第 1 步:安装基础系统 -确保你按照[本指南的自动 archinstall 脚本][2]安装了 Arch Linux 基础系统。如果你已经在完成了 Arch 安装,你可以跳过这一步,按照下一步进行。 +确保你按照 [本指南的自动 archinstall 脚本][2] 安装了 Arch Linux 基础系统。如果你已经在完成了 Arch 安装,你可以跳过这一步,按照下一步进行。 #### 第 2 步:更新你的系统 @@ -44,8 +46,7 @@ pacman -Syu #### 第 3 步:安装 yay AUR 助手 -Many packages that are required for Pantheon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][3]. -Pantheon 所需的许多包在 Arch 官方仓库中不可用。它们存在于 Arch 用户仓库 (AUR) 中。因此你您需要安装 yay 以获得额外的软件包。按照[本指南安装 yay AUR 助手][3]。 +Pantheon 所需的许多包在 Arch 官方仓库中不可用。它们存在于 Arch 用户仓库(AUR)中。因此你需要安装 `yay` 以获得额外的软件包。按照 [本指南安装 yay AUR 助手][3]。 #### 第 4 步:在 Arch Linux 中安装 Pantheon 桌面 @@ -66,7 +67,7 @@ Pantheon 所需的许多包在 Arch 官方仓库中不可用。它们存在于 A pacman -S --needed pantheon lightdm-pantheon-greeter sound-theme-elementary switchboard lightdm-gtk-greeter elementary-icon-theme elementary-wallpapers pantheon-applications-menu wingpanel-indicator-session wingpanel-indicator-datetime inter-font firefox ``` -从用户仓库安装以下包。这些是 Arch 官方仓库中不可用的一些附加包。这些可能需要一些时间来安装。 +从 Arch 用户仓库安装以下包。这些是 Arch 官方仓库中不可用的一些附加包。这些可能需要一些时间来安装。 - pantheon-session-git - gnome-settings-daemon-elementary @@ -95,15 +96,17 @@ ls -1 /usr/share/xgreeters ![greeters 列表][5] -打开 lightdm 配置文件并将 greeter-session 更改为 io.elementary.greeter。 +打开 lightdm 配置文件并将 `greeter-session` 更改为 `io.elementary.greeter`。 ``` sudo nano /etc/lightdm/lightdm.conf +``` +``` greeter-session=io.elementary.greeter ``` -保存并关闭文件(CTRL+O、回车 和 CTRL+X)。 +保存并关闭文件(`CTRL+O`、`回车` 和 `CTRL+X`)。 ![lightdm 配置][6] @@ -127,17 +130,17 @@ systemctl reboot 当我第一次登录到我的测试系统时,很多东西都不起作用。以下是列表及其可能的解决方案。 -a) **壁纸**:壁纸模块似乎根本不起作用。因此,默认情况下没有壁纸。甚至“更改壁纸”选项也没有打开。如果遇到这种情况,请安装 `dconf` 编辑器并通过以下步骤更改壁纸。 +a、**壁纸**:壁纸模块似乎根本不起作用。因此,默认情况下没有壁纸。甚至“更改壁纸”选项也没有打开。如果遇到这种情况,请安装 `dconf` 编辑器并通过以下步骤更改壁纸。 ``` pacman -S --needed dconf-editor ``` -接着从菜单启动 dconf 编辑器。进入 `“org > gnome > desktop > background > picture-uri”`。关闭默认值并添加自定义值 `file:////usr/share/backgrounds/Ashim DSilva.jpg`。你也可以使用任何其他图像。保存并关闭。 +接着从菜单启动 dconf 编辑器。进入 `org > gnome > desktop > background > picture-uri`。关闭默认值并添加自定义值 `file:////usr/share/backgrounds/Ashim DSilva.jpg`。你也可以使用任何其他图像。保存并关闭。 ![使用 dconf-editor 更改背景属性][8] -b) **图标**:通过 `Settings > Tweaks` 更改图标。然后将图标和光标更改为 urutau-icons。 +b、**图标**:通过 “设置Settings > 优化Tweaks” 更改图标。然后将图标和光标更改为 `urutau-icons`。 在完成所有配置和安装之后,你应该已经在 Arch Linux 中设置了 Pantheon 桌面。这是我的测试机的截图。 @@ -149,7 +152,7 @@ b) **图标**:通过 `Settings > Tweaks` 更改图标。然后将图标和光 尽管一些小功能仍然无法使用,但有一个可用的 Pantheon 桌面。 -唯一让我惊喜的是 Pantheon 在 Arch 中的表现。在我的同一台测试机上,elementary OS 安装不是那么快。但 Pantheon 基础版在 Arch 中的速度比原始 elementary OS 快。不过,如果你喜欢 Pantheon,可以试试。 +唯一让我惊喜的是 Pantheon 在 Arch 中的表现。在我的同一台测试机上,elementary OS 安装不是那么快。但 Pantheon 基础版在 Arch 中的速度比原始 elementary OS 快。如果你喜欢 Pantheon,可以试试。 如果你遇到任何错误,请使用下面的评论栏告诉我。 @@ -159,8 +162,8 @@ via: https://www.debugpoint.com/pantheon-arch-linux-install/ 作者:[Arindam][a] 选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +译者:[ ](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -175,3 +178,4 @@ via: https://www.debugpoint.com/pantheon-arch-linux-install/ [7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Login-screen-Pantheon-in-Arch.jpg [8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Change-background-property-using-dconf-editor.jpg [9]: https://www.debugpoint.com/wp-content/uploads/2021/02/Pantheon-Desktop-in-Arch-Linux-1.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202211/27/104052h7iwfcw4larkio1i.jpg \ No newline at end of file From c4da98ad62393056b1ff9fe7f47db74cbac31ce6 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 27 Nov 2022 11:38:06 +0800 Subject: [PATCH 533/925] ALL @wxy https://linux.cn/article-15294-1.html --- ...Enhance Your Linux System Monitoring Experience.md | 160 ++++++++++++++++++ ...Enhance Your Linux System Monitoring Experience.md | 159 ----------------- 2 files changed, 160 insertions(+), 159 deletions(-) create mode 100644 published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md delete mode 100644 sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md diff --git a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md new file mode 100644 index 0000000000..8ad1c589a7 --- /dev/null +++ b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md @@ -0,0 +1,160 @@ +[#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15294-1.html" + +5 个 htop 替代:增强你的 Linux 系统监控体验 +====== + +![][0] + +`htop` 是一个流行的命令行工具,可以帮助监测 Linux 上的系统资源和性能。 + +**它比通常默认开箱即用的 top 好**。 + +使用 `htop`,你可以对进程进行过滤和排序,以便更好地了解情况,获得正在运行的进程的树状视图,并在需要时杀死进程。 + +![htp 2022][1] + +我使用 `htop` 而不是其他系统监控工具,因为它可以显示对我来说至关重要的东西,并允许在我需要控制运行中的服务时终止流氓进程或冻结进程。 + +但是,如果你想要其他显示更多信息,或一个看起来不同的东西,有哪些**htop 替代品**呢?让我们来看看。 + +### 1、atop + +![atop 2022][3] + +[atop][4] 可以提供所有运行的进程的细节。你可以得到你需要的所有数据,以了解你系统上的进程情况。 + +它还提供了对资源利用率进行永久记录的能力,以便进行长期分析。系统管理员可能会发现这比其他工具更有用。 + +不幸的是,它并没有为你提供漂亮的输出。因此,如果你想要的话,请继续看下面的其他替代品。 + +#### 如何安装 atop? + +对于基于 Ubuntu/Debian 的发行版,键入: + +``` +sudo apt install atop +``` + +### 2、vtop + +![vtop 2022][5] + +如果你想要一个漂亮的输出和管理进程的基本功能,[vtop][6] 是一个完美的系统监控工具。 + +正如我在其他一些文章中所说,它的输出看起来像终端中的 GUI。你可以使用鼠标,也可以选择禁用它。也可以定制它的主题。 + +它是用 Node.js 构建的。所以,你需要安装额外的包来安装它。 + +不幸的是,这个项目似乎不再积极维护。但是,在写这篇文章的时候,它对我来说还是有用的。 + +#### 如何安装 vtop? + +对于基于 Ubuntu 的发行版,在终端输入以下命令: + +``` +sudo apt install nodejs +sudo apt install npm +sudo npm install -g vtop +``` + +### 3、btop++ + +![btop][7] + +[btop++][8] 是 bashtop 和 bpytop 的一个 C++ 版本。是的,它是这些项目的第三次迭代,由同一个开发者完成。 + +`btop++` 包括完全的鼠标支持,带有一个受游戏启发的菜单系统,可以让你过滤进程、树状视图等等。 + +#### 如何安装 btop++? + +使用官方软件库,你可以很容易地在 Fedora、openSUSE 和 FreeBSD 上安装它。 + +对于 Fedora,你可以键入: + +``` +sudo dnf install btop +``` + +你可以探索它的 [GitHub 页面][8],了解在其他 Linux 发行版上的安装方式。 + +### 4、Glances + +![glances 2022][9] + +Glances 与 `htop` 类似,但有更多的功能。 + +它是一个跨平台的系统监控工具,可以将数据以 CSV 或其他格式导出,用于 InfluxDB、Elasticsearch 等。 + +你也可以利用它的网页用户界面,远程(或在不能访问终端的情况下)查看统计数据。 + +#### 如何安装 Glances? + +对于基于 Ubuntu 的发行版,你可以键入: + +``` +sudo apt install glances +``` + +### 5、nmon + +![nmon 2022 1][10] + +[nmon][11] 是一个令人印象深刻的监测工具,它可以让你控制你想显示的输出内容。 + +你可以提取监测数据(以 CSV 格式导出)并用于进一步分析。它很容易切换统计数据和在不同的视图之间进行切换。 + +默认情况下,它每两秒刷新一次数据,但你可以自定义它,并使用更多的选项来调整你的体验。 + +#### 如何安装 nmon? + +你可以在官方软件库中找到它。对于基于 Ubuntu 的发行版,在终端键入以下内容: + +``` +sudo apt install nmon +``` + +### 总结 + +[top 2022][12] + +`top` 命令工具被植入在你的 Linux 系统中。如果你想要一个基本的监控工具,想要关注系统进程和一些统计信息,`top` 就足够了。 + +我不确定它是否可以算作比 `htop` 更强的体验,这也是 `top` 没有被列入主要列表的原因。 + +正如你在这里看到的,一些监控工具可能很有趣,而且证明比 `htop` 更有洞察力。 + +*你最喜欢的 `htop` 替代品是什么?你认为 `htop` 对你的使用情况来说已经足够了吗?欢迎在下面的评论中让我知道你的想法。* + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[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://itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/htop-2022.png +[2]: https://itsfoss.com/linux-system-monitoring-tools/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/atop-2022.png +[4]: https://www.atoptool.nl/index.php +[5]: https://itsfoss.com/wp-content/uploads/2022/11/vtop-2022.png +[6]: https://github.com/MrRio/vtop +[7]: https://itsfoss.com/wp-content/uploads/2022/11/btop.png +[8]: https://github.com/aristocratos/btop +[9]: https://itsfoss.com/wp-content/uploads/2022/11/glances-2022.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/nmon-2022-1.png +[11]: https://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage +[12]: https://itsfoss.com/wp-content/uploads/2022/11/top-2022.png +[0]: https://img.linux.net.cn/data/attachment/album/202211/27/113700npcbceb0c0prbqcn.jpg \ No newline at end of file diff --git a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md deleted file mode 100644 index fb2969556c..0000000000 --- a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md +++ /dev/null @@ -1,159 +0,0 @@ -[#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" -[#]: via: "https://itsfoss.com/authenticator/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -5 htop Alternatives to Enhance Your Linux System Monitoring Experience -====== - -htop is a popular command-line tool to help monitor the system’s resources and performance on Linux. - -**It’s better than top**, often available by default out of the box. - -With htop, you can filter and sort processes to understand things better, get a tree view of the processes running, and kill processes when needed. - -![htop 2022][1] - -I use htop over other system monitoring tools because it displays what’s essential to me and allows terminating rogue/frozen processes when I need to take control of running services. - -But, if you want something else that displays more info or looks different, what are some **htop alternatives**? Let’s take a look. - -**Recommended Read**: [7 System Monitoring Tools for Linux to Keep an Eye on Vital System Stats][2] - -### 1. atop - -![atop 2022][3] - -[atop][4] is all about running process details. You get all the data you need to understand the processing on your system. - -It also provides the ability to make a permanent log of resource utilization for long-term analysis. A system administrator might find this more useful than anyone else. - -Unfortunately, it does not provide you with a pretty output. So, if you want that, keep looking at the other options below. - -#### How to install atop? - -For Ubuntu/Debian-based distributions, type in: - -``` -sudo apt install atop -``` - -### 2. vtop - -![vtop 2022][5] - -[vtop][6] is the perfect system monitoring utility if you want a good-looking output and essential features to manage processes. - -The output looks like a GUI in a terminal, as I’ve stated in some of my other articles. You can have mouse support or choose to disable it. The theme can also be customized. - -It is built using Node.js. So, you need to install additional packages to get it installed. - -Unfortunately, this project seems to be no longer actively maintained. But, it worked for me at the time of writing this article. - -#### How to install vtop? - -For Ubuntu-based distros, enter the following commands in the terminal: - -``` -sudo apt install nodejs -sudo apt install npm -sudo npm install -g vtop -``` - -### 3. btop++ - -![btop][7] - -[btop++][8] is a C++ version of bashtop and bpytop. And, yes, it is the third iteration of those projects by the same developer. - -btop++ includes full mouse support, features a game-inspired menu system, lets you filter processes, get a tree view, and more. - -#### How to install btop++? - -Using the official repositories, you can easily install it on Fedora, OpenSUSE, and FreeBSD. - -For Fedora, you can type in: - -``` -sudo dnf install btop -``` - -You can explore its [GitHub page][8] for options to install on other Linux distributions. - -### 4. Glances - -![glances 2022][9] - -Glances is similar to htop, but with more features. - -It is a cross-platform system monitoring utility that can export data as CSV or other formats for InfluxDB, Elasticsearch, and more. - -You can also utilize its web user interface to check the stats remotely or without access to the terminal. - -#### How to Install Glances? - -For Ubuntu-based distros, you can type in: - -``` -sudo apt install glances -``` - -### 5. nmon - -![nmon 2022 1][10] - -[nmon][11] is an impressive monitoring utility that lets you control what you want to display as the output. - -You can extract the monitoring data (export it as CSV) and use it for further analysis. It is easy to toggle statistics and switch between different views. - -By default, it refreshes the data every two seconds, but you can customize it and access more options to tweak your experience. - -#### How to install nmon? - -You can find it in the official repositories. For Ubuntu-based distros, type in the following in the terminal: - -``` -sudo apt install nmon -``` - -### Wrapping Up - -![top 2022][12] - -The top command utility comes baked in with your Linux system. If you want a no-nonsense monitoring utility and want to keep an eye on system processes and some stats, top is sufficient. - -Not sure if I can count it as an enhanced experience over htop and that’s the reason why top is not included in the main list. - -As you can see here, some monitoring utilities may be fun and prove to be more insightful than htop. - -_What is your favorite htop replacement? Do you think htop is more than enough for your use-case? Feel free to let me know your thoughts in the comments down below._ - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/authenticator/ - -作者:[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/11/htop-2022.png -[2]: https://itsfoss.com/linux-system-monitoring-tools/ -[3]: https://itsfoss.com/wp-content/uploads/2022/11/atop-2022.png -[4]: https://www.atoptool.nl/index.php -[5]: https://itsfoss.com/wp-content/uploads/2022/11/vtop-2022.png -[6]: https://github.com/MrRio/vtop -[7]: https://itsfoss.com/wp-content/uploads/2022/11/btop.png -[8]: https://github.com/aristocratos/btop -[9]: https://itsfoss.com/wp-content/uploads/2022/11/glances-2022.png -[10]: https://itsfoss.com/wp-content/uploads/2022/11/nmon-2022-1.png -[11]: https://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage -[12]: https://itsfoss.com/wp-content/uploads/2022/11/top-2022.png From b5589e6c662c1118f414ab8556acdea8bc34b1d5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 27 Nov 2022 11:42:52 +0800 Subject: [PATCH 534/925] R --- ...p Alternatives to Enhance Your Linux System Monitoring Experience.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md index 8ad1c589a7..ea32ca458a 100644 --- a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md +++ b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md @@ -18,7 +18,7 @@ 使用 `htop`,你可以对进程进行过滤和排序,以便更好地了解情况,获得正在运行的进程的树状视图,并在需要时杀死进程。 -![htp 2022][1] +![htop 2022][1] 我使用 `htop` 而不是其他系统监控工具,因为它可以显示对我来说至关重要的东西,并允许在我需要控制运行中的服务时终止流氓进程或冻结进程。 From 06c1d65e481210f8c8cdeae896958383b7571ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 12:17:51 +0800 Subject: [PATCH 535/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221126.1=20=E2=AD=90=EF=B8=8F=20How=20I=20Fixed=20Bu?= =?UTF-8?q?zzing=20Noise=20Coming=20from=20Speakers=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Buzzing Noise Coming from Speakers in Linux.md | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md diff --git a/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md b/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md new file mode 100644 index 0000000000..a6e34a26fe --- /dev/null +++ b/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md @@ -0,0 +1,130 @@ +[#]: subject: "How I Fixed Buzzing Noise Coming from Speakers in Linux" +[#]: via: "https://itsfoss.com/buzzing-noise-speaker-linux" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How I Fixed Buzzing Noise Coming from Speakers in Linux +====== + +I used a laptop for a long time but only recently switched to a desktop setup for my remote work at It’s FOSS. + +I noticed a constant buzzing sound coming from the speakers. It was annoying and gave me headaches. I started out to fix the issue. It was quite interesting to know the root cause of the issue. + +I will share my experience of fixing the buzzing noise from speakers in Linux. I found it working with Ubuntu, Debian and Pop OS on the same hardware. + +One thing to consider is that you may have a serious hardware issue if this guide does not work for you. For most users, the given solution should get the job done. + +**Before you try the fix …** + +I have tried to make things easy to follow safely. You try the temporary fix and if it works, you make the changes permanent. However, it would be a good idea to make system snapshots with Timeshift. If you are easily panicked when things do not work, you can restore the system to the earlier state. + +Also, check your sound card. In my case, it was snd_hda_intel. For USB card, it could be snd_usb_audio. You have to change the commands according to your sound card. + +``` +cat /proc/asound/modules +``` + +### The reason behind the buzzing noise from speakers in Linux + +After combing through numerous forum posts and websites, I learned the root cause of the issue. It is because of capacitor discharge in the speakers. And it can be solved by turning off the power-saving setting of a sound card. + +By turning off power saving, you are allowing the system to charge those capacitors when they get discharged. It is similar to using a phone while charging constantly. + +And you can check whether the power-saving setting for the sound card is enabled on your system by using the given command: + +``` +cat /sys/module/snd_hda_intel/parameters/power_save +``` + +![power saving setting in sound card making buzzing sound in linux][1] + +And if you get 1 in output like mine, the power saving is turned on. So let’s have a look at the solution. + +Don’t worry. This will not affect your battery percentage drastically, as the shown method is only applied to the sound card. + +### Try fixing the buzzing noise issue (temporary) + +The reason why I included the temporary way is to identify whether the humming sound is being caused due to capacitor discharge or if there is any serious hardware problem going on. + +If this temporary solution works, you can go ahead with the permanent solution. + +The first step is to switch to the root user: + +``` +sudo su +``` + +And then, execute the given command, and it should stop the buzzing sound until the next boot: + +``` +echo 0 > /sys/module/snd_hda_intel/parameters/power_save +``` + +If you are using **a USB sound card**, you have to interchange `snd_hda_intel` with `snd_usb_audio` as given: + +``` +echo 0 > /sys/module/snd_usb_audio/parameters/power_save +``` + +If the above trick fixed the issue, you have to make things permanent. Otherwise, the changes will be lost when you next reboot your system. + +### Fixing the buzzing noise issue (permanently) + +Here, I’m going to make changes in kernel parameters. + +Change your working directory to /etc/modprobe.d: + +``` +cd /etc/modprobe.d +``` + +And now, create a new file named `audio_disable_powersave.conf` and open with the nano text editor using the given command: + +``` +sudo nano audio_disable_powersave.conf +``` + +And put the following lines in that file to turn off the power-saving setting in the sound card permanently: + +``` +options snd_hda_intel power_save=0 +``` + +![fix buzzing sound in linux][2] + +For **a USB sound card**, you can use `snd_usb_audio`: + +``` +options snd_usb_audio power_save=0 +``` + +Now, [save changes and exit the Nano text editor][3] by pressing Ctrl+X keys. Reboot your system, and you can enjoy a noise-free workspace. + +### Wrapping Up + +This guide explains the cause of the buzzing noise and how you can straightforwardly solve that issue. + +Again, you may have some other issue rather than discharging capacitors, so you should always try the temporary method. + +Let me know if you were able to fix the buzzing noise from speakers in Linux this way or not. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/buzzing-noise-speaker-linux + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/power-saving-setting-in-sound-card-making-buzzing-sound-in-linux.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/fix-buzzing-sound-in-linux.png +[3]: https://linuxhandbook.com/nano-save-exit/ From 28e5eb533e7b96b4bf9edead71bbad03ac7e1aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 12:19:59 +0800 Subject: [PATCH 536/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221121.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Us?= =?UTF-8?q?ing=20the=20Lesser=20Known=20File=20Tagging=20Feature=20in=20KD?= =?UTF-8?q?E=E2=80=99s=20Dolphin=20File=20Manager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Tagging Feature in KDE’s Dolphin File Manager.md | 211 ++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 sources/tech/20221121.4 ⭐️⭐️ Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager.md diff --git a/sources/tech/20221121.4 ⭐️⭐️ Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager.md b/sources/tech/20221121.4 ⭐️⭐️ Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager.md new file mode 100644 index 0000000000..07609577d4 --- /dev/null +++ b/sources/tech/20221121.4 ⭐️⭐️ Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager.md @@ -0,0 +1,211 @@ +[#]: subject: "Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager" +[#]: via: "https://itsfoss.com/file-tagging-kde/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Using the Lesser Known File Tagging Feature in KDE’s Dolphin File Manager +====== + +[Dolphin][1] is the default file manager of the KDE Plasma Desktop Environment. It is considered as one of the most comprehensive and feature-rich file managers available for Linux distributions. + +Yes. It has tons of features and you may not be aware of all of them. One such feature is file tagging. + +File tagging is a way of organizing files or folder by applying tags to them. This tag can then be used to search for data, and sort the files accordingly. With this feature, you can tag files into categories irrespective of their location. This gives you a new way to organize your files. + +While there are dedicated tools like [Tagspaces][2] for this purpose, this feature comes baked into KDE’s Dolphin file manager. + +In this tutorial, I’ll show you how to use the file tagging feature in Dolphin. + +### Adding tags to files and folders in KDE + +There are two ways you can add tags: + +- Through the right-click menu +- Through the information panel + +Let’s see them one by one. + +#### Method 1: Adding tags through right-click context menu + +Select the file(s) and folders to which you want to add tags. Now press the right click. + +You need to select the “Add Tags” option and here, you can add the name of the tag, by pressing **Create New**. + +![create tags on the go using right click context menu][3] + +You need to enter the name of the new tag and press **OK**. + +![provide the name of the tag you like to use and press ok to add the tag][4] + +Once created, the tag will be visible the next time you try to tag a file. + +![add an existing tag to a file using right click context menu][5] + +**_Also, you can toggle the check box according to your need to add or remove a file/folder from a particular tag._** + +#### Method 2: Adding tags through the information panel + +Dolphin provides an information panel where you can view the details of a file/folder, including a small preview. + +This is turned off by default. But you can enable it by going to **Show Panel > Information** from the top right hamburger menu. + +![enable information panel in dolphin][6] + +Once this is checked, you will notice the new panel on the right side. Here, you can see the tags listed as an entry. + +![add tags using information panel][7] + +First, select the file/folder to which you want to add tags and then press **Add** on the information panel. Now, you can either create a new tag or add an existing tag to the respective file/folder, as shown in the above screenshot. Press **Save** once you are done. + +The same information panel will also show the tag information of the selected items if it has any. + +### Showing tag information of a file or folder + +As I mentioned above, the information panel lists the tags attached to the file/folder under selection. But there are more ways to list the tags. Those methods are detailed below. + +#### Method 1: Show the associated tags under file name + +On the default Icon View in Dolphin, you can get the tags associated with each item just beneath the name of that item. + +Select Show Additional Information > Tags from the hamburger menu in the top right corner. + +![showing assigned tags beneath each item][8] + +Once the box is checked, as shown in the above screenshot, you will notice that the tag information appears beneath the name of each item. + +#### Method 2: Show associated tags in list view + +Dolphin also provides a **Detailed** view. Here, the contents are listed with columns for each information. + +By default, tag data column is not shown. To add that, you can right-click anywhere on the top column, as shown in the screenshot below. Now, check the tag box. + +![see tag information in dolphin detailed list view][9] + +You will notice a new column, with tags of individual entries, is appeared. + +By clicking on the tag button (blue rectangle in the screenshot), you can sort the entries of the current location according to tags (alphabetical or reverse). + +### Listing all the files associated with a particular tag + +If you have many tags, you may want to list all the files and folders associated with a particular tag. + +For this, there is an entry called **Tags** on the sidebar. Clicking on this will list all the available tags that you have created. + +![all tags are listed on all tags section on side bar][10] + +Now, clicking on individual tag entries here will display the contents of that particular tag. + +Even more simple is that the tags are placed as a list on the sidebar itself. You can click on the entries to go to that particular list. + +### Searching for files with specific tags + +You can search by file names in Dolphin. That’s not new. But you may refine the search based on tags as well. + +For this, first press the search button on top right side. + +![select search icon to start a search][11] + +You will get a view for entering your search term. Here you can search in the current directory or in all files. + +Click on the **dropdown on right** as shown and select tags. Here you can filter your search by selecting the target tags. + +![perform searches using different crieteria and tags][12] + +### Sorting items according to tags + +In dolphin, you can start a sort operation based on tags (alphabetical or reverse). Also, you can sort the folders before files are mixed. + +To do this, click on the hamburger menu and select **sort by.** + +![sort entries according to tag][13] + +Here, you can select the **Tags** check box to sort**.** As shown in the above screenshot, you can specify the criteria also for the sorting. + +### Changing emblems of tags + +This is purely cosmetic and for those who have OCD about organizing files. You can change the emblem (icon) of a tag to be visually more distinguishable. + +In the above screenshots, you may have noticed that each tag appearing in the sidebar has different emblems. Right click on the name of the tag in sidebar and select **edit.** + +![edit a tag to change emblems][14] + +You can press the image button in the new dialog box to change the icon as shown below. + +![change emblem of tags][15] + +Note that the emblems will appear only on the sidebar. + +### Removing tags + +Don’t need a tag anymore? You can easily remove it. + +**_Note that removing tags does NOT remove the files associated with them._** + +To remove an existing tag, you can go to all tags in the sidebar. Right click on a tag and press **delete.** + +![delete a particular tag][16] + +That particular tag will be removed automatically from all the associated files/folders. + +### Buggy feature: Copy a tag as a directory + +On the **All tags** page, you can right-click and copy a particular tag and paste it to a location you like. This will paste all the entries with that particular tag into a separate folder. + +You should keep in mind that while copying, there will be some warning messages about missing files. You can skip them. Those warning messages are shown because a directory under the tag you copied may contain other files/directories, which essentially are not part of the tag you are copying. + +![warning message showing missing files][17] + +Here, some files inside the **Folders-One** directory are not part of the tag Tagger. So those files will not be copied. + +Also, another glitch that I found was if the copied tag contains files, the same files will be duplicated inside the tag. + +![duplicate files inside the tag because of copying tags inside system folders][18] + +It is an issue only if you are copying the tag within your system directories and will not be an issue if you are copying a tag to an outside storage like an external hard disk or USB device. + +### Wrapping Up + +Tags are indeed a great way to organize files, be they images or documents. Tagging feature can improve your productivity by enforcing neatness and order to your file storage and retrieval. + +It’s good to see KDE providing this as a built-in feature. I guess this is one of the many [differences between KDE and GNOME][19]. + +I feel I bit a bit more in detail as I wanted to give you all the required details. I hope you find it useful. + +If you know any other cool KDE features you love, do share them in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/file-tagging-kde/ + +作者:[Sreenath][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/sreenath/ +[b]: https://github.com/lkxed +[1]: https://apps.kde.org/en-gb/dolphin/ +[2]: https://www.tagspaces.org/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/create-tags-on-the-go-using-right-click-context-menu.png +[4]: https://itsfoss.com/wp-content/uploads/2022/11/provide-the-name-of-the-tag-you-like-to-use-and-press-ok-to-add-the-tag.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/add-an-existing-tag-to-a-file-using-right-click-context-menu.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/enable-information-panel-in-dolphin.png +[7]: https://itsfoss.com/wp-content/uploads/2022/11/add-tags-using-information-panel.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/showing-assigned-tags-beneath-each-item.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/see-tag-information-in-dolphin-detailed-list-view.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/all-tags-are-listed-on-all-tags-section-on-side-bar.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/select-search-icon-to-start-a-search.png +[12]: https://itsfoss.com/wp-content/uploads/2022/11/perform-searches-using-different-crieteria-and-tags.png +[13]: https://itsfoss.com/wp-content/uploads/2022/11/sort-entries-according-to-tag.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/edit-a-tag-to-change-emblems.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/change-emblem-of-tags.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/delete-a-particular-tag.png +[17]: https://itsfoss.com/wp-content/uploads/2022/11/warning-message-showing-missing-files.png +[18]: https://itsfoss.com/wp-content/uploads/2022/11/duplicate-files-inside-the-tag-because-of-copying-tags-inside-system-folders.png +[19]: https://itsfoss.com/kde-vs-gnome/ From c5fb37d695908e1fc897c78360937e600f9dbd71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 12:20:55 +0800 Subject: [PATCH 537/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221123.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Bu?= =?UTF-8?q?ild=20an=20interactive=20timeline=20in=20React=20with=20this=20?= =?UTF-8?q?open=20source=20tool.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ve timeline in React with this open source tool.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 sources/tech/20221123.1 ⭐️⭐️ Build an interactive timeline in React with this open source tool.md diff --git a/sources/tech/20221123.1 ⭐️⭐️ Build an interactive timeline in React with this open source tool.md b/sources/tech/20221123.1 ⭐️⭐️ Build an interactive timeline in React with this open source tool.md new file mode 100644 index 0000000000..3c5449b6da --- /dev/null +++ b/sources/tech/20221123.1 ⭐️⭐️ Build an interactive timeline in React with this open source tool.md @@ -0,0 +1,54 @@ +[#]: subject: "Build an interactive timeline in React with this open source tool" +[#]: via: "https://opensource.com/article/22/11/react-timeline-planby" +[#]: author: "Karol Kozer https://opensource.com/users/karolkozer" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Build an interactive timeline in React with this open source tool +====== + +For several years, I worked in the TV online and video-on-demand (VOD) industry. While working on a scheduler web application, I realized that there were no good solutions for electronic program guides (EPG) and scheduling. Admittedly, this is a niche feature for most web developers, but it's a common requirement for TV applications. I've seen and analyzed a number of websites that have implemented their own EPG or timeline, and I often wondered why everyone seemed to be inventing their own solutions instead of working on a shared solution everyone could use. And that's when I started developing Planby. + +[Planby][1] is a React (JavaScript) component to help you create schedules, timelines, and electronic program guides (EPG) for online TV and video-on-demand (VOD) services, music and sporting events, and more. Planby uses a custom virtual view, allowing you to operate on a lot of data, and present it to your viewers in a friendly and useful way. + +Planby has a simple API that you can integrate with third party UI libraries. The component theme is customised to the needs of the application design. + +### Timeline performance + +The most significant thing when implementing a timeline feature is performance. You're potentially handling basically an endless stream of data across many many different channels. Applications can struggle with refreshing, moving, and scrolling. You want the user's interactions with the content to be fluid. + +There's also the potential for poor design. Sometimes, an app implements an EPG timeline in the form of a list that you must scroll vertically, meaning you must click on buttons to move left and right through time, which quickly becomes tiring. What's more, sometimes customization for interacting with an EPG (such as rating, choosing your favorite channels, reading right-to-left (RTL), and so on) aren't available at all, or when they are, they cause performance issues. + +Another problem I often face is that an app is too verbose in its data transfer. When an app requests data _while_ you scroll through the EPG, the timeline feels slow and can even crash. + +### What is Planby? + +This is where Planby comes in. Planby is built from scratch, using React and Typescript and a minimal amount of resources. It uses a custom virtual view, allowing you to operate on vast amounts of data. It displays programs and channels to the user, and automatically positions all elements according to hours and assigned channels. When a resource contains no content, Planby calculates the positioning so the time slots are properly aligned. + +Planby has a simple interface and includes all necessary features, such as a sidebar, the timeline itself, a pleasant layout, and live program refreshing. In addition, there's an optional feature allowing you to hide any element you don't want to include in the layout. + +Planby has a simple API that allows you as the developer to implement your own items along with your user preferences. You can use Planby's theme to develop new features, or you can make custom styles to fit in with your chosen design. You can easily integrate with other features, like a calendar, rating options, a list of user favorites, scroll, "now" buttons, a recording schedule, catch-up content, and much more. What's more, you can add custom global styles, including register-transfer level (RTL) functionality. + +And best of all, it uses the open source MIT licensed. + +### Try Planby + +If you would like to try Planby, or just to learn more about it, visit the [Git repository][1]. There, I've got some examples of what's possible and you can read the documentation for the details. The package is also available with `npm`. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/react-timeline-planby + +作者:[Karol Kozer][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/karolkozer +[b]: https://github.com/lkxed +[1]: https://github.com/karolkozer/planby From 2969636b21d3f1afd05dad338634088424824658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 12:43:53 +0800 Subject: [PATCH 538/925] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...helloSystem (0.7.0) is moving towards stability.md | 4 +- ...️⭐️ How to Install and Use htop in Linux.md | 4 +- ...ed in legacy trusted.gpg keyring” Issue in Ubuntu.md | 4 +- ...stic (Yet Underrated) Linux Desktop Environment.md | 4 +- ...1 ⭐️⭐️ 7 Git tips for technical writers.md | 4 +- ...Enhance Your Linux System Monitoring Experience.md | 4 +- ...️ Find bugs with the git bisect command.md | 4 +- ... Anaconda Web UI preview image now public.md} | 84 ++++++++----------- ... apt remove vs apt purge What’s the Difference.md | 4 +- ...iew Reasons why its an all-rounder Linux distro.md | 4 +- 10 files changed, 53 insertions(+), 67 deletions(-) rename sources/tech/{20221122 Anaconda Web UI preview image now public.md => 20221122.1 ⭐️ Anaconda Web UI preview image now public.md} (54%) diff --git a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md index 09a5237e82..f23c3f745a 100644 --- a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md +++ b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md @@ -1,5 +1,5 @@ [#]: subject: "macOS Alternative helloSystem (0.7.0) is moving towards stability" -[#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" +[#]: via: "https://www.debugpoint.com/hellosystem-0-7-0/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" @@ -62,7 +62,7 @@ If you want to contribute to testing, development or any capacity, [visit the Gi -------------------------------------------------------------------------------- -via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ +via: https://www.debugpoint.com/hellosystem-0-7-0/ 作者:[Arindam][a] 选题:[lkxed][b] diff --git a/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md b/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md index 8837e31e64..b4c89ddb3c 100644 --- a/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md +++ b/sources/tech/20221117.0 ⭐️⭐️ How to Install and Use htop in Linux.md @@ -1,5 +1,5 @@ [#]: subject: "How to Install and Use htop in Linux" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/use-htop/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: " " @@ -167,7 +167,7 @@ But htop can do a lot more and for that and to learn more, you can always refer -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/use-htop/ 作者:[Sagar Sharma][a] 选题:[lkxed][b] diff --git a/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md b/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md index 6bdb4bc00f..45b626bd9d 100644 --- a/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md +++ b/sources/tech/20221118.0 ⭐️⭐️ Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu.md @@ -1,5 +1,5 @@ [#]: subject: "Fixing “Key is stored in legacy trusted.gpg keyring” Issue in Ubuntu" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" [#]: translator: " " @@ -127,7 +127,7 @@ So, which method did you use to get rid of the ‘key is stored in legacy’ war -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] diff --git a/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md b/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md index b0bb7c538a..9a06dfdbc8 100644 --- a/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md +++ b/sources/tech/20221119.0 ⭐️⭐️ 7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment.md @@ -1,5 +1,5 @@ [#]: subject: "7 Reasons Why Cinnamon is a Fantastic (Yet Underrated) Linux Desktop Environment" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/why-cinnamon/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: " " @@ -154,7 +154,7 @@ _What do you think of the Cinnamon desktop environment? Do you prefer to try it -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/why-cinnamon/ 作者:[Ankush Das][a] 选题:[lkxed][b] diff --git a/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md b/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md index a71cbac625..02f5fa8a79 100644 --- a/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md +++ b/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md @@ -1,5 +1,5 @@ [#]: subject: "7 Git tips for technical writers" -[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: via: "https://opensource.com/article/22/11/git-tips-technical-writers" [#]: author: "Maximilian Kolb https://opensource.com/users/kolb" [#]: collector: "lkxed" [#]: translator: " " @@ -106,7 +106,7 @@ Git is a tremendous help for technical writers. Not only can you use Git to vers -------------------------------------------------------------------------------- -via: https://opensource.com/article/22/11/advanced-git-commands +via: https://opensource.com/article/22/11/git-tips-technical-writers 作者:[Maximilian Kolb][a] 选题:[lkxed][b] diff --git a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md index fb2969556c..b800f93837 100644 --- a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md +++ b/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md @@ -1,5 +1,5 @@ [#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/htop-alternatives/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: " " @@ -134,7 +134,7 @@ _What is your favorite htop replacement? Do you think htop is more than enough f -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/htop-alternatives/ 作者:[Ankush Das][a] 选题:[lkxed][b] diff --git a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md index d47ef7e576..7250da150b 100644 --- a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md +++ b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md @@ -1,5 +1,5 @@ [#]: subject: "Find bugs with the git bisect command" -[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: via: "https://opensource.com/article/22/11/git-bisect" [#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" [#]: collector: "lkxed" [#]: translator: " " @@ -61,7 +61,7 @@ Advanced users can even write scripts that determine good and bad states as well -------------------------------------------------------------------------------- -via: https://opensource.com/article/22/11/advanced-git-commands +via: https://opensource.com/article/22/11/git-bisect 作者:[Dwayne McDaniel][a] 选题:[lkxed][b] diff --git a/sources/tech/20221122 Anaconda Web UI preview image now public.md b/sources/tech/20221122.1 ⭐️ Anaconda Web UI preview image now public.md similarity index 54% rename from sources/tech/20221122 Anaconda Web UI preview image now public.md rename to sources/tech/20221122.1 ⭐️ Anaconda Web UI preview image now public.md index ce0de4368e..7079d88bc2 100644 --- a/sources/tech/20221122 Anaconda Web UI preview image now public.md +++ b/sources/tech/20221122.1 ⭐️ Anaconda Web UI preview image now public.md @@ -1,7 +1,7 @@ [#]: subject: "Anaconda Web UI preview image now public!" [#]: via: "https://fedoramagazine.org/anaconda-web-ui-preview-image-now-public/" [#]: author: "Jiří Konečný https://fedoramagazine.org/author/jkonecny/" -[#]: collector: "lujun9972" +[#]: collector: "lkxed" [#]: translator: " " [#]: reviewer: " " [#]: publisher: " " @@ -10,62 +10,52 @@ Anaconda Web UI preview image now public! ====== -![][1] +We are excited to announce the first public preview image of the new Anaconda web interface!  Our vision is to reimagine and modernize our installer’s user experience (see our blog post [“Anaconda is getting a new suit”][1]). We are doing this by redesigning the user experience on all fronts to make it more easy and approachable for everyone to use. -Background photo taken by [David Cantrell][2] (cropped) - -We are excited to announce the first public preview image of the new Anaconda web interface!  Our vision is to reimagine and modernize our installer’s user experience (see our blog post [“Anaconda is getting a new suit”][3]). We are doing this by redesigning the user experience on all fronts to make it more easy and approachable for everyone to use. - -Today, we would like to introduce our [plans][4] for the public preview release, as our new project has already reached a point where core code functionality is already developed and the new interface can be used for real installations.  +Today, we would like to introduce our [plans][2] for the public preview release, as our new project has already reached a point where core code functionality is already developed and the new interface can be used for real installations.  So, we’re giving you something to play with! 🙂 -![][5] +![Installation progress of the preview image][3] -### Why public preview image? +## Why public preview image? By giving you a working ISO as soon as we can, you have the opportunity to help us to define this new UI. This task allows us to rethink what we have and find new ways to overcome the challenges of the UI instead of re-creating what we had already. Please take this opportunity and reach us with your feedback to help us to create the best OS installer ever! -Please let us know what you require from Anaconda. **What** features ****are important to you and **why** are these important? That will allow us to prioritize our focus on development and design. See below for [how to contact us][6]. +Please let us know what you require from Anaconda. **What** featuresare important to you and **why** are these important? That will allow us to prioritize our focus on development and design. See below for[how to contact us][4]. -### How to get public preview image? +## How to get public preview image? -Download the Anaconda preview image [here][7].  +Download the Anaconda preview image [here][5].  -Thanks a lot to the [Image Builder][8] team for providing us with a way to build ISO with the Fedora 37 Workstation GA content. We are planning to provide additional images with an updated installer to give you the newest features and fixes with the link above. There are no updates to the installation payload (installed system data) yet. We will announce important updates of the ISO image by sending mail to [anaconda-devel@lists.fedoraproject.org][9] with CC to [devel@lists.fedoraproject.org][10]. Please subscribe to either of these to get information about the news. This way we will be able to iterate on your feedback. +Thanks a lot to the [Image Builder][6] team for providing us with a way to build ISO with the Fedora 37 Workstation GA content. We are planning to provide additional images with an updated installer to give you the newest features and fixes with the link above. There are no updates to the installation payload (installed system data) yet. We will announce important updates of the ISO image by sending mail to [anaconda-devel@lists.fedoraproject.org][7] with CC to [devel@lists.fedoraproject.org][8]. Please subscribe to either of these to get information about the news. This way we will be able to iterate on your feedback. -### What you will get with the preview ISO +## What you will get with the preview ISO The ISO will allow you to install the system and let you get a taste of the new UI, so you can provide us early feedback. However, it is pretty early in the development cycle. We advise you to not use this ISO to install critical infrastructure or machines where you have important data. Let’s go to the more interesting part of what you can do with the ISO: - * Choose installation language - * Select your disks - * Automatically partition the disks. **BEWARE! This will erase everything on the selected disks.** - * Automatically install Fedora 37 GA Workstation system - * Basic review screen of your selections - * Installation progress screen - * Built-in help (on Installation destination screen only) +- Choose installation language +- Select your disks +- Automatically partition the disks. **BEWARE! This will erase everything on the selected disks.** +- Automatically install Fedora 37 GA Workstation system +- Basic review screen of your selections +- Installation progress screen +- Built-in help (on Installation destination screen only) +### Known issues: +- In the bootloader menu you’ll see “Install Fedora 38”, it’s expected because the installation environment is from Rawhide. However, the content installed will be Fedora 37 GA, so don’t worry. +- Virtual Box on Mac might have resolution issues. We are working on resolving this issue. +- Aspect ratio and window handling. We know we need to solve this better, feedback is welcome. -#### Known issues: - - * In the bootloader menu you’ll see “Install Fedora 38”, it’s expected because the installation environment is from Rawhide. However, the content installed will be Fedora 37 GA, so don’t worry. - * Virtual Box on Mac might have resolution issues. We are working on resolving this issue. - * Aspect ratio and window handling. We know we need to solve this better, feedback is welcome. - - - -### How to provide feedback? +## How to provide feedback? Your feedback is critical to have a project which you and we can be proud of, so please share it with us. To give us feedback: - * Use our [GitHub repository discussions][11] - * Send mail to the [anaconda-devel@lists.fedoraproject.org][9] mailing list - - +- Use our [GitHub repository discussions][9] +- Send mail to the [anaconda-devel@lists.fedoraproject.org][7] mailing list Please take your time to play with the UI and tell us what you think. What works great, what is not working and what you would like to have. Ideally, follow future updates and tell us if the situation is better or worse.  @@ -76,22 +66,18 @@ We are really counting on your feedback and we are thankful to have you all supp via: https://fedoramagazine.org/anaconda-web-ui-preview-image-now-public/ 作者:[Jiří Konečný][a] -选题:[lujun9972][b] +选题:[lkxed][b] 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - [a]: https://fedoramagazine.org/author/jkonecny/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramag.wpenginepowered.com/wp-content/uploads/2022/11/anaconda-816x345.jpg -[2]: https://fedoraproject.org/wiki/User:Dcantrell -[3]: https://communityblog.fedoraproject.org/anaconda-is-getting-a-new-suit/ -[4]: https://fedoraproject.org/wiki/Changes/Anaconda_Web_UI_preview_image -[5]: https://lh3.googleusercontent.com/wYYvx8Cp5YJBLlMTWu4PCQlFsTQqs_ZflspDg7cjLyPE2lZUChhiJGKkdT3BcALPyiR0A04rR32S8YRoOfQHGLm22HaEQK6opM4cSUE_xchqmiowJPnDNCu7qsQSEg85ClJku_-ZSlwFoy3PQPhmactnKnHPjsEa9gS4tAqrINTfZ_Pj0Gg_jLJ4u1tNVw -[6]: tmp.UJAFNoc8ku#provide-feedback -[7]: https://fedorapeople.org/groups/anaconda/webui_preview_image/x86_64/webui_latest_install.iso -[8]: https://github.com/osbuild/osbuild-composer -[9]: mailto:anaconda-devel@lists.fedoraproject.org -[10]: mailto:devel@lists.fedoraproject.org -[11]: https://github.com/rhinstaller/anaconda/discussions/new?category=web-ui +[b]: https://github.com/lkxed +[1]: https://communityblog.fedoraproject.org/anaconda-is-getting-a-new-suit/ +[2]: https://fedoraproject.org/wiki/Changes/Anaconda_Web_UI_preview_image +[3]: https://lh3.googleusercontent.com/wYYvx8Cp5YJBLlMTWu4PCQlFsTQqs_ZflspDg7cjLyPE2lZUChhiJGKkdT3BcALPyiR0A04rR32S8YRoOfQHGLm22HaEQK6opM4cSUE_xchqmiowJPnDNCu7qsQSEg85ClJku_-ZSlwFoy3PQPhmactnKnHPjsEa9gS4tAqrINTfZ_Pj0Gg_jLJ4u1tNVw +[4]: https://fedoramagazine.org#provide-feedback +[5]: https://fedorapeople.org/groups/anaconda/webui_preview_image/x86_64/webui_latest_install.iso +[6]: https://github.com/osbuild/osbuild-composer +[7]: https://fedoramagazine.orgmailto:anaconda-devel@lists.fedoraproject.org +[8]: https://fedoramagazine.orgmailto:devel@lists.fedoraproject.org +[9]: https://github.com/rhinstaller/anaconda/discussions/new?category=web-ui diff --git a/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md index d31fadca1d..aa796127cd 100644 --- a/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md +++ b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md @@ -1,5 +1,5 @@ [#]: subject: "apt remove vs apt purge: What’s the Difference?" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/apt-remove/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" [#]: translator: " " @@ -100,7 +100,7 @@ Over to you now. Do you understand the difference between apt remove and apt pur -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/apt-remove/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] diff --git a/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md b/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md index a73ad75ed5..91ab28fcb9 100644 --- a/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md +++ b/sources/tech/20221126.0 ⭐️⭐️ Pop OS Review Reasons why its an all-rounder Linux distro.md @@ -1,5 +1,5 @@ [#]: subject: "Pop OS Review: Reasons why its an all-rounder Linux distro" -[#]: via: "https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/" +[#]: via: "https://www.debugpoint.com/pop-os-review/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: " " @@ -129,7 +129,7 @@ You can download Pop!_OS from the [official website][14]. -------------------------------------------------------------------------------- -via: https://www.debugpoint.com/setup-python-environment-ubuntu-fedora/ +via: https://www.debugpoint.com/pop-os-review/ 作者:[Arindam][a] 选题:[lkxed][b] From 427e28b1708a7299a884bc2df7b3dff08102db8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 12:49:00 +0800 Subject: [PATCH 539/925] =?UTF-8?q?Update=2020221121.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=205=20htop=20Alternatives=20to=20En?= =?UTF-8?q?hance=20Your=20Linux=20System=20Monitoring=20Experience.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Alternatives to Enhance Your Linux System Monitoring Experience.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md index ea32ca458a..7fdb75fdd0 100644 --- a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md +++ b/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md @@ -1,5 +1,5 @@ [#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" -[#]: via: "https://itsfoss.com/authenticator/" +[#]: via: "https://itsfoss.com/htop-alternatives/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "wxy" @@ -134,7 +134,7 @@ sudo apt install nmon -------------------------------------------------------------------------------- -via: https://itsfoss.com/authenticator/ +via: https://itsfoss.com/htop-alternatives/ 作者:[Ankush Das][a] 选题:[lkxed][b] From 7c288d5e43a1d6b1dc816432844170f924ac3730 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 27 Nov 2022 13:26:59 +0800 Subject: [PATCH 540/925] translated --- ...210415 5 reasons sysadmins love systemd.md | 204 ------------------ ...210415 5 reasons sysadmins love systemd.md | 196 +++++++++++++++++ 2 files changed, 196 insertions(+), 204 deletions(-) delete mode 100644 sources/tech/20210415 5 reasons sysadmins love systemd.md create mode 100644 translated/tech/20210415 5 reasons sysadmins love systemd.md diff --git a/sources/tech/20210415 5 reasons sysadmins love systemd.md b/sources/tech/20210415 5 reasons sysadmins love systemd.md deleted file mode 100644 index 5ce9e73653..0000000000 --- a/sources/tech/20210415 5 reasons sysadmins love systemd.md +++ /dev/null @@ -1,204 +0,0 @@ -[#]: subject: (5 reasons sysadmins love systemd) -[#]: via: (https://opensource.com/article/21/4/sysadmins-love-systemd) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -5 reasons sysadmins love systemd -====== -Systemd's speed and ease make it a popular way to manage modern Linux -systems. -![Woman sitting in front of her laptop][1] - -As systems administrators know, there's a lot happening on modern computers. Applications run in the background, automated events wait to be triggered at a certain time, log files are written, status reports are delivered. Traditionally, these disparate processes have been managed and monitored with a collection of Unix tools to great effect and with great efficiency. However, modern computers are diverse, with local services running alongside containerized applications, easy access to clouds and the clusters they run on, real-time processes, and more data to process than ever. - -Having a unified method of managing them is an expectation for users and a useful luxury for busy sysadmins. For this nontrivial task, the system daemon, or **systemd**, was developed and quickly adopted by all major Linux distributions. - -Of course, systemd isn't the only way to manage a Linux system. There are many alternative init systems, including sysvinit, OpenRC, runit, s6, and even BusyBox, but systemd treats Linux as a unified data set, meant to be manipulated and queried consistently with robust tools. For a busy systems administrator and many users, the speed and ease of systemd is an important feature. Here are five reasons why. - -### Boot management - -Booting a Linux computer can be a surprisingly rare event, if you want it to be. Certainly in the server world, uptimes are often counted in _years_ rather than months or weeks. Laptops and desktops tend to be shut down and booted pretty frequently, although even these are as likely to be suspended or hibernated as they are to be shut down. Either way, the time since the most recent boot event can serve as a sort of session manager for a computer health check. It's a useful way to limit what data you look at when monitoring your system or diagnosing problems. - -In the likely event that you can't remember the last time you booted your computer, you can list boot sessions with systemd's logging tool, `journalctl`: - - -``` -$ journalctl --list-boots --42 7fe7c3... Fri 2020-12-04 05:13:59 - Wed 2020-12-16 16:01:23 --41 332e99... Wed 2020-12-16 20:07:39 - Fri 2020-12-18 22:08:13 -[...] --1 e0fe5f... Mon 2021-03-29 20:47:46 - Mon 2021-03-29 21:59:29 - 0 37fbe4... Tue 2021-03-30 04:46:13 - Tue 2021-03-30 10:42:08 -``` - -The latest boot sessions appear at the bottom of the list, so you can pipe the output to `tail` for just the latest boots. - -The numbers on the left (42, 41, 1, and 0 in this example) are index numbers for each boot session. In other words, to view logs for only a specific boot session, you can use its index number as reference. - -### Log reviews - -Looking at logs is an important method of extrapolating information about your system. Logs provide a history of much of the activity your computer engages in without your direct supervision. You can see when services launched, when timed jobs ran, what services are running in the background, which activities failed, and more. One of the most common initial troubleshooting steps is to review logs, which is easy to do with `journalctl`: - - -``` -`$ journalctl --pager-end` -``` - -The `--pager-end` (or `-e` for short) option starts your view of the logs at the end of the `journalctl` output, so you must scroll up to see events that happened earlier. - -Systemd maintains a "catalog" of errors and messages filled with records of errors, possible solutions, pointers to support forums, and developer documentation. This can provide important context to a log event, which can otherwise be a confusing blip in a sea of messages, or worse, could go entirely unnoticed. To integrate error messages with explanatory text, you can use the `--catalog` (or `-x` for short) option: - - -``` -`$ journalctl --pager-end --catalog` -``` - -To further limit the log output you need to wade through, you can specify which boot session you want to see logs for. Because each boot session is indexed, you can specify certain sessions with the `--boot` option and view only the logs that apply to it: - - -``` -`$ journalctl --pager-end --catalog --boot 42` -``` - -You can also see logs for a specific systemd unit. For instance, to troubleshoot an issue with your secure shell (SSH) service, you can specify `--unit sshd` to see only the logs that apply to the `sshd` daemon: - - -``` -$ journalctl --pager-end \ -\--catalog --boot 42 \ -\--unit sshd -``` - -### Service management - -The first task for systemd is to boot your computer, and it generally does that promptly, efficiently, and effectively. But the task that's never finished is service management. By design, systemd ensures that the services you want to run do indeed start and continue running during your session. This is nicely robust, because in theory even a crashed service can be restarted without your intervention. - -Your interface to help systemd manage services is the `systemctl` command. With it, you can view the unit files that define a service: - - -``` -$ systemctl cat sshd -# /usr/lib/systemd/system/sshd.service -[Unit] -Description=OpenSSH server daemon -Documentation=man:sshd(8) man:sshd_config(5) -After=network.target sshd-keygen.target -Wants=sshd-keygen.target - -[Service] -Type=notify -EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config -EnvironmentFile=-/etc/sysconfig/sshd -ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY -ExecReload=/bin/kill -HUP $MAINPID -KillMode=process -Restart=on-failure -RestartSec=42s - -[Install] -WantedBy=multi-user.target -``` - -Most unit files exist in `/usr/lib/systemd/system/` but, as with many important configurations, you're encouraged to modify them with local changes. There's an interface for that, too: - - -``` -`$ systemctl edit sshd` -``` - -You can see whether a service is currently active: - - -``` -$ systemctl is-active sshd -active -$ systemctl is-active foo -inactive -``` - -Similarly, you can see whether a service has failed with `is-failed`. - -Starting and stopping services is nicely intuitive: - - -``` -$ systemctl stop sshd -$ systemctl start sshd -``` - -And enabling a service to start at boot time is simple: - - -``` -`$ systemctl enable sshd` -``` - -Add the `--now` option to enable a service to start at boot time or to start it for your current session. - -### Timers - -Long ago, when you wanted to automate a task on Linux, the canonical tool for the job was `cron`. There's still a place for the cron command, but there are also some compelling alternatives. For instance, the [`anacron` command][2] is a versatile, cron-like system capable of running tasks that otherwise would have been missed during downtime. - -Scheduled events are little more than services activated at a specific time, so systemd manages a cron-like function called [timers][3]. You can list active timers: - - -``` -$ systemctl list-timers -NEXT                          LEFT       -Tue 2021-03-30 12:37:54 NZDT  16min left [...] -Wed 2021-03-31 00:00:00 NZDT  11h left [...] -Wed 2021-03-31 06:42:02 NZDT  18h left [...] - -3 timers listed. -Pass --all to see loaded but inactive timers, too. -``` - -You can enable a timer the same way you enable a service: - - -``` -`$ systemctl enable myMonitor.timer` -``` - -### Targets - -Targets are the final major component of the systemd matrix. A target is defined by a unit file, the same as services and timers. Targets can also be started and enabled in the same way. What makes targets unique is that they group other unit files in an arbitrarily significant way. For instance, you might want to boot to a text console instead of a graphical desktop, so the `multi-user` target exists. However, the `multi-user` target is only the `graphical` target without the desktop unit files as dependencies. - -In short, targets are an easy way for you to collect services, timers, and even other targets together to represent an intended state for your machine. - -In fact, within systemd, a reboot, a power-off, or a shut-down action is just another target. - -You can list all available targets using the `list-unit-files` option, constraining it with the `--type` option set to `target`: - - -``` -`$ systemctl list-unit-files --type target` -``` - -### Taking control with systemd - -Modern Linux uses systemd for service management and log introspection. It provides everything from personal Linux systems to enterprise servers with a modern mechanism for monitoring and easy maintenance. The more you use it, the more systemd becomes comfortably predictable and intuitive, and the more you discover how disparate parts of your system are interconnected. - -To get better acquainted with systemd, you must use it. And to get comfortable with using it, [download our cheat sheet][4] and refer to it often. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/4/sysadmins-love-systemd - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_4.png?itok=VGZO8CxT (Woman sitting in front of her laptop) -[2]: https://opensource.com/article/21/2/linux-automation -[3]: https://opensource.com/article/20/7/systemd-timers -[4]: https://opensource.com/downloads/linux-systemd-cheat-sheet diff --git a/translated/tech/20210415 5 reasons sysadmins love systemd.md b/translated/tech/20210415 5 reasons sysadmins love systemd.md new file mode 100644 index 0000000000..4efee33aa8 --- /dev/null +++ b/translated/tech/20210415 5 reasons sysadmins love systemd.md @@ -0,0 +1,196 @@ +[#]: subject: (5 reasons sysadmins love systemd) +[#]: via: (https://opensource.com/article/21/4/sysadmins-love-systemd) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (chai001125) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +系统管理员喜欢 systemd 的 5 个理由 +====== + +>Systemd 的速度和易用性使其成为管理现代 Linux 系统的流行方式。 + +![Woman sitting in front of her laptop][1] + +系统管理员知道一台运行着的**现代计算机**上会发生了很多事情:应用程序在后台运行、预定事件等待在特定时间被触发、事件写入日志文件、发送状态报告。在以前,不同的进程可以通过一系列 Unix 工具,来进行有效地管理和监控。然而,现代的计算机运作更为复杂了:本地服务与容器化应用程序一同运行、能够轻松访问云及其运行的集群、有实时进程以及有比以往都多的数据。 + +拥有统一的管理方法不但是用户想要的,也是忙碌的系统管理员所迫切渴望的。为了完成这项重要的任务,系统守护进程 system daemon 或 **systemd** 被开发出来,并迅速被所有主要的 Linux 发行版所采用了。 + +当然,systemd 并不是管理 Linux 系统的唯一方式,还有许多其他可供选择的 init 系统,包括 sysvinit、OpenRC、runit、s6,和 BusyBox,但 systemd 将 Linux 视为一个统一的数据集,意味着 systemd 能用强大的工具对 Linux 进行一致的操作和查询。对于忙碌的系统管理员和许多用户来说,systemd 的速度和易用性是一个重要的特性。有以下的五个原因。 + +### systemd 的 计算机启动管理 Boot management + +启动 Linux 计算机可能是一件非常罕见的事情。**服务器**的正常运行时间通常以 _年_ 来计算,而不是月或周。**笔记本电脑和台式机**可能会频繁地关闭和启动,但更多的时候它们是被挂起或休眠了。无论哪种类型,**最近一次开机的时刻**都可用于检查一段时间内的计算机健康情况,因为当你在监视系统或诊断问题时,这一时刻能够限制查看的数据量大小,从而让你快速地找到问题所在。 + +如果你不记得上次启动计算机的时间,你可以使用 systemd 的日志记录工具 `journalctl`,来列出计算机的所有启动时间: + +``` +$ journalctl --list-boots +-42 7fe7c3... Fri 2020-12-04 05:13:59 - Wed 2020-12-16 16:01:23 +-41 332e99... Wed 2020-12-16 20:07:39 - Fri 2020-12-18 22:08:13 +[...] +-1 e0fe5f... Mon 2021-03-29 20:47:46 - Mon 2021-03-29 21:59:29 + 0 37fbe4... Tue 2021-03-30 04:46:13 - Tue 2021-03-30 10:42:08 +``` + +最近一次启动时间输出在结果列表的底部,因此你可以通过管道将输出传输到 `tail`,来查看最近一次启动时间。 + +左侧的数字(在本例中为 42、41、1 和 0)是每个启动时间的索引号。换句话说,如果你要查看某一特定启动时间的日志,你可以使用这个索引号作为参数。 + +### systemd 的 日志记录 Log reviews + +查看日志是推断系统信息的一种重要方法。日志提供了计算机运行的大部分事件的历史记录,这些记录都是在没有你直接监督的情况下生成的。通过日志,你可以知道某一服务何时启动、定时任务何时运行、哪些服务在后台运行、哪些事件运行失败等等信息。故障排除的初始步骤是使用 systemd 的 `journalctl` 来查看日志: + +``` +`$ journalctl --pager-end` +``` + +`--pager-end` 选项(简写为 `-e`)会在 `journalctl` 的输出末尾开始查看日志,因此要查看更早发生的日志,你需要向上滚动。 + +Systemd 维护一个错误信息的“目录”,错误信息包含错误记录、可能的解决方案、支持论坛的指针和开发人员文档。这个错误信息的“目录”能为日志事件提供重要的上下文,否则它可能会成为海量日志中的一个令人困惑的信息,或者更糟的是,错误信息可能会完全被忽视。要将错误消息与日志中的解释性文本放在一起输出,你可以使用`--catalog`选项(简写为 `-x`): + +``` +`$ journalctl --pager-end --catalog` +``` + +要进一步限定日志输出,你可以指定要查看哪个启动时间的日志。因为每个启动时间都有索引,所以你可以使用 `--boot` 选项,来指定某个启动时间,并仅查看该启动时间的日志: + +``` +`$ journalctl --pager-end --catalog --boot 42` +``` + +你还可以查看特定 systemd 单元的日志。例如,要解决 SSH 服务的问题,你可以指定 `--unit sshd` 选项,来仅查看适用于 `sshd` 守护程序的日志: + +``` +$ journalctl --pager-end \ +\--catalog --boot 42 \ +\--unit sshd +``` + +### systemd 的 服务管理 Service management + +systemd 的第一个任务就是启动你的计算机,systemd 会迅速、高效且有效地执行这一任务。但 systemd 一直需要管理的任务是 服务管理 service management ,因为 systemd 需要确保你要运行的服务确实在你的会话期间启动,并继续运行。systemd 的这一功能非常稳健,因为理论上即使是一个崩溃的服务也可以在没有你干预的情况下重新启动。 + +你可以通过使用 `systemctl` 命令,来接入 systemd 管理服务接口,并能查看定义服务的 单元文件 unit files : + +``` +$ systemctl cat sshd +# /usr/lib/systemd/system/sshd.service +[Unit] +Description=OpenSSH server daemon +Documentation=man:sshd(8) man:sshd_config(5) +After=network.target sshd-keygen.target +Wants=sshd-keygen.target + +[Service] +Type=notify +EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config +EnvironmentFile=-/etc/sysconfig/sshd +ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process +Restart=on-failure +RestartSec=42s + +[Install] +WantedBy=multi-user.target +``` + +大多数单元文件都在 `/usr/lib/systemd/system/` 目录下,但是你也可以在本地更改文件中的配置,请使用以下的接口: + +``` +`$ systemctl edit sshd` +``` + +你可以通过 `is-active` 选项,来查看某一服务当前是否处于活动状态: + +``` +$ systemctl is-active sshd +active +$ systemctl is-active foo +inactive +``` + +同样地,你可以通过 `is-failed` 选项,来查看某一服务是否运行失败了。 + +``` +$ systemctl is-failed sshd +``` + +使用以下命令,来启动或者停止某一服务: + +``` +$ systemctl stop sshd +$ systemctl start sshd +``` + +使用以下命令,让某一服务在开机时自启动: + +``` +`$ systemctl enable sshd` +``` + +添加 `--now` 选项,让某一服务在开机时启动或在当前会话中立即启动。 + +### systemd 的 Timers 管理 + +在以前,当你想在 Linux 上自动执行一项任务时,你可以使用的工具是 `cron`。如今,`cron` 命令仍能使用,但对于在 Linux 上自动执行一项任务,也有一些其他好用的替代方案。例如,[`anacron` 命令][2] 是一个多功能的、类似于 `cron` 的系统,它能够运行在停机期间可能会错过的任务。 + +计划的事件就是在特定时间需要激活的服务。systemd 管理一个名为 [timers][3] 的工具,它类似 cron 的功能。你可以使用以下命令,来列出活动中的计时器: + +``` +$ systemctl list-timers +NEXT                          LEFT       +Tue 2021-03-30 12:37:54 NZDT  16min left [...] +Wed 2021-03-31 00:00:00 NZDT  11h left [...] +Wed 2021-03-31 06:42:02 NZDT  18h left [...] + +3 timers listed. +Pass --all to see loaded but inactive timers, too. +``` + +你可以使用以下命令,来像启用服务一样启用计时器: + +``` +`$ systemctl enable myMonitor.timer` +``` + +### systemd 的 Targets 管理 + +Targets 是 systemd 的最后一个主要组成部分。Targets 是一个单元文件,与服务和计时器相同,Targets 也可以以相同的方式启动和启用。Targets 的独特之处在于它们以一种任意重要的方式对其他单元文件进行分组。例如,你可能希望开机到文本控制台界面而不是图形桌面,因此有 `multi-user` Target 存在。但是,`multi-user` Target 只是没有桌面单元文件作为依赖项的 `graphical` target。 + +简而言之,Targets 是一种将服务、计时器甚至其他的 Targets 收集在一起,以表示机器的预期状态的简单方法。 + +事实上,在 systemd 中,重启、关机或关闭操作只是又一个 Target。 + +你可以使用 `list-unit-files` 选项,来列出所有可用的 Targets,用 `--type` 选项将其限制为 `target`: + +``` +`$ systemctl list-unit-files --type target` +``` + +### 快使用 systemd 对计算机进行控制管理吧 + +现代的 Linux 使用 systemd 进行服务管理和日志检查。从个人的 Linux 系统到企业服务器,systemd 都能提供有效的监控,并且十分易于维护。你越频繁地使用 systemd,systemd 对你而言就会变得越容易预测和直观,你就会明白系统的不同部分是如何相互关联的。 + +为了更好地熟悉 systemd,请现在就开始使用它吧。请 [下载关于 systemd 相关命令的备忘录][4],你可以在实际使用 systemd 中经常参考这个备忘录,这样你就能更快熟悉使用 systemd 啦! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/4/sysadmins-love-systemd + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_4.png?itok=VGZO8CxT (Woman sitting in front of her laptop) +[2]: https://opensource.com/article/21/2/linux-automation +[3]: https://opensource.com/article/20/7/systemd-timers +[4]: https://opensource.com/downloads/linux-systemd-cheat-sheet From c64dd35b55920764173d9c77d3005cd695d52603 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sun, 27 Nov 2022 14:33:13 +0800 Subject: [PATCH 541/925] =?UTF-8?q?Delete=2020221121.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=205=20htop=20Alternatives=20to=20En?= =?UTF-8?q?hance=20Your=20Linux=20System=20Monitoring=20Experience.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Enhance Your Linux System Monitoring Experience.md | 159 ------------------ 1 file changed, 159 deletions(-) delete mode 100644 sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md diff --git a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md deleted file mode 100644 index b800f93837..0000000000 --- a/sources/tech/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md +++ /dev/null @@ -1,159 +0,0 @@ -[#]: subject: "5 htop Alternatives to Enhance Your Linux System Monitoring Experience" -[#]: via: "https://itsfoss.com/htop-alternatives/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -5 htop Alternatives to Enhance Your Linux System Monitoring Experience -====== - -htop is a popular command-line tool to help monitor the system’s resources and performance on Linux. - -**It’s better than top**, often available by default out of the box. - -With htop, you can filter and sort processes to understand things better, get a tree view of the processes running, and kill processes when needed. - -![htop 2022][1] - -I use htop over other system monitoring tools because it displays what’s essential to me and allows terminating rogue/frozen processes when I need to take control of running services. - -But, if you want something else that displays more info or looks different, what are some **htop alternatives**? Let’s take a look. - -**Recommended Read**: [7 System Monitoring Tools for Linux to Keep an Eye on Vital System Stats][2] - -### 1. atop - -![atop 2022][3] - -[atop][4] is all about running process details. You get all the data you need to understand the processing on your system. - -It also provides the ability to make a permanent log of resource utilization for long-term analysis. A system administrator might find this more useful than anyone else. - -Unfortunately, it does not provide you with a pretty output. So, if you want that, keep looking at the other options below. - -#### How to install atop? - -For Ubuntu/Debian-based distributions, type in: - -``` -sudo apt install atop -``` - -### 2. vtop - -![vtop 2022][5] - -[vtop][6] is the perfect system monitoring utility if you want a good-looking output and essential features to manage processes. - -The output looks like a GUI in a terminal, as I’ve stated in some of my other articles. You can have mouse support or choose to disable it. The theme can also be customized. - -It is built using Node.js. So, you need to install additional packages to get it installed. - -Unfortunately, this project seems to be no longer actively maintained. But, it worked for me at the time of writing this article. - -#### How to install vtop? - -For Ubuntu-based distros, enter the following commands in the terminal: - -``` -sudo apt install nodejs -sudo apt install npm -sudo npm install -g vtop -``` - -### 3. btop++ - -![btop][7] - -[btop++][8] is a C++ version of bashtop and bpytop. And, yes, it is the third iteration of those projects by the same developer. - -btop++ includes full mouse support, features a game-inspired menu system, lets you filter processes, get a tree view, and more. - -#### How to install btop++? - -Using the official repositories, you can easily install it on Fedora, OpenSUSE, and FreeBSD. - -For Fedora, you can type in: - -``` -sudo dnf install btop -``` - -You can explore its [GitHub page][8] for options to install on other Linux distributions. - -### 4. Glances - -![glances 2022][9] - -Glances is similar to htop, but with more features. - -It is a cross-platform system monitoring utility that can export data as CSV or other formats for InfluxDB, Elasticsearch, and more. - -You can also utilize its web user interface to check the stats remotely or without access to the terminal. - -#### How to Install Glances? - -For Ubuntu-based distros, you can type in: - -``` -sudo apt install glances -``` - -### 5. nmon - -![nmon 2022 1][10] - -[nmon][11] is an impressive monitoring utility that lets you control what you want to display as the output. - -You can extract the monitoring data (export it as CSV) and use it for further analysis. It is easy to toggle statistics and switch between different views. - -By default, it refreshes the data every two seconds, but you can customize it and access more options to tweak your experience. - -#### How to install nmon? - -You can find it in the official repositories. For Ubuntu-based distros, type in the following in the terminal: - -``` -sudo apt install nmon -``` - -### Wrapping Up - -![top 2022][12] - -The top command utility comes baked in with your Linux system. If you want a no-nonsense monitoring utility and want to keep an eye on system processes and some stats, top is sufficient. - -Not sure if I can count it as an enhanced experience over htop and that’s the reason why top is not included in the main list. - -As you can see here, some monitoring utilities may be fun and prove to be more insightful than htop. - -_What is your favorite htop replacement? Do you think htop is more than enough for your use-case? Feel free to let me know your thoughts in the comments down below._ - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/htop-alternatives/ - -作者:[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/11/htop-2022.png -[2]: https://itsfoss.com/linux-system-monitoring-tools/ -[3]: https://itsfoss.com/wp-content/uploads/2022/11/atop-2022.png -[4]: https://www.atoptool.nl/index.php -[5]: https://itsfoss.com/wp-content/uploads/2022/11/vtop-2022.png -[6]: https://github.com/MrRio/vtop -[7]: https://itsfoss.com/wp-content/uploads/2022/11/btop.png -[8]: https://github.com/aristocratos/btop -[9]: https://itsfoss.com/wp-content/uploads/2022/11/glances-2022.png -[10]: https://itsfoss.com/wp-content/uploads/2022/11/nmon-2022-1.png -[11]: https://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage -[12]: https://itsfoss.com/wp-content/uploads/2022/11/top-2022.png From 848e5464857ba4cf6203d05911bfa5cb5bed4c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 27 Nov 2022 18:23:34 +0800 Subject: [PATCH 542/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221122.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Introducing=20Rust=20calls=20to=20C=20libr?= =?UTF-8?q?ary=20functions.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Introducing Rust calls to C library functions.md | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md diff --git a/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md new file mode 100644 index 0000000000..43f516aa5c --- /dev/null +++ b/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md @@ -0,0 +1,283 @@ +[#]: subject: "Introducing Rust calls to C library functions" +[#]: via: "https://opensource.com/article/22/11/rust-calls-c-library-functions" +[#]: author: "Marty Kalin https://opensource.com/users/mkalindepauledu" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Introducing Rust calls to C library functions +====== + +Why call C functions from Rust? The short answer is software libraries. A longer answer touches on where C stands among programming languages in general and towards Rust in particular. C, C++, and Rust are systems languages, which give programmers access to machine-level data types and operations. Among these three systems languages, C remains the dominant one. The kernels of modern operating systems are written mainly in C, with assembly language accounting for the rest. The standard system libraries for input and output, number crunching, cryptography, security, networking, internationalization, string processing, memory management, and more, are likewise written mostly in C. These libraries represent a vast infrastructure for applications written in any other language. Rust is well along the way to providing fine libraries of its own, but C libraries—​around since the 1970s and still growing—​are a resource not to be ignored. Finally, C is still the [lingua franca][1] among programming languages: most languages can talk to C and, through C, to any other language that does so. + +### Two proof-of-concept examples + +Rust has an FFI (Foreign Function Interface) that supports calls to C functions. An issue for any FFI is whether the calling language covers the data types in the called language. For example, `ctypes` is an FFI for calls from Python into C, but Python doesn't cover the unsigned integer types available in C. As a result, `ctypes` must resort to workarounds. + +By contrast, Rust covers all the primitive (that is, machine-level) types in C. For example, the Rust `i32` type matches the C `int` type. C specifies only that the `char` type must be one byte in size and other types, such as `int`, must be at least this size; but nowadays every reasonable C compiler supports a four-byte `int`, an eight-byte `double` (in Rust, the `f64` type), and so on. + +There is another challenge for an FFI directed at C: Can the FFI handle C's raw pointers, including pointers to arrays that count as strings in C? C does not have a string type, but rather implements strings as character arrays with a non-printing terminating character, the _null terminator_ of legend. By contrast, Rust has two string types: `String` and `&str` (string slice). The question, then, is whether the Rust FFI can transform a C string into a Rust one—​and the answer is _yes_. + +Pointers to structures also are common in C. The reason is efficiency. By default, a C structure is passed _by_value (that is, by a byte-per-byte copy) when a structure is either an argument passed to a function or a value returned from one. C structures, like their Rust counterparts, can include arrays and nest other structures and so be arbitrarily large in size. Best practice in either language is to pass and return structures by reference, that is, by passing or returning the structure's address rather than a copy of the structure. Once again, the Rust FFI is up to the task of handling C pointers to structures, which are common in C libraries. + +The first code example focuses on calls to relatively simple C library functions such as `abs` (absolute value) and `sqrt` (square root). These functions take non-pointer scalar arguments and return a non-pointer scalar value. The second code example, which covers strings and pointers to structures, introduces the [bindgen][2] utility, which generates Rust code from C interface (header) files such as `math.h` and `time.h`. C header files specify the calling syntax for C functions and define structures used in such calls. The two code examples are [available on my homepage][3]. + +### Calling relatively simple C functions + +The first code example has four Rust calls to C functions in the standard mathematics library: one call apiece to `abs` (absolute value) and `pow` (exponentiation), and two calls to `sqrt` (square root). The program can be built directly with the `rustc` compiler, or more conveniently with the `cargo build` command: + +``` +use std::os::raw::c_int; // 32 bits +use std::os::raw::c_double; // 64 bits + +// Import three functions from the standard library libc. +// Here are the Rust declarations for the C functions: +extern "C" { + fn abs(num: c_int) -> c_int; + fn sqrt(num: c_double) -> c_double; + fn pow(num: c_double, power: c_double) -> c_double; +} + +fn main() { + let x: i32 = -123; + println!("\nAbsolute value of {x}: {}.", unsafe { abs(x) }); + + let n: f64 = 9.0; + let p: f64 = 3.0; + println!("\n{n} raised to {p}: {}.", unsafe { pow(n, p) }); + + let mut y: f64 = 64.0; + println!("\nSquare root of {y}: {}.", unsafe { sqrt(y) }); + + y = -3.14; + println!("\nSquare root of {y}: {}.", unsafe { sqrt(y) }); //** NaN = NotaNumber +} +``` + +The two `use` declarations at the top are for the Rust data types `c_int` and `c_double`, which match the C types `int` and `double`, respectively. The standard Rust module `std::os::raw` defines fourteen such types for C compatibility. The module `std::ffi` has the same fourteen type definitions together with support for strings. + +The `extern "C"` block above the `main` function then declares the three C library functions called in the `main` function below. Each call uses the standard C function's name, but each call must occur within an `unsafe` block. As every programmer new to Rust discovers, the Rust compiler enforces memory safety with a vengeance. Other languages (in particular, C and C++) do not make the same guarantees. The `unsafe` block thus says: Rust takes no responsibility for whatever unsafe operations may occur in the external call. + +The first program's output is: + +``` +Absolute value of -123: 123. +9 raised to 3: 729 +Square root of 64: 8. +Square root of -3.14: NaN. +``` + +In the last output line, the `NaN` stands for Not a Number: the C `sqrt` library function expects a non-negative value as its argument, which means that the argument -3.14 generates `NaN` as the returned value. + +### Calling C functions involving pointers + +C library functions in security, networking, string processing, memory management, and other areas regularly use pointers for efficiency. For example, the library function `asctime` (time as an ASCII string) expects a pointer to a structure as its single argument. A Rust call to a C function such as `asctime` is thus trickier than a call to `sqrt`, which involves neither pointers nor structures. + +The C structure for the `asctime` function call is of type `struct tm`. A pointer to such a structure also is passed to library function `mktime` (make a time value). The structure breaks a time into units such as the year, the month, the hour, and so forth. The structure's fields are of type `time_t`, an alias for for either `int` (32 bits) or `long` (64 bits). The two library functions combine these broken-apart time pieces into a single value: `asctime` returns a string representation of the time, whereas `mktime` returns a `time_t` value that represents the number of elapsed seconds since the _epoch_, which is a time relative to which a system's clock and timestamp are determined. Typical epoch settings are January 1 00:00:00 (zero hours, minutes, and seconds) of either 1900 or 1970. + +The C program below calls `asctime` and `mktime`, and uses another library function `strftime` to convert the `mktime` returned value into a formatted string. This program acts as a warm-up for the Rust version: + +``` +#include +#include + +int main () { + struct tm sometime; /* time broken out in detail */ + char buffer[80]; + int utc; + + sometime.tm_sec = 1; + sometime.tm_min = 1; + sometime.tm_hour = 1; + sometime.tm_mday = 1; + sometime.tm_mon = 1; + sometime.tm_year = 1; + sometime.tm_hour = 1; + sometime.tm_wday = 1; + sometime.tm_yday = 1; + + printf("Date and time: %s\n", asctime(&sometime)); + + utc = mktime(&sometime); + if( utc < 0 ) { + fprintf(stderr, "Error: unable to make time using mktime\n"); + } else { + printf("The integer value returned: %d\n", utc); + strftime(buffer, sizeof(buffer), "%c", &sometime); + printf("A more readable version: %s\n", buffer); + } + + return 0; +} +``` + +The program outputs: + +``` +Date and time: Fri Feb  1 01:01:01 1901 +The integer value returned: 2120218157 +A more readable version: Fri Feb  1 01:01:01 1901 +``` + +In summary, the Rust calls to library functions `asctime` and `mktime` must deal with two issues: + +- Passing a raw pointer as the single argument to each library function. +- Converting the C string returned from `asctime` into a Rust string. + +### Rust calls to `asctime` and `mktime` + +The `bindgen` utility generates Rust support code from C header files such as `math.h` and `time.h`. In this example, a simplified version of `time.h` will do but with two changes from the original: + +- The built-in type `int` is used instead of the alias type `time_t`. The bindgen utility can handle the `time_t` type but generates some distracting warnings along the way because `time_t` does not follow Rust naming conventions: in `time_t` an underscore separates the `t` at the end from the `time` that comes first; Rust would prefer a CamelCase name such as `TimeT`. +- The type `struct tm` type is given `StructTM` as an alias for the same reason. + +Here is the simplified header file with declarations for `mktime` and `asctime` at the bottom: + +``` +typedef struct tm { + int tm_sec; /* seconds */ + int tm_min; /* minutes */ + int tm_hour; /* hours */ + int tm_mday; /* day of the month */ + int tm_mon; /* month */ + int tm_year; /* year */ + int tm_wday; /* day of the week */ + int tm_yday; /* day in the year */ + int tm_isdst; /* daylight saving time */ +} StructTM; + +extern int mktime(StructTM*); +extern char* asctime(StructTM*); +``` + +With `bindgen` installed, `%` as the command-line prompt, and `mytime.h` as the header file above, the following command generates the required Rust code and saves it in the file `mytime.rs`: + +``` +% bindgen mytime.h > mytime.rs +``` + +Here is the relevant part of `mytime.rs`: + +``` +/* automatically generated by rust-bindgen 0.61.0 */ + +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tm { + pub tm_sec: ::std::os::raw::c_int, + pub tm_min: ::std::os::raw::c_int, + pub tm_hour: ::std::os::raw::c_int, + pub tm_mday: ::std::os::raw::c_int, + pub tm_mon: ::std::os::raw::c_int, + pub tm_year: ::std::os::raw::c_int, + pub tm_wday: ::std::os::raw::c_int, + pub tm_yday: ::std::os::raw::c_int, + pub tm_isdst: ::std::os::raw::c_int, +} + +pub type StructTM = tm; + +extern "C" { + pub fn mktime(arg1: *mut StructTM) -> ::std::os::raw::c_int; +} + +extern "C" { + pub fn asctime(arg1: *mut StructTM) -> *mut ::std::os::raw::c_char; +} + +#[test] +fn bindgen_test_layout_tm() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tm)) + ); + ... +``` + +The Rust structure `struct tm`, like the C original, contains nine 4-byte integer fields. The field names are the same in C and Rust. The `extern "C"` blocks declare the library functions `asctime` and `mktime` as taking one argument apiece, a raw pointer to a mutable `StructTM` instance. (The library functions may mutate the structure via the pointer passed as an argument.) + +The remaining code, under the `#[test]` attribute, tests the layout of the Rust version of the time structure. The test can be run with the `cargo test` command. At issue is that C does not specify how the compiler must lay out the fields of a structure. For example, the C `struct tm` starts out with the field `tm_sec` for the second; but C does not require that the compiled version has this field as the first. In any case, the Rust tests should succeed and the Rust calls to the library functions should work as expected. + +### Getting the second example up and running + +The code generated from `bindgen` does not include a `main` function and, therefore, is a natural module. Below is the `main` function with the `StructTM` initialization and the calls to `asctime` and `mktime`: + +``` +mod mytime; +use mytime::*; +use std::ffi::CStr; + +fn main() { + let mut sometime = StructTM { + tm_year: 1, + tm_mon: 1, + tm_mday: 1, + tm_hour: 1, + tm_min: 1, + tm_sec: 1, + tm_isdst: -1, + tm_wday: 1, + tm_yday: 1 + }; + + unsafe { + let c_ptr = &mut sometime; // raw pointer + + // make the call, convert and then own + // the returned C string + let char_ptr = asctime(c_ptr); + let c_str = CStr::from_ptr(char_ptr); + println!("{:#?}", c_str.to_str()); + + let utc = mktime(c_ptr); + println!("{}", utc); + } +} +``` + +The Rust code can be compiled (using either `rustc` directly or `cargo`) and then run. The output is: + +``` +Ok( +    "Mon Feb  1 01:01:01 1901\n", +) +2120218157 +``` + +The calls to the C functions `asctime` and `mktime` again must occur inside an `unsafe` block, as the Rust compiler cannot be held responsible for any memory-safety mischief in these external functions. For the record, `asctime` and `mktime` are well behaved. In the calls to both functions, the argument is the raw pointer `ptr`, which holds the (stack) address of the `sometime` structure. + +The call to `asctime` is the trickier of the two calls because this function returns a pointer to a C `char`, the character `M` in `Mon` of the text output. Yet the Rust compiler does not know where the C string (the null-terminated array of `char`) is stored. In the static area of memory? On the heap? The array used by the `asctime` function to store the text representation of the time is, in fact, in the static area of memory. In any case, the C-to-Rust string conversion is done in two steps to avoid compile-time errors: + +- The call `Cstr::from_ptr(char_ptr)` converts the C string to a Rust string and returns a reference stored in the `c_str` variable. +- The call to `c_str.to_str()` ensures that `c_str` is the owner. + +The Rust code does not generate a human-readable version of the integer value returned from `mktime`, which is left as an exercise for the interested. The Rust module `chrono::format` includes a `strftime` function, which can be used like the C function of the same name to get a text representation of the time. + +### Calling C with FFI and bindgen + +The Rust FFI and the `bindgen` utility are well designed for making Rust calls out to C libraries, whether standard or third-party. Rust talks readily to C and thereby to any other language that talks to C. For calling relatively simple library functions such as `sqrt`, the Rust FFI is straightforward because Rust's primitive data types cover their C counterparts. + +For more complicated interchanges—​in particular, Rust calls to C library functions such as `asctime` and `mktime` that involve structures and pointers—​the `bindgen` utility is the way to go. This utility generates the support code together with appropriate tests. Of course, the Rust compiler cannot assume that C code measures up to Rust standards when it comes to memory safety; hence, calls from Rust to C must occur in `unsafe` blocks. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/rust-calls-c-library-functions + +作者:[Marty Kalin][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/mkalindepauledu +[b]: https://github.com/lkxed +[1]: https://en.wikipedia.org/wiki/Lingua_franca +[2]: https://github.com/rust-lang/rust-bindgen +[3]: https://condor.depaul.edu/mkalin + From 10940d9bf06a59697a7aa7d2586967ea1a869b8b Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 27 Nov 2022 19:44:36 +0800 Subject: [PATCH 543/925] translating --- .../tech/20221122.0 ⭐️ Find bugs with the git bisect command.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md index 7250da150b..ca9338b162 100644 --- a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md +++ b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/git-bisect" [#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 05154729e2d10aa88bf5e597d4dd6c0af124d859 Mon Sep 17 00:00:00 2001 From: ZZJ Date: Sun, 27 Nov 2022 23:49:35 +0800 Subject: [PATCH 544/925] translating --- .../tech/20210330 A DevOps guide to documentation.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sources/tech/20210330 A DevOps guide to documentation.md b/sources/tech/20210330 A DevOps guide to documentation.md index 4f9defbb3b..159dcda360 100644 --- a/sources/tech/20210330 A DevOps guide to documentation.md +++ b/sources/tech/20210330 A DevOps guide to documentation.md @@ -2,13 +2,13 @@ [#]: via: (https://opensource.com/article/21/3/devops-documentation) [#]: author: (Will Kelly https://opensource.com/users/willkelly) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (Veryzzj) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) - A DevOps guide to documentation ====== + Bring your documentation writing into the DevOps lifecycle. ![Typewriter with hands][1] @@ -52,11 +52,9 @@ Documentation also plays a role in DevOps transformation. You're going to want t Often it's developers who shoulder the work of documenting DevOps practices. Even if their organizations have technical writers, they might work across development teams. Thus, it's important that developers and sysadmins can capture, document, and communicate their best practices. Here are some tips to get that effort going in the right direction: - * Invest the time upfront to create a standard template for your DevOps best practices. Don't fall into the trap of copying a template you find online. Interview your stakeholders and teams to create a template that meets your team's needs. - * Look for ways to be creative with information gathering, such as recording your team meetings and using chat system logs to serve as a foundation for your documentation. - * Establish a wiki for publishing your best practices. Use a wiki that lets you maintain an audit trail of edits and updates. Such a platform sets your teams up to update and maintain best practices as they change. - - +* Invest the time upfront to create a standard template for your DevOps best practices. Don't fall into the trap of copying a template you find online. Interview your stakeholders and teams to create a template that meets your team's needs. +* Look for ways to be creative with information gathering, such as recording your team meetings and using chat system logs to serve as a foundation for your documentation. +* Establish a wiki for publishing your best practices. Use a wiki that lets you maintain an audit trail of edits and updates. Such a platform sets your teams up to update and maintain best practices as they change. It's smart to document dependencies as you build out your CI/CD toolchains. Such an effort pays off when you onboard new team members. It's also a little bit of insurance when a team member forgets something. From 94580f87b088d93215a7f787e696bde244288a7f Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 28 Nov 2022 08:36:50 +0800 Subject: [PATCH 545/925] translated --- ...OpenOffice in Arch Linux [Beginner’s Guide].md | 84 ------------------- ...OpenOffice in Arch Linux [Beginner’s Guide].md | 84 +++++++++++++++++++ 2 files changed, 84 insertions(+), 84 deletions(-) delete mode 100644 sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md create mode 100644 translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md diff --git a/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md deleted file mode 100644 index 3765db74bb..0000000000 --- a/sources/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md +++ /dev/null @@ -1,84 +0,0 @@ -[#]: subject: "How to Install OpenOffice in Arch Linux [Beginner’s Guide]" -[#]: via: "https://www.debugpoint.com/install-openoffice-arch/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install OpenOffice in Arch Linux [Beginner’s Guide] -====== - -**An absolute beginner’s guide to install OpenOffice in Arch Linux and its derivatives.** - -[OpenOffice][1] is the oldest free and open-source office productivity suite which has been under maintenance for some time. It was developed by Apache and is still a sought-after suite, although it has been forked as LibreOffice. - -This tutorial is for those who want to install OpenOffice for their work and other needs. - -**Note**: Before you install, remember that many updated features and compatibility with Microsoft Office are not thoroughly supported in OpenOffice. If you want a more modern version of Office suite, try [LibreOffice][2]. - -### Installing OpenOffice in Arch Linux - -The [OpenOffice package][3] is available in Arch User Repository. So, to install it, you need to use an Aur helper program. Here’s what you need to do. Follow the steps mentioned below to install Yay AUR helper. A detailed guide is [present here][4] if you want to learn more about Yay. - -- Run the following commands in sequence to install basic packages and clone Yay. - -``` -sudo pacman -S base-develsudo pacman -S gitcd /optsudo git clone https://aur.archlinux.org/yay.git -``` - -- Run the following command by replacing `debugpoint` with your Arch system’s user name. - -``` -sudo chown -R debugpoint:users ./yay -``` - -- Finally, install the AUR helper using the following command. - -``` -cd yaymakepkg -si -``` - -- Once finished, install OpenOffice using the following: - -``` -yay -S openoffice-bin -``` - -![Install OpenOffice in Arch Linux via Yay helper][5] - -Follow the onscreen instructions. After installation, you can find it in the application menu, as shown in the below image. - -Launch OpenOffice and add your name and details to the start wizard, and you are good to go. - -![OpenOffice in Arch Linux Application Menu (XFCE)][6] - -![Latest OpenOffice running in Arch Linux][7] - -### Wrapping Up - -Using the above method, you can also install OpenOffice in Majnaro and other Arch Linux-based distros. Although it is an older office productivity suite, you should remember that it is not fully compatible with modern Microsoft Office document types (such as docx, xlsx). - -If you run into any errors during installation, drop us a note in the comment box below. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/install-openoffice-arch/ - -作者:[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.openoffice.org/ -[2]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ -[3]: https://aur.archlinux.org/packages/openoffice-bin -[4]: https://www.debugpoint.com/install-yay-arch/ -[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-OpenOffice-in-Arch-Linux-via-Yay-helper.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/OpenOffice-in-Arch-Linux-Application-Menu-XFCE.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Latest-OpenOffice-running-in-Arch-Linux.jpg diff --git a/translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md new file mode 100644 index 0000000000..9fefcb15a6 --- /dev/null +++ b/translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md @@ -0,0 +1,84 @@ +[#]: subject: "How to Install OpenOffice in Arch Linux [Beginner’s Guide]" +[#]: via: "https://www.debugpoint.com/install-openoffice-arch/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Arch Linux 中安装 OpenOffice(新手指南) +====== + +**在 Arch Linux 及其衍生版中安装 OpenOffice 的初学者指南。** + +[OpenOffice][1] 是最古老的免费开源办公生产力套件,已经维护了一段时间。它是由 Apache 开发,尽管它已经被分叉为 LibreOffice,但仍然是一个受欢迎的套件。 + +本教程适用于那些想要安装 OpenOffice 以满足工作和其他需要的人。 + +**注意**:在安装之前,请记住许多更新的功能和与 Microsoft Office 的兼容性在 OpenOffice 中并未得到完全支持。如果你想要更现代的 Office 套件版本,请尝试 [LibreOffice][2]。 + +### 在 Arch Linux 中安装 OpenOffice + +[OpenOffice 软件包][3]在 Arch 用户仓库中可用。因此,要安装它,你需要使用 Aur 助手程序。这是你需要做的。按照下面提到的步骤安装 Yay AUR 助手。如果你想了解有关 Yay 的更多信息,请参阅[此处提供][4]的详细指南。 + +- 依次运行以下命令来安装基本包并克隆 Yay。 + +``` +sudo pacman -S base-develsudo pacman -S gitcd /optsudo git clone https://aur.archlinux.org/yay.git +``` + +- 通过将 `debugpoint` 替换为你的 Arch 系统的用户名来运行以下命令。 + +``` +sudo chown -R debugpoint:users ./yay +``` + +- 最后,使用以下命令安装 AUR 助手。 + +``` +cd yaymakepkg -si +``` + +- 完成后,使用以下命令安装 OpenOffice: + +``` +yay -S openoffice-bin +``` + +![通过 Yay 助手在 Arch Linux 中安装 OpenOffice][5] + +按照屏幕上的说明进行操作。安装后,你可以在应用菜单中找到它,如下图所示。 + +启动 OpenOffice 并将你的姓名和详细信息添加到启动向导中,你就可以使用了。 + +![Arch Linux 应用菜单 (XFCE) 中的 OpenOffice][6] + +![在 Arch Linux 中运行的最新 OpenOffice][7] + +### 总结 + +使用上述方法,你还可以在 Majnaro 和其他基于 Arch Linux 的发行版中安装 OpenOffice。尽管它是一个较旧的办公生产力套件,但你应该记住,它并不完全兼容现代 Microsoft Office 文档类型(例如 docx、xlsx)。 + +如果你在安装过程中遇到任何错误,请在下面的评论栏中给我们留言。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/install-openoffice-arch/ + +作者:[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.openoffice.org/ +[2]: https://www.debugpoint.com/install-latest-libreoffice-ubuntu-linux/ +[3]: https://aur.archlinux.org/packages/openoffice-bin +[4]: https://www.debugpoint.com/install-yay-arch/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-OpenOffice-in-Arch-Linux-via-Yay-helper.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/11/OpenOffice-in-Arch-Linux-Application-Menu-XFCE.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Latest-OpenOffice-running-in-Arch-Linux.jpg From 91f080d057e8f37b36bca295ad925d5c7100e876 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 28 Nov 2022 08:43:06 +0800 Subject: [PATCH 546/925] translating --- ...henticator A Simple Open-Source App to Replace Authy on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md index 0cccbd0d2b..7d45fb7afd 100644 --- a/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md +++ b/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/authenticator/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 2345c31219c53af7268b6cd73f6d60d259b395b0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 28 Nov 2022 08:59:36 +0800 Subject: [PATCH 547/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 https://linux.cn/article-15296-1.html 根据语境和惯例,我做了一些校对。 --- ...210415 5 reasons sysadmins love systemd.md | 83 ++++++++++--------- 1 file changed, 42 insertions(+), 41 deletions(-) rename {translated/tech => published}/20210415 5 reasons sysadmins love systemd.md (58%) diff --git a/translated/tech/20210415 5 reasons sysadmins love systemd.md b/published/20210415 5 reasons sysadmins love systemd.md similarity index 58% rename from translated/tech/20210415 5 reasons sysadmins love systemd.md rename to published/20210415 5 reasons sysadmins love systemd.md index 4efee33aa8..80c82ef369 100644 --- a/translated/tech/20210415 5 reasons sysadmins love systemd.md +++ b/published/20210415 5 reasons sysadmins love systemd.md @@ -3,28 +3,28 @@ [#]: author: (Seth Kenlon https://opensource.com/users/seth) [#]: collector: (lujun9972) [#]: translator: (chai001125) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15296-1.html) 系统管理员喜欢 systemd 的 5 个理由 ====== ->Systemd 的速度和易用性使其成为管理现代 Linux 系统的流行方式。 +> systemd 的速度和易用性使其成为管理现代 Linux 系统的流行方式。 -![Woman sitting in front of her laptop][1] +![][0] -系统管理员知道一台运行着的**现代计算机**上会发生了很多事情:应用程序在后台运行、预定事件等待在特定时间被触发、事件写入日志文件、发送状态报告。在以前,不同的进程可以通过一系列 Unix 工具,来进行有效地管理和监控。然而,现代的计算机运作更为复杂了:本地服务与容器化应用程序一同运行、能够轻松访问云及其运行的集群、有实时进程以及有比以往都多的数据。 +系统管理员知道,在一台运行着的**现代计算机**上会发生很多事情:应用程序在后台运行、预定事件等待在特定时间被触发、事件写入日志文件、发送状态报告。在以前,不同的进程可以通过一系列 Unix 工具,来进行有效地管理和监控。然而,现代的计算机运作更为复杂了:本地服务与容器化应用程序一同运行、能够轻松访问云及其运行的集群、实时进程、以及有比以往都多的数据。 -拥有统一的管理方法不但是用户想要的,也是忙碌的系统管理员所迫切渴望的。为了完成这项重要的任务,系统守护进程 system daemon 或 **systemd** 被开发出来,并迅速被所有主要的 Linux 发行版所采用了。 +拥有统一的管理方法不但是用户想要的,也是忙碌的系统管理员所迫切渴望的。为了完成这项重要的任务,系统守护进程 system daemon (**systemd**) 被开发出来,并迅速被所有主要的 Linux 发行版所采用了。 -当然,systemd 并不是管理 Linux 系统的唯一方式,还有许多其他可供选择的 init 系统,包括 sysvinit、OpenRC、runit、s6,和 BusyBox,但 systemd 将 Linux 视为一个统一的数据集,意味着 systemd 能用强大的工具对 Linux 进行一致的操作和查询。对于忙碌的系统管理员和许多用户来说,systemd 的速度和易用性是一个重要的特性。有以下的五个原因。 +当然,systemd 并不是管理 Linux 系统的唯一方式,还有许多其他可供选择的初始化系统,包括 sysvinit、OpenRC、runit、s6 和 BusyBox,但 systemd 将 Linux 视为一个统一的数据集,意味着 systemd 能用强大的工具对 Linux 进行一致的操作和查询。对于忙碌的系统管理员和许多用户来说,systemd 的速度和易用性是一个重要的特性。有以下的五个原因。 -### systemd 的 计算机启动管理 Boot management +### 启动管理 启动 Linux 计算机可能是一件非常罕见的事情。**服务器**的正常运行时间通常以 _年_ 来计算,而不是月或周。**笔记本电脑和台式机**可能会频繁地关闭和启动,但更多的时候它们是被挂起或休眠了。无论哪种类型,**最近一次开机的时刻**都可用于检查一段时间内的计算机健康情况,因为当你在监视系统或诊断问题时,这一时刻能够限制查看的数据量大小,从而让你快速地找到问题所在。 -如果你不记得上次启动计算机的时间,你可以使用 systemd 的日志记录工具 `journalctl`,来列出计算机的所有启动时间: +如果你不记得上次启动计算机的时间,你可以使用 systemd 的日志记录工具 `journalctl`,来列出计算机的所有启动会话: ``` $ journalctl --list-boots @@ -35,45 +35,45 @@ $ journalctl --list-boots  0 37fbe4... Tue 2021-03-30 04:46:13 - Tue 2021-03-30 10:42:08 ``` -最近一次启动时间输出在结果列表的底部,因此你可以通过管道将输出传输到 `tail`,来查看最近一次启动时间。 +最近一次启动会话输出在结果列表的底部,因此你可以通过管道将输出传输到 `tail`,来查看最近一次启动会话。 -左侧的数字(在本例中为 42、41、1 和 0)是每个启动时间的索引号。换句话说,如果你要查看某一特定启动时间的日志,你可以使用这个索引号作为参数。 +左侧的数字(在本例中为 42、41、1 和 0)是每个启动会话的索引号。换句话说,如果你要查看某一特定启动会话的日志,你可以使用这个索引号作为参数。 -### systemd 的 日志记录 Log reviews +### 日志检查 查看日志是推断系统信息的一种重要方法。日志提供了计算机运行的大部分事件的历史记录,这些记录都是在没有你直接监督的情况下生成的。通过日志,你可以知道某一服务何时启动、定时任务何时运行、哪些服务在后台运行、哪些事件运行失败等等信息。故障排除的初始步骤是使用 systemd 的 `journalctl` 来查看日志: ``` -`$ journalctl --pager-end` +$ journalctl --pager-end ``` -`--pager-end` 选项(简写为 `-e`)会在 `journalctl` 的输出末尾开始查看日志,因此要查看更早发生的日志,你需要向上滚动。 +`--pager-end` 选项(简写为 `-e`)会从 `journalctl` 的输出末尾开始查看日志,因此要查看更早发生的日志,你需要向上滚动。 -Systemd 维护一个错误信息的“目录”,错误信息包含错误记录、可能的解决方案、支持论坛的指针和开发人员文档。这个错误信息的“目录”能为日志事件提供重要的上下文,否则它可能会成为海量日志中的一个令人困惑的信息,或者更糟的是,错误信息可能会完全被忽视。要将错误消息与日志中的解释性文本放在一起输出,你可以使用`--catalog`选项(简写为 `-x`): +systemd 维护一个错误信息的“目录”,错误信息包含错误记录、可能的解决方案、支持论坛的链接和开发人员文档。这个错误信息的“目录”能为日志事件提供重要的上下文,否则它可能会成为海量日志中的一个令人困惑的信息,或者更糟的是,错误信息可能会完全被忽视。要将错误消息与日志中的解释性文本放在一起输出,你可以使用 `--catalog` 选项(简写为 `-x`): ``` -`$ journalctl --pager-end --catalog` +$ journalctl --pager-end --catalog ``` -要进一步限定日志输出,你可以指定要查看哪个启动时间的日志。因为每个启动时间都有索引,所以你可以使用 `--boot` 选项,来指定某个启动时间,并仅查看该启动时间的日志: +要进一步限定日志输出,你可以指定要查看哪个启动会话的日志。因为每个启动会话都有索引,所以你可以使用 `--boot` 选项,来指定某个启动会话,并仅查看该启动会话的日志: ``` -`$ journalctl --pager-end --catalog --boot 42` +$ journalctl --pager-end --catalog --boot 42 ``` 你还可以查看特定 systemd 单元的日志。例如,要解决 SSH 服务的问题,你可以指定 `--unit sshd` 选项,来仅查看适用于 `sshd` 守护程序的日志: ``` $ journalctl --pager-end \ -\--catalog --boot 42 \ -\--unit sshd + --catalog --boot 42 \ + --unit sshd ``` -### systemd 的 服务管理 Service management +### 服务管理 -systemd 的第一个任务就是启动你的计算机,systemd 会迅速、高效且有效地执行这一任务。但 systemd 一直需要管理的任务是 服务管理 service management ,因为 systemd 需要确保你要运行的服务确实在你的会话期间启动,并继续运行。systemd 的这一功能非常稳健,因为理论上即使是一个崩溃的服务也可以在没有你干预的情况下重新启动。 +systemd 的第一个任务就是启动你的计算机,systemd 会迅速、高效且有效地执行这一任务。但 systemd 一直需要管理的任务是服务管理,因为 systemd 需要确保你要运行的服务确实在你的会话期间启动,并继续运行。systemd 的这一功能非常稳健,因为理论上即使是一个崩溃的服务也可以在没有你干预的情况下重新启动。 -你可以通过使用 `systemctl` 命令,来接入 systemd 管理服务接口,并能查看定义服务的 单元文件 unit files : +你可以通过使用 `systemctl` 命令来让 systemd 管理服务,并能查看定义服务的 单元文件 unit file : ``` $ systemctl cat sshd @@ -98,10 +98,10 @@ RestartSec=42s WantedBy=multi-user.target ``` -大多数单元文件都在 `/usr/lib/systemd/system/` 目录下,但是你也可以在本地更改文件中的配置,请使用以下的接口: +大多数单元文件都在 `/usr/lib/systemd/system/` 目录下,但是你也可以用局部更改来修改配置,请使用以下的方式: ``` -`$ systemctl edit sshd` +$ systemctl edit sshd ``` 你可以通过 `is-active` 选项,来查看某一服务当前是否处于活动状态: @@ -129,16 +129,16 @@ $ systemctl start sshd 使用以下命令,让某一服务在开机时自启动: ``` -`$ systemctl enable sshd` +$ systemctl enable sshd ``` -添加 `--now` 选项,让某一服务在开机时启动或在当前会话中立即启动。 +添加 `--now` 选项,让某一服务在开机时启动并在当前会话中立即启动。 -### systemd 的 Timers 管理 +### 定时器管理 -在以前,当你想在 Linux 上自动执行一项任务时,你可以使用的工具是 `cron`。如今,`cron` 命令仍能使用,但对于在 Linux 上自动执行一项任务,也有一些其他好用的替代方案。例如,[`anacron` 命令][2] 是一个多功能的、类似于 `cron` 的系统,它能够运行在停机期间可能会错过的任务。 +在以前,当你想在 Linux 上自动执行一项任务时,你可以使用的工具是 `cron`。如今,`cron` 命令仍能使用,但对于在 Linux 上自动执行一项任务,也有一些其他好用的替代方案。例如,[anacron 命令][2] 是一个多功能的、类似于 `cron` 的系统,它能够运行在停机期间可能会错过的任务。 -计划的事件就是在特定时间需要激活的服务。systemd 管理一个名为 [timers][3] 的工具,它类似 cron 的功能。你可以使用以下命令,来列出活动中的计时器: +计划的事件就是在特定时间需要激活的服务。systemd 管理一个名为 [定时器][3] 的工具,它类似 cron 的功能。你可以使用以下命令,来列出活动中的定时器: ``` $ systemctl list-timers @@ -151,27 +151,27 @@ Wed 2021-03-31 06:42:02 NZDT  18h left [...] Pass --all to see loaded but inactive timers, too. ``` -你可以使用以下命令,来像启用服务一样启用计时器: +你可以使用以下命令,来像启用服务一样启用定时器: ``` -`$ systemctl enable myMonitor.timer` +$ systemctl enable myMonitor.timer ``` -### systemd 的 Targets 管理 +### 目标管理 -Targets 是 systemd 的最后一个主要组成部分。Targets 是一个单元文件,与服务和计时器相同,Targets 也可以以相同的方式启动和启用。Targets 的独特之处在于它们以一种任意重要的方式对其他单元文件进行分组。例如,你可能希望开机到文本控制台界面而不是图形桌面,因此有 `multi-user` Target 存在。但是,`multi-user` Target 只是没有桌面单元文件作为依赖项的 `graphical` target。 +目标target 是 systemd 的最后一个主要组成部分。像服务和定时器一样,目标也是一个单元文件,也可以以相同的方式启动和启用。目标的独特之处在于它们可以将其他单元文件任意分组。例如,你可能希望开机启动到文本控制台界面而不是图形桌面,因此有一个 `multi-user` 目标。但是,`multi-user` 目标只是没有包括桌面单元文件的 `graphical` 目标。 -简而言之,Targets 是一种将服务、计时器甚至其他的 Targets 收集在一起,以表示机器的预期状态的简单方法。 +简而言之,目标是一种将服务、定时器甚至其他的目标集合在一起,以表示机器的预期状态的简单方法。 -事实上,在 systemd 中,重启、关机或关闭操作只是又一个 Target。 +事实上,在 systemd 中,重启、关机或关闭操作只是一个目标而已。 -你可以使用 `list-unit-files` 选项,来列出所有可用的 Targets,用 `--type` 选项将其限制为 `target`: +你可以使用 `list-unit-files` 选项,用 `--type` 选项将其限制为 `target` 来列出所有可用的目标: ``` -`$ systemctl list-unit-files --type target` +$ systemctl list-unit-files --type target ``` -### 快使用 systemd 对计算机进行控制管理吧 +### 使用 systemd 对计算机进行控制管理 现代的 Linux 使用 systemd 进行服务管理和日志检查。从个人的 Linux 系统到企业服务器,systemd 都能提供有效的监控,并且十分易于维护。你越频繁地使用 systemd,systemd 对你而言就会变得越容易预测和直观,你就会明白系统的不同部分是如何相互关联的。 @@ -184,7 +184,7 @@ via: https://opensource.com/article/21/4/sysadmins-love-systemd 作者:[Seth Kenlon][a] 选题:[lujun9972][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -194,3 +194,4 @@ via: https://opensource.com/article/21/4/sysadmins-love-systemd [2]: https://opensource.com/article/21/2/linux-automation [3]: https://opensource.com/article/20/7/systemd-timers [4]: https://opensource.com/downloads/linux-systemd-cheat-sheet +[0]: https://img.linux.net.cn/data/attachment/album/202211/28/085754t9sztkt26452ys4s.png \ No newline at end of file From 2c97f10ad25ec92ee5300ab03dae5b6881f67db0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 28 Nov 2022 09:30:18 +0800 Subject: [PATCH 548/925] RP @robsean https://linux.cn/article-15297-1.html --- ...s and folders from Windows to Linux with WinSCP.md | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) rename {translated/tech => published}/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md (55%) diff --git a/translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/published/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md similarity index 55% rename from translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md rename to published/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md index 35e8d23732..dab44cba47 100644 --- a/translated/tech/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md +++ b/published/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md @@ -3,28 +3,30 @@ [#]: author: "Paul https://opensource.com/users/plaubscher" [#]: collector: "lkxed" [#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15297-1.html" 使用 WinSCP 将文件和文件夹从 Windows 传输到 Linux ====== -如果你正在寻找一种快速的从你的 Windows 计算机传输文件到你的 Linux 计算机的方法,那么开源的 WinSCP 实用程序会使其很容易地通过网络传输一个文件或一个文件夹。 +![][0] -有时,你需要通过文件传输文件。这里有很多文件共享服务,但是大多数的共享服务都要求你发送你的文件到互联网上。当两台计算机并排在一起或在一栋建筑物中时,通过互联网传输文件,这似乎看起来是一条很长的路 (更不用说隐私问题)。开源 WinSCP 实用程序会使其很轻易地通过网络将一个文件或一个文件夹从你的 Windows 计算机传输到你的 Linux 计算机。 +> 如果你正在寻找一种快速的从你的 Windows 计算机传输文件到你的 Linux 计算机的方法,那么开源的 WinSCP 实用程序会使其很容易地通过网络传输文件或文件夹。 + +有时,你需要通过文件传输文件。有很多文件共享服务,但是大多数的共享服务都要求你发送你的文件到互联网上。当两台计算机并排在一起或在一栋建筑物中时,通过互联网传输文件,这似乎看起来绕了很远的路(更不用说隐私问题)。开源的 WinSCP 实用程序会使其很轻易地通过网络将一个文件或一个文件夹从你的 Windows 计算机传输到你的 Linux 计算机。 ### IP 地址 -在你可以传输之前,你必需知道目标计算机的 IP 地址或完全限定的域名。假设它是一台在你的同一个网络上的计算机,并且你没有运行一个 DNS 服务器来解析计算机名称,你可以在 Linux 计算机上使用 `ip` 命令来找到目标 IP 地址: +在你可以传输之前,你必须知道目标计算机的 IP 地址或完全限定域名。假设它是一台在你的同一个网络上的计算机,并且你没有运行 DNS 服务器来解析计算机名称,你可以在 Linux 计算机上使用 `ip` 命令来找到目标 IP 地址: ``` -[linux]$ ip addr show |grep'inet ' +[linux]$ ip addr show |grep 'inet ' inet 127.0.0.1/8 scope host lo   inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 ``` -在所有的情况下,127.0.0.1 都是一个 回送地址loopback address ,计算机仅使用它来自我通信,因此在这个示例中,正确的地址是 192.168.1.23 。在你的系统中,IP 地址可能会看起来有所不同。如果你不确定哪个是哪个,你可以逐个尝试到你找到正确的 IP 地址 (然后,在一些地方写下来!) +`127.0.0.1` 是一个 环回地址loopback address ,计算机仅使用它来自我通信,因此在这个示例中,正确的地址是 `192.168.1.23` 。在你的系统中,IP 地址可能会看起来有所不同。如果你不确定哪个是哪个,你可以逐个尝试到你找到正确的 IP 地址 (然后,在一些地方写下来!) 或者,你可以查找你的路由器设置,它列出了所有通过 DHCP 分配的地址。 @@ -35,7 +37,7 @@ inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 如果你不确定你的 Linux 机器是否在运行 SSH ,那么在 Linux 机器的终端上运行这个命令: ``` -[linux]$ sudo systemctl enable--now sshd +[linux]$ sudo systemctl enable --now sshd ``` 为确保你的防火墙允许 SSH 通信,运行这个命令: @@ -48,19 +50,19 @@ inet 192.168.1.23/24 brd 10.0.1.255 scope global noprefixroute eth0 ### 使用 WinSCP -WinSCP 是一款针对 Microsoft Windows 的开源 SSH 文件传输应用程序。为使用它,你必需先 [下载][2] 和 [安装][2] 它。 +WinSCP 是一款针对微软 Windows 的开源 SSH 文件传输应用程序。为使用它,你必须先 [下载][2] 和 [安装][2] 它。 -在你安装完成后,打开 WinSCP ,并在 文件协议File Protocol 区域中选择 **SCP** 选项。 +在你安装完成后,打开 WinSCP ,并在 “文件协议File Protocol” 字段中选择 “SCP” 选项。 -在 主机名称Host name 区域中添加你的 Linux 计算机的 IP 地址或 DNS 名称,并在 端口编号Port number 区域中输入 **22** 。针对该 Linux 计算机,输入你的用户名称和密码,然后单击 WinSCP 窗口底部的 登录Login 按钮。 +在 “主机名称Host name” 字段中添加你的 Linux 计算机的 IP 地址或 DNS 名称,并在 “端口号Port number” 字段中输入 **22** 。针对该 Linux 计算机,输入你的用户名称和密码,然后单击 WinSCP 窗口底部的 “登录Login” 按钮。 ![Image of the WinSCP login window.][3] -验证你是否获取登录 Linux 计算机的身份授权。在验证成功后,你的 Linux 计算机的 IP 地址或 DNS 名称将显示在窗口的顶部。 +验证你是否获取了登录 Linux 计算机的身份授权。在验证成功后,你的 Linux 计算机的 IP 地址或 DNS 名称将显示在窗口的顶部。 ![Image of a WinSCP window showing where IP adress is located.][4] -现在,你可以从左侧的 Windows 面板中拖拽一个文件 (如示例,我使用 `winscp-test.txt` 文件) 到右侧的目标 Linux 计算机目标,接下来文件或传输。 +现在,你可以从左侧的 Windows 面板中拖拽一个文件(如示例,我使用 `winscp-test.txt` 文件)到右侧的目标 Linux 计算机目标,接下来文件会传输。 ![Image of drag and drop window in WinSCP.][5] @@ -68,9 +70,9 @@ WinSCP 是一款针对 Microsoft Windows 的开源 SSH 文件传输应用程序 ![Image of a right click option to upload files in WinSCP.][6] -### 验证复制件 +### 验证副本 -打开一个 Linux 终端,然后使用 `ls` 命令来查看已传输的 `winscp-test.txt` 文件。在我的示例中,它出现在我的 home 目录, `/_home_/sysadmin` 。 +打开一个 Linux 终端,然后使用 `ls` 命令来查看已传输的 `winscp-test.txt` 文件。在我的示例中,它出现在我的主目录, `/home/sysadmin` 。 ``` $ ls @@ -96,8 +98,8 @@ via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-w 作者:[Paul][a] 选题:[lkxed][b] -译者:[robsean]](https://github.com/robsean) -校对:[校对者ID](https://github.com/校对者ID) +译者:[robsean](https://github.com/robsean) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -110,3 +112,4 @@ via: https://opensource.com/article/22/11/transfer-files-folders-windows-linux-w [5]: https://opensource.com/sites/default/files/2022-10/WinSCP.drapdropwindow.png [6]: https://opensource.com/sites/default/files/2022-10/RightclickUploadfileWInSCP.png [7]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM +[0]: https://img.linux.net.cn/data/attachment/album/202211/28/092919hf6y9ojjlmmsfmlm.jpg \ No newline at end of file From 5531d3fec69bee7ed80b43158dd0a0a999ca91b2 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:27:01 +0800 Subject: [PATCH 549/925] translated --- ...️ Find bugs with the git bisect command.md | 75 ----------------- ...️ Find bugs with the git bisect command.md | 80 +++++++++++++++++++ 2 files changed, 80 insertions(+), 75 deletions(-) delete mode 100644 sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md create mode 100644 translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md diff --git a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md deleted file mode 100644 index ca9338b162..0000000000 --- a/sources/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md +++ /dev/null @@ -1,75 +0,0 @@ -[#]: subject: "Find bugs with the git bisect command" -[#]: via: "https://opensource.com/article/22/11/git-bisect" -[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Find bugs with the git bisect command -====== - -Have you ever found a bug in code and needed to know when it was first introduced? Chances are, whoever committed the bug didn't declare it in their Git commit message. In some cases, it might have been present for weeks, months, or even years, meaning you would need to search through hundreds or thousands of commits to find when the problem was introduced. This is the problem that `git bisect` was built to solve! - -The `git bisect` command is a powerful tool that quickly checks out a commit halfway between a known good state and a known bad state and then asks you to identify the commit as either good or bad. Then it repeats until you find the exact commit where the code in question was first introduced. - -![Image of Zeno's paradox of Achilles.][1] - -This "mathmagical" tool works by leveraging the power of halving. No matter how many steps you need to get through, by looking at the halfway point and deciding if it is the new top or bottom of the list of commits, you can find any desired commit in a handful of steps. Even if you have 10,000 commits to hunt through, it only takes a maximum of 13 steps to find the first offending commit. - -- commit 1 bad <> commit 10,000 good => commit 5,000 is bad -- commit 5,000 bad <> commit 10,000 good => commit 7,500 is good -- commit 5,000 bad <> commit 7,500 good => commit 6,250 is good -- commit 5,000 bad <> commit 6,250 good => commit 5,625 is bad -- commit 5,625 bad <> commit 6,250 good => commit 5,938 is bad -- commit 5,938 bad <> commit 6,250 good => commit 6,094 is good -- commit 5,938 bad <> commit 6,094 good => commit 6,016 is bad -- commit 6,016 bad <> commit 6,094 good => commit 6,055 is good -- commit 6,016 bad <> commit 6,055 good => commit 6,036 is bad -- commit 6036 bad <> commit 6055 good => commit 6046 is bad -- commit 6,046 bad <> commit 6,055 good => commit 6,050 is bad -- commit 6,050 bad <> commit 6,055 good => commit 6,053 is good -- commit 6,053 bad <> commit 6,055 good => commit 6,054 is good - -So, the first bad commit of the 10,000 is commit number 6,053. With `git bisect`, this would take a couple of minutes at maximum. I can't even imagine how long this would take to investigate crawling through each commit one at a time. - -### Using Git bisect - -Using the `git bisect`command is very straightforward: - -``` -$ git bisect start -$ git bisect bad        # Git assumes you mean HEAD by default -$ git bisect good # specify a tag or commit ID for -``` - -Git checks out the commit in the middle and waits for you to declare either: - -``` -$ git bisect good## or -$ git bisect bad -``` - -Then the bisect tool repeats checking out the commit halfway between good and bad commits until you tell it: - -``` -$ git bisect reset -``` - -Advanced users can even write scripts that determine good and bad states as well as any remediation actions to take upon finding the specific commit. You might not use the `git bisect` command every day of your life, but when you need it, it is a lifesaver. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/git-bisect - -作者:[Dwayne McDaniel][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/dwaynemcdaniel -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/2022-11/beyondgit.paradox.png diff --git a/translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md new file mode 100644 index 0000000000..948e255712 --- /dev/null +++ b/translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md @@ -0,0 +1,80 @@ +[#]: subject: "Find bugs with the git bisect command" +[#]: via: "https://opensource.com/article/22/11/git-bisect" +[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 git bisect 命令定位首次引入错误的提交 +====== + +你是不是有过这样的经历:发现代码中有 错误 bug ,但不知道这个错误是什么时候第一次引入的。这有可能是因为,某个人提交了一份有错误的代码,但没有在他的 Git 提交 commit 消息中声明这个错误。这个错误可能已经存在了几周、几个月甚至几年,这意味着你需要搜索数百或数千个提交,才能找到问题何时出现的。而 `git bisect` 命令能够完美地解决这个问题! + +`git bisect` 命令是一个强大的工具。你可以给 `git bisect` 命令一个范围,一端是一个已知的好状态,另一端是一个已知的坏状态。它会自动地确认当前范围的中点,在这个中点上进行测试,然后要求你告诉它那次提交是一个 好提交 good commit 还是一个 坏提交 bad commit ,然后它会重复这一“二分查找”的过程,直到你找到首次引入错误的那一次提交。 + +![Image of Zeno's paradox of Achilles.][1] + +这个“数学”工具是利用“二分查找”来找到错误之处的。`git bisect` 命令通过**查看中点**,然后由你来决定它是提交列表的新起点(即 bad commit )还是新终点(即 good commit),进而来缩小查找范围,如此在几次查找中你可以就能定位到有错误的提交。即使你有 10,000 个提交要检查,最多只需要 13 次查找,就能很快地定位到首次引入错误的提交。 + +- commit 1 bad <> commit 10,000 good => commit 5,000 is bad +- commit 5,000 bad <> commit 10,000 good => commit 7,500 is good +- commit 5,000 bad <> commit 7,500 good => commit 6,250 is good +- commit 5,000 bad <> commit 6,250 good => commit 5,625 is bad +- commit 5,625 bad <> commit 6,250 good => commit 5,938 is bad +- commit 5,938 bad <> commit 6,250 good => commit 6,094 is good +- commit 5,938 bad <> commit 6,094 good => commit 6,016 is bad +- commit 6,016 bad <> commit 6,094 good => commit 6,055 is good +- commit 6,016 bad <> commit 6,055 good => commit 6,036 is bad +- commit 6036 bad <> commit 6055 good => commit 6046 is bad +- commit 6,046 bad <> commit 6,055 good => commit 6,050 is bad +- commit 6,050 bad <> commit 6,055 good => commit 6,053 is good +- commit 6,053 bad <> commit 6,055 good => commit 6,054 is good + +对于上面这个例子,我们能知道 10,000 个提交中的第一个错误提交是第 6053 次提交。对于 `git bisect` 命令,最多需要几分钟就能完成检索。但是如果要一个一个查找每个提交是否错误,我甚至无法想象需要多长时间。 + +### 使用 Git bisect 命令 + +`git bisect` 命令使用起来非常简单: + +(LCTT 译注:使用 `git bisect start` 命令来进入 bisect 模式,并且该命令指定了一个检查范围。它会告诉我们一共有多少次提交,大概需要几步就可以定位到具体的提交。) + +``` +$ git bisect start +$ git bisect bad # Git assumes you mean HEAD by default +$ git bisect good # specify a tag or commit ID for +``` + +Git 检查中间的提交,并等待你声明这次提交是一个好提交还是一个坏提交: + +(LCTT 译注:如果某一提交是可以通过的,则使用 `git bisect good` 命令标记;同样地,如果某一提交不能通过,则使用 `git bisect bad` 命令标记。) + +``` +$ git bisect good +## or +$ git bisect bad +``` + +然后,`git bisect` 工具重复检查好提交和坏提交中间的那次提交,直到你告诉它: + +``` +$ git bisect reset +``` + +一些高级用户甚至可以自己编写脚本,来确定提交的好坏状态、并在找到特定提交时采取某一补救措施。你可能不会每天都使用 `git bisect` 命令,但当你需要它来定位首次引入错误的提交时,它会是一个很有用的救星。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/git-bisect + +作者:[Dwayne McDaniel][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/dwaynemcdaniel +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-11/beyondgit.paradox.png From 32373b99a91fd853fa3f37dcee0bc6ef420db6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 11:46:24 +0800 Subject: [PATCH 550/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221124.0=20=E2=AD=90=EF=B8=8F=205=20NeoVim=20GUI=20E?= =?UTF-8?q?ditors=20You=20Could=20Try=20If=20You=20are=20Not=20a=20Total?= =?UTF-8?q?=20Terminal=20Junkie.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Try If You are Not a Total Terminal Junkie.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sources/tech/20221124.0 ⭐️ 5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie.md diff --git a/sources/tech/20221124.0 ⭐️ 5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie.md b/sources/tech/20221124.0 ⭐️ 5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie.md new file mode 100644 index 0000000000..e8fcabb8c0 --- /dev/null +++ b/sources/tech/20221124.0 ⭐️ 5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie.md @@ -0,0 +1,139 @@ +[#]: subject: "5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie" +[#]: via: "https://itsfoss.com/neovim-gui-editors/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 NeoVim GUI Editors You Could Try If You are Not a Total Terminal Junkie +====== + +Vim is awesome. NeoVim is newer and even more awesome. Both Vim and NeoVim are terminal-based text editors with similar features. + +If you are someone who is accustomed to using [GUI text editors like VS Code][1] and wish to have the similar functionality that NeoVim provides, you should explore GUI options. + +Although I know you can use NeoVim as an add-on for your current text editor, working directly with NeoVim is much more effective and convenient for managing plugins. + +There are a few different options available when choosing a NeoVim GUI, and I have put together a list of some of the best ones below. + +### 1. Neovide + +![neovide][2] + +**Key Features:** + +- Animated cursor +- Smooth scrolling +- Animated windows +- Blurred floating windows +- Emoji support + +[Neovide][3] aims to be a no-nonsense graphical user interface for NeoVim. + +While you won’t see many graphical elements, it only adds some GUI features, such as animations, using a library called Skulpin to render animations. + +And my favorite part of using Neovide is having an animated cursor and smooth scrolling. I mean, have a look at this: + +Looks cool. Right? + +### 2. Neovim Qt + +![neovim qt][4] + +**Key Features:** + +- Hover features +- Multiple GUI tabs +- Auto tab completion +- Cross-platform support + +As the name suggests, [Neovim Qt][5] is built with the Qt5 library, which you’ll often see being used by KDE. Nothing too fancy, adds some additional GUI features like multiple tabs, auto-tab completion, and more. + +So if you are already using Qt5 libraries and want a minimal GUI for NeoVim, this would work like a charm and save you some dependencies. + +**Recommended:**[Vim vs Nano: What Should You Choose?][6] + +### 3. Uivonim + +![uivonim][7] + +**Key Features:** + +- WebGL GPU rendering and multithreading +- Support for VSCode extensions +- Nyancat (ANSI-text program for classic cat animation) +- Hover and code actions + +[Uivonim][8] is a fork of Veonim (A simple IDE built on VSCode plugins and NeoVim) written in electron, making it the perfect choice if you switch from VSCode. + +And the only goal of uivonim is to provide a rich NeoVim experience that supports the latest features of NeoVim, including floating windows, built-in LSP, and more. You do not need to rely on VSCode extensions to get these features. + +[Uivonim][8] + +### 4. FVim + +![fvim][9] + +**Key Features:** + +- Detach windows (using `Ctrl+w and GE`). +- Custom popup menu entry icons. +- HiDPI support. +- GPU acceleration. + +[FVim][10] is a cross-platform GUI for NeoVim built with F# + Avalonia that comes with some groundbreaking features such as high-performance rendering (60FPS on 4K display). + +And I often use the detach window feature as I prefer to have separate windows for different text files. Also, if you are an advanced remote user, FVim won’t let you down either. + +### 5. Goneovim + +![goneovim][11] + +**Key Features:** + +- Support for a terminal with bash and zsh +- Minimap +- Animated cursor +- High DPI scaling +- External float window + +As its name suggests, [Goneovim][12] is written in GO and is a fork of Gonvim. And offers enough GUI features to get your job done such as an animated cursor, pixel scrolling, and more. + +And it does not compromise on getting you basic text editing features, such as drag-and-drop support for text files. + +**Useful Read**: [How to Install Latest Vim on Ubuntu Linux][13] + +### Wrapping Up + +This was my take on what are some good options when it comes to GUI for NeoVim and I hope you found what you were looking for. + +If I missed any of your favorites, let me know your thoughts in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/neovim-gui-editors/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/best-modern-open-source-code-editors-for-linux/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/neovide.png +[3]: https://neovide.dev/index.html +[4]: https://itsfoss.com/wp-content/uploads/2022/11/neovim-qt.png +[5]: https://github.com/equalsraf/neovim-qt +[6]: https://itsfoss.com/vim-vs-nano/ +[7]: https://itsfoss.com/wp-content/uploads/2022/11/uivonim.png +[8]: https://github.com/smolck/uivonim +[9]: https://itsfoss.com/wp-content/uploads/2022/11/fvim-1.png +[10]: https://github.com/yatli/fvim +[11]: https://itsfoss.com/wp-content/uploads/2022/11/goneovim-1.png +[12]: https://github.com/akiyosi/goneovim +[13]: https://itsfoss.com/install-latest-vim-ubuntu/ From 45d18fa4fb0d04d21fed702d21e4f66c009fb5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 11:47:32 +0800 Subject: [PATCH 551/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221126.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Cr?= =?UTF-8?q?eate=20a=20holiday=20light=20display=20with=20your=20Raspberry?= =?UTF-8?q?=20Pi=20and=20ping=20pong=20balls.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...play with your Raspberry Pi and ping pong balls.md | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md diff --git a/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md new file mode 100644 index 0000000000..4ebf7de3b9 --- /dev/null +++ b/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md @@ -0,0 +1,130 @@ +[#]: subject: "Create a holiday light display with your Raspberry Pi and ping pong balls" +[#]: via: "https://opensource.com/article/22/11/raspberry-pi-holiday-light-display" +[#]: author: "Brian McCafferty https://opensource.com/users/bdm" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Create a holiday light display with your Raspberry Pi and ping pong balls +====== + +I love Christmas decorations and lights, and I'd been wanting to do an programmable LED project for a long time. Recently, I built a light array made of LED lights, ping pong balls, and a Raspberry Pi Zero. I thought it was worth sharing, because it ended up being relatively easy but also educational. + +It's mostly my own design, with some inspiration from YouTube videos. You can find the source code and build instructions in my [Git repository][1]. + +### Shopping list + +- [Raspberry Pi Zero][2] +- [Pibow Case][3] +- 5v 2A USB power supply +- Poster frame +- 255 ping pong balls +- Hot glue gun and LOTS of hot glue sticks +- Soldering iron +- Solder +- 22 AWG 0.35mm solid core wiring +- 10 meters of WS2812(B) LED strip lights (30 pixels per meter) +- Multimeter +- Wire cutters +- Wire strippers + +### Design the Raspberry Pi light display + +My design was driven by the size of the poster frame I happened to have available. I got 30 pixel per meter tape from Ali Express, which cut nicely into 0.5m sections, so that gave me 15 LEDs across. Ping pong balls are 40mm, so I measured and placed the lines 40mm apart, with the LED Strip in the middle of each 40mm section. This gave me 17 lines down in total. My array was therefore 15×17. If you try this yourself, yours can be a different size. + +To get power to the array and the Raspberry Pi, I placed the open connections for both data and power at the bottom of the board. I didn't have that many LEDs needing power, so I was able to use the 5v out GPIO from the Raspberry Pi Zero to power them. I run them at 50% brightness, which is easily bright enough to see in the day and at night through my window. + +### Wiring + +In my design, I started at the bottom of the board and wired up in an S-curve. This made soldering easier because loops at the end of each row didn't have to return all the way back to the start of each line. The WS2812 data lines do require you to wire the data the correct way: power can be fed from either side of the strip, but data must be fed from the side with the arrows pointing away. + +My wiring looks like this (this is abbreviated for clarity, in real life it's 17 lines deep): + +``` +<---------------\ +                | +/---------------/ +| +\---------------< # Pi connected here +``` + +### Build the display with your Raspberry Pi + +Once the design and wiring plan was sorted, it was time to get started on the build. + +I measured and drew my lines in pencil on the poster backboard. The WS2812 strips I got came with sticky tape on the back, so I just removed the backing and attached that directly to the backboard. I was sure to position each strip so that the data arrows went one way, then back the other, to ensure that the lights could be daisy-chained correctly for the Pi's instructions. + +Once all light strips were attached, I cut three similar lengths of wire and connected the 5v, data, and ground lines from the end of each light section to the one above it. + +![Connect each light strip at the end of each line.][4] + +After completing each row, I checked continuity between the 5v and ground lines between each strip to ensure my joins were correct. I also checked that I had not accidentally bridged any connections, so I verified that there was no continuity between the 5v and ground lines (in other words, a 5v wire on one line didn't bridge to the ground on the next line.) I also ran some tests to ensure everything was lighting up correctly (see [the code][5] section for my strand tests.) + +Once this was complete, I started to cut holes in the ping pong balls by stabbing scissors into the bottom of them, and cutting a small hole for the LED to shine into. There was no exact science to this, and each one was different, but the effect really worked. I was working with 30 pixels per meter, so my lighting had about 30mm between each LED. A ping pong ball is 40mm across, but I wasn't about to start soldering each LED individually! First of all, I'm not that good at soldering (as my photos show), and anyway, I thought "Well, they're ping pong balls. I can just squash them together!" + +And that's what I did. + +I placed a hot glue blob around each LED and then placed a ping pong ball onto the LED, held it for about five seconds, and moved on to the next one. I held onto the previous ping pong ball as I slid the next one in, pushing it against the first before "folding" it into its neighbor. The effect worked really well. I was happy with what it was looking like straight away. It also had the nice bonus of hiding my bad soldering job ;) + +![It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.][6] + +I continued doing this for 255 LEDs and ping pong balls. There were a few crushed ping pong balls in the process, but in the end, I got there. + +![255 LEDs and 255 ping pong balls in an array.][7] + +### Test the code + +For the test code to ensure that everything was working, I used this [Adafruit guide][8] which lights each LED in red, green, and blue, and then does a rainbow cycle. I used this when I was building to ensure my connections were correct and that everything was soldered correctly. + +After that, I designed a grid in a spreadsheet to map each pixel to a grid position. This helped to make building the images easier. Since my pixel numbers run in a zig-zag pattern, it would have been hard to keep track of each LED (e.g. LED A1 was 256 and B1 was 226).  + +Once this was all set, it was time to design some images on paper and in the spreadsheet. Then it was time to code! It got a bit addictive and I started adding some animation (using loops and turning pixels onto one color and then another color).  + +The end result was everything I'd hoped it would be. + +![A Christmas gift in LED.][9] + +![Reindeer painted with light.][10] + +![An LED snowflake.][11] + +### A Raspberry Pi light display all year + +I am not sure this will ever be truly finished. Nearly every night since it's been up in the window, I've added some new images and animations. I'm already thinking about what to do for New Year's Eve. I also won't be putting this back in storage with my Christmas decorations in January. I just need to think of other things to draw on it to make it a year-round project! A friend of mine suggested a pixel Mario and I love that idea! + +My code also needs a little work. For example, I do some scrolling text, but I redraw the whole board for each position of the text, so it took quite a bit of time to do. I think I can do something with loops, or perhaps the image library can help scroll the letters easier, and make it easier to add text rather than turning each pixel on and off at every step. + +I've got a photo record of my progress from start to finish: [LED Ping Pong Wall][12]. + +You can also see a video of it in action here: [XMas light display][13]. + +I'm really pleased with how this turned out, and I think it looks amazing. I'm very excited to try some other LED projects in the future. I encourage you to try a light array of your own even as your first project. It's easier than it looks! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display + +作者:[Brian McCafferty][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/bdm +[b]: https://github.com/lkxed +[1]: https://github.com/bmccafferty/ping-pong-led-wall +[2]: https://shop.pimoroni.com/products/raspberry-pi-zero-wh-with-pre-soldered-header +[3]: https://shop.pimoroni.com/products/pibow-zero-w +[4]: https://opensource.com/sites/default/files/2022-11/IMG_20201126_115520.jpeg +[5]: https://opensource.com#the-code +[6]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_101409.webp +[7]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_160500.webp +[8]: https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage +[9]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_181931.webp +[10]: https://opensource.com/sites/default/files/2022-11/IMG_20201202_215902.webp +[11]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_215314.webp +[12]: https://projects.bdm.scot/Xmas%20LED%20Wall%202020/ +[13]: https://youtu.be/zc0501GzpMw From 03a8ae9bc5906c5b49ab5c8c7e98af2176b65050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 11:50:53 +0800 Subject: [PATCH 552/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221127.0=20=E2=AD=90=EF=B8=8F=20lnav=20Advanced=20Lo?= =?UTF-8?q?g=20File=20Viewer=20for=20Linux=20Desktops=20and=20Servers.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... File Viewer for Linux Desktops and Servers.md | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 sources/tech/20221127.0 ⭐️ lnav Advanced Log File Viewer for Linux Desktops and Servers.md diff --git a/sources/tech/20221127.0 ⭐️ lnav Advanced Log File Viewer for Linux Desktops and Servers.md b/sources/tech/20221127.0 ⭐️ lnav Advanced Log File Viewer for Linux Desktops and Servers.md new file mode 100644 index 0000000000..ab3e8307ac --- /dev/null +++ b/sources/tech/20221127.0 ⭐️ lnav Advanced Log File Viewer for Linux Desktops and Servers.md @@ -0,0 +1,127 @@ +[#]: subject: "lnav: Advanced Log File Viewer for Linux Desktops and Servers" +[#]: via: "https://www.debugpoint.com/advanced-log-file-viewer-lnav-ubuntu-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +lnav: Advanced Log File Viewer for Linux Desktops and Servers +====== + +**If you want to debug or troubleshoot any issues, you need an advanced log file viewer like lnav – which works wonders in the terminal for any Linux system.** + +### lnav: Log file viewer + +lnav can unzip all the compressed log files on the fly and merge them together for a nice display. The display is parsed and formatted based on the types of errors/warnings – this helps to quickly glance through the thousands of logs, especially in servers. + +While analysing the logs, timestamps are very important. So lnav merges multiple logs based on timestamps, which is very helpful for tracking down system issues. + +Most of the important log file format detection is built-in; see below: + +- Common Web Access Log format +- CUPS page_log +- Syslog +- Glog +- VMware ESXi/vCenter Logs +- dpkg.log +- uwsgi +- “Generic” – Any message that starts with a timestamp +- Strace +- sudo +- GZIP, BZIP + +That is not all; lnav is also capable of the below features, making it an important app for Linux systems. + +- Filter messages based on regular expression +- A timeline view of errors +- Pretty-Print view- helps to reformat +- Query Log using SQL +- A log is updated in real-time while being searched. +- Syntax highlight via regular expression (say you want to find out an IP address in the entire log) +- Tab completion of any word from the log which is displayed !! + +![lnav-running-in-ubutu][1] + +To view the screenshots of the above features and learn more, visit [this page.][2] + +### How to Install + +This program is available in official Ubuntu, Debian repo. Install it using the following command. + +``` +sudo apt install lnav +``` + +And for Fedora, RHEL users, use the below command: + +``` +sudo dnf install lnav +``` + +Also the developers provides an offline standalone executable which you don’t need to install. You can download the zip from the [GitHub release page][3] and execute as: + +``` +./lnav +``` + +**Note**: It’s also available for macOS which you can find in the above GitHub page. + +### lnav: How to use (Basics) + +The simple command syntax is: + +``` +lnav [options] [logfile1 logfile2 …] +``` + +If you run just lnav from the command, it shows all the logs from your system (/var/log/messages and /var/log/syslog) + +``` +lnav +``` + +To view any specific log file, provide it via the command line: + +``` +lnav /var/log/syslog +``` + +Add timestamp in your log output using -t parameter + +``` +lnav -t /var/log/syslog +``` + +Here are some of the key switches of lnav + +``` +-d file Write debug messages to the given file.-a Load all of the most recent log file types.-r Load older rotated log files as well.-t Prepend timestamps to the lines of data being read inon the standard input.-w file Write the contents of the standard input to this file.-c cmd Execute a command after the files have been loaded.-f path Execute the commands in the given file.-n Run without the curses UI. (headless mode) +``` + +![lnav running in Ubuntu 22.04][4] + +For further reading and exploration, visit the [official documentation][5]. + +[Next:How to Make LibreOffice Look Like Microsoft Office][6] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/advanced-log-file-viewer-lnav-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/2016/11/lnav-Running-in-Ubutu.png +[2]: http://lnav.org/features/ +[3]: https://github.com/tstack/lnav/releases/ +[4]: https://www.debugpoint.com/wp-content/uploads/2016/11/lnav-running-in-Ubuntu-22.04.jpg +[5]: https://docs.lnav.org/en/latest/intro.html +[6]: https://www.debugpoint.com/libreoffice-like-microsoft-office/ From 13714bc0265d2706544a4ed5d4d79ad740df0a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 11:51:49 +0800 Subject: [PATCH 553/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221124.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Merge=20P?= =?UTF-8?q?DF=20Files=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...24.1 ⭐️ How to Merge PDF Files in Linux.md | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 sources/tech/20221124.1 ⭐️ How to Merge PDF Files in Linux.md diff --git a/sources/tech/20221124.1 ⭐️ How to Merge PDF Files in Linux.md b/sources/tech/20221124.1 ⭐️ How to Merge PDF Files in Linux.md new file mode 100644 index 0000000000..6663b4731b --- /dev/null +++ b/sources/tech/20221124.1 ⭐️ How to Merge PDF Files in Linux.md @@ -0,0 +1,182 @@ +[#]: subject: "How to Merge PDF Files in Linux" +[#]: via: "https://itsfoss.com/merge-pdf-linux/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Merge PDF Files in Linux +====== + +Got several PDFs on the same subject and now you want to combine them into a single PDF? + +Or perhaps you need to upload a single file consisting of different files? Many government and academic portals require that. + +As a Linux user, if you are in a situation where you need to merge PDFs, this tutorial will help you out. + +In this tutorial, I’ll share three methods of combining multiple PDF files: + +- Using PDF Tricks GUI tool +- Using LibreOffice (allows you to select pages as well) +- Using the ImageMagick command line tool (Can a Linux tutorial be completed without the terminal method?) + +You can read them all and pick the one that works best for you. + +### Method 1: Use PDF Tricks GUI tool to merge PDF in Linux + +After experimenting with several GUI tools, I found that the PDF Tricks was straightforward to use and easy to navigate. + +Furthermore, it includes additional functionality beyond only merging PDF files, including: + +- Compress PDFs. +- Split PDFs. +- Compress PDFs (into JPG, PNG, and text formats). + +It is available as a [Flatpak][1]. Please [ensure that your Linux system has Flatpak support enabled][2]. + +I am sharing the steps for enabling Flatpak on Ubuntu: + +``` +sudo apt install flatpak +flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +``` + +Now, use the below command to install PDF Tricks in your system: + +``` +flatpak install flathub com.github.muriloventuroso.pdftricks +``` + +Once you are done with the installation, open the PDF Tricks application from the system menu. + +On the first run, you will get you a list of actions you can perform with this tool. To merge PDF files, go with the third option, obviously. + +![merge pdf files using in ubuntu][3] + +In the next step, click on **Add file** and select the files you want to merge: + +![choose files to merge][4] + +Once you select files, click on the **Merge** button: + +![click on merge button][5] + +And it will open the default file manager of your system. Here you can select where you want to save the merged file and what it should be named: + +![locate and name the merged pdf file][6] + +And that’s it. The combined pdf has been saved. + +And if you are looking for a tool, we have a list of the [best PDF readers that you can use to read and edit PDF files.][7] + +**Related read**: List of [PDF editors available for Linux][7]. + +### Method 2: Merge PDF Files using LibreOffice + +The awesome LibreOffice is capable of handling many PDF related tasks. You can even [edit PDF files with LibreOffice Draw tool][8] for adding a digital signature, adding text, and much more. + +The good thing is that you don’t need to install another application. LibreOffice is already installed on most distributions, if not all. + +Open the file manager and select the PDF files that you want to merge. + +**Right-click on selected files > Open With Other Application > LibreOffice Draw from there**, and it will open selected PDF files. + +And it will open every PDF file you selected in a separate LibreOffice Draw instance: + +![open pdf file in libreoffice][9] + +Now, you have to **select individual pages or entire PDF file** (using Ctrl + A) from the left preview bar and drop it to the preview bar of the file that you want to combine with: + +Once you are done with drag and drop, click on the 5th option from the top left, labeled as **Export Directly as PDF**: + +![export directly as pdf in libreoffice][10] + +And it will open a file manager from where you can locate and name the file: + +![save merged file from libreoffice][11] + +And that’s it! + +### Bonus Tip: Merge PDFs in the command line [For advanced users] + +What kind of Linux tutorial would it be if I didn’t include the command line method? To merge PDF files in the command line, you can use ImageMagick. + +ImageMagick is actually an image-related tool. PDF files are essentially images and this is why ImageMagick can work with them. + +You probably don’t even need to [install ImageMagick][12] as it is already installed in most distros by default. + +For example, I will be adding 3 PDF files named pdf-1.pdf, pdf-2.pdf, and pdf-3.pdf and will name the final merged PDF file output as MergedFile.pdf (how clever): + +``` +convert pdf-1.pdf pdf-2.pdf pdf-3.pdf MergedFile.pdf +``` + +#### Troubleshooting no images defined + +If you see a policy error like this: + +![convert im6.q16: attempt to perform an operation not allowed by the security policy `pdf' @ error constitute.c iscoderauthorized 421.][13] + +The problem is quite easy to solve. You just have to make minor changes in the ImageMagick policy file. + +Open the policy file for editing: + +``` +sudo nano /etc/ImageMagick-6/policy.xml +``` + +And look for the following line: + +``` + +``` + +Now, you have to change the `rights="none"` to `rights=read|write`: + +``` + +``` + +![change policy in imagemagick to merge pdf files][14] + +Save the changes, and now you can easily merge files using ImageMagick: + +![merge pdf files using imagemagick in linux terminal][15] + +### Wrapping Up + +Now you know several ways of combining PDF files in Linux. Chances are that the merged PDF file is big in size. If you have to upload the merged PDF file on a portal that has size restrictions, you can [compress the PDF file][16]. + +Let me know if you face any issues with above discussed methods. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/merge-pdf-linux/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/what-is-flatpak/ +[2]: https://itsfoss.com/flatpak-guide/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/merge-pdf-files-using-in-ubuntu-1.png +[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-files-to-merge.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/click-on-merge-button.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/locate-and-name-the-merged-pdf-file.png +[7]: https://itsfoss.com/pdf-editors-linux/ +[8]: https://itsfoss.com/edit-pdf-files-ubuntu-linux/ +[9]: https://itsfoss.com/wp-content/uploads/2022/11/open-pdf-file-in-libreoffice.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/export-directly-as-pdf-in-libreoffice.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/save-merged-file-from-libreoffice.png +[12]: https://itsfoss.com/install-imagemagick-ubuntu/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/convert-im6.q16-attempt-to-perform-an-operation-not-allowed-by-the-security-policy-pdf-@-error-constitute.c-iscoderauthorized-421.0a.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/change-policy-in-imagemagick-to-merge-pdf-files.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/merge-pdf-files-using-imagemagick-in-linux-terminal.png +[16]: https://itsfoss.com/compress-pdf-linux/ From de5b1fbb322a1788c0d7e424596e4ea668ddfbb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:10:31 +0800 Subject: [PATCH 554/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221125.1=20=E2=AD=90=EF=B8=8F=20Excellent=20News!=20?= =?UTF-8?q?Midori=20Browser=20to=20Integrate=20its=20Own=20Open=20Source?= =?UTF-8?q?=20Engine=20for=20a=20Strong=20Comeback.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...wn Open Source Engine for a Strong Comeback.md | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md diff --git a/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md b/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md new file mode 100644 index 0000000000..af1f94d14c --- /dev/null +++ b/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md @@ -0,0 +1,103 @@ +[#]: subject: "Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback" +[#]: via: "https://news.itsfoss.com/midori-astiango/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback +====== + +Midori was a decently popular lightweight open-source web browser a few years back. + +Some of us thought it was discontinued and did not know if it was active. + +**Good news!** + +**Midori web browser is active (in beta)** and [available][1] as a **free and open-source** offering. + +It is an electron-powered browser based on Chromium without Google stuff and privacy protection features. + +> 💡 In 2019, the project got discontinued and merged with [Astian][2] as a mobile browser, where we did not get immediate clarification if the browser would be making a comeback or remain open-source. + +Additionally, with the upcoming update to the browser, they plan to integrate their own open-source search engine **AstianGO** with it. 🤯 + +This is somewhat similar to Brave (and its search engine), but **Brave Search is not open-source**. + +### AstianGO: Open-Source Search Engine + +In a [Reddit post][3], someone from Astian announced the plan to add an integrated open-source search engine, i.e., [AstianGO][4], in the Midori web browser with the next update. + +The source code is not yet available and should be available through [this GitLab page][5]. + +![astiango][6] + +The details are slim, but here's what they mention: + +> We have implemented and developed a fully open source search engine, without the use of third-party APIs, which does not store the IP address of the users, does not store the search history. We have called this search engine, ****AstianGO****, this search engine is developed in PHP, it is self-hosting, although it does not have an integrated update system yet, people can deploy it on their servers. + +The search engine uses data from Google, Qwant, and Brave Search to serve results. You can look at its [FAQ][7] to understand how it works. + +Regarding other browsers, some have a privacy-focused search engine integrated, and some promise privacy protection features. + +![][8] + +Sure, the search engine looks like a work in progress. + +But, an **open-source web browser with a privacy-friendly search engine** (also open-source) is probably unknown to most users. + +![midori browser][9] + +Midori aims to change that with this addition. + +### Midori Web Browser Status + +That sounds all good, **but I think this is not adequately planned out.** + +There is an **AppImage** and a **.deb package** available. It is also available for other platforms. + +I tried to install the Midori browser (.deb package)from its [download page][10], and I could not install it on Ubuntu 22.04 LTS 🚫 + +The AppImage file worked ✅ + +The download page does not reflect all the information to inform Linux distro support; it just mentions "**Debian x64**" and is not entirely translated into English. + +![][11] + +So, **I'm not sure we can recommend using the browser yet**. + +Of course, considering it is in beta, you should not rely on it. You can explore its [GitLab page][12] to know more. + +### Thoughts? + +I think a new open-source search engine is a good thing. I'm still not sure about Midori web browser for Linux, I need to test things through to recommend it in future. + +_Is the open-source search engine more exciting to you or the browser? Let me know your thoughts in the comments down below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/midori-astiango/ + +作者:[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://astian.org/en/midori-browser/ +[2]: https://astian.org +[3]: https://www.reddit.com/r/opensource/comments/z44jut/midori_browser_now_with_its_own_search_engine/ +[4]: https://astiango.com +[5]: https://gitlab.com/astiango/astian-search/ +[6]: https://news.itsfoss.com/content/images/2022/11/astiango.jpg +[7]: https://astiango.com/faq.php +[8]: https://news.itsfoss.com/content/images/2022/11/astiango.png +[9]: https://news.itsfoss.com/content/images/2022/11/midori-screenshot.png +[10]: https://astian.org/download/midori-browser-for-debian-x64/ +[11]: https://news.itsfoss.com/content/images/2022/11/midori-download.png +[12]: https://gitlab.com/midori-web/midori-desktop From 5321a4849736ce63cb1acbca3e4ebcd825e11c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:11:14 +0800 Subject: [PATCH 555/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221125.2=20=E2=AD=90=EF=B8=8F=20Rnote=20An=20Open-So?= =?UTF-8?q?urce=20Drawing=20App=20for=20Notes=20and=20Annotation.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Source Drawing App for Notes and Annotation.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 sources/tech/20221125.2 ⭐️ Rnote An Open-Source Drawing App for Notes and Annotation.md diff --git a/sources/tech/20221125.2 ⭐️ Rnote An Open-Source Drawing App for Notes and Annotation.md b/sources/tech/20221125.2 ⭐️ Rnote An Open-Source Drawing App for Notes and Annotation.md new file mode 100644 index 0000000000..e4284fe38c --- /dev/null +++ b/sources/tech/20221125.2 ⭐️ Rnote An Open-Source Drawing App for Notes and Annotation.md @@ -0,0 +1,108 @@ +[#]: subject: "Rnote: An Open-Source Drawing App for Notes and Annotation" +[#]: via: "https://itsfoss.com/rnote/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Rnote: An Open-Source Drawing App for Notes and Annotation +====== + +**_Brief:_**_Rnote allows you to take notes, draw, and annotate documents. Sounds like you need it? Let us explore more._ + +We have featured numerous note-taking applications, but options that support handwritten notes are a handful. + +Rnote is one such helpful application that lets you take handwritten notes and annotate documents/pictures. + +Of course, you need a drawing tablet or a setup with a stylus to use Rnote. + +### Rnote: Vector-based Drawing App for Sketching and Handwritten Notes + +![rnote screenshot][1] + +Rnote is an impressive open-source app written in Rust and GTK 4. + +It provides an adaptive UI focused on stylus input. It looks pretty minimal and yet offers some of the essential features that one would need for handwritten notes. + +Let me highlight some of the things it can do. + +**Recommended Read**: [**Best Note-Taking Apps for Linux Users**][2] + +### Features of Rnote + +![rnote settings][3] + +[Rnote][4] is a simple yet capable sketching/note-taking app. Some features include: + +- Supports pressure-sensitive stylus input with various stroke styles +- Add different shapes with the shape tool +- A selection tool to move, rotate, resize, and modify the content you add/draw. +- Document expand layouts +- Customizable page format +- Customizable background colors, patterns, and sizes +- Pen sound support for feedback +- Reconfigurable stylus button shortcuts +- Integrated workspace browser for quick media file access +- Drag and drop support +- Clipboard support +- Common page formats supported (A6, A5, US letter, etc) +- Import from PDF, bitmap, and SVG files. +- Native .rnote file to save/load documents. +- Export to SVG and PDF supported +- Autosave functionality +- Dark/Light mode + +The developers note that the native file format used by Rnote may not be stable enough for compatibility between newer versions of the application. + +So, it is best to export your work when you are done before upgrading Rnote to its latest version. + +In addition to its features, you get a good user experience with the available options. It does not feel overwhelming, and you can access all the tools quickly. + +Some customization is available to hide the scrollbars, change the cursor, and tweak the drawing cursor. + +You can also adjust the time interval for autosave to kick in, which should come in handy for various use cases. + +![rnote screenshot 1][5] + +### Installing Rnote on Linux + +Rnote is available as a Flatpak on [Flathub][6]. So, as long as you have [Flatpak enabled on your system][7], you can install it on any Linux distribution. + +You can find it in your software center (if Flatpak integration has been enabled) or type in the following command to get it installed: + +``` +flatpak install flathub com.github.flxzt.rnote +``` + +To explore more about Rnote, head to its [GitHub page][8]. + +### Wrapping Up + +Rnote is actively developed and making good progress with its feature set. If you like Rnote, you might want to look at [Xournal++][9], another app that enables you to take handwritten notes. + +_Do you know of any other exciting apps like Rnote? What do you think of Rnote? Share your thoughts in the comments down below._ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/rnote/ + +作者:[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/11/rnote-screenshot.png +[2]: https://itsfoss.com/note-taking-apps-linux/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/rnote-settings.png +[4]: https://rnote.flxzt.net +[5]: https://itsfoss.com/wp-content/uploads/2022/11/rnote-screenshot-1.png +[6]: https://flathub.org/apps/details/com.github.flxzt.rnote +[7]: https://itsfoss.com/flatpak-guide/ +[8]: https://github.com/flxzt/rnote +[9]: https://xournalpp.github.io From 2a7f8bca642341fd4dd103f43edd03b283a1a896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:11:37 +0800 Subject: [PATCH 556/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221125.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Le?= =?UTF-8?q?aving=20Twitter=20for=20Mastodon=20Here=20are=20the=207=20Best?= =?UTF-8?q?=20Mastodon=20Instances=20You=20Can=20Join.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... are the 7 Best Mastodon Instances You Can Join.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md diff --git a/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md b/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md new file mode 100644 index 0000000000..554d510dcb --- /dev/null +++ b/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md @@ -0,0 +1,159 @@ +[#]: subject: "Leaving Twitter for Mastodon? Here are the 7 Best Mastodon Instances You Can Join" +[#]: via: "https://itsfoss.com/best-mastodon-instances/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Leaving Twitter for Mastodon? Here are the 7 Best Mastodon Instances You Can Join +====== + +Leaving Twitter after Elon Musk’s takeover? Well, you are not alone. Many users have decided to leave Twitter for a different platform. + +Whether you entirely leave the platform or not is up to you. However, if you are looking for an alternative, **Mastodon** is the one you should pick. + +### What Is Mastodon? + +![x mastodon instances to join][1] + +Mastodon is a **decentralized open-source social media platform**. The highlights include the following: + +- It is an independent platform, not under the control of a single individual or a company. +- No algorithm that collects/analyzes the pattern of your usage. +- You get total control of the platform, which can be used to build a customized experience for your community. +- No ads. + +It primarily aims to be an open-source replacement to Twitter (considering posts were called “**toots**” similar to “**tweets**“) and the post layout can look a bit similar. Gradually it is evolving as an open-source social media platform all around. + +You can deploy Mastodon on your server (taking control of your data) or sign up on any available Mastodon instances (hosted by someone else). Every server is run by individuals and passionate users who dislike using platforms run by tech giants. + +We already had an article [explaining what Mastodon is][2] by a server admin if you wanted more in-depth details. + +### What Are Mastodon Servers or Instances? + +![itsfoss mastodon][3] + +Mastodon is an open-source social media software. + +Anyone can host it on their servers. Sometimes it is a group of individuals, an individual, or an entity. They are responsible to maintain and moderate it. + +Just think of it as “communities” instead of “servers” or an instance. There are many Mastodon communities run by a variety of people. You can join any available communities and interact with users across the Mastodon network. + +**You can always find servers** using [Mastodon’s official server portal][4]. + +If you are a user and want to use the platform to post stuff, follow other users, and engage with the community, you do not need to worry about how it all works. + +However, it is essential to choose the right community, as **every server has different rules, guidelines, and preferences**. + +To help you save time, I recommend some of the **best (or most popular) Mastodon servers** you can join for a good experience **in no particular order of ranking**. + +Unlike other social media platforms, Mastodon servers are mostly community-powered. So, we encourage you to donate/help the server administrators to continue enjoying the platform. + +### 1. Fosstodon + +![fosstodon][5] + +[Fosstodon][6] is the best Mastodon instance for **Linux users and open-source enthusiasts**. It is not one of the most popular options, but it is good. + +You can discuss anything you like as long as you follow its code of conduct; the focus is on free and open-source software. If you need like-minded users to discuss the same, Fosstodon is an excellent option. + +I have been a user of this server for a couple of years, and you will find engaging/valuable posts. + +### 2. Mstdn.social + +![mstdn social][7] + +[Mstdn.social][8] is one of the most exciting Mastodon server instances. The administrator of this instance (**stux**) is super active and welcoming. + +You can discuss anything here using the language of your choice, whether it is about technology, general stuff, or cute cat pictures. The admin regularly shares pictures of his cats; you might want to give him a follow just for that. + +### 3. Mas.to! + +![mas to][9] + +[Mas.to][10] is yet another interactive server where you can have fun posting various content. + +It features a good number of active users. So, you can always expect things to be engaging and active. You should not have any issues as long as you abide by the server rules. + +At the time of writing this, Mas.to temporarily stopped accepting new user registrations to increase the server capacity. You might want to keep an eye on this. + +### 4. Vivaldi Social + +![vivaldi mastodon][11] + +If you are not confident about relying on Mastodon servers run by individuals, you might want to opt to use [Vivaldi Social][12]. + +Built by the makers of [Vivaldi Browser][13]. + +It is good to see companies like Vivaldi promoting the adoption of open-source and decentralized tech through this instance. + +Sure, you will find Vivaldi’s branding replacing the Mastodon logo and posts by the Vivaldi team promoting their services occasionally, and that’s it. You will not find any advertisements. Also, it allows you to discuss anything in general, not restricted to a single language. + +### 5. Mastodon.art + +![mastodon art][14] + +[Mastodon.art][15] is a server that caters to all kinds of art (illustration, paintings, etc.). The server does not allow NFTs / Crypto Art. + +This server should be an excellent place to start if you want a feed full of creative stuff. At the time of writing this, Mastodon.art does not accept new sign-ups until the waitlist is cleared. You can check back in sometime to try creating an account with them. + +### 6. Techhub.social + +![techhub][16] + +[Techhub.social][17] aims to cater to users passionate about all technologies. + +Anyone can join the server if you follow the server rules. You do not have to be a tech geek to join the server, but the primary focus remains technology. + +### 7. Mastodon.lol + +![mastodon lol][18] + +[Mastodon.lol][19] is for you if you want a server that aims to welcome members of LBGTQ+, hackers, and a similar group of users. + +Just like a few other servers, Mastodon.lol is overwhelmed by new user registrations. However, the administration plans to re-open the registrations once new moderators have been added to the server. + +### Frequently Asked Questions (FAQ) + +- **Are Mastodon servers privacy-friendly?**Yes, Mastodon is designed in a way where no advanced algorithm collects any form of data to serve you advertisements.For the rest of the stuff, the server administrator has access to the data that you provide to them when signing up and other general statistics (number of posts, likes, IP address, email, etc). So, you may use [VPN services][20] or [Tor][21] and various other [privacy tools][22] to keep your identity anonymous.You might want to check the privacy policy for the server you intend to join. +- **Does Mastodon allow NSFW content?**Some servers do, and some servers do not. You must read the rules and regulations of the server.A feature to mark content as sensitive gives users a warning before they try to see your post. +- **What happens when a Mastodon server is no longer available?**Considering Mastodon servers are run by individuals, some may have hiccups.If you want to prepare for the d-day, you can always use the **account options to move to a different account (or from a different one).**You can find it under **Account → Account settings → Move to a different account (or from)** +- **Can I talk to my friends from another Mastodon server/instance?**No matter what server/instance you choose to join, you can talk to any user from any server/instance.The entire Mastodon network consists of all the servers out there. You do not need to join another server to be able to interact with another user. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/best-mastodon-instances/ + +作者:[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/11/x-mastodon-instances-to-join.png +[2]: https://itsfoss.com/mastodon-open-source-alternative-twitter/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/itsfoss-mastodon.jpg +[4]: https://joinmastodon.org/servers +[5]: https://itsfoss.com/wp-content/uploads/2022/11/fosstodon.jpg +[6]: https://fosstodon.org/explore +[7]: https://itsfoss.com/wp-content/uploads/2022/11/mstdn-social.jpg +[8]: https://mstdn.social/about +[9]: https://itsfoss.com/wp-content/uploads/2022/11/mas-to.jpg +[10]: https://mas.to/about +[11]: https://itsfoss.com/wp-content/uploads/2022/11/vivaldi-mastodon.jpg +[12]: https://social.vivaldi.net/about +[13]: https://itsfoss.com/install-vivaldi-ubuntu-linux/ +[14]: https://itsfoss.com/wp-content/uploads/2022/11/mastodon-art.jpg +[15]: https://mastodon.art/about +[16]: https://itsfoss.com/wp-content/uploads/2022/11/techhub.png +[17]: https://techhub.social/about +[18]: https://itsfoss.com/wp-content/uploads/2022/11/mastodon-lol.jpg +[19]: https://mastodon.lol/about +[20]: https://itsfoss.com/best-vpn-linux/ +[21]: https://itsfoss.com/install-tar-browser-linux/ +[22]: https://itsfoss.com/privacy-tools/ From f3b3ea0414f78371b479ac29282d004e9252f9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:14:23 +0800 Subject: [PATCH 557/925] =?UTF-8?q?Update=2020221125.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Leaving=20Twitter=20for=20Mastodo?= =?UTF-8?q?n=20Here=20are=20the=207=20Best=20Mastodon=20Instances=20You=20?= =?UTF-8?q?Can=20Join.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... are the 7 Best Mastodon Instances You Can Join.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md b/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md index 554d510dcb..b0ec4f21e1 100644 --- a/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md +++ b/sources/tech/20221125.3 ⭐️⭐️ Leaving Twitter for Mastodon Here are the 7 Best Mastodon Instances You Can Join.md @@ -117,10 +117,21 @@ Just like a few other servers, Mastodon.lol is overwhelmed by new user registrat ### Frequently Asked Questions (FAQ) -- **Are Mastodon servers privacy-friendly?**Yes, Mastodon is designed in a way where no advanced algorithm collects any form of data to serve you advertisements.For the rest of the stuff, the server administrator has access to the data that you provide to them when signing up and other general statistics (number of posts, likes, IP address, email, etc). So, you may use [VPN services][20] or [Tor][21] and various other [privacy tools][22] to keep your identity anonymous.You might want to check the privacy policy for the server you intend to join. -- **Does Mastodon allow NSFW content?**Some servers do, and some servers do not. You must read the rules and regulations of the server.A feature to mark content as sensitive gives users a warning before they try to see your post. -- **What happens when a Mastodon server is no longer available?**Considering Mastodon servers are run by individuals, some may have hiccups.If you want to prepare for the d-day, you can always use the **account options to move to a different account (or from a different one).**You can find it under **Account → Account settings → Move to a different account (or from)** -- **Can I talk to my friends from another Mastodon server/instance?**No matter what server/instance you choose to join, you can talk to any user from any server/instance.The entire Mastodon network consists of all the servers out there. You do not need to join another server to be able to interact with another user. +- **Are Mastodon servers privacy-friendly?** + +Yes, Mastodon is designed in a way where no advanced algorithm collects any form of data to serve you advertisements.For the rest of the stuff, the server administrator has access to the data that you provide to them when signing up and other general statistics (number of posts, likes, IP address, email, etc). So, you may use [VPN services][20] or [Tor][21] and various other [privacy tools][22] to keep your identity anonymous.You might want to check the privacy policy for the server you intend to join. + +- **Does Mastodon allow NSFW content?** + +Some servers do, and some servers do not. You must read the rules and regulations of the server.A feature to mark content as sensitive gives users a warning before they try to see your post. + +- **What happens when a Mastodon server is no longer available?** + +Considering Mastodon servers are run by individuals, some may have hiccups.If you want to prepare for the d-day, you can always use the **account options to move to a different account (or from a different one).** You can find it under **Account → Account settings → Move to a different account (or from)**. + +- **Can I talk to my friends from another Mastodon server/instance?** + +No matter what server/instance you choose to join, you can talk to any user from any server/instance.The entire Mastodon network consists of all the servers out there. You do not need to join another server to be able to interact with another user. -------------------------------------------------------------------------------- From 9ae23e0bdd7099e6ad3684704d866d510052436f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:16:05 +0800 Subject: [PATCH 558/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221124.2=20=E2=AD=90=EF=B8=8F=20Alpine=20Linux=203.1?= =?UTF-8?q?7=20is=20out=20with=20OpenSSL=203.0=20and=20new=20packages.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...17 is out with OpenSSL 3.0 and new packages.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md diff --git a/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md b/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md new file mode 100644 index 0000000000..880333fc3d --- /dev/null +++ b/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md @@ -0,0 +1,58 @@ +[#]: subject: "Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages" +[#]: via: "https://debugpointnews.com/alpine-linux-3-17/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages +====== + +**Container Linux operating system Alpine Linux released version 3.17. This is a release summary.** + +![Alpine Linux 3.17][1] + +### Alpine Linux 3.17 + +Alpine Linux 3.17 is the first major release of this series, coming within a few months since its last iteration of the 3.16 series beginning this year. Usually, the Alpine team releases it twice a year. And hence this will be the final release of this year. + +Feature-wise, mostly the core package updates arrives in Alpine 3.17 – those are needed. The most significant update is the OpenSSL 3.0 version as default, bringing the recent high vulnerability fixes, which [caused delays][2] in some distro releases. + +In addition, the Alpine core repo is refreshed with an updated toolchain. Significant versions include GCC 12, bash 5.2, Perl 5.36 and Rust 1.64. + +Although Alpine Linux is ideal for server-based distributions, its repo has GNOME and KDE Plasma desktops. This release refreshed GNOME version 43 and KDE Plasma to 5.26 – which are the latest offerings of this distribution. + +However, PHP 8 is deprecated in this version. Finally, it is powered by Linux kernel 5.15.79, which is the current LTS mainline kernel available. + +Alpine Linux is available for download for all major architectures, including Raspberry Pi. This version is available to download using the official website below. + +[Download Alpine Linux][3] + +If you are using Alpine Linux 3.16, you can simply kick off the upgrade using the following command. + +``` +apk upgrade --available +``` + +Via [official release announcement][4]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/alpine-linux-3-17/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/11/Alpine-Linux-3.17.jpg +[2]: https://debugpointnews.com/openssl-3-0-7/ +[3]: https://alpinelinux.org/downloads/ +[4]: https://alpinelinux.org/posts/Alpine-3.17.0-released.html + From c8785b2d6946cf269e94788109229519b7ff464c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:16:18 +0800 Subject: [PATCH 559/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221124.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2010?= =?UTF-8?q?=20Best=20Steam=20Games=20on=20Sale=20for=20Linux=20Users=20?= =?UTF-8?q?=F0=9F=8E=AE(November=202022).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Games on Sale for Linux Users 🎮(November 2022).md | 213 ++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md diff --git a/sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md b/sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md new file mode 100644 index 0000000000..fe0621e77e --- /dev/null +++ b/sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md @@ -0,0 +1,213 @@ +[#]: subject: "10 Best Steam Games on Sale for Linux Users 🎮(November 2022)" +[#]: via: "https://news.itsfoss.com/best-steam-games-linux-sale/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +10 Best Steam Games on Sale for Linux Users 🎮(November 2022) +====== + +[Gaming on Linux][1] has been evolving over the years, thanks to Steam's **Proton** and Wine and many other tools like **Bottles, Lutris, and Heroic Game Launcher**. + +This means even if a game is unavailable natively on Linux, you can still play some of them thanks to [Steam Play][2]. + +That's great. Now, you would need some great discounts on games to give them a try, right? + +Well, you are in luck; the yearly **Steam Autumn Sale** is live right now (until **29th November**), with offers on much of the catalog. + +I have picked a few games for Linux systems (even if they are not officially supported) that might pique your interest. + +Let's get started. 🎮 + +> 💡 This article will be updated regularly (monthly/quarterly) when there are discounts on games. + +**Note:** _Regional pricing can differ. The prices mentioned are in US dollars._ + +### 1. The Witcher 3: Wild Hunt + +![the witcher 3 wild hunt][3] + +**Steam Deck status**: _Verified_ ✔️ + +Follow the life of a Witcher as war rages on in the Northern Realms. + +This open-world RPG game takes you deep into the conflicts between humans and non-humans. + +It is set to receive a remastered release on 14th December with better visuals and various fixes, so hurry up and grab it. + +It's **80% off** on Steam right now at **$7.99.** + +[The Witcher 3: Wild Hunt][4] + +### 2. Kena: Bridge of Spirits + +![kena bridge of spirits][5] + +**Steam Deck status**: _Verified_ ✔️ + +This is a story-driven, action-adventure game that follows the journey of Kena, a young Spirit Guide searching for the sacred Mountain Shrine. + +This game offers fast-paced combat with exciting puzzles to solve along the way. + +It's **50% off** on Steam right now at **$19.99**. + +[Kena: Bridge of Spirits][6] + +### 3. Control + +![control][7] + +**Steam Deck status**: _Verified_ ✔️ + +It is a third-person action-adventure game that promises to keep you on your toes. + +You fight a 'corruptive presence' that has invaded the 'Federal Bureau of Control' using your powers. + +It's **75% off** on Steam right now at **$9.99** + +[Control][8] + +### 4. Carrion (Native Linux) + +![Carrion - Release Date Announcement Trailer][9] + +**Steam Deck status**: _Verified_ ✔️ + +Want to be the reason to scare others? + +Then Carrion is the game for you! + +It is a reverse horror game that lets you play as a creature of unknown origins, who is on the hunt, stalking and consuming those who imprisoned it. + +It's **60% off** on Steam right now at **$7.99.** + +[CARRION][10] + +### 5. Death Stranding + +![DEATH STRANDING DIRECTOR'S CUT PC - Launch Trailer - [ESRB] 4K][11] + +**Steam Deck status**: _Verified_ ✔️ + +One of Hideo Kojima's works, this game takes you on a journey through a future where a mysterious event called the 'Death Stranding' had opened a doorway between the living and the dead. + +It's **40% off** on Steam right now at **$23.99**. + +[DEATH STRANDING][12] + +### 6. Stray + +![stray][13] + +**Steam Deck status**: _Verified_ ✔️ + +In this game, you take on the role of a stray cat who has been separated from its family. + +Set in a Cyberpunk world filled with robots, you face various obstacles, puzzles, and adversaries along the way. + +It's **20% off** on Steam right now at **$23.99.** + +[Stray][14] + +### 7. Ghostwire: Tokyo + +![Ghostwire: Tokyo - Official Gameplay Deep Dive][15] + +**Steam Deck status**: _Playable_ 🟡 + +Set in Tokyo, it is an open-world horror game that lets you use an array of elemental abilities to solve the mystery behind the disappearance of the people of Tokyo. + +It's **60% off** on Steam right now at **$23.99**. + +[Ghostwire: Tokyo][16] + +### 8. Valheim (Native Linux) + +![valheim][17] + +**Steam Deck status**: _Verified_ ✔️ + +This is an exploration, building, and survival game for up to 10 players set in a procedurally-generated world inspired by Viking culture. + +It's **30% off** on Steam right now at **$13.99**. + +[Valheim][18] + +### 9. Scorn + +![scorn][19] + +**Steam Deck status**: _Unsupported_ 🚫 + +Not for the faint-hearted, this is a first-person horror adventure game set to give you nightmares! + +Designed in such a way that you will feel isolated and lost inside the game. It features different interconnected regions for you to explore. + +It's **20% off** on Steam right now at **$31.99**. + +[Scorn][20] + +### 10. Amnesia: Rebirth (Native Linux) + +![Amnesia: Rebirth : Gameplay Reveal Trailer][21] + +**Steam Deck status**: _Verified_ ✔️ + +This is also a first-person horror game that is not for the faint-hearted. + +It takes you on a terrifying journey through the Algerian desert to uncover your character's past, Tasi Trianon. + +It's **70% off** on Steam right now at **$8.99.** + +[Amnesia: Rebirth][22] + +**Game Over?** No, this list does not represent all the awesome games discounted on the Steam store for Linux. + +You will find massive discounts on several amazing titles, such as [Red Dead Redemption 2][23], [Cyberpunk 2077][24], [Euro Truck Simulator 2][25], and more. + +And if you like getting games at a discount, try the [Humble Bundle membership][26]. They give several PC games for free every month. Some, but not all, such games are also supported on Linux. + +_💬 These are just some of my best picks I want you to try. If you have suggestions, feel free to share them in the comments box below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/best-steam-games-linux-sale/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/linux-gaming-guide/ +[2]: https://itsfoss.com/steam-play/ +[3]: https://news.itsfoss.com/content/images/2022/11/Witcher_3.jpg +[4]: https://store.steampowered.com/app/292030/The_Witcher_3_Wild_Hunt/ +[5]: https://news.itsfoss.com/content/images/2022/11/Kena.jpg +[6]: https://store.steampowered.com/app/1954200/Kena_Bridge_of_Spirits/ +[7]: https://news.itsfoss.com/content/images/2022/11/Control.jpg +[8]: https://store.steampowered.com/app/870780/Control_Ultimate_Edition/ +[9]: https://youtu.be/EbXBqae_iJI +[10]: https://store.steampowered.com/app/953490/CARRION/ +[11]: https://youtu.be/s2GUQcbz_8Q +[12]: https://store.steampowered.com/app/1850570/DEATH_STRANDING_DIRECTORS_CUT/ +[13]: https://news.itsfoss.com/content/images/2022/11/Stray.jpg +[14]: https://store.steampowered.com/app/1332010/Stray/ +[15]: https://youtu.be/vGScfDMeId8 +[16]: https://store.steampowered.com/app/1475810/Ghostwire_Tokyo/ +[17]: https://news.itsfoss.com/content/images/2022/11/Valheim.jpg +[18]: https://store.steampowered.com/app/892970/Valheim/ +[19]: https://news.itsfoss.com/content/images/2022/11/Scorn.jpg +[20]: https://store.steampowered.com/app/698670/Scorn/ +[21]: https://youtu.be/jChsLiRvWXw +[22]: https://store.steampowered.com/app/999220/Amnesia_Rebirth/ +[23]: https://store.steampowered.com/app/1174180/Red_Dead_Redemption_2/ +[24]: https://store.steampowered.com/app/1091500/Cyberpunk_2077/ +[25]: https://store.steampowered.com/app/227300/Euro_Truck_Simulator_2/ +[26]: https://www.humblebundle.com/membership?partner=itsfoss From c275b84e46ce228f0c16b69a3548846f10cf32a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:17:47 +0800 Subject: [PATCH 560/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221124.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Write=20a=20C++=20extension=20module=20for?= =?UTF-8?q?=20Python.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Write a C++ extension module for Python.md | 318 ++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md diff --git a/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md b/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md new file mode 100644 index 0000000000..14355235cb --- /dev/null +++ b/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md @@ -0,0 +1,318 @@ +[#]: subject: "Write a C++ extension module for Python" +[#]: via: "https://opensource.com/article/22/11/extend-c-python" +[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Write a C++ extension module for Python +====== + +In a previous article, I gave an overview of [six Python interpreters][1]. On most systems, the CPython interpreter is the default, and also the poll in my last article showed that CPython is the most popular one. Specific to CPython is the ability to write Python modules in C using CPythons extensions API. Writing Python modules in C allows you to move computation-intensive code to C while preserving the ease of access of Python. + +In this article, I’ll show you how to write an extension module. Instead of plain C, I use C++ because most compilers usually understand both. I have to mention one major drawback in advance: Python modules built this way are not portable to other interpreters. They only work in conjunction with the CPython interpreter. So if you are looking for a more portable way of interacting with C libraries, consider using the [ctypes][2] module. + +### Source code + +As usual, you can find the related source code on [GitHub][3]. The C++ files in the repository have the following purpose: + +- `my_py_module.cpp`: Definition of the Python module _MyModule_ +- `my_cpp_class.h`: A header-only C++ class which gets exposed to Python +- `my_class_py_type.h/cpp`: Python representation of our C++ class +- `pydbg.cpp`: Separate application for debugging purpose + +The Python module you build in this article won’t have any meaningful use, but is a good example. + +### Build the module + +Before looking into the source code, you can check whether the module compiles on your system. [I use CMake][4] for creating the build configuration, so CMake must be installed on your system. In order to configure and build the module, you can either let Python run the process: + +``` +$ python3 setup.py build +``` + +Or run the process manually: + +``` +$ cmake -B build +$ cmake --build build +``` + +After that, you have a file called `MyModule.so` in the `/build` subdirectory. + +### Defining an extension module + +First, take a look on `my_py_module.cpp`, in particular, the function `PyInit_MyModule`: + +``` +PyMODINIT_FUNC +PyInit_MyModule(void) { + PyObject* module = PyModule_Create(&my_module); + + PyObject *myclass = PyType_FromSpec(&spec_myclass); + if (myclass == NULL){ + return NULL; + } + Py_INCREF(myclass); + + if(PyModule_AddObject(module, "MyClass", myclass) < 0){ + Py_DECREF(myclass); + Py_DECREF(module); + return NULL; + } + return module; +} +``` + +This is the most important code in this example because it acts as the entry point for CPython. In general, when a Python C extension is compiled and made available as a shared object binary, CPython searches for the function `PyInit_` in the eponymous binary (`.so`) and executes it when attempting to import it. + +All Python types, whether declarations or instances, are exposed as pointers to [PyObject][5]. In the first part of this function, the root definition of the module is created by running `PyModule_Create(...)`. As you can see in the module specification (`my_module`, same file), it doesn’t have any special functionality. + +Afterward, [PyType_FromSpec][6] is called to create a Python [heap type][7] definition for the custom type MyClass. A heap type corresponds to a Python class. The type definition is then assigned to the module MyModule. + +_Note that if one of the functions fails, the reference count of previously created PyObjects must be decremented so that they get deleted by the interpreter._ + +### Specifying a Python type + +The specification for the type MyClass is found inside [my_class_py_type.h][8] as an instance of [PyType_Spec][9]: + +``` +static PyType_Spec spec_myclass = { + "MyClass", // name + sizeof(MyClassObject) + sizeof(MyClass), // basicsize + 0, // itemsize + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, // flags + MyClass_slots // slots +}; +``` + +This structure defines some basic type information for the class. The value passed for the size consists of the size of the Python representation (`MyClassObject`) and the size of the plain C++ class (`MyClass`). The `MyClassObject` is defined as follows: + +``` +typedef struct { + PyObject_HEAD + int m_value; + MyClass* m_myclass; +} MyClassObject; +``` + +The Python representation is basically of type [PyObject][5], defined by the macro `PyObject_HEAD`, and some additional members. The member `m_value` is exposed as ordinary class member while the member `m_myclass` is only accessible from inside C++ code. + +The [PyType_Slot][10] defines some additional functionality: + +``` +static PyType_Slot MyClass_slots[] = { + {Py_tp_new, (void*)MyClass_new}, + {Py_tp_init, (void*)MyClass_init}, + {Py_tp_dealloc, (void*)MyClass_Dealloc}, + {Py_tp_members, MyClass_members}, + {Py_tp_methods, MyClass_methods}, + {0, 0} /* Sentinel */ +}; +``` + +Here, the jump addressed for some initialization and de-initialization functions are set as well as ordinary class methods and members. Additional functionality, like assigning an initial attribute dictionary, could also be set, but this is optional. Those definitions usually end with a sentinel, consisting of `NULL` values. + +To complete the type specification, here is the method and member table: + +``` +static PyMethodDef MyClass_methods[] = { + {"addOne", (PyCFunction)MyClass_addOne, METH_NOARGS, PyDoc_STR("Return an incrmented integer")}, + {NULL, NULL} /* Sentinel */ +}; + +static struct PyMemberDef MyClass_members[] = { + {"value", T_INT, offsetof(MyClassObject, m_value)}, + {NULL} /* Sentinel */ +}; +``` + +In the method table, the Python method `addOne` is defined, and it points to the related function `MyClass_addOne`. This function acts as a wrapper. It invokes the `addOne()` method in the C++ class. + +In the member table, there is just one member defined for demonstration purposes. Unfortunately, the use of [offsetof][11] in [PyMemberDef][12] doesn’t allow C++ specific types to be added to `MyClassObject`. If you try to place some C++ type container (such as [std::optional][13]), the compiler complains about it in the form of warnings related to memory layout. + +### Initialization and de-initialization + +The method `MyClass_new` acts only to provide initial values for `MyClassObject` and allocates memory for the base type: + +``` +PyObject *MyClass_new(PyTypeObject *type, PyObject *args, PyObject *kwds){ + std::cout << "MtClass_new() called!" << std::endl; + + MyClassObject *self; + self = (MyClassObject*) type->tp_alloc(type, 0); + if(self != NULL){ // -> allocation successfull + // assign initial values + self->m_value = 0; + self->m_myclass = NULL; + } + return (PyObject*) self; +} +``` + +Actual initialization takes place in `MyClass_init`, which corresponds to the [__init__()][14] method in Python: + +``` +int MyClass_init(PyObject *self, PyObject *args, PyObject *kwds){ + + ((MyClassObject *)self)->m_value = 123; + + MyClassObject* m = (MyClassObject*)self; + m->m_myclass = (MyClass*)PyObject_Malloc(sizeof(MyClass)); + + if(!m->m_myclass){ + PyErr_SetString(PyExc_RuntimeError, "Memory allocation failed"); + return -1; + } + + try { + new (m->m_myclass) MyClass(); + } catch (const std::exception& ex) { + PyObject_Free(m->m_myclass); + m->m_myclass = NULL; + m->m_value = 0; + PyErr_SetString(PyExc_RuntimeError, ex.what()); + return -1; + } catch(...) { + PyObject_Free(m->m_myclass); + m->m_myclass = NULL; + m->m_value = 0; + PyErr_SetString(PyExc_RuntimeError, "Initialization failed"); + return -1; + } + + return 0; +} +``` + +If you want to have arguments passed during initialization, you must call [PyArg_ParseTuple][15] at this point. For the sake of simplicity, all arguments passed during initialization are ignored in this example. In the first part of the function, the `PyObject` pointer (`self`) is reinterpreted to a pointer to `MyClassObject` in order to get access to our additional members. Additionally, the memory for the C++ class is allocated and its constructor is executed. + +Note that exception handling and memory allocation (and de-allocation) must be carefully done in order to prevent memory leaks. When the reference count drops to zero, the `MyClass_dealloc` function takes care of freeing all related heap memory. There’s a [dedicated chapter][16] in the documentation about memory management for C and C++ extensions. + +### Method wrapper + +Calling a related C++ class method from the Python class is easy: + +``` +PyObject* MyClass_addOne(PyObject *self, PyObject *args){ + assert(self); + + MyClassObject* _self = reinterpret_cast(self); + unsigned long val = _self->m_myclass->addOne(); + return PyLong_FromUnsignedLong(val); +} +``` + +Again, the `PyObject*` argument (`self`) is casted to `MyClassObject*` in order to get access to `m_myclass`, a pointer to the C++ class instance. With this information, the classes method `addOne()` is called and the result is returned in form of a [Python integer object][17]. + +### 3 ways to debug + +For debugging purposes, it can be valuable to compile the CPython interpreter in debugging configuration. A detailed description can be found in the [official documentation][18]. It’s possible to follow the next steps, as long as additional debug symbols for the pre-installed interpreter are downloaded. + +#### GNU Debugger + +Good old [GNU Debugger (GDB)][19] is, of course, also useful here. I include a [gdbinit][20] file, defining some options and breakpoints. There’s also the [gdb.sh][21] script, which creates a debug build and initiates a GDB session: + +![Gnu Debugger (GDB) is useful for your Python C and C++ extensions.][22] + +GDB invokes the CPython interpreter with the script file [main.py][23]. The script file allows you to easily define all the actions you want to perform with the Python extension module. + +#### C++ application + +Another approach is to embed the CPython interpreter in a separate C++ application. In the repository, this can be found in the file [pydbg.cpp][24]: + +``` +int main(int argc, char *argv[], char *envp[]) +{ + Py_SetProgramName(L"DbgPythonCppExtension"); + Py_Initialize(); + + PyObject *pmodule = PyImport_ImportModule("MyModule"); + if (!pmodule) { + PyErr_Print(); + std::cerr << "Failed to import module MyModule" << std::endl; + return -1; + } + + PyObject *myClassType = PyObject_GetAttrString(pmodule, "MyClass"); + if (!myClassType) { + std::cerr << "Unable to get type MyClass from MyModule" << std::endl; + return -1; + } + + PyObject *myClassInstance = PyObject_CallObject(myClassType, NULL); + + if (!myClassInstance) { + std::cerr << "Instantioation of MyClass failed" << std::endl; + return -1; + } + + Py_DecRef(myClassInstance); // invoke deallocation + return 0; +} +``` + +Using the [high level interface][25], it’s possible to include the extension module and perform actions on it. This allows you to debug in the native IDE environment. It also gives you finer control of the variables passed from and to the extension module. + +The drawback is the high expense of creating an extra application. + +#### VSCode and VSCodium LLDB extension + +Using a debugger extension like [CodeLLDB][26] is probably the most convenient debugging option. The repository includes the VSCode or VSCodium configuration files for building the extension ([task.json][27], [CMake Tools][28]) and invoking the debugger ([launch.json][29]). This approach combines the advantages of the previous ones: Debugging in an graphical IDE, defining actions in a Python script file or even dynamically in the interpreter prompt. + +![VSCodium features an integrated debugger.][30] + +### Extend C++ with Python + +All functionality available from Python code is also available from within a C or C++ extension. While coding in Python is often considered as an easy win, extending Python in C or C++ can also be a pain. On the other hand, while native Python code is slower than C++, a C or C++ extension makes it possible to elevate a computation-intensive task to the speed of native machine code. + +You must also consider the usage of an ABI. The stable ABI provides a way to maintain backwards compatibility to older versions of CPython as described in [the documentation][31]. + +In the end, you must weigh the advantages and disadvantages yourself. Should you decide to use C extensions to make certain functionality available to you in Python, you’ve seen how it can be done. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/extend-c-python + +作者:[Stephan Avenwedde][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/hansic99 +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/9/python-interpreters-2022 +[2]: https://docs.python.org/3/library/ctypes.html#module-ctypes +[3]: https://github.com/hANSIc99/PythonCppExtension +[4]: https://opensource.com/article/21/5/cmake +[5]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pyobject#c.PyObject +[6]: https://docs.python.org/3/c-api/type.html#c.PyType_FromSpec +[7]: https://docs.python.org/3/c-api/typeobj.html#heap-types +[8]: https://github.com/hANSIc99/PythonCppExtension/blob/main/my_class_py_type.h +[9]: https://docs.python.org/3/c-api/type.html#c.PyType_Spec +[10]: https://docs.python.org/release/3.9.1/c-api/type.html?highlight=pytype_slot#c.PyType_Slot +[11]: https://en.cppreference.com/w/cpp/types/offsetof +[12]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pymemberdef#c.PyMemberDef +[13]: https://en.cppreference.com/w/cpp/utility/optional +[14]: https://docs.python.org/3/library/dataclasses.html?highlight=__init__ +[15]: https://docs.python.org/3/c-api/arg.html#c.PyArg_ParseTuple +[16]: https://docs.python.org/3/c-api/memory.html +[17]: https://docs.python.org/3/c-api/long.html +[18]: https://docs.python.org/3/c-api/intro.html#debugging-builds +[19]: https://opensource.com/article/21/3/debug-code-gdb +[20]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdbinit +[21]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdb.sh +[22]: https://opensource.com/sites/default/files/2022-11/gdb_session_b_0.png +[23]: https://github.com/hANSIc99/PythonCppExtension/blob/main/main.py +[24]: https://github.com/hANSIc99/PythonCppExtension/blob/main/pydbg.cpp +[25]: https://docs.python.org/3/extending/embedding.html#very-high-level-embedding +[26]: https://github.com/vadimcn/vscode-lldb +[27]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/tasks.json +[28]: https://github.com/microsoft/vscode-cmake-tools +[29]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/launch.json +[30]: https://opensource.com/sites/default/files/2022-11/vscodium_debug_session.png +[31]: https://docs.python.org/3/c-api/stable.html From 8050a6fef75fd8a2e34597e77a4795f925870898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 28 Nov 2022 12:19:21 +0800 Subject: [PATCH 561/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221123.3=20=E2=AD=90=EF=B8=8F=20Tails=205.7=20Releas?= =?UTF-8?q?es=20With=20Metadata=20Cleaner=20Tool.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ils 5.7 Releases With Metadata Cleaner Tool.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md diff --git a/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md b/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md new file mode 100644 index 0000000000..0d041a485d --- /dev/null +++ b/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md @@ -0,0 +1,79 @@ +[#]: subject: "Tails 5.7 Releases With "Metadata Cleaner" Tool" +[#]: via: "https://news.itsfoss.com/tails-5-7-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Tails 5.7 Releases With "Metadata Cleaner" Tool +====== + +[Tails][1] is a portable operating system that protects against censorship and surveillance. + +It is one of the most popular privacy-focused Linux distributions preferred by journalists and activists who do not want their information exposed to malicious actors. + +With this update, it aims to become even more privacy-friendly and secure by offering many improvements. + +Let's take a look at them. + +#### Limited Time Deals ⌛ + +### 🆕 Tails 5.7: What's new? + +![tails 5.7][2] + +This update has brought in a new tool to clean metadata from files, alongside various package updates and bug fixes. + +Sounds promising! 😄 + +#### Metadata Cleaner + +![tails 5.7 metadata cleaner][3] + +This is a new addition to Tails, which you can use to clean a file's metadata. By extracting the metadata from your files, you can use this to prevent malicious actors from personally identifying you. + +A file's metadata contains a lot of sensitive information that can be used to identify the author (creator of the file), how it was created, and the date of creation. + +In the case of photos and videos, they can also contain geolocation data showing exactly where they were captured. + +We also have an article on it if you want to explore the tool separately. + +#### Package Updates + +Tails 5.7 features the recently updated Tor Browser 11.5.8. + +It contains a variety of CVE fixes, updated translations, OpenSSL 1.1.1.s, NoScript 11.4.12, tor 0.4.7.11 and [more][4]. + +Two stability issues with the Tor connection were also fixed, and a workaround for a known issue of the Tor connection getting stuck around 50% was provided. + +> 💡 You can try one of two methods to fix it: either close and reopen the Tor connection or try a different obfs4 bridge. + +In addition to that, the 'pdf-redact-tools' package was removed as it was not functioning correctly since Tails 5.6. + +### 📥 Download Tails 5.7 + +You can download Tails 5.7 from its [official website][5]. + +If you want to dive deep into the technical details of this update, then you can refer to the [changelog][6] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/tails-5-7-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://tails.boum.org +[2]: https://news.itsfoss.com/content/images/2022/11/Tails_5.7.png +[3]: https://news.itsfoss.com/content/images/2022/11/Tails_5.7_MetadataCleaner.png +[4]: https://blog.torproject.org/new-release-tor-browser-1158/ +[5]: https://tails.boum.org/install/ +[6]: https://tails.boum.org/news/version_5.7/ From d19d20fcc3029dea7729361da30e0e237458c5c4 Mon Sep 17 00:00:00 2001 From: Tingze-G <119109831+Tingze-G@users.noreply.github.com> Date: Mon, 28 Nov 2022 16:47:21 +0800 Subject: [PATCH 562/925] =?UTF-8?q?Update=2020221123.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20apt=20remove=20vs=20apt=20purge?= =?UTF-8?q?=20What=E2=80=99s=20the=20Difference.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md index aa796127cd..7eb690888a 100644 --- a/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md +++ b/sources/tech/20221123.0 ⭐️⭐️ apt remove vs apt purge What’s the Difference.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/apt-remove/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Tngze-G" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 62823445fa3372f3c3d9a7e8916daf04694d6d56 Mon Sep 17 00:00:00 2001 From: "jx.zeng" Date: Tue, 29 Nov 2022 06:26:34 +0800 Subject: [PATCH 563/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Packages From External Repositories in Ubuntu -Explained.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md b/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md index 8cd2bba801..8e7be7b565 100644 --- a/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md +++ b/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/adding-external-repositories-ubuntu/" [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "nophDog" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 04788bbd562d11e7af18716d22a16e9550952270 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 29 Nov 2022 08:57:42 +0800 Subject: [PATCH 564/925] translated --- ...w to Install Cinnamon Desktop in Arch Linux.md | 137 ------------------ ...w to Install Cinnamon Desktop in Arch Linux.md | 136 +++++++++++++++++ 2 files changed, 136 insertions(+), 137 deletions(-) delete mode 100644 sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md create mode 100644 translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md diff --git a/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md deleted file mode 100644 index ace1587af9..0000000000 --- a/sources/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md +++ /dev/null @@ -1,137 +0,0 @@ -[#]: subject: "How to Install Cinnamon Desktop in Arch Linux" -[#]: via: "https://www.debugpoint.com/cinnamon-arch-linux-install/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Cinnamon Desktop in Arch Linux -====== - -**Cinnamon is the default desktop environment for Linux Mint. This quick guide explains the steps to install the Cinnamon desktop environment in Arch Linux.** - -The [Cinnamon desktop environment][1] is the default desktop flavour for [Linux Mint][2]. This GTK-based desktop environment is created to provide a traditional desktop flavour with old GNOME (i.e. pre-GNOME 3 looks). The desktop itself is lightweight and very user-friendly. Because it keeps the time-tested icon and menu-driven desktop behaviour, hence it is considered (in combination with Linux Mint) one of the easy-to-use desktops for new Linux users. - -Although Cinnamon and its packages are closely coupled with Linux Mint, this desktop can be installed as a separate desktop environment in Ubuntu, Fedora, or Arch Linux. - -Installing Cinnamon in Arch Linux is fairly easy, like other desktops such as Xfce and KDE Plasma in Arch. But it requires some specific packages to be installed to make it look like a proper Cinnamon desktop. - -Let’s dive in. - -### Install Cinnamon Desktop in Arch Linux - -#### Step 1: Install Base System - -This guide assumes that you have installed the base Arch system already. If you do not have the base system installed, please install it using the [automated arch install guide][3] (recommended method). Then follow the below steps. - -#### Step 2: Update Your System - -Open a terminal in your Arch installation. And make sure the system is up to date by running the below command: - -``` -pacman -Syu -``` - -#### Step 3: Instal yay AUR Helper - -Some packages that are required for configuring Cinnamon are not available in the Arch official repository. They are available in Arch User Repo (AUR). Hence you need to install yay for additional packages. Follow [this guide to install yay AUR helper][4]. - -#### Step 4: Install Cinnamon Desktop in Arch Linux - -The basic Cinnamon desktop is available in the [cinnamon][5] package, which is present in the Community repo. Open a terminal and run the following commands to install the Cinnamon desktop and the terminal application. - -``` -sudo pacman -S cinnamon gnome-terminal -``` - -Install the display server and display manager. LightDM is lightweight and ideal for Cinnamon. Although, you can use any other display manager, such as SDDM or GDM. But I would recommend that you stick with lightdm. - -``` -sudo pacman -S xorg lightdm lightdm-gtk-greeter -``` - -Enable the display manager and Network services to start in the next boot. - -``` -systemctl enable lightdm -systemctl enable NetworkManager -``` - -Reboot the system. - -#### Step 5: Configure Cinnamon Desktop - -After a successful reboot, you should see the lightdm login prompt. Log in using the username and password which you may have created while installing the base system. - -When I first log in to the base Cinnamon desktop, it looks very bland. So it needed a bit of customization. - -![Cinnamon Desktop in Arch (Before Configuration)][6] - -Open a terminal and install some important packages such as sound drivers, browsers, etc. This would ensure that proper fonts and additional items are installed. - -``` -sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol firefox vlc gimp xfburn thunderbird gedit gnome-system-monitor -``` - -Then install faenza icon theme for a Cinnamon-specific icon set. - -``` -sudo pacman -S mate-icon-theme-faenza -``` - -The numix themes require yay to be installed. Make sure you follow [this guide][4]to install yay AUR helper before running the below command to install it. - -``` -yay -S numix-themes -``` - -After all the installation is complete, reboot the system. - -When you log in back, open the Themes application and change the Window borders, Icons, Controls, and Desktop as per below. - -![Theme Changes for this guide][7] - -You may also choose to download additional themes in the second tab (Add/remove) as well. - -![Additional Themes for you to download][8] - -Change the default GNOME wallpaper (which comes with Cinnamon) to something you like. This guide uses the Cinnamon logo wallpaper from [cinnamon-look.org][9]. - -If all goes well, your desktop should look like this. - -![Cinnamon Desktop in Arch Linux][10] - -![Cinnamon Desktop Running in Arch Linux][11] - -So, that concludes the basic steps for installing and configuring the Cinnamon desktop in Arch Linux. You may want to add additional settings, such as desklets, etc. - -### Closing Notes - -Cinnamon is a modern and easy-to-use desktop for new users. And with the flexibility of Arch Linux and Cinnamon at its core, this combo can be ideal for many users who like Cinnamon desktop (mainly Linux Mint) but want Arch Linux with it. I hope this guide helps you set up your Cinnamon box with Arch Linux. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/cinnamon-arch-linux-install/ - -作者:[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://cinnamon-spices.linuxmint.com/ -[2]: https://www.debugpoint.com/linux-mint/ -[3]: https://www.debugpoint.com/archinstall-guide/ -[4]: https://www.debugpoint.com/2021/01/install-yay-arch/ -[5]: https://archlinux.org/packages/community/x86_64/cinnamon/ -[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Before-Configuration.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Theme-Changes-for-this-guide.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Additional-Themes-for-you-to-download.jpg -[9]: https://www.cinnamon-look.org/browse/cat/ -[10]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Linux-1024x535.jpg -[11]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-Running-in-Arch-Linux-1024x640.jpg diff --git a/translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md new file mode 100644 index 0000000000..be6e7c36d3 --- /dev/null +++ b/translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md @@ -0,0 +1,136 @@ +[#]: subject: "How to Install Cinnamon Desktop in Arch Linux" +[#]: via: "https://www.debugpoint.com/cinnamon-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Arch Linux 中安装 Cinnamon 桌面 +====== + +**Cinnamon 是 Linux Mint 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Cinnamon 桌面环境的步骤。** + +[Cinnamon 桌面环境][1]是 [Linux Mint][2] 的默认桌面风格。创建这个基于 GTK 的桌面环境是为了提供具有以前的 GNOME 的传统桌面风格(即 GNOME 3 之前的外观)。桌面本身很轻巧,非常人性化。因为它保留了经过时间考验的图标和菜单驱动的桌面行为,因此它被认为(与 Linux Mint 结合)是新 Linux 用户易于使用的桌面之一。 + +尽管 Cinnamon 及其软件包与 Linux Mint 紧密结合,但该桌面可以作为单独的桌面环境安装在 Ubuntu、Fedora 或 Arch Linux 中。 +在 Arch Linux 中安装 Cinnamon 相当容易,就像在 Arch 中安装其他桌面(例如 Xfce 和 KDE Plasma)一样。但它需要安装一些特定的软件包才能使其看起来像一个合适的 Cinnamon 桌面。 + +让我们开始吧。 + +### 在 Arch Linux 中安装 Cinnamon 桌面 + +#### 第 1 步:安装基本系统 + +本指南假设你已经安装了基本的 Arch 系统。如果你没有安装基本系统,请按照[自动化 arch 安装指南][3](推荐方法)进行安装。然后按照以下步骤操作。 + +#### 第 2 步:更新你的系统 + +在你的 Arch 中打开一个终端。并通过运行以下命令确保系统是最新的: + +``` +pacman -Syu +``` + +#### 第 3 步:安装 yay AUR 助手 + +配置 Cinnamon 所需的某些包在 Arch 官方仓库中不可用。它们在 Arch 用户仓库 (AUR) 中。因此,你需要安装 yay 以获得额外的软件包。按照[本指南安装 yay AUR 助手][4]。 + +#### 第 4 步:在 Arch Linux 中安装 Cinnamon 桌面 + +基本的 Cinnamon 桌面在 [cinnamon][5] 包中,它存在于社区仓库中。打开终端并运行以下命令来安装 Cinnamon 桌面和终端应用。 + +``` +sudo pacman -S cinnamon gnome-terminal +``` + +安装显示服务器和显示管理器。LightDM 是轻量级的,非常适合 Cinnamon。不过,你可以使用任何其他显示管理器,例如 SDDM 或 GDM。但我建议你坚持使用 lightdm。 + +``` +sudo pacman -S xorg lightdm lightdm-gtk-greeter +``` + +使显示管理器和网络服务在下次启动时启动。 + +``` +systemctl enable lightdm +systemctl enable NetworkManager +``` + +重启系统。 + +#### 第 5 步:配置 Cinnamon 桌面 + +成功重启后,你应该会看到 lightdm 登录提示。使用你在安装基本系统时可能已创建的用户名和密码登录。 + +当我第一次登录基本的 Cinnamon 桌面时,它看起来非常平淡。所以它需要一些定制。 + +![Arch 中的 Cinnamon 桌面(配置前)][6] + +打开终端并安装一些重要的软件包,例如声音驱动、浏览器等。这将确保安装正确的字体和其他项目。 + +``` +sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol firefox vlc gimp xfburn thunderbird gedit gnome-system-monitor +``` + +然后为 Cinnamon 特定的图标集安装 faenza 图标主题。 + +``` +sudo pacman -S mate-icon-theme-faenza +``` + +numix 主题需要安装 yay。在运行以下命令安装之前,请确保按照[该指南][4]安装 yay AUR 助手程序。 + +``` +yay -S numix-themes +``` + +全部安装完成后,重启系统。 + +当你重新登录时,打开主题应用并按照以下更改窗口边框、图标、控件和桌面。 + +![本指南的主题更改][7] + +你也可以在第二个选项卡(添加/删除)中下载其他主题。 + +![其他主题供你下载][8] + +将默认的 GNOME 壁纸(Cinnamon 附带)更改为你喜欢的内容。本指南使用来自 [cinnamon-look.org][9] 的 Cinnamon logo 壁纸。 + +如果一切顺利,你的桌面应该如下所示。 + +![Arch Linux 中的 Cinnamon 桌面][10] + +![在 Arch Linux 中运行的 Cinnamon 桌面][11] + +因此,在 Arch Linux 中安装和配置 Cinnamon 桌面的基本步骤到此结束。你可能想要添加其他设置,例如 desklets 等。 + +### 结束语 + +Cinnamon 是一款适合新用户的现代且易于使用的桌面。以 Arch Linux 和 Cinnamon 的灵活性为核心,这个组合非常适合许多喜欢 Cinnamon 桌面(主要是 Linux Mint)但又希望同时使用 Arch Linux 的用户。我希望本指南能帮助你在 Arch Linux 中设置 Cinnamon 环境。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/cinnamon-arch-linux-install/ + +作者:[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://cinnamon-spices.linuxmint.com/ +[2]: https://www.debugpoint.com/linux-mint/ +[3]: https://www.debugpoint.com/archinstall-guide/ +[4]: https://www.debugpoint.com/2021/01/install-yay-arch/ +[5]: https://archlinux.org/packages/community/x86_64/cinnamon/ +[6]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Before-Configuration.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/02/Theme-Changes-for-this-guide.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/02/Additional-Themes-for-you-to-download.jpg +[9]: https://www.cinnamon-look.org/browse/cat/ +[10]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Linux-1024x535.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-Running-in-Arch-Linux-1024x640.jpg From cab1ce8ef4a0a30e8b710f1b2af1cc22d0f7849a Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 29 Nov 2022 09:18:51 +0800 Subject: [PATCH 565/925] translating --- ....0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md index 855082ebf9..f358a8de1e 100644 --- a/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md +++ b/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/unity-arch-linux/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 217a056b2160251dc3fdaa88500a2be4cb345152 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Tue, 29 Nov 2022 10:02:12 +0800 Subject: [PATCH 566/925] =?UTF-8?q?Rename=20sources/news/20221124.3=20?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2010=20Best=20Steam=20Game?= =?UTF-8?q?s=20on=20Sale=20for=20Linux=20Users=20=F0=9F=8E=AE(November=202?= =?UTF-8?q?022).md=20to=20sources/tech/20221124.3=20=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=2010=20Best=20Steam=20Games=20on=20Sale=20fo?= =?UTF-8?q?r=20Linux=20Users=20=F0=9F=8E=AE(November=202022).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/{news => tech}/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md (100%) diff --git a/sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md b/sources/tech/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md similarity index 100% rename from sources/news/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md rename to sources/tech/20221124.3 ⭐️⭐️ 10 Best Steam Games on Sale for Linux Users 🎮(November 2022).md From a4e6e788f2a81f3c727247239e051125bd08ca96 Mon Sep 17 00:00:00 2001 From: Cubik Date: Mon, 28 Nov 2022 21:38:30 -0500 Subject: [PATCH 567/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90][?= =?UTF-8?q?news]:=2020221122.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20ma?= =?UTF-8?q?cOS=20Alternative=20helloSystem=20(0.7.0)=20is=20moving=20towar?= =?UTF-8?q?ds=20stability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...helloSystem (0.7.0) is moving towards stability.md | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md index f23c3f745a..9589b50b0c 100644 --- a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md +++ b/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md @@ -7,58 +7,58 @@ [#]: publisher: " " [#]: url: " " -macOS Alternative helloSystem (0.7.0) is moving towards stability +macOS 替代品 helloSystem (0.7.0) 正在增强稳定性 ====== -**With the release of helloSystem 0.7.0 and more internal work, helloSystem is moving towards stability for an “open” alternative to macOS.** +**随着 helloSystem 0.7.0 的发布和更多内部工作,helloSystem 正在增强稳定性,为 macOS 提供一个“开放”的替代方案。** -The helloSystem is a FreeBSD-based lightweight operating system aiming for an “open” alternative to macOS. The primary objective of helloSystem is to provide an easy-to-install and use FreeBSD alternative with a truly “open” system. In addition, the team also aims for macOS switchers who can feel comfortable with a similar desktop without a lockdown system or the complexity of a Linux distribution. +helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS 提供一个“开放”的替代方案。helloSystem 的主要目标是提供一个易于安装和使用的,真正“开放”的 FreeBSD 替代方案。此外,该团队还专注于 macOS 转换者,他们可以舒适的使用类似的桌面,而不会受到系统锁定或 Linux 发行版的复杂性的影响。 -Making such an operating system takes time, considering the hardware support in the BSD system. The team is working on creating a desktop – “hellodesktop” from the ground up. Written in C++, the hellodesktop and other improvements are coming along nicely. +考虑到 BSD 系统中的硬件支持,开发这样的操作系统需要时间。团队正在努力从零创建一个桌面 - “hellodesktop”。用 C++ 编写的 hellodesktop 和其他改进正在进行中。 -![helloSystem 0.7.0 Desktop][1] +![helloSystem 0.7.0 桌面][1] ### helloSystem 0.7.0 -At the end of 2021, the team released the last stable version, [helloSystem 0.7.0][2], based on FreeBSD 13.0 and is currently porting the system to FreeBSD 13.1 and 14 versions. +在 2021 年底,团队发布了最后一个稳定版本,基于 FreeBSD 13.0 的 [helloSystem 0.7.0][2],并且目前正在将系统移植到 FreeBSD 13.1 和 14 版本。 -Along with that, a bunch of new features that work now in this system; here’s a summary: +除此之外,一些新功能也可以在系统中工作了;这是一个总览: -- Powered by FreeBSD 13.0 -- Refinements in the LIVE medium with updated boot time and compressed UFS filesystem -- Reduced ISO image size to 800 MB to fit into a CD -- Compatible with Ventoy USB creator -- NVIDIA GPU support, including older models -- exFAT support is added while installing in the target partition -- KDE’s Falkon browser is added, with additional menu items to download and install Chromium and Firefox -- System alert sounds -- Brightness and sound control support via Laptop keyboard dedicated keys +- 由 FreeBSD 13.0 驱动 +- 通过更新的启动时间和压缩的 UFS 文件系统改进的 LIVE 媒体 +- 将 ISO 镜像大小减少到 800 MB,以适合 CD +- 与 Ventoy USB creator 兼容 +- 英伟达 GPU 支持,包括旧型号 +- 在目标分区安装时添加了 exFAT 支持 +- 增加了 KDE 开发的 Falkon 浏览器,附带了下载和安装 Chromium 和 Firefox 的附加菜单项 +- 系统提示音 +- 支持通过笔记本电脑键盘的专用键控制亮度和音量 -![Menu and apps in helloSystem 0.7.0][3] +![helloSystem 0.7.0 中的菜单与应用][3] -In addition to the above, a new section is added in helloSystem 0.7.0 to give you an early look at the features which the team is currently working on. Some of the coolest features arriving in future releases include: +除了上述内容之外,helloSystem 0.7.0 中还添加了一个新部分,以让你可以提前了解团队正在开发的功能。未来版本中将到来的一些最酷的功能包括: -- Debian runtime install utility to run Linux applications inside BSD! -- A separate app for downloading applications. -- New update utility +- BSD 中的 Debian 运行时安装程序,以在 BSD 中运行 Linux 应用程序! +- 一个独立的应用程序,用于下载应用程序。 +- 新的更新实用程序 -Furthermore, a bunch of bug fixes and translation updates landed in 0.7.0. +此外,0.7.0 中还修复了一些错误并更新了翻译。 -![Installing Linux Runtime is under development][4] +![安装 Linux 运行时正在开发中][4] -That being said, it still needs significant time to become an easy-to-use BSD variant and an “open” alternative to macOS. Since I [reported first][5], huge updates have already been made within a year across the graphical installer, desktop apps, and bug fixes. I hope it will become more mainstream in 2023 with FreeBSD 14 port. +话虽如此,但它仍然需要大量的时间才能成为易于使用的 BSD 变体和 macOS 的“开放”替代方案。自从我[首次报道][5]以来,已经在图形安装程序,桌面应用程序和错误修复方面进行了巨大的更新。我希望它在随着 2023 年移植到 FreeBSD 14 之后,会变得更加主流。 -### Download +### 下载 -If you want to try it in real hardware, make sure to take backups and try. Also, helloSystem is now fully compatible with virtual machines such as [VirtualBox][6]. You can give it a try. If you are trying in VirtualBox, make sure to change the CPU to 64-bit. +如果你想在真实的硬件上尝试它,请先进行备份然后尝试。此外,helloSystem 现在完全兼容 [VirtualBox][6] 之类的虚拟机。你可以试试。如果你在 VirtualBox 中尝试,请确保将 CPU 更改为 64 位。 -Official download of the versions (including helloSystem 0.7.0 stable) is available on [this page][7], or you can grab the ISO using the below link. +官方下载链接(包括 helloSystem 0.7.0 稳定版)可在 [此页面][7] 上找到,或者您可以使用下面的链接获取 ISO。 -[Download helloSystem 0.7.0][8] +[下载 helloSystem 0.7.0][8] -If you want to contribute to testing, development or any capacity, [visit the GitHub page for details][9]. +如果你想为测试,开发或任何其他事情做出贡献,请[访问 GitHub 页面以获取详细信息][9]。 -[Next:Boost Your Productivity with Folder Color App in Ubuntu][10] +[接下来:在 Ubuntu 中使用文件夹颜色应用程序提高生产力][10] -------------------------------------------------------------------------------- From 78e26999467dd7c66127ee0e5812e1e9eda4d088 Mon Sep 17 00:00:00 2001 From: Cubik Date: Mon, 28 Nov 2022 21:38:41 -0500 Subject: [PATCH 568/925] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?news]:=2020221122.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20ma?= =?UTF-8?q?cOS=20Alternative=20helloSystem=20(0.7.0)=20is=20moving=20towar?= =?UTF-8?q?ds=20stability.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... macOS Alternative helloSystem (0.7.0) is moving towards stability.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md (100%) diff --git a/sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/translated/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md similarity index 100% rename from sources/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md rename to translated/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md From 11f43a955005a69a0433cc28648dece292945e02 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 29 Nov 2022 11:30:00 +0800 Subject: [PATCH 569/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @geekpi 这篇不发布了。 --- ...⭐️ How to switch from Twitter to Mastodon.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md index ed4d7ffa54..b38a52944f 100644 --- a/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md +++ b/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md @@ -3,40 +3,40 @@ [#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " 如何从 Twitter 切换到 Mastodon ====== -Mastodon 是一个开源微博社区。 +> Mastodon 是一个开源的微博社区。 -像许多人一样,我发现社交媒体有些令人兴奋,而且……有点多。有时,你会在算法、跟踪数据和针对你的广告中大受煎熬。你对想要查看的内容缺乏管理控制,尤其是在我们许多人习惯的旧平台上。像往常一样,你必须寻求开源来解决问题。而这正是开源微博社区 [Mastodon][1] 所做的。 +像许多人一样,我发现社交媒体有些令人兴奋,而且……有点过分。有时,你会陷入到算法、跟踪数据和针对你的广告中。你对想要查看的内容缺乏管理控制,尤其是在我们许多人习惯的旧平台上。像往常一样,你必须寻求开源来解决问题。而这正是开源微博社区 [Mastodon][1] 所做的。 -使用 Mastodon social,你不仅可以使用开源软件,而且一切都是去中心化的,这意味着你可以部分地根据你想要占用的实例来选择你想要查看的内容。 Mastodon 使用不同的实例,每个实例都有自己的行为准则、隐私选项和审核政策。这意味着当你加入一个实例时,你不太可能看到您不感兴趣的内容,而更有可能看到来自与你有共同兴趣的人的消息。 +使用 Mastodon 社交,你不仅是在使用开源软件,而且一切都是去中心化的,这意味着你可以部分地根据你想要使用的实例来选择你想要查看的内容。 Mastodon 使用不同的实例,每个实例都有自己的行为准则、隐私选项和审核政策。这意味着当你加入一个实例时,你不太可能看到你不感兴趣的内容,而更有可能看到来自与你有共同兴趣的人的消息。 -但是,你也可以与其他实例进行交互。所有 Mastodon 用户都有可能在用户称之为 “fediverse” 的地方“联合”。 +但是,你也可以与其他实例进行交互。所有 Mastodon 实例都能在用户称之为 “联邦宇宙fediverse” 的地方 “联合”。 -### 什么是 fediverse? +### 什么是联邦宇宙? -fediverse 是联合(或互连)服务器的集合。这个词来自“联邦”和“宇宙”的组合。你可以将其用于各种网络发布,从社交网络到网站再到文件托管。虽然每个实例都是独立托管的,但它们可以相互通信。 +“联邦宇宙fediverse” 是联合(互连)服务器的集合。这个词来自 “联邦federated” 和 “宇宙universe” 的组合。你可以将其用于各种网络发布,从社交网络到网站再到文件托管。虽然每个实例都是独立托管的,但它们可以相互通信。 ### 那么我该如何注册 Mastodon? 首先,前往 [Mastodon.social][2] 进行注册。 -在屏幕的右侧,有**登录**和**创建帐户**按钮。 +在屏幕的右侧,有 “登录Sign in” 和 “创建帐户Create account” 按钮。 ![Sign-in or Create Account interface][3] -但是,因为任何人都可以运行 Mastodon 服务器,所以有很多实例,并且一些服务器已经成为社区的所在地,这些社区的兴趣可能与你的兴趣一致。正如我所说的,无论如何你都可以访问整个 fediverse,但如果能在一个人们已经“说你的语言”的服务器上开始,那就更好了(也可以是字面意思,因为你可以添加一个过滤器以查找使用你的母语的服务器)。 +但是,因为任何人都可以运行 Mastodon 服务器,所以有很多实例,并且一些服务器已经成为社区的所在地,这些社区的兴趣可能与你的兴趣一致。正如我所说的,无论如何你都可以访问整个联邦宇宙,但如果能在一个人们已经“说你的语言”的服务器上开始,那就更好了(也可以是字面意思,因为你可以添加一个过滤器以查找使用你的母语的服务器)。 -要查找服务器,请单击**查找另一台服务器**按钮。 +要查找服务器,请单击 “查找另一台服务器Find another server”按钮。 ![Signing up interface][4] -当你单击该按钮时,你将进入[加入 Mastodon 页面][5],其中有一个列出可用服务器的按钮。 +当你单击该按钮时,你将进入 [加入 Mastodon 页面][5],其中有一个列出可用服务器的按钮。 ![Getting started interface][6] @@ -44,11 +44,11 @@ fediverse 是联合(或互连)服务器的集合。这个词来自“联邦 ![Topic list][7] -我的都是关于开源的,所以让我们看看我们在技术主题中有什么。 +我的主题都是关于开源的,所以让我们看看我们在技术主题中有什么。 ![Technology topics][8] -如你所见,有一个包含许多等候名单的大型索引。在这种情况下,Opensource.com 的一位作者 Don Watkins 似乎选择了一个适合他自己和我们天才小组的实例。因此,我将跳过并告诉你我要去哪里:有一个名为 [Fosstodon][9] 的免费开源软件服务器,我选择在那里注册,这样我就可以自由分享我的文章。 +如你所见,有一个包含许多等候名单的大型索引。在这种情况下,Opensource.com 的一位作者 Don Watkins 似乎选择了一个适合他自己和我们天才小组的实例。因此,我将跳过并告诉你我要去哪里:有一个名为 [Fosstodon][9] 的自由开源软件服务器,我选择在那里注册,这样我就可以自由分享我的文章。 以下是登录步骤。 @@ -60,7 +60,7 @@ fediverse 是联合(或互连)服务器的集合。这个词来自“联邦 ![Confirmation message][11] -当你收到邮件时,点击**验证**按钮,系统会提示你确认你的登录信息。 +当你收到邮件时,点击 “验证Verify” 按钮,系统会提示你确认你的登录信息。 该服务器确实有申请加入的过程。这个过程不仅是出于安全原因,也是为了隐私。获得批准后,你就会收到这封很棒的电子邮件! @@ -70,11 +70,11 @@ fediverse 是联合(或互连)服务器的集合。这个词来自“联邦 ### 完全控制 -现在我有了一个新的个人资料,我可以更改我收到的电子邮件的偏好,从而更好地控制我看到的内容。这是让我对媒体接收有更多控制权的好方法,非常感谢。单击 **Preferences** 后,Mastodon 会为我提供炫酷的外观、语言信息和许多其他选项。 +现在我有了一个新的个人资料页,我可以更改我收到的电子邮件的偏好,从而更好地控制我看到的内容。这是让我对媒体接收有更多控制权的好方法,非常感谢。单击 “偏好Preferences” 后,Mastodon 会为我提供炫酷的外观、语言信息和许多其他选项。 ![Appearance settings][13] -接下来,我可以点击通知并限制我看到的内容和收到通知的内容,这样我就可以选择更少的噪音。 +接下来,我可以点击 “通知Notifications” 并限制我看到的内容和收到通知的内容,这样我就可以选择更少的噪音。 ![Notifications settings][14] @@ -82,11 +82,11 @@ fediverse 是联合(或互连)服务器的集合。这个词来自“联邦 ### 总结 -这种开源社交媒体是找到你的人群并与兴趣广泛的人进行广泛互动的好方法。控制媒体摄入量对于你生活中的某种平衡非常有用,你可以查看[贡献者规则][15]选择加入贡献。 +这种开源社交媒体是找到你的人群并与兴趣广泛的人进行广泛互动的好方法。控制媒体摄入量对于你生活中的某种平衡非常有用,你可以查看 [贡献者规则][15] 选择加入贡献。 除了控制你自己的社交媒体体验外,你还可以获得适用于所有设备的手机应用,包括适用于 iPhone 的 Toot 和适用于 Android 的 Tusky。 -长话短说:我认为我们都应该做好新的额开源社交媒体世界的准备。 +总而言之:我认为我们都应该做好新的开源社交媒体世界的准备。 -------------------------------------------------------------------------------- @@ -95,7 +95,7 @@ via: https://opensource.com/article/22/11/switch-twitter-mastodon 作者:[Jessica Cherry][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/) 荣誉推出 From 5b5403cb199bafde77cefea8c0906cf7ef8fc62e Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 29 Nov 2022 11:30:53 +0800 Subject: [PATCH 570/925] NO PUB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @geekpi 这篇先不发布了。 --- .../20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md (100%) diff --git a/translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/published/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md similarity index 100% rename from translated/tech/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md rename to published/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md From b9505f30bf1b0b5aba6d824d6740d060c5277d52 Mon Sep 17 00:00:00 2001 From: nophDog Date: Tue, 29 Nov 2022 13:19:22 +0800 Subject: [PATCH 571/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translated by nophDog 20221129 --- ...ernal Repositories in Ubuntu -Explained.md | 189 ------------------ ...ernal Repositories in Ubuntu -Explained.md | 188 +++++++++++++++++ 2 files changed, 188 insertions(+), 189 deletions(-) delete mode 100644 sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md create mode 100644 translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md diff --git a/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md b/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md deleted file mode 100644 index 8e7be7b565..0000000000 --- a/sources/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md +++ /dev/null @@ -1,189 +0,0 @@ -[#]: subject: "Installing Packages From External Repositories in Ubuntu [Explained]" -[#]: via: "https://itsfoss.com/adding-external-repositories-ubuntu/" -[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" -[#]: collector: "lujun9972" -[#]: translator: "nophDog" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Installing Packages From External Repositories in Ubuntu [Explained] -====== - -You have some ideas about installing packages in Ubuntu with apt command. Those packages come from Ubuntu’s repositories. - -How about third-party or external repository? No, I am not talking about PPA here. - -Sooner or later, you’ll come across installation instructions that goes in at least four lines. You install something called ‘apt-transport-https’ and then do something with gpg and sources list. After that, you install the package. - -Can’t recall completely. Let me share an example for [installing the latest version Yarn on Ubuntu][1]: - -``` -sudo apt install apt-transport-https curl -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - -sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' -sudo apt update && sudo apt install yarn -``` - -You’ll often come across such installation method while installing programming tools directly from the developers. - -Many people just follow the instructions without thinking twice about what’s going on here. Nothing wrong with that but knowing the process actually improves your knowledge on the matter and could also help in troubleshooting. - -Let me explain the logic behind those lines. - -### Understanding the procedure of installation from external repositories - -Before you proceed, I highly recommend reading these two articles so that things are a bit more clear to you: - - * [Concept of repositories in Ubuntu][2] - * [Concept of PPA in Ubuntu][3] - - - -To recall quickly, here’s a visual representation of repositories and [package manager in Linux][4]. - -![Illustration of repository and package manager][5] - -The entire idea here is that you add a new, external repository to your system. This way, you’ll be able to download and install packages available from this new repository. If the repository provides an update on the package version, you get to update the installed package along with the system updates (apt update && apt upgrade). - -So, how does this work? Let’s go through the lines one by one. - -#### Part 1: Getting HTTPS support for apt - -The first line is this: - -``` -sudo apt install apt-transport-https curl -``` - -Curl is a [tool for downloading files in Linux terminal][6]. The main part here is the installation of **apt-transport-https** and frankly speaking not needed anymore. - -Confused? This apt-transport-https package allows your system to access repositories over the secure HTTPS protocol. By design, Ubuntu repositories use http, not https. - -Take a look at the screenshot below. The https ones are the external repositories I have added into my system. Ubuntu repositories and PPA use http. - -![][7] - -In the older version of apt package manager, https support was not included. apt-transport-https package adds https support to apt. To add a repository that uses https, this package is installed first. - -Did I not say it is not needed anymore? Yes because the newer versions of apt (higher than 1.5) support https and thus you do not need to install apt-transport-https anymore. - -And yet you see this package mentioned in the instructions. This is more for legacy reasons or for really old distribution versions that might be using an older version of apt. - -Now, you may wonder why Ubuntu repositories use http, not https when https is the secure protocol. Is it not a security risk? The next segment will answer that question. - -#### Part 2: Adding GPG key of the remote repository - -Linux repositories have this built-in GPG-key based security mechanism. Every repository added its public GPG key to your system’s trusted keys. The packages from the repositories are ‘signed’ by this GPG key and thanks to the stored public key, your system verifies that the package is coming from the repository. - -If there is a [mismatch between the keys, your system will throw an error][8] instead of installing or updating packages from the said repository. - -So far, so good. The next step is to add the public GPG key of the external repository to your Linux system so that it trusts the package from this repository. - -``` -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - -``` - -In the above command, you download the GPG key from the given URL using curl. The option `sS` ensures that you don’t see the flooded output (silent mode) but shows the error (if any). The last `-` tells apt-key to take stdin instead of a file (which is the output of the curl command in this case). - -The download key is added to the system with `apt-key add` command. - -You can see the GPG keys added by various repositories in your system using the `apt-key list` command. - -![List GPG keys][9] - -That’s one way of adding the GPG key to the system. You’ll some other commands that my look slightly different but do the same job of adding the public key of the repository to your system. - -``` -sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 -``` - -You’ll notice a warning that apt-key is deprecated. You could still use apt-key command till Ubuntu 22.04 but it will eventually be removed. Let’s not worry about it at the moment. - -#### Part 3: Adding the external repository to your sources list - -The next command adds a new entry into the sources list of your system. This way, your system will know that it has to check this repository for packages and updates. - -``` -sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' -``` - -There is a file /etc/apt/sources.list that contains the details of the Ubuntu repositories. This file should not be touched. All the additional repositories should be placed in their own respective file (ending with .list convention) in the /etc/apt/sources.list.d directory. - -![External repository should have their own sources list file in the /etc/apt/sources.list.d directory][10] - -This makes package management easier. If you are removing a repository from the system, you just need to delete the corresponding sources file. No need to mess with the main sources.list file. - -Let’s look at the command in a bit more detail. - -``` -sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' -``` - -With sh, you are asking to run the command in a new shell, instead of the [subshell][11]. `-c` option tells the sh command to read the commands from the operand instead of standard input. Then it runs the echo command which basically adds line **deb stable main** to /etc/apt/sources.list.d/yarn.list file (file will be created) - -Now, there could be numerous ways you can create a .list file in the specified directory and add the line with repository details in it. You could use it like this as well: - -``` -echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list -``` - -You get the gist, right? - -#### Part 4: Installing the application from newly added repository - -So far, you have added the GPG key of the repository and the URL of the repository to the system. - -But your system still does not know about the package available from this new repository. This is why you need to update the local cache of package metadata first with this command: - -``` -sudo apt update -``` - -Your system will have the information about the packages available from the newly added repository and you can install the package now: - -``` -sudo apt install yarn -``` - -To save time, you can [run the two commands one after another in a single lin][12]e. - -``` -sudo apt update && sudo apt install yarn -``` - -The `&&` ensures that the second command only runs when the previous command completed without any error. - -And thus the process completes. - -### Did it make things clear or confused you even more? - -I explained the logic behind the steps for using external repositories in Ubuntu. I hope you have a better understanding of the topic now, but it is also possible that too much detail could be confusing. - -If things are still not clear or if you have additional questions, please let me know. If you notice technical inaccuracies, please let me know in the comment section. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/adding-external-repositories-ubuntu/ - -作者:[Abhishek Prakash][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://itsfoss.com/author/abhishek/ -[b]: https://github.com/lujun9972 -[1]: https://itsfoss.com/install-yarn-ubuntu/ -[2]: https://itsfoss.com/ubuntu-repositories/ -[3]: https://itsfoss.com/ppa-guide/#comments -[4]: https://itsfoss.com/package-manager/ -[5]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/linux-package-manager-explanation.png?resize=800%2C450&ssl=1 -[6]: https://itsfoss.com/download-files-from-linux-terminal/ -[7]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/08/apt-update-http-https.png?resize=800%2C527&ssl=1 -[8]: https://itsfoss.com/solve-gpg-error-signatures-verified-ubuntu/ -[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/07/list-apt-key-gpg-ubuntu.png?resize=800%2C547&ssl=1 -[10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/08/sources-list-ubuntu.png?resize=800%2C313&ssl=1 -[11]: https://linuxhandbook.com/subshell/ -[12]: https://itsfoss.com/run-multiple-commands-linux/ diff --git a/translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md b/translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md new file mode 100644 index 0000000000..fa56cf89b8 --- /dev/null +++ b/translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md @@ -0,0 +1,188 @@ +[#]: subject: "Installing Packages From External Repositories in Ubuntu [Explained]" +[#]: via: "https://itsfoss.com/adding-external-repositories-ubuntu/" +[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" +[#]: collector: "lujun9972" +[#]: translator: "nophDog" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +# 在 Ubuntu 从外部存储库安装软件包 [详解] + +你大概知道怎么在 Ubuntu 中使用 apt 命令安装软件包。那些软件包都是来自 Ubuntu 的官方存储库。 + +那第三方或者外部存储库呢?不,我这里并不是要讲 PPA。 + +早晚你会碰到那种至少四行的安装教程。你需要安装名为 `apt-transport-https` 的包,操作一下 gpg 和源列表「source list」之后,你才能正常安装软件包。 + +没有什么印象的话,那我分享一个[在 Ubuntu 上安装最新版本的 Yarn][1]:的例子 + +```shell +sudo apt install apt-transport-https curl +curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - +sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' +sudo apt update && sudo apt install yarn +``` + +当你需要直接从开发者那里安装编程工具的时候,大概率会碰到这种安装方式。 + +许多人只是按照说明进行操作,并不会去思考其中的原理。这也没什么不对,但了解该过程实际上可以提升你在这方面的知识,而且有助于之后排除故障。 + +我来解释一下这些代码背后的逻辑。 + +### 理解从外部存储库安装的过程 + +在你继续往下阅读之前,我强烈建议你先看看下面这两篇文章,方便理解后续的概念: + + * [什么是 Ubuntu 中的存储库][2] + * [什么是 Ubuntu 中 PPA][3] + + + +为了让你有点印象,这里有一张软件包存储库和 [Linux 中的包管理器][4] 的图片。 + +![Illustration of repository and package manager][5] + +整件事情其实就是在系统中添加一个新的外部存储库。这样,你就可以从这个新存储库下载并安装可用的软件包。如果这个存储库提供了包版本的更新,你可以在更新系统的同时更新这些软件包(`apt update && apt upgrade`)。 + +那么,这是什么工作原理呢?让我们一条一条地过一遍。 + +#### 第 1 部分:为 apt 获取 HTTPS 支持 + +第一行是这样的: + +```shell +sudo apt install apt-transport-https curl +``` + +Curl 是一个[Linux 终端下载文件的工具][6]。这里主要的部分是安装 **apt-transport-https**,但事实上已经不需要了。 + +明白了吗?这个 apt-transport-https 包让你的系统通过 HTTPS 协议安全访问存储库。按照设计,Ubuntu 的存储库使用 http 而不是 https 协议。 + +看看下面的截图。 https 这张是我已经添加到系统中的外部存储库。 Ubuntu 的存储库和 PPA 使用 http 协议。 + +![][7] + +在旧版本的 apt 包管理器中,不支持 https 协议。 apt-transport-https 包为 apt 添加了 https 支持。要新增一个使用 https 的存储库,首先就得先安装此包。 + +我之前不是说不需要安装这个包了吗?是的,因为较新版本的 apt(高于 1.5)已经支持 https,所以你不需要再安装 apt-transport-https。 + +但是你依然看到我在说明中提到了这个包。这更多是出于遗留原因,而且可能还有很旧的发行版在使用旧版本的 apt 包。 + +现在,你可能想知道既然 https 是安全协议,那为什么 Ubuntu 的存储库还要使用 http 而不是 https。这难道没有安全风险吗?接着往下看你就知道答案了。 + +#### 第 2 部分:添加远程存储库的 GPG 密钥 + +Linux 存储库内置了基于 GPG 密钥的安全机制。每个存储库都将其 GPG 公钥添加到你的系统信任密钥中。来自存储库的包由这个 GPG 密钥“签名”「signed」,并且通过这份存储的公钥,系统能够验证软件包正是来自这个存储库。 + +如果[密钥之间不匹配,你的系统会发出提醒][8],而不会继续从该存储库安装或者更新软件包。 + +到目前为止,一切都很顺利。下一步是将外部存储库的 GPG 公钥添加到你的 Linux 系统,以便它能接收来自该存储库的软件包。 + +```shell +curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - +``` + +在上面的命令中,你使用 curl 从指定的 URL 下载 GPG 密钥。选项 `sS` 能够让你不看多余的输出(静默模式),但会显示错误(如果有的话)。最后一个 `-` 告诉 apt-key 使用标准输入「stdin」而不是文件(在本例中是 curl 命令的输出)。 + +`apt-key add` 命令已经将下载的密钥添加到系统中。 + +你可以通过 `apt-key list` 命令查看系统中各种存储库添加的 GPG 密钥。 + +![List GPG keys][9] + +这是将 GPG 密钥添加到系统的一种方法。你会看到一些其它的命令,看起来略有不同,但效果一样,都是将存储库的公钥添加到你的系统里面。 + +```shell +sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 +``` + +你会注意到 apt-key 已被弃用的警告。在 Ubuntu 22.04 之前,你还可以使用 apt-key 命令,但它最终会被删除。现在不需要杞人忧天。 + +#### 第 3 部分:将外部存储库添加到源列表 + +下个命令是在系统的源列表中添加一个新条目。这样,你的系统就会知道它得检查该存储库中的包和更新。 + +```shell +sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' +``` + +有一个文件 /etc/apt/sources.list 包含 Ubuntu 存储库的详细信息。最好不要随便动这个文件。所有新增的存储库都应放在 /etc/apt/sources.list.d 目录中相应的文件里(约定以 .list 结尾)。 + +![External repository should have their own sources list file in the /etc/apt/sources.list.d directory][10] + +这使得包管理变得更容易。如果你要从系统中删除一个存储库,只需删除相应的源文件即可。无需修改主 sources.list 文件。 + +让我们再仔细地看一下这行命令。 + +```shell +sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' +``` + +使用 sh 可以在一个新的 shell 进程中运行命令,而不是 [subshel​​l][11]。 `-c` 选项告诉 sh 命令从参数而不是标准输入读取命令。然后它运行 echo 命令,也就是把 **deb stable main** 这一行添加到 /etc/apt/sources.list.d/yarn.list 文件(会创建该文件) + +现在,你可以通过各种方法在指定目录中创建 .list 文件并在其中添加包含存储库详细信息的数据行。你也可以像这样使用: + +```shell +echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list +``` + +明白了吧? + +#### 第 4 部分:从新添加的存储库安装应用程序 + +到目前为止,你已经将存储库的 GPG 密钥和存储库的 URL 添加到系统中。 + +但是系统仍然不晓得这个新存储库中有哪些可用的包。这就是为什么你需要先使用下面这个命令更新包元数据的本地缓存: + +``` +sudo apt update +``` + +这时你的系统就已经知道新增存储库中可用软件包的信息,现在可以试试安装软件包: + +```shell +sudo apt install yarn +``` + +为了节省时间,你可以在[同一行挨着运行这两个命令][12]e。 + +``` +sudo apt update && sudo apt install yarn +``` + +`&&` 可以确保第二个命令只会在前一个命令没有任何报错的前提下运行。 + +整个流程就是这样。 + +#### 有没有豁然开朗呢,还是一脸懵逼? + +我已经解释了在 Ubuntu 中使用外部存储库背后的逻辑。希望你现在能更好地理解它,当然可能还有很多细节会让你困惑。 + +如果你还不清楚或者还有其他问题,可以联系我。如果你发现了技术上的纰漏,记得在评论区告诉我。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/adding-external-repositories-ubuntu/ + +作者:[Abhishek Prakash][a] +选题:[lujun9972][b] +译者:[nophDog](https://github.com/nophDog) +校对:[校对者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/lujun9972 +[1]: https://itsfoss.com/install-yarn-ubuntu/ +[2]: https://itsfoss.com/ubuntu-repositories/ +[3]: https://itsfoss.com/ppa-guide/#comments +[4]: https://itsfoss.com/package-manager/ +[5]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/10/linux-package-manager-explanation.png?resize=800%2C450&ssl=1 +[6]: https://itsfoss.com/download-files-from-linux-terminal/ +[7]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/08/apt-update-http-https.png?resize=800%2C527&ssl=1 +[8]: https://itsfoss.com/solve-gpg-error-signatures-verified-ubuntu/ +[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/07/list-apt-key-gpg-ubuntu.png?resize=800%2C547&ssl=1 +[10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/08/sources-list-ubuntu.png?resize=800%2C313&ssl=1 +[11]: https://linuxhandbook.com/subshell/ +[12]: https://itsfoss.com/run-multiple-commands-linux/ From fc8b619e681943455ef2dc30243325c373f6741a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 29 Nov 2022 15:45:22 +0800 Subject: [PATCH 572/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @nophDog https://linux.cn/article-15299-1.html 翻译的很好,很用心。 --- ...ernal Repositories in Ubuntu -Explained.md | 68 ++++++++++--------- 1 file changed, 35 insertions(+), 33 deletions(-) rename {translated/tech => published}/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md (66%) diff --git a/translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md b/published/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md similarity index 66% rename from translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md rename to published/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md index fa56cf89b8..a0667bb2a2 100644 --- a/translated/tech/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md +++ b/published/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md @@ -3,21 +3,24 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/" [#]: collector: "lujun9972" [#]: translator: "nophDog" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15299-1.html" -# 在 Ubuntu 从外部存储库安装软件包 [详解] +详解在 Ubuntu 从外部存储库安装软件包 +====== -你大概知道怎么在 Ubuntu 中使用 apt 命令安装软件包。那些软件包都是来自 Ubuntu 的官方存储库。 +![][0] + +你大概知道怎么在 Ubuntu 中使用 `apt` 命令安装软件包。那些软件包都是来自 Ubuntu 的官方存储库。 那第三方或者外部存储库呢?不,我这里并不是要讲 PPA。 -早晚你会碰到那种至少四行的安装教程。你需要安装名为 `apt-transport-https` 的包,操作一下 gpg 和源列表「source list」之后,你才能正常安装软件包。 +早晚你会碰到那种至少四行的安装说明:你需要安装名为 `apt-transport-https` 的包、操作一下 GPG 和 源列表source list 之后,你才能正常安装软件包。 -没有什么印象的话,那我分享一个[在 Ubuntu 上安装最新版本的 Yarn][1]:的例子 +没有什么印象的话,那我分享一个 [在 Ubuntu 上安装最新版本的 Yarn][1] 的例子: -```shell +``` sudo apt install apt-transport-https curl curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' @@ -37,8 +40,6 @@ sudo apt update && sudo apt install yarn * [什么是 Ubuntu 中的存储库][2] * [什么是 Ubuntu 中 PPA][3] - - 为了让你有点印象,这里有一张软件包存储库和 [Linux 中的包管理器][4] 的图片。 ![Illustration of repository and package manager][5] @@ -51,39 +52,39 @@ sudo apt update && sudo apt install yarn 第一行是这样的: -```shell +``` sudo apt install apt-transport-https curl ``` -Curl 是一个[Linux 终端下载文件的工具][6]。这里主要的部分是安装 **apt-transport-https**,但事实上已经不需要了。 +`curl` 是一个 [Linux 终端下载文件的工具][6]。这里主要的部分是安装 `apt-transport-https`,但事实上已经不需要了。 -明白了吗?这个 apt-transport-https 包让你的系统通过 HTTPS 协议安全访问存储库。按照设计,Ubuntu 的存储库使用 http 而不是 https 协议。 +明白了吗?这个 `apt-transport-https` 包让你的系统通过 HTTPS 协议安全访问存储库。按照设计,Ubuntu 的存储库使用 http 而不是 https 协议。 -看看下面的截图。 https 这张是我已经添加到系统中的外部存储库。 Ubuntu 的存储库和 PPA 使用 http 协议。 +看看下面的截图。 https 这张图是我已经添加到系统中的外部存储库。Ubuntu 的存储库和 PPA 使用 http 协议。 ![][7] -在旧版本的 apt 包管理器中,不支持 https 协议。 apt-transport-https 包为 apt 添加了 https 支持。要新增一个使用 https 的存储库,首先就得先安装此包。 +在旧版本的 `apt` 包管理器中,不支持 https 协议。`apt-transport-https` 包为 `apt` 添加了 https 支持。要新增一个使用 https 的存储库,首先就得先安装此包。 -我之前不是说不需要安装这个包了吗?是的,因为较新版本的 apt(高于 1.5)已经支持 https,所以你不需要再安装 apt-transport-https。 +我之前不是说不需要安装这个包了吗?是的,因为较新版本的 `apt`(高于 1.5)已经支持 https,所以你不需要再安装 `apt-transport-https`。 -但是你依然看到我在说明中提到了这个包。这更多是出于遗留原因,而且可能还有很旧的发行版在使用旧版本的 apt 包。 +但是你依然看到我在说明中提到了这个包。这更多是出于遗留原因,而且可能还有很旧的发行版在使用旧版本的 `apt` 包。 现在,你可能想知道既然 https 是安全协议,那为什么 Ubuntu 的存储库还要使用 http 而不是 https。这难道没有安全风险吗?接着往下看你就知道答案了。 #### 第 2 部分:添加远程存储库的 GPG 密钥 -Linux 存储库内置了基于 GPG 密钥的安全机制。每个存储库都将其 GPG 公钥添加到你的系统信任密钥中。来自存储库的包由这个 GPG 密钥“签名”「signed」,并且通过这份存储的公钥,系统能够验证软件包正是来自这个存储库。 +Linux 存储库内置了基于 GPG 密钥的安全机制。每个存储库都将其 GPG 公钥添加到你的系统信任密钥中。来自存储库的包由这个 GPG 密钥“签名signed”,并且通过这份存储的公钥,系统能够验证软件包正是来自这个存储库。 -如果[密钥之间不匹配,你的系统会发出提醒][8],而不会继续从该存储库安装或者更新软件包。 +如果 [密钥之间不匹配,你的系统会发出提醒][8],而不会继续从该存储库安装或者更新软件包。 到目前为止,一切都很顺利。下一步是将外部存储库的 GPG 公钥添加到你的 Linux 系统,以便它能接收来自该存储库的软件包。 -```shell +``` curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - ``` -在上面的命令中,你使用 curl 从指定的 URL 下载 GPG 密钥。选项 `sS` 能够让你不看多余的输出(静默模式),但会显示错误(如果有的话)。最后一个 `-` 告诉 apt-key 使用标准输入「stdin」而不是文件(在本例中是 curl 命令的输出)。 +在上面的命令中,你使用 `curl` 从指定的 URL 下载 GPG 密钥。选项 `-sS` 能够让你不看多余的输出(静默模式),但会显示错误(如果有的话)。最后一个 `-` 告诉 `apt-key` 使用标准输入stdin而不是文件(在本例中是 `curl` 命令的输出)。 `apt-key add` 命令已经将下载的密钥添加到系统中。 @@ -93,37 +94,37 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 这是将 GPG 密钥添加到系统的一种方法。你会看到一些其它的命令,看起来略有不同,但效果一样,都是将存储库的公钥添加到你的系统里面。 -```shell +``` sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 ``` -你会注意到 apt-key 已被弃用的警告。在 Ubuntu 22.04 之前,你还可以使用 apt-key 命令,但它最终会被删除。现在不需要杞人忧天。 +你会注意到 `apt-key` 已被弃用的警告。在 Ubuntu 22.04 之前,你还可以使用 `apt-key` 命令,但它最终会被删除。现在不需要杞人忧天。 #### 第 3 部分:将外部存储库添加到源列表 下个命令是在系统的源列表中添加一个新条目。这样,你的系统就会知道它得检查该存储库中的包和更新。 -```shell +``` sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' ``` -有一个文件 /etc/apt/sources.list 包含 Ubuntu 存储库的详细信息。最好不要随便动这个文件。所有新增的存储库都应放在 /etc/apt/sources.list.d 目录中相应的文件里(约定以 .list 结尾)。 +有一个文件 `/etc/apt/sources.list` 包含 Ubuntu 存储库的详细信息。最好不要随便动这个文件。所有新增的存储库都应放在 `/etc/apt/sources.list.d` 目录中相应的文件里(约定以 `.list` 结尾)。 ![External repository should have their own sources list file in the /etc/apt/sources.list.d directory][10] -这使得包管理变得更容易。如果你要从系统中删除一个存储库,只需删除相应的源文件即可。无需修改主 sources.list 文件。 +这使得包管理变得更容易。如果你要从系统中删除一个存储库,只需删除相应的源文件即可。无需修改主 `sources.list` 文件。 让我们再仔细地看一下这行命令。 -```shell +``` sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list' ``` -使用 sh 可以在一个新的 shell 进程中运行命令,而不是 [subshel​​l][11]。 `-c` 选项告诉 sh 命令从参数而不是标准输入读取命令。然后它运行 echo 命令,也就是把 **deb stable main** 这一行添加到 /etc/apt/sources.list.d/yarn.list 文件(会创建该文件) +使用 `sh` 可以在一个新的 shell 进程中运行命令,而不是 [子 shel​​l][11]。 `-c` 选项告诉 `sh` 命令从参数而不是标准输入读取命令。然后它运行 `echo` 命令,也就是把 `deb https://dl.yarnpkg.com/debian/ stable main` 这一行添加到 `/etc/apt/sources.list.d/yarn.list` 文件(会创建该文件)。 -现在,你可以通过各种方法在指定目录中创建 .list 文件并在其中添加包含存储库详细信息的数据行。你也可以像这样使用: +现在,你可以通过各种方法在指定目录中创建 `.list` 文件并在其中添加包含存储库详细信息的数据行。你也可以像这样使用: -```shell +``` echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list ``` @@ -141,11 +142,11 @@ sudo apt update 这时你的系统就已经知道新增存储库中可用软件包的信息,现在可以试试安装软件包: -```shell +``` sudo apt install yarn ``` -为了节省时间,你可以在[同一行挨着运行这两个命令][12]e。 +为了节省时间,你可以在 [同一行挨着运行这两个命令][12]e。 ``` sudo apt update && sudo apt install yarn @@ -168,7 +169,7 @@ via: https://itsfoss.com/adding-external-repositories-ubuntu/ 作者:[Abhishek Prakash][a] 选题:[lujun9972][b] 译者:[nophDog](https://github.com/nophDog) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -186,3 +187,4 @@ via: https://itsfoss.com/adding-external-repositories-ubuntu/ [10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/08/sources-list-ubuntu.png?resize=800%2C313&ssl=1 [11]: https://linuxhandbook.com/subshell/ [12]: https://itsfoss.com/run-multiple-commands-linux/ +[0]: https://img.linux.net.cn/data/attachment/album/202211/29/154339id0xb2exw0c8y222.jpg \ No newline at end of file From 4cb9efc70f9c7f764b9bbb33d4c4ff2f8bfee387 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 29 Nov 2022 16:05:29 +0800 Subject: [PATCH 573/925] RP @Cubik65536 https://linux.cn/article-15300-1.html --- ...helloSystem (0.7.0) is moving towards stability.md | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) rename {translated/news => published}/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md (71%) diff --git a/translated/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/published/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md similarity index 71% rename from translated/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md rename to published/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md index 9589b50b0c..c4b5a4f9e1 100644 --- a/translated/news/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md +++ b/published/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md @@ -3,16 +3,16 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15300-1.html" -macOS 替代品 helloSystem (0.7.0) 正在增强稳定性 +macOS 替代品 helloSystem 0.7.0 正在增强稳定性 ====== -**随着 helloSystem 0.7.0 的发布和更多内部工作,helloSystem 正在增强稳定性,为 macOS 提供一个“开放”的替代方案。** +> 随着 helloSystem 0.7.0 的发布和更多内部工作,helloSystem 正在增强稳定性,为 macOS 提供一个“开源”的替代方案。 -helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS 提供一个“开放”的替代方案。helloSystem 的主要目标是提供一个易于安装和使用的,真正“开放”的 FreeBSD 替代方案。此外,该团队还专注于 macOS 转换者,他们可以舒适的使用类似的桌面,而不会受到系统锁定或 Linux 发行版的复杂性的影响。 +helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS 提供一个“开源”的替代方案。helloSystem 的主要目标是提供一个易于安装和使用的,真正“开源”的 FreeBSD 替代方案。此外,该团队还专注于从 macOS 转换过来的用户,他们可以舒适的使用类似的桌面,而不会受到系统锁定或 Linux 发行版的复杂性的影响。 考虑到 BSD 系统中的硬件支持,开发这样的操作系统需要时间。团队正在努力从零创建一个桌面 - “hellodesktop”。用 C++ 编写的 hellodesktop 和其他改进正在进行中。 @@ -20,15 +20,15 @@ helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS ### helloSystem 0.7.0 -在 2021 年底,团队发布了最后一个稳定版本,基于 FreeBSD 13.0 的 [helloSystem 0.7.0][2],并且目前正在将系统移植到 FreeBSD 13.1 和 14 版本。 +在 2021 年底,该团队发布了最新一个稳定版本,基于 FreeBSD 13.0 的 [helloSystem 0.7.0][2],并且目前正在将系统移植到 FreeBSD 13.1 和 14 版本。 除此之外,一些新功能也可以在系统中工作了;这是一个总览: - 由 FreeBSD 13.0 驱动 -- 通过更新的启动时间和压缩的 UFS 文件系统改进的 LIVE 媒体 +- 通过更新的启动时间和压缩的 UFS 文件系统改进的现场介质Live Media - 将 ISO 镜像大小减少到 800 MB,以适合 CD - 与 Ventoy USB creator 兼容 -- 英伟达 GPU 支持,包括旧型号 +- 支持英伟达 GPU,包括旧型号 - 在目标分区安装时添加了 exFAT 支持 - 增加了 KDE 开发的 Falkon 浏览器,附带了下载和安装 Chromium 和 Firefox 的附加菜单项 - 系统提示音 @@ -46,7 +46,7 @@ helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS ![安装 Linux 运行时正在开发中][4] -话虽如此,但它仍然需要大量的时间才能成为易于使用的 BSD 变体和 macOS 的“开放”替代方案。自从我[首次报道][5]以来,已经在图形安装程序,桌面应用程序和错误修复方面进行了巨大的更新。我希望它在随着 2023 年移植到 FreeBSD 14 之后,会变得更加主流。 +话虽如此,但它仍然需要大量的时间才能成为易于使用的 BSD 变体和 macOS 的“开源”替代方案。自从我 [首次报道][5] 以来,已经在图形安装程序,桌面应用程序和错误修复方面进行了巨大的更新。我希望它在随着 2023 年移植到 FreeBSD 14 之后,会变得更加主流。 ### 下载 @@ -54,11 +54,9 @@ helloSystem 是一个基于 FreeBSD 的轻量级操作系统,旨在为 macOS 官方下载链接(包括 helloSystem 0.7.0 稳定版)可在 [此页面][7] 上找到,或者您可以使用下面的链接获取 ISO。 -[下载 helloSystem 0.7.0][8] +> **[下载 helloSystem 0.7.0][8]** -如果你想为测试,开发或任何其他事情做出贡献,请[访问 GitHub 页面以获取详细信息][9]。 - -[接下来:在 Ubuntu 中使用文件夹颜色应用程序提高生产力][10] +如果你想为测试、开发或任何其他事情做出贡献,请 [访问 GitHub 页面以获取详细信息][9]。 -------------------------------------------------------------------------------- @@ -67,7 +65,7 @@ via: https://www.debugpoint.com/hellosystem-0-7-0/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From ed09b08f17a6fbe428f993f27ba603eaa97dc836 Mon Sep 17 00:00:00 2001 From: Songling Gu <1563156662@qq.com> Date: Tue, 29 Nov 2022 20:28:32 +0800 Subject: [PATCH 574/925] =?UTF-8?q?[=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87][?= =?UTF-8?q?tech]:=2020221126.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Cr?= =?UTF-8?q?eate=20a=20holiday=20light=20display=20with=20your=20Raspberry?= =?UTF-8?q?=20Pi=20and=20ping=20pong=20balls.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... holiday light display with your Raspberry Pi and ping pong balls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md index 4ebf7de3b9..c1e4f1b306 100644 --- a/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md +++ b/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/raspberry-pi-holiday-light-display" [#]: author: "Brian McCafferty https://opensource.com/users/bdm" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Return7g" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 23ecc000186140e0ff8cb810318d25abbb62471b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 29 Nov 2022 21:25:16 +0800 Subject: [PATCH 575/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221128.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=203?= =?UTF-8?q?=20open=20source=20audio=20tools=20for=20creators.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ 3 open source audio tools for creators.md | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md diff --git a/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md new file mode 100644 index 0000000000..04358b14b2 --- /dev/null +++ b/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md @@ -0,0 +1,69 @@ +[#]: subject: "3 open source audio tools for creators" +[#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" +[#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +3 open source audio tools for creators +====== + +Finding good quality, open source audio samples can be a challenge. I've been getting increasingly into composition and creating music in my spare time, using the open source tool [Ardour][1] and the creator-focused distribution Ubuntu Studio. I've been looking for samples of specific sounds or loops to include. + +I'm familiar with many tools to find images, but until recently, I hadn't come across a similar option for audio resources. + +### Open source sound samples + +Finding specific sounds can be challenging if you can't record them yourself. Several resources are available, but not many provide sounds under an open source license. + +#### Freesound + +Enter the incredible treasure trove that is [Freesound][2], a collaborative database of [Creative Commons][3] licensed sounds where you can browse, download, and even contribute. + +You can find pretty much anything on Freesound, from the sounds of a sleepy tour bus on the road to a door opening and closing or a ghostly shriek. While Freesound mainly focuses on sound samples, there are also some loops on the site. Many sounds are licensed under Creative Commons 0, so you can do whatever you like with them from a licensing perspective. However, that's not true for all of them, so check the license before you use anything, as you may need to credit the creator. + +The site allows you to check out the sample rate, bit depth, and channels so you can be sure that the sample will work with your composition, and it has a built-in rating system and download count. A waveform display allows you to get some insight into the character of the sound sample before you preview it. + +The search filters on Freesound are not as strong as other sites. Sounds will sometimes be grouped into packs of similar sounds, like this one for [scary noises][4]. This can help you quickly grab a bunch of similar sounds to play with. The quality of the samples is variable, so you might need to clean up the audio on some samples. If you're feeling bored, there's even an option to select a random sound from the database—and trust me, some are very random! Freesound also has a community forum where you can participate and learn from others. + +#### Nasa space sounds + +If you are looking for some otherworldly sounds or want to snoop on the conversations between Earth and space, the [Nasa Space Sounds database][5] might be a great place to look. It's fascinating to explore the recordings from the various missions and listen in on the communications back and forth, some of which are narrated. Several recordings have different sounds from different space missions, from the Sounds of Mars from Perseverance Rover to audio from the Apollo missions. + +Sounds from the Nasa site are released under the Creative Commons category Public Domain Mark 1.0, meaning that it is free of known restrictions under copyright law. + +### Loops for music creation + +If your focus is more on creating music, you might be looking for loops: short recordings of music that you can alter and tweak in your own compositions. + +There are all kinds of sample packs out there from commercial sources, but there are also a lot of royalty-free loops available on [Looperman][6]. With over 200,000 loops uploaded by musicians, DJs, producers, and creators, there's everything from electronic dance music and trap to classical. There are also over 12,000 a cappella and spoken-word loops, and it's a great resource for finding things like bass lines or drum beats. You need to have an account to download, and you must download tracks before you can upload anything. + +Looperman resources are not Creative Commons, but the site defaults to a similar concept: "All samples and loops are free to use in commercial and noncommercial projects," according to the site license, but "you can NOT claim copyright of those loops." A cappella and vocal samples are in a separate category, so checking the specific terms for any loop you consider using is important. + +Each loop tells you the beats-per-minute, key signature (where relevant), and software it was created in. A waveform shows the character of the loop, which gives you a good idea of whether it is likely to work with your project. You can preview loops within the browser and leave comments for the creator. There is a lively community and many great resources to help you create your own loops. + +### Get creative + +I hope this gives you some ideas of where to find audio resources for your next project, and I look forward to hearing what you have created! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/open-source-audio-tools + +作者:[Ruth Cheesley][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/rcheesley +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/12/music-linux-ardour +[2]: https://freesound.org +[3]: https://opensource.com/article/20/1/what-creative-commons +[4]: https://freesound.org/people/SamsterBirdies/packs/31184/ +[5]: https://www.nasa.gov/connect/sounds/index.html +[6]: https://www.looperman.com/ From ae5c1a2d7b24ac0330364664a56497df188ab272 Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Tue, 29 Nov 2022 21:25:28 +0800 Subject: [PATCH 576/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0922 Install PowerShell on Fedora Linux.md | 320 ------------------ ...0922 Install PowerShell on Fedora Linux.md | 320 ++++++++++++++++++ 2 files changed, 320 insertions(+), 320 deletions(-) delete mode 100644 sources/tech/20210922 Install PowerShell on Fedora Linux.md create mode 100644 translated/tech/20210922 Install PowerShell on Fedora Linux.md diff --git a/sources/tech/20210922 Install PowerShell on Fedora Linux.md b/sources/tech/20210922 Install PowerShell on Fedora Linux.md deleted file mode 100644 index fd2a75d94b..0000000000 --- a/sources/tech/20210922 Install PowerShell on Fedora Linux.md +++ /dev/null @@ -1,320 +0,0 @@ -[#]: subject: "Install PowerShell on Fedora Linux" -[#]: via: "https://fedoramagazine.org/install-powershell-on-fedora-linux/" -[#]: author: "TheEvilSkeletonOzymandias42 https://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/" -[#]: collector: "lujun9972" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Install PowerShell on Fedora Linux -====== - -![][1] - -Photos by [NOAA][2] and [Cedric Fox][3] on [Unsplash][4] - -PowerShell (also written pwsh) is a powerful open source command-line and object-oriented shell developed and maintained by Microsoft. It is syntactically verbose and intuitive for the user. This article is a guide on how to install PowerShell on the host and inside a Podman or Toolbox container. - -### Table of contents - - * [Why use PowerShell][5] - * [Demonstration][6] - * [Comparison between Bash and PowerShell][7] - * [Install PowerShell][8] - * [Install PowerShell on a host using the package manager][9] - * [Method 1: Microsoft repositories][10] - * [Method 2: RPM file][11] - * [Install via container][12] - * [Method 1: Podman container][13] - * [Method 2: Fedora Linux Toolbox container][14] - - - -### Why use PowerShell - -PowerShell, as the name suggests, is _power_ful. The syntax is verbose and semantically clear to the end user. For those that don’t want to write long commands all the time, most commands are aliased. The aliases can be viewed with _Get-Alias_ or [here][15]. - -The most important difference between PowerShell and traditional shells, however, is its output pipeline. While normal shells output strings or character streams, PowerShell outputs objects. This has far reaching implications for how command pipelines work and comes with quite a few advantages. - -#### Demonstration - -The following examples illustrate the verbosity and simplicity. Lines that start with the pound symbol (**#**) are comments. Lines that start with **PS >** are commands, **PS >** being the prompt: - -``` -# Return all files greater than 50MB in the current directory. -## Longest form -PS > Get-Childitem | Where-Object Length -gt 50MB -## Shortest form (with use of aliases) -PS > gci | ? Length -gt 40MB -## Output looks like this - Directory: /home/Ozymandias42/Downloads -Mode LastWriteTime Length Name ----- ------------- ------ ---- ------ 20/08/2020 13:55 2000683008 40MB-file.img - - -# In order: get VMs, get snapshots, only select the last 3 and remove selected list: -PS > Get-VM VM-1 | Get-Snapshot | Select-Object -Last 3 | Remove-Snapshot -``` - -What this shows quite well is that input-output reformatting with tools like _cut_, _sed_, _awk_ or similar, which Bash scripts often need, is usually not necessary in PowerShell. The reason for this is that PowerShell works fundamentally different than traditional POSIX shells such as Bash, Zsh, or other shells like Fish. The commands of traditional shells are output as strings whereas in PowerShell they are output as objects. - -#### Comparison between Bash and PowerShell - -The following example illustrates the advantages of the object-output in PowerShell in contrast to the traditional string-output in Bash. Suppose you want a script that outputs all processes that occupy 200MB or more in RAM. With Bash, this might look something like this: - -``` -$ ps -eO rss | awk -F' ' \ - '{ if($2 >= (1024*200)) { \ - printf("%s\t%s\t%s\n",$1,$2,$6);} \ - }' - -PID RSS COMMAND -A B C -[...] -``` - -The first obvious difference is readability or more specifically, semantic clarity. Neither _ps_ nor _awk_ are self-descriptive. _ps_ shows the **p**rocess **s**tatus and _awk_ is a text processing tool and language whose letters are the initials of its developers’ last names, **A**ho, **W**einberger, **K**ernighan (see [Wikipedia][16]). Before contrasting it with PowerShell however, examine the script: - - * _ps -e_ outputs all running processes; - - * _-O rss_ outputs the default output of _ps_ plus the amount of kilobytes each process uses, the _rss_ field; this output looks like this: - -``` -PID RSS S TTY TIME COMMAND 1 13776 S ? 00:00:01 /usr/lib/systemd/systemd -``` - - * | pipe operator uses the output of the command on the left side as input for the command on the right side. - - * _awk -F’ ‘_ declares “space” as the input field separator. So going with the above example, PID is the first, RSS the second and so on. - - * _‘{ if($2 >= (1024*200)_ is the beginning of the actual AWK-script. It checks whether field 2 ([RSS][17]) contains a number larger than or equal to 1024*200KB (204800KB, or 200MB); - - * _{ printf(“%s\t%s\t%s\n”,$1,$2,$6);} }’_ continues the script. If the previous part evaluates to true, this outputs the first, second and sixth field ([PID][18], [RSS][17] and COMMAND fields respectively). - - - - -With this in mind, step back and look at what was required for this script to be written and for it to work: - - * The input command _ps_ had to have the field we wanted to filter against in its output. This was not the case by default and required us to use the _-O_ flag with the _rss_ field as argument. - * We had to treat the output of _ps_ as a list of input fields, requiring us to know their order and structure. Or in other words, we had to at least _know_ that _RSS_ would be the second field. Meaning we had to know how the output of _ps_ would look beforehand. - * We then had to know what unit the data we were filtering against was in as well as what unit the processing tool would work in. Meaning we had to know that the _RSS_ field uses kilobytes and that _awk_ does too. Otherwise we would not have been able to write the expression _($2 <= 1024*200)_ - - - -Now, contrast the above with the PowerShell equivalent: - -``` -# Longest form -PS > Get-Process | Where-Object WorkingSet -ge 200MB -# Shortest form (with use of aliases) -PS > gps | ? ws -ge 200MB - -NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------- ----- ----- ------ -- -- ----------- - A B C D E F G -[...] -``` - -This first thing to notice is that we have perfect semantic clarity. The commands are perfectly self-descriptive in what they do. - -Furthermore there is no requirement for input-output reformatting, nor is there concern about the unit used by the input command. The reason for this is that PowerShell does not output strings, but objects. - -To understand this think about the following. In Bash the output of a command is equal to that what it prints out in the terminal. In PowerShell what is printed on the terminal is not equal to the information, that is actually available. This is, because the output-printing system in PowerShell also works with objects. So every command in PowerShell marks some of the properties of its output objects as printable and others not. However, it always includes all properties, whereas Bash only includes what it actually prints. One can think of it like JSON objects. Where output in Bash would be separated into “fields” by a delimiter such as a space or tab, it becomes an easily addressable object property in PowerShell, with the only requirement being, that one has to know its name. Like _WorkingSet_ in the above example. - -To see all available properties of a command’s output objects and their types, one can simply do something like: - -``` -PS > Get-Process | Get-Member -``` - -### Install PowerShell - -PowerShell is available in several package formats, including RPM used by Fedora Linux. This article shows how to install PowerShell on Fedora Linux using various methods. - -I recommend installing it natively. But I will also show how to do it in a container. I will show using both the official Microsoft PowerShell container and a Fedora Linux 30 toolbox container. The advantage of the container-method is that it’s guaranteed to work, since all dependencies are bundled in it, and isolation from the host. Regardless, I recommend doing it natively, despite the official docs only explicitly stating Fedora Linux releases 28 to 30 as being supported. - -**Note:** Supported means guaranteed to work. It does not necessarily mean incompatible with other releases. This means, that while not guaranteed, releases higher than 30 should still work. They did in fact work in our tests. - -It is more difficult to set up PowerShell and run it in a container than to run it directly on a host. It takes more time to install and you will not be able to run host commands directly. - -#### Install PowerShell on a host using the package manager - -##### Method 1: Microsoft repositories - -Installation is as straight-forward as can be and the procedure doesn’t differ from any other software installed through third party repositories. - -It can be split into four general steps: - - 1. Adding the new repository’s GPG key - 2. Adding repository to DNF repository list - 3. Refreshing DNF cache to include available packages from the new repository - 4. Installing new packages - - - -Powershell is then launched with the command _pwsh_. - -``` -$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc -$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo -$ sudo dnf makecache -$ sudo dnf install powershell -$ pwsh -``` - -To remove the repository and packages, run the following. - -``` -$ sudo rm /etc/yum.repos.d/microsoft.repo -$ sudo dnf remove powershell -``` - -##### Method 2: RPM file - -This method is not meaningfully different from the first method. In fact it adds the GPG key and the repository implicitly when installing the RPM file. This is because the RPM file contains the link to both in it’s metadata. - -First, get the _.rpm_ file for the version you want from the [PowerShell Core GitHub repository][19]. See the readme.md -“Get Powershell” table for links. - -Second, enter the following: - -``` -$ sudo dnf install powershell-.rhel.7..rpm -``` - -Substitute _<version>_ and _<architecture>_ with the version and architecture you want to use respectively, for example [powershell-7.1.3-1.rhel.7.x86_64.rpm][20]. - -Alternatively you could even run it with the link instead, skipping the need to download it first. - -``` -$ sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v/powershell-.rhel.7..rpm -``` - -To remove PowerShell, run the following. - -``` -$ sudo dnf remove powershell -``` - -#### Install via container - -##### Method 1: Podman container - -Podman is an [Open Container Initiative][21] (OCI) compliant drop-in replacement for Docker. - -Microsoft provides a [PowerShell Docker container][22]. The following example will use that container with Podman. - -For more information about Podman, visit [Podman.io][23]. Fedora Magazine has a [tag][24] dedicated to Podman. - -To use PowerShell in Podman, run the following script: - -``` -$ podman run \ - -it \ - --privileged \ - --rm \ - --name powershell \ - --env-host \ - --net=host --pid=host --ipc=host \ - --volume $HOME:$HOME \ - --volume /:/var/host \ - mcr.microsoft.com/powershell \ - /usr/bin/pwsh -WorkingDirectory $(pwd) -``` - -This script creates a Podman container for PowerShell and immediately attaches to it. It also mounts the _/home_ and the host’s root directories into the container so they’re available there. However, the host’s root directory is available in _/var/host_. - -Unfortunately, you can only indirectly run host commands while inside the container. As a workaround, run _chroot /var/host_ to chroot to the root and then run host commands. - -To break the command down, everything is mandatory unless specified: - - * -it creates a persistent environment that does not kick you out when you enter it; - * \--privileged gives extended privileges to the container (optional); - * \--rm removes the container when you exit; - * \--name powershell sets the name of the container to _powershell_; - * \--env-host sets all host environment variables to the container’s variables (optional); - * \--volume $HOME:$HOME mounts the user directory; - * \--volume /:/var/host mounts the root directory to _/var/host_ (optional); - * \--net=host --pid=host --ipc=host runs the process in the host’s namespaces instead of a separate set of namespaces for the contained process; - * docker.io/microsoft/powershell enters the container; - * /usr/bin/pwsh -WorkingDirectory $(pwd) enters the container in the current directory (optional). - - - -Optional but very convenient: alias _pwsh_ with the script to easily access the Podman container by typing _pwsh_. - -To remove the PowerShell image, run the following. - -``` -$ podman rmi mcr.microsoft.com/powershell -``` - -##### Method 2: Fedora Linux Toolbox container - -Toolbox is an elegant solution to setup persistent environments without affecting the host system as a whole. It acts as a wrapper around Podman and takes care of supplying a lot of the flags demonstrated in the previous method. For this reason, Toolbox is a lot easier to use than Podman. It was designed to work for development and debugging. With Toolbox, you can run any command the same as you would directly on the Fedora Workstation host (including _dnf_). - -The installation procedure is similar to the installation on the host methods, with the only difference being that those steps are done inside a container. Make sure you have the _toolbox_ package installed. - -Preparing and entering the Fedora 34 Toolbox container is a two step process: - - 1. Creating the Fedora 34 Toolbox container - 2. Running the Fedora 34 Toolbox container - - - -``` -$ toolbox create --image registry.fedoraproject.org/f34/fedora-toolbox -$ toolbox enter --container fedora-toolbox -``` - -Then, follow the instructions at [Method 1: Microsoft repositories][10]. - -Optional but very convenient: alias _pwsh_ with _toolbox run –container fedora-toolbox_ _pwsh_ to easily access the Toolbox container by typing _pwsh_. - -To remove the Toolbox container, make certain you have stopped the Toolbox session by entering _exit_ and then run the following: - -``` -$ podman kill fedora-toolbox -$ toolbox rm fedora-toolbox -``` - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/install-powershell-on-fedora-linux/ - -作者:[TheEvilSkeletonOzymandias42][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://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramagazine.org/wp-content/uploads/2021/05/powershell-816x345.jpg -[2]: https://unsplash.com/@noaa?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[3]: https://unsplash.com/@thecedfox?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[4]: https://unsplash.com/s/photos/shell?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[5]: tmp.c7U2gcu9Hl#why-use-powershell -[6]: tmp.c7U2gcu9Hl#demonstration -[7]: tmp.c7U2gcu9Hl#comparison-between-bash-and-powershell -[8]: tmp.c7U2gcu9Hl#install-powershell -[9]: tmp.c7U2gcu9Hl#install-on-host-via-package-manager -[10]: tmp.c7U2gcu9Hl#method-1-microsoft-repositories -[11]: tmp.c7U2gcu9Hl#method-2-rpm-file -[12]: tmp.c7U2gcu9Hl#install-via-container -[13]: tmp.c7U2gcu9Hl#method-1-podman-container -[14]: tmp.c7U2gcu9Hl#method-2-fedora-toolbox-container -[15]: https://ilovepowershell.com/2011/11/03/list-of-top-powershell-alias/ -[16]: https://en.wikipedia.org/wiki/AWK -[17]: https://en.wikipedia.org/wiki/Resident_set_size -[18]: https://en.wikipedia.org/wiki/Process_identifier -[19]: https://github.com/PowerShell/PowerShell -[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-1.rhel.7.x86_64.rpm -[21]: https://opencontainers.org/ -[22]: https://hub.docker.com/_/microsoft-powershell -[23]: https://podman.io/ -[24]: https://fedoramagazine.org/tag/podman/ diff --git a/translated/tech/20210922 Install PowerShell on Fedora Linux.md b/translated/tech/20210922 Install PowerShell on Fedora Linux.md new file mode 100644 index 0000000000..3c41b43ef4 --- /dev/null +++ b/translated/tech/20210922 Install PowerShell on Fedora Linux.md @@ -0,0 +1,320 @@ +[#]: subject: "Install PowerShell on Fedora Linux" +[#]: via: "https://fedoramagazine.org/install-powershell-on-fedora-linux/" +[#]: author: "TheEvilSkeletonOzymandias42 https://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/" +[#]: collector: "lujun9972" +[#]: translator: "cool-summer-021" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在Fedora Linux 系统上安装 PowerShell +====== + +![][1] + +Photos by [NOAA][2] and [Cedric Fox][3] on [Unsplash][4] + +PowerShell(也可写作 pwsh) 是一个功能强大的开源命令行工具,它是面向对象的,由微软开发和维护。它的语法特征冗长,但对用户来说比较直观。本文介绍如何在主机上和在 Podman 或其他容器内安装 PowerShell。 + +### 目录 + + * [为何使用 PowerShell][5] + * [演示实例][6] + * [Bash 和 PowerShell 的比较][7] + * [安装 PowerShell][8] + * [使用包管理器在主机上安装 PowerShell][9] + * [方法1:通过微软仓库][10] + * [方法2:通过 RPM 文件][11] + * [借助容器安装 PowerShell][12] + * [方法1:使用 Podman 容器][13] + * [方法2:使用 Fedora Linux 系统的 Toolbox 容器][14] + + + +### 为何使用 PowerShell + +PowerShell,正如它的名字那样,是一个强大的工具。它的句法冗长,但语义清晰。对那些不愿意写长命令的开发者来说,PowerShell 的大多数命令都有别名。可以使用 _Get-Alias_ 或点击[此处][15]查询别名的使用方法。 + +PowerShell 和传统的 Shell 最大的区别在于它的输出管道。普通的 Shell 输出的是字符串或字符流,PowerShell 输出的是对象。这对命令管道的工作方式具有深远的影响,而且它具有很多的优点。 + +#### 演示例子 + +下面的例子体现的是冗长而清晰的特点。以#号开头的行为注释行。以PS > 开头的行为命令行,**PS >**是提示: + +``` +# Return all files greater than 50MB in the current directory. +## Longest form +PS > Get-Childitem | Where-Object Length -gt 50MB +## Shortest form (with use of aliases) +PS > gci | ? Length -gt 40MB +## Output looks like this + Directory: /home/Ozymandias42/Downloads +Mode LastWriteTime Length Name +---- ------------- ------ ---- +----- 20/08/2020 13:55 2000683008 40MB-file.img + + +# In order: get VMs, get snapshots, only select the last 3 and remove selected list: +PS > Get-VM VM-1 | Get-Snapshot | Select-Object -Last 3 | Remove-Snapshot +``` + +上述例子说明了:带有 _cut_, _sed_, _awk_ 等类似工具的输入-输出格式,在使用 Bash 脚本时是必须具备的技能,而使用 PowerShell 时就不是必备技能了。这是因为 PowerShell 的工作机制跟传统的 POSIX shell(例如 Bash、Zsh、Fish等)有本质的不同。传统的 Shell 的命令输出形式是字符串,而在 PowerShell 中,命令输出形式为对象。 + +#### Bash 与 PowerShell 的比较 + +下面的例子说明了与 Bash 中的字符串输出模式相比,PowerShell 的对象输出模式的优点。假设你需要写一段脚本,该脚本的作用显示所有进程,这些进程一共占用了 200MB 内存空间。如果使用 Bash,大致如下: + +``` +$ ps -eO rss | awk -F' ' \ + '{ if($2 >= (1024*200)) { \ + printf("%s\t%s\t%s\n",$1,$2,$6);} \ + }' + +PID RSS COMMAND +A B C +[...] +``` + +第一个显而易见的差别就是可读性,或更确切地说是语义清晰性。 _ps_ 和 _awk_ 都不是自描述的。_ps_ 命令的功能是显示进程状态,_awk_ 是一种文本处理工具和语言,这个词汇每个字母都是前期开发人员的名字(**A**ho, **W**einberger, **K**ernighan (详见 [Wikipedia][16]))的首字母。然而,在把它与 PowerShell 作比较前,考察以下脚本: + + * _ps -e_ 输出所有运行中的进程; + + * _-O rss_ 输出 _ps_ 的默认输出内容,每个进程分别显示其占用的字节数(以 KB 为单位);输出结果类似于: + +``` +PID RSS S TTY TIME COMMAND 1 13776 S ? 00:00:01 /usr/lib/systemd/systemd +``` + + * | 管道操作符使用左边命令的输出作为右边命令的输入。 + + * _awk -F’ ‘_ 定义"空格",作为输入域操作符。再回到上面的例子,PID 是第一个,RSS 是第二个,依此类推。 + + * _‘{ if($2 >= (1024*200)_ 是实际的 AWK-script 代码起始处。它的作用是检查第2个字段([RSS][17])是否包含大于或等于 1024*200 的数字; + + * _{ printf(“%s\t%s\t%s\n”,$1,$2,$6);} }’_ 继续分析脚本代码。如果前面的条件成立,则输出第一、第二和第六个字段(分别是 [PID][18], [RSS][17] 和 COMMAND)。 + + + + +记住这点,往回看编写这段脚本需要什么以及如何令它正常工作: + + * 输入命令_ps_的输出中必须包含我们想要过滤的字段。这不是默认的实例,需要我们使用 _-O_ 标志和 _rss_ 字段作为参数。 + * 我们需要将 _ps_ 的输出当作一组输入字段,所以我们还应当知道它们的顺序和结构。换句话说,我们至少需要确定 _RSS_ 是第二个字段。这也意味着我们需要提前知道 _ps_ 的输出信息的大致情况。 + * 然后我们需要知道过滤的数据位于什么单元以及相关工具运行于什么单元。也就是我们需要得到 _RSS_ 和 _awk_ 字段占用了多少字节。不然我们也不会写出 _($2 >= 1024*200)_ 这样的表达式。 + + + +现在,我们把前面的命令跟 PoserShell 中等价的命令比较: + +``` +# Longest form +PS > Get-Process | Where-Object WorkingSet -ge 200MB +# Shortest form (with use of aliases) +PS > gps | ? ws -ge 200MB + +NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName +------ ----- ----- ------ -- -- ----------- + A B C D E F G +[...] +``` + +首先应该注意到,语义非常清晰。这些命令都是自描述的,能清晰描述它们做什么。 + +此外,不需要对输入-输出重新格式化,也不需要关心输入命令使用的单元。这是因为 PowerShell 输出的是对象,而非字符串。 + +考虑下述情况,就可以理解这些内容。在 Bash 中,命令的输出信息就是终端显示的信息。在 PowerShell 中,终端显示的信息并不等于实际可用的信息。这是由于 PowerShell 中的输出-打印系统使用的也是对象。因此 PowerShell 中每一条命令都对输出的对象的一些属性作了可打印的标记,也对一些属性作了不可打印的标记。Bash 中的输出位置被分为一些“字段”,以空格或制表符为标志,在 PowerShell 中它是一个容易寻址的对象属性,只需要知道它的名称即可使用。就像上述例子中的 _WorkingSet_ 那样。 + +为了看到一条命令的输出对象的所有属性和它们的类型,可以进行以下操作: + +``` +PS > Get-Process | Get-Member +``` + +### 安装 PowerShell + +PowerShell 安装包的形式有若干种,包括 Fedora Linux 中使用的 RPM 安装包。本文介绍在 Fedora Linux 中如何使用多种方法安装 PowerShell。 + +我推荐使用原生的方法安装。但我也会介绍如何在容器中安装。官方 Microsoft PowerShell 容器和 Fedora Linux 30 工具箱容器的使用,我都会介绍。使用容器的优点在于,所有的依赖捆绑在其中,并且会从主机分离出去,所以它一定是有效的。无论如何,虽然官方文档只是明确支持 Fedora Linux 发行版 28-30,我还是建议使用原生的方法安装。 + +**注意:** 官方支持意味着一定有效。其他的版本也不是一定不兼容。也就是说,高于 30 的发行版也应该有效。经过测试,的确如此。 + +在容器中设置并运行 PowerShell 比直接在主机上运行它难度更大,安装需要花费更多时间,而且你还不能直接运行命令。 + +#### 在主机上使用包管理器安装 PowerShell + +##### 方法一:使用微软仓库 + +安装过程很直接,而且跟通过第三方仓库安装其他软件没什么区别。 + +通俗地说,安装过程可以分为四步: + + 1. 添加新仓库的 GPG 密码 + 2. 在 DNF 仓库列表中新增相应的仓库 + 3. 刷新 DNF 缓存,将新仓库中的有关包包含进来 + 4. 安装新包 + + + +使用命令 _pwsh_ 启动 PowerShell。 + +``` +$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc +$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo +$ sudo dnf makecache +$ sudo dnf install powershell +$ pwsh +``` + +欲删除仓库和包,运行以下命令。 + +``` +$ sudo rm /etc/yum.repos.d/microsoft.repo +$ sudo dnf remove powershell +``` + +##### 方法2:使用 PRM 文件 + +这种方法与第一种方法没有明显的差别。实际上,在安装 RPM 文件时,隐式添加了 GPG 密码和仓库。这是由于 RPM 文件包含它们两者的关联关系,保存在它的元数据中。 + +首先,从 [PowerShell GitHub 仓库][19] 获取相应版本的 _.rpm_ 文件。然后查看 readme.md 文件中的 “获取 PowerShell” 部分的内容。 + + +第二步,输入以下命令: + +``` +$ sudo dnf install powershell-.rhel.7..rpm +``` + +在 version 和 architecture 节点中填写各自的内容,例如 [powershell-7.1.3-1.rhel.7.x86_64.rpm][20]。 + +你也可以使用链接运行它,不指定版本和架构,先把它下载到本地。 + +``` +$ sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v/powershell-.rhel.7..rpm +``` + +欲删除 PowerShell,运行以下命令。 + +``` +$ sudo dnf remove powershell +``` + +#### 通过容器安装 + +##### 方法一:使用 Podman 容器 + +Podman 是一个兼容[开放容器倡议][21](OCI)的、嵌入式的容器引擎,它可以代替 Docker。 + +微软提供了[PowerShell Docker 容器集成工具][22]。下面的例子将在 Podman 中使用容器。 + +欲了解更多关于 Podman 的信息,可以访问 [Podman.io][23]。Fedora 杂志还有一个专为 Podman 设计的[标签][24]。 + +欲在 Podman 中使用 PowerShell,运行以下脚本: + +``` +$ podman run \ + -it \ + --privileged \ + --rm \ + --name powershell \ + --env-host \ + --net=host --pid=host --ipc=host \ + --volume $HOME:$HOME \ + --volume /:/var/host \ + mcr.microsoft.com/powershell \ + /usr/bin/pwsh -WorkingDirectory $(pwd) +``` + +这段脚本为使用 PowerShell 创建了一个 Podman 容器,并立即将它连接起来。它还将 _/home_ 和主机的根目录挂载到容器中,确保它们在容器中是可用的。无论如何,在 _/var/host_ 目录下,主机的根目录是可获取的。 + +但是,在容器内部,你只能间接运行主机命令。有一种变通办法,就是先运行 _chroot /var/host_ 改变根目录,然后运行主机命令。 + +为了把命令拆分开来讲解,除非特别指定,以下所有内容都是强制性的: + + * -it 创建一个持久环境,当您进入该环境后,不会轻易退出; + * \--privileged 给予容器扩展的权限(可选); + * \--rm 当你退出时移除容器; + * \--name 设置容器名称; + * \--env-host 将所有主机的环境变量设置为容器的变量值(可选); + * \--volume $HOME:$HOME 加载用户目录; + * \--volume /:/var/host 将根目录挂载到 _/var/host_(可选); + * \--net=host --pid=host --ipc=host 在主机的命名空间中运行进程(而非一组单独的名称空间); + * docker.io/microsoft/powershell 进入容器 + * /usr/bin/pwsh -WorkingDirectory $(pwd) 在当前目录下进入容器(可选)。 + + + +可选但很方便的参数:别名 _pwsh_,脚本中有了它,可以输入 _pwsh_ 轻松访问 Podman 容器。 + +欲移除 PowerShell 镜像,运行以下命令: + +``` +$ podman rmi mcr.microsoft.com/powershell +``` + +##### 方法二:Fedora 系统的 Toolbox 容器 + +在不影响主机系统的情况下安装持久化环境,使用 Toolbox 是一种巧妙的解决方案。它类似于 Podman 的封装器,负责提供大量的标志,就像方法一中提到的那样。因此,Toolbox 比 Podman 容易使用。它可以用来开发和调试。有了 Toolbox,你可以运行任何命令,跟你直接在 Fedora 工作站主机上运行是一样的。 + +安装步骤跟在主机上安装一样,唯一的区别就是在容器内部进行。你需要确保已经安装了 _toolbox_ 包。 + +使用 Fedora 34 Toolbox 容器需要两个步骤: + + 1. 创建 Fedora 34 Toolbox 容器 + 2. 运行 Fedora 34 Toolbox 容器 + + + +``` +$ toolbox create --image registry.fedoraproject.org/f34/fedora-toolbox +$ toolbox enter --container fedora-toolbox +``` + +接着,按照[方法一:使用微软仓库][10]中的相关内容操作。 + +可选但非常方便的做法:使用别名,可以轻松地访问 Toolbox 容器。 + +欲移除 Toolbox 容器,需要确保你已经使用 _exit_ 关闭了 Toolbox 会话,然后运行以下命令: + +``` +$ podman kill fedora-toolbox +$ toolbox rm fedora-toolbox +``` + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/install-powershell-on-fedora-linux/ + +作者:[TheEvilSkeletonOzymandias42][a] +选题:[lujun9972][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramagazine.org/wp-content/uploads/2021/05/powershell-816x345.jpg +[2]: https://unsplash.com/@noaa?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[3]: https://unsplash.com/@thecedfox?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[4]: https://unsplash.com/s/photos/shell?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[5]: tmp.c7U2gcu9Hl#why-use-powershell +[6]: tmp.c7U2gcu9Hl#demonstration +[7]: tmp.c7U2gcu9Hl#comparison-between-bash-and-powershell +[8]: tmp.c7U2gcu9Hl#install-powershell +[9]: tmp.c7U2gcu9Hl#install-on-host-via-package-manager +[10]: tmp.c7U2gcu9Hl#method-1-microsoft-repositories +[11]: tmp.c7U2gcu9Hl#method-2-rpm-file +[12]: tmp.c7U2gcu9Hl#install-via-container +[13]: tmp.c7U2gcu9Hl#method-1-podman-container +[14]: tmp.c7U2gcu9Hl#method-2-fedora-toolbox-container +[15]: https://ilovepowershell.com/2011/11/03/list-of-top-powershell-alias/ +[16]: https://en.wikipedia.org/wiki/AWK +[17]: https://en.wikipedia.org/wiki/Resident_set_size +[18]: https://en.wikipedia.org/wiki/Process_identifier +[19]: https://github.com/PowerShell/PowerShell +[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-1.rhel.7.x86_64.rpm +[21]: https://opencontainers.org/ +[22]: https://hub.docker.com/_/microsoft-powershell +[23]: https://podman.io/ +[24]: https://fedoramagazine.org/tag/podman/ From 2282dc0a88c6296f6979d9681eebce2b4d9bc2fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 29 Nov 2022 21:26:03 +0800 Subject: [PATCH 577/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221128.2=20=E2=AD=90=EF=B8=8F=20Elon=20Musk's=20Twit?= =?UTF-8?q?ter=20to=20Add=20Open-Source=20Signal=20Protocol=20for=20Encryp?= =?UTF-8?q?ted=20DMs.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...en-Source Signal Protocol for Encrypted DMs.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md diff --git a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md new file mode 100644 index 0000000000..0bb1e9762a --- /dev/null +++ b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md @@ -0,0 +1,80 @@ +[#]: subject: "Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs" +[#]: via: "https://news.itsfoss.com/twitter-signal/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs +====== + +Earlier this year, Elon Musk [tweeted][1] that Twitter DMs needed end-to-end encryption like Signal. + +Even back in 2016, **Edward Snowden**[asked][2]**Jack Dorsey**, former CEO and Co-Founder of Twitter, to add something similar to the platform. + +But, it never came to be. It was probably tested but never implemented. + +With a recent announcement (kind of), this seems to be coming to fruition😌 + +Elon shared a few slides from his company talks, which included '**Encrypted DMs**' for the platform with the Twitter 2.0 roadmap. + +### 🔒 Signal Protocol to Twitter DMs + +![twitter encrypted dms][3] + +While some tinkerers like [Jane Manchun Wong][4](security researcher) found code references to the [Signal Protocol][5] in Twitter's iOS and Android applications. + +Elon Musk confirmed the plan for it in a [tweet][6] about the improvements set to come to the platform under the '**Twitter 2.0**' roadmap. + +In other words, Elon confirmed that encrypted DMs are coming soon. + +![twitter dm signal protocol][7] + +**For those who don't know:** Signal Protocol is an open-source cryptographic protocol that allows the implementation of end-to-end encryption in a perfect forward secrecy ([PFS][8]) manner. + +The protocol uses a '_Double Ratchet algorithm_' where two parties exchange encrypted messages based on a constantly changing shared secret key. + +This ensures that no third party can access the message's contents, as the shared keys only exist on the devices of the two parties. + +The [Signal][9] app makes the best of it. However, you do have several privacy-focused alternatives if you want to explore: + +**How can it help with Twitter DMs?** + +Well, it can make Twitter a more secure platform by preventing malicious actors and governments from snooping around the messages of Twitter users. + +The implementation of Encrypted DMs can be beneficial for whistleblowers, journalists, and activists who are constantly at risk of being censored or targeted for their work. + +Sure, encrypted DMs may not be the most extreme protection measure in terms of privacy. **But it is better than nothing.** + +### 🔏 Encrypted Messaging Should be the Standard + +In these turbulent times, we see more malicious actors trying to gain unauthorized access to sensitive information than ever before. + +Support for End-to-end encryption should be the de facto standard for all messaging platforms, and I hope that Twitter adds it soon. + +_Thoughts? Feel free to share what you think in the comments down below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/twitter-signal/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://twitter.com/elonmusk/status/1519469891455234048 +[2]: https://twitter.com/Snowden/status/808736772830195713 +[3]: https://news.itsfoss.com/content/images/2022/11/Encrypted_DM_Twitter.jpg +[4]: https://twitter.com/wongmjane +[5]: https://github.com/signalapp/libsignal +[6]: https://twitter.com/elonmusk/status/1596718851097755648 +[7]: https://news.itsfoss.com/content/images/2022/11/Signal_Protocol_Twitter.jpg +[8]: https://en.wikipedia.org/wiki/Forward_secrecy +[9]: https://signal.org/en/ From 6b407a030e73d5726ce1cb4637faabcf1cfcf47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 29 Nov 2022 21:28:35 +0800 Subject: [PATCH 578/925] =?UTF-8?q?Update=2020221128.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20Elon=20Musk's=20Twitter=20to=20Add=20Open-Source=20?= =?UTF-8?q?Signal=20Protocol=20for=20Encrypted=20DMs.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md index 0bb1e9762a..7dbdd6fe00 100644 --- a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md +++ b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md @@ -40,6 +40,8 @@ This ensures that no third party can access the message's contents, as the share The [Signal][9] app makes the best of it. However, you do have several privacy-focused alternatives if you want to explore: +[Looking to Ditch WhatsApp? Here are 5 Better Privacy Alternatives to WhatsApp][10] + **How can it help with Twitter DMs?** Well, it can make Twitter a more secure platform by preventing malicious actors and governments from snooping around the messages of Twitter users. @@ -78,3 +80,4 @@ via: https://news.itsfoss.com/twitter-signal/ [7]: https://news.itsfoss.com/content/images/2022/11/Signal_Protocol_Twitter.jpg [8]: https://en.wikipedia.org/wiki/Forward_secrecy [9]: https://signal.org/en/ +[10]: https://itsfoss.com/private-whatsapp-alternatives/ From bab2e74ffc7a0793c2266d3d0af41405448d9a34 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 30 Nov 2022 08:56:33 +0800 Subject: [PATCH 579/925] translated --- ...e Open-Source App to Replace Authy on Linux.md | 96 ------------------- ...e Open-Source App to Replace Authy on Linux.md | 94 ++++++++++++++++++ 2 files changed, 94 insertions(+), 96 deletions(-) delete mode 100644 sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md create mode 100644 translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md diff --git a/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md deleted file mode 100644 index 7d45fb7afd..0000000000 --- a/sources/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md +++ /dev/null @@ -1,96 +0,0 @@ -[#]: subject: "Authenticator: A Simple Open-Source App to Replace Authy on Linux" -[#]: via: "https://itsfoss.com/authenticator/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Authenticator: A Simple Open-Source App to Replace Authy on Linux -====== - -Authy is a popular app for storing and managing two-factor codes. It is a cloud-based service that gives you convenience with industry-grade security. Unfortunately, it is not open-source. - -Would you consider using a more straightforward (and open-source) authenticator app on your Linux desktop? - -Well, of course, you cannot cloud sync here. But you can generate a backup for the two-factor authentication codes. Keeping that in mind, let me tell you more about Authenticator. - -![authenticator app ft][1] - -### Authenticator: Generate Two-Factor Authentication Codes - -When you enable two-factor authentication with online services, most services give you a token/QR code that you can add/scan to generate codes. - -Authenticator is one such app for Linux that lets you add two-factor authentication codes. - -![authenticator ui][2] - -It is a free and open-source app with essential features to add a variety of tokens and websites that support two-factor authentication. - -**Recommended Read**: [Best Password Managers for Linux Desktop][3] - -### Features of Authenticator - -![authenticator auto lock][4] - -Some of the essential options that you get with it include: - -- QR Code scanner using a camera or a screenshot -- Protect the app using a passphrase -- Autolock the app -- Support for different algorithms (SHA-1/SHA-256/SHA-512) -- Time-based/Counter-based/Steam computing methods supported -- Backup/Restore options (FreeOTP, Aegis, andOTP, Bitwarden, and Google Authenticator) - -You get customization options and the ability to add a custom provider as per the support provided by the service. One can add a custom icon for the provider to help you distinguish between the authentication codes. - -![authenticator custom provider][5] - -For the most part, the default settings should work with websites. However, you might want to check the exact details with the provider if it does not work. - -The app also features multiple providers out of the box, like Google Drive and Proton Mail. So, you do not need to add custom configurations for every entry you add. - -### Installing Authenticator on Linux - -![authenticator add new code][6] - -Authenticator is available as a Flatpak. So, you can install it on any Linux distribution. - -Just type in the following command to get it installed: - -``` -flatpak install flathub com.belmoussaoui.Authenticator -``` - -You can head to its [Flathub][7] or GitLab page to explore more. - -If you are new to the Linux world, refer to our [Flatpak guide][8] to set it up. Your software center might already have Flatpak integration enabled out of the box. You can search for it to get it installed in such a case. - -### Use Open Source Authenticator App For Security and Reliability - -We often depend on cloud-powered tools for everything. Sure, it is convenient. - -However, sometimes desktop apps are more helpful. If you are in the same boat and thinking of making a switch, Authenticator can be an excellent app to have installed for two-factor authentication codes. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/authenticator/ - -作者:[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/11/authenticator-app-ft.png -[2]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-ui.png -[3]: https://itsfoss.com/password-managers-linux/ -[4]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-auto-lock.png -[5]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-custom-provider.png -[6]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-add-new-code.png -[7]: https://flathub.org/apps/details/com.belmoussaoui.Authenticator -[8]: https://itsfoss.com/flatpak-guide/ diff --git a/translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md new file mode 100644 index 0000000000..bcd56c0b15 --- /dev/null +++ b/translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md @@ -0,0 +1,94 @@ +[#]: subject: "Authenticator: A Simple Open-Source App to Replace Authy on Linux" +[#]: via: "https://itsfoss.com/authenticator/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Authenticator:一个简单的开源应用来替代 Linux 上的 Authy +====== + +Authy 是一款流行的应用,用于存储和管理双因素码。它是一项基于云的服务,可为你提供便利的工业级安全性。不幸的是,它不是开源的。 + +你会考虑在 Linux 桌面上使用更直接(和开源)的身份验证器应用吗? + + +嗯,当然,你不能使用云同步。但是你可以为双因素身份验证码生成备份。记住这点,让我告诉您更多有关 Authenticator 的信息。 + +![authenticator app ft][1] + +### Authenticator:生成双因素身份验证代码 + +当你启用在线服务的双因素身份验证时,大多数服务都会为你提供令牌/QR 码,你可以添加/扫描以生成代码。 + +Authenticator 就是这样一款适用于 Linux 的应用,他可让你添加双因素身份验证码。 + +![authenticator ui][2] + +它是一个免费的开源应用,具有添加各种支持双因素身份验证的令牌和网站的基本功能。 + +### 身份验证器的特点 + +![authenticator 自动锁定][4] + +你获得的一些基本功能包括: + +- 使用相机或截图的二维码扫描器 +- 使用密码保护应用 +- 自动锁定应用 +- 支持不同的算法 (SHA-1/SHA-256/SHA-512) +- 支持基于时间/基于计数器/Steam 计算方法 +- 备份/恢复选项(FreeOTP、Aegis 和 OTP、Bitwarden 和 Google Authenticator) + +你可以获得自定义选项,并能够根据服务提供的支持添加自定义提供程序。可以为提供商添加自定义图标,以帮助你区分身份验证代码。 + +![authenticator 自定义提供程序][5] + +在大多数情况下,默认设置应该适用于网站。但是,如果它不起作用,你可能需要与提供商核实确切的详细信息。 + +该应用还具有开箱即用的多个提供商,例如 Google Drive 和 Proton Mail。因此,你无需为添加的每个条目添加自定义配置。 + +### 在 Linux 上安装 Authenticator + +![authenticator 添加新代码][6] + +Authenticator 以 Flatpak 的形式提供。因此,你可以将它安装在任何 Linux 发行版上。 + +只需输入以下命令即可安装它: + +``` +flatpak install flathub com.belmoussaoui.Authenticator +``` + +你可以前往其 [Flathub][7] 或 GitLab 页面探索更多信息。 + +如果你是 Linux 世界的新手,请参阅我们的 [Flatpak 指南][8]进行设置。你的软件中心可能已经启用了 Flatpak 集成。这种情况下,你可以搜索安装它。 + +### 使用开源身份验证器应用确保安全性和可靠性 + +我们经常依赖云驱动的工具来处理所有事情。当然,这很方便。 + +但是,有时桌面应用更有用。如果你在同一条船上并考虑进行转换,Authenticator 可能是一款出色的应用,可以安装用于双因素身份验证码。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/authenticator/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-app-ft.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-ui.png +[4]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-auto-lock.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-custom-provider.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/authenticator-add-new-code.png +[7]: https://flathub.org/apps/details/com.belmoussaoui.Authenticator +[8]: https://itsfoss.com/flatpak-guide/ From c04ff0f539848a430d7bfda7404aad635451deb4 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 30 Nov 2022 09:01:29 +0800 Subject: [PATCH 580/925] translating --- .../20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md index 04358b14b2..b01f41fe17 100644 --- a/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md +++ b/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" [#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 6dc8eacee4474ba223038092907731a82fba0c79 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 30 Nov 2022 09:12:53 +0800 Subject: [PATCH 581/925] translating --- ... Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md index 7dbdd6fe00..1bc7c40341 100644 --- a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md +++ b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/twitter-signal/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ada045d731ecbe5bca1005a7b37247d7cc1b9edf Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 30 Nov 2022 09:20:36 +0800 Subject: [PATCH 582/925] RP @lxbwolf https://linux.cn/article-15302-1.html --- ...netes Cluster on Debian 11 with Kubeadm.md | 127 +++++++++--------- 1 file changed, 64 insertions(+), 63 deletions(-) rename {translated/tech => published}/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md (59%) diff --git a/translated/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md b/published/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md similarity index 59% rename from translated/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md rename to published/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md index d4c0604d27..dd56f79b7c 100644 --- a/translated/tech/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md +++ b/published/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md @@ -3,19 +3,22 @@ [#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" [#]: collector: "lkxed" [#]: translator: "lxbwolf" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15302-1.html" 如何用 Kubeadm 在 Debian 11 上安装 Kubernetes 集群 ====== -你是否在寻找一份在 Debian 11 (Bullseye) 上安装 Kubernetes 集群的简易指南? -本页的分步指南将向您展示如何使用 Kubeadm 工具在 Debian 11 上安装 Kubernetes 集群。 +![][0] -Kubernetes(k8s)集群包含主节点和工作节点,用于运行容器化的应用程序。主节点作为控制平面,工作节点为实际工作负载提供环境。 +> 你是否在寻找一份在 Debian 11(Bullseye)上安装 Kubernetes 集群的简易指南? -##### 前置条件 +这份分步指南将向你展示如何使用 Kubeadm 工具在 Debian 11 上安装 Kubernetes 集群。 + +Kubernetes(k8s)集群包含主控节点和工作节点,用于运行容器化的应用程序。主控节点作为控制平面,工作节点为实际工作负载提供环境。 + +前置条件: * 已安装 Debian 11 * 2 CPU / vCPU @@ -24,27 +27,27 @@ Kubernetes(k8s)集群包含主节点和工作节点,用于运行容器化 * 有管理员权限的 sudo 用户 * 稳定的网络连接 -##### Lab 配置 +实验环境配置: 在本文中,我使用了 3 个 Debian 11 系统的节点,配置如下 -* Master Node (k8s-master) – 192.168.1.236 -* Worker Node 1 (k8s-worker1) – 192.168.1.237 -* Worker Node 2 (k8s-worker2) – 192.168.1.238 +* 主控节点(`k8s-master`) – 192.168.1.236 +* 工作节点 1(`k8s-worker1`) – 192.168.1.237 +* 工作节点 2(`k8s-worker2`) – 192.168.1.238 事不宜迟,我们直接进入安装步骤。 -### 1 ) 设置主机名和更新 /etc/hosts 文件 +### 1、设置主机名和更新 /etc/hosts 文件 -在主节点和工作节点上使用 hostnamectl 命令来设置主机名。 +在主控节点和工作节点上使用 `hostnamectl` 命令来设置主机名: ``` -$ sudo hostnamectl set-hostname "k8s-master"       // Run on master node -$ sudo hostnamectl set-hostname "k8s-worker1"      // Run on 1st worker node -$ sudo hostnamectl set-hostname "k8s-worker2"      // Run on 2nd worker node +$ sudo hostnamectl set-hostname "k8s-master"       // 在主控节点运行 +$ sudo hostnamectl set-hostname "k8s-worker1"      // 在工作节点 1 运行 +$ sudo hostnamectl set-hostname "k8s-worker2"      // 在工作节点 2 运行 ``` -在所有节点的 /etc/hosts 文件末尾添加下面几行内容, +在所有节点的 `/etc/hosts` 文件末尾添加下面几行内容: ``` 192.168.1.236       k8s-master @@ -52,20 +55,20 @@ $ sudo hostnamectl set-hostname "k8s-worker2"      // Run on 2nd worker nod 192.168.1.238       k8s-worker2 ``` -### 2) 在所有节点上关闭交换分区 +### 2、在所有节点上关闭交换分区 -我推荐关闭交换分区,以便更丝滑地使用 kubelet。在所有节点上执行以下命令来关闭交换分区。 +我推荐关闭交换分区,以便更丝滑地使用 `kubelet`。在所有节点上执行以下命令来关闭交换分区: ``` $ sudo swapoff -a $ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab ``` -### 3) 配置 Kubernetes 集群相关的防火墙规则 +### 3、配置 Kubernetes 集群相关的防火墙规则 -如果你的操作系统防火墙是打开的,请分别在主节点和工作节点允许以下的端口。 +如果你的操作系统防火墙是打开的,请分别在主控节点和工作节点允许以下的端口。 -在主节点,执行 +在主控节点,执行: ``` $ sudo ufw allow 6443/tcp @@ -78,7 +81,7 @@ $ sudo ufw allow 10255/tcp $ sudo ufw reload ``` -在工作节点,执行 +在工作节点,执行: ``` $ sudo ufw allow 10250/tcp @@ -86,13 +89,13 @@ $ sudo ufw allow 30000:32767/tcp $ sudo ufw reload ``` -注意:如果你的 Debian 11系统防火墙是关闭的,可以跳过此步骤。 +注意:如果你的 Debian 11 系统防火墙是关闭的,可以跳过此步骤。 -### 4) 在所有节点安装 Containerd 运行时 +### 4、在所有节点安装 Containerd 运行时 -Containerd 是容器运行时的行业标准,所有节点必须安装 containerd。 +Containerd 是容器运行时的行业标准,所有节点必须安装 Containerd。 -先在所有节点上配置如下的核心参数,再安装 containerd。 +先在所有节点上配置如下的核心参数,再安装 Containerd。 ``` $ cat </dev/null 2>&1 ``` -在所有节点上设置 cgroupdriver 为 systemd, - -编辑 “/etc/containerd/config.toml” 文件,找到 ‘[plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options]’ 部分,添加一行内容:SystemdCgroup = true +在所有节点上设置 `cgroupdriver` 为 `systemd`,编辑 `/etc/containerd/config.toml` 文件,找到 `[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]` 部分,添加一行内容:`SystemdCgroup = true`: ``` $ sudo vi /etc/containerd/config.toml @@ -141,16 +142,16 @@ $ sudo vi /etc/containerd/config.toml 保存并退出文件。 -在所有节点上重启并打开 containerd service。 +在所有节点上重启并启用 `containerd` 服务: ``` $ sudo systemctl restart containerd $ sudo systemctl enable containerd ``` -### 5) 添加 Kubernetes Apt 库 +### 5、添加 Kubernetes Apt 库 -执行以下命令,添加 Kubernetes Apt 库 +执行以下命令,添加 Kubernetes Apt 库: ``` $ sudo apt install gnupg gnupg2 curl software-properties-common -y @@ -158,9 +159,9 @@ $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dea $ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" ``` -### 6) 在所有节点上安装 Kubelet, Kubectl 和 Kubeadm +### 6、在所有节点上安装 kubelet、kubectl 和 kubeadm -在所有节点上执行以下 apt 命令,安装 Kubernetes 集群组件,如 kubelet,kubectl 以及 Kubeadm。 +在所有节点上执行以下 `apt` 命令,安装 Kubernetes 集群组件,如 `kubelet`、`kubectl` 以及 `kubeadm`。 ``` $ sudo apt update @@ -168,21 +169,21 @@ $ sudo apt install kubelet kubeadm kubectl -y $ sudo apt-mark hold kubelet kubeadm kubectl ``` -### 7) 使用 Kubeadm 创建 Kubernetes 集群 +### 7、使用 Kubeadm 创建 Kubernetes 集群 -现在我们可以创建 Kubernetes 集群了,在主节点上执行以下命令 +现在我们可以创建 Kubernetes 集群了,在主控节点上执行以下命令: ``` $ sudo kubeadm init --control-plane-endpoint=k8s-master ``` -命令输出 +命令输出: ![Kubernetes-Control-Plane-Initialization-Debian11][2] 出现以上内容,说明控制平面初始化成功。在输出中,有普通用户与集群交互的命令,也有把任何工作节点加入到集群的命令。 -要开始与集群进行交互,请在主节点上运行以下命令。 +要开始与集群进行交互,请在主控节点上运行以下命令: ``` $ mkdir -p $HOME/.kube @@ -190,36 +191,35 @@ $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` -执行以下 kubectl 命令来获取节点和集群的信息, +执行以下 `kubectl` 命令来获取节点和集群的信息: ``` $ kubectl get nodes $ kubectl cluster-info ``` -以上命令的输出 +以上命令的输出: ![Nodes-Cluster-Info-Kubectl][3] -通过执行 ‘Kubeadm join’ 命令来把两个工作节点加入到集群。 +通过执行 `kubeadm join` 命令来把两个工作节点加入到集群。 -注意:请从 ‘kubeadm init’ 命令的输出中复制完整的命令。在我的例子中,命令如下: +注意:请从 `kubeadm init` 命令的输出中复制完整的命令。在我的例子中,命令如下: ``` $ sudo kubeadm join k8s-master:6443 --token ta622t.enl212euq7z87mgj \ -   --discovery-token-ca-cert-hash sha256:2be58f54458d0e788c96b8841f811069019161f9a3dd8502a38c773e5c6ead17 ``` -在工作节点 1 上的输出如下 +在工作节点 1 上的输出如下: ![Worker-Node1-Join-Kunernetes-Cluster][4] -在工作节点 2 上的输出如下 +在工作节点 2 上的输出如下: ![Worker-Node2-Join-Kubernetes-Cluster][5] -在主节点上执行以下命令,检查节点的状态: +在主控节点上执行以下命令,检查节点的状态: ``` $ kubectl get nodes @@ -230,21 +230,21 @@ k8s-worker2   NotReady             2m19s   v1.25.0 $ ``` -为了使节点状态变为 ready,我们需要安装 POD 网络插件,如 Calico 或 flannel。 +为了使节点状态变为 `ready`,我们需要安装容器荚Pod网络插件,如 Calico 或 flannel。 -### 8) 安装 Calico Pod 网络插件 +### 8、安装 Calico Pod 网络插件 -在主节点上执行以下命令安装 calico: +在主控节点上执行以下命令安装 Calico: ``` $ kubectl apply -f https://projectcalico.docs.tigera.io/manifests/calico.yaml ``` -输出 +输出: ![Install-calico-pod-network-addon-debian11][6] -在所有节点上执行以下命令,配置防火墙允许 Calico 的端口, +在所有节点上执行以下命令,配置防火墙允许 Calico 的端口: ``` $ sudo ufw allow 179/tcp @@ -255,7 +255,7 @@ $ sudo ufw allow 4789/udp $ sudo ufw reload ``` -执行以下命令检查下 Calico 的状态 +执行以下命令检查下 Calico 的状态: ``` $ kubectl get pods -n kube-system @@ -263,15 +263,15 @@ $ kubectl get pods -n kube-system ![Calico-Pods-Status-Kuberenetes-Debian11][7] -完美!现在再检查下节点状态。 +完美!现在再检查下节点状态: ![Nodes-status-after-calico-Installation][8] -非常棒!上面的输出说明主节点和工作节点的状态都是 ready。现在这个集群可以正常工作了。 +非常棒!上面的输出说明主控节点和工作节点的状态都是 `ready`。现在这个集群可以正常工作了。 -### 9) 检查 Kubernetes 集群安装是否正确 +### 9、检查 Kubernetes 集群安装是否正确 -我们尝试通过 deployment 命令来部署基于 nginx 的应用程序,来验证Kubernetes 集群的安装是否正确。执行以下命令: +我们尝试通过 `deployment` 命令来部署基于 Nginx 的应用程序,来验证 Kubernetes 集群的安装是否正确。执行以下命令: ``` $ kubectl create deployment nginx-app --image=nginx --replicas 2 @@ -283,9 +283,9 @@ $ kubectl describe svc nginx-web-svc ![Nginx-Based-App-Kubernetes-Cluster-Debian11][9] -使用以下的 curl 命令通过节点端口 30036 来访问基于 nginx 的应用程序。 +使用以下的 `curl` 命令通过节点端口 30036 来访问基于 nginx 的应用程序。 -注意:在 curl 命令中,两个工作节点的主机名都可以使用 +注意:在 `curl` 命令中,可以使用两个工作节点任一的主机名。 ``` $ curl http://k8s-worker1:30036 @@ -304,7 +304,7 @@ via: https://www.linuxtechi.com/install-kubernetes-cluster-on-debian/ 作者:[Pradeep Kumar][a] 选题:[lkxed][b] 译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -320,3 +320,4 @@ via: https://www.linuxtechi.com/install-kubernetes-cluster-on-debian/ [8]: https://www.linuxtechi.com/wp-content/uploads/2022/09/Nodes-status-after-calico-Installation.png [9]: https://www.linuxtechi.com/wp-content/uploads/2022/09/Nginx-Based-App-Kubernetes-Cluster-Debian11.png [10]: https://www.linuxtechi.com/wp-content/uploads/2022/09/Access-Nginx-Based-App-via-NodePort-Kubernetes-Debian11.png +[0]: https://img.linux.net.cn/data/attachment/album/202211/30/091928zlxbvttw58x6rztw.jpg \ No newline at end of file From 76322b9184c0270070a20eab6483d003d7c6fb20 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 30 Nov 2022 11:27:03 +0800 Subject: [PATCH 583/925] RP @geekpi https://linux.cn/article-15303-1.html --- ...w to Install Cinnamon Desktop in Arch Linux.md | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) rename {translated/tech => published}/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md (80%) diff --git a/translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/published/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md similarity index 80% rename from translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md rename to published/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md index be6e7c36d3..58c85293ba 100644 --- a/translated/tech/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md +++ b/published/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md @@ -3,18 +3,21 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15303-1.html" 如何在 Arch Linux 中安装 Cinnamon 桌面 ====== -**Cinnamon 是 Linux Mint 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Cinnamon 桌面环境的步骤。** +![][0] -[Cinnamon 桌面环境][1]是 [Linux Mint][2] 的默认桌面风格。创建这个基于 GTK 的桌面环境是为了提供具有以前的 GNOME 的传统桌面风格(即 GNOME 3 之前的外观)。桌面本身很轻巧,非常人性化。因为它保留了经过时间考验的图标和菜单驱动的桌面行为,因此它被认为(与 Linux Mint 结合)是新 Linux 用户易于使用的桌面之一。 +> Cinnamon 是 Linux Mint 的默认桌面环境。本快速指南解释了在 Arch Linux 中安装 Cinnamon 桌面环境的步骤。 + +[Cinnamon 桌面环境][1] 是 [Linux Mint][2] 的默认桌面风格。创建这个基于 GTK 的桌面环境是为了提供具有以前的 GNOME 的传统桌面风格(即 GNOME 3 之前的外观)。该桌面本身很轻巧,非常人性化。因为它保留了经过时间考验的图标和菜单驱动的桌面行为,因此它被认为(与 Linux Mint 结合)是新 Linux 用户易于使用的桌面之一。 尽管 Cinnamon 及其软件包与 Linux Mint 紧密结合,但该桌面可以作为单独的桌面环境安装在 Ubuntu、Fedora 或 Arch Linux 中。 + 在 Arch Linux 中安装 Cinnamon 相当容易,就像在 Arch 中安装其他桌面(例如 Xfce 和 KDE Plasma)一样。但它需要安装一些特定的软件包才能使其看起来像一个合适的 Cinnamon 桌面。 让我们开始吧。 @@ -23,7 +26,7 @@ #### 第 1 步:安装基本系统 -本指南假设你已经安装了基本的 Arch 系统。如果你没有安装基本系统,请按照[自动化 arch 安装指南][3](推荐方法)进行安装。然后按照以下步骤操作。 +本指南假设你已经安装了基本的 Arch 系统。如果你没有安装基本系统,请按照 [自动化 Arch 安装指南][3](推荐方法)进行安装。然后按照以下步骤操作。 #### 第 2 步:更新你的系统 @@ -35,7 +38,7 @@ pacman -Syu #### 第 3 步:安装 yay AUR 助手 -配置 Cinnamon 所需的某些包在 Arch 官方仓库中不可用。它们在 Arch 用户仓库 (AUR) 中。因此,你需要安装 yay 以获得额外的软件包。按照[本指南安装 yay AUR 助手][4]。 +配置 Cinnamon 所需的某些包在 Arch 官方仓库中不可用。它们在 Arch 用户仓库(AUR)中。因此,你需要安装 yay 以获得额外的软件包。按照 [本指南安装 yay AUR 助手][4]。 #### 第 4 步:在 Arch Linux 中安装 Cinnamon 桌面 @@ -45,7 +48,7 @@ pacman -Syu sudo pacman -S cinnamon gnome-terminal ``` -安装显示服务器和显示管理器。LightDM 是轻量级的,非常适合 Cinnamon。不过,你可以使用任何其他显示管理器,例如 SDDM 或 GDM。但我建议你坚持使用 lightdm。 +安装显示服务器和显示管理器。LightDM 是轻量级的,非常适合 Cinnamon。不过,你可以使用任何其他显示管理器,例如 SDDM 或 GDM。但我建议你坚持使用 Lightdm。 ``` sudo pacman -S xorg lightdm lightdm-gtk-greeter @@ -62,7 +65,7 @@ systemctl enable NetworkManager #### 第 5 步:配置 Cinnamon 桌面 -成功重启后,你应该会看到 lightdm 登录提示。使用你在安装基本系统时可能已创建的用户名和密码登录。 +成功重启后,你应该会看到 Lightdm 登录提示。使用你在安装基本系统时可能已创建的用户名和密码登录。 当我第一次登录基本的 Cinnamon 桌面时,它看起来非常平淡。所以它需要一些定制。 @@ -80,7 +83,7 @@ sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol firefox vlc gimp xfburn th sudo pacman -S mate-icon-theme-faenza ``` -numix 主题需要安装 yay。在运行以下命令安装之前,请确保按照[该指南][4]安装 yay AUR 助手程序。 +numix 主题需要安装 yay。在运行以下命令安装之前,请确保按照 [该指南][4] 安装 yay AUR 助手程序。 ``` yay -S numix-themes @@ -96,7 +99,7 @@ yay -S numix-themes ![其他主题供你下载][8] -将默认的 GNOME 壁纸(Cinnamon 附带)更改为你喜欢的内容。本指南使用来自 [cinnamon-look.org][9] 的 Cinnamon logo 壁纸。 +将默认的 GNOME 壁纸(Cinnamon 附带)更改为你喜欢的内容。本指南使用来自 [cinnamon-look.org][9] 的 Cinnamon 徽标壁纸。 如果一切顺利,你的桌面应该如下所示。 @@ -104,7 +107,7 @@ yay -S numix-themes ![在 Arch Linux 中运行的 Cinnamon 桌面][11] -因此,在 Arch Linux 中安装和配置 Cinnamon 桌面的基本步骤到此结束。你可能想要添加其他设置,例如 desklets 等。 +因此,在 Arch Linux 中安装和配置 Cinnamon 桌面的基本步骤到此结束。你可能想要添加其他设置,例如桌面小程序等。 ### 结束语 @@ -117,7 +120,7 @@ via: https://www.debugpoint.com/cinnamon-arch-linux-install/ 作者:[Arindam][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/) 荣誉推出 @@ -134,3 +137,4 @@ via: https://www.debugpoint.com/cinnamon-arch-linux-install/ [9]: https://www.cinnamon-look.org/browse/cat/ [10]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-in-Arch-Linux-1024x535.jpg [11]: https://www.debugpoint.com/wp-content/uploads/2021/02/Cinnamon-Desktop-Running-in-Arch-Linux-1024x640.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202211/30/112417w4nrt4cii4hiidti.jpg \ No newline at end of file From e426569424e04d0eb8e9845ce4514864294d2aa8 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 30 Nov 2022 12:49:37 +0800 Subject: [PATCH 584/925] RP @wxy https://linux.cn/article-15304-1.html --- ...wn Open Source Engine for a Strong Comeback.md | 107 ++++++++++++++++++ ...wn Open Source Engine for a Strong Comeback.md | 103 ----------------- 2 files changed, 107 insertions(+), 103 deletions(-) create mode 100644 published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md delete mode 100644 sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md diff --git a/published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md b/published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md new file mode 100644 index 0000000000..2f76cd89de --- /dev/null +++ b/published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md @@ -0,0 +1,107 @@ +[#]: subject: "Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback" +[#]: via: "https://news.itsfoss.com/midori-astiango/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15304-1.html" + +Midori 浏览器将整合自己的开源搜索引擎强势归来 +====== + +> Midori 网页浏览器还是活跃的,即将到来的更新整合了一个开源搜索引擎! + +![](https://news.itsfoss.com/content/images/size/w2000/2022/11/midori-browser-astiango.jpg) + +几年前,Midori 是一个相当受欢迎的轻量级开源网页浏览器。 + +有些人认为它已经终止了,不知道它是否还在活动。 + +**好消息是:** + +作为一个 **自由开源的** 产品,**Midori 网页浏览器是活跃的(在测试阶段)**、[可用的][1] 。 + +它是一个基于 Chromium 的以 Electron 构建的浏览器,但没有谷歌的东西和隐私保护功能。 + +> 💡 2019 年,该项目被终止,并与 Astian 合并为一个移动浏览器,当时我们并没有立即得到消息该浏览器是否将卷土重来或保持开源。 + +此外,在即将到来的浏览器更新中,他们计划将自己的开源搜索引擎 **AstianGO** 与之整合。🤯 + +这与 Brave(及其搜索引擎)有些类似,但 **Brave Search 不是开源的**。 + +### AstianGO:开源搜索引擎 + +在一个 [Reddit 帖子][3] 中,来自 Astian 的某个人宣布计划在 Midori 网页浏览器中集成一个开源搜索引擎,即 [AstianGO][4],并在下次更新时加入。 + +源代码还没有发布,应该可以通过 [这个 GitLab 页面][5] 获得。 + +![Astiango][6] + +透露的细节不多,但以下是他们提到的内容: + +> 我们已经实现并开发了一个完全开源的搜索引擎,没有使用第三方的 API,它不存储用户的 IP 地址,不存储搜索历史。我们把这个搜索引擎称为 **AstianGO**,这个搜索引擎是用 PHP 开发的,它是自我托管的,尽管它还没有一个集成的更新系统,人们可以把它部署在他们的服务器上。 + +该搜索引擎使用来自谷歌、Qwant 和 Brave Search 的数据来提供结果。你可以看看它的 [FAQ][7] 来了解它的工作原理。 + +其他的浏览器,有些集成了以隐私为重点的搜索引擎,有些承诺提供隐私保护功能。 + +![][8] + +当然,这个搜索引擎看起来是一个正在进行的工作。 + +但是,一个**开源的网页浏览器,带有隐私保护的搜索引擎**(也是开源的),可能对大多数用户来说是带有太多不确定性。 + +![Midori 浏览器][9] + +Midori 的目标是通过这一补充来改变这一状况。 + +### Midori 网页浏览器的状态 + +这听起来不错,**但我认为这并没有充分的计划。** + +有一个 **AppImage** 和一个 **.deb包** 可用。它也可用于其他平台。 + +我试着从它的 [下载页面][10] 安装 Midori 浏览器(.deb 包),但我无法在 Ubuntu 22.04 LTS 上安装它 🚫 + +AppImage 文件可以使用 ✅ + +下载页面没有反映出所有的信息来告知 Linux 发行版的支持情况;它只是提到了 **Debian x64**,并没有完全翻译成英文。 + +![][11] + +所以,**我不确定我们是否可以推荐使用该浏览器**。 + +当然,考虑到它还在测试阶段,你不应该依赖它。你可以浏览它的 [GitLab 页面][12] 来了解更多。 + +### 思考? + +我认为一个新的开源搜索引擎是一件好事。我仍然不确定 Linux 的 Midori 网页浏览器是否可以推荐,我需要通过测试才能在将来推荐它。 + +_是这个开源搜索引擎更让你兴奋,还是浏览器?请在下面的评论中告诉我你的想法。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/midori-astiango/ + +作者:[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://astian.org/en/midori-browser/ +[2]: https://astian.org +[3]: https://www.reddit.com/r/opensource/comments/z44jut/midori_browser_now_with_its_own_search_engine/ +[4]: https://astiango.com +[5]: https://gitlab.com/astiango/astian-search/ +[6]: https://news.itsfoss.com/content/images/2022/11/astiango.jpg +[7]: https://astiango.com/faq.php +[8]: https://news.itsfoss.com/content/images/2022/11/astiango.png +[9]: https://news.itsfoss.com/content/images/2022/11/midori-screenshot.png +[10]: https://astian.org/download/midori-browser-for-debian-x64/ +[11]: https://news.itsfoss.com/content/images/2022/11/midori-download.png +[12]: https://gitlab.com/midori-web/midori-desktop diff --git a/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md b/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md deleted file mode 100644 index af1f94d14c..0000000000 --- a/sources/news/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md +++ /dev/null @@ -1,103 +0,0 @@ -[#]: subject: "Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback" -[#]: via: "https://news.itsfoss.com/midori-astiango/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback -====== - -Midori was a decently popular lightweight open-source web browser a few years back. - -Some of us thought it was discontinued and did not know if it was active. - -**Good news!** - -**Midori web browser is active (in beta)** and [available][1] as a **free and open-source** offering. - -It is an electron-powered browser based on Chromium without Google stuff and privacy protection features. - -> 💡 In 2019, the project got discontinued and merged with [Astian][2] as a mobile browser, where we did not get immediate clarification if the browser would be making a comeback or remain open-source. - -Additionally, with the upcoming update to the browser, they plan to integrate their own open-source search engine **AstianGO** with it. 🤯 - -This is somewhat similar to Brave (and its search engine), but **Brave Search is not open-source**. - -### AstianGO: Open-Source Search Engine - -In a [Reddit post][3], someone from Astian announced the plan to add an integrated open-source search engine, i.e., [AstianGO][4], in the Midori web browser with the next update. - -The source code is not yet available and should be available through [this GitLab page][5]. - -![astiango][6] - -The details are slim, but here's what they mention: - -> We have implemented and developed a fully open source search engine, without the use of third-party APIs, which does not store the IP address of the users, does not store the search history. We have called this search engine, ****AstianGO****, this search engine is developed in PHP, it is self-hosting, although it does not have an integrated update system yet, people can deploy it on their servers. - -The search engine uses data from Google, Qwant, and Brave Search to serve results. You can look at its [FAQ][7] to understand how it works. - -Regarding other browsers, some have a privacy-focused search engine integrated, and some promise privacy protection features. - -![][8] - -Sure, the search engine looks like a work in progress. - -But, an **open-source web browser with a privacy-friendly search engine** (also open-source) is probably unknown to most users. - -![midori browser][9] - -Midori aims to change that with this addition. - -### Midori Web Browser Status - -That sounds all good, **but I think this is not adequately planned out.** - -There is an **AppImage** and a **.deb package** available. It is also available for other platforms. - -I tried to install the Midori browser (.deb package)from its [download page][10], and I could not install it on Ubuntu 22.04 LTS 🚫 - -The AppImage file worked ✅ - -The download page does not reflect all the information to inform Linux distro support; it just mentions "**Debian x64**" and is not entirely translated into English. - -![][11] - -So, **I'm not sure we can recommend using the browser yet**. - -Of course, considering it is in beta, you should not rely on it. You can explore its [GitLab page][12] to know more. - -### Thoughts? - -I think a new open-source search engine is a good thing. I'm still not sure about Midori web browser for Linux, I need to test things through to recommend it in future. - -_Is the open-source search engine more exciting to you or the browser? Let me know your thoughts in the comments down below._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/midori-astiango/ - -作者:[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://astian.org/en/midori-browser/ -[2]: https://astian.org -[3]: https://www.reddit.com/r/opensource/comments/z44jut/midori_browser_now_with_its_own_search_engine/ -[4]: https://astiango.com -[5]: https://gitlab.com/astiango/astian-search/ -[6]: https://news.itsfoss.com/content/images/2022/11/astiango.jpg -[7]: https://astiango.com/faq.php -[8]: https://news.itsfoss.com/content/images/2022/11/astiango.png -[9]: https://news.itsfoss.com/content/images/2022/11/midori-screenshot.png -[10]: https://astian.org/download/midori-browser-for-debian-x64/ -[11]: https://news.itsfoss.com/content/images/2022/11/midori-download.png -[12]: https://gitlab.com/midori-web/midori-desktop From c5b83f54eb4c0f82f1285b61dde6b90710e0d31f Mon Sep 17 00:00:00 2001 From: chai001125 <1637519169@qq.com> Date: Wed, 30 Nov 2022 14:04:22 +0800 Subject: [PATCH 585/925] translated --- ...en-Source Signal Protocol for Encrypted DMs.md | 83 ------------------ ...en-Source Signal Protocol for Encrypted DMs.md | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 83 deletions(-) delete mode 100644 sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md create mode 100644 translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md diff --git a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md deleted file mode 100644 index 1bc7c40341..0000000000 --- a/sources/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md +++ /dev/null @@ -1,83 +0,0 @@ -[#]: subject: "Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs" -[#]: via: "https://news.itsfoss.com/twitter-signal/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs -====== - -Earlier this year, Elon Musk [tweeted][1] that Twitter DMs needed end-to-end encryption like Signal. - -Even back in 2016, **Edward Snowden**[asked][2]**Jack Dorsey**, former CEO and Co-Founder of Twitter, to add something similar to the platform. - -But, it never came to be. It was probably tested but never implemented. - -With a recent announcement (kind of), this seems to be coming to fruition😌 - -Elon shared a few slides from his company talks, which included '**Encrypted DMs**' for the platform with the Twitter 2.0 roadmap. - -### 🔒 Signal Protocol to Twitter DMs - -![twitter encrypted dms][3] - -While some tinkerers like [Jane Manchun Wong][4](security researcher) found code references to the [Signal Protocol][5] in Twitter's iOS and Android applications. - -Elon Musk confirmed the plan for it in a [tweet][6] about the improvements set to come to the platform under the '**Twitter 2.0**' roadmap. - -In other words, Elon confirmed that encrypted DMs are coming soon. - -![twitter dm signal protocol][7] - -**For those who don't know:** Signal Protocol is an open-source cryptographic protocol that allows the implementation of end-to-end encryption in a perfect forward secrecy ([PFS][8]) manner. - -The protocol uses a '_Double Ratchet algorithm_' where two parties exchange encrypted messages based on a constantly changing shared secret key. - -This ensures that no third party can access the message's contents, as the shared keys only exist on the devices of the two parties. - -The [Signal][9] app makes the best of it. However, you do have several privacy-focused alternatives if you want to explore: - -[Looking to Ditch WhatsApp? Here are 5 Better Privacy Alternatives to WhatsApp][10] - -**How can it help with Twitter DMs?** - -Well, it can make Twitter a more secure platform by preventing malicious actors and governments from snooping around the messages of Twitter users. - -The implementation of Encrypted DMs can be beneficial for whistleblowers, journalists, and activists who are constantly at risk of being censored or targeted for their work. - -Sure, encrypted DMs may not be the most extreme protection measure in terms of privacy. **But it is better than nothing.** - -### 🔏 Encrypted Messaging Should be the Standard - -In these turbulent times, we see more malicious actors trying to gain unauthorized access to sensitive information than ever before. - -Support for End-to-end encryption should be the de facto standard for all messaging platforms, and I hope that Twitter adds it soon. - -_Thoughts? Feel free to share what you think in the comments down below._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/twitter-signal/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://twitter.com/elonmusk/status/1519469891455234048 -[2]: https://twitter.com/Snowden/status/808736772830195713 -[3]: https://news.itsfoss.com/content/images/2022/11/Encrypted_DM_Twitter.jpg -[4]: https://twitter.com/wongmjane -[5]: https://github.com/signalapp/libsignal -[6]: https://twitter.com/elonmusk/status/1596718851097755648 -[7]: https://news.itsfoss.com/content/images/2022/11/Signal_Protocol_Twitter.jpg -[8]: https://en.wikipedia.org/wiki/Forward_secrecy -[9]: https://signal.org/en/ -[10]: https://itsfoss.com/private-whatsapp-alternatives/ diff --git a/translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md new file mode 100644 index 0000000000..94754d9ab7 --- /dev/null +++ b/translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md @@ -0,0 +1,85 @@ +[#]: subject: "Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs" +[#]: via: "https://news.itsfoss.com/twitter-signal/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +埃隆马斯克的推特将添加开源 Signal 协议,实现加密私信 +====== + +今年早些时候,埃隆马斯克 [在推特上表示][1]:Twitter 的 私信 Direct Messages (DM)需要像 Signal 协议这样的 端到端加密 End-to-End Encryption 。 + +早在 2016 年,**爱德华·斯诺登**就 [要求][2] Twitter 的前首席执行官兼联合创始人**杰克·多尔西**添加 Signal 协议类似的安全措施到 Twitter 平台。 + +但是,这个协议从来没有被添加到 Twitter。它可能经过测试但还未部署实施。 + +根据最近的公告,Twitter 似乎即将实现这个安全协议😌。 + +Elon 分享了他在公司演讲中的几张幻灯片,其中就包括为 Twitter 2.0 路线图规划的“**加密私信**”。 + +### 🔒 Twitter 通信的 Signal 协议 + +![twitter encrypted dms][3] + +虽然有一些安全研究员,例如 [黄文津][4],已经在 Twitter 的 iOS 和 Android 应用程序中发现了对 [Signal 协议][5] 的代码引用。 + +但是直到现在,埃隆马斯克才在 [推文][6] 中确认了该计划,该推文介绍了根据 **“Twitter 2.0”** 路线图将对 Twitter 平台进行的改进。 + +换句话说,埃隆马斯克正式确认 Twitter 即将推出**加密的私信**。 + +![twitter dm signal protocol][7] + +**对于那些不知道 Signal 协议的人**,我们简要地介绍一下 Signal 协议:Signal 协议是一种开源的加密协议,它允许以 完全前向保密 ([PFS][8]) perfect forward secrecy 方式实施端到端加密。 + +该协议使用 “_双棘轮算法_” Double Ratchet algorithm ,通信双方根据不断变化的共享密钥,来交换加密的消息。 + +这确保没有第三方可以得到通信消息的内容,因为共享密钥仅存在于通信双方的设备上。 + +[Signal][9] 应用程序充分利用了这个方法。但是,进一步来说,还有几个以隐私为中心的替代方案: + +[不想用 WhatsApp 这一通讯软件?这是 WhatsApp 的 5 种更好的隐私替代方案][10] + +(LCTT 译注:Signal 协议是一种真正的端到端加密的通讯协议,号称是世界上最安全的通讯协议。只有参与通讯的用户可以读取并解密信息,而任何第三方(包括服务器)都无法查看到通讯的内容。总的来说,它可以防止潜在的窃听者(包括:通信服务商、互联网服务提供商甚至是该通讯系统的提供者),获取能够用以解密通讯内容的密钥。目前有大量即时通讯软件也使用或借鉴参考了 Signal 协议,例如:Skype、What’sApp、Facebook Messenger) + +**Signal 协议如何帮助 Twitter DM?** + +它可以防止恶意攻击者和政府去窥探 Twitter 用户的消息,从而使 Twitter 成为一个更加安全的平台。 + +Twitter 添加加密私信会对举报人、记者和社会活动家有益,因为他们经常会因其工作而面临被审查或成为攻击目标。 + +诚然,就隐私而言,加密私信可能不是最严厉的保护措施。但**有总比没有好**。 + +### 🔏 加密消息应该成为通讯软件的标准 + +在这个动荡的信息时代,我们看到更多的恶意攻击者试图未经授权访问敏感信息。 + +端到端加密应成为所有通讯软件的必要标准,我希望 Twitter 能够尽快添加它。 + +_你有什么想法吗?请在下面的评论区中分享你的想法吧。_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/twitter-signal/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://twitter.com/elonmusk/status/1519469891455234048 +[2]: https://twitter.com/Snowden/status/808736772830195713 +[3]: https://news.itsfoss.com/content/images/2022/11/Encrypted_DM_Twitter.jpg +[4]: https://twitter.com/wongmjane +[5]: https://github.com/signalapp/libsignal +[6]: https://twitter.com/elonmusk/status/1596718851097755648 +[7]: https://news.itsfoss.com/content/images/2022/11/Signal_Protocol_Twitter.jpg +[8]: https://en.wikipedia.org/wiki/Forward_secrecy +[9]: https://signal.org/en/ +[10]: https://itsfoss.com/private-whatsapp-alternatives/ From cff9d525f88950ded80b3450a47b6d200a255b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:44:19 +0800 Subject: [PATCH 586/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221129.0=20=E2=AD=90=EF=B8=8F=20VLC=203.0.18=20Relea?= =?UTF-8?q?se=20Brings=20RISC-V=20Support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... VLC 3.0.18 Release Brings RISC-V Support.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md diff --git a/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md b/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md new file mode 100644 index 0000000000..5212d2c853 --- /dev/null +++ b/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md @@ -0,0 +1,94 @@ +[#]: subject: "VLC 3.0.18 Release Brings RISC-V Support" +[#]: via: "https://news.itsfoss.com/vlc-3-0-18-release/" +[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +VLC 3.0.18 Release Brings RISC-V Support +====== + +VLC 3.0.18 finally adds RISC-V support among other improvements. + +![VLC 3.0.18 Release Brings RISC-V Support][1] + +VLC Media Player is a popular open-source and cross-platform media player by VideoLAN that has been around for quite some time. Undoubtedly, it's also one of the best media players for Linux. + +VLC's latest maintenance update, specifically v3.0.18, includes a set of enhancements and bug fixes. + +Let's look at some of the key highlights of this release. + +### VLC 3.0.18: What's New? + +![][2] + +- **Support for RISC-V architecture** +- **Significant updates to adaptive streaming, including multiple timelines and WebVTT (Web Video Text Tracks Format)** +- **Y16 chroma support** +- **DVBSub support inside MKV files** + +#### RISC-V Support + +Users with devices based on the RISC-V hardware can now enjoy using VLC. + +If you're not aware, RISC-V is a popular open-source hardware architecture. And you can expect more hardware to feature RISC-V in the near future. + +#### Other Changes + +As briefed above, there are several other enhancements as well, these include: + +- Improved FTP compatibility +- Better playback of FLAC files +- Improved seeking in OGG and fragmented MP4 files + +Tons of bugs were fixed as well. Here are some of the most notable ones that were addressed. + +- Video-related issues and crashes related to OpenGL, DirectX and VAAPI +- Performance and rendering issues with older graphics cards +- Password search in the KWallet module +- Throttled YouTube video playback using a Lua script + +Some native bugs related to the macOS have also been addressed. + +- 10-bit accelerated video filters +- Inaccurate translations +- Decoding errors on HEVC files + +On the other hand, Windows users should see fixes for UPnP and Windows Media Player compatibility. + +Check out the [official changelog][3] for detailed information. + +### Download VLC 3.0.18 + +For now, the latest version is only available through [Flathub][4]. You cannot find the latest packages for Windows/macOS on the website yet. + +However, you can get the source tarball through the [official website][5] (thanks to [9to5Linux][6] for spotting this) + +Hopefully, VLC's official site gets updated soon to reflect the latest maintenance release. + +Ubuntu users can check out our step-by-step guide too if you need help: + +[How to Install VLC in Ubuntu Linux [Latest Release]][7] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vlc-3-0-18-release/ + +作者:[Rishabh Moharir][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/rishabh/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/vlc-3-0-18-release.png +[2]: https://news.itsfoss.com/content/images/2022/11/VLC-v3-0-18.png +[3]: https://code.videolan.org/videolan/vlc/-/raw/3.0.x/NEWS +[4]: https://flathub.org/apps/details/org.videolan.VLC +[5]: https://download.videolan.org/pub/videolan/vlc/3.0.18/ +[6]: https://9to5linux.com/vlc-3-0-18-is-out-with-risc-v-support-dvbsub-support-inside-mkv-smbv2-improvements +[7]: https://itsfoss.com/install-latest-vlc/ From 3b20a6c01857eefd28f64fc91c846a4effb93ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:45:46 +0800 Subject: [PATCH 587/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221129.1=20=E2=AD=90=EF=B8=8F=20Bodhi=20Linux=207.0.?= =?UTF-8?q?0=20Testing=20Begins=20with=20New=20Features,=20Packages.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Testing Begins with New Features, Packages.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md diff --git a/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md b/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md new file mode 100644 index 0000000000..d14062bf06 --- /dev/null +++ b/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md @@ -0,0 +1,58 @@ +[#]: subject: "Bodhi Linux 7.0.0 Testing Begins with New Features, Packages" +[#]: via: "https://debugpointnews.com/bodhi-linux-7-0-0-testing/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Bodhi Linux 7.0.0 Testing Begins with New Features, Packages +====== + +**Bodhi Linux team started the testing phase with its recent Alpha packages for the upcoming Bodhi Linux 7.0.0 release.** + +![Bodhi Linux 7.0.0 Desktop][1] + +Bodhi Linux is based on Ubuntu LTS and features the Enlightenment-based Moksha desktop environment. Moksha desktop is lightweight while being an eye-candy desktop. In addition, it only includes base applications to get you started. + +The current Bodi Linux 6 series is based on Ubuntu 20.04 LTS and was released in 2021, just following the release of Ubuntu 20.04 LTS. The upcoming Bodhi Linux 7.0.0 will be based on Ubuntu 22.04 LTS, which was released in April this year, bringing all the stable and refreshed packages from the Ubuntu base. + +At its core, it is based on Linux Kernel 5.15 LTS aligned with Ubuntu 22.04. With that, you get the improved Mokhsna desktop environment based on the latest Enlightenment desktop/Enlightenment foundation library (efl). + +Since the official change log is not yet available, here’s a quick summary of the versions you get in this release. + +### Summary of Bodhi Linux 7.0.0 (tentative) + +- Based on Ubuntu 22.04 LTS, Jammy Jellyfish +- Linux Kernel 5.15 LTS +- Enlightenment Foundation Library (efl) 1.26.99 +- Moksha Desktop 0.4.0 +- Python 3.10 +- Systemd 249.11 + +### Download + +The team suggested that this pre-release version is unstable and should not be used for your daily work. However, if you want to give it a spin, you can download it from the below link. + +[Download][2] + +### Timelines + +The Alpha testing phase should go on for about two months, and then a release candidate version. And the final release after that. Timeline-wise, as per the historical records – alpha testing goes on for about two months and a month of RC testing. So, that gives a tentative final release date of February 2023-end or beginning of March 2023. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/bodhi-linux-7-0-0-testing/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/11/Bodhi-Linux-7.0.0-Desktop.jpg +[2]: https://sourceforge.net/projects/bodhidev/files/7.0.0-alpha/ From ca24ae2a4ed9e8864eff20b7971e82cc4588b96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:51:26 +0800 Subject: [PATCH 588/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221129.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Pa?= =?UTF-8?q?rse=20arguments=20with=20Lua.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0221129.3 ⭐️⭐️ Parse arguments with Lua.md | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md diff --git a/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md new file mode 100644 index 0000000000..b44bf66c2d --- /dev/null +++ b/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md @@ -0,0 +1,122 @@ +[#]: subject: "Parse arguments with Lua" +[#]: via: "https://opensource.com/article/22/11/lua-command-arguments" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Parse arguments with Lua +====== + +Most computer commands consist of two parts: The command and arguments. The command is the program meant to be executed, while the arguments might be command options or user input. Without this structure, a user would have to edit the command's code just to change the data that the command processes. Imagine rewriting the [printf][1] command just to get your computer to greet you with a "hello world" message. Arguments are vital to interactive computing, and the [Lua programming language][2] provides the `{…​}` expression to encapsulate varargs given at the time of launching a Lua script. + +### Use arguments in Lua + +Almost every command given to a computer assumes an argument, even if it expects the argument to be an empty list. Lua records what's written after it launches, even though you may do nothing with those arguments. To use arguments provided by the user when Lua starts, iterate over the `{…​}` table: + +``` +local args = {...} + +for i,v in ipairs(args) do +    print(v) +end +``` + +Run the code: + +``` +$ lua ./myargs.lua +$ lua ./myargs.lua foo --bar baz +foo +--bar +baz +---- +``` + +Having no arguments is safe, and Lua prints all arguments exactly as entered. + +### Parse arguments + +For simple commands, the basic Lua faculties are sufficient to parse and process arguments. Here's a simple example: + +``` +-- setup + +local args = {...} + +-- engine + +function echo(p) + print(p) +end + +-- go + +for i,v in ipairs(args) do + print(i .. ": " .. v) +end + +for i,v in ipairs(args) do + if args[i] == "--say" then + echo("echo: " .. args[i+1]) + end +end +``` + +In the `setup` section, dump all command arguments into a variable called `args`. + +In the `engine` section, create a function called `echo` that prints whatever you "feed" into it. + +Finally, in the `go` section, parse the index and values in the `args` variable (the arguments provided by the user at launch). In this sample code, the first `for` loop just prints each index and value for clarity. + +The second `for` loop uses the index to examine the first argument, which is assumed to be an option. The only valid option in this sample code is `--say`. If the loop finds the string `--say`, it calls the `echo` function, and the index of the current argument _plus 1_ (the _next_ argument) is provided as the function parameter. + +The delimiter for command arguments is one or more empty spaces. Run the code to see the result: + +``` +$ lua ./echo.lua --say zombie apocalypse +1: --say +2: zombie +3: apocalypse +echo: zombie +``` + +Most users learn that spaces are significant when giving commands to a computer, so dropping the third argument, in this case, is expected behavior. Here's a variation to demonstrate two valid "escape" methods: + +``` +$ lua ./echo.lua --say "zombie apocalypse" +1: --say +2: zombie apocalypse +echo: zombie apocalypse + +$ lua ./echo.lua --say zombie\ apocalypse +1: --say +2: zombie apocalypse +echo: zombie apocalypse +``` + +### Parse arguments + +Parsing arguments manually is simple and dependency-free. However, there are details you must consider. Most modern commands allow for short options (for instance, `-f`) and long options (`--foo`), and most offer a help menu with `-h` or `--help` or when a required argument isn't supplied. + +Using [LuaRocks][3] makes it easy to install additional libraries. There are some very good ones, such as [alt-getopt][4], that provide additional infrastructure for parsing arguments. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/lua-command-arguments + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/8/printf +[2]: https://opensource.com/article/22/11/lua-worth-learning +[3]: https://opensource.com/article/19/11/getting-started-luarocks +[4]: https://opensource.com/article/21/8/parsing-commands-lua From 93da6e0ea6172c254d0e9e252d4d5dffa9a069c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:53:15 +0800 Subject: [PATCH 589/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221129.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Set=20Up=20Pi-hole=20to=20Get=20an=20Ad-free=20Life.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Set Up Pi-hole to Get an Ad-free Life.md | 262 ++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 sources/tech/20221129.5 ⭐️⭐️ How to Set Up Pi-hole to Get an Ad-free Life.md diff --git a/sources/tech/20221129.5 ⭐️⭐️ How to Set Up Pi-hole to Get an Ad-free Life.md b/sources/tech/20221129.5 ⭐️⭐️ How to Set Up Pi-hole to Get an Ad-free Life.md new file mode 100644 index 0000000000..0c8732bca5 --- /dev/null +++ b/sources/tech/20221129.5 ⭐️⭐️ How to Set Up Pi-hole to Get an Ad-free Life.md @@ -0,0 +1,262 @@ +[#]: subject: "How to Set Up Pi-hole to Get an Ad-free Life" +[#]: via: "https://itsfoss.com/setup-pi-hole/" +[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Set Up Pi-hole to Get an Ad-free Life +====== + +Pi-hole is a DNS-based advertisement blocker. Unlike a Chrome or Firefox extension, a Pi-hole can block ads even on your TV! So let’s see how to install and take advantage of this amazing tool! + +### What is Pi-hole? + +Pi-hole is a DNS Server. It blocks advertisement serving domains. Set it up on a dedicated Raspberry Pi or some other computer and then use its IP address as the DNS of your device. If you use it as DNS of your router, you’ll get an ad-free experience on all connected devices, even your smart TVs and smartphones. + +Want more details? Let me explain. + +A DNS Server tells your computer what the IP address for `google.com` is. Without a _valid_ IP address, your computer can not communicate over the Internet to another computer. + +Pi-hole has a list of domains that must be blocked. Once a computer queries Pi-hole’s DNS Server for the IP address for a website like `adservice.google.com`, if it is a domain that must be blocked, then, Pi-hole will respond back with an invalid IP address (which is usually `0.0.0.0`). + +Since “0.0.0.0” is not a valid IP address, your computer can never talk to the `adservice.google.com` website. This results in the blocking of advertisements. + +Set it at the router level and you go ad-free for your entire home network–yes, even for your “smart” devices like TV, toaster and washing machine–instead of being limited to your browser. + +### Setting up Pi-hole + +Using something like this requires some level of experience with the Linux command line, time and patience. It’s more of a [DIY Raspberry Pi project][1] but you can also use it with a normal computer running [Pi-hole][2] in a container. + +So, I’ll be discussing two methods of installing Pi-hole: + +- Automated install on a Raspberry Pi device +- Using Docker or Podman to run Pi-hole in a container + +Let us cover the easier method first method. + +#### Method 1: Automated installation of Pi-hole (requires Raspberry Pi) + +The automated installation is the simplest installation method for installing Pi-hole. It has a few requirements. The picture below mentions OS and hardware support. + +![Pi-hole support for hardware and Operating System][3] + +As you can see above, Pi-hole supports most of the popular Linux distributions. From my personal experience, Pi-hole does not consume more than ~100 MB of RAM and only uses less than 1% of CPU. Meaning it can even run on a [Raspberry Pi Zero W][4]! + +Now that you know which hardware is supported, let us start with the installation steps! + +To install Pi-hole using the automated installation method, all you need to do is run the following command. I understand that running a bash script downloaded from the internet is not usual but this is the official installation method. + +``` +curl -sSL https://install.pi-hole.net | bash +``` + +Once you run the above command, the Pi-hole installer will start and begin to install necessary dependencies and then prompt you with the following screen, indicating that the installer has begun. + +![Pi-hole installer's initial screen][5] + +PS: You can use your mouse to interact with this command line installer ;) + +As depicted from the message shown below, Pi-hole is a free and open source software that mainly relies on donations made by normal folks like you and me. If you find Pi-hole to be useful, please consider donating. [Here is the hyperlink to Pi-hole’s donations so you don’t have to type the URL yourself][6] ;) + +![Pi-hole is a FOSS project. Please donate if it helped you.][7] + +Next up, you will be asked if the computer on which Pi-hole is being installed has a static IP address for your Local Area Network or not. Since your computers need to know about Pi-hole’s IP address beforehand, it is best that the assigned IP address does not change. For more information on how to achieve this, please consult your router’s manual; look for the part with “static/reserved IP address”. + +![The Pi-hole installer recommends that the IP address of your computer is a static IP address.][8] + +Once you have a static IP assigned to the computer running the Pi-hole, press continue. In the next step you will be asked to choose a DNS provider. This is the server that is asked for [DNS Resolution][9]. Some of the most popular DNS providers are listed for you to choose from. + +Generally, I would recommend that you use either the “Quad9 (filtered, ECS, DNSSEC)” option or the “OpenDNS (ECS, DNSSEC)” option or “Cloudflare (DNSSEC)” option. They are quite trusted and have good privacy policy (as opposed to Google’s DNS service). + +![Choosing an upstream DNS provider for the Pi-hole][10] + +Once you have selected a DNS provider, you will be asked for another choice. Here, you are asked to choose a “blocklist” that contains a list of websites to block. Pi-hole has a recommended blocklist and is asking if you want to use said blocklist. + +I have used this blocklist and it does a good job of blocking a _majority_ of advertisements so I highly recommend you say “Yes” to this prompt. + +![Choosing between using the default blocklist or no blocklist][11] + +If you want to monitor items like “Number of total DNS queries”, “Number of DNS queries blocked/passed”, etc, you can enable the Web UI to view this data. [This is what the Pi-hole Web UI looks like][12] (this is an older announcement and the Web UI may have changed by the time you read this article). + +Disabling or enabling the Pi-hole Web UI will not affect the functionality of Pi-hole itself. It is just another way to manage Pi-hole. + +![The Pi-hole installer needs user input regarding the availibility of a Web UI.][13] + +If you chose to install the Pi-hole Web UI, the installer will ask you to if you want to install the “lighttpd” web server. This is unnecessary if you already have a web server like Apache. But if you do not already have a web server installed already, I recommend you let the Pi-hole installer handle the installation and setup of the lighttpd web server. + +![Should the Pi-hole installer install 'lighttpd' web server or does the user already have a web server?][14] + +For the Pi-hole Web UI to show accurate statistics, the data needs to be logged. The next step is asking if you want to enable logging of queries. It logs items like which computer made a query for which domain name and if it was blocked or allowed, etc. + +If you have enabled the Pi-hole Web UI, I recommend that you enable this. + +![THe Pi-hole installer is asking if the user needs queries logged.][15] + +If you enabled query logging in the previous step, you will now be asked for the verbosity of logging. Choose the logging level that you are most comfortable with and proceed with the next step. + +![The Pi-hole installer is asking for verbosity of logs.][16] + +The installation is now complete! Pi-hole is up and running now. + +**But don’t close this window just yet!** If you have enabled the Pi-hole Web UI, you will be given a password that will be used to log in the Pi-hole Web UI. Please note this down. + +![The final screen of Pi-hole automated installation that shows you methods of accessing the Pi-hole Web UI and the randomly generated password][17] + +Once the installation finishes, you will be shown the methods for accessing Pi-hole. + +In my case, since the computer’s IP address is “192.168.122.191”, I will type the address `http://192.168.122.191/admin` in my web browser to access Pi-hole Web UI. + +Or, if I am already using “192.168.122.191” as my DNS server, I can simply type in `http://pi.hole/admin` to view it. + +#### Method 2: Install Pi-hole using Podman/Docker + +This is the recommended method: + +- If you want to deploy Pi-hole without much hassle and/or do not wish to interact with any installer prompts (it is only a 3-step process!) +- If you want to test Pi-hole without actually having to install it and without having your config files modified +- If you want a “reproducible” setup without having to configure everything exactly like before + +For this method, you must have either Podman or Docker installed. For this tutorial, I will be using Docker on Ubuntu 22.04 LTS. However, you can follow the steps on any Linux distribution. + +##### Step 1: Install Docker + +As discussed above, you must have Docker installed. If you don’t have it installed, we have covered the procedure about [installing Docker on Ubuntu][18]. + +##### Step 2: Create a docker-compose file + +The easiest way to get a container like Pi-hole up and running via Docker is by using the docker-compose file. + +You can create the docker-compose file anywhere you wish; its location does not matter. Below are the contents of the `docker-compose.yml` file: + +``` +version: '3' + +services: + pihole: + image: docker.io/pihole/pihole:latest + container_name: pihole-aditi + restart: unless-stopped + ports: + - '53:53/tcp' + volumes: + - './pi-hole/etc-pihole:/etc/pihole' + - './pi-hole/etc-dnsmasq.d:/etc/dnsmasq.d' + environment: + TZ: 'Asia/Kolkata' + WEBPASSWORD: 'your-password-here' +``` + +**Please replace the string `your-password-here` with a safe and strong password**. This is the password for the Pi-hole Web UI. + +##### Step 3: Starting the Pi-hole container + +We have a few prerequisites to satisfy before starting the Pi-hole container. + +The first pre-requisite is to create a few directories. Do so by running the following command in your terminal: + +``` +mkdir -vp pi-hole/etc-{pihole,dnsmasq.d} +``` + +These directories will store only the configuration files, so their size will not be greater than a few hundred MBs. These directories should be created in the same location as the `docker-compose.yml` file. + +**This next step is optional but if you are following this guide on Fedora or a RHEL-based distribution**, you need to open port 53 in your firewall. + +``` +sudo firewall-cmd --add-service=dns --permanent +sudo firewall-cmd --reload +``` + +Once this is done, we can start out Pi-hole container! Do so by running the following command: + +``` +docker-compose up -d +``` + +Executing the above command will automatically fetch the latest Pi-hole image and start a container for you. Logging into the Pi-hole Web UI is the same as the previous method. Either type in the IP address of your computer or the `pi.hole` address in your web browser followed by the `/admin` string. + +Both of the following methods are valid for accessing the Pi-hole Web UI: + +- `http:///admin` +- `http://pi.hole/admin` + +You now have Pi-hole installed on your comptuer using Docker! How cool is that?! + +### Setting up Pi-hole + +To start using Pi-hole, you must follow either of the following methods: + +- Add the computer’s IP address with Pi-hole installed as the DNS server for your router. This is the most recommended method since it enables blocking ads on tricky devices to configure. Please refer to your router’s manual on how this can be achieved. +- You can add the IP address of the computer hosting Pi-hole as the DNS server for every computer, phone or tablet on your network. This can be tedious but useful in cases where you wish to allow ads on particular devices. I do not recommend this unless you know what you are doing. + +Once you have followed either method 1 or method 2, you can check whether Pi-hole is working. + +``` +dig +short @ ads.google.com +``` + + The `dig` utility is helpful for looking up corresponding IP address for each domain name. In this command, you are querying our Pi-hole server to get the IP address of “ads.google.com” is. The website “ads.google.com” is used to serve ads. So, if you get back `0.0.0.0`, your Pi-hole is working! + +Below is the output from my computer: + +``` +$ dig +short @192.168.122.191 ads.google.com +0.0.0.0 +``` + +As you can see, the IP address I got back from Pi-hole is infact an invalid IP address. Meaning any communication to Google’s Ad servers is blocked. Yay! + +But let us also see if “google.com” is working. Where will we go to solve our future problems if it doesn’t work? So let’s see that too! + +You can run the same command as above but with “google.com” instead of “ads.google.com”. If the Pi-hole is working correctly, **we should get a** _**valid**_ **IP address in return**. Let’s see what happens on my computer. + +``` +$ dig +short @10.0.0.14 google.com +216.58.203.46 +``` + +As expected, “google.com” works but “ads.google.com” is blocked. Our Pi-hole server is working as intended. Perfect! + +### Conclusion + +It requires some effort and expertise to set up Pi-hole to get an ad-free internet experience. As you can see, it’s not entirely complicated. You need to be patience with such DIY projects. + +For a Raspberry Pi lover like me, using Pi-hole gives good practice for building projects with [amazing single-board computers][19]. + +I have tried giving all the proper steps but I understand if it doesn’t work for you. If you face any issues, please let me know in the comments and I’ll try to help you out. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/setup-pi-hole/ + +作者:[Pratham Patel][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/pratham/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/raspberry-pi-projects/ +[2]: https://pi-hole.net/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/image.png +[4]: https://itsfoss.com/raspberry-pi-zero-w/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-01.png +[6]: https://pi-hole.net/donate/ +[7]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-02.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-03.png +[9]: https://www.datadoghq.com/knowledge-center/dns-resolution/#how-does-dns-resolution-work +[10]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-04.png +[11]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-05.png +[12]: https://pi-hole.net/blog/2018/01/13/pi-hole-web-interface-the-next-generation/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-06.png +[14]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-07.png +[15]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-08.png +[16]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-09.png +[17]: https://itsfoss.com/wp-content/uploads/2022/11/pihole-automated-install-10.png +[18]: https://linuxhandbook.com/install-docker-ubuntu/ +[19]: https://itsfoss.com/raspberry-pi-alternatives/ From d54e05fb07f82920e10ce946d27f12dcdea70df1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:53:51 +0800 Subject: [PATCH 590/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221129.6=20=E2=AD=90=EF=B8=8F=20Heroic=20Games=20Lau?= =?UTF-8?q?ncher=202.5.0=20Released=20as=20its=20Biggest=20Feature=20Updat?= =?UTF-8?q?e.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....5.0 Released as its Biggest Feature Update.md | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md diff --git a/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md b/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md new file mode 100644 index 0000000000..2d4c56b8cf --- /dev/null +++ b/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md @@ -0,0 +1,136 @@ +[#]: subject: "Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update" +[#]: via: "https://news.itsfoss.com/heroic-games-launcher-2-5-0/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update +====== + +Heroic Games Launcher is making good progress with its feature set upgrades. What do you think about this one? + +![Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update][1] + +Heroic Game Launcher is a helpful tool that lets you access gaming services such as Epic Games and GOG via a single app on platforms like Linux, Windows, and macOS. + +It comes in handy to organize your game library and lets you install games that are not natively available for a platform. + +Now, they have pushed a new version update **v2.5.0**, which they claim to be **their****biggest release in a long time**. + +Let me highlight the good stuff here. + +### 🆕 Heroic Game Launcher 2.5.0: What's New? + +![heroic 2.5.0][2] + +Heroic is receiving a bunch of improvements and features; some of the highlights include: + +- **Download Manager** +- **New Themes** +- **Custom User Theme Support** +- **HowLongToBeat data** +- **Support For Other App Launchers and Games** + +#### Download Manager + +![heroic 2.5.0 download manager][3] + +Heroic now allows you to queue multiple games to download from the various gaming services. + +The download manager also shows essential details such as the download speed, the ETA, buttons to start or stop the download, and the download queue. + +They also plan to add the ability to change the queue order and check the remaining disk space before adding items to the queue soon. + +#### New Themes + +![heroic 2.5.0 nord dark theme][4] + +Heroic 2.5.0 features two new built-in themes Nord Light and Nord Dark. + +The themes have been designed by [redromnon][5] aka **Rishabh Moharir**, one of our contributors, who you might have noticed covering a couple of news here. + +![heroic 2.5.0 nord light theme][6] + +#### Custom User Theme Support + +![heroic 2.5.0 custom theme support][7] + +In case you want to create a new theme, you can do that and share it with others on their [theme repo][8]. Note that you need to know CSS to be able to do it. + +If you are interested, you can follow the instructions to learn how it's done. + +#### HowLongToBeat data on the Game Page + +![heroic games launcher][9] + +When you read the game information, you also get an estimate of the time you need to spend to complete the campaign, DLCs, and everything else. + +It may not be a big deal for you, but if someone is picky with the time they want to spend on game, this information can help them prioritize if they want to play it. + +#### Support For Other App Launchers + +![heroic 2.5.0 other app launcher][10] + +Many of us were looking forward to this feature, and now it's here. + +Heroic now lets you add apps outside of Epic and GOG. In other words, you can sideload any app or game. + +You can now add other games, software, or even app launchers to launch from within Heroic. That's what I call an added convenience!😌 + +#### 🛠️ Other Important Changes + +![heroic games launcher][11] + +Here are some refinements that are worth mentioning: + +- **Detect if a game is available or not (and mention if it is a supported game).** +- **Legendary v0.20.30.** +- **Settings re-organized.** +- **Redesigned login screen.** +- **Improvements to Cloud Saves.** +- **Various bug fixes.** + +> 💡 You can go through the [full release notes][12] to learn more about the subtle changes and technical improvements. + +### 📥 Download Heroic Game Launcher 2.5.0 + +You can download the latest Heroic Games Launcher from the official [downloads page][13]. + +It is also available on [Flathub][14] if you do not prefer AppImage and other packages. + +You can also find the packages in its [GitHub releases][12] section. + +[Download Heroic Game Launcher 2.5.0][13] + +_💬 What do you think of this release of Heroic Games Launcher? Share your thoughts in the comments below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/heroic-games-launcher-2-5-0/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/heroic-games-launcher-2-5-0-release.png +[2]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0.png +[3]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Download_Manager.png +[4]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Nord_Dark.png +[5]: https://github.com/redromnon +[6]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Nord_Light.png +[7]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Custom_Theme-1.png +[8]: https://github.com/Heroic-Games-Launcher/heroic-themes +[9]: https://news.itsfoss.com/content/images/2022/11/howlongtobeat.jpg +[10]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Other_Apps.png +[11]: https://news.itsfoss.com/content/images/2022/11/settings-heroic-games.jpg +[12]: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v2.5.0 +[13]: https://heroicgameslauncher.com/downloads +[14]: https://flathub.org/apps/details/com.heroicgameslauncher.hgl From 01949e2011b9f7ec8e24bcce28c65712ef39cc2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:54:36 +0800 Subject: [PATCH 591/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221130.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Te?= =?UTF-8?q?rminator=20The=20Tiling=20Terminal=20Emulator=20for=20Linux=20P?= =?UTF-8?q?ros.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tor The Tiling Terminal Emulator for Linux Pros.md | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sources/tech/20221130.0 ⭐️⭐️ Terminator The Tiling Terminal Emulator for Linux Pros.md diff --git a/sources/tech/20221130.0 ⭐️⭐️ Terminator The Tiling Terminal Emulator for Linux Pros.md b/sources/tech/20221130.0 ⭐️⭐️ Terminator The Tiling Terminal Emulator for Linux Pros.md new file mode 100644 index 0000000000..421d0a199f --- /dev/null +++ b/sources/tech/20221130.0 ⭐️⭐️ Terminator The Tiling Terminal Emulator for Linux Pros.md @@ -0,0 +1,152 @@ +[#]: subject: "Terminator: The Tiling Terminal Emulator for Linux Pros" +[#]: via: "https://itsfoss.com/terminator/" +[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Terminator: The Tiling Terminal Emulator for Linux Pros +====== + +You might have seen some colleagues or YouTubers using a terminal window with multiple terminal sessions running in it. + +![gnu screen][1] + +Some pro Linux users do the multiple split pane with screen or [tmux commands][2]. These commands work in any terminal application but involve a steep learning curve. + +If you want multiple terminal sessions in the same application window without the complexity of the tmux or [screen commands][3], Terminator is your friend. + + No, not that terminator. This terminator 👇 + +![terminator htop neofetch cmatrix][4] + +The [terminal emulators][5] installed on your system may have multiple-tab support. On the other hand, Terminator supports multiple resizable terminal panels. + +It emulates something like a tiling window manager and tiles the terminal panel in a single window. + +In this article, I’ll show you how to install and use Terminator in Ubuntu and other Linux distributions. + +But before that, let’s have a quick look at the features Terminator offers. + +### Terminator gives you multiple terminal sessions in the same window + +[Terminator][6] is a GTK application based on GNOME Terminal that uses VTE3 (Virtual Terminal Emulator widget GTK3). + +Being an application based on GNOME Terminal it has some dependencies linked with the GNOME Desktop Environment. + +However, I found the application relatively lightweight, even with the GNOME dependencies. Perhaps it should not be a problem to use it on other desktop environments. + +From the outside, Terminator might look like any other terminal emulator. But the possibilities are endless with Terminator and I will show them to you in later sections. + +![terminator htop multiple][7] + +#### Features + +Let me summarize some of the main features of Terminator: + +- Terminals in tiling layout +- Supports multiple tabs +- Drag and drop terminal panel (great mouse support) +- Keyboard shortcuts akin to tiling window managers +- Saving layouts and profiles so one can get a quick head start +- Extensible through plugins + +### Installing Terminator + +Installing Terminator is as simple as installing any other package because it is available in the official repositories of all mainstream distributions you can name. + +For your convenience, I have listed the commands for some major distributions below. + +For Ubuntu and Debian based distributions, enter the below command to install Terminator: + +``` +sudo apt install terminator +``` + +For Fedora and Red Hat based distributions, use: + +``` +sudo dnf install terminator +``` + +For Arch and Manjaro based distributions, enter the below command to update and install Terminator: + +``` +sudo pacman -Syu terminator +``` + +Note: You might not get the latest version of Terminator in some of the Long term release distributions’ repos. + +One can also install Terminator using the Graphical Package Manager provided by your distribution. But, there is no fun in installing a Terminal Emulator from the GUI. + +### Using Terminator + +When you launch Terminator default window will look like a simple Terminal window. But, with some patience, it can work like a tiling window manager inside a single window. + +![terminator default window][8] + +Terminator allows you to use the mouse for creating new panes by splitting the present one horizontally and vertically. + +![terminator right click option][9] + +However, you’ll be a lot faster with keyboard shortcuts. It takes some time to get used to the keys but you’ll get there eventually. + +Here, I opened [htop][10] in the first panel as shown below. + +![terminator htop][11] + +To create a new terminal panel to the right, just enter `Ctrl + Shift + e` shortcut keys. Secondly, I have used [neofetch][12] in the right panel, as shown below. + +![terminator htop neofetch][13] + +Lastly, I created another panel below the one with neofetch using `Ctrl + Shift + o` shortcut keys and launched `cmatrix` here. It’s one of those useless but [amusing Linux commands][14]. + +![terminator htop neofetch cmatrix][15] + +Above is the final screenshot of what I did in this walkthrough. Now you understand why I said that Terminator creates a tiling window manager like environment in a single window. + +This tiling feature will come in handy if you need to open many terminals without installing a Tiling Window Manager. Terminator also supports tabs but the tiling feature is the USP of this application, in my opinion. + +Terminator is one of the few applications that come with great documentation. If you need more information, please take a look at its [documentation][16]. + +### Conclusion + +I believe all terminal emulators support tabbed interface. But you’ll have to switch between the tabs and it’s not convenient when you have to keep an eye on multiple sessions simultaneously. + +Terminator may not look as good as [Blackbox][17] or [GNOME Console][18]. But it has features that seasoned Linux users love. + +It serves a purpose that may not what every Linux user needs or wants. I leave it up to you to decide if it is worth your time. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/terminator/ + +作者:[Anuj 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/anuj/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/gnu-screen.webp +[2]: https://linuxhandbook.com/tmux/ +[3]: https://linuxhandbook.com/screen-command/ +[4]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-htop-neofetch-cmatrix.png +[5]: https://itsfoss.com/linux-terminal-emulators/ +[6]: https://github.com/gnome-terminator/terminator +[7]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-htop-multiple.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-default-window.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-right-click-option.png +[10]: https://itsfoss.com/use-htop/ +[11]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-htop.png +[12]: https://itsfoss.com/using-neofetch/ +[13]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-htop-neofetch.png +[14]: https://itsfoss.com/funny-linux-commands/ +[15]: https://itsfoss.com/wp-content/uploads/2022/11/terminator-htop-neofetch-cmatrix.png +[16]: https://gnome-terminator.readthedocs.io/en/latest/ +[17]: https://itsfoss.com/blackbox-terminal/ +[18]: https://itsfoss.com/gnome-console/ From d830d6f7a91a3c66931cba50e0f41b44d630ba28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:55:42 +0800 Subject: [PATCH 592/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221130.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ge?= =?UTF-8?q?t=20to=20know=20Lua=20for=20loops=20in=204=20minutes.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Get to know Lua for loops in 4 minutes.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md diff --git a/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md new file mode 100644 index 0000000000..4098162525 --- /dev/null +++ b/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md @@ -0,0 +1,140 @@ +[#]: subject: "Get to know Lua for loops in 4 minutes" +[#]: via: "https://opensource.com/article/22/11/lua-for-loops" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Get to know Lua for loops in 4 minutes +====== + +In programming, iteration is an important concept because code often must scan over a set of data several times so that it can process each item individually. Control structures enable you to direct the flow of the program based on conditions that are often established dynamically as the program is running. Different languages provide different controls, and in [Lua][1], there's the while loop, for loop, and repeatuntil loop. This article covers for loops. I will cover while and repeat until loops in a separate article. + +### For loop + +A for loop takes a known quantity of items and ensures that each item is processed. An "item" can be a number. It can also be a table containing several entries or any Lua data type. The syntax and logic are a little flexible, but the syntax allows for these parameters, each of which essentially describes a counter: + +- Starting value of the counter +- Stop value +- The increment you want the counter to advance + +For instance, suppose you have three items and want Lua to process each. Your counter could start at 3 and last until 1, at an increment of -1. That renders the count of 3, 2, 1. + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for count = 3, 1, -1 do +  print(count .. ": " .. mytable[count]) +end +``` + +Run the code to ensure all three items are getting processed: + +``` +$ lua ./for.lua3: apocalypse2: Halloween1: zombie +``` + +This code effectively processed the table in "reverse" because it was a countdown. You can count up, instead: + +``` +for count = 1, 3, 1 do +  print(mytable[count]) +end +``` + +This example processes the table from lowest index to highest: + +``` +$ lua ./for.lua1: zombie2: Halloween3: apocalypse +``` + +### Increments + +You can change the increment, too. For instance, maybe you want a zombie apocalypse without all the pomp and circumstance of Halloween: + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for count = 1, 3, 2 do +  print(mytable[count]) +end +``` + +Run the code: + +``` +$ lua ./for.lua +zombie +apocalypse +``` + +The example printed 1 and 3 because the first count was 1, which was then incremented by 2 (for a total of 3). + +### Counter + +Sometimes you don't know the number of times you need Lua to iterate over data. In this case, you can set your counter to a variable populated by some other process. + +Also, the word `count` isn't a keyword. It's just what I'm using in my sample code for clarity. It's common for programmers to use something shorter, such as `i` or `c`. + +``` +var = os.time() +if var%2 == 0 then +  mytable = { var } +else +  mytable = { "foo", "bar", "baz" } +end +for c = 1, #mytable, 1 do +  print(mytable[c]) +end +``` + +This code creates a variable containing the timestamp of when it was launched. If the timestamp is even (it has a modulo of 0 when divided by 2), then just the timestamp is placed into a table. If the timestamp is odd, it puts three strings into a table. + +Now you can't be sure how many times your for loop needs to run. It's either once or thrice, but there's no way to be sure. The solution is to set the starting count to 1 and the final count to the length of the table (`#mytable` is the built-in shortcut to determine the length of a table). + +It might take a few times of running the script to see both results, but eventually, you end up with something like this: + +``` +$ lua ./dynamic.lua1665447960 +$ lua ./dynamic.lua +foo +bar +baz +``` + +### For loops with pairs and ipairs + +If you've already read my article on [table iteration][2], then you're already familiar with one of the most common for loops in Lua. This one uses the `pairs` or `ipairs` function to iterate over a table: + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for i,v in ipairs(mytable) do +  print(i .. ": " v) +end +``` + +The `pairs` and `ipairs` functions "unpack" the table and dump the values into the variables you provide. In this example, I use `i` for _index_ and `v` for _value_, but the variables' names don't matter. + +``` +$ lua ./for.lua1: zombie2: Halloween3: apocalypse +``` + +### For loop + +The for loop structure is common in programming and very common in Lua due to its frequent use of tables and the `pairs` function. Understanding the for loop structure and the options you have when controlling it means you can make clever decisions about how to process data in Lua. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/lua-for-loops + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/11/lua-worth-learning +[2]: https://opensource.com/article/22/11/iterate-over-tables-lua From d4c8056f6ff526f47b96e76c150124aba4dc19be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:56:22 +0800 Subject: [PATCH 593/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221130.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Build=20test=20scripts=20for=20your=20IoT?= =?UTF-8?q?=20platform.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Build test scripts for your IoT platform.md | 341 ++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 sources/tech/20221130.2 ⭐️⭐️⭐️ Build test scripts for your IoT platform.md diff --git a/sources/tech/20221130.2 ⭐️⭐️⭐️ Build test scripts for your IoT platform.md b/sources/tech/20221130.2 ⭐️⭐️⭐️ Build test scripts for your IoT platform.md new file mode 100644 index 0000000000..e11e7d618c --- /dev/null +++ b/sources/tech/20221130.2 ⭐️⭐️⭐️ Build test scripts for your IoT platform.md @@ -0,0 +1,341 @@ +[#]: subject: "Build test scripts for your IoT platform" +[#]: via: "https://opensource.com/article/22/11/test-scripts-iot-jmeter" +[#]: author: "Chongyuan Yin https://opensource.com/users/chongyuanyin" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Build test scripts for your IoT platform +====== + +In [my previous article][1], I introduced the open source test tool JMeter and used a simple HTTP test as an example to demonstrate its capabilities. This article shows you how to build test scripts for complex test scenarios. + +The user interface displays a JMeter test script in the "tree" format. The saved test script (in the `.jmx` format) is [XML][2]. The JMeter script tree treats a test plan as the root node, and the test plan includes all test components. In the test plan, you can configure user-defined variables called by components throughout the entire test plan. Variables can also thread group behavior, library files used in the test, and so on. You can build rich test scenarios using various test components in the test plan. + +Test components in JMeter generally have the following categories: + +- Thread group +- Sampler +- Logic controller +- Listener +- Configuration element +- Assertion +- Timer +- Pre-processor +- Post-processor + +### Thread groups + +A thread group is the beginning point for all test plans (so all samplers and controllers must be placed under a thread group). A thread group can be regarded as a virtual user pool in which each thread is essentially a virtual user, and multiple virtual users perform the same batch of tasks simultaneously. Each thread is independent and doesn't affect the others. During the execution of one thread, the variable of the current thread doesn't affect the variable value of other threads. + +![Threaded groups][3] + +In this interface, the thread group can be configured in various ways. + +#### 1. Action to be taken after a sampler error + +The following configuration items control whether a test continues when an error is encountered: + +- **Continue**: Ignore errors and continue execution. +- **Start Next Thread Loop**: Ignore the error, terminate the current loop of the thread, and execute the next loop. +- **Stop Thread**: Stop executing the current thread without affecting the normal execution of other threads. +- **Stop Test**: Stop the entire thread after executing threads have finished the current sampling. +- **Stop Test Now**: The entire test execution stops immediately, even if it interrupts currently executing samplers. + +#### 2. Number of threads + +This is the number of concurrent (virtual) users. Each thread runs the test plan completely independently without interfering with any others. The test uses multiple threads to simulate concurrent access to the server. + +#### 3. Ramp-up period + +The Ramp-up time sets the time required to start all threads. For example, if the number of threads is set to 10 and the ramp-up time is set to 100 seconds, then JMeter uses 100 seconds to start and runs 10 threads (each thread begins 10 seconds after the previous thread was started). + +If the ramp-up value is set small and the number of threads is set large, there's a lot of stress on the server at the beginning of the test. + +#### 4. Loop count + +Sets the number of loops per thread in the thread group before ending. + +#### 5. Delay thread creation until needed + +By default, all threads are created when the test starts. If this option is checked, threads are created when they are needed. + +#### 6. Specify thread lifetime + +Control the execution time of thread groups. You can set the duration and startup delay (in seconds). + +### Samplers + +A sampler simulates user operations. It's a running unit that sends requests to the server and receives response data from the server. A sampler is a component inside a thread group, so it must be added to the thread group. JMeter natively supports a variety of samplers, including a TCP Sampler, HTTP Request, FTP Request, JDBC Request, Java Request, and so on. Each type of sampler sends different requests to the server according to the set parameters. + +#### TCP Sampler + +The TCP Sampler connects to the specified server over TCP/IP, sends a message to the server after the connection is successful, and then waits for the server to reply. + +![TCP sampler][4] + +The properties that can be set in the TCP Sampler are as follows: + +##### TCPClient classname + +This represents the implementation class that handles the request. By default, `org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl` is used, and plain text is used for transmission. In addition, JMeter also has built-in support for `BinaryTCPClientImpl` and `LengthPrefixedBinaryTCPClientImpl`. The former uses hexadecimal packets, and the latter adds a 2-byte length prefix to `BinaryTCPClientImpl`. + +You can also provide custom implementation classes by extending `org.apache.jmeter.protocol.tcp.sampler.TCPClient`. + +- **Re-use connection**: If enabled, this connection is always open; otherwise, it's closed after reading data. +- **Close Connection**: If enabled, this connection is closed after the TCP sampler has finished running. +- **Set No-Delay**: If enabled, the Nagle algorithm is disabled, and the sending of small packets is allowed. +- **SO_LINGER**: Controls whether to wait for data in the buffer to complete transmission before closing the connection. +- **End of line (EOL) byte value**: Determines the byte value at the end of the line. The EOL check is skipped if the specified value is greater than 127 or less than -128. For example, if a string returned by the server ends with a carriage return, you can set this option to 10. + +- Target server settings: **Server Name or IP** and **Port Number** specify the hostname or IP address and port number of the server application. +- Connection Options: Determines how you connect to the server. +- **Timeouts**: Set the connect timeout and response timeout. +- **Text to send**: Contains the payload you want to send. +- **Login configuration**: Sets the username and password used for the connection. + +#### HTTP Request Sampler + +The HTTP Sampler sends HTTP and HTTPS requests to the web server. + +![HTTP request sampler][5] + +Here are the settings available: + +- **Redirect Automatically**: Redirection is not treated as a separate request and is not recorded by JMeter. +- **Follow Redirects**: Each redirection is treated as a separate request and is recorded by JMeter. +- **Use KeepAlive**: If enabled, `Connection: keep-alive` is added to the request header when JMeter communicates with the target server. +- **Use multipart/form-data for POST**: If enabled, requests are sent using `multipart/form-data or application/x-www-form-urlencoded`. + +- **Name and comments** +- **Protocol**: Set the protocol to send the request to the target server, which can be HTTP, HTTPS, or FILE. The default is HTTP. +- **Server name or IP address**: The hostname or IP address of the target server to which the request is sent. +- **Port number**: The port number that the web service listens on. The default port is 80 for HTTP and 443 for HTTPS. +- **Request method**: The method for sending the request, commonly including GET, POST, DELETE, PUT, TRACE, HEAD, OPTIONS, and so on. +- **Path**: The target URL (excluding server address and port) to request. +- **Content encoding**: How to encode the request (applicable to POST, PUT, PATCH, and FILE). +- **Advanced request options**: A few extra options, including: +- **Parameters**: JMeter uses parameter key-value pairs to generate request parameters and send these request parameters in different ways depending on the request method. For example, for GET, DELETE requests, parameters are appended to the request URL. +- **Message body data**: If you want to pass parameters in JSON format, you must configure the Content-Type as `application/json` in the request header. +- **File upload**: Send a file in the request. The HTTP file upload behavior can be simulated in this way (usually). + +### Logic Controllers + +The JMeter Logic Controller controls the execution logic of components. The JMeter website explains it like this: "Logic Controllers determine the order in which Samplers are processed." + +The Logic Controller can control the execution order of the samplers. Therefore, the controller needs to be used together with the sampler. Except for the once_-_only controller, other logic controllers can be nested within each other. + +Logic controllers in JMeter are mainly divided into two categories. They can control the logical execution order of nodes during the execution of the test plan (a loop or conditional controller), or they can act in response to specific throughput or transaction count. + +#### Transaction Controller + +Sometimes, you want to count the overall response time of a group of related requests. In this case, you need to use a Transaction Controller. + +The Transaction Controller counts the sampler execution time of all child nodes under the controller. If multiple samplers are defined under the Transaction Controller, then the transaction is considered successful only when all samplers run successfully. + +Add a transaction controller using the contextual menu: + +![Image of available settings.][6] + +**Generate parent sample**: If enabled, the Transaction Controller is used as a parent sample for other samplers. Otherwise, the Transaction Controller is only used as an independent sample. + +![Generate parent sample option is enabled.][7] + +For example, the unchecked Summary Report is as follows: + +![Unchecked summary report][8] + +If checked, the Summary Report is as follows: + +![Checked summary report][9] + +**Include duration of timer**: If enabled, include a timer (a delay is added before and after the sampler runs). + +#### Once Only Controller + +The Once Only Controller, as its name implies, is a controller that executes only once. The request under the controller is executed only once during the loop execution process under the thread group. For tests that require a login, you can consider putting the login request in a Once Only Controller because the login request only needs to be executed once to establish a session. + +![Once-only controller][10] + +If you set the loop count to 2 and check the result tree after running, you can see that the `HTTP request 3` under the Once Only Controller is only executed once, and other requests are executed twice. + +![Loop count][11] + +### Listeners + +A listener is a series of components that process and visualize test result data. **View Results Tree**, **Graph Results**, and **Aggregate Report** are common listener components. + +#### View Results Tree + +This component displays the result, request content, response time, response code, and response content of each sampler in a tree structure. Viewing the information can assist in analyzing whether there is a problem. It provides various viewing formats and filtering methods and can also write the results to specified files for batch analysis and processing. + +![Results tree][12] + +### Configuration element + +Configuration element provides support for static data configuration. It can be defined at the test plan level, or at the thread group or sampler level, with different scopes for different levels. Configuration elements mainly include User Defined Variables, CSV Data Set Config, TCP Sampler Config, HTTP Cookie Manager, etc. + +#### User-Defined Variables + +![Enter variables in the User defined variables screen][13] + +By setting a series of variables, you cause a random selection of values to be used in the performance test. Variable names can be referenced within the scope, and variables can be referenced as `${variable name}`. + +In addition to the User Defined Variables component, variables can also be defined in other components, such as Test Plans and HTTP Requests: + +![Define a test plan][14] + +For example, a defined variable is referenced in an HTTP Request: + +![Defined variables can be used in settings][15] + +Viewing the execution results, you can see that the value of the variable has been obtained: + +![Viewing results][16] + +#### CSV Data Set Config + +During a performance test, you may need parameterized input, such as the username and password, in the login operation. When the amount of concurrency is relatively large, the data generation at runtime causes a heavy burden on the CPU and memory. The CSV Data Set Config can be used as the source of parameters required in this scenario. + +![CSV dataset][17] + +The descriptions of some parameters in the CSV Data Set Config: + +- **Variable name**: Defines the parameter name in the CSV file, which the script can reference as `${variable name}`. +- **Recycle on EOF**: If set to True, this allows looping again from the beginning when reaching the end of the CSV file. +- **Stop thread on EOF**: If set to True, this stops running after reading the last record in the CSV file. +- **Sharing mode**: Sets the mode shared between threads and thread groups. + +### Assertions + +The Assertion checks whether the request is returned as expected. Assertions are an important part of automated test scripts, so you should pay great attention to it. + +JMeter commonly used assertions include Response Assertion, JSON Assertion, Size Assertion, Duration Assertion, Beanshell Assertion, etc. Below I introduce the frequently-used JSON Assertion. + +#### JSON Assertion + +This is used to assert the content of the response in JSON format. A JSON Assertion is added on an HTTP Sampler in this example, as shown in the following image: + +![JSON assertion][18] + +The root of the JSON path is always called `$`, which can be represented by two different styles: dot-notation (`.`) or bracket-notation (`[]`). For example; `$.message[0].name` or `$['message'][0]['name']`. + +Here's an example of a request made to `https://www.google.com/doodles/json/2022/11`. The `$[0].name` value represents the 'name' part in the first array element in the response. + +![The name variable from the first array is used.][19] + +The `Additionally assert value` specifies that the `value of 'name'` is to be verified, and the `Expected value` is expected to be '2022-world-cup-opening-day'. + +Run the script and look at the results. You can see that the assertion has passed. + +![The results tree view shows that the assertion has passed.][20] + +Here are the possible conditions and how they're treated: + +- If a response result is not in JSON format, it's treated as a failure. +- If the JSON path cannot find the element, it fails. +- If the JSON path finds the element, but no conditions are set, it passes. +- If the JSON path finds an element that does not meet the conditions, it fails. +- If the JSON path finds the element that meets the conditions, it passes. +- If the JSON path returns an array, it iterates to determine whether any elements meet the conditions. If yes, it passes. If not, it fails. + +Go back to JSON Assertion and check the `Invert assertion.` + +![Invert assertion][21] + +Run the script, check the results, and you can see that the assertion failed: + +![Assertion failed][22] + +### Timers + +The pause time between requests in the performance test is called "thinking time." In the real world, the pause time can be spent on content search or reading, and the Timer simulates this pause. + +All timers in the same scope are executed before the samplers. + +If you want the timer to be applied to only one of the samplers, add the timer to the child node of the sampler. + +JMeter timers mainly include Constant Timer, Uniform Random Timer, Precise Throughput Timer, Constant Throughput Timer, Gaussian Random Timer, JSR223 Timer, Poisson Random Timer, Synchronizing Timer, and BeanShell Timer. + +#### Constant Timer + +A Constant Timer means that the interval between each request is a fixed value. + +![Constant timer][23] + +After configuring the thread delay to 100 and 1000, respectively, run the script: + +![Threaded delay][24] + +Check the data in the table, where #1 and #2 are the running results when the configuration is 100 milliseconds, and #4 and #5 are the running results when the configuration is 1000 milliseconds. You can see that the interval between #4 and #5 is significantly greater than that between #1 and #2: + +![Greater delay][25] + +#### Constant Throughput Timer + +The Constant Throughput Timer controls the execution of requests according to the specified throughput. + +![Constant throughput][26] + +Configure the target throughput as 120 (note that the unit is minutes), and then select **All active threads in current thread group (shared)** based on the calculated throughput: + +![Throughput][27] + +Run the script, check the results, and observe that the throughput is approximately 2/second (120/60). + +![Throughput][28] + +### Pre-processors and post-processors + +A pre-processor performs some operations before the sampler request. It's often used to modify parameters, set environment variables, or update variables. + +Similarly, a post-processor performs some operations after the sampler request. Sometimes, the response data needs to be used in subsequent requests, and you need to process the response data. For example, if the `jwt` token in the response is obtained and used for authentication in subsequent requests, the post-processor is used. + +### Using JMeter + +The above is the introduction to the main test components of JMeter, and now you can feel confident in starting your own tests. In another article, I will explain using the [MQTT plugin][29] in JMeter. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/test-scripts-iot-jmeter + +作者:[Chongyuan Yin][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/chongyuanyin +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/iot-test-jmeter +[2]: https://opensource.com/article/21/7/what-xml +[3]: https://opensource.com/sites/default/files/2022-11/1.png +[4]: https://opensource.com/sites/default/files/2022-11/2.png +[5]: https://opensource.com/sites/default/files/2022-11/3.png +[6]: https://opensource.com/sites/default/files/2022-11/4.webp +[7]: https://opensource.com/sites/default/files/2022-11/5.webp +[8]: https://opensource.com/sites/default/files/2022-11/6.png +[9]: https://opensource.com/sites/default/files/2022-11/7.png +[10]: https://opensource.com/sites/default/files/2022-11/8.png +[11]: https://opensource.com/sites/default/files/2022-11/9.png +[12]: https://opensource.com/sites/default/files/2022-11/10.png +[13]: https://opensource.com/sites/default/files/2022-11/11-2_1.webp +[14]: https://opensource.com/sites/default/files/2022-11/12-2.webp +[15]: https://opensource.com/sites/default/files/2022-11/14.webp +[16]: https://opensource.com/sites/default/files/2022-11/15-2.webp +[17]: https://opensource.com/sites/default/files/2022-11/16.png +[18]: https://opensource.com/sites/default/files/2022-11/17_0.png +[19]: https://opensource.com/sites/default/files/2022-11/18-2.webp +[20]: https://opensource.com/sites/default/files/2022-11/19-2.webp +[21]: https://opensource.com/sites/default/files/2022-11/20.png +[22]: https://opensource.com/sites/default/files/2022-11/21.png +[23]: https://opensource.com/sites/default/files/2022-11/22_0.png +[24]: https://opensource.com/sites/default/files/2022-11/23.png +[25]: https://opensource.com/sites/default/files/2022-11/24.png +[26]: https://opensource.com/sites/default/files/2022-11/25.png +[27]: https://opensource.com/sites/default/files/2022-11/26_0.png +[28]: https://opensource.com/sites/default/files/2022-11/27_0.png +[29]: https://github.com/emqx/mqtt-jmeter From a8a2e5d89e6e72411c223c81194fb871dae07f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 01:59:07 +0800 Subject: [PATCH 594/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221130.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wa?= =?UTF-8?q?yland=20Protocols=201.31=20Release=20Adds=20Fractional=20Scalin?= =?UTF-8?q?g=20Support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ls 1.31 Release Adds Fractional Scaling Support.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md diff --git a/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md b/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md new file mode 100644 index 0000000000..71e610fe2c --- /dev/null +++ b/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md @@ -0,0 +1,70 @@ +[#]: subject: "Wayland Protocols 1.31 Release Adds Fractional Scaling Support" +[#]: via: "https://news.itsfoss.com/wayland-protocols-fractional-scaling/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Wayland Protocols 1.31 Release Adds Fractional Scaling Support +====== + +Wayland Protocols 1.31 releases with fractional scaling support. + +![Wayland Protocols 1.31 Release Adds Fractional Scaling Support][1] + +If you are using a high-resolution display, then you may have noticed issues like blurriness, jaggedness, and lag when using a program. + +This issue is caused by the fact that many programs use a default screen resolution (usually 1920×1080) to display their contents. This makes for a bad user interface experience on HiDPI devices. + +But you might be wondering, is there a solution to this? Yes, there is, in fact, a solution. + +It's called 'Fractional Scaling'. This method uses fractional values to scale a program's interface according to your display's resolution, resulting in a consistent look and feel. + +So, it would ensure that you had the same experience on any HiDPI device, regardless of the program you were using. + +Moving on. + +With Wayland slowly replacing X11 with its advancements, adding Fractional Scaling support via Wayland Protocols 1.31 makes the transition more obvious. + +> 💡 [Wayland protocols][2] add functionality that is usually not found with Wayland core. + +Let's take a look at what's in store for Wayland. + +### Fractional Scaling Support for Wayland Protocols + +**How did it come to be?:** This was in the making for many months; code-named 'wp-fractional-scale-v1', it communicates with the compositor to suggest surfaces for rendering at fractional scales. + +It is paired with the 'wp-viewport protocol' to provide a fractional scaling implementation rather than an integer-based scaling implementation, as noted by [Phoronix][3]. + +**How does it affect you?:** The implementation of this allows you to run higher resolutions on your Wayland-enabled Linux systems without compromising visual quality across different programs and displays. + +So, what does it mean for KDE and GTK apps? + +Technically, **PointiestStick** (_KDE Dev_) responded to a [Reddit thread][4] that gives you a better insight: + +> For KDE, it simply means that once Qt and KWin implement support for this protocol, then native Wayland Qt apps will be able to use Qt's pre-existing support for fractional scaling, just like how it already works on X11.The result should be slightly better performance, visual sharpness, and power efficiency when using a non-integer scale factor like 125%.Nothing will change soon for GTK apps, because GTK has no existing fractional scaling support and thus cannot implement this Wayland protocol to do something it couldn't already do. + +In conclusion, this seems like a reasonable addition to Wayland, which should enhance the overall user experience across the board with a minimal performance impact. + +You can read more about **Wayland Protocols 1.31** release in its [official mailing list][5]. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/wayland-protocols-fractional-scaling/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/wayland-protocols-1-31-release.jpg +[2]: https://gitlab.freedesktop.org/wayland/wayland-protocols +[3]: https://www.phoronix.com/news/Wayland-Fractional-Scale-Ready +[4]: https://www.reddit.com/r/linux/comments/z7pc61/comment/iya2uu1/?utm_source=reddit&utm_medium=web2x&context=3 +[5]: https://lists.freedesktop.org/archives/wayland-devel/2022-November/042524.html From 6594470548b21787ae0bde59151c9722dc23b8cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 02:35:56 +0800 Subject: [PATCH 595/925] =?UTF-8?q?Update=2020221130.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wayland=20Protocols=201.31=20Rele?= =?UTF-8?q?ase=20Adds=20Fractional=20Scaling=20Support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md b/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md index 71e610fe2c..df503ccf83 100644 --- a/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md +++ b/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md @@ -63,7 +63,7 @@ via: https://news.itsfoss.com/wayland-protocols-fractional-scaling/ [a]: https://news.itsfoss.com/author/sourav/ [b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/wayland-protocols-1-31-release.jpg +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/11/wayland-protocols-1-31-release.jpg [2]: https://gitlab.freedesktop.org/wayland/wayland-protocols [3]: https://www.phoronix.com/news/Wayland-Fractional-Scale-Ready [4]: https://www.reddit.com/r/linux/comments/z7pc61/comment/iya2uu1/?utm_source=reddit&utm_medium=web2x&context=3 From d05276ec8daaaa50acb87811d6b0d20e1571aa44 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 1 Dec 2022 08:51:18 +0800 Subject: [PATCH 596/925] translated --- ...Now Install Unity 7.6 Desktop on Arch Linux.md | 70 ------------------ ...Now Install Unity 7.6 Desktop on Arch Linux.md | 71 +++++++++++++++++++ 2 files changed, 71 insertions(+), 70 deletions(-) delete mode 100644 sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md create mode 100644 translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md diff --git a/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md deleted file mode 100644 index f358a8de1e..0000000000 --- a/sources/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md +++ /dev/null @@ -1,70 +0,0 @@ -[#]: subject: "You Can Now Install Unity 7.6 Desktop on Arch Linux" -[#]: via: "https://news.itsfoss.com/unity-arch-linux/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -You Can Now Install Unity 7.6 Desktop on Arch Linux -====== - -Unity Desktop is a classic desktop environment built by Canonical and was a part of Ubuntu from 2010 to 2017 but dropped in favor of GNOME. - -And, we thought it was killed forever. But it made a comeback. - -Earlier this year, a revamped version of Unity was released after a long 6-year period since its last update in May 2016. - -The development was spearheaded by a young developer [Rudra Saraswat][1], who is also the creator of [Ubuntu Unity][1], an official flavor of Ubuntu now. - -The release of Unity 7.6 marked the arrival of a host of improvements. - -And, to take that further, Unity 7.6 has been made available for Arch Linux. The developer mentions: - -> This port is based on an earlier effort, Unity-for-Arch by chenxiaolong (maintained from 2011-2016). - -### Trying Unity 7.6 on Arch Linux - -![unity on arch linux][2] - -First, you must ensure that you have Arch Linux already set up. - -Then you can follow these steps to run Unity 7.6 on Arch Linux: - -- **Install '[Paru][3]', it is an AUR helper.** -- **Install a script called 'unity-installer-arch' using 'paru -S unity-installer-arch'** -- **Run 'unity-installer-arch' in a TTY/terminal window.** -- **Select 'Install Unity desktop'.** -- **Change default display manager to 'lightdm'.** -- **Use 'unity-greeter' as the default greeter.** - -My colleague Sreenath tried it out, and during installation, he had to start with a fresh copy of Arch because of multiple dependency conflicts. - -It may be different for you, but do keep that in mind. If you do not want to spend time on that, you might want to try [Ubuntu Unity][4] instead. - -### Wrapping Up - -For Unity desktop fans, this is a good thing. More distributions may consider having a variant with a Unity desktop on board. - -Do you want that to happen? - -_💬 Are you an existing user of Unity desktop? Want to give it a try? Share your thoughts in the comments._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/unity-arch-linux/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://about.ruds.io -[2]: https://news.itsfoss.com/content/images/2022/11/unity_for_arch.jpg -[3]: https://itsfoss.com/paru-aur-helper/ -[4]: https://ubuntuunity.org diff --git a/translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md new file mode 100644 index 0000000000..1cb5d92805 --- /dev/null +++ b/translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md @@ -0,0 +1,71 @@ +[#]: subject: "You Can Now Install Unity 7.6 Desktop on Arch Linux" +[#]: via: "https://news.itsfoss.com/unity-arch-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +你现在可以在 Arch Linux 上安装 Unity 7.6 桌面 +====== + +Unity Desktop 是由 Canonical 构建的经典桌面环境,它从 2010 年到 2017 年是 Ubuntu 的一部分,但为了支持 GNOME 而放弃。 + +我们认为它永远被杀死了。但它卷土重来。 + +今年早些时候,自 2016 年 5 月上次更新以来,经过长达 6 年的时间,Unity 的改进版本发布了。 + +开发由一位年轻的开发人员 [Rudra Saraswat][1] 带头,他也是 [Ubuntu Unity][1] 的创建者,它现在是 Ubuntu 的官方版本。 + +Unity 7.6 的发布标志着大量改进的到来。 + +而且,更进一步,Unity 7.6 已可用于 Arch Linux。开发者提到: + +> 此移植基于 chenxiaolong 的早期成果 Unity-for-Arch(2011-2016 年维护)。 + +### 在 Arch Linux 上试用 Unity 7.6 + +![unity on arch linux][2] + +首先,你必须确保你已经安装了 Arch Linux。 + +Then you can follow these steps to run Unity 7.6 on Arch Linux: +然后你可以按照以下步骤在 Arch Linux 上运行 Unity 7.6: + +- **安装“[Paru][3]”,它是一个 AUR 助手。** +- **使用 “paru -S unity-installer-arch” 安装名为 “unity-installer-arch” 的脚本** +- **在 TTY/终端窗口中运行 “unity-installer-arch”。** +- **选择 “安装 Unity 桌面”。** +- **将默认显示管理器更改为 “lightdm”。** +- **使用 “unity-greeter” 作为默认登录界面。** + +的同事 Sreenath 尝试了一下,在安装过程中,由于多重依赖冲突,他不得不从全新的 Arch 开始。 + +对你来说可能有所不同,但请记住这一点。如果你不想花时间在这上面,你可能想试试 [Ubuntu Unity][4]。 + +### 总结 + +对于 Unity 桌面爱好者来说,这是一件好事。更多发行版可能会考虑使用带有 Unity 桌面的变体。 + +你想让那发生吗? + +_💬 你是 Unity 桌面的现有用户吗?想试试看么?在评论区分享你的观点。_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/unity-arch-linux/ + +作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://about.ruds.io +[2]: https://news.itsfoss.com/content/images/2022/11/unity_for_arch.jpg +[3]: https://itsfoss.com/paru-aur-helper/ +[4]: https://ubuntuunity.org From edbe5a1624f6738a3a7edff3c9344c3f647dea25 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 1 Dec 2022 08:55:32 +0800 Subject: [PATCH 597/925] =?UTF-8?q?=E5=BD=92=E6=A1=A3=20202211?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...efinitive Guide to Using and Customizing the Dock in Ubuntu.md | 0 ...10202 Convert audio files with this versatile Linux command.md | 0 .../{ => 202211}/20210415 5 reasons sysadmins love systemd.md | 0 ... an open source design system to create new community logos.md | 0 ...210607 Identify security properties on Linux using checksec.md | 0 ...0618 5 more reasons to run Kubernetes in your Linux homelab.md | 0 published/{ => 202211}/20210623 Parsing config files with Lua.md | 0 ...ng Packages From External Repositories in Ubuntu -Explained.md | 0 .../20210811 My top 5 tips for setting up Terraform.md | 0 ...20 Diagnose connectivity issues with the Linux ping command.md | 0 ...Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md | 0 .../20220524 12 essential Linux commands for beginners.md | 0 ...w to Record Audio in Linux With Audacity -and Reduce Noise-.md | 0 .../{ => 202211}/20220903 Infuse your awk scripts with Groovy.md | 0 .../20220912 Why do domain names sometimes end with a dot.md | 0 ...How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md | 0 .../20220929 Execute Commands On Remote Linux Systems Via SSH.md | 0 .../20221004 5 Best Python IDE-s- and Code Editor-s-.md | 0 .../20221013 What you need to know about compiling code.md | 0 ...14 13 Independent Linux Distros That are Built From Scratch.md | 0 ...21015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md | 0 ...⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md | 0 ...0221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md | 0 ...9.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md | 0 .../20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md | 0 .../20221020.7 ⭐️ 4 open source editors I use for my writing.md | 0 ...ow to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md | 0 .../20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md | 0 .../{ => 202211}/20221022 What-s new in Fedora Workstation 37.md | 0 .../20221022.3 ⭐️⭐️ Use open source commands in Powershell.md | 0 .../20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md | 0 ... How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md | 0 ...play commits created on a specific day with the git log command.md | 0 ...⭐️ Transfer files and folders from Windows to Linux with PSCP.md | 0 ... How to Install Python 3.11 in Ubuntu and Other Related Linux.md | 0 ...26.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md | 0 .../20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md | 0 ...️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md | 0 .../20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md | 0 ...️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md | 0 ...⭐️ Transfer files and folders from Windows to Linux with WinSCP.md | 0 ...️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md | 0 ...⭐️ The Android Open Source Project Is Now RISC-V Compatible.md | 0 ...101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md | 0 published/{ => 202211}/20221101.5 ⭐️ Linux Lite 6.2 Released.md | 0 ... Move Virtual Machine Image to Another Host Using GNOME Boxes.md | 0 ...21102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md | 0 published/{ => 202211}/20221103.0 ⭐️⭐️ Is Lua worth learning.md | 0 ...️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md | 0 .../20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md | 0 ...️ How to Install Latest LibreOffice in Ubuntu and other Linux.md | 0 ...21104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md | 0 .../20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md | 0 ...20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md | 0 .../20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md | 0 ....4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md | 0 ...09.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md | 0 ....5 ⭐️ How to Find Systemd or Any Other init System in Linux.md | 0 .../20221109.6 ⭐️ Using Python in VS Code and Codium.md | 0 .../20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md | 0 .../20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md | 0 ... to Install LibreOffice Base Database in Ubuntu and Other Linux.md | 0 ...221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md | 0 ...️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md | 0 .../20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md | 0 .../20221112.0 ⭐️ Learn Python 7 of my favorite resources.md | 0 published/{ => 202211}/20221115 Announcing Fedora Linux 37.md | 0 .../20221118 How to rebase to Fedora Linux 37 on Silverblue.md | 0 ...top Alternatives to Enhance Your Linux System Monitoring Experience.md | 0 ... macOS Alternative helloSystem (0.7.0) is moving towards stability.md | 0 ...r to Integrate its Own Open Source Engine for a Strong Comeback.md | 0 71 files changed, 0 insertions(+), 0 deletions(-) rename published/{ => 202211}/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md (100%) rename published/{ => 202211}/20210202 Convert audio files with this versatile Linux command.md (100%) rename published/{ => 202211}/20210415 5 reasons sysadmins love systemd.md (100%) rename published/{ => 202211}/20210426 How we built an open source design system to create new community logos.md (100%) rename published/{ => 202211}/20210607 Identify security properties on Linux using checksec.md (100%) rename published/{ => 202211}/20210618 5 more reasons to run Kubernetes in your Linux homelab.md (100%) rename published/{ => 202211}/20210623 Parsing config files with Lua.md (100%) rename published/{ => 202211}/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md (100%) rename published/{ => 202211}/20210811 My top 5 tips for setting up Terraform.md (100%) rename published/{ => 202211}/20211020 Diagnose connectivity issues with the Linux ping command.md (100%) rename published/{ => 202211}/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md (100%) rename published/{ => 202211}/20220524 12 essential Linux commands for beginners.md (100%) rename published/{ => 202211}/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md (100%) rename published/{ => 202211}/20220903 Infuse your awk scripts with Groovy.md (100%) rename published/{ => 202211}/20220912 Why do domain names sometimes end with a dot.md (100%) rename published/{ => 202211}/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md (100%) rename published/{ => 202211}/20220929 Execute Commands On Remote Linux Systems Via SSH.md (100%) rename published/{ => 202211}/20221004 5 Best Python IDE-s- and Code Editor-s-.md (100%) rename published/{ => 202211}/20221013 What you need to know about compiling code.md (100%) rename published/{ => 202211}/20221014 13 Independent Linux Distros That are Built From Scratch.md (100%) rename published/{ => 202211}/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md (100%) rename published/{ => 202211}/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md (100%) rename published/{ => 202211}/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md (100%) rename published/{ => 202211}/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md (100%) rename published/{ => 202211}/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md (100%) rename published/{ => 202211}/20221020.7 ⭐️ 4 open source editors I use for my writing.md (100%) rename published/{ => 202211}/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md (100%) rename published/{ => 202211}/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md (100%) rename published/{ => 202211}/20221022 What-s new in Fedora Workstation 37.md (100%) rename published/{ => 202211}/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md (100%) rename published/{ => 202211}/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md (100%) rename published/{ => 202211}/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md (100%) rename published/{ => 202211}/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md (100%) rename published/{ => 202211}/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md (100%) rename published/{ => 202211}/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md (100%) rename published/{ => 202211}/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md (100%) rename published/{ => 202211}/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md (100%) rename published/{ => 202211}/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md (100%) rename published/{ => 202211}/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md (100%) rename published/{ => 202211}/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md (100%) rename published/{ => 202211}/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md (100%) rename published/{ => 202211}/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md (100%) rename published/{ => 202211}/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md (100%) rename published/{ => 202211}/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md (100%) rename published/{ => 202211}/20221101.5 ⭐️ Linux Lite 6.2 Released.md (100%) rename published/{ => 202211}/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md (100%) rename published/{ => 202211}/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md (100%) rename published/{ => 202211}/20221103.0 ⭐️⭐️ Is Lua worth learning.md (100%) rename published/{ => 202211}/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md (100%) rename published/{ => 202211}/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md (100%) rename published/{ => 202211}/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md (100%) rename published/{ => 202211}/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md (100%) rename published/{ => 202211}/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md (100%) rename published/{ => 202211}/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md (100%) rename published/{ => 202211}/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md (100%) rename published/{ => 202211}/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md (100%) rename published/{ => 202211}/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md (100%) rename published/{ => 202211}/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md (100%) rename published/{ => 202211}/20221109.6 ⭐️ Using Python in VS Code and Codium.md (100%) rename published/{ => 202211}/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md (100%) rename published/{ => 202211}/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md (100%) rename published/{ => 202211}/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md (100%) rename published/{ => 202211}/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md (100%) rename published/{ => 202211}/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md (100%) rename published/{ => 202211}/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md (100%) rename published/{ => 202211}/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md (100%) rename published/{ => 202211}/20221115 Announcing Fedora Linux 37.md (100%) rename published/{ => 202211}/20221118 How to rebase to Fedora Linux 37 on Silverblue.md (100%) rename published/{ => 202211}/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md (100%) rename published/{ => 202211}/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md (100%) rename published/{ => 202211}/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md (100%) diff --git a/published/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md b/published/202211/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md similarity index 100% rename from published/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md rename to published/202211/20210108 The Definitive Guide to Using and Customizing the Dock in Ubuntu.md diff --git a/published/20210202 Convert audio files with this versatile Linux command.md b/published/202211/20210202 Convert audio files with this versatile Linux command.md similarity index 100% rename from published/20210202 Convert audio files with this versatile Linux command.md rename to published/202211/20210202 Convert audio files with this versatile Linux command.md diff --git a/published/20210415 5 reasons sysadmins love systemd.md b/published/202211/20210415 5 reasons sysadmins love systemd.md similarity index 100% rename from published/20210415 5 reasons sysadmins love systemd.md rename to published/202211/20210415 5 reasons sysadmins love systemd.md diff --git a/published/20210426 How we built an open source design system to create new community logos.md b/published/202211/20210426 How we built an open source design system to create new community logos.md similarity index 100% rename from published/20210426 How we built an open source design system to create new community logos.md rename to published/202211/20210426 How we built an open source design system to create new community logos.md diff --git a/published/20210607 Identify security properties on Linux using checksec.md b/published/202211/20210607 Identify security properties on Linux using checksec.md similarity index 100% rename from published/20210607 Identify security properties on Linux using checksec.md rename to published/202211/20210607 Identify security properties on Linux using checksec.md diff --git a/published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md b/published/202211/20210618 5 more reasons to run Kubernetes in your Linux homelab.md similarity index 100% rename from published/20210618 5 more reasons to run Kubernetes in your Linux homelab.md rename to published/202211/20210618 5 more reasons to run Kubernetes in your Linux homelab.md diff --git a/published/20210623 Parsing config files with Lua.md b/published/202211/20210623 Parsing config files with Lua.md similarity index 100% rename from published/20210623 Parsing config files with Lua.md rename to published/202211/20210623 Parsing config files with Lua.md diff --git a/published/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md b/published/202211/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md similarity index 100% rename from published/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md rename to published/202211/20210805 Installing Packages From External Repositories in Ubuntu -Explained.md diff --git a/published/20210811 My top 5 tips for setting up Terraform.md b/published/202211/20210811 My top 5 tips for setting up Terraform.md similarity index 100% rename from published/20210811 My top 5 tips for setting up Terraform.md rename to published/202211/20210811 My top 5 tips for setting up Terraform.md diff --git a/published/20211020 Diagnose connectivity issues with the Linux ping command.md b/published/202211/20211020 Diagnose connectivity issues with the Linux ping command.md similarity index 100% rename from published/20211020 Diagnose connectivity issues with the Linux ping command.md rename to published/202211/20211020 Diagnose connectivity issues with the Linux ping command.md diff --git a/published/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md b/published/202211/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md similarity index 100% rename from published/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md rename to published/202211/20220519 For the Love of Ubuntu- Here are the Mascots of All Ubuntu Releases.md diff --git a/published/20220524 12 essential Linux commands for beginners.md b/published/202211/20220524 12 essential Linux commands for beginners.md similarity index 100% rename from published/20220524 12 essential Linux commands for beginners.md rename to published/202211/20220524 12 essential Linux commands for beginners.md diff --git a/published/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md b/published/202211/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md similarity index 100% rename from published/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md rename to published/202211/20220814 How to Record Audio in Linux With Audacity -and Reduce Noise-.md diff --git a/published/20220903 Infuse your awk scripts with Groovy.md b/published/202211/20220903 Infuse your awk scripts with Groovy.md similarity index 100% rename from published/20220903 Infuse your awk scripts with Groovy.md rename to published/202211/20220903 Infuse your awk scripts with Groovy.md diff --git a/published/20220912 Why do domain names sometimes end with a dot.md b/published/202211/20220912 Why do domain names sometimes end with a dot.md similarity index 100% rename from published/20220912 Why do domain names sometimes end with a dot.md rename to published/202211/20220912 Why do domain names sometimes end with a dot.md diff --git a/published/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md b/published/202211/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md similarity index 100% rename from published/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md rename to published/202211/20220916 How to Install Kubernetes Cluster on Debian 11 with Kubeadm.md diff --git a/published/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/published/202211/20220929 Execute Commands On Remote Linux Systems Via SSH.md similarity index 100% rename from published/20220929 Execute Commands On Remote Linux Systems Via SSH.md rename to published/202211/20220929 Execute Commands On Remote Linux Systems Via SSH.md diff --git a/published/20221004 5 Best Python IDE-s- and Code Editor-s-.md b/published/202211/20221004 5 Best Python IDE-s- and Code Editor-s-.md similarity index 100% rename from published/20221004 5 Best Python IDE-s- and Code Editor-s-.md rename to published/202211/20221004 5 Best Python IDE-s- and Code Editor-s-.md diff --git a/published/20221013 What you need to know about compiling code.md b/published/202211/20221013 What you need to know about compiling code.md similarity index 100% rename from published/20221013 What you need to know about compiling code.md rename to published/202211/20221013 What you need to know about compiling code.md diff --git a/published/20221014 13 Independent Linux Distros That are Built From Scratch.md b/published/202211/20221014 13 Independent Linux Distros That are Built From Scratch.md similarity index 100% rename from published/20221014 13 Independent Linux Distros That are Built From Scratch.md rename to published/202211/20221014 13 Independent Linux Distros That are Built From Scratch.md diff --git a/published/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md b/published/202211/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md similarity index 100% rename from published/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md rename to published/202211/20221015.0 ⭐️ How to Enable and Access USB Drive in VirtualBox.md diff --git a/published/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md b/published/202211/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md similarity index 100% rename from published/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md rename to published/202211/20221017.1 ⭐️ How to Update or Upgrade Ubuntu Offline without Internet.md diff --git a/published/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md b/published/202211/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md similarity index 100% rename from published/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md rename to published/202211/20221019.1 ⭐️ How to Install Viber in Ubuntu and Other Linux.md diff --git a/published/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md b/published/202211/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md similarity index 100% rename from published/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md rename to published/202211/20221019.2 ⭐️ How to Clean Up Snap Versions to Free Up Disk Space.md diff --git a/published/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md b/published/202211/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md similarity index 100% rename from published/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md rename to published/202211/20221020.0 ⭐️ How to Check:Xorg or Wayland Display Server.md diff --git a/published/20221020.7 ⭐️ 4 open source editors I use for my writing.md b/published/202211/20221020.7 ⭐️ 4 open source editors I use for my writing.md similarity index 100% rename from published/20221020.7 ⭐️ 4 open source editors I use for my writing.md rename to published/202211/20221020.7 ⭐️ 4 open source editors I use for my writing.md diff --git a/published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md b/published/202211/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md similarity index 100% rename from published/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md rename to published/202211/20221021.1 ⭐️ How to Upgrade to Ubuntu 22.10 From 22.04 LTS (Jammy to Kinetic).md diff --git a/published/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md b/published/202211/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md similarity index 100% rename from published/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md rename to published/202211/20221021.3 ⭐️ How to Install AWS CLI on Linux Step-by-Step.md diff --git a/published/20221022 What-s new in Fedora Workstation 37.md b/published/202211/20221022 What-s new in Fedora Workstation 37.md similarity index 100% rename from published/20221022 What-s new in Fedora Workstation 37.md rename to published/202211/20221022 What-s new in Fedora Workstation 37.md diff --git a/published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md b/published/202211/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md similarity index 100% rename from published/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md rename to published/202211/20221022.3 ⭐️⭐️ Use open source commands in Powershell.md diff --git a/published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md b/published/202211/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md similarity index 100% rename from published/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md rename to published/202211/20221023.0 ⭐️ How to Recover Arch Linux Install via chroot.md diff --git a/published/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md b/published/202211/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md similarity index 100% rename from published/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md rename to published/202211/20221024.1 ⭐️ How to Check CPU and HDD Temperature in Ubuntu and Other Linux.md diff --git a/published/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md b/published/202211/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md similarity index 100% rename from published/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md rename to published/202211/20221024.3 ⭐️ How to display commits created on a specific day with the git log command.md diff --git a/published/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md b/published/202211/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md similarity index 100% rename from published/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md rename to published/202211/20221025.0 ⭐️⭐️ Transfer files and folders from Windows to Linux with PSCP.md diff --git a/published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md b/published/202211/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md similarity index 100% rename from published/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md rename to published/202211/20221026.4 ⭐️ How to Install Python 3.11 in Ubuntu and Other Related Linux.md diff --git a/published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md b/published/202211/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md similarity index 100% rename from published/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md rename to published/202211/20221026.5 ⭐️ Vanilla OS More Than Just Vanilla GNOME With Ubuntu.md diff --git a/published/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md b/published/202211/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md similarity index 100% rename from published/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md rename to published/202211/20221027.0 ⭐️ How to Upgrade Python Packages with Pip.md diff --git a/published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md b/published/202211/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md similarity index 100% rename from published/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md rename to published/202211/20221027.6 ⭐️⭐️ Top 10 Linux Distributions for Programmers in 2022 [Featured].md diff --git a/published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md b/published/202211/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md similarity index 100% rename from published/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md rename to published/202211/20221030.0 ⭐️ How to Enable Dark Mode in Web Browser.md diff --git a/published/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md b/published/202211/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md similarity index 100% rename from published/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md rename to published/202211/20221030.2 ⭐️⭐️ Install WoeUSB on Ubuntu to Create a Bootable Windows USB.md diff --git a/published/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md b/published/202211/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md similarity index 100% rename from published/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md rename to published/202211/20221101.1 ⭐️⭐️ Transfer files and folders from Windows to Linux with WinSCP.md diff --git a/published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md b/published/202211/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md similarity index 100% rename from published/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md rename to published/202211/20221101.10 ⭐️⭐️ Best Remote Desktop Clients for Ubuntu and Other Linux [2022].md diff --git a/published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md b/published/202211/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md similarity index 100% rename from published/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md rename to published/202211/20221101.3 ⭐️ The Android Open Source Project Is Now RISC-V Compatible.md diff --git a/published/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md b/published/202211/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md similarity index 100% rename from published/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md rename to published/202211/20221101.4 ⭐️⭐️ Kate Editor is Getting Four New Awesome Features.md diff --git a/published/20221101.5 ⭐️ Linux Lite 6.2 Released.md b/published/202211/20221101.5 ⭐️ Linux Lite 6.2 Released.md similarity index 100% rename from published/20221101.5 ⭐️ Linux Lite 6.2 Released.md rename to published/202211/20221101.5 ⭐️ Linux Lite 6.2 Released.md diff --git a/published/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md b/published/202211/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md similarity index 100% rename from published/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md rename to published/202211/20221101.7 ⭐️ Move Virtual Machine Image to Another Host Using GNOME Boxes.md diff --git a/published/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md b/published/202211/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md similarity index 100% rename from published/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md rename to published/202211/20221102.1 ⭐️ Linux Mint's Update Manager Now Supports Flatpak.md diff --git a/published/20221103.0 ⭐️⭐️ Is Lua worth learning.md b/published/202211/20221103.0 ⭐️⭐️ Is Lua worth learning.md similarity index 100% rename from published/20221103.0 ⭐️⭐️ Is Lua worth learning.md rename to published/202211/20221103.0 ⭐️⭐️ Is Lua worth learning.md diff --git a/published/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md b/published/202211/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md similarity index 100% rename from published/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md rename to published/202211/20221103.2 ⭐️⭐️ How to Trim a Video in VLC Player [If You Really Want to].md diff --git a/published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md b/published/202211/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md similarity index 100% rename from published/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md rename to published/202211/20221103.3 ⭐️⭐️ Xfce 4.18 Top New Features & Release Guide.md diff --git a/published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md b/published/202211/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md similarity index 100% rename from published/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md rename to published/202211/20221104.3 ⭐️ How to Install Latest LibreOffice in Ubuntu and other Linux.md diff --git a/published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md b/published/202211/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md similarity index 100% rename from published/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md rename to published/202211/20221104.4 ⭐️ How to Remove Firefox Snap from Ubuntu (21.10 +).md diff --git a/published/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md b/published/202211/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md similarity index 100% rename from published/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md rename to published/202211/20221105.0 ⭐️⭐️ Fix scanned images with ImageMagick.md diff --git a/published/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md b/published/202211/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md similarity index 100% rename from published/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md rename to published/202211/20221105.1 ⭐️ How to Install Cinnamon Desktop in Arch Linux.md diff --git a/published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md b/published/202211/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md similarity index 100% rename from published/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md rename to published/202211/20221107.3 ⭐️⭐️ How to Install Node.js on RHEL 9.md diff --git a/published/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md b/published/202211/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md similarity index 100% rename from published/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md rename to published/202211/20221107.4 ⭐️ How to Boost Speaker Volume in Ubuntu and Other Linux.md diff --git a/published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md b/published/202211/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md similarity index 100% rename from published/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md rename to published/202211/20221109.1 ⭐️⭐️⭐️ 31 Linux Commands Every Ubuntu User Should Know.md diff --git a/published/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md b/published/202211/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md similarity index 100% rename from published/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md rename to published/202211/20221109.5 ⭐️ How to Find Systemd or Any Other init System in Linux.md diff --git a/published/20221109.6 ⭐️ Using Python in VS Code and Codium.md b/published/202211/20221109.6 ⭐️ Using Python in VS Code and Codium.md similarity index 100% rename from published/20221109.6 ⭐️ Using Python in VS Code and Codium.md rename to published/202211/20221109.6 ⭐️ Using Python in VS Code and Codium.md diff --git a/published/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md b/published/202211/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md similarity index 100% rename from published/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md rename to published/202211/20221110.0 ⭐️ How to Fix sudo Command Not Found Error.md diff --git a/published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md b/published/202211/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md similarity index 100% rename from published/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md rename to published/202211/20221110.1 ⭐️ How to Fix bash wget Command Not Found Error.md diff --git a/published/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md b/published/202211/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md similarity index 100% rename from published/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md rename to published/202211/20221111.0 ⭐️ How to Install LibreOffice Base Database in Ubuntu and Other Linux.md diff --git a/published/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md b/published/202211/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md similarity index 100% rename from published/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md rename to published/202211/20221111.1 ⭐️ How to Install FFmpeg in Ubuntu and Other Linux.md diff --git a/published/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md b/published/202211/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md similarity index 100% rename from published/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md rename to published/202211/20221111.2 ⭐️⭐️ How to Install Elementary OS’s Pantheon Desktop in Arch Linux.md diff --git a/published/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md b/published/202211/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md similarity index 100% rename from published/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md rename to published/202211/20221111.5 ⭐️⭐️ How to switch from Twitter to Mastodon.md diff --git a/published/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md b/published/202211/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md similarity index 100% rename from published/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md rename to published/202211/20221112.0 ⭐️ Learn Python 7 of my favorite resources.md diff --git a/published/20221115 Announcing Fedora Linux 37.md b/published/202211/20221115 Announcing Fedora Linux 37.md similarity index 100% rename from published/20221115 Announcing Fedora Linux 37.md rename to published/202211/20221115 Announcing Fedora Linux 37.md diff --git a/published/20221118 How to rebase to Fedora Linux 37 on Silverblue.md b/published/202211/20221118 How to rebase to Fedora Linux 37 on Silverblue.md similarity index 100% rename from published/20221118 How to rebase to Fedora Linux 37 on Silverblue.md rename to published/202211/20221118 How to rebase to Fedora Linux 37 on Silverblue.md diff --git a/published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md b/published/202211/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md similarity index 100% rename from published/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md rename to published/202211/20221121.3 ⭐️⭐️ 5 htop Alternatives to Enhance Your Linux System Monitoring Experience.md diff --git a/published/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md b/published/202211/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md similarity index 100% rename from published/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md rename to published/202211/20221122.1 ⭐️⭐️ macOS Alternative helloSystem (0.7.0) is moving towards stability.md diff --git a/published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md b/published/202211/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md similarity index 100% rename from published/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md rename to published/202211/20221125.1 ⭐️ Excellent News! Midori Browser to Integrate its Own Open Source Engine for a Strong Comeback.md From dec16838261822d9903720a6fb2e4db16d6ddad0 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 1 Dec 2022 09:01:01 +0800 Subject: [PATCH 598/925] translating --- sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md index b44bf66c2d..c5581962f0 100644 --- a/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md +++ b/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/lua-command-arguments" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1ab8e7ebf8457ed8fb49b53afe4067cd3ee071c9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 1 Dec 2022 09:41:44 +0800 Subject: [PATCH 599/925] RP @chai001125 https://linux.cn/article-15306-1.html --- ...en-Source Signal Protocol for Encrypted DMs.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) rename {translated/news => published}/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md (69%) diff --git a/translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/published/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md similarity index 69% rename from translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md rename to published/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md index 94754d9ab7..d4a75354af 100644 --- a/translated/news/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md +++ b/published/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md @@ -3,22 +3,26 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15306-1.html" -埃隆马斯克的推特将添加开源 Signal 协议,实现加密私信 +埃隆·马斯克的 Twitter 将添加开源 Signal 协议,实现加密私信 ====== -今年早些时候,埃隆马斯克 [在推特上表示][1]:Twitter 的 私信 Direct Messages (DM)需要像 Signal 协议这样的 端到端加密 End-to-End Encryption 。 +> 埃隆·马斯克证实,加密的私信即将到来! 这是好东西。 + +![](https://news.itsfoss.com/content/images/size/w2000/2022/11/twitter-to-add-signal-encrypted-dms.png) + +今年早些时候,埃隆·马斯克 [在 Twitter 上表示][1]:Twitter 的 私信 Direct Messages (DM)需要像 Signal 协议这样的 端到端加密 End-to-End Encryption 。 早在 2016 年,**爱德华·斯诺登**就 [要求][2] Twitter 的前首席执行官兼联合创始人**杰克·多尔西**添加 Signal 协议类似的安全措施到 Twitter 平台。 但是,这个协议从来没有被添加到 Twitter。它可能经过测试但还未部署实施。 -根据最近的公告,Twitter 似乎即将实现这个安全协议😌。 +根据最近的公告,Twitter 似乎即将实现这个安全协议 😌。 -Elon 分享了他在公司演讲中的几张幻灯片,其中就包括为 Twitter 2.0 路线图规划的“**加密私信**”。 +马斯克分享了他在公司演讲中的几张幻灯片,其中就包括为 Twitter 2.0 路线图规划的“**加密私信**”。 ### 🔒 Twitter 通信的 Signal 协议 @@ -26,31 +30,29 @@ Elon 分享了他在公司演讲中的几张幻灯片,其中就包括为 Twitt 虽然有一些安全研究员,例如 [黄文津][4],已经在 Twitter 的 iOS 和 Android 应用程序中发现了对 [Signal 协议][5] 的代码引用。 -但是直到现在,埃隆马斯克才在 [推文][6] 中确认了该计划,该推文介绍了根据 **“Twitter 2.0”** 路线图将对 Twitter 平台进行的改进。 +但是直到现在,埃隆·马斯克才在 [推文][6] 中确认了该计划,该推文介绍了根据 **“Twitter 2.0”** 路线图将对 Twitter 平台进行的改进。 -换句话说,埃隆马斯克正式确认 Twitter 即将推出**加密的私信**。 +换句话说,埃隆·马斯克正式确认 Twitter 即将推出**加密私信**。 ![twitter dm signal protocol][7] -**对于那些不知道 Signal 协议的人**,我们简要地介绍一下 Signal 协议:Signal 协议是一种开源的加密协议,它允许以 完全前向保密 ([PFS][8]) perfect forward secrecy 方式实施端到端加密。 +**对于那些不知道 Signal 协议的人**,我们简要地介绍一下 Signal 协议:Signal 协议是一种开源的加密协议,它允许以 [完全前向保密][8] perfect forward secrecy (PFS)方式实施端到端加密。 -该协议使用 “_双棘轮算法_” Double Ratchet algorithm ,通信双方根据不断变化的共享密钥,来交换加密的消息。 +该协议使用 “双棘轮算法 Double Ratchet algorithm ”,通信双方根据不断变化的共享密钥,来交换加密的消息。 这确保没有第三方可以得到通信消息的内容,因为共享密钥仅存在于通信双方的设备上。 [Signal][9] 应用程序充分利用了这个方法。但是,进一步来说,还有几个以隐私为中心的替代方案: -[不想用 WhatsApp 这一通讯软件?这是 WhatsApp 的 5 种更好的隐私替代方案][10] +(LCTT 译注:Signal 协议是一种真正的端到端加密的通讯协议,号称是世界上最安全的通讯协议。只有参与通讯的用户可以读取并解密信息,而任何第三方(包括服务器)都无法查看到通讯的内容。总的来说,它可以防止潜在的窃听者(包括:通信服务商、互联网服务提供商甚至是该通讯系统的提供者),获取能够用以解密通讯内容的密钥。目前有大量即时通讯软件也使用或借鉴参考了 Signal 协议,例如:Skype、What'sApp、Facebook Messenger) -(LCTT 译注:Signal 协议是一种真正的端到端加密的通讯协议,号称是世界上最安全的通讯协议。只有参与通讯的用户可以读取并解密信息,而任何第三方(包括服务器)都无法查看到通讯的内容。总的来说,它可以防止潜在的窃听者(包括:通信服务商、互联网服务提供商甚至是该通讯系统的提供者),获取能够用以解密通讯内容的密钥。目前有大量即时通讯软件也使用或借鉴参考了 Signal 协议,例如:Skype、What’sApp、Facebook Messenger) - -**Signal 协议如何帮助 Twitter DM?** +#### Signal 协议如何帮助 Twitter DM? 它可以防止恶意攻击者和政府去窥探 Twitter 用户的消息,从而使 Twitter 成为一个更加安全的平台。 Twitter 添加加密私信会对举报人、记者和社会活动家有益,因为他们经常会因其工作而面临被审查或成为攻击目标。 -诚然,就隐私而言,加密私信可能不是最严厉的保护措施。但**有总比没有好**。 +诚然,就隐私而言,加密私信可能不是最严格的保护措施。但**有总比没有好**。 ### 🔏 加密消息应该成为通讯软件的标准 @@ -67,7 +69,7 @@ via: https://news.itsfoss.com/twitter-signal/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From e0d804f3ce6acd05ed9502c5e7eda08750890073 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 1 Dec 2022 15:13:17 +0800 Subject: [PATCH 600/925] RP @geekpi https://linux.cn/article-15308-1.html --- ...OpenOffice in Arch Linux [Beginner’s Guide].md | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) rename {translated/tech => published}/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md (65%) diff --git a/translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/published/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md similarity index 65% rename from translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md rename to published/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md index 9fefcb15a6..ed68a3711c 100644 --- a/translated/tech/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md +++ b/published/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md @@ -3,44 +3,46 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15308-1.html" 如何在 Arch Linux 中安装 OpenOffice(新手指南) ====== -**在 Arch Linux 及其衍生版中安装 OpenOffice 的初学者指南。** +![][0] -[OpenOffice][1] 是最古老的免费开源办公生产力套件,已经维护了一段时间。它是由 Apache 开发,尽管它已经被分叉为 LibreOffice,但仍然是一个受欢迎的套件。 +> 在 Arch Linux 及其衍生版中安装 OpenOffice 的初学者指南。 + +[OpenOffice][1] 是最古老的自由开源的办公生产力套件,已经维护了一段时间。它是由 Apache 开发,尽管它已经被分叉为 LibreOffice,但仍然是一个受欢迎的套件。 本教程适用于那些想要安装 OpenOffice 以满足工作和其他需要的人。 -**注意**:在安装之前,请记住许多更新的功能和与 Microsoft Office 的兼容性在 OpenOffice 中并未得到完全支持。如果你想要更现代的 Office 套件版本,请尝试 [LibreOffice][2]。 +**注意**:在安装之前,请记住许多更新的功能和与微软 Office 的兼容性在 OpenOffice 中并未得到完全支持。如果你想要更现代的 Office 套件版本,请尝试 [LibreOffice][2]。 ### 在 Arch Linux 中安装 OpenOffice -[OpenOffice 软件包][3]在 Arch 用户仓库中可用。因此,要安装它,你需要使用 Aur 助手程序。这是你需要做的。按照下面提到的步骤安装 Yay AUR 助手。如果你想了解有关 Yay 的更多信息,请参阅[此处提供][4]的详细指南。 +[OpenOffice 软件包][3] 在 Arch 用户仓库中可用。因此,要安装它,你需要使用 AUR 助手程序。这是你需要做的。按照下面提到的步骤安装 Yay AUR 助手。如果你想了解有关 Yay 的更多信息,请参阅 [此处提供][4] 的详细指南。 -- 依次运行以下命令来安装基本包并克隆 Yay。 +依次运行以下命令来安装基本包并克隆 Yay: ``` sudo pacman -S base-develsudo pacman -S gitcd /optsudo git clone https://aur.archlinux.org/yay.git ``` -- 通过将 `debugpoint` 替换为你的 Arch 系统的用户名来运行以下命令。 +通过将 `debugpoint` 替换为你的 Arch 系统的用户名来运行以下命令: ``` sudo chown -R debugpoint:users ./yay ``` -- 最后,使用以下命令安装 AUR 助手。 +最后,使用以下命令安装 AUR 助手: ``` cd yaymakepkg -si ``` -- 完成后,使用以下命令安装 OpenOffice: +完成后,使用以下命令安装 OpenOffice: ``` yay -S openoffice-bin @@ -58,7 +60,7 @@ yay -S openoffice-bin ### 总结 -使用上述方法,你还可以在 Majnaro 和其他基于 Arch Linux 的发行版中安装 OpenOffice。尽管它是一个较旧的办公生产力套件,但你应该记住,它并不完全兼容现代 Microsoft Office 文档类型(例如 docx、xlsx)。 +使用上述方法,你还可以在 Majnaro 和其他基于 Arch Linux 的发行版中安装 OpenOffice。尽管它是一个较旧的办公生产力套件,但你应该记住,它并不完全兼容现代微软 Office 文档类型(例如 docx、xlsx)。 如果你在安装过程中遇到任何错误,请在下面的评论栏中给我们留言。 @@ -69,7 +71,7 @@ via: https://www.debugpoint.com/install-openoffice-arch/ 作者:[Arindam][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/) 荣誉推出 @@ -82,3 +84,4 @@ via: https://www.debugpoint.com/install-openoffice-arch/ [5]: https://www.debugpoint.com/wp-content/uploads/2022/11/Install-OpenOffice-in-Arch-Linux-via-Yay-helper.jpg [6]: https://www.debugpoint.com/wp-content/uploads/2022/11/OpenOffice-in-Arch-Linux-Application-Menu-XFCE.jpg [7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Latest-OpenOffice-running-in-Arch-Linux.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202212/01/151227rcrfy8marckyftyg.jpg \ No newline at end of file From 69035db5ba81b86ef7cb4c92b3405afe86aae2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 21:32:36 +0800 Subject: [PATCH 601/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221130.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ex?= =?UTF-8?q?odia=20OS=20Emerging=20BSPWM-based=20Arch=20Linux=20for=20Pente?= =?UTF-8?q?sters.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Emerging BSPWM-based Arch Linux for Pentesters.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md diff --git a/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md b/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md new file mode 100644 index 0000000000..d0356a01de --- /dev/null +++ b/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md @@ -0,0 +1,146 @@ +[#]: subject: "Exodia OS: Emerging BSPWM-based Arch Linux for Pentesters" +[#]: via: "https://www.debugpoint.com/exodia-os-first-look/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Exodia OS: Emerging BSPWM-based Arch Linux for Pentesters +====== + +**Meet Exodia OS, an Arch-Linux-based distribution in the making**, **for general and advanced usage. Here’s a first look.** + +![Exodia OS home edition][1] + +### Exodia OS: First Look + +A small team of Arch Linux enthusiasts from Egypt is developing Exodia OS based on BSP window manager (BSPWM). The primary use case of this distribution is to be a perfect distro for wire & wireless penetration testing by providing all the necessary tools by default (similar to Kali Linux). + +Exodia OS currently features three editions. The “wireless” edition brings 400+ pre-installed tools for both wire and wireless pen-testers. + +The “home” edition is primarily for daily use and general users. It features all the basic tools and apps for your general use. + +And finally, a third edition called the “predator” edition, specially designed for Acer Predator series Laptops. + +### Installation and first impression + +For this quick review, I did a test run in [Virtualbox][2] virtual machine with the “home” edition. + +The installation was pretty smooth with the Calamares installer. No surprise there. Because a well-customized Calamares hardly fails. After a successful boot, you get a nice login screen with a custom lightdm theme. + +![Exodia-OS login screen - home edition][3] + +In my personal opinion, all the window manager looks way better than desktop environments. And fast too. At its core, Exodia OS uses the BSPWM tiling window manager with custom themes preloaded. There are a total of 16 cool themes pre-loaded, which you can apply via theme chooser (CTRL+ALT+T). + +![Default BSPWM themes][4] + +### BSPWM and themes + +The 16 themes are combined with the context menu [jgmenu][5] and [rofi][6] launcher. When you change the theme, Exodia OS also changes the underlying rofi launcher and themes. + +The jgmenu is super productive with runtime search for applications and settings – which really saves time. In addition, you can browse thru the list of well-categorised apps. Furthermore, jgmneu is completely keyboard-driven, saving your workflow more time. + +![Dynamic search in jgmenu][7] + +![Rofi laucnher theme selector][8] + +![jgmenu looks stunning in BSPWM][9] + +Among all the themes, the top bar ([which is polybar][10]) is pre-selected with all the necessary items. And it’s clickable. The list of items which are available in the top bar: + +- Intelligent workspace switcher by app shortcuts +- Main menu launcher (jgmenu) +- Internet connection status (upload, download and network) +- Battery status, processor + +If you are playing music, a small section shows the artist’s name and playing controls. + +Also, you can see the update notifications. + +Furthermore, Exodia OS is configured to use tiling and floating windows while tiling. You can switch between them with keyboard combinations. + +![Exodia OS with Tiling in BSPWM][11] + +On another note, you can easily custom-make an awesome-looking Arch Linux box for yourself with jgmenu, dmenu, polybar and rofi! + +### Applications and sources + +The home edition is loaded with the application by default. This might be why an Arch distro’s ISO size is slightly over 3GB. However, most of the necessary apps are already installed. If you are a new user, you don’t need to go over the hassles of installing all those apps. + +Here’s a summary for the home edition: + +- Firefox web browser +- Thunar file manager +- Alacritty terminal +- Nitrogen wallpaper chooser +- Vim, Leafpad and Geany text editor +- GParted partition manager +- Timeshift backup tool +- Additional mix of GNOME and Xfce apps + +However, LibreOffice and the [desktop email client][12] are not installed. + +Furthermore, the “wireless” edition includes more applications in addition to the above list. Those are primarily for penetration testing. + +And the “predator” edition features special utilities such as PredatorSense to control CPU/GPU fans and the Keybaord RGB colour of these high-end Acer predator laptops. + +Exodia OS features a set of cool anime-flavoured wallpaper to beautify your Arch Linux further. + +### Performance + +Exodia OS consumes around 875 MB of memory at idle, and the CPU is at 7% average for all cores. And it may go higher from this baseline as you start launching for applications. + +![Exodia OS - performance (idle)][13] + +Most of the resources are consumed by the polybar, X11 and systems for several services. + +Being an Arch distro with the window manager, this metric might be slightly higher due to many pre-built customizations and processes. + +Overall, it should perform fast in recent hardware (not more than five years old). + +### Wrapping up + +Exodia OS is a newborn project and is still under development by a small team from Egypt. It seems the target audience is the security researchers who want a pre-built system with an Arch Linux base. Although, Debian-based Kali Linux is the “go-to” distro for anything related to security and hacking workflow. But Exodia OS might try to be the same with an Arch base. + +The good thing about being an Arch-based distro is – you get easy access to the largest repo with thousands of packages with rolling-release. Plus, the one and only [ArchWiki][14] and documentation. + +With that said, if you want to try it, test it in a [virtual machine][15] before installing it in the physical system. The LIVE medium has a user id `liveuser`, and the password is `exodia`. Also, make sure you know the key bindings of BSPWM before trying it out. The close window combination is `Super+Shift+C`. + +You can download all three editions of ISO files from the [official website][16]. + +Cheers. + +[Next:Download Firefox Browser: All Version Links and Details][17] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/exodia-os-first-look/ + +作者:[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/11/Exodia-OS-home-edition.jpg +[2]: https://www.debugpoint.com/tag/virtualbox +[3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-login-screen-home-edition.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Default-BSPWM-themes-150x93.jpg +[5]: https://jgmenu.github.io/screenshots.html +[6]: https://github.com/davatorium/rofi +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Dynamic-search-in-jgmenu-150x186.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Rofi-laucnher-theme-selector-150x93.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/11/jgmenu-looks-stunning-in-BSPWM.jpg +[10]: https://github.com/polybar/polybar +[11]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-with-Tiling-in-BSPWM.jpg +[12]: https://www.debugpoint.com/best-email-client-linux-windows/ +[13]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-performance-idle-150x109.jpg +[14]: https://wiki.archlinux.org/ +[15]: https://www.debugpoint.com/tag/virtual-machine +[16]: https://exodia-os.github.io/exodia-website/ +[17]: https://www.debugpoint.com/download-firefox/ From ef8415a7f3fe5ee2945bbcdd304813d0dab60be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 22:14:06 +0800 Subject: [PATCH 602/925] =?UTF-8?q?Update=2020221130.4=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Exodia=20OS=20Emerging=20BSPWM-ba?= =?UTF-8?q?sed=20Arch=20Linux=20for=20Pentesters.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md b/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md index d0356a01de..d5ae7edc63 100644 --- a/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md +++ b/sources/tech/20221130.4 ⭐️⭐️ Exodia OS Emerging BSPWM-based Arch Linux for Pentesters.md @@ -130,16 +130,16 @@ via: https://www.debugpoint.com/exodia-os-first-look/ [1]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-home-edition.jpg [2]: https://www.debugpoint.com/tag/virtualbox [3]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-login-screen-home-edition.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Default-BSPWM-themes-150x93.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/11/Default-BSPWM-themes.jpg [5]: https://jgmenu.github.io/screenshots.html [6]: https://github.com/davatorium/rofi -[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Dynamic-search-in-jgmenu-150x186.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Rofi-laucnher-theme-selector-150x93.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/11/Dynamic-search-in-jgmenu.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/11/Rofi-laucnher-theme-selector.jpg [9]: https://www.debugpoint.com/wp-content/uploads/2022/11/jgmenu-looks-stunning-in-BSPWM.jpg [10]: https://github.com/polybar/polybar [11]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-with-Tiling-in-BSPWM.jpg [12]: https://www.debugpoint.com/best-email-client-linux-windows/ -[13]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-performance-idle-150x109.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2022/11/Exodia-OS-performance-idle.jpg [14]: https://wiki.archlinux.org/ [15]: https://www.debugpoint.com/tag/virtual-machine [16]: https://exodia-os.github.io/exodia-website/ From 32554eae4360c994e653ab5c765e3d8f15eadc9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 1 Dec 2022 22:37:18 +0800 Subject: [PATCH 603/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221127.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Automatic?= =?UTF-8?q?ally=20Indent=20Your=20Code=20in=20Visual=20Studio=20Code.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ally Indent Your Code in Visual Studio Code.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md diff --git a/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md new file mode 100644 index 0000000000..fb2a25277f --- /dev/null +++ b/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md @@ -0,0 +1,95 @@ +[#]: subject: "How to Automatically Indent Your Code in Visual Studio Code" +[#]: via: "https://itsfoss.com/auto-indent-vs-code/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Automatically Indent Your Code in Visual Studio Code +====== + +The indent in code refers to the space you have at the beginning of the code line. Like other code editors and IDEs, VS Code allows you to indent your code automatically. + +You can set tabs or spaces or whatever you prefer for the indentation. + +Sounds good? Let’s see how to do it. + +### Enable automatic indent in VS Code + +There are multiple ways you can achieve this. In this guide, I will show you three ways to indent your code in visual studio code automatically. + +#### Method 1: Configuring global user settings + +You can access the global user settings via the command pallet. Use `Ctrl + Shift + P` to open the command pallet and search for `Open User Settings` and hit enter: + +![access user setting from command pallet in vscode][1] + +It will open up the settings. From there, you will have to search for `Auto Indent` and choose **Full** as an indent option in **Editor: Auto Indent**: + +![enable auto indent from global user settings in vscode][2] + +And the automatic indent is enabled and applied to every opened file in VSCode. + +#### Method 2: Using linter or formatter for automatic indent in VS Code + +In this method, you will be required to add extensions such as a code formatter or linter to have the desired results. + +Linters will identify the errors in code, whereas formatters will only format your code to make it more readable. You can search for code formatters in the [VSCode marketplace][3] specific to your programming language. + +And here are some of my favorite code formatters and linters for widely popular languages: + +- [C/C++][4]: For C and C++ programming language. +- [PHP][5]: For PHP. +- [markdownlint][6]: For markdown files. +- [Python][7]: For Python programming language. +- [ESLint][8]: For JSON and javascript. +- [Beautify][9]: For javascript, JSON, CSS, Sass, and HTML. + +Once you are done adding a formatter for your preferred programming language, you can press `Ctrl _ Shift + I` to format the code. + +Similarly, you can use do the same using the command pallet. Press `Ctrl + Shift + P` to and search for **Format document**, and hit enter. + +![indent code in VSCode][10] + +#### Method 3: Enable auto indent while saving the file + +VSCode allows you to format your code while saving it with a little tweak. Let me show you how. + +Press `Ctrl + ,` and it will open the user settings prompt. From there, search for **Format On Save**: + +![enable format on save option][11] + + And from now on, your files will add an indent automatically when you save them. + +### Wrapping Up + +In this guide, I explained how you can add an indent automatically in VSCode. I would recommend using the second method for better flexibility. + +I hope you will find this guide helpful and if you have any queries or suggestions, let me know in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/auto-indent-vs-code/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/access-user-setting-from-command-pallet-in-vscode.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/enable-auto-indent-from-global-user-settings-in-vscode.png +[3]: https://marketplace.visualstudio.com/vscode +[4]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools +[5]: https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode +[6]: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint +[7]: https://marketplace.visualstudio.com/items?itemName=ms-python.python +[8]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint +[9]: https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify +[10]: https://itsfoss.com/wp-content/uploads/2022/11/format-document-.gif +[11]: https://itsfoss.com/wp-content/uploads/2022/11/enable-format-on-save-option.png From 32212b0c2a182cdb523689c68de27a096f58f3fd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 2 Dec 2022 09:10:35 +0800 Subject: [PATCH 604/925] ALL @wxy https://linux.cn/article-15309-1.html --- ... Testing Begins with New Features, Packages.md | 58 +++++++++++++++++++ ... Testing Begins with New Features, Packages.md | 58 ------------------- 2 files changed, 58 insertions(+), 58 deletions(-) create mode 100644 published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md delete mode 100644 sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md diff --git a/published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md b/published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md new file mode 100644 index 0000000000..74843d60dd --- /dev/null +++ b/published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md @@ -0,0 +1,58 @@ +[#]: subject: "Bodhi Linux 7.0.0 Testing Begins with New Features, Packages" +[#]: via: "https://debugpointnews.com/bodhi-linux-7-0-0-testing/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15309-1.html" + +Bodhi Linux 7.0.0 开始测试新的功能和软件包 +====== + +> Bodhi Linux 团队为即将发布的 Bodhi Linux 7.0.0 版本启动了 Alpha 测试。 + +![Bodhi Linux 7.0.0 桌面][1] + +Bodhi Linux 基于 Ubuntu LTS,其带有基于 Enlightenment 的 Moksha 桌面环境。Moksha 桌面是轻量级的,同时也是一个养眼的桌面。此外,它只包括了可以让你开始使用的基本的应用程序。 + +目前的 Bodhi Linux 6 系列基于 Ubuntu 20.04 LTS,发布于 2021 年,正好在 Ubuntu 20.04 LTS 发布后。即将推出的 Bodhi Linux 7.0.0 将基于今年 4 月发布的 Ubuntu 22.04 LTS,带来了基于 Ubuntu 稳定性和更新的软件包。 + +在其核心部分,它采用与 Ubuntu 22.04 一致的 Linux 5.15 LTS 内核。你可以得到基于最新的 Enlightenment 桌面/Enlightenment 基础库(EFL)的改进的 Mokhsna 桌面环境。 + +由于官方的变化日志还没有发布,这里是你在这个版本中得到的版本的一个快速总结。 + +### Bodhi Linux 7.0.0 摘要(暂定) + +- 基于 Ubuntu 22.04 LTS “Jammy Jellyfish” +- Linux 5.15 LTS 内核 +- Enlightenment 基础库(EFL)1.26.99 +- Moksha 桌面 0.4.0 +- Python 3.10 +- Systemd 249.11 + +### 下载 + +该团队建议,这个预发布版本是不稳定的,不应该用于你的日常工作。不过,如果你想体验一下,可以从下面的链接下载。 + +> **[下载][2]** + +### 时间表 + +Alpha 测试阶段应该持续两个月左右,然后是候选版本。之后是最终版本。从时间上看,根据历史记录 —— Alpha 测试大约持续两个月,然后是一个月的 RC 测试。因此,暂定的最终发布日期为 2023 年 2 月底或 3 月初。 + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/bodhi-linux-7-0-0-testing/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/11/Bodhi-Linux-7.0.0-Desktop.jpg +[2]: https://sourceforge.net/projects/bodhidev/files/7.0.0-alpha/ diff --git a/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md b/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md deleted file mode 100644 index d14062bf06..0000000000 --- a/sources/news/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md +++ /dev/null @@ -1,58 +0,0 @@ -[#]: subject: "Bodhi Linux 7.0.0 Testing Begins with New Features, Packages" -[#]: via: "https://debugpointnews.com/bodhi-linux-7-0-0-testing/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Bodhi Linux 7.0.0 Testing Begins with New Features, Packages -====== - -**Bodhi Linux team started the testing phase with its recent Alpha packages for the upcoming Bodhi Linux 7.0.0 release.** - -![Bodhi Linux 7.0.0 Desktop][1] - -Bodhi Linux is based on Ubuntu LTS and features the Enlightenment-based Moksha desktop environment. Moksha desktop is lightweight while being an eye-candy desktop. In addition, it only includes base applications to get you started. - -The current Bodi Linux 6 series is based on Ubuntu 20.04 LTS and was released in 2021, just following the release of Ubuntu 20.04 LTS. The upcoming Bodhi Linux 7.0.0 will be based on Ubuntu 22.04 LTS, which was released in April this year, bringing all the stable and refreshed packages from the Ubuntu base. - -At its core, it is based on Linux Kernel 5.15 LTS aligned with Ubuntu 22.04. With that, you get the improved Mokhsna desktop environment based on the latest Enlightenment desktop/Enlightenment foundation library (efl). - -Since the official change log is not yet available, here’s a quick summary of the versions you get in this release. - -### Summary of Bodhi Linux 7.0.0 (tentative) - -- Based on Ubuntu 22.04 LTS, Jammy Jellyfish -- Linux Kernel 5.15 LTS -- Enlightenment Foundation Library (efl) 1.26.99 -- Moksha Desktop 0.4.0 -- Python 3.10 -- Systemd 249.11 - -### Download - -The team suggested that this pre-release version is unstable and should not be used for your daily work. However, if you want to give it a spin, you can download it from the below link. - -[Download][2] - -### Timelines - -The Alpha testing phase should go on for about two months, and then a release candidate version. And the final release after that. Timeline-wise, as per the historical records – alpha testing goes on for about two months and a month of RC testing. So, that gives a tentative final release date of February 2023-end or beginning of March 2023. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/bodhi-linux-7-0-0-testing/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/11/Bodhi-Linux-7.0.0-Desktop.jpg -[2]: https://sourceforge.net/projects/bodhidev/files/7.0.0-alpha/ From aedeb749cf676bee8b6ff9094d581a90b38889ef Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 2 Dec 2022 09:19:58 +0800 Subject: [PATCH 605/925] translating --- .../20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md index 4098162525..938ced0d56 100644 --- a/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md +++ b/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/lua-for-loops" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ad36628e3345d3c9dfec7e6e6880646c0bf4194a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 2 Dec 2022 09:26:53 +0800 Subject: [PATCH 606/925] RP @chai001125 https://linux.cn/article-15310-1.html --- ...️ Find bugs with the git bisect command.md | 53 +++++++++++-------- 1 file changed, 31 insertions(+), 22 deletions(-) rename {translated/tech => published}/20221122.0 ⭐️ Find bugs with the git bisect command.md (56%) diff --git a/translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md b/published/20221122.0 ⭐️ Find bugs with the git bisect command.md similarity index 56% rename from translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md rename to published/20221122.0 ⭐️ Find bugs with the git bisect command.md index 948e255712..f870c884c0 100644 --- a/translated/tech/20221122.0 ⭐️ Find bugs with the git bisect command.md +++ b/published/20221122.0 ⭐️ Find bugs with the git bisect command.md @@ -3,34 +3,38 @@ [#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15310-1.html" -使用 git bisect 命令定位首次引入错误的提交 +使用 Git bisect 命令定位首次引入错误的提交 ====== -你是不是有过这样的经历:发现代码中有 错误 bug ,但不知道这个错误是什么时候第一次引入的。这有可能是因为,某个人提交了一份有错误的代码,但没有在他的 Git 提交 commit 消息中声明这个错误。这个错误可能已经存在了几周、几个月甚至几年,这意味着你需要搜索数百或数千个提交,才能找到问题何时出现的。而 `git bisect` 命令能够完美地解决这个问题! +![][0] -`git bisect` 命令是一个强大的工具。你可以给 `git bisect` 命令一个范围,一端是一个已知的好状态,另一端是一个已知的坏状态。它会自动地确认当前范围的中点,在这个中点上进行测试,然后要求你告诉它那次提交是一个 好提交 good commit 还是一个 坏提交 bad commit ,然后它会重复这一“二分查找”的过程,直到你找到首次引入错误的那一次提交。 +> Git 的 bisect 工具通过快速识别坏的提交,节省了时间和精力。 + +你是不是有过这样的经历:发现代码中有 错误 bug ,但不知道这个错误是什么时候引入的。这有可能是因为,某个人提交了一份有错误的代码,但没有在他的 Git 提交 commit 消息中声明它。这个错误可能已经存在了几周、几个月甚至几年,这意味着你需要搜索数百或数千个提交,才能找到问题何时出现的。而 `git bisect` 命令能够完美地解决这个问题! + +`git bisect` 命令是一个强大的工具。你可以给 `git bisect` 命令一个范围,一端是一个已知的好状态,另一端是一个已知的坏状态。它会自动地确认当前范围的中点,在这个中点上进行测试,然后要求你确定那次提交是一个 好提交 good commit 还是一个 坏提交 bad commit ,然后它会重复这一“二分查找”的过程,直到你找到首次引入错误的那一次提交。 ![Image of Zeno's paradox of Achilles.][1] -这个“数学”工具是利用“二分查找”来找到错误之处的。`git bisect` 命令通过**查看中点**,然后由你来决定它是提交列表的新起点(即 bad commit )还是新终点(即 good commit),进而来缩小查找范围,如此在几次查找中你可以就能定位到有错误的提交。即使你有 10,000 个提交要检查,最多只需要 13 次查找,就能很快地定位到首次引入错误的提交。 +这个“数学”工具是利用“二分查找”来找到错误之处的。`git bisect` 命令通过**查看中点**,然后由你来决定它是提交列表的新起点(即 “坏提交” )还是新终点(即 “好提交”),进而来缩小查找范围,如此在几次查找中你可以就能定位到有错误的提交。即使你有 10,000 个提交要检查,最多只需要 13 次查找,就能很快地定位到首次引入错误的提交。 -- commit 1 bad <> commit 10,000 good => commit 5,000 is bad -- commit 5,000 bad <> commit 10,000 good => commit 7,500 is good -- commit 5,000 bad <> commit 7,500 good => commit 6,250 is good -- commit 5,000 bad <> commit 6,250 good => commit 5,625 is bad -- commit 5,625 bad <> commit 6,250 good => commit 5,938 is bad -- commit 5,938 bad <> commit 6,250 good => commit 6,094 is good -- commit 5,938 bad <> commit 6,094 good => commit 6,016 is bad -- commit 6,016 bad <> commit 6,094 good => commit 6,055 is good -- commit 6,016 bad <> commit 6,055 good => commit 6,036 is bad -- commit 6036 bad <> commit 6055 good => commit 6046 is bad -- commit 6,046 bad <> commit 6,055 good => commit 6,050 is bad -- commit 6,050 bad <> commit 6,055 good => commit 6,053 is good -- commit 6,053 bad <> commit 6,055 good => commit 6,054 is good +1. 提交 1 坏 <> 提交 10,000 好 => 提交 5,000 是坏的 +2. 提交 5,000 坏 <> 提交 10,000 好 => 提交 7,500 是好的 +3. 提交 5,000 坏 <> 提交 7,500 好 => 提交 6,250 是好的 +4. 提交 5,000 坏 <> 提交 6,250 好 => 提交 5,625 是坏的 +5. 提交 5,625 坏 <> 提交 6,250 好 => 提交 5,938 是坏的 +6. 提交 5,938 坏 <> 提交 6,250 好 => 提交 6,094 是好的 +7. 提交 5,938 坏 <> 提交 6,094 好 => 提交 6,016 是坏的 +8. 提交 6,016 坏 <> 提交 6,094 好 => 提交 6,055 是好的 +9. 提交 6,016 坏 <> 提交 6,055 好 => 提交 6,036 是坏的 +10. 提交 6,036 坏 <> 提交 6,055 好 => 提交 6,046 是坏的 +11. 提交 6,046 坏 <> 提交 6,055 好 => 提交 6,050 是坏的 +12. 提交 6,050 坏 <> 提交 6,055 好 => 提交 6,053 是好的 +13. 提交 6,053 坏 <> 提交 6,055 好 => 提交 6,054 是好的 对于上面这个例子,我们能知道 10,000 个提交中的第一个错误提交是第 6053 次提交。对于 `git bisect` 命令,最多需要几分钟就能完成检索。但是如果要一个一个查找每个提交是否错误,我甚至无法想象需要多长时间。 @@ -52,7 +56,11 @@ Git 检查中间的提交,并等待你声明这次提交是一个好提交还 ``` $ git bisect good -## or +``` + +或 + +``` $ git bisect bad ``` @@ -71,10 +79,11 @@ via: https://opensource.com/article/22/11/git-bisect 作者:[Dwayne McDaniel][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://opensource.com/users/dwaynemcdaniel [b]: https://github.com/lkxed [1]: https://opensource.com/sites/default/files/2022-11/beyondgit.paradox.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/02/092549j2o7h9cif3hcu34z.jpg \ No newline at end of file From 97be4259df537637b146f5b637911183cb4b14f7 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 2 Dec 2022 09:40:48 +0800 Subject: [PATCH 607/925] translated --- ...⭐️ Get to know Lua for loops in 4 minutes.md | 140 ------------------ ...⭐️ Get to know Lua for loops in 4 minutes.md | 140 ++++++++++++++++++ 2 files changed, 140 insertions(+), 140 deletions(-) delete mode 100644 sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md create mode 100644 translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md diff --git a/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md deleted file mode 100644 index 938ced0d56..0000000000 --- a/sources/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md +++ /dev/null @@ -1,140 +0,0 @@ -[#]: subject: "Get to know Lua for loops in 4 minutes" -[#]: via: "https://opensource.com/article/22/11/lua-for-loops" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Get to know Lua for loops in 4 minutes -====== - -In programming, iteration is an important concept because code often must scan over a set of data several times so that it can process each item individually. Control structures enable you to direct the flow of the program based on conditions that are often established dynamically as the program is running. Different languages provide different controls, and in [Lua][1], there's the while loop, for loop, and repeatuntil loop. This article covers for loops. I will cover while and repeat until loops in a separate article. - -### For loop - -A for loop takes a known quantity of items and ensures that each item is processed. An "item" can be a number. It can also be a table containing several entries or any Lua data type. The syntax and logic are a little flexible, but the syntax allows for these parameters, each of which essentially describes a counter: - -- Starting value of the counter -- Stop value -- The increment you want the counter to advance - -For instance, suppose you have three items and want Lua to process each. Your counter could start at 3 and last until 1, at an increment of -1. That renders the count of 3, 2, 1. - -``` -mytable = { "zombie", "Halloween", "apocalypse" } -for count = 3, 1, -1 do -  print(count .. ": " .. mytable[count]) -end -``` - -Run the code to ensure all three items are getting processed: - -``` -$ lua ./for.lua3: apocalypse2: Halloween1: zombie -``` - -This code effectively processed the table in "reverse" because it was a countdown. You can count up, instead: - -``` -for count = 1, 3, 1 do -  print(mytable[count]) -end -``` - -This example processes the table from lowest index to highest: - -``` -$ lua ./for.lua1: zombie2: Halloween3: apocalypse -``` - -### Increments - -You can change the increment, too. For instance, maybe you want a zombie apocalypse without all the pomp and circumstance of Halloween: - -``` -mytable = { "zombie", "Halloween", "apocalypse" } -for count = 1, 3, 2 do -  print(mytable[count]) -end -``` - -Run the code: - -``` -$ lua ./for.lua -zombie -apocalypse -``` - -The example printed 1 and 3 because the first count was 1, which was then incremented by 2 (for a total of 3). - -### Counter - -Sometimes you don't know the number of times you need Lua to iterate over data. In this case, you can set your counter to a variable populated by some other process. - -Also, the word `count` isn't a keyword. It's just what I'm using in my sample code for clarity. It's common for programmers to use something shorter, such as `i` or `c`. - -``` -var = os.time() -if var%2 == 0 then -  mytable = { var } -else -  mytable = { "foo", "bar", "baz" } -end -for c = 1, #mytable, 1 do -  print(mytable[c]) -end -``` - -This code creates a variable containing the timestamp of when it was launched. If the timestamp is even (it has a modulo of 0 when divided by 2), then just the timestamp is placed into a table. If the timestamp is odd, it puts three strings into a table. - -Now you can't be sure how many times your for loop needs to run. It's either once or thrice, but there's no way to be sure. The solution is to set the starting count to 1 and the final count to the length of the table (`#mytable` is the built-in shortcut to determine the length of a table). - -It might take a few times of running the script to see both results, but eventually, you end up with something like this: - -``` -$ lua ./dynamic.lua1665447960 -$ lua ./dynamic.lua -foo -bar -baz -``` - -### For loops with pairs and ipairs - -If you've already read my article on [table iteration][2], then you're already familiar with one of the most common for loops in Lua. This one uses the `pairs` or `ipairs` function to iterate over a table: - -``` -mytable = { "zombie", "Halloween", "apocalypse" } -for i,v in ipairs(mytable) do -  print(i .. ": " v) -end -``` - -The `pairs` and `ipairs` functions "unpack" the table and dump the values into the variables you provide. In this example, I use `i` for _index_ and `v` for _value_, but the variables' names don't matter. - -``` -$ lua ./for.lua1: zombie2: Halloween3: apocalypse -``` - -### For loop - -The for loop structure is common in programming and very common in Lua due to its frequent use of tables and the `pairs` function. Understanding the for loop structure and the options you have when controlling it means you can make clever decisions about how to process data in Lua. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/lua-for-loops - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/11/lua-worth-learning -[2]: https://opensource.com/article/22/11/iterate-over-tables-lua diff --git a/translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md new file mode 100644 index 0000000000..f2753b859d --- /dev/null +++ b/translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md @@ -0,0 +1,140 @@ +[#]: subject: "Get to know Lua for loops in 4 minutes" +[#]: via: "https://opensource.com/article/22/11/lua-for-loops" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +4 分钟了解 Lua for 循环 +====== + +在编程中,迭代是一个重要的概念,因为代码通常必须多次扫描一组数据,以便它可以单独处理每个项目。控制结构使你能够根据通常在程序运行时动态建立的条件来指导程序的流程。不同的语言提供不同的控制,在 [Lua][1] 中,有 while 循环、for 循环和 repeatuntil 循环。本文介绍 for 循环。我将在另一篇文章中介绍 while 和 repeat until 循环。 + +### For 循环 + +for 循环采用已知数量的项目并确保处理每个项目。“项目”可以是数字。它也可以是一个包含多个条目或任何 Lua 数据类型的表。语法和逻辑有点灵活,但语法允许这些参数,每个参数本质上描述了一个计数器: + +- 计数器的起始值 +- 停止值 +- 你希望计数器前进的增量 + +例如,假设你有三个项目并希望 Lua 处理每个项目。你的计数器可以从 3 开始一直持续到 1,增量为 -1。这呈现为 3、2、1 的计数。 + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for count = 3, 1, -1 do +  print(count .. ": " .. mytable[count]) +end +``` + +运行代码以确保所有三个项目都得到处理: + +``` +$ lua ./for.lua3: apocalypse2: Halloween1: zombie +``` + +这段代码有效地“反向”处理了表,因为它是倒数。你可以正数: + +``` +for count = 1, 3, 1 do +  print(mytable[count]) +end +``` + +此示例从最低索引到最高索引处理表: + +``` +$ lua ./for.lua1: zombie2: Halloween3: apocalypse +``` + +### 增量 + +你也可以更改增量。例如,也许你想要一个没有万圣节盛况的僵尸启示录: + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for count = 1, 3, 2 do +  print(mytable[count]) +end +``` + +运行代码: + +``` +$ lua ./for.lua +zombie +apocalypse +``` + +该示例打印了 1 和 3,因为第一个计数是 1,然后递增 2(总共 3)。 + +### 计数器 + +有时你不知道需要 Lua 遍历数据的次数。在这种情况下,你可以将计数器设置为由其他进程填充的变量。 + +另外,`count` 这个词不是关键字。为了清楚起见,这正是我在示例代码中使用的内容。程序员通常使用更短的名称,例如 `i` 或 `c`。 + +``` +var = os.time() +if var%2 == 0 then +  mytable = { var } +else +  mytable = { "foo", "bar", "baz" } +end +for c = 1, #mytable, 1 do +  print(mytable[c]) +end +``` + +此代码创建一个变量,其中包含启动时的时间戳。如果时间戳是偶数(除以 2 时模数为 0),则只将时间戳放入表中。如果时间戳是奇数,它将三个字符串放入一个表中。 + +现在你无法确定您的 for 循环需要运行多少次。可能是一次或是三次,但没有办法确定。解决方案是将起始计数设置为 1,将最终计数设置为表的长度(`#mytable` 是确定表长度的内置快捷方式)。 + +可能需要多次运行脚本才能看到这两个结果,但最终,你会得到如下结果: + +``` +$ lua ./dynamic.lua1665447960 +$ lua ./dynamic.lua +foo +bar +baz +``` + +### 带 pairs 和 ipairs 的 for 循环 + +如果你已经阅读了我关于[表迭代][2]的文章,那么你已经熟悉了 Lua 中最常见的 for 循环之一。这个使用 `pairs` 或 `ipairs` 函数来迭代一个表: + +``` +mytable = { "zombie", "Halloween", "apocalypse" } +for i,v in ipairs(mytable) do +  print(i .. ": " v) +end +``` + +`pairs` 和 `ipairs` 函数“解包”表并将值转储到你提供的变量中。在此示例中,我将 `i` 用于 _index_,将 `v` 用于 _value_,但变量名称无关紧要。 + +``` +$ lua ./for.lua1: zombie2: Halloween3: apocalypse +``` + +### For 循环 + +for 循环结构在编程中很常见,由于经常使用表和 pairs 函数,因此在 Lua 中非常常见。了解 for 循环结构和控制它时的选项意味着你可以就如何在 Lua 中处理数据做出明智的决定。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/lua-for-loops + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/11/lua-worth-learning +[2]: https://opensource.com/article/22/11/iterate-over-tables-lua From ba9948d2363787a0458451eb4f07a6b24dd4d13c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 3 Dec 2022 09:56:26 +0800 Subject: [PATCH 608/925] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ils 5.7 Releases With Metadata Cleaner Tool.md | 79 ---------- ...17 is out with OpenSSL 3.0 and new packages.md | 58 -------- ... VLC 3.0.18 Release Brings RISC-V Support.md | 94 ------------ ....5.0 Released as its Biggest Feature Update.md | 136 ------------------ ...ls 1.31 Release Adds Fractional Scaling Support.md | 70 --------- 5 files changed, 437 deletions(-) delete mode 100644 sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md delete mode 100644 sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md delete mode 100644 sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md delete mode 100644 sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md delete mode 100644 sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md diff --git a/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md b/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md deleted file mode 100644 index 0d041a485d..0000000000 --- a/sources/news/20221123.3 ⭐️ Tails 5.7 Releases With Metadata Cleaner Tool.md +++ /dev/null @@ -1,79 +0,0 @@ -[#]: subject: "Tails 5.7 Releases With "Metadata Cleaner" Tool" -[#]: via: "https://news.itsfoss.com/tails-5-7-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Tails 5.7 Releases With "Metadata Cleaner" Tool -====== - -[Tails][1] is a portable operating system that protects against censorship and surveillance. - -It is one of the most popular privacy-focused Linux distributions preferred by journalists and activists who do not want their information exposed to malicious actors. - -With this update, it aims to become even more privacy-friendly and secure by offering many improvements. - -Let's take a look at them. - -#### Limited Time Deals ⌛ - -### 🆕 Tails 5.7: What's new? - -![tails 5.7][2] - -This update has brought in a new tool to clean metadata from files, alongside various package updates and bug fixes. - -Sounds promising! 😄 - -#### Metadata Cleaner - -![tails 5.7 metadata cleaner][3] - -This is a new addition to Tails, which you can use to clean a file's metadata. By extracting the metadata from your files, you can use this to prevent malicious actors from personally identifying you. - -A file's metadata contains a lot of sensitive information that can be used to identify the author (creator of the file), how it was created, and the date of creation. - -In the case of photos and videos, they can also contain geolocation data showing exactly where they were captured. - -We also have an article on it if you want to explore the tool separately. - -#### Package Updates - -Tails 5.7 features the recently updated Tor Browser 11.5.8. - -It contains a variety of CVE fixes, updated translations, OpenSSL 1.1.1.s, NoScript 11.4.12, tor 0.4.7.11 and [more][4]. - -Two stability issues with the Tor connection were also fixed, and a workaround for a known issue of the Tor connection getting stuck around 50% was provided. - -> 💡 You can try one of two methods to fix it: either close and reopen the Tor connection or try a different obfs4 bridge. - -In addition to that, the 'pdf-redact-tools' package was removed as it was not functioning correctly since Tails 5.6. - -### 📥 Download Tails 5.7 - -You can download Tails 5.7 from its [official website][5]. - -If you want to dive deep into the technical details of this update, then you can refer to the [changelog][6] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/tails-5-7-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://tails.boum.org -[2]: https://news.itsfoss.com/content/images/2022/11/Tails_5.7.png -[3]: https://news.itsfoss.com/content/images/2022/11/Tails_5.7_MetadataCleaner.png -[4]: https://blog.torproject.org/new-release-tor-browser-1158/ -[5]: https://tails.boum.org/install/ -[6]: https://tails.boum.org/news/version_5.7/ diff --git a/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md b/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md deleted file mode 100644 index 880333fc3d..0000000000 --- a/sources/news/20221124.2 ⭐️ Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages.md +++ /dev/null @@ -1,58 +0,0 @@ -[#]: subject: "Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages" -[#]: via: "https://debugpointnews.com/alpine-linux-3-17/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Alpine Linux 3.17 is out with OpenSSL 3.0 and new packages -====== - -**Container Linux operating system Alpine Linux released version 3.17. This is a release summary.** - -![Alpine Linux 3.17][1] - -### Alpine Linux 3.17 - -Alpine Linux 3.17 is the first major release of this series, coming within a few months since its last iteration of the 3.16 series beginning this year. Usually, the Alpine team releases it twice a year. And hence this will be the final release of this year. - -Feature-wise, mostly the core package updates arrives in Alpine 3.17 – those are needed. The most significant update is the OpenSSL 3.0 version as default, bringing the recent high vulnerability fixes, which [caused delays][2] in some distro releases. - -In addition, the Alpine core repo is refreshed with an updated toolchain. Significant versions include GCC 12, bash 5.2, Perl 5.36 and Rust 1.64. - -Although Alpine Linux is ideal for server-based distributions, its repo has GNOME and KDE Plasma desktops. This release refreshed GNOME version 43 and KDE Plasma to 5.26 – which are the latest offerings of this distribution. - -However, PHP 8 is deprecated in this version. Finally, it is powered by Linux kernel 5.15.79, which is the current LTS mainline kernel available. - -Alpine Linux is available for download for all major architectures, including Raspberry Pi. This version is available to download using the official website below. - -[Download Alpine Linux][3] - -If you are using Alpine Linux 3.16, you can simply kick off the upgrade using the following command. - -``` -apk upgrade --available -``` - -Via [official release announcement][4]. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/alpine-linux-3-17/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/11/Alpine-Linux-3.17.jpg -[2]: https://debugpointnews.com/openssl-3-0-7/ -[3]: https://alpinelinux.org/downloads/ -[4]: https://alpinelinux.org/posts/Alpine-3.17.0-released.html - diff --git a/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md b/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md deleted file mode 100644 index 5212d2c853..0000000000 --- a/sources/news/20221129.0 ⭐️ VLC 3.0.18 Release Brings RISC-V Support.md +++ /dev/null @@ -1,94 +0,0 @@ -[#]: subject: "VLC 3.0.18 Release Brings RISC-V Support" -[#]: via: "https://news.itsfoss.com/vlc-3-0-18-release/" -[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -VLC 3.0.18 Release Brings RISC-V Support -====== - -VLC 3.0.18 finally adds RISC-V support among other improvements. - -![VLC 3.0.18 Release Brings RISC-V Support][1] - -VLC Media Player is a popular open-source and cross-platform media player by VideoLAN that has been around for quite some time. Undoubtedly, it's also one of the best media players for Linux. - -VLC's latest maintenance update, specifically v3.0.18, includes a set of enhancements and bug fixes. - -Let's look at some of the key highlights of this release. - -### VLC 3.0.18: What's New? - -![][2] - -- **Support for RISC-V architecture** -- **Significant updates to adaptive streaming, including multiple timelines and WebVTT (Web Video Text Tracks Format)** -- **Y16 chroma support** -- **DVBSub support inside MKV files** - -#### RISC-V Support - -Users with devices based on the RISC-V hardware can now enjoy using VLC. - -If you're not aware, RISC-V is a popular open-source hardware architecture. And you can expect more hardware to feature RISC-V in the near future. - -#### Other Changes - -As briefed above, there are several other enhancements as well, these include: - -- Improved FTP compatibility -- Better playback of FLAC files -- Improved seeking in OGG and fragmented MP4 files - -Tons of bugs were fixed as well. Here are some of the most notable ones that were addressed. - -- Video-related issues and crashes related to OpenGL, DirectX and VAAPI -- Performance and rendering issues with older graphics cards -- Password search in the KWallet module -- Throttled YouTube video playback using a Lua script - -Some native bugs related to the macOS have also been addressed. - -- 10-bit accelerated video filters -- Inaccurate translations -- Decoding errors on HEVC files - -On the other hand, Windows users should see fixes for UPnP and Windows Media Player compatibility. - -Check out the [official changelog][3] for detailed information. - -### Download VLC 3.0.18 - -For now, the latest version is only available through [Flathub][4]. You cannot find the latest packages for Windows/macOS on the website yet. - -However, you can get the source tarball through the [official website][5] (thanks to [9to5Linux][6] for spotting this) - -Hopefully, VLC's official site gets updated soon to reflect the latest maintenance release. - -Ubuntu users can check out our step-by-step guide too if you need help: - -[How to Install VLC in Ubuntu Linux [Latest Release]][7] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/vlc-3-0-18-release/ - -作者:[Rishabh Moharir][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/rishabh/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/vlc-3-0-18-release.png -[2]: https://news.itsfoss.com/content/images/2022/11/VLC-v3-0-18.png -[3]: https://code.videolan.org/videolan/vlc/-/raw/3.0.x/NEWS -[4]: https://flathub.org/apps/details/org.videolan.VLC -[5]: https://download.videolan.org/pub/videolan/vlc/3.0.18/ -[6]: https://9to5linux.com/vlc-3-0-18-is-out-with-risc-v-support-dvbsub-support-inside-mkv-smbv2-improvements -[7]: https://itsfoss.com/install-latest-vlc/ diff --git a/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md b/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md deleted file mode 100644 index 2d4c56b8cf..0000000000 --- a/sources/news/20221129.6 ⭐️ Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update.md +++ /dev/null @@ -1,136 +0,0 @@ -[#]: subject: "Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update" -[#]: via: "https://news.itsfoss.com/heroic-games-launcher-2-5-0/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update -====== - -Heroic Games Launcher is making good progress with its feature set upgrades. What do you think about this one? - -![Heroic Games Launcher 2.5.0 Released as its Biggest Feature Update][1] - -Heroic Game Launcher is a helpful tool that lets you access gaming services such as Epic Games and GOG via a single app on platforms like Linux, Windows, and macOS. - -It comes in handy to organize your game library and lets you install games that are not natively available for a platform. - -Now, they have pushed a new version update **v2.5.0**, which they claim to be **their****biggest release in a long time**. - -Let me highlight the good stuff here. - -### 🆕 Heroic Game Launcher 2.5.0: What's New? - -![heroic 2.5.0][2] - -Heroic is receiving a bunch of improvements and features; some of the highlights include: - -- **Download Manager** -- **New Themes** -- **Custom User Theme Support** -- **HowLongToBeat data** -- **Support For Other App Launchers and Games** - -#### Download Manager - -![heroic 2.5.0 download manager][3] - -Heroic now allows you to queue multiple games to download from the various gaming services. - -The download manager also shows essential details such as the download speed, the ETA, buttons to start or stop the download, and the download queue. - -They also plan to add the ability to change the queue order and check the remaining disk space before adding items to the queue soon. - -#### New Themes - -![heroic 2.5.0 nord dark theme][4] - -Heroic 2.5.0 features two new built-in themes Nord Light and Nord Dark. - -The themes have been designed by [redromnon][5] aka **Rishabh Moharir**, one of our contributors, who you might have noticed covering a couple of news here. - -![heroic 2.5.0 nord light theme][6] - -#### Custom User Theme Support - -![heroic 2.5.0 custom theme support][7] - -In case you want to create a new theme, you can do that and share it with others on their [theme repo][8]. Note that you need to know CSS to be able to do it. - -If you are interested, you can follow the instructions to learn how it's done. - -#### HowLongToBeat data on the Game Page - -![heroic games launcher][9] - -When you read the game information, you also get an estimate of the time you need to spend to complete the campaign, DLCs, and everything else. - -It may not be a big deal for you, but if someone is picky with the time they want to spend on game, this information can help them prioritize if they want to play it. - -#### Support For Other App Launchers - -![heroic 2.5.0 other app launcher][10] - -Many of us were looking forward to this feature, and now it's here. - -Heroic now lets you add apps outside of Epic and GOG. In other words, you can sideload any app or game. - -You can now add other games, software, or even app launchers to launch from within Heroic. That's what I call an added convenience!😌 - -#### 🛠️ Other Important Changes - -![heroic games launcher][11] - -Here are some refinements that are worth mentioning: - -- **Detect if a game is available or not (and mention if it is a supported game).** -- **Legendary v0.20.30.** -- **Settings re-organized.** -- **Redesigned login screen.** -- **Improvements to Cloud Saves.** -- **Various bug fixes.** - -> 💡 You can go through the [full release notes][12] to learn more about the subtle changes and technical improvements. - -### 📥 Download Heroic Game Launcher 2.5.0 - -You can download the latest Heroic Games Launcher from the official [downloads page][13]. - -It is also available on [Flathub][14] if you do not prefer AppImage and other packages. - -You can also find the packages in its [GitHub releases][12] section. - -[Download Heroic Game Launcher 2.5.0][13] - -_💬 What do you think of this release of Heroic Games Launcher? Share your thoughts in the comments below._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/heroic-games-launcher-2-5-0/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w300/2022/11/heroic-games-launcher-2-5-0-release.png -[2]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0.png -[3]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Download_Manager.png -[4]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Nord_Dark.png -[5]: https://github.com/redromnon -[6]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Nord_Light.png -[7]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Custom_Theme-1.png -[8]: https://github.com/Heroic-Games-Launcher/heroic-themes -[9]: https://news.itsfoss.com/content/images/2022/11/howlongtobeat.jpg -[10]: https://news.itsfoss.com/content/images/2022/11/Heroic_2.5.0_Other_Apps.png -[11]: https://news.itsfoss.com/content/images/2022/11/settings-heroic-games.jpg -[12]: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v2.5.0 -[13]: https://heroicgameslauncher.com/downloads -[14]: https://flathub.org/apps/details/com.heroicgameslauncher.hgl diff --git a/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md b/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md deleted file mode 100644 index df503ccf83..0000000000 --- a/sources/news/20221130.3 ⭐️⭐️ Wayland Protocols 1.31 Release Adds Fractional Scaling Support.md +++ /dev/null @@ -1,70 +0,0 @@ -[#]: subject: "Wayland Protocols 1.31 Release Adds Fractional Scaling Support" -[#]: via: "https://news.itsfoss.com/wayland-protocols-fractional-scaling/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Wayland Protocols 1.31 Release Adds Fractional Scaling Support -====== - -Wayland Protocols 1.31 releases with fractional scaling support. - -![Wayland Protocols 1.31 Release Adds Fractional Scaling Support][1] - -If you are using a high-resolution display, then you may have noticed issues like blurriness, jaggedness, and lag when using a program. - -This issue is caused by the fact that many programs use a default screen resolution (usually 1920×1080) to display their contents. This makes for a bad user interface experience on HiDPI devices. - -But you might be wondering, is there a solution to this? Yes, there is, in fact, a solution. - -It's called 'Fractional Scaling'. This method uses fractional values to scale a program's interface according to your display's resolution, resulting in a consistent look and feel. - -So, it would ensure that you had the same experience on any HiDPI device, regardless of the program you were using. - -Moving on. - -With Wayland slowly replacing X11 with its advancements, adding Fractional Scaling support via Wayland Protocols 1.31 makes the transition more obvious. - -> 💡 [Wayland protocols][2] add functionality that is usually not found with Wayland core. - -Let's take a look at what's in store for Wayland. - -### Fractional Scaling Support for Wayland Protocols - -**How did it come to be?:** This was in the making for many months; code-named 'wp-fractional-scale-v1', it communicates with the compositor to suggest surfaces for rendering at fractional scales. - -It is paired with the 'wp-viewport protocol' to provide a fractional scaling implementation rather than an integer-based scaling implementation, as noted by [Phoronix][3]. - -**How does it affect you?:** The implementation of this allows you to run higher resolutions on your Wayland-enabled Linux systems without compromising visual quality across different programs and displays. - -So, what does it mean for KDE and GTK apps? - -Technically, **PointiestStick** (_KDE Dev_) responded to a [Reddit thread][4] that gives you a better insight: - -> For KDE, it simply means that once Qt and KWin implement support for this protocol, then native Wayland Qt apps will be able to use Qt's pre-existing support for fractional scaling, just like how it already works on X11.The result should be slightly better performance, visual sharpness, and power efficiency when using a non-integer scale factor like 125%.Nothing will change soon for GTK apps, because GTK has no existing fractional scaling support and thus cannot implement this Wayland protocol to do something it couldn't already do. - -In conclusion, this seems like a reasonable addition to Wayland, which should enhance the overall user experience across the board with a minimal performance impact. - -You can read more about **Wayland Protocols 1.31** release in its [official mailing list][5]. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/wayland-protocols-fractional-scaling/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/11/wayland-protocols-1-31-release.jpg -[2]: https://gitlab.freedesktop.org/wayland/wayland-protocols -[3]: https://www.phoronix.com/news/Wayland-Fractional-Scale-Ready -[4]: https://www.reddit.com/r/linux/comments/z7pc61/comment/iya2uu1/?utm_source=reddit&utm_medium=web2x&context=3 -[5]: https://lists.freedesktop.org/archives/wayland-devel/2022-November/042524.html From 90ae7ce0f22b9eee052879db40b4fbd58a1b1dc1 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 3 Dec 2022 12:08:40 +0800 Subject: [PATCH 609/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @cool-summer-021 翻译的不错 --- ...0922 Install PowerShell on Fedora Linux.md | 174 ++++++++---------- 1 file changed, 73 insertions(+), 101 deletions(-) diff --git a/translated/tech/20210922 Install PowerShell on Fedora Linux.md b/translated/tech/20210922 Install PowerShell on Fedora Linux.md index 3c41b43ef4..fdd7f7c72b 100644 --- a/translated/tech/20210922 Install PowerShell on Fedora Linux.md +++ b/translated/tech/20210922 Install PowerShell on Fedora Linux.md @@ -1,45 +1,28 @@ [#]: subject: "Install PowerShell on Fedora Linux" [#]: via: "https://fedoramagazine.org/install-powershell-on-fedora-linux/" -[#]: author: "TheEvilSkeletonOzymandias42 https://fedoramagazine.org/author/theevilskeleton/https://fedoramagazine.org/author/ozymandias42/" +[#]: author: "TheEvilSkeleton, Ozymandias42 https://fedoramagazine.org/author/theevilskeleton/ https://fedoramagazine.org/author/ozymandias42/" [#]: collector: "lujun9972" [#]: translator: "cool-summer-021" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -在Fedora Linux 系统上安装 PowerShell +在 Fedora Linux 系统上安装 PowerShell ====== -![][1] - -Photos by [NOAA][2] and [Cedric Fox][3] on [Unsplash][4] - -PowerShell(也可写作 pwsh) 是一个功能强大的开源命令行工具,它是面向对象的,由微软开发和维护。它的语法特征冗长,但对用户来说比较直观。本文介绍如何在主机上和在 Podman 或其他容器内安装 PowerShell。 - -### 目录 - - * [为何使用 PowerShell][5] - * [演示实例][6] - * [Bash 和 PowerShell 的比较][7] - * [安装 PowerShell][8] - * [使用包管理器在主机上安装 PowerShell][9] - * [方法1:通过微软仓库][10] - * [方法2:通过 RPM 文件][11] - * [借助容器安装 PowerShell][12] - * [方法1:使用 Podman 容器][13] - * [方法2:使用 Fedora Linux 系统的 Toolbox 容器][14] - +![][0] +PowerShell(也可写作 pwsh)是一个功能强大的开源命令行工具,它是面向对象的,由微软开发和维护。它的语法特征冗长,但对用户来说比较直观。本文介绍如何在主机上和在 Podman 或其他容器内安装 PowerShell。 ### 为何使用 PowerShell -PowerShell,正如它的名字那样,是一个强大的工具。它的句法冗长,但语义清晰。对那些不愿意写长命令的开发者来说,PowerShell 的大多数命令都有别名。可以使用 _Get-Alias_ 或点击[此处][15]查询别名的使用方法。 +PowerShell,正如它的名字那样,是一个强大的工具。它的句法冗长,但语义清晰。对那些不愿意写长命令的开发者来说,PowerShell 的大多数命令都有别名。可以使用 `Get-Alias` 或点击 [此处][15] 查询别名的使用方法。 PowerShell 和传统的 Shell 最大的区别在于它的输出管道。普通的 Shell 输出的是字符串或字符流,PowerShell 输出的是对象。这对命令管道的工作方式具有深远的影响,而且它具有很多的优点。 #### 演示例子 -下面的例子体现的是冗长而清晰的特点。以#号开头的行为注释行。以PS > 开头的行为命令行,**PS >**是提示: +下面的例子体现的是冗长而清晰的特点。以 `#` 号开头的行是注释行。以 `PS > ` 开头的行是命令行,`PS > ` 是提示符: ``` # Return all files greater than 50MB in the current directory. @@ -58,7 +41,7 @@ Mode LastWriteTime Length Name PS > Get-VM VM-1 | Get-Snapshot | Select-Object -Last 3 | Remove-Snapshot ``` -上述例子说明了:带有 _cut_, _sed_, _awk_ 等类似工具的输入-输出格式,在使用 Bash 脚本时是必须具备的技能,而使用 PowerShell 时就不是必备技能了。这是因为 PowerShell 的工作机制跟传统的 POSIX shell(例如 Bash、Zsh、Fish等)有本质的不同。传统的 Shell 的命令输出形式是字符串,而在 PowerShell 中,命令输出形式为对象。 +上述例子说明了:Bash 脚本经常需要用 `cut`、`sed`、`awk` 等工具对输入/输出进行格式化,而使用 PowerShell 时通常就没有这个必要了。这是因为 PowerShell 的工作机制跟传统的 POSIX shell(例如 Bash、Zsh、Fish等)有本质的不同。传统的 Shell 的命令输出形式是字符串,而在 PowerShell 中,命令输出形式为对象。 #### Bash 与 PowerShell 的比较 @@ -75,34 +58,25 @@ A B C [...] ``` -第一个显而易见的差别就是可读性,或更确切地说是语义清晰性。 _ps_ 和 _awk_ 都不是自描述的。_ps_ 命令的功能是显示进程状态,_awk_ 是一种文本处理工具和语言,这个词汇每个字母都是前期开发人员的名字(**A**ho, **W**einberger, **K**ernighan (详见 [Wikipedia][16]))的首字母。然而,在把它与 PowerShell 作比较前,考察以下脚本: +第一个显而易见的差别就是可读性,或更确切地说是语义清晰度。 `ps` 和 `awk` 都不是自描述的。`ps` 命令的功能是显示进程状态;`awk` 是一种文本处理工具和语言,这个词汇每个字母都是前期开发人员的名字(**A**ho, **W**einberger, **K**ernighan(详见 [维基百科][16])的首字母。然而,在把它与 PowerShell 作比较前,先看看这个脚本: - * _ps -e_ 输出所有运行中的进程; + * `ps -e` 输出所有运行中的进程; + * `-O rss` 输出 `ps` 的默认输出内容,再加上 RSS 字段 —— 每个进程使用的千字节数(以 KB 为单位);输出结果类似于: - * _-O rss_ 输出 _ps_ 的默认输出内容,每个进程分别显示其占用的字节数(以 KB 为单位);输出结果类似于: - -``` -PID RSS S TTY TIME COMMAND 1 13776 S ? 00:00:01 /usr/lib/systemd/systemd -``` - - * | 管道操作符使用左边命令的输出作为右边命令的输入。 - - * _awk -F’ ‘_ 定义"空格",作为输入域操作符。再回到上面的例子,PID 是第一个,RSS 是第二个,依此类推。 - - * _‘{ if($2 >= (1024*200)_ 是实际的 AWK-script 代码起始处。它的作用是检查第2个字段([RSS][17])是否包含大于或等于 1024*200 的数字; - - * _{ printf(“%s\t%s\t%s\n”,$1,$2,$6);} }’_ 继续分析脚本代码。如果前面的条件成立,则输出第一、第二和第六个字段(分别是 [PID][18], [RSS][17] 和 COMMAND)。 - - - - -记住这点,往回看编写这段脚本需要什么以及如何令它正常工作: - - * 输入命令_ps_的输出中必须包含我们想要过滤的字段。这不是默认的实例,需要我们使用 _-O_ 标志和 _rss_ 字段作为参数。 - * 我们需要将 _ps_ 的输出当作一组输入字段,所以我们还应当知道它们的顺序和结构。换句话说,我们至少需要确定 _RSS_ 是第二个字段。这也意味着我们需要提前知道 _ps_ 的输出信息的大致情况。 - * 然后我们需要知道过滤的数据位于什么单元以及相关工具运行于什么单元。也就是我们需要得到 _RSS_ 和 _awk_ 字段占用了多少字节。不然我们也不会写出 _($2 >= 1024*200)_ 这样的表达式。 + ``` + PID RSS S TTY TIME COMMAND + 1 13776 S ? 00:00:01 /usr/lib/systemd/systemd + ``` + * `|` 管道操作符使用左边命令的输出作为右边命令的输入。 + * `awk -F' '` 定义“空格”,作为输入字段分隔符。以上面的例子来说,PID 是第一个字段,RSS 是第二个字段,依此类推。 + * `'{ if($2 >= (1024*200)) {` 是实际的 AWK 代码起始处。它的作用是检查第二个字段([RSS][17])是否包含一个大于或等于 1024*200 的数字; + * `printf(“%s\t%s\t%s\n”,$1,$2,$6);}` 脚本继续。如果前面的条件成立,则输出第一、第二和第六个字段(分别是 [PID][18]、[RSS][17] 和 `COMMAND` 字段)。 +考虑到这一点,退一步说,编写这段脚本需要什么才能令它工作: + * 输入命令 `ps` 的输出中必须包含我们想要过滤的字段。这在默认情况下是没有的,需要我们使用 `-O` 标志和 `rss` 字段作为参数。 + * 我们需要将 `ps` 的输出当作一组输入字段,所以我们还应当知道它们的顺序和结构。换句话说,我们至少需要确定 `RSS` 是第二个字段。这也意味着我们需要提前知道 `ps` 的输出信息的大致情况。 + * 然后我们需要知道过滤的数据是什么单位,以及相关工具的单位是什么。也就是我们需要知道 `RSS` 和 `awk` 字段使用 kb。不然我们就不能写出 `($2 >= 1024*200)` 这样的表达式。 现在,我们把前面的命令跟 PoserShell 中等价的命令比较: @@ -120,9 +94,9 @@ NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName 首先应该注意到,语义非常清晰。这些命令都是自描述的,能清晰描述它们做什么。 -此外,不需要对输入-输出重新格式化,也不需要关心输入命令使用的单元。这是因为 PowerShell 输出的是对象,而非字符串。 +此外,不需要对输入-输出重新格式化,也不需要关心输入命令使用的单位。这是因为 PowerShell 输出的是对象,而非字符串。 -考虑下述情况,就可以理解这些内容。在 Bash 中,命令的输出信息就是终端显示的信息。在 PowerShell 中,终端显示的信息并不等于实际可用的信息。这是由于 PowerShell 中的输出-打印系统使用的也是对象。因此 PowerShell 中每一条命令都对输出的对象的一些属性作了可打印的标记,也对一些属性作了不可打印的标记。Bash 中的输出位置被分为一些“字段”,以空格或制表符为标志,在 PowerShell 中它是一个容易寻址的对象属性,只需要知道它的名称即可使用。就像上述例子中的 _WorkingSet_ 那样。 +考虑下述情况,就可以理解这些内容。在 Bash 中,命令的输出信息就是终端显示的信息。在 PowerShell 中,终端显示的信息并不等于实际可用的信息。这是由于 PowerShell 中的输出-打印系统使用的也是对象。因此 PowerShell 中每一条命令都对输出的对象的一些属性作了可打印的标记,也对一些属性作了不可打印的标记。然而,它总是包括所有的属性,而 Bash 只包括它实际打印的内容。我们可以把它想象成 JSON 对象。Bash 中的输出位置被分为一些“字段”,以空格或制表符为标志,在 PowerShell 中它是一个容易寻址的对象属性,只需要知道它的名称即可使用。就像上述例子中的 `WorkingSet` 那样。 为了看到一条命令的输出对象的所有属性和它们的类型,可以进行以下操作: @@ -134,11 +108,11 @@ PS > Get-Process | Get-Member PowerShell 安装包的形式有若干种,包括 Fedora Linux 中使用的 RPM 安装包。本文介绍在 Fedora Linux 中如何使用多种方法安装 PowerShell。 -我推荐使用原生的方法安装。但我也会介绍如何在容器中安装。官方 Microsoft PowerShell 容器和 Fedora Linux 30 工具箱容器的使用,我都会介绍。使用容器的优点在于,所有的依赖捆绑在其中,并且会从主机分离出去,所以它一定是有效的。无论如何,虽然官方文档只是明确支持 Fedora Linux 发行版 28-30,我还是建议使用原生的方法安装。 +我推荐使用原生的方法安装。但我也会介绍如何在容器中安装。我将展示使用官方微软 PowerShell 容器和 Fedora Linux 30 的 Toolbox 容器。使用容器的优点在于,所有的依赖捆绑在其中,并且与主机隔离,所以它一定是有效的。无论如何,虽然官方文档只是明确指出支持 Fedora Linux 发行版的 28-30 版本,我还是建议使用原生的方法安装。 -**注意:** 官方支持意味着一定有效。其他的版本也不是一定不兼容。也就是说,高于 30 的发行版也应该有效。经过测试,的确如此。 +**注意:** 官方支持意味着一定有效。但其他的版本也不是一定不兼容。也就是说,高于 30 的发行版也应该有效。经过测试,的确如此。 -在容器中设置并运行 PowerShell 比直接在主机上运行它难度更大,安装需要花费更多时间,而且你还不能直接运行命令。 +在容器中设置并运行 PowerShell 比直接在主机上运行它难度更大,安装需要花费更多时间,而且你还不能直接运行主机的命令。 #### 在主机上使用包管理器安装 PowerShell @@ -153,9 +127,7 @@ PowerShell 安装包的形式有若干种,包括 Fedora Linux 中使用的 RPM 3. 刷新 DNF 缓存,将新仓库中的有关包包含进来 4. 安装新包 - - -使用命令 _pwsh_ 启动 PowerShell。 +然后使用命令 `pwsh` 启动 PowerShell。 ``` $ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc @@ -165,19 +137,18 @@ $ sudo dnf install powershell $ pwsh ``` -欲删除仓库和包,运行以下命令。 +欲删除仓库和包,运行以下命令: ``` $ sudo rm /etc/yum.repos.d/microsoft.repo $ sudo dnf remove powershell ``` -##### 方法2:使用 PRM 文件 +##### 方法 2:使用 PRM 文件 这种方法与第一种方法没有明显的差别。实际上,在安装 RPM 文件时,隐式添加了 GPG 密码和仓库。这是由于 RPM 文件包含它们两者的关联关系,保存在它的元数据中。 -首先,从 [PowerShell GitHub 仓库][19] 获取相应版本的 _.rpm_ 文件。然后查看 readme.md 文件中的 “获取 PowerShell” 部分的内容。 - +首先,从 [PowerShell GitHub 仓库][19] 获取相应版本的 `.rpm` 文件。然后查看 `readme.md` 文件中的 “获取 PowerShell” 部分的内容。 第二步,输入以下命令: @@ -185,7 +156,7 @@ $ sudo dnf remove powershell $ sudo dnf install powershell-.rhel.7..rpm ``` -在 version 和 architecture 节点中填写各自的内容,例如 [powershell-7.1.3-1.rhel.7.x86_64.rpm][20]。 +在 `` 和 `` 节点中填写各自的内容,例如 [powershell-7.1.3-1.rhel.7.x86_64.rpm][20]。 你也可以使用链接运行它,不指定版本和架构,先把它下载到本地。 @@ -193,7 +164,7 @@ $ sudo dnf install powershell-.rhel.7..rpm $ sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v/powershell-.rhel.7..rpm ``` -欲删除 PowerShell,运行以下命令。 +欲删除 PowerShell,运行以下命令: ``` $ sudo dnf remove powershell @@ -203,48 +174,46 @@ $ sudo dnf remove powershell ##### 方法一:使用 Podman 容器 -Podman 是一个兼容[开放容器倡议][21](OCI)的、嵌入式的容器引擎,它可以代替 Docker。 +Podman 是一个兼容 [开放容器倡议][21](OCI)的、嵌入式的容器引擎,它可以代替 Docker。 -微软提供了[PowerShell Docker 容器集成工具][22]。下面的例子将在 Podman 中使用容器。 +微软提供了 [PowerShell Docker 容器集成工具][22]。下面的例子将在 Podman 中使用容器。 -欲了解更多关于 Podman 的信息,可以访问 [Podman.io][23]。Fedora 杂志还有一个专为 Podman 设计的[标签][24]。 +欲了解更多关于 Podman 的信息,可以访问 [Podman.io][23]。Fedora 杂志还有一个专为 Podman 设计的 [标签][24]。 欲在 Podman 中使用 PowerShell,运行以下脚本: ``` $ podman run \ - -it \ - --privileged \ - --rm \ - --name powershell \ - --env-host \ - --net=host --pid=host --ipc=host \ - --volume $HOME:$HOME \ - --volume /:/var/host \ - mcr.microsoft.com/powershell \ - /usr/bin/pwsh -WorkingDirectory $(pwd) + -it \ + --privileged \ + --rm \ + --name powershell \ + --env-host \ + --net=host --pid=host --ipc=host \ + --volume $HOME:$HOME \ + --volume /:/var/host \ + mcr.microsoft.com/powershell \ + /usr/bin/pwsh \ + -WorkingDirectory $(pwd) ``` -这段脚本为使用 PowerShell 创建了一个 Podman 容器,并立即将它连接起来。它还将 _/home_ 和主机的根目录挂载到容器中,确保它们在容器中是可用的。无论如何,在 _/var/host_ 目录下,主机的根目录是可获取的。 +这段脚本为使用 PowerShell 创建了一个 Podman 容器,并立即接入其中。它还将 `/home` 和主机的根目录挂载到容器中,确保它们在容器中是可用的。无论如何,在 `/var/host` 目录下,主机的根目录是可访问的。 -但是,在容器内部,你只能间接运行主机命令。有一种变通办法,就是先运行 _chroot /var/host_ 改变根目录,然后运行主机命令。 +但是,在容器内部,你只能间接运行主机命令。有一种变通办法,就是先运行 `chroot /var/host` 改变根目录,然后运行主机命令。 为了把命令拆分开来讲解,除非特别指定,以下所有内容都是强制性的: - * -it 创建一个持久环境,当您进入该环境后,不会轻易退出; - * \--privileged 给予容器扩展的权限(可选); - * \--rm 当你退出时移除容器; - * \--name 设置容器名称; - * \--env-host 将所有主机的环境变量设置为容器的变量值(可选); - * \--volume $HOME:$HOME 加载用户目录; - * \--volume /:/var/host 将根目录挂载到 _/var/host_(可选); - * \--net=host --pid=host --ipc=host 在主机的命名空间中运行进程(而非一组单独的名称空间); - * docker.io/microsoft/powershell 进入容器 - * /usr/bin/pwsh -WorkingDirectory $(pwd) 在当前目录下进入容器(可选)。 - - - -可选但很方便的参数:别名 _pwsh_,脚本中有了它,可以输入 _pwsh_ 轻松访问 Podman 容器。 + * `-it` 创建一个持久环境,当你进入该环境后,不会轻易退出; + * `--privileged` 给予容器扩展的权限(可选); + * `--rm` 当你退出时移除容器; + * `--name` 设置容器名称; + * `--env-host` 将所有主机的环境变量设置为容器的变量(可选); + * `--net=host --pid=host --ipc=host` 在主机的命名空间中运行进程(而非一组单独的名称空间); + * `--volume $HOME:$HOME` 挂载用户目录; + * `--volume /:/var/host` 将主机根目录挂载到 `/var/host`(可选); + * `mcr.microsoft.com/powershell` 进入容器; + * `/usr/bin/pwsh` 可选但很方便的参数:用别名 `pwsh`,脚本中有了它,可以输入 `pwsh` 轻松访问 Podman 容器; + * `-WorkingDirectory $(pwd)` 在当前目录下进入容器(可选)。 欲移除 PowerShell 镜像,运行以下命令: @@ -254,27 +223,29 @@ $ podman rmi mcr.microsoft.com/powershell ##### 方法二:Fedora 系统的 Toolbox 容器 -在不影响主机系统的情况下安装持久化环境,使用 Toolbox 是一种巧妙的解决方案。它类似于 Podman 的封装器,负责提供大量的标志,就像方法一中提到的那样。因此,Toolbox 比 Podman 容易使用。它可以用来开发和调试。有了 Toolbox,你可以运行任何命令,跟你直接在 Fedora 工作站主机上运行是一样的。 +在不影响主机系统的情况下安装持久化环境,使用 Toolbox 容器是一种巧妙的解决方案。它充当了 Podman 的封装器,负责提供大量的标志,就像方法一中提到的那样。因此,Toolbox 比 Podman 容易使用。它可以用来开发和调试。有了 Toolbox,你可以运行任何命令,跟你直接在 Fedora 工作站主机上运行是一样的。 -安装步骤跟在主机上安装一样,唯一的区别就是在容器内部进行。你需要确保已经安装了 _toolbox_ 包。 +安装步骤跟在主机上安装一样,唯一的区别就是在容器内部进行。你需要确保已经安装了 `toolbox` 包。 使用 Fedora 34 Toolbox 容器需要两个步骤: 1. 创建 Fedora 34 Toolbox 容器 2. 运行 Fedora 34 Toolbox 容器 - - ``` $ toolbox create --image registry.fedoraproject.org/f34/fedora-toolbox $ toolbox enter --container fedora-toolbox ``` -接着,按照[方法一:使用微软仓库][10]中的相关内容操作。 +接着,按照 [方法一:使用微软仓库][10] 中的相关内容操作。 -可选但非常方便的做法:使用别名,可以轻松地访问 Toolbox 容器。 +可选但非常方便的做法:使用别名 `pwsh`,可以轻松地访问 Toolbox 容器: -欲移除 Toolbox 容器,需要确保你已经使用 _exit_ 关闭了 Toolbox 会话,然后运行以下命令: +``` +toolbox run –container fedora-toolbox pwsh +``` + +欲移除 Toolbox 容器,需要确保你已经使用 `exit` 关闭了 Toolbox 会话,然后运行以下命令: ``` $ podman kill fedora-toolbox @@ -285,10 +256,10 @@ $ toolbox rm fedora-toolbox via: https://fedoramagazine.org/install-powershell-on-fedora-linux/ -作者:[TheEvilSkeletonOzymandias42][a] +作者:[TheEvilSkeleton, Ozymandias42][a] 选题:[lujun9972][b] 译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -318,3 +289,4 @@ via: https://fedoramagazine.org/install-powershell-on-fedora-linux/ [22]: https://hub.docker.com/_/microsoft-powershell [23]: https://podman.io/ [24]: https://fedoramagazine.org/tag/podman/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/03/120749nkevgkb12exbeffg.jpg \ No newline at end of file From e4373bbe5384f484fb0a38ffce41a15ce4f743a0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 3 Dec 2022 12:09:01 +0800 Subject: [PATCH 610/925] P @cool-summer-021 https://linux.cn/article-15312-1.html --- .../20210922 Install PowerShell on Fedora Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20210922 Install PowerShell on Fedora Linux.md (99%) diff --git a/translated/tech/20210922 Install PowerShell on Fedora Linux.md b/published/20210922 Install PowerShell on Fedora Linux.md similarity index 99% rename from translated/tech/20210922 Install PowerShell on Fedora Linux.md rename to published/20210922 Install PowerShell on Fedora Linux.md index fdd7f7c72b..e008f88174 100644 --- a/translated/tech/20210922 Install PowerShell on Fedora Linux.md +++ b/published/20210922 Install PowerShell on Fedora Linux.md @@ -4,8 +4,8 @@ [#]: collector: "lujun9972" [#]: translator: "cool-summer-021" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15312-1.html" 在 Fedora Linux 系统上安装 PowerShell ====== From bc72d0608a5a6dc3aa926a0fad9f498cc3f0dde0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 3 Dec 2022 15:14:50 +0800 Subject: [PATCH 611/925] RP @geekpi https://linux.cn/article-15313-1.html --- ...e Open-Source App to Replace Authy on Linux.md | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) rename {translated/tech => published}/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md (69%) diff --git a/translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/published/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md similarity index 69% rename from translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md rename to published/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md index bcd56c0b15..6cf779848d 100644 --- a/translated/tech/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md +++ b/published/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md @@ -3,19 +3,18 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15313-1.html" -Authenticator:一个简单的开源应用来替代 Linux 上的 Authy +Authenticator:一个 Linux 上的 Authy 的简单的开源替代品 ====== -Authy 是一款流行的应用,用于存储和管理双因素码。它是一项基于云的服务,可为你提供便利的工业级安全性。不幸的是,它不是开源的。 +Authy 是一款流行的应用,用于存储和管理双因素代码。它是一项基于云的服务,可为你提供便利的工业级安全性。不幸的是,它不是开源的。 你会考虑在 Linux 桌面上使用更直接(和开源)的身份验证器应用吗? - -嗯,当然,你不能使用云同步。但是你可以为双因素身份验证码生成备份。记住这点,让我告诉您更多有关 Authenticator 的信息。 +嗯,当然,你不能使用云同步。但是你可以为双因素身份验证码做个备份。记住这点,让我告诉你更多有关 Authenticator 的信息。 ![authenticator app ft][1] @@ -27,7 +26,7 @@ Authenticator 就是这样一款适用于 Linux 的应用,他可让你添加 ![authenticator ui][2] -它是一个免费的开源应用,具有添加各种支持双因素身份验证的令牌和网站的基本功能。 +它是一个自由开源的应用,具有添加各种支持双因素身份验证的令牌和网站的基本功能。 ### 身份验证器的特点 @@ -38,17 +37,17 @@ Authenticator 就是这样一款适用于 Linux 的应用,他可让你添加 - 使用相机或截图的二维码扫描器 - 使用密码保护应用 - 自动锁定应用 -- 支持不同的算法 (SHA-1/SHA-256/SHA-512) -- 支持基于时间/基于计数器/Steam 计算方法 +- 支持各种算法(SHA-1/SHA-256/SHA-512) +- 支持基于时间/基于计数器/流式计算方法 - 备份/恢复选项(FreeOTP、Aegis 和 OTP、Bitwarden 和 Google Authenticator) -你可以获得自定义选项,并能够根据服务提供的支持添加自定义提供程序。可以为提供商添加自定义图标,以帮助你区分身份验证代码。 +你可以设置自定义选项,并能够根据服务提供的支持添加自定义的提供者。可以为提供者添加自定义图标,以帮助你区分身份验证代码。 ![authenticator 自定义提供程序][5] -在大多数情况下,默认设置应该适用于网站。但是,如果它不起作用,你可能需要与提供商核实确切的详细信息。 +在大多数情况下,默认设置应该适用于网站。但是,如果它不起作用,你可能需要与提供者核实确切的详细信息。 -该应用还具有开箱即用的多个提供商,例如 Google Drive 和 Proton Mail。因此,你无需为添加的每个条目添加自定义配置。 +该应用还具有开箱即用的多个提供者,例如 Google Drive 和 Proton Mail。因此,你无需为添加的每个条目添加自定义配置。 ### 在 Linux 上安装 Authenticator @@ -64,13 +63,13 @@ flatpak install flathub com.belmoussaoui.Authenticator 你可以前往其 [Flathub][7] 或 GitLab 页面探索更多信息。 -如果你是 Linux 世界的新手,请参阅我们的 [Flatpak 指南][8]进行设置。你的软件中心可能已经启用了 Flatpak 集成。这种情况下,你可以搜索安装它。 +如果你是 Linux 世界的新手,请参阅我们的 [Flatpak 指南][8] 进行设置。你的软件中心可能已经启用了 Flatpak 集成。这种情况下,你可以搜索安装它。 ### 使用开源身份验证器应用确保安全性和可靠性 我们经常依赖云驱动的工具来处理所有事情。当然,这很方便。 -但是,有时桌面应用更有用。如果你在同一条船上并考虑进行转换,Authenticator 可能是一款出色的应用,可以安装用于双因素身份验证码。 +但是,有时桌面应用更有用。如果你也这么想并考虑进行转换,Authenticator 可能是一款值得安装的出色的应用,可以用于双因素身份验证码。 -------------------------------------------------------------------------------- @@ -79,7 +78,7 @@ via: https://itsfoss.com/authenticator/ 作者:[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/) 荣誉推出 From 38bfd18541e33b17009b2dc9157c6bee8b34e2de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 20:07:03 +0800 Subject: [PATCH 612/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221201.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20reasons=20I=20use=20the=20Dolphin=20file=20manager=20on=20Li?= =?UTF-8?q?nux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...reasons I use the Dolphin file manager on Linux.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 sources/tech/20221201.1 ⭐️⭐️ 5 reasons I use the Dolphin file manager on Linux.md diff --git a/sources/tech/20221201.1 ⭐️⭐️ 5 reasons I use the Dolphin file manager on Linux.md b/sources/tech/20221201.1 ⭐️⭐️ 5 reasons I use the Dolphin file manager on Linux.md new file mode 100644 index 0000000000..4a5fef54fb --- /dev/null +++ b/sources/tech/20221201.1 ⭐️⭐️ 5 reasons I use the Dolphin file manager on Linux.md @@ -0,0 +1,78 @@ +[#]: subject: "5 reasons I use the Dolphin file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-dolphin" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 reasons I use the Dolphin file manager on Linux +====== + +Computers are basically fancy file cabinets, full of folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. Of course, the files and folders are only virtual, and so software developers came up with the modern "desktop" user interface. Your screen is the top of your "desk," which you can use as a surface for taking out files from their folders so you can review and work on them. The analogy seems almost quaint these days because computers are so much more than just a filing cabinet. And yet the model remains, for many of us, as the primary way we interact with data on our personal computers, which makes humble file manager software some of the most important applications you use. + +### Dolphin on Linux + +![Image of an open window in Dolphin.][1] + +The KDE Plasma Desktop provides Dolphin as its file manager. At first glance, it's a simple and almost minimal application. Don't let that fool you, though. There's a lot of potential in how you interact with the files on your computer, and Dolphin recognizes that. Here are five of my favorite Dolphin features. + +### 1. Fast launches + +Dolphin is quick to launch, and I don't mean that Dolphin itself launches quickly, but that the files you use within Dolphin can be opened quickly. A longtime KDE convention is that a single click of the mouse opens a file. That's admittedly counter-intuitive at first. After all, everybody knows you use a single click to select something and a double-click to open. But think about it. When you're selecting something, you're probably engaged in something relatively ponderous. You select files to then do something with them. The act of selection isn't the main action, it's the prep work for the action. There's no immediacy to selection. + +But when you open something, you've already made up your mind. You want the file opened so you can start working. There's immediacy to opening a file. + +If you look at it that way, it makes sense to require fewer clicks to open a file. So with Dolphin, by default at least, a single click opens a file in its default application. To select a file, you can either click on a **Selection** button overlaid over the icon, or click and drag to make a group selection. None of this is what you're used to, maybe, and it may seem unnatural, but after you've tried it you won't be able to tolerate a less efficient system. + +#### Faster launch (the other kind) + +This isn't a Dolphin feature specifically, but it deserves recognition. Thanks to the `kdeinit` subsystem of the KDE Plasma Desktop, Dolphin and many other KDE applications benefit from function pre-loading. Essentially, processes are launched by forking and loading a dynamic library containing a ''kdemain()'' function, which gives the typical KDE application a boost to launch time (I haven't timed it myself, but they say it's 2.5 times faster than without) and a reduction in memory consumption. + +### 2. Contextual actions + +One of the most basic and most common actions you do with a file manager is move and copy files. In fact, for many people, that's all a file manager is for. + +In Dolphin, when you drag-and-drop a file from one place to another, you're given a pop-up contextual menu so you can quickly choose whether you're copying, moving, or symlinking the file. If that slows you down, you can press a modifier key while dragging: **Shift** to move, **Ctrl** to copy, or **Ctrl+Shift** to link. It's fast, efficient, and friendly. + +![Image of a minimal Dophin window][2] + +### 3. Power of Qt + +The KDE Framework is based on the Qt framework, a famously flexible graphical toolkit. Not all KDE applications have the opportunity to take advantage of that, but Dolphin has several features that draw upon Qt's modular design. For instance, if you don't like the **Places** panel on the left of the window, you can move it to the right side of the window, or remove it entirely. Move the toolbar, remove the menu bar and status bar. Qt stops short of letting you redesign Dolphin entirely, but there's enough malleability for you to be able to change its layout to what works best for you. + +Here's my personal Dolphin configuration: + +![Image of drag and drop actions in Dolphin.][3] + +### 4. Plugins + +Dolphin isn't just Dolphin. It's Dolphin plus any number of plugins you choose to enable. There are plugins for several version control systems, including Git. There are lots of ways to interact with Git, and Dolphin adds one more way for convenience. I don't often think that I'm going to use Dolphin as my Git interface, but with Dolphin version control plugins enabled, it's too easy _not_ to use Dolphin as my Git interface. Nothing could be more natural than adding a file to staging, or adding a commit message, or even pushing to a remote repository, with the file manager that you're using to browse through the files anyway. + +### 5. Options + +They're not technically plugins because they're built along with the application, but Dolphin has a staggering number of optional features. You don't have to activate them all at once, but there's plenty of features in Dolphin for you to discover over years of use. For instance, there's an option to show a filter bar, which you can use as a kind of instant `find`command. You can use tabs in Dolphin, or split the Dolphin window into panes, you can enable expandable folders or choose to click into them, you can open archives as folders, you can choose to view thumbnail previews of certain files or deactivate them for other filetypes, and much more. + +### Dolphin and the modern Linux desktop + +Dolphin, like KDE, thrives on providing you, the user, options, by letting you decide what you want activated and what you want to ignore. Dolphin isn't the minimal lightweight file manager you compile and install on a [10-year old computer you've rescued from the bin][4] (although I've run it as a file manager for [Fluxbox][5] on some surprisingly old computers with success), it's the one you feature on your latest PC build. In short, Dolphin is the high tech desktop experience you'd expect from an advanced operating system like Linux. Dive in! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-dolphin + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-09/dolphinwindow.png +[2]: https://opensource.com/sites/default/files/2022-09/dolphin-minimal.png +[3]: https://opensource.com/sites/default/files/2022-09/dolphin-drag-and-drop.png +[4]: https://opensource.com/article/19/7/how-make-old-computer-useful-again +[5]: https://opensource.com/article/19/12/fluxbox-linux-desktop From 4a7dabc3d45e41ab06e489091685daf910e43bf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 20:08:11 +0800 Subject: [PATCH 613/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221201.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Mi?= =?UTF-8?q?crosoft=20Office=20365=20Declared=20illegal=20for=20German=20Sc?= =?UTF-8?q?hools,=20Again!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...365 Declared illegal for German Schools, Again!.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md diff --git a/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md b/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md new file mode 100644 index 0000000000..447bf79c0e --- /dev/null +++ b/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md @@ -0,0 +1,87 @@ +[#]: subject: "Microsoft Office 365 Declared illegal for German Schools, Again!" +[#]: via: "https://news.itsfoss.com/microsoft-office-365-illegal-germany/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Microsoft Office 365 Declared illegal for German Schools, Again! +====== + +Microsoft under fire for its Office 365 privacy concerns in Germany, again! + +![Microsoft Office 365 Declared illegal for German Schools, Again!][1] + +Recently, I stumbled upon a blog post by [Tutanota][2], stating that Microsoft's Office 365 had once again been declared illegal for use in German schools. + +Well, what a surprise! 😬The last time this happened was in [2019][3], when Office 365 was banned from schools in the German state of Hesse. + +**If you're curious:** Office 365 package offers a polished set of proprietary tools used by many professionals worldwide, which is why it is popular. + +However, it poses quite a few privacy concerns, as noted by German authorities, which have not been addressed yet. + +🛑 Hence, the decision was taken by the **German Data Protection Conference (DSK or** _Datenschutzkonferenz_**)** to ban the use of Microsoft Office 365 in schools across the country. + +> 💡 DSK is a group that consists of independent German Federal and State Data Protection supervisory authorities. + +### Microsoft Office 365 Cannot be used in German Schools + +**A bold move:** The DSK has banned the use of Microsoft Office 365 in schools, citing various privacy violations by Microsoft. + +Negotiations had been going on for the past two years to ensure its compliance with European data protection standards. + +However, things did not turn out well. + +In a statement made by the [DSK][4], they mention: + +> Controllers must be able to meet their accountability obligations pursuant to Art. 5 (2) GDPR at all times. When using Microsoft 365, difficulties can still be expected in this regard on the basis of the "data protection supplement", as Microsoft does not fully disclose which processing operations take place in detail.In addition, Microsoft does not fully disclose which processing operations are carried out on behalf of the customer or which are carried out for its own purposes. + +In other words, they feel that Microsoft has not been complying with the [GDPR][5], and there has been a consistent lack of transparency from Microsoft. + +**What is different from 2019?:** Well, after getting banned from the schools of Hesse, Microsoft made a few changes after 2019. + +But, they barely scratched the surface by adopting just a few of the EU Commission's standard contractual clauses and updating their '_Products and Services Data Protection [Addendum][6]_'. + +**What caused this again?:** The DSK was not pleased when they discovered that personal data was being sent to the US when Office 365 was used, making that data accessible to American authorities. + +They also discovered that it was impossible to use Microsoft Office 365 without transferring personal data to the USA. + +As a result, they also advise private users not to use Office 365 since Microsoft cannot be trusted to handle their data. + +The folks at Tutanota also noted that many trade schools use Office 365 to prepare their students for office work. Now, they will have to use on-premise licenses (deployed locally) of Microsoft Office to achieve the same. + +**What's Next?:** In a recent [statement][7], Microsoft has said that they do not agree with the DSK and have taken steps to ensure that their Office 365 products either meet the European data standards or often exceed them. + +Microsoft mentions: + +> We take the DSK's call for more transparency to heart. While our transparency standards already exceed those of most other providers in our sector, we are committed to getting even better. In particular, we will provide further documentation on our customers' data streams and the purposes of processing within the framework of our planned EU data limit in the sense of transparency. We will also create more transparency about the locations and processing by subcontractors and Microsoft employees outside the EU. + +So, to sum things up. Microsoft has a long way to go in ensuring compliance with the strict EU data handling guidelines. + +I think German schools should switch to Linux and opt for open-source Microsoft Office alternatives such as LibreOffice, Calligra, ONLYOFFICE, and [more][8] to keep their data secure and in the right hands. + +_💬 What do you think? Is Microsoft struggling to keep its position in Germany? Feel free to share your thoughts._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/microsoft-office-365-illegal-germany/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/german-schools-ban-ms-office-365.png +[2]: https://tutanota.com/blog/posts/microsoft-office-365-email-alternative/ +[3]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ +[4]: https://datenschutzkonferenz-online.de +[5]: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation +[6]: https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA +[7]: https://news.microsoft.com/de-de/microsoft-erfuellt-und-uebertrifft-europaeische-datenschutzgesetze/ +[8]: https://itsfoss.com/best-free-open-source-alternatives-microsoft-office/ From fb372f163fdb85f2f2455f2034f4245c914c9a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 20:08:54 +0800 Subject: [PATCH 614/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221201.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Mo?= =?UTF-8?q?nica=20An=20Open-Source=20App=20for=20Personal=20Relationship?= =?UTF-8?q?=20Management.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Source App for Personal Relationship Management.md | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md diff --git a/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md new file mode 100644 index 0000000000..2f5f0ad2f4 --- /dev/null +++ b/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md @@ -0,0 +1,86 @@ +[#]: subject: "Monica: An Open-Source App for Personal Relationship Management" +[#]: via: "https://itsfoss.com/monica/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Monica: An Open-Source App for Personal Relationship Management +====== + +You probably know what CRM stands for – **Customer Relationship Management**. We already have a list of [open-source CRM software][1] that helps small businesses. + +Here, I talk about an interesting open-source web application that takes the same concept for personal relationships. Sounds unique, right? + +Monica is an application that enables you to organize and record your interactions with loved ones. It is **free if you self-host it** and needs a **subscription if you need the hosted version**. + +### Monica: Keep Track of Social Interactions + +![contacts][2] + +It is tough to remember every little detail regarding your interactions with your family, friends, or colleagues. + +You can use [note-taking applications][3] or knowledge management apps like [CubyText][4] to add some information. But those are not tailored to record your interactions. So, you will have to make some effort to add the information in a manner that comes in handy when needed. + +With Monica, it becomes easier to add information about your family, work, the relation between contacts, activities, journals, reminders for important dates, debts, and more. + +You can install it on your own server or opt for a **$90/year** subscription to get the hosted version. + +It is interesting to note that the developer initially built it for his personal requirements. + +### Features of Monica + +![dashboard][5] + +You get loads of options to add information about people and interactions in your daily life. Some of these include: + +- Add notes about a person +- List names of significant others associated with a contact (their children, pets, etc.) +- Phone call logs +- Alternate contact methods for each contact +- Reminders for important dates and events with people. Birthdays are automatically set as reminders. +- Manage gift information +- Useful dashboard to see things at a glance +- Journal entry supported + +It looks like Monica comes packed with various functionalities that make it an all-in-one tool to write journals, take notes, add contact information, add events, and more. + +Unfortunately, there are no mobile apps available. You can access it from the web browser, but it may not be the best experience for everyone. So, if you stick to your smartphone for notes and stuff, you may want to look elsewhere. + +### Self-Host or Subscribe for Access + +If you want a hosted version of Monica, you can look at its [pricing page][6] to know more. + +For self-hosting, you need to head to its [GitHub page][7] and follow the instructions to download and get it installed. There are options to quickly deploy on Platform.sh or Heroku. + +Check the minimum system requirements before choosing a server to host Monica. + +There are no special premium features, and you get the same stuff when self-hosting it compared to its premium subscription for the hosted version. + +It all comes down to convenience. So, choose what sounds good to you. + +Head to its [official website][8] to get all the details and get started. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/monica/ + +作者:[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/best-open-source-crm/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/contacts.png +[3]: https://itsfoss.com/note-taking-apps-linux/ +[4]: https://news.itsfoss.com/cubytext-experimental-project/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/dashboard.png +[6]: https://www.monicahq.com/pricing +[7]: https://github.com/monicahq/monica#get-started +[8]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ From 2fe215885d535bcd8866fb97ef442b375996546f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 23:10:12 +0800 Subject: [PATCH 615/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221202.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=208?= =?UTF-8?q?=20ideas=20for=20measuring=20your=20open=20source=20software=20?= =?UTF-8?q?usage.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s for measuring your open source software usage.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md new file mode 100644 index 0000000000..892fce0de0 --- /dev/null +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -0,0 +1,142 @@ +[#]: subject: "8 ideas for measuring your open source software usage" +[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" +[#]: author: "Georg Link https://opensource.com/users/georglink" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +8 ideas for measuring your open source software usage +====== + +Those of us who support open source project communities are often asked about usage metrics — a lot. The goal of these metrics is usually to demonstrate the software's importance as measured by its user base and awareness. We typically want to know: how many people use the software, how many installations are there, and how many lives are being touched. + +To make a long story short: We cannot answer these questions directly. + +Sorry to disappoint you if you were hoping for a definitive solution. No one has the perfect answers to questions about usage metrics. At least, no precise answers. + +The good news is that there are approximations and alternative metrics that can satisfy your thirst for knowledge about the software's usage, at least partially. This article explores these alternatives including their benefits and shortcomings. + +### Downloads + +When you visit websites that offer software, you can often see how many times the software has been downloaded. An example that comes to mind is Firefox, which used to have a download counter. It was an impressive number and gave the impression that Firefox was a popular browser—which it was for a while. + +However, individual behavior can directly impact the accuracy of this number. For example, when a person wipes their machine regularly, each rebuild incurs a separate download. To account for this reality, there needs to be a way to subtract a few dozen (maybe hundreds) downloads from the number because of that one person. + +Not only can downloads overestimate usage, but they can also underestimate usage. For instance, a system administrator may download a new version of Firefox once to a flash drive and then install it on hundreds of devices. + +Download metrics are easy to collect because you can log each download request on the server. The problem is that you don't know what happens to the software after it is downloaded. Was the person able to use the software as anticipated? Or did the person run into issues and abandon the software? + +For open source projects, you can consider a variety of download metrics, such as the number of binaries downloaded from: + +- the project website +- package managers such as npm, PyPi, and Maven +- code repositories like GitHub, GitLab, and Gitee + +You may also be interested in downloads of the source code because downstream projects are most likely to use this format (also read [How to measure the impact of your open source project][1]). Relevant download metrics include: + +- The number of clones (source code downloads) from code repositories like GitHub, GitLab, and Gitee +- The number of archives (tar, zip) downloaded from the website +- The number of source code downloads through package managers like npm, PyPi, and Maven + +Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. + +**[ Related read [5 metrics to track in your open source community][2] ]** + +In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. + +### Issues + +As an open source project, you probably have an issue tracker. When someone opens an issue, two common goals are to report a bug or request a feature. The issue author has likely used your software. As a user, they would have found a bug or identified the need for a new feature. + +Obviously, most users don't take the extra step to file an issue. Issue authors are dedicated users and we are thankful for them. Also, by opening an issue, they have become a non-code contributor. They may become a code contributor. A rule of thumb is that for every 10,000 users, you may get 100 who open an issue and one who contributes code. Depending on the type of user, these ratios may differ. + +With regard to metrics, you can count the number of issue authors as a lower-bound estimation for usage. Related metrics can include: + +- The number of issue authors +- The number of active issue authors (opened an issue in the last 6 months) +- The number of issue authors who also contribute code +- The number of issues opened +- The number of issue comments written + +### User mailing lists, forums, and Q&A sites + +Many open source projects have mailing lists for users, a forum, and presence on a Q&A site, such as Stack Overflow. Similar to issue authors, people who post there can be considered the tip of the iceberg of users. Metrics around how active a community is in these mailing lists, forums, and Q&A sites can also be used as a proxy for increasing or decreasing the user base. Related metrics can focus on the activity in these places, including: + +- The number of user mailing list subscribers +- The number of forum users +- The number of questions asked +- The number of answers provided +- The number of messages created + +### Call-home feature + +To get accurate counts of users, one idea is to have your software report back when it is in use. + +This can be creepy. Imagine a system administrator whose firewall reports an unexpected connection to your server. Not only could the report never reach you (it was blocked), but your software may be banned from future use. + +Responsible ways to have a call-home feature is an optional service to look for updates and let the user know to use the latest version. Another optional feature can focus on usage telemetry where you ask the user whether your software may, anonymously, report back how the software is used. When implemented thoughtfully, this approach can allow users to help improve the software by their style of using it. A user may have the opinion: "I often don't allow this usage information sharing but for some software I do because I hope the developers will make it better for me in the long term." + +### Stars and forks + +Stars and forks are features on social coding platforms like GitHub, GitLab, and Gitee. Users on these platforms can star a project. Why do they star projects? GitHub's documentation explains, "You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed." Starring is the equivalent of bookmarking and also provides a way to show appreciation to a repository maintainer. Stars have been used as an indicator of the popularity of a project. When a project has a big announcement that attracts considerable attention, the star count tends to increase. The star metric does not indicate the usage of the software. + +Forks on these social coding platforms are clones of a repository. Non-maintainers can make changes in their fork and submit them for review through a pull request. Forks are more a reflection of community size than stars. Developers may also fork a project to save a copy they can access even after the original repository has disappeared. Due to the use of forks in the contribution workflow, the metric is a good indicator for the developer community. Forks do not typically indicate usage by non-developers because non-developers usually do not create forks. + +### Social media + +Social media platforms provide gathering places for people with shared interests, including Facebook, Instagram, LinkedIn, Reddit, Twitter, and more. Using a social media strategy, open source projects can attract people with interest and affinity for their projects by setting up respective gathering spaces on these platforms. Through these social media channels, open source projects can share news and updates and highlight contributors and users. They can also be used to meet people who would not otherwise interact with your project. + +We are hesitant to suggest the following metrics because they have no clear connection to actual usage of your software and often require analysis for positive, negative, and neutral sentiment. People may be excited about your project for many different reasons and want to follow it without actually using it. However, like other metrics already discussed, showing that you are able to draw a crowd in social media spaces is an indicator of the interest in your project overall. Metrics for different social media platforms may include: + +- The number of followers or subscribers +- The number of messages +- The number of active message authors +- The number of likes, shares, reactions, and other interactions + +### Web analytics and documentation + +Website traffic is a useful metric as well. This metric is influenced more by your outreach and marketing activities than your number of users. However, we have an ace up our sleeve: our user documentation, tutorials, handbooks, and API documentation. We can see what topics on our website draw attention, including documentation. The number of visitors to the documentation would arguably increase with an increase in the number of discrete users of the software. We can therefore detect general interest in the project with visitors to the website and more specifically observe user trends by observing visitors to the documentation. Metrics may include: + +- The number of website visitors +- The number of documentation visitors +- The duration visitors spend on your website or in documentation + +### Events + +Event metrics are available if you are hosting events around your project. This is a great way to build community. How many people submit abstracts to speak at your events? How many people show up to your events? This can be interesting for both in-person and virtual events. Of course, how you advertise your event strongly influences how many people show up. Also, you may co-locate your event with a larger event where people travel anyway, and thus, are in town and can easily attend your event. As long as you use a consistent event strategy, you can make a case that a rise in speaker submissions and attendee registrations are indicative of increasing popularity and user base. + +You don't need to host your own event to collect insightful metrics. If you host talks about your project at open source events, you can measure how many people show up to your session focused on your project. At events like FOSDEM, some talks are specifically focused on updates or announcements of open source projects and the rooms are filled to the brim (like almost all sessions at FOSDEM). + +Metrics you might consider: + +- The number of attendees at your project-centric event +- The number of talks submitted to your project-centric event +- The number of attendees at your project-centric talks + +### Conclusion about approximating usage of open source software + +As we've illustrated, there are many metrics that can indicate trends around the usage of your software, and all are imperfect. In most cases, these metrics can be heavily influenced by individual behavior, system design, and noise. As such, we suggest that you never use any of these metrics in isolation, given the relative uncertainty of each one. But if you collect a set of metrics from a variety of sources, you should be able to detect trends in behavior and usage. If you have the means to compare the same set of metrics across multiple open source projects with commonalities—such as similar functionality, strong interdependencies, hosted under the same foundation, and other characteristics—you can improve your sense of behavioral baselines. + +Note that in this overview, we've also chosen to highlight metrics that evaluate direct usage. As most software depends on a variety of other software packages, we would be remiss if we did not mention that usage and behavior can also be heavily impacted by indirect usage as part of a dependency chain. As such, we recommend incorporating the count of upstream and downstream dependencies as another layer of context in your analysis. + +In closing, as the wielder of data and metrics, we encourage you to recognize the power and responsibility that you have for your stakeholders. Any metric that you publish has the potential to influence behavior. It is a best practice to always share your context—bases, sources, estimations, and other critical contextual information—as this will help others to interpret your results. + +We thank the CHAOSS Community for the insightful conversation at CHAOSScon EU 2022 in Dublin, Ireland that sparked the idea for this blog post and to the CHAOSS Community members who reviewed and helped improve this article. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-usage-metrics + +作者:[Georg Link][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/georglink +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/5/metrics-project-success +[2]: https://opensource.com/article/22/11/community-metrics From 66ddc04ad80412c7a20717b650d0ef3ced9249a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 23:10:52 +0800 Subject: [PATCH 616/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221202.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?y=20this=20Java=20file=20manager=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Try this Java file manager on Linux.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md diff --git a/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md new file mode 100644 index 0000000000..7cc31a09ec --- /dev/null +++ b/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md @@ -0,0 +1,63 @@ +[#]: subject: "Try this Java file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Try this Java file manager on Linux +====== + +Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, we're taking a look at a file manager for your Linux system. + +At the tail end of the Sun Microsystem days, there was something called the Java Desktop System, which was strangely _not_ written in Java. Instead, it was a (according to sun.com at the time) "judicious selection of integrated and tuned desktop software, most based on open source and open standards." It was based on GNOME, with an office suite, email and calendaring apps, instant messaging, "and Java technology." I found myself musing about what it would take to create a desktop in Java. Objectively, a desktop doesn't actually consist of all that much. The general consensus seems to be that a desktop is made up of a panel, a system tray, an application menu, and a file manager. + +It's an interesting thought exercise to imagine an actual Java desktop. Not enough to start an open source project with that as its aim, but enough for a quick web search for the necessary components. And as it turns out, someone has written and maintains a file manager in Java. + +### JFileProcessor + +The Java file manager I found is called JFileProcessor, or JFP for short. It's a fascinating exercise not just in Java, but specifically in [Groovy][1], a popular scripting language for Java. + +![Image of the JfileProcessor folders.][2] + +As a file manager, JFileProcessor takes a minimal approach to both design and function. It lets you view, open, move, copy, cut, or delete files on your local system and on remote systems. It's not particularly customizable, it doesn't have extra features like split panels or movable panes. It's not built around any central theme aside from managing files. JFileProcessor is refreshing, in a way, because of its simplicity. This is a file manager, and that's all. And sometimes that's all you want in a file manager. + +I've written about options to [theme Java Swing][3] before, and that technique is technically an option for this open source application. However, I think part of the charm of this application is what OpenSolaris called its "Blueprint" theme. It's a nostalgic look of Java, and I've enjoyed running it in its native GUI appearance as a callback to my OpenSolaris (now OpenIndiana) laptop. + +### User experience + +Design aside, what really matters is user experience. JFileProcessor has just three buttons that you use on a daily basis: Up, back, and forward. They aren't bound to keyboard shortcuts, so you do have to click the buttons to navigate (or use the **Tab** key to select a button). I do a lot with keyboard shortcuts when using graphical applications, so this slowed me down a lot as I tried to navigate my system. However, there are times when I'm actually just lazily browsing files, and for that JFileProcessor worked exactly as I needed it. + +There's a search component to JFileProcessor, too. As long as you set a reasonable starting folder, the search is quick and intelligent, allowing for both search globs and regex patterns. I used this feature regularly when searching for a specific e-book or comic archive or game rulebook, for instance, or any time that I had a rough idea that directory contained an item but couldn't be bothered to click all the way through to the destination. A quick search through the subdirectories inevitably returned the obvious result, and a double-click opened the file to whatever XDG preference I had set (Evince for PDFs, Foliate for eBooks, and so on.) + +A right-click on any file or directory brings up a context menu. It's got most of the common tasks you'd expect: Copy, Cut, Paste, Delete, Rename, New. It's got some nice additions, too. + +![Right-click context menu in JFileProcessor][4] + +For instance, you can copy just the filename to your clipboard or save a path to a file. You can also run some scripts, including one to batch rename files, one to run a command on selected files, one to create a ZIP or TAR archive, and many more. And of course, there are several options for the coder, including opening a terminal at your current location and opening a new coding window. + +### Install + +I'm a real fan of Java. It's a clear language with sensible delimiters and a firm stance on cross-platform compatibility. I enjoy it as a language, and I love seeing what programmers create with it. + +JFileProcessor is aptly named. It's an effective way to process files, in the sense that JFileProcessor gives you a simple window into the files of data on your system and allows you to interact with them, graphically, in the same way you're likely to interact with them from a terminal. It's not the most efficient file manager I've used, nor the one with the most features. However, it's a pleasant application that provides you with the basic tools you need for file management with a relatively small codebase that makes for some stellar afternoon reading. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-jfileprocessor + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/groovy +[2]: https://opensource.com/sites/default/files/2022-09/jfileprocessor.webp +[3]: https://opensource.com/article/22/3/beautify-java-applications +[4]: https://opensource.com/sites/default/files/2022-09/jfileprocessor-menu.webp From 21f5098aba3bd9cfbf6672a4e78ed0c7fc87aa5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 23:12:02 +0800 Subject: [PATCH 617/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221202.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Pr?= =?UTF-8?q?ivacy-Preserving=20Ads=20Make=20a=20Debut=20on=20Brave=20Search?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...acy-Preserving Ads Make a Debut on Brave Search.md | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md diff --git a/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md b/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md new file mode 100644 index 0000000000..2d0561c3c3 --- /dev/null +++ b/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md @@ -0,0 +1,96 @@ +[#]: subject: "Privacy-Preserving Ads Make a Debut on Brave Search" +[#]: via: "https://news.itsfoss.com/brave-search-ads/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Privacy-Preserving Ads Make a Debut on Brave Search +====== + +Brave Search is testing privacy-preserving ads. But, the Brave browser does not seem to block them by default. + +![Privacy-Preserving Ads Make a Debut on Brave Search][1] + +Brave Search is an independent search engine that claims not to track its users and provides a safe and secure search experience. + +It aims to be a privacy-friendly alternative to the extensive tech services from Microsoft and Google. + +With a [recent announcement][2], they introduced a new feature to Brave Search. The search will now show '_privacy-preserving_' ads as part of a global beta program. + +What does this mean? Allow me to explain. + +### Privacy-Preserving Ads: Meaning? + +![brave search privacy preserving ads][3] + +Brave is planning to run ads on their search platform; they claim that these ads are anonymous, are marked, and follow its commitment of putting users first. + +These ads are said to be clearly labeled and are integrated into Brave Search. + +To display relevant advertisements, Brave Search will only use your **search query, country, and device type**. + +So, in theory, this should stop them from keeping a profile of your searches. + +They also add that: + +> Brave Search ads protect users’ data and anonymity, while supporting their access to independent and transparent search as a true alternative to Big Tech search engines. + +This has been released as a beta test globally, where Brave Search users will be shown text-based ads in search results. + +Users who opted for Brave Private Ads (for _Brave Rewards_) and are using the latest version of Brave won't be shown search ads since these are not yet eligible for BAT earnings. + +Additionally, they offer a '**Search Premium**' subscription for an ad-free search experience, which costs **$3 per month**. + +With this subscription, you get a completely ad-free search experience while also supporting Brave. + +### Is This a Step in the Right Direction? + +Even though Brave Search is based on an **open-source search project**[Tailcat][4], they have no plans to make it open-source. + +So, Brave Search already has a red flag 🚩 for many privacy enthusiasts who prefer open-source solutions for their transparency. + +**Will privacy-preserving ads make a difference, just like Brave Search's original claims for its search engine?** + +Well, I certainly hope so. Why? **Because we need more competitors to Google**. And something is better than nothing. + +Even without open-source code, we will have to sit back and see what kind of transparency they provide in their advertisement testing soon. + +Though, the implementation of Brave's privacy-preserving ads has got a few users upset. + +A [comment][5] made by a Reddit user on the official Subreddit of Brave Browser mentions: + +> Putting in an exception for your own ads is in exceptionally bad taste. All the marketing fluff around "independent, private search" is not an excuse. + +Brave Browser seems to be **not blocking Brave search ads** with its in-built ad-blocker (Brave Shields). + +On that, a member of the Brave support team clarified: + +> Shields at this time does not block 1st part, non tracking ads by default anyway (with the exception of setting to Aggressive, I believe) so it's actually just following the standard we've already set. + +So, you can block the Brave search ads with the privacy protection settings set to aggressive, I believe? + +However, not everyone prefers the aggressive blocker. So, let us see how things turn out for Brave search ad experimentation. + +💭 **Thoughts? Feel free to share them in the comments section.** + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/brave-search-ads/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/brave-privacy-preserving-ads.png +[2]: https://brave.com/private-search-ads/ +[3]: https://news.itsfoss.com/content/images/2022/12/Brave_Search_Ads.jpg +[4]: https://www.tailcat.com +[5]: https://www.reddit.com/r/brave_browser/comments/z9t171/comment/iyjledp/?utm_source=share&utm_medium=web2x&context=3 From cb97fbc66bb0b275a60556f8a38a5f504b880d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 23:13:50 +0800 Subject: [PATCH 618/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221201.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ge?= =?UTF-8?q?tting=20Nostalgic=20With=20the=20Historical=20Coherent=20Operat?= =?UTF-8?q?ing=20System.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...c With the Historical Coherent Operating System.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sources/tech/20221201.4 ⭐️⭐️ Getting Nostalgic With the Historical Coherent Operating System.md diff --git a/sources/tech/20221201.4 ⭐️⭐️ Getting Nostalgic With the Historical Coherent Operating System.md b/sources/tech/20221201.4 ⭐️⭐️ Getting Nostalgic With the Historical Coherent Operating System.md new file mode 100644 index 0000000000..d4cf8dcba5 --- /dev/null +++ b/sources/tech/20221201.4 ⭐️⭐️ Getting Nostalgic With the Historical Coherent Operating System.md @@ -0,0 +1,85 @@ +[#]: subject: "Getting Nostalgic With the Historical Coherent Operating System" +[#]: via: "https://itsfoss.com/coherent-operating-system/" +[#]: author: "Bill Dyer http://www.dyrobooks.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Getting Nostalgic With the Historical Coherent Operating System +====== + +Here’s a blast from the past. Years ago, back in the early 1990s, there was an operating system called Coherent. The price wasn’t so bad – $99. A few years ago, it was made freely available. Coherent never claimed to be UNIX, but UNIX-like. I learned a lot with that OS. + +When the Mark Williams Company closed in 1995, Coherent was a closed-source product. In 2015, it was released under a 3-clause BSD License so, if you’re interested, you can grab a free copy of Coherent at [Internet Archive][1] or [here][2].  + +Here’s a little look-back at Coherent. + +### Coherent’s Requirements + +Coherent was able to run on most Intel-based PCs with Intel 8088, 286, 386, and 486 processors. Coherent version 3, the version I started on, required at least a 286, and Coherent version 4 needed a 386. The drives that were supported were MFM or RLL. + +![coherent v3.0 ad 1][3] + +Coherent 3.0 which was a clone of the AT&T V7 UNIX. It ran very well on a ‘386 and 20mb MFM drive. When Coherent 4.0 came out, I upgraded and also replaced the hard disk to a 40mb MFM unit. In both cases, Coherent ran on less than 10mb. Coherent 4 was closer to AT&T’s Sys5R4 UNIX. + +Coherent 3.0 was a 16-bit OS but Coherent 4.0 was a bigger upgrade, able to take advantage of 32-bit operations. It still had a handful of programs limited to 16-bit operations, but all in all, it was a good system. + +### Coherent’s Offerings + +For a small package, it was remarkably complete. Not only was it a standalone operating system, but came with a big box of goodies, such as a Bourne Shell, C compiler, assembler, debugger, DOS disk support, uucp, at least three editors, some games, mail, and around 200 of the most used and useful UNIX commands. + +![coherent v4.0 ad2][4] + +The shell had a few bugs and was missing some features, but it was sufficient for the small stuff I normally did with it. X Windows was available, but I don’t think it came with the basic system and, if I remember correctly, was a separate purchase. I remember having it and it worked, but it had a few problems, but the Mark Williams Company continually worked on it. + +### Using Coherent + +Having a small UNIX system on a personal PC at home was nice. I was well versed with DOS, but UNIX was the operating system in use where I worked at the time and I preferred it over DOS and Windows 3.1. Coherent wasn’t as powerful as UNIX but it was a good learning tool. With it, I learned much about system administration and got a massive amount of hands-on experience with the command line. + +Programming was fun, but since the C compiler only had small model support (64K of code and 64K of data), I was limited in what programs I could write. Some might laugh at the small model, but some nifty programs could be written with it. + +Using Coherent at home, I was a single user, using it mainly for the experience with the command line and to learn a bit about system administration. + +I really can’t recall how well Coherent handled networking; I never concerned myself with it. I don’t recall it having a lot of network support – it certainly didn’t have TCP/IP. However, it did have `uucp`. It took me some time to get it working right, but once that was done, it delivered all the Usenet news I could ever want. + +One might think that it wouldn’t do well in a large setting, such as a school, but I attended one college that actually had several Coherent workstations. They were used mainly as training stations for classes in operating systems. + +### The XWindows vs. TCP/IP Argument + +There are some arguments over whether or not the Mark Williams Company’s efforts on XWindows was wise, or if they should have concentrated on implementing a TCP/IP stack. To some, this is the main reason why the Mark Williams Company folded. + +The Mark Williams Company spent a lot of time and effort on getting X Windows to work. I don’t recall that they truly finished, but they had at least gone a long way toward completing it. It makes sense to me that they would focus on it – the goal was to make an affordable UNIX-like system and X was definitely considered a part of UNIX. + +A small company would have to choose its projects carefully. XWindows was chosen. Even Linux, in its early days, didn’t offer TCP/IP support at first – [KA9Q][5] was used for a short time, so I don’t think that the decision to focus on XWindows was unwise at all. + +### Conclusion + +Coherent just couldn’t keep up with the competition and the Mark Williams Company closed in 1995. I certainly don’t consider Coherent a failure in the slightest, however. It was an excellent UNIX option at the time and the efforts of the Mark Williams Company was quite impressive. + +I learned more about the command line and general system administration than I ever could have where I worked at the time. I once recommended Coherent to an individual who wanted to learn UNIX on her own. After a year with it, she hired on as a system administrator. The last I heard from her, she was the senior UNIX admin at a large site in the Midwest US. + +I’m right glad that I got to play with Coherent. I credit Coherent with being a key part in my education; it had a part in how my career developed and I went on to be a system administrator on different UNIX systems. + +At home, I would eventually settle on Linux – a decision I do not regret, but if you decide to play with it remember that it’s old – you will be experiencing a bit of history. If you would like to try out Coherent, you can run it through VirtualBox. Thorough setup instructions can be found at: [https://www.autometer.de/unix4fun/coherent/][6]. Not only does the page cover VirtualBox setup, but the page also contains a link to disk images and installation instructions – a one-stop site. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/coherent-operating-system/ + +作者:[Bill Dyer][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: http://www.dyrobooks.com/ +[b]: https://github.com/lkxed +[1]: https://archive.org/details/mwc-coherent-unix-clone +[2]: http://www.nesssoftware.com/home/mwc/source.php +[3]: https://itsfoss.com/wp-content/uploads/2022/11/coherent-v3.0-ad-1.jpg +[4]: https://itsfoss.com/wp-content/uploads/2022/11/coherent-1.jpg +[5]: http://www.ka9q.net/code/ka9qnos/ +[6]: https://www.autometer.de/unix4fun/coherent/ From c0a80ccd2fa6bfa5f90550ec00081be8b9f17399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 3 Dec 2022 23:14:45 +0800 Subject: [PATCH 619/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221203.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fe?= =?UTF-8?q?el=20like=20a=20Linux=20wizard=20with=20the=20Thunar=20file=20m?= =?UTF-8?q?anager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ike a Linux wizard with the Thunar file manager.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 sources/tech/20221203.0 ⭐️⭐️ Feel like a Linux wizard with the Thunar file manager.md diff --git a/sources/tech/20221203.0 ⭐️⭐️ Feel like a Linux wizard with the Thunar file manager.md b/sources/tech/20221203.0 ⭐️⭐️ Feel like a Linux wizard with the Thunar file manager.md new file mode 100644 index 0000000000..7b7fb97fec --- /dev/null +++ b/sources/tech/20221203.0 ⭐️⭐️ Feel like a Linux wizard with the Thunar file manager.md @@ -0,0 +1,79 @@ +[#]: subject: "Feel like a Linux wizard with the Thunar file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-thunar" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Feel like a Linux wizard with the Thunar file manager +====== + +Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, I'll take a look at a file manager for your Linux system. + +The [XFCE desktop][1] is well-known and respected for its careful and methodical development cycle. It's actively maintained and has continued to evolve over the years, its focus tends to be on delivering a consistent experience with just the right amount of new features. It's a pleasure to use XFCE on everything from the old computer you've repurposed as a home server to the new PC you've just built and are too greedy to waste GPU cycles on fancy desktop effects. XFCE is a budget desktop that doesn't make you skimp on experience, and its file manager exemplifies that. + +### Linux Thunar file manager + +The Thunar file manager is a lightweight file manager based on the GTK toolkit. If you're running GNOME already, you have most of what you need to run Thunar already installed. If you're not running GNOME, you probably still have most of what you need to run Thunar, because much of what Thunar uses is part of a typical Linux install. + +The visual design of Thunar is, like much of XFCE, "normal." By that, I mean it's exactly what you'd expect from a file manager: the side pane on the left contains common places you use often, and the pane on the right lists the files and folders on your system. + +![Image of the Thunar file manager.][2] + +### Side pane + +The panel on the left contains the default folders of a conventional POSIX system: Desktop, Documents, Downloads, Music, Pictures, Videos, and so on. It also has a slot for removable devices, such as USB drives and SD cards. In addition, it has a place for Network locations, in the event that you interact with a remote computer or a file share. + +Most options in Thunar are provided through its main menu, and that includes the option to change the side pane to a tree view. This view displays common places in an expandable list so you can collapse an entry you're not using at the moment. + +![Image of a side panel in Thunar.][3] + +### Menu + +Much of Thunar's power is accessible through its menu bar. Sure, there's a right-click contextual menu, but you will find the most powerful functions in the main menu. From the menu, you can perform quick but meaningful actions. + +- **Invert selection**: Select one or more items, then go to the **Edit** menu and choose **Invert selection**. Everything you had selected is now unselected, and everything else in the directory is selected. +- **Select by pattern**: Select files based on some combination of characters appearing in their names. For instance, type in `jpg`to select all filesendingin**`*jpg`,** or**`*nix`** to select all files containing the contiguous letters `nix`. +- **Show hidden files**: Sometimes you need to see the files you normally want out of sight. +- **Open terminal here**: Open a terminal window with its working directory set to your location. +- **Make link**: Make a symlink (sometimes called an "alias" or "shortcut") of the selected file or folder. + +### Fast + +The beautiful thing about Thunar, aside from its straight-forward simplicity, is how it defaults to immediately performing the action you've requested. There are file managers out there (including my personal favorite) that, at least without advanced knowledge of special shortcuts, interrupt a process in the interest of verification or clarification. Thunar only pauses when it absolutely needs feedback from you. + +A great example is the **Make link** function in the **Edit** menu. In some file managers, when you create a symlink you're asked first whether or not you want to make a symlink, and then maybe what you'd like to name the symlink, and maybe even where you want the symlink to be created. All of that's really important information and results in a targeted and precise action. However, sometimes you don't need precision. Sometimes you just want speed, which is why Thunar just _makes the symlink_. No questions asked. When you tell it to create a symlink, it creates a symlink, with a name prefixed with "link to", in your current directory. If that's not what you wanted the symlink to be named, then you can rename it. If that's not where you want the symlink to exist, then you can relocate it. Your upfront investment is minimal, and you get results fast. + +### Bulk rename + +Possibly Thunar's greatest contribution to the desktop is its bulk renaming function. How many times have you come home from vacation with a hundred photos called some variation of `IMG_2022-01-04_10-55-12.JPG`, which you add to a thousand other photos with similarly meaningless names? There are lots of [photo managers][4] out there that can help you [organize, browse, and tag][5] those photos, but there's nothing like a descriptive name to start out with. With Thunar, you can select hundreds of files, right-click, and select **Rename** for a bulk renaming interface. + +![Image of Thunar's bulk rename window.][6] + +Imagine opening your `~/Pictures` folder and seeing hundreds of photos with meaningful names! You probably don't even dare, but with Thunar it's actually possible! + +### Runic magic + +It's unclear whether Thunar is the product of mortal programmers or the magical denizens of Asgard. There's a very high probability of the former, but there's also the likelihood that you'll feel like the latter when you use it. It's a humble and simple file manager with a powerful feature set. It may even be a worthy replacement for your existing GNOME file manager, or at the very least worthy of being included in your dock. Install Thunar and wield its power. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-thunar + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/xfce-linux-desktop +[2]: https://opensource.com/sites/default/files/2022-09/thunarfilemanager.png +[3]: https://opensource.com/sites/default/files/2022-09/thunar-side-panel.png +[4]: https://opensource.com/life/16/5/how-use-digikam-photo-management +[5]: https://opensource.com/life/16/4/how-use-darktable-digital-darkroom +[6]: https://opensource.com/sites/default/files/2022-09/thunar-bulk-rename.png From b066b31a6c7f94438c229199fafb67b1bb05457f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 4 Dec 2022 09:53:29 +0800 Subject: [PATCH 620/925] ALL @wxy https://linux.cn/article-15315-1.html --- ...365 Declared illegal for German Schools, Again!.md | 95 +++++++++++++++++++ ...365 Declared illegal for German Schools, Again!.md | 87 ----------------- 2 files changed, 95 insertions(+), 87 deletions(-) create mode 100644 published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md delete mode 100644 sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md diff --git a/published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md b/published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md new file mode 100644 index 0000000000..37f815aec6 --- /dev/null +++ b/published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md @@ -0,0 +1,95 @@ +[#]: subject: "Microsoft Office 365 Declared illegal for German Schools, Again!" +[#]: via: "https://news.itsfoss.com/microsoft-office-365-illegal-germany/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15315-1.html" + +微软 Office 365 再次在德国学校被宣布为非法 +====== + +> 再一次,微软因其 Office 365 的隐私问题而在德国受到抨击! + +![微软 Office 365 再次在德国学校被宣布为非法!][1] + +最近,我偶然看到 [Tutanota][2] 的一篇博文,说微软的 Office 365 再次被宣布在德国学校使用是非法的。 + +好吧,真让人吃惊!😬 + +上一次发生这种情况还是在 [2019 年][3],当时 Office 365 被禁止在德国黑森州Hesse的学校使用。 + +补充说明一下,Office 365 软件包提供了一套完善的专有工具,被全球许多专业人士使用,这就是它受欢迎的原因。 + +然而,正如德国当局指出的那样,它带来了相当多的隐私问题,这些问题还没有得到解决。 + +🛑 因此,德国数据保护会议(DSK、Datenschutzkonferenz)决定禁止在全国的学校使用微软 Office 365。 + +> 💡 DSK 是一个由独立的德国联邦和州数据保护监督机构组成的团体。 + +### 微软 Office 365 不能在德国学校使用 + +**一个大胆的举动:** DSK 已经禁止在学校使用微软 Office 365,理由是微软存在各种隐私侵犯的行为。 + +过去两年一直在进行谈判,以确保其符合欧洲数据保护标准。 + +然而,事情的结果并不理想。 + +在 [DSK][4] 的一份声明中,他们提到: + +> 控制者必须能够根据 GDPR 第 5(2) 条履行其责任义务。在使用微软 365 时,根据“数据保护附录”,在这方面仍然会遇到困难,因为微软没有完全披露具体发生了哪些处理操作。 +> +> 此外,微软没有完全披露哪些处理操作是代表客户进行的,哪些是为自己的目的进行的。 + +换句话说,他们觉得微软没有遵守 [GDPR][5] 的规定,而且微软一直缺乏透明度。 + +**与 2019 年那次有什么不同?:** 好吧,在被黑森州的学校取缔后,微软在 2019 年后做了一些改变。 + +但是,他们只是采用了欧盟委员会的一些标准合同条款,并更新了他们的《产品和服务数据保护 [附录][6]》,几乎只是表面功夫。 + +**这次又是什么原因造成的?:** 当 DSK 发现使用 Office 365 时,个人数据被发送到美国,使美国当局可以获得这些数据时,他们很不高兴。 + +他们还发现,如果不将个人数据传输到美国,就无法使用微软 Office 365。 + +因此,他们也建议私人用户不要使用 Office 365,因为不能信任微软对他们的数据的处理。 + +Tutanota 的人还指出,许多贸易学校使用 Office 365 来让他们的学生学习办公室工作。现在,他们将不得不使用微软 Office 的本地许可证(在本地部署)来实现同样的目的。 + +**下一步是什么?** 在最近的一份 [声明][7] 中,微软表示,他们不同意 DSK 的做法,并已采取措施,确保他们的 Office 365 产品符合欧洲数据标准,或者经常超过这些标准。 + +微软提到: + +> 我们谨记 DSK 关于提高透明度的呼吁。虽然我们的透明度标准已经超过了我们行业中的大多数其他供应商,但我们承诺会做得更好。 +> +> 特别是,我们将在我们计划的欧盟数据限制的框架内,在透明度的意义上提供关于我们客户的数据流和处理目的的进一步文档。 +> +> 我们还将增加欧盟以外的分包商和微软员工的地点和处理的透明度。 + +因此,总结一下。在遵守严格的欧盟数据处理准则方面,微软还有很长的路要走。 + +我认为德国学校应该改用 Linux,并选择开源的微软 Office 替代品,如 LibreOffice、Calligra、ONLYOFFICE [等等][8],以保证他们的数据安全并掌握在正确的人手中。 + +你怎么看?微软是否在努力保持其在德国的地位?欢迎分享你的想法。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/microsoft-office-365-illegal-germany/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/german-schools-ban-ms-office-365.png +[2]: https://tutanota.com/blog/posts/microsoft-office-365-email-alternative/ +[3]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ +[4]: https://datenschutzkonferenz-online.de +[5]: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation +[6]: https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA +[7]: https://news.microsoft.com/de-de/microsoft-erfuellt-und-uebertrifft-europaeische-datenschutzgesetze/ +[8]: https://itsfoss.com/best-free-open-source-alternatives-microsoft-office/ diff --git a/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md b/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md deleted file mode 100644 index 447bf79c0e..0000000000 --- a/sources/news/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "Microsoft Office 365 Declared illegal for German Schools, Again!" -[#]: via: "https://news.itsfoss.com/microsoft-office-365-illegal-germany/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Microsoft Office 365 Declared illegal for German Schools, Again! -====== - -Microsoft under fire for its Office 365 privacy concerns in Germany, again! - -![Microsoft Office 365 Declared illegal for German Schools, Again!][1] - -Recently, I stumbled upon a blog post by [Tutanota][2], stating that Microsoft's Office 365 had once again been declared illegal for use in German schools. - -Well, what a surprise! 😬The last time this happened was in [2019][3], when Office 365 was banned from schools in the German state of Hesse. - -**If you're curious:** Office 365 package offers a polished set of proprietary tools used by many professionals worldwide, which is why it is popular. - -However, it poses quite a few privacy concerns, as noted by German authorities, which have not been addressed yet. - -🛑 Hence, the decision was taken by the **German Data Protection Conference (DSK or** _Datenschutzkonferenz_**)** to ban the use of Microsoft Office 365 in schools across the country. - -> 💡 DSK is a group that consists of independent German Federal and State Data Protection supervisory authorities. - -### Microsoft Office 365 Cannot be used in German Schools - -**A bold move:** The DSK has banned the use of Microsoft Office 365 in schools, citing various privacy violations by Microsoft. - -Negotiations had been going on for the past two years to ensure its compliance with European data protection standards. - -However, things did not turn out well. - -In a statement made by the [DSK][4], they mention: - -> Controllers must be able to meet their accountability obligations pursuant to Art. 5 (2) GDPR at all times. When using Microsoft 365, difficulties can still be expected in this regard on the basis of the "data protection supplement", as Microsoft does not fully disclose which processing operations take place in detail.In addition, Microsoft does not fully disclose which processing operations are carried out on behalf of the customer or which are carried out for its own purposes. - -In other words, they feel that Microsoft has not been complying with the [GDPR][5], and there has been a consistent lack of transparency from Microsoft. - -**What is different from 2019?:** Well, after getting banned from the schools of Hesse, Microsoft made a few changes after 2019. - -But, they barely scratched the surface by adopting just a few of the EU Commission's standard contractual clauses and updating their '_Products and Services Data Protection [Addendum][6]_'. - -**What caused this again?:** The DSK was not pleased when they discovered that personal data was being sent to the US when Office 365 was used, making that data accessible to American authorities. - -They also discovered that it was impossible to use Microsoft Office 365 without transferring personal data to the USA. - -As a result, they also advise private users not to use Office 365 since Microsoft cannot be trusted to handle their data. - -The folks at Tutanota also noted that many trade schools use Office 365 to prepare their students for office work. Now, they will have to use on-premise licenses (deployed locally) of Microsoft Office to achieve the same. - -**What's Next?:** In a recent [statement][7], Microsoft has said that they do not agree with the DSK and have taken steps to ensure that their Office 365 products either meet the European data standards or often exceed them. - -Microsoft mentions: - -> We take the DSK's call for more transparency to heart. While our transparency standards already exceed those of most other providers in our sector, we are committed to getting even better. In particular, we will provide further documentation on our customers' data streams and the purposes of processing within the framework of our planned EU data limit in the sense of transparency. We will also create more transparency about the locations and processing by subcontractors and Microsoft employees outside the EU. - -So, to sum things up. Microsoft has a long way to go in ensuring compliance with the strict EU data handling guidelines. - -I think German schools should switch to Linux and opt for open-source Microsoft Office alternatives such as LibreOffice, Calligra, ONLYOFFICE, and [more][8] to keep their data secure and in the right hands. - -_💬 What do you think? Is Microsoft struggling to keep its position in Germany? Feel free to share your thoughts._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/microsoft-office-365-illegal-germany/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/german-schools-ban-ms-office-365.png -[2]: https://tutanota.com/blog/posts/microsoft-office-365-email-alternative/ -[3]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ -[4]: https://datenschutzkonferenz-online.de -[5]: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation -[6]: https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA -[7]: https://news.microsoft.com/de-de/microsoft-erfuellt-und-uebertrifft-europaeische-datenschutzgesetze/ -[8]: https://itsfoss.com/best-free-open-source-alternatives-microsoft-office/ From 0008e424e5c72c8b41636cd25d0f70f5231286f2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 4 Dec 2022 11:33:47 +0800 Subject: [PATCH 621/925] RP @geekpi https://linux.cn/article-15316-1.html --- ...Now Install Unity 7.6 Desktop on Arch Linux.md | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md (65%) diff --git a/translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/published/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md similarity index 65% rename from translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md rename to published/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md index 1cb5d92805..61b8645189 100644 --- a/translated/tech/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md +++ b/published/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md @@ -3,13 +3,17 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15316-1.html" -你现在可以在 Arch Linux 上安装 Unity 7.6 桌面 +你现在可以在 Arch Linux 上安装 Unity 7.6 桌面了 ====== +> 想在 Arch Linux 上试试 Unity 吗?现在可以了! + +![](https://news.itsfoss.com/content/images/size/w2000/2022/11/unity-on-arch-linux.png) + Unity Desktop 是由 Canonical 构建的经典桌面环境,它从 2010 年到 2017 年是 Ubuntu 的一部分,但为了支持 GNOME 而放弃。 我们认为它永远被杀死了。但它卷土重来。 @@ -22,7 +26,7 @@ Unity 7.6 的发布标志着大量改进的到来。 而且,更进一步,Unity 7.6 已可用于 Arch Linux。开发者提到: -> 此移植基于 chenxiaolong 的早期成果 Unity-for-Arch(2011-2016 年维护)。 +> 此移植基于 chenxiaolong (于 2011-2016 年维护)的早期成果 Unity-for-Arch。 ### 在 Arch Linux 上试用 Unity 7.6 @@ -30,17 +34,21 @@ Unity 7.6 的发布标志着大量改进的到来。 首先,你必须确保你已经安装了 Arch Linux。 -Then you can follow these steps to run Unity 7.6 on Arch Linux: 然后你可以按照以下步骤在 Arch Linux 上运行 Unity 7.6: -- **安装“[Paru][3]”,它是一个 AUR 助手。** -- **使用 “paru -S unity-installer-arch” 安装名为 “unity-installer-arch” 的脚本** -- **在 TTY/终端窗口中运行 “unity-installer-arch”。** -- **选择 “安装 Unity 桌面”。** -- **将默认显示管理器更改为 “lightdm”。** -- **使用 “unity-greeter” 作为默认登录界面。** +安装 [Paru][3],它是一个 AUR 助手。 -的同事 Sreenath 尝试了一下,在安装过程中,由于多重依赖冲突,他不得不从全新的 Arch 开始。 +使用 `paru -S unity-installer-arch` 安装名为 `unity-installer-arch` 的脚本。 + +在 TTY/终端窗口中运行 `unity-installer-arch`。 + +选择 “安装 Unity 桌面Install Unity desktop”。 + +将默认显示管理器更改为 `lightdm`。 + +使用 `unity-greeter` 作为默认登录界面。 + +我的同事 Sreenath 尝试了一下,在安装过程中,由于多重依赖冲突,他不得不从全新的 Arch 开始。 对你来说可能有所不同,但请记住这一点。如果你不想花时间在这上面,你可能想试试 [Ubuntu Unity][4]。 @@ -50,7 +58,7 @@ Then you can follow these steps to run Unity 7.6 on Arch Linux: 你想让那发生吗? -_💬 你是 Unity 桌面的现有用户吗?想试试看么?在评论区分享你的观点。_ +💬 你是 Unity 桌面的用户吗?想试试看么?在评论区分享你的观点。 -------------------------------------------------------------------------------- @@ -59,7 +67,7 @@ via: https://news.itsfoss.com/unity-arch-linux/ 作者:[Sourav Rudra][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/) 荣誉推出 From d5d0eca59901862d9de1682172f92d2469a2e996 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sun, 4 Dec 2022 15:04:26 +0800 Subject: [PATCH 622/925] translating --- ...221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md index 80773e6f6f..fa23d27aa3 100644 --- a/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md +++ b/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/advanced-git-commands" [#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From c0422b80d72fa464affdf0b0450406669a7ce2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 01:29:27 +0800 Subject: [PATCH 623/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221201.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?at=20is=20Firefox=20ESR=20How=20to=20Install=20it=20in=20Ubuntu?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...What is Firefox ESR How to Install it in Ubuntu.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md diff --git a/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md b/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md new file mode 100644 index 0000000000..ab1be90f2f --- /dev/null +++ b/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md @@ -0,0 +1,142 @@ +[#]: subject: "What is Firefox ESR? How to Install it in Ubuntu?" +[#]: via: "https://itsfoss.com/firefox-esr-ubuntu/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What is Firefox ESR? How to Install it in Ubuntu? +====== + +The snap version of Ubuntu is not to your liking? Don’t like constantly changing things with every Firefox release? You can try the Firefox ESR version if you value stability over features. + +### What is Firefox ESR? + +Firefox ESR is a special edition of Firefox browser that doesn’t necessarily get new features monthly as the regular edition but it provides a stable and secure browsing experience. This is suitable for enterprises, organizations and institutes where stability and core features matter more than shiny new features. + +Think of Firefox ESR as the long-term stable release of Linux distributions. They do not necessarily get brand-new features but they get regular security and maintenance updates. This gives the users a familiar and stable environment. + +#### Why should you care for Firefox ESR? + +Firefox releases a new version almost every month. It contains security and feature updates. + +But some people may not like the inclusion and removal of features. If, after an update, you keep wondering where did certain settings go or do not like things that are different than before, Firefox ESR could be worth a try. + +Basically, if you value stability more than new features, Firefox ESR is for you. This is the same version of Firefox that ships with Debian, which is known for being one of the most stable distros you can get in the market. + +Let me show you how to get Firefox ESR on Ubuntu. **_You can have both Firefox and Firefox-ESR versions installed simultaneously. There is no visual difference in their logos so you have to pay attention to which Firefox version you are opening._** + +### Installing Firefox ESR in Ubuntu + +Before I jump to the installation part, let me share what’s the version difference between regular Firefox and Firefox-ESR. While writing, + +- Firefox is running at version **107.0-2**. +- Firefox-ESR is currently having **102.5.0esr**. + +So if that’s fine for you, let’s look at the first method. + +#### Method 1: Install Firefox-ESR using PPA + +Firefox-ESR is not available in the default repository of Ubuntu, so you can use the PPA. + +PPA is nothing but a repository being maintained by individual techies or developers to have what the default repository does not. + +And if you want to learn more about PPA, I would recommend checking our other guide that explains [how you can use PPA on Linux.][1] + +Open your terminal and use the given command to add PPA for Firefox-ESR: + +``` +sudo add-apt-repository ppa:mozillateam/ppa +``` + +And press Enter to confirm you want to add PPA: + +![add firefox esr repository in ubuntu][2] + +Once done, you will have to update the repository index in Ubuntu to take effect from the changes: + +``` +sudo apt update +``` + +And now, you can install Firefox-ESR by using the given command: + +``` +sudo apt install firefox-esr +``` + +Next, you can use the given command to check the installed version of Firefox-ESR in your system: + +``` +firefox-esr -v +``` + +![check installed version of firefox esr in ubuntu][3] + +##### Uninstalling Firefox-ESR from Ubuntu + +If the ESR felt too outdated for your work or for any other reason you want to remove it from your system, you can follow the steps to remove the Firefox-ESR package and the repository. + +First, let’s remove the Firefox-ESR package using the following: + +``` +sudo apt remove firefox-esr +``` + +Now, you can use the given command to [remove PPA from Ubuntu][4]: + +``` +sudo add-apt-repository --remove ppa:mozillateam/ppa +``` + +And that’s it! + +#### Method 2: Install Firefox-ESR using Snap + +Love it or hate it, Snaps comes pre-configured on Ubuntu and I find using snaps a neat way of installing packages, especially when you want to avoid building them for source or using PPA. + +All you need to do to install Firefox-ESR using snaps is to follow the given command: + +``` +sudo snap install firefox --channel=esr/stable +``` + +![install firefox esr using snaps in ubuntu][5] + +##### Removing Firefox-ESR Snap + +To remove Firefox-ESR (snap package), use the [snap remove command][6]: + +``` +sudo snap remove firefox +``` + +And that’s it! + +### Wrapping Up + +I explained how to install Firefox-ESR in Ubuntu using multiple methods in this guide. I personally use Firefox-ESR instead of the regular version as I was having random crashes. + +Since I shifted to Firefox-ESR, things have been going rock-solid for me. And if you were having the same, you should give it a try. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/firefox-esr-ubuntu/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/ppa-guide/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/add-firefox-esr-repository-in-ubuntu.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/check-installed-version-of-firefox-esr-in-ubuntu.png +[4]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/install-firefox-esr-using-snaps-in-ubuntu.png +[6]: https://itsfoss.com/remove-snap/ From 59942650bd03ad27d6cb9285023dac0fb4cae189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 01:29:53 +0800 Subject: [PATCH 624/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221204.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ma?= =?UTF-8?q?ke=20your=20Linux=20computer=20feel=20faster=20with=20the=20Xfe?= =?UTF-8?q?=20file=20manager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... computer feel faster with the Xfe file manager.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221204.0 ⭐️⭐️ Make your Linux computer feel faster with the Xfe file manager.md diff --git a/sources/tech/20221204.0 ⭐️⭐️ Make your Linux computer feel faster with the Xfe file manager.md b/sources/tech/20221204.0 ⭐️⭐️ Make your Linux computer feel faster with the Xfe file manager.md new file mode 100644 index 0000000000..0b2541b075 --- /dev/null +++ b/sources/tech/20221204.0 ⭐️⭐️ Make your Linux computer feel faster with the Xfe file manager.md @@ -0,0 +1,91 @@ +[#]: subject: "Make your Linux computer feel faster with the Xfe file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-xfe" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Make your Linux computer feel faster with the Xfe file manager +====== + +Computers are like filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, I'll look at a file manager for your Linux system. + +Back before NVMe drives and 12-core processors, applications could take seconds to launch. While that wait time is fine for a big application like LibreOffice or Blender, it's a little painful when it's a tiny application you use frequently. 2 seconds times 10 file manager windows in an hour, times 12 hours a day, is 4 whole minutes of wasted time. OK, I admit that's actually not that much when you do the math, but ask anybody and they'll tell you that it _felt_ like 4 hours. One way to make a computer, whether it's last year's model or something hot off the shelf, feel faster is to use "lightweight" applications. An application is usually considered lightweight when it's designed around minimal code libraries that don't demand much from your system's resources. + +The X File Explorer (Xfe) file manager is one of those applications. It's quick to launch, it doesn't feature fancy animations or effects, and it has few dependencies beyond some basic libraries, most of which are probably already on your Linux system. + +![Image of the XFE file manager.][1] + +### Install on Linux + +On Fedora, CentOS, Mageia, and similar, you can install Xfe from your software repository: + +``` +$ sudo dnf install xfe +``` + +On Debian, Elementary, Linux Mint, and similar: + +``` +$ sudo apt install xfe xfe-themes +``` + +Xfe is open source, so you can alternately just [download the source code][2] and [compile it yourself][3]. + +### Using Xfe + +The first thing you're likely to notice about Xfe is that by default it's a little top-heavy. There's a menu bar, and then not one but five toolbars along the top of the window. Those toolbars aren't hard coded in position, though, and you can choose which toolbar you actually need on screen at all times in the **View** menu. Personally, I keep the **Location** toolbar on and hide the rest. But I think all Xfe users are likely to have a favorite set of toolbars all their own, so when you first try Xfe give yourself time to see which toolbar you actually end up using. + +Here's a list of the toolbars and some of the important buttons they each contain: + +- **General**: Navigation buttons, view refresh, new file, new directory, copy, cut, paste, and other standard file manager actions. This could replace the menu bar, were there a way to hide the menu bar. +- **Tools**: Launch a new Xfe window as user or root, execute a command, launch a terminal. +- **Panel**: Split the Xfe window into two panes, two panes with panels, one pane with panel, or a single pane. +- **Location**: Enter a path for quick navigation. + +It's not just the toolbars that are configurable. You can hide most components of Xfe, including the side pane displaying your filesystem tree and the status bar. Xfe can look as minimal as its memory footprint: + +![Image of Xfe in a minimal style.][4] + +### Power menu + +The beautiful thing about Xfe's design is that you never sacrifice features regardless of your configuration. You can hide toolbars and panels, but you still have access to every option from the menu. + +From the **Panel** menu, for instance, you can filter files by regex strings, show hidden files, activate and deactivate thumbnails (the fewer things your computer has to render, the faster it can draw the screen), switch icon views between a list or detailed list, choose to ignore case, reverse the sort order, and more. + +There's even a menu for the **Trash**, so you can always get to the place you need to be to rescue something you've thrown out. + +### Two dots + +The feature I appreciate more than I'd expected I would is Xfe's inclusion of a meta folder with a name of just two dots. The `..` folder isn't really a folder. It's shorthand for going "up" in your directory tree. If you don't think of folders existing in a tree configuration, that might not make immediate sense, but in computing, you can express the hierarchy of data storage in the same way you might express a family tree. If the `penguins` folder contains the `emperor` and `rockhopper` folders, then you can think of the `penguin` directory as their "parent." + +![Image of a file system tree.][5] + +Computers use two dots as an instruction to move out of the current directory and "up" the tree. When you're in the `rockhopper` folder, two dots mean _ascend up_ to `penguins`. When you're in the `emperor` folder, two dots also mean _ascend up_ to `penguins`, because `emperor` and `rockhopper` are both "children" of the `penguins` directory. + +This two dot convention is common in Linux and in fact the entire Internet (you can test this out by appending `/..` to the end of the URL of this article. It won't get you very far due to restricted permissions, but it does successfully take you off this page, so wait until you're done reading!) Having access to two dots in every directory of Xfe is a familiar and convenient way to navigate. + +### Make it quick + +Running fast applications makes your computing faster. It's a secret that experienced Linux users have known for years, and it's one of the many reasons you often see Linux users with ancient computers. When you use a terminal and a handful of lightweight applications, even a computer from a decade ago doesn't feel slow. The Xfe file manager, whether you use it for speed or just because it's a reliable app that's got everything you need, is an excellent choice for a file manager. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-xfe + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-09/xfefilemanager.png +[2]: https://sourceforge.net/projects/xfe/ +[3]: https://opensource.com/article/21/11/compiling-code +[4]: https://opensource.com/sites/default/files/2022-09/xfe-minimal.png +[5]: https://opensource.com/sites/default/files/2022-09/filesystem-tree.png From 84b1558c01696705ec904a1e67702907a49edf0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 01:37:57 +0800 Subject: [PATCH 625/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221204.1=20=E2=AD=90=EF=B8=8F=204MLinux=2041.0=20sta?= =?UTF-8?q?ble=20is=20now=20available=20with=20SDL=20games=20+=20More.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...able is now available with SDL games + More.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md diff --git a/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md b/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md new file mode 100644 index 0000000000..0502fc3cfa --- /dev/null +++ b/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md @@ -0,0 +1,90 @@ +[#]: subject: "4MLinux 41.0 stable is now available with SDL games + More" +[#]: via: "https://debugpointnews.com/4mlinux-41-0-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +4MLinux 41.0 stable is now available with SDL games + More +====== + +![][1] + +**The new stable version of 4MLinux 41.0 is now generally available for download and installation.** + +4MLinux is a decade-old small Linux distribution that focuses on four main capabilities: maintenance (e.g., as a system rescue live CD), multimedia (e.g., playing video DVDs), miniserver (using the inetd daemon), and mystery (small Linux games). It is independently developed and comes with 32-bit images as well. A perfect [lightweight Linux distribution][2] for older hardware. + +The 4MLinux 41.0 series have been updated to its stable version. This version includes tools for editing documents such as LibreOffice and GNOME Office, file sharing with DropBox, web browsing with Firefox and Chromium, email with Thunderbird, and more. It also includes a LAMP server setup and programming languages like Perl, Python, and Ruby. + +Here’s a summary of the changes. + +![4MLinux 41.0 desktop][3] + +### 4MLinux 41.0: What’s New + +Firstly, 4MLinux 41.0 brings LibreOffice 7.4.3 and GNOME Office (including AbiWord 3.0.5, GIMP 2.10.32, and Gnumeric 1.12.52) to edit your documents. In addition, DropBox 151.4.4304 is available for sharing your files, and you can use Firefox 107.0 and Chromium 106.0.5249 to surf the internet. + +Thunderbird 102.5.0 is included for sending and receiving emails, and Audacious 4.2 allows you to enjoy your music collection. You can also watch videos with VLC 3.0.17.3 and SMPlayer 22.2.0, and play games with the help of Mesa 22.1.4 and Wine 7.18. + +Additionally, the 4MLinux LAMP Server (featuring Linux 6.0.9, Apache 2.4.54, MariaDB 10.6.11, PHP 5.6.40 and PHP 7.4.33) is included for setting up your own web server. The stable version of 4MLinux 41.0 also includes the programming languages Perl 5.36.0, Python 2.7.18, Python 3.10.6, and Ruby 3.1.2. + +Furthermore, this release also includes several new features and applications. + +Out of the box, it includes FileZilla (FTP client), XPaint and GNU Paint (simple image-editing tools), and nvme (command-line utility for managing NVM-Express partitions), as well as a collection of small SDL games. Additionally, there are several downloadable extensions available, including BlueGriffon (HTML editor), The Legend of Edgar (platform game), ioquake3 (Quake III port), and BZFlag (tank battle game). + +SMPlayer is now the default video player in 4MLinux, and Audacious is the default audio player. It is also now possible to install 4MLinux on a BTRFS partition with the help of Syslinux, which acts as a boot manager. + +### Summary of changes + +- Mainline Linux Kernel 6.0.9 +- jwm (Joe’s window manager) 2.4.0 +- LibreOffice 7.4.3 +- GNOME Office (including AbiWord 3.0.5, GIMP 2.10.32, and Gnumeric 1.12.52) +- DropBox 151.4.4304 +- Firefox 107.0 +- Chromium 106.0.5249 +- Thunderbird 102.5.0 +- Audacious 4.2 +- VLC 3.0.17.3 +- SMPlayer 22.2.0 +- Mesa 22.1.4 +- Wine 7.18 +- 4MLinux LAMP Server (featuring Linux 6.0.9, Apache 2.4.54, MariaDB 10.6.11, PHP 5.6.40 and PHP 7.4.33) +- Perl 5.36.0 +- Python 2.7.18 +- Python 3.10.6 +- Ruby 3.1.2 + +### Download + +The latest version, 4MLinux 41.0, is now available for download at the following link: + +[Download 4MLinux 41.0][4] + +This release includes new applications and features, such as SMPlayer as the default video player and the ability to install 4MLinux on a BTRFS partition with Syslinux. We encourage you to try out 4MLinux in a [virtual machine][5] and see all it offers. + +- [Changelog][6] +- [Release announcement][7] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/4mlinux-41-0-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/4mlinux-head.jpg +[2]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ +[3]: https://debugpointnews.com/wp-content/uploads/2022/12/4MLinux-41.0-desktop.jpg +[4]: https://sourceforge.net/projects/linux4m/ +[5]: https://www.debugpoint.com/install-ubuntu-virtualbox/ +[6]: http://4mlinux.com/addons-41.0.txt +[7]: https://4mlinux-releases.blogspot.com/2022/12/4mlinux-410-stable-released.html From 11fc870f86eba52c4917b4019450e4a66e94d5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 01:38:50 +0800 Subject: [PATCH 626/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221204.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?inity=20Desktop=20Environment=20R14.0.13=20is=20now=20out=20wit?= =?UTF-8?q?h=20updates!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...p Environment R14.0.13 is now out with updates!.md | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md diff --git a/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md b/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md new file mode 100644 index 0000000000..9600c86b94 --- /dev/null +++ b/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md @@ -0,0 +1,114 @@ +[#]: subject: "Trinity Desktop Environment R14.0.13 is now out with updates!" +[#]: via: "https://debugpointnews.com/trinity-desktop-environment-r14-0-13/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Trinity Desktop Environment R14.0.13 is now out with updates! +====== + +![][1] + +**Missing old-KDE? The new minor release of Trinity Desktop Environment (TDE R14.0.13) brings a few new features and bug fixes. This is a release summary.** + +![Trinity Desktop Environment R14.0.13][2] + +If you are one of those users who miss the good ol’ KDE (3.5) look, then you can get it via Trinity Desktop Environment (TDE). The TDE is a fork of the KDE 3.5 desktop environment developed by a small team of volunteers. It’s a continuation of the KDE 3 desktop methodology, providing updates and bug fixes for those who appreciate its features and design. + +Despite being a small and independent project, TDE is still actively developed and maintained, offering users an alternative to more mainstream desktop environments. And following the [prior R14.0.12 release][3], the thirteenth minor release brings a few goodies. + +### Trinity Desktop Environment release R14.0.13: What’s New + +#### Desktop usability updates + +This release introduces the ability to use Ctrl + mouse wheel to increase or decrease the font size in Konsole, Kate, KWrite, TDevelop, and other applications using the Kate part editor. In addition, the Kate text editor now includes syntax highlighting for Markdown files, making it easier to read and edit these types of documents. + +These enhancements give users more control over their text editor’s appearance and improve the overall user experience. + +Furthermore, Trinity Desktop Environment R14.0.13 also includes improvements to how users set a wallpaper, making it easier and more intuitive. The Konqueror action menu now offers all available options for setting an image as the background, providing users with more flexibility and control.These enhancements enhance the overall user experience when setting wallpaper and make it more convenient for users. + +On top of that, this release includes improvements to the khotkeys Input Actions, providing users with more control and flexibility. The GUI for creating and editing actions now includes new move-up/move-down buttons, making it easier to reorder actions. + +In addition, this release includes fixes to the GUI to improve its overall usability and performance.These enhancements enhance the user experience when working with khotkeys Input Actions and make it more convenient for users to customize their keyboard shortcuts. + +![twin-style-machbunt - a KDE window decoration theme from SuSE][4] + +#### Core and supports + +This release includes a new waiting action component that allows users to introduce a delay between steps. The SFTP tdeioslave has been updated to use libssh, providing a more secure and stable connection. The taskbar now includes moving tasks and dragging and dropping grouped task buttons, enhancing the user experience. + +This release includes improved API visualization and enhanced Python3 support. The language used throughout the release has been updated to be gender-neutral. These enhancements improve the overall user experience and make the TDE more inclusive and accessible. + +Other than that, on the core apps side, the TDE R14.0.13 release includes several updates to improve compatibility with popular multimedia and document processing libraries. This includes support for ffmpeg 5.0, Jasper 3.x, and Poppler >= 22.04. These updates allow TDE to take advantage of these libraries’ latest features and performance improvements. In addition, this release includes man pages for several TDE applications, providing users with more detailed documentation and information about how to use these programs. These enhancements improve the overall functionality and performance of the TDE. + +### Download and Install Trinity desktop environment R14.0.13 + +If you are using Ubuntu 22.04 LTS Jammy Jellyfish, you can run the following command to install it on top of your existing Ubuntu installation. + +``` +sudo gedit /etc/apt/sources.list +``` + +Add the following line and save the file. + +``` +deb http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14deb-src http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14 +``` + +``` +wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.debsudo dpkg -i trinity-keyring.debsudo apt updatesudo apt install kubuntu-default-settings-trinity kubuntu-desktop-trinity +``` + +After installation, restart your system and choose Trinity from the login screen. Note: As of publishing this, the repo is yet unavailable for Ubuntu 22.10 Kinetic Kudu. + +For Arch Linux users, you can install it via the following commands: + +Open `/etc/pacman.conf` using admin privilege and add the following lines at the end and save the fine. + +``` +[trinity]Server = https://mirror.ppa.trinitydesktop.org/trinity/archlinux/$arch +``` + +Then open a terminal and run the following: + +``` +pacman-key --recv-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B +pacman-key --lsign-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B +``` + +And finally, use the below to install. + +``` +pacman -Sy +``` + +``` +pacman -S tde-meta +``` + +For other distros, you can find the detailed download and install guide for TDE on [this page][5]. + +Via [release announcement][6] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/trinity-desktop-environment-r14-0-13/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/tde-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Trinity-Desktop-Environment-R14.0.13.jpg +[3]: https://www.debugpoint.com/tde-release-r14-0-12/ +[4]: https://debugpointnews.com/wp-content/uploads/2022/12/twin-style-machbunt-a-KDE-window-decoration-theme-from-SuSE.jpg +[5]: http://pacman -S tde-meta +[6]: https://www.trinitydesktop.org/newsentry.php?entry=2022.10.30 From 15cb80ff1cbface3a25905cc0371ecf0ea00266d Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 5 Dec 2022 08:35:57 +0800 Subject: [PATCH 627/925] translated --- ...⭐️ 3 open source audio tools for creators.md | 69 ------------------- ...⭐️ 3 open source audio tools for creators.md | 69 +++++++++++++++++++ 2 files changed, 69 insertions(+), 69 deletions(-) delete mode 100644 sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md create mode 100644 translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md diff --git a/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md deleted file mode 100644 index b01f41fe17..0000000000 --- a/sources/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md +++ /dev/null @@ -1,69 +0,0 @@ -[#]: subject: "3 open source audio tools for creators" -[#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" -[#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -3 open source audio tools for creators -====== - -Finding good quality, open source audio samples can be a challenge. I've been getting increasingly into composition and creating music in my spare time, using the open source tool [Ardour][1] and the creator-focused distribution Ubuntu Studio. I've been looking for samples of specific sounds or loops to include. - -I'm familiar with many tools to find images, but until recently, I hadn't come across a similar option for audio resources. - -### Open source sound samples - -Finding specific sounds can be challenging if you can't record them yourself. Several resources are available, but not many provide sounds under an open source license. - -#### Freesound - -Enter the incredible treasure trove that is [Freesound][2], a collaborative database of [Creative Commons][3] licensed sounds where you can browse, download, and even contribute. - -You can find pretty much anything on Freesound, from the sounds of a sleepy tour bus on the road to a door opening and closing or a ghostly shriek. While Freesound mainly focuses on sound samples, there are also some loops on the site. Many sounds are licensed under Creative Commons 0, so you can do whatever you like with them from a licensing perspective. However, that's not true for all of them, so check the license before you use anything, as you may need to credit the creator. - -The site allows you to check out the sample rate, bit depth, and channels so you can be sure that the sample will work with your composition, and it has a built-in rating system and download count. A waveform display allows you to get some insight into the character of the sound sample before you preview it. - -The search filters on Freesound are not as strong as other sites. Sounds will sometimes be grouped into packs of similar sounds, like this one for [scary noises][4]. This can help you quickly grab a bunch of similar sounds to play with. The quality of the samples is variable, so you might need to clean up the audio on some samples. If you're feeling bored, there's even an option to select a random sound from the database—and trust me, some are very random! Freesound also has a community forum where you can participate and learn from others. - -#### Nasa space sounds - -If you are looking for some otherworldly sounds or want to snoop on the conversations between Earth and space, the [Nasa Space Sounds database][5] might be a great place to look. It's fascinating to explore the recordings from the various missions and listen in on the communications back and forth, some of which are narrated. Several recordings have different sounds from different space missions, from the Sounds of Mars from Perseverance Rover to audio from the Apollo missions. - -Sounds from the Nasa site are released under the Creative Commons category Public Domain Mark 1.0, meaning that it is free of known restrictions under copyright law. - -### Loops for music creation - -If your focus is more on creating music, you might be looking for loops: short recordings of music that you can alter and tweak in your own compositions. - -There are all kinds of sample packs out there from commercial sources, but there are also a lot of royalty-free loops available on [Looperman][6]. With over 200,000 loops uploaded by musicians, DJs, producers, and creators, there's everything from electronic dance music and trap to classical. There are also over 12,000 a cappella and spoken-word loops, and it's a great resource for finding things like bass lines or drum beats. You need to have an account to download, and you must download tracks before you can upload anything. - -Looperman resources are not Creative Commons, but the site defaults to a similar concept: "All samples and loops are free to use in commercial and noncommercial projects," according to the site license, but "you can NOT claim copyright of those loops." A cappella and vocal samples are in a separate category, so checking the specific terms for any loop you consider using is important. - -Each loop tells you the beats-per-minute, key signature (where relevant), and software it was created in. A waveform shows the character of the loop, which gives you a good idea of whether it is likely to work with your project. You can preview loops within the browser and leave comments for the creator. There is a lively community and many great resources to help you create your own loops. - -### Get creative - -I hope this gives you some ideas of where to find audio resources for your next project, and I look forward to hearing what you have created! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/open-source-audio-tools - -作者:[Ruth Cheesley][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/rcheesley -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/21/12/music-linux-ardour -[2]: https://freesound.org -[3]: https://opensource.com/article/20/1/what-creative-commons -[4]: https://freesound.org/people/SamsterBirdies/packs/31184/ -[5]: https://www.nasa.gov/connect/sounds/index.html -[6]: https://www.looperman.com/ diff --git a/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md new file mode 100644 index 0000000000..5984ab3628 --- /dev/null +++ b/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md @@ -0,0 +1,69 @@ +[#]: subject: "3 open source audio tools for creators" +[#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" +[#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +3 个面向创作者的开源音频工具 +====== + +寻找优质的开源音频样本可能是一项挑战。我越来越多地使用开源工具 [Ardour][1] 和以创作者为中心的发行版 Ubuntu Studio,利用业余时间创作音乐。我一直在寻找要包含的特定声音或循环的样本。 + +我熟悉许多查找图像的工具,但直到最近,我才遇到类似的音频资源需求。 + +### 开源声音样本 + +如果你不能自己录制特定的声音,那么寻找特定的声音可能会很困难。有多种资源可用,但在开源许可下提供声音的资源并不多。 + +#### Freesound + +进入令人难以置信的宝库 [Freesound][2],这是一个 [Creative Commons][3] 许可声音的协作数据库,你可以在其中浏览、下载甚至贡献。 + +你几乎可以在 Freesound 上找到任何东西,从路上让人昏昏欲睡的旅游巴士的声音到开门关门的声音或幽灵般的尖叫声。虽然 Freesound 主要侧重于声音样本,但网站上也有一些循环。许多声音都是 Creative Commons 0 许可的,因此从许可的角度来看,你可以随心所欲地使用它们。但是,并非所有人都如此,因此在使用任何内容之前请检查许可证,因为你可能需要注明创作者的姓名。 + +该站点允许你检查采样率、位深度和通道,因此你可以确保该样本适用于你的作品,并且它具有内置评级系统和下载计数。波形显示可让你在预览之前深入了解声音样本的特性。 + +Freesound 的搜索过滤器不如其他网站强大。声音有时会被分成一组相似的声音,例如[可怕的噪音][4]。这可以帮助你快速获取一堆相似的声音来播放。样本的质量是可变的,因此你可能需要清理某些样本的音频。如果你觉得无聊,甚至可以选择从数据库中随机选择声音,相信我,有些声音非常随机! Freesound 还有一个社区论坛,你可以参与其中并向他人学习。 + +#### NASA 太空声音 + +如果你正在寻找一些超凡脱俗的声音或想窥探地球与太空之间的对话,[NASA 太空声音数据库][5]可能是个不错的去处。探索各种任务的录音并听取来回的通信是很有趣的,其中一些是旁白的。一些录音包含来自不同太空任务的不同声音,从毅力号漫游者的火星之声到阿波罗任务的音频。 + +来自 NASA 网站的声音在知识共享类别 Public Domain Mark 1.0 下发布,这意味着它不受版权法的已知限制。 + +### 音乐创作循环 + +如果你更专注于创作音乐,你可能正在寻找循环:你可以在自己的作品中修改和调整的简短音乐录音。 + +商业来源有各种样本包,但 [Looperman][6] 上也有很多免版税的循环。音乐家、DJ、制作人和创作者上传了超过 200,000 个循环,从电子舞曲和 trap 到古典音乐应有尽有。还有超过 12,000 首无伴奏合唱和口语循环,它是查找低音线或鼓点等内容的绝佳资源。你需要有一个帐户才能下载,并且你必须先下载曲目才能上传任何内容。 + +Looperman 资源不是 Creative Commons,但该站点默认采用类似的概念:根据站点许可,“所有样本和循环都可以在商业和非商业项目中免费使用”,但“你不能声明这些循环的版权”。无伴奏合唱和人声样本属于不同的类别,所以检查你考虑使用的任何循环的具体条款是很重要的。 + +每个循环都会告诉你每分钟的节拍数、调号(如果相关)以及创建它的软件。波形显示循环的特征,让你清楚它是否可能适用于你的项目.你可以在浏览器中预览循环并为创作者留下评论。有一个活跃的社区和许多很棒的资源可以帮助你创建自己的循环。 + +### 发挥创意 + +我希望这可以让你了解在何处可以为你的下一个项目找到音频资源,我期待听到你创建的内容! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/open-source-audio-tools + +作者:[Ruth Cheesley][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/rcheesley +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/12/music-linux-ardour +[2]: https://freesound.org +[3]: https://opensource.com/article/20/1/what-creative-commons +[4]: https://freesound.org/people/SamsterBirdies/packs/31184/ +[5]: https://www.nasa.gov/connect/sounds/index.html +[6]: https://www.looperman.com/ From b37da5434523f041722b1a0fe8b826b638722df5 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 5 Dec 2022 08:42:26 +0800 Subject: [PATCH 628/925] translating --- ... How to Automatically Indent Your Code in Visual Studio Code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md index fb2a25277f..b8df4cc8bc 100644 --- a/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md +++ b/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/auto-indent-vs-code/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 883b9775640da3aabfda6639cf6071d1a8a39c13 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 5 Dec 2022 12:52:30 +0800 Subject: [PATCH 629/925] ALL @wxy https://linux.cn/article-15318-1.html --- ...able is now available with SDL games + More.md | 90 +++++++++++++++++++ ...able is now available with SDL games + More.md | 90 ------------------- 2 files changed, 90 insertions(+), 90 deletions(-) create mode 100644 published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md delete mode 100644 sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md diff --git a/published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md b/published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md new file mode 100644 index 0000000000..b241461da1 --- /dev/null +++ b/published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md @@ -0,0 +1,90 @@ +[#]: subject: "4MLinux 41.0 stable is now available with SDL games + More" +[#]: via: "https://debugpointnews.com/4mlinux-41-0-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15318-1.html" + +4MLinux 41.0 稳定版发布 +====== + +![][1] + +> 新的 4MLinux 41.0 稳定版现已可供公众下载和安装。 + +4MLinux 是一个有十年历史的小型 Linux 发行版,主要有四个功能:维护Maintenance(如作为系统救援的现场 CD)、多媒体Multimedia(如播放视频 DVD)、微服务器 Miniserver(使用 inetd 守护程序),以及 神秘Mystery(小型 Linux 游戏)。它是独立开发的,也同时提供了 32 位镜像。是一个适合于老旧硬件的完美的 [轻量级 Linux 发行版][2]。 + +4MLinux 41.0 系列已经更新到其稳定版本。这个版本包括编辑文档的工具,如 LibreOffice 和 GNOME Office,可以用 DropBox 共享文件,用 Firefox 和 Chromium 浏览网页,用 Thunderbird 发送电子邮件,等等。它还包括 LAMP 服务器环境和 Perl、Python 和 Ruby 等编程语言。 + +以下是对这些变化的总结: + +![4MLinux 41.0 桌面][3] + +### 4MLinux 41.0:新增内容 + +首先,4MLinux 41.0 提供了 LibreOffice 7.4.3 和 GNOME Office(包括 AbiWord 3.0.5、GIMP 2.10.32 和 Gnumeric 1.12.52),用于编辑你的文档。此外,DropBox 151.4.4304 可用于分享你的文件,你可以使用 Firefox 107.0 和 Chromium 106.0.5249 来上网。 + +它包括了 Thunderbird 102.5.0,用于发送和接收电子邮件,Audacious 4.2 允许你享受你的音乐收藏。你还可以用 VLC 3.0.17.3 和 SMPlayer 22.2.0 观看视频,并在 Mesa 22.1.4 和 Wine 7.18 的帮助下进行游戏。 + +此外,4MLinux LAMP 服务器(Linux 6.0.9、Apache 2.4.54、MariaDB 10.6.11、PHP 5.6.40 和 PHP 7.4.33)也包括在内,可以用于设置你自己的 Web 服务器。4MLinux 41.0 稳定版还包括编程语言 Perl 5.36.0、Python 2.7.18、 Python 3.10.6 和 Ruby 3.1.2。 + +此外,这个版本还包括一些新的功能和应用程序。 + +开箱即用,它包括 FileZilla(FTP 客户端)、XPaint 和 GNU Paint(简单的图像编辑工具)和 nvme(管理 NVM-Express 分区的命令行工具),以及一系列小型 SDL 游戏。此外,还有几个可下载的扩展程序,包括 BlueGriffon(HTML 编辑器)、The Legend of Edgar(跳台游戏platform game)、ioquake3(Quake III 移植版)和 BZFlag(坦克大战游戏)。 + +SMPlayer 现在是 4MLinux 的默认视频播放器,Audacious 是默认音频播放器。在启动管理器 Syslinux 的帮助下,现在也可以将4MLinux 安装在 BTRFS 分区上。 + +### 更新摘要 + +- 主线 Linux 内核 6.0.9 +- jwm(乔氏窗口管理器)2.4.0 +- LibreOffice 7.4.3 +- GNOME Office (包括 AbiWord 3.0.5、GIMP 2.10.32 和 Gnumeric 1.12.52) +- DropBox 151.4.4304 +- Firefox 107.0 +- Chromium 106.0.5249 +- Thunderbird 102.5.0 +- Audacious 4.2 +- VLC 3.0.17.3 +- SMPlayer 22.2.0 +- Mesa 22.1.4 +- Wine 7.18 +- 4MLinux LAMP 服务器(包括:Linux 6.0.9、Apache 2.4.54、MariaDB 10.6.11、PHP 5.6.40 和 PHP 7.4.33) +- Perl 5.36.0 +- Python 2.7.18 +- Python 3.10.6 +- Ruby 3.1.2 + +### 下载 + +最新的版本 4MLinux 41.0,现在可以通过以下链接下载。 + +> **[下载 4MLinux 41.0][4]** + +这个版本包括了新的应用程序和功能,例如将 SMPlayer 作为默认的视频播放器,以及将 4MLinux 安装在带有 Syslinux 的 BTRFS 分区上的能力。我们鼓励你在 [虚拟机][5] 中试用 4MLinux,看看它提供的一切。 + +- [更新日志][6] +- [发布公告][7] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/4mlinux-41-0-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/4mlinux-head.jpg +[2]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ +[3]: https://debugpointnews.com/wp-content/uploads/2022/12/4MLinux-41.0-desktop.jpg +[4]: https://sourceforge.net/projects/linux4m/ +[5]: https://www.debugpoint.com/install-ubuntu-virtualbox/ +[6]: http://4mlinux.com/addons-41.0.txt +[7]: https://4mlinux-releases.blogspot.com/2022/12/4mlinux-410-stable-released.html diff --git a/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md b/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md deleted file mode 100644 index 0502fc3cfa..0000000000 --- a/sources/news/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md +++ /dev/null @@ -1,90 +0,0 @@ -[#]: subject: "4MLinux 41.0 stable is now available with SDL games + More" -[#]: via: "https://debugpointnews.com/4mlinux-41-0-release/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -4MLinux 41.0 stable is now available with SDL games + More -====== - -![][1] - -**The new stable version of 4MLinux 41.0 is now generally available for download and installation.** - -4MLinux is a decade-old small Linux distribution that focuses on four main capabilities: maintenance (e.g., as a system rescue live CD), multimedia (e.g., playing video DVDs), miniserver (using the inetd daemon), and mystery (small Linux games). It is independently developed and comes with 32-bit images as well. A perfect [lightweight Linux distribution][2] for older hardware. - -The 4MLinux 41.0 series have been updated to its stable version. This version includes tools for editing documents such as LibreOffice and GNOME Office, file sharing with DropBox, web browsing with Firefox and Chromium, email with Thunderbird, and more. It also includes a LAMP server setup and programming languages like Perl, Python, and Ruby. - -Here’s a summary of the changes. - -![4MLinux 41.0 desktop][3] - -### 4MLinux 41.0: What’s New - -Firstly, 4MLinux 41.0 brings LibreOffice 7.4.3 and GNOME Office (including AbiWord 3.0.5, GIMP 2.10.32, and Gnumeric 1.12.52) to edit your documents. In addition, DropBox 151.4.4304 is available for sharing your files, and you can use Firefox 107.0 and Chromium 106.0.5249 to surf the internet. - -Thunderbird 102.5.0 is included for sending and receiving emails, and Audacious 4.2 allows you to enjoy your music collection. You can also watch videos with VLC 3.0.17.3 and SMPlayer 22.2.0, and play games with the help of Mesa 22.1.4 and Wine 7.18. - -Additionally, the 4MLinux LAMP Server (featuring Linux 6.0.9, Apache 2.4.54, MariaDB 10.6.11, PHP 5.6.40 and PHP 7.4.33) is included for setting up your own web server. The stable version of 4MLinux 41.0 also includes the programming languages Perl 5.36.0, Python 2.7.18, Python 3.10.6, and Ruby 3.1.2. - -Furthermore, this release also includes several new features and applications. - -Out of the box, it includes FileZilla (FTP client), XPaint and GNU Paint (simple image-editing tools), and nvme (command-line utility for managing NVM-Express partitions), as well as a collection of small SDL games. Additionally, there are several downloadable extensions available, including BlueGriffon (HTML editor), The Legend of Edgar (platform game), ioquake3 (Quake III port), and BZFlag (tank battle game). - -SMPlayer is now the default video player in 4MLinux, and Audacious is the default audio player. It is also now possible to install 4MLinux on a BTRFS partition with the help of Syslinux, which acts as a boot manager. - -### Summary of changes - -- Mainline Linux Kernel 6.0.9 -- jwm (Joe’s window manager) 2.4.0 -- LibreOffice 7.4.3 -- GNOME Office (including AbiWord 3.0.5, GIMP 2.10.32, and Gnumeric 1.12.52) -- DropBox 151.4.4304 -- Firefox 107.0 -- Chromium 106.0.5249 -- Thunderbird 102.5.0 -- Audacious 4.2 -- VLC 3.0.17.3 -- SMPlayer 22.2.0 -- Mesa 22.1.4 -- Wine 7.18 -- 4MLinux LAMP Server (featuring Linux 6.0.9, Apache 2.4.54, MariaDB 10.6.11, PHP 5.6.40 and PHP 7.4.33) -- Perl 5.36.0 -- Python 2.7.18 -- Python 3.10.6 -- Ruby 3.1.2 - -### Download - -The latest version, 4MLinux 41.0, is now available for download at the following link: - -[Download 4MLinux 41.0][4] - -This release includes new applications and features, such as SMPlayer as the default video player and the ability to install 4MLinux on a BTRFS partition with Syslinux. We encourage you to try out 4MLinux in a [virtual machine][5] and see all it offers. - -- [Changelog][6] -- [Release announcement][7] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/4mlinux-41-0-release/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/4mlinux-head.jpg -[2]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ -[3]: https://debugpointnews.com/wp-content/uploads/2022/12/4MLinux-41.0-desktop.jpg -[4]: https://sourceforge.net/projects/linux4m/ -[5]: https://www.debugpoint.com/install-ubuntu-virtualbox/ -[6]: http://4mlinux.com/addons-41.0.txt -[7]: https://4mlinux-releases.blogspot.com/2022/12/4mlinux-410-stable-released.html From 10ad20cf9656a4f6d377e273d11f1fd1e3f103c7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 5 Dec 2022 14:44:46 +0800 Subject: [PATCH 630/925] RP @geekpi https://linux.cn/article-15319-1.html --- ...⭐️ 3 open source audio tools for creators.md | 74 +++++++++++++++++++ ...⭐️ 3 open source audio tools for creators.md | 69 ----------------- 2 files changed, 74 insertions(+), 69 deletions(-) create mode 100644 published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md delete mode 100644 translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md diff --git a/published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md new file mode 100644 index 0000000000..9bab60b6be --- /dev/null +++ b/published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md @@ -0,0 +1,74 @@ +[#]: subject: "3 open source audio tools for creators" +[#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" +[#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15319-1.html" + +3 个面向创作者的开源音频资源 +====== + +![][0] + +> 这些有用的开源资源, 提供了采样声音和音乐旋律。 + +寻找优质的开源音频样本可能是一项挑战。我越来越多地使用开源工具 [Ardour][1] 和以创作者为中心的发行版 Ubuntu Studio,利用业余时间创作音乐。我一直在寻找要包含的特定声音或旋律循环的样本。 + +我熟悉许多查找图像的工具,但直到最近,我才遇到类似的音频资源需求。 + +### 开源声音样本 + +如果你不能自己录制特定的声音,那么寻找特定的声音可能会很困难。有多种资源可用,但在开源许可下提供声音的资源并不多。 + +#### Freesound + +来看看令人难以置信的宝库 [Freesound][2],这是一个 [知识共享][3] 许可的声音协作数据库,你可以在其中浏览、下载甚至贡献。 + +你几乎可以在 Freesound 上找到任何东西,从路上让人昏昏欲睡的旅游巴士的声音到开门关门的声音或幽灵般的尖叫声。虽然 Freesound 主要侧重于声音样本,但网站上也有一些旋律循环。许多声音都是 CC0 许可的,因此从许可证的角度来看,你可以随心所欲地使用它们。但是,并非所有人都如此,因此在使用任何内容之前请检查许可证,因为你可能需要注明创作者的姓名。 + +该站点允许你检查采样率、位深度和通道,因此你可以确保该样本适用于你的作品,并且它具有内置评级系统和下载计数。波形显示可让你在预览之前深入了解声音样本的特性。 + +Freesound 的搜索过滤器不如其他网站强大。声音有时会被分成一组相似的声音,例如 [可怕的噪音][4]。这可以帮助你快速获取一堆相似的声音来播放。样本的质量是可变的,因此你可能需要清理某些样本的音频。如果你觉得无聊,甚至可以选择从数据库中随机选择声音,相信我,有些声音非常随机! Freesound 还有一个社区论坛,你可以参与其中并向他人学习。 + +#### NASA 太空声音 + +如果你正在寻找一些超凡脱俗的声音或想窥探地球与太空之间的对话,[NASA 太空声音数据库][5]可能是个不错的去处。探索各种任务的录音并听取来回的通信是很有趣的,其中一些是有旁白的。一些录音包含来自不同太空任务的不同声音,从毅力号漫游者的火星之声到阿波罗任务的音频。 + +来自 NASA 网站的声音在知识共享类别公共领域标记 1.0 下发布的,这意味着它不受版权法的已知限制。 + +### 音乐创作的旋律循环 + +如果你更关注于创作音乐,你可能正在寻找旋律循环 —— 这是你可以在自己的作品中修改和调整的简短音乐录音。 + +有各种商业来源的样本包,但 [Looperman][6] 上也有很多免版税的旋律循环。音乐家、DJ、制作人和创作者上传了超过 200,000 个旋律循环,从电子舞曲、trap 到古典音乐应有尽有。还有超过 12,000 首无伴奏合唱和口语旋律循环,它是查找低音线或鼓点等内容的绝佳资源。你需要有一个帐户才能下载,并且你必须先下载曲目才能上传任何内容。 + +Looperman 资源不是知识共享的,但该站点默认采用类似的概念:根据站点许可,“所有样本和旋律循环都可以在商业和非商业项目中免费使用”,但“你不能声明这些旋律循环的版权”。无伴奏合唱和人声样本属于不同的类别,所以检查你考虑使用的任何旋律循环的具体条款是很重要的。 + +每个旋律循环都会告诉你每分钟的节拍数、调号(如果相关)以及创建它的软件。波形显示旋律循环的特征,让你清楚它是否可能适用于你的项目.你可以在浏览器中预览旋律循环并为创作者留下评论。有一个活跃的社区和许多很棒的资源可以帮助你创建自己的旋律循环。 + +### 发挥创意 + +我希望这可以让你了解在何处可以为你的下一个项目找到音频资源,我期待听到你创建的内容! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/open-source-audio-tools + +作者:[Ruth Cheesley][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/rcheesley +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/12/music-linux-ardour +[2]: https://freesound.org +[3]: https://opensource.com/article/20/1/what-creative-commons +[4]: https://freesound.org/people/SamsterBirdies/packs/31184/ +[5]: https://www.nasa.gov/connect/sounds/index.html +[6]: https://www.looperman.com/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/05/144352hbfp7pg77o5fgi6x.jpg \ No newline at end of file diff --git a/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md deleted file mode 100644 index 5984ab3628..0000000000 --- a/translated/tech/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md +++ /dev/null @@ -1,69 +0,0 @@ -[#]: subject: "3 open source audio tools for creators" -[#]: via: "https://opensource.com/article/22/11/open-source-audio-tools" -[#]: author: "Ruth Cheesley https://opensource.com/users/rcheesley" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -3 个面向创作者的开源音频工具 -====== - -寻找优质的开源音频样本可能是一项挑战。我越来越多地使用开源工具 [Ardour][1] 和以创作者为中心的发行版 Ubuntu Studio,利用业余时间创作音乐。我一直在寻找要包含的特定声音或循环的样本。 - -我熟悉许多查找图像的工具,但直到最近,我才遇到类似的音频资源需求。 - -### 开源声音样本 - -如果你不能自己录制特定的声音,那么寻找特定的声音可能会很困难。有多种资源可用,但在开源许可下提供声音的资源并不多。 - -#### Freesound - -进入令人难以置信的宝库 [Freesound][2],这是一个 [Creative Commons][3] 许可声音的协作数据库,你可以在其中浏览、下载甚至贡献。 - -你几乎可以在 Freesound 上找到任何东西,从路上让人昏昏欲睡的旅游巴士的声音到开门关门的声音或幽灵般的尖叫声。虽然 Freesound 主要侧重于声音样本,但网站上也有一些循环。许多声音都是 Creative Commons 0 许可的,因此从许可的角度来看,你可以随心所欲地使用它们。但是,并非所有人都如此,因此在使用任何内容之前请检查许可证,因为你可能需要注明创作者的姓名。 - -该站点允许你检查采样率、位深度和通道,因此你可以确保该样本适用于你的作品,并且它具有内置评级系统和下载计数。波形显示可让你在预览之前深入了解声音样本的特性。 - -Freesound 的搜索过滤器不如其他网站强大。声音有时会被分成一组相似的声音,例如[可怕的噪音][4]。这可以帮助你快速获取一堆相似的声音来播放。样本的质量是可变的,因此你可能需要清理某些样本的音频。如果你觉得无聊,甚至可以选择从数据库中随机选择声音,相信我,有些声音非常随机! Freesound 还有一个社区论坛,你可以参与其中并向他人学习。 - -#### NASA 太空声音 - -如果你正在寻找一些超凡脱俗的声音或想窥探地球与太空之间的对话,[NASA 太空声音数据库][5]可能是个不错的去处。探索各种任务的录音并听取来回的通信是很有趣的,其中一些是旁白的。一些录音包含来自不同太空任务的不同声音,从毅力号漫游者的火星之声到阿波罗任务的音频。 - -来自 NASA 网站的声音在知识共享类别 Public Domain Mark 1.0 下发布,这意味着它不受版权法的已知限制。 - -### 音乐创作循环 - -如果你更专注于创作音乐,你可能正在寻找循环:你可以在自己的作品中修改和调整的简短音乐录音。 - -商业来源有各种样本包,但 [Looperman][6] 上也有很多免版税的循环。音乐家、DJ、制作人和创作者上传了超过 200,000 个循环,从电子舞曲和 trap 到古典音乐应有尽有。还有超过 12,000 首无伴奏合唱和口语循环,它是查找低音线或鼓点等内容的绝佳资源。你需要有一个帐户才能下载,并且你必须先下载曲目才能上传任何内容。 - -Looperman 资源不是 Creative Commons,但该站点默认采用类似的概念:根据站点许可,“所有样本和循环都可以在商业和非商业项目中免费使用”,但“你不能声明这些循环的版权”。无伴奏合唱和人声样本属于不同的类别,所以检查你考虑使用的任何循环的具体条款是很重要的。 - -每个循环都会告诉你每分钟的节拍数、调号(如果相关)以及创建它的软件。波形显示循环的特征,让你清楚它是否可能适用于你的项目.你可以在浏览器中预览循环并为创作者留下评论。有一个活跃的社区和许多很棒的资源可以帮助你创建自己的循环。 - -### 发挥创意 - -我希望这可以让你了解在何处可以为你的下一个项目找到音频资源,我期待听到你创建的内容! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/open-source-audio-tools - -作者:[Ruth Cheesley][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/rcheesley -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/21/12/music-linux-ardour -[2]: https://freesound.org -[3]: https://opensource.com/article/20/1/what-creative-commons -[4]: https://freesound.org/people/SamsterBirdies/packs/31184/ -[5]: https://www.nasa.gov/connect/sounds/index.html -[6]: https://www.looperman.com/ From e26473c46ce3b111c9bacb2ae1a3a2a028d09ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 20:05:15 +0800 Subject: [PATCH 631/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221205.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Li?= =?UTF-8?q?nux=20Mint=2021.1=20beta=20is=20now=20available=20for=20testing?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nux Mint 21.1 beta is now available for testing.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md diff --git a/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md b/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md new file mode 100644 index 0000000000..871161bbc8 --- /dev/null +++ b/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md @@ -0,0 +1,90 @@ +[#]: subject: "Linux Mint 21.1 beta is now available for testing" +[#]: via: "https://debugpointnews.com/linux-mint-21-1-beta/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Mint 21.1 beta is now available for testing +====== + +![][1] + +**Check out the new features of Linux Mint 21.1 beta, which is now slowly available for download in mirrors. The official announcement is awaited.** + +![Linux Mint 21.1 beta Cinnamon desktop][2] + +Linux Mint 21.1 is the first point release of the 21 series and will be released before Christmas this year. Codenamed “Vera”, which was [announced a few weeks back][3], is now available for beta testing. + +The beta testing is expected to continue for at least a week before the final release. Since it is the first point, the feature list is not at that higher end. But some significant updates are arriving in the final release. + +### Linux Mint 21.1 beta & new features + +One of the biggest updates to the Driver Manager in this release is the ability to run the app with your user account without requiring a password to launch it. This is a major convenience, as it means you don’t have to enter a password every time you want to use the Driver Manager. In addition, when you remove a driver, the app now purges it from the system completely, ensuring that no trace of the driver remains on your computer. + +Another key update to the Driver Manager is the ability to detect USB installation media and help you mount them. This is particularly useful if you’re installing software or drivers from a USB drive, as it makes the process much easier and more streamlined. + +In addition to these updates, the Mint team has also included a feature for verifying the checksum of ISO files. This is an important part of any installation process, as it ensures that your ISO file is legitimate and hasn’t been tampered with. While other [utilities][4] are available for verifying ISO checksums, including command line tools, it’s nice to see this feature included in the default desktop environment. + +Another change in this release is the default desktop view, which is expected to be updated. The default icons for the Computer, Home, Trash, and Network are now hidden from view, as the Computer icon is already included in the Panel, and the other icons are not used as frequently. + +Other noteworthy updates in this release include the inclusion of Timeshift backports for prior releases (such as Mint 20.x) and an updated version of Blueman. Overall, this is a solid point release that includes several useful updates and bug fixes. + +![New default icon set and bibata cursor][5] + +Finally, you may notice the “green” icon sets and the cursor is different in the Cinnamon flavour. Linux Mint 21.1 brings the “Mint-y-Aqua” theme and the stunning “Bibata-modern” cursor theme to pair with it. Both of them look awesome together, giving a much-needed fresh vibe. + +### Summary of changes + +- First point release of Linux Mint 21, based on Ubuntu 22.04.1 release +- Linux Kernel 5.15 LTS +- Cinnamon 5.6.4 desktop +- Xfce 4.16 desktop +- MATE 1.26 desktop +- Friendly driver manager +- Cleaner default desktop view with fewer icons +- Default theme changes to “Mint-Y-Aqua” from the green-based icons +- New cursor theme: Bibata (one of the best cursor theme in Linux) +- A bunch of stunning wallpapers +- And an array of bug fixes + +### Download and bug reporting for beta + +While the team is preparing for the official announcement, the ISO images are slowly becoming available to the public. As always, being a beta release, it may have bugs. So use it with caution. + +If you are running Linux Mint 21.0, don’t upgrade it yet. Wait for the final release. + +Still, if you want to try it on a virtual machine, download the Cinnamon, Xfce and MATE flavours of this beta release from the torrent links below. + +- [linuxmint-21.1-cinnamon-64bit-beta.iso.torrent][6] +- [linuxmint-21.1-mate-64bit-beta.iso.torrent][7] +- [linuxmint-21.1-xfce-64bit-beta.iso.torrent][8] + +I will update the changelog here once it is available. And finally, report any issues or bugs at the dedicated [21.1 beta bug tracking page][9]. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/linux-mint-21-1-beta/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/21-1-beta-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Linux-Mint-21.1-beta-Cinnamon-desktop.jpg +[3]: https://debugpointnews.com/linux-mint-21-1-announcement/ +[4]: https://www.debugpoint.com/collision/ +[5]: https://debugpointnews.com/wp-content/uploads/2022/12/New-default-icon-set-and-bibata-cursor.jpg +[6]: https://linuxmint.com/torrents/linuxmint-21.1-cinnamon-64bit-beta.iso.torrent +[7]: https://linuxmint.com/torrents/linuxmint-21.1-mate-64bit-beta.iso.torrent +[8]: https://linuxmint.com/torrents/linuxmint-21.1-xfce-64bit-beta.iso.torrent +[9]: https://github.com/linuxmint/mint21.1-beta/issues From fffaf9ef0383f1be1eb4d8d5843a2ce687d31242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 20:05:57 +0800 Subject: [PATCH 632/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221205.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Li?= =?UTF-8?q?nen=20is=20a=20Google-Searchable=20Open-Source=20Alternative=20?= =?UTF-8?q?to=20Slack=20and=20Discord.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...le Open-Source Alternative to Slack and Discord.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md diff --git a/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md b/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md new file mode 100644 index 0000000000..e0478f7f27 --- /dev/null +++ b/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md @@ -0,0 +1,99 @@ +[#]: subject: "Linen is a Google-Searchable Open-Source Alternative to Slack and Discord" +[#]: via: "https://news.itsfoss.com/linen/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linen is a Google-Searchable Open-Source Alternative to Slack and Discord +====== + +An interesting open-source alternative to Slack and Discord. + +![Linen is a Google-Searchable Open-Source Alternative to Slack and Discord][1] + +Linen is an interesting open-source project brewing up. + +It aims to be an **open alternative to Slack and Discord**, focusing on making communities more accessible and helping reduce the support burden. + +It could be worth adding it as an open-source Slack alternative, but it is in its **early stages of development** when publishing this. + +**_What's different with Linen, exactly?_** + +- **Open Source** +- **Unlimited history retention** +- **Communities are Google searchable** +- **Supports sync from Slack and Discord** +- **Eliminate the need to join Slack/Discord for information** + +### Community-Focused Slack Alternative + +[Linen][2] pitches itself as an open-source app for communities rather than primarily targeting teams for collaboration/communication. + +![linen ui][3] + +In contrast, Slack is primarily for team discussions and collaboration. You cannot share the conversation through a URL or find the discussions indexed on search engines like Google. + +But with Linen, you can **find a URL for every conversation** that can be shared with anyone to view/join the conversation. + +![linen message url][4] + +Here's something for the test: [https://linen.dev/s/itsfoss/t/5099789/topic][5] + +**You can also find this conversation listed on Google** (it may take time to find it exactly). + +For example, suppose we are a community of an open-source project where we discuss an issue or a solution; listing it on Google enables more users to find out about it. + +Here's an example of a conversation listed on Google that could help me if I was exploring solutions to fix my code issues with Kotlin: + +![linen google search][6] + +As a developer/user, I could view the conversation, get my answer, and move on without troubling anyone else in the community with a repeat question. + +**Sounds lovely, right? Linen helps you enhance community support.** + +Sure, you can use it for your team communication as well. But, it is a more appropriate solution to create an open community chat network. + +Currently, it does not provide the feature to create a private community for the public. They only use it for internal team discussions, per their [GitHub page][7]. + +![][8] + +### How To Get Started? + +Linen does not support self-hosting at the moment. But, their roadmap on [GitHub][9] indicates that it has been planned for the near future. + +So, you can [sign up for a free account][10] using the official cloud instance or opt for the business/premium edition to use custom domain/branding benefits for your team. + +You can **import your Slack/Discord conversations for free**. + +> 💡 The free community edition is hosted under Linen.dev where you rely on community support. Opt for its premium edition to get priority support. + +Linen may not be for everyone, but it sounds like a useful idea for many communities and teams. + +_💬 What do you think about it? Let me know in the comments below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linen/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/11/linen-slack-discord-alternative.png +[2]: https://www.linen.dev +[3]: https://news.itsfoss.com/content/images/2022/11/linen-example.png +[4]: https://news.itsfoss.com/content/images/2022/11/linen-conversation-url.png +[5]: https://linen.dev/s/itsfoss/t/5099789/topic +[6]: https://news.itsfoss.com/content/images/2022/11/linen-google-seo.png +[7]: https://github.com/linen-dev/linen.dev +[8]: https://news.itsfoss.com/content/images/2022/11/linen-settings.png +[9]: https://github.com/Linen-dev/linen.dev +[10]: https://www.linen.dev/signup From 045891ec226359454df265fa5d07fdea52c3981d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 5 Dec 2022 20:06:58 +0800 Subject: [PATCH 633/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221205.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?y=20you=20should=20try=20the=20Nemo=20file=20manager=20on=20Lin?= =?UTF-8?q?ux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...y you should try the Nemo file manager on Linux.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md diff --git a/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md new file mode 100644 index 0000000000..b17a2b4718 --- /dev/null +++ b/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md @@ -0,0 +1,82 @@ +[#]: subject: "Why you should try the Nemo file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Why you should try the Nemo file manager on Linux +====== + +Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, I'm taking a look at a file manager for your Linux system. + +The [Cinnamon][1] project was formed as a reimplementation of GNOME 2 using the components of GNOME 3. Eventually, it diverged enough to be a true fork, and today the Cinnamon desktop uses GTK3 libraries and forked versions of key GNOME 3 applications to create a "classic" GNOME experience. One of the components contributing to the traditional GNOME experience is Nemo, a file manager based on the GNOME 2 version of Nautilus. + +### Install Nemo on Linux + +The source code for Nemo is [available online][2] but it requires `cinnamon-desktop` to build, so the easiest way to install Nemo is to just install Cinnamon. + +On Fedora, Mageia, and similar: + +``` +$ sudo dnf install cinnamon-desktop +``` + +On Linux Mint, Debian, and similar: + +``` +$ sudo dnf install cinnamon-desktop-environment +``` + +Of course, as the desktop's progenitor, Linux Mint is also available with Cinnamon preinstalled. + +### A familiar interface + +If you're used to GNOME, either of the past or of today, then Nemo feels like home from the start. It's got a familiar look and feel, with buttons in similar places and options that you're likely to recognize. + +![Image of Nemo's file manager.][3] + +The GNOME-ish convention of placing view control buttons in the top right is retained, and you can use the buttons to quickly switch your view of your files from large icons to a detailed list or a compact view. There's also a search function there, and the option to toggle the location bar between editable text and a button. + +Editable URI bars are sometimes undervalued. It's a simple design decision, but it can be a huge feature contributing to efficiency. It's like having a one-line terminal at the top of each window, in which you can type a destination anywhere on your system and instantly be taken there. And you don't even have to type `cd`. + +At the top right corner, there are navigation buttons: up, forward, and back. As with many Linux file managers, you can forego the use of these buttons with the **Alt** key plus the appropriate **Arrow** key. + +The side pane, shows a list of important folders (Home, Documents, Downloads, and so on), can be hidden or displayed with the click of a button at the bottom of the window. + +### Familiarity but not the same + +The comfort and familiarity of Nemo doesn't mean that it just mindlessly mimics Nautilus. Nemo has a collection of nice features that feel unique. Most of these are in **Preferences**, and here are just a few of my favorites: + +- **Full path in window title**: This is my favorite feature. Never question where you are in your filesystem again. Let your window title tell you. +- **Single or double click**: If you're a longtime [KDE][4] user, you might find single-clicking to open a file refreshing. With Nemo, you have that choice. +- **Double-click to rename**: If you're using a single click to open, why not repurpose the double-click to rename? +- **Open each folder in a new window**: There are operating systems out there that open a new window for each folder opened. +- **Plugins**: Nemo has the ability to invoke actions, scripts, and extensions. Some are included, including an action to change the desktop background, create launchers, and mount an archive. Others are yet to be created, but this kind of extensibility is vital to open source. + +### Everything close at hand + +After using Nemo for a few weeks on Linux Mint, one interesting trait stood out to me. It seemed that Nemo had, or could have with quick configuration, everything I used most often close at hand. Many of the features, admittedly, I didn't know I needed or wanted until Nemo made it easy to click. You might argue that I was bending my usage to meet Nemo's design, and maybe that is the case. But when the experience is so pleasant and efficient, does it matter? + +Nemo is a great file manager. It hearkens back to the days of GNOME 2, but with updates and design choices that make it feel fresh. If you like [Thunar][5] or Nautilus, you'll love Nemo. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-nemo + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/cinnamon-linux-desktop +[2]: https://github.com/linuxmint/nemo/releases +[3]: https://opensource.com/sites/default/files/2022-09/nemo.png +[4]: https://opensource.com/article/22/2/why-i-love-linux-kde +[5]: https://opensource.com/article/22/12/linux-file-manager-thunar From c905cdac41096ef398922ad1df2db61521664c74 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 6 Dec 2022 08:54:51 +0800 Subject: [PATCH 634/925] translated --- ...0221129.3 ⭐️⭐️ Parse arguments with Lua.md | 122 ------------------ ...0221129.3 ⭐️⭐️ Parse arguments with Lua.md | 122 ++++++++++++++++++ 2 files changed, 122 insertions(+), 122 deletions(-) delete mode 100644 sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md create mode 100644 translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md diff --git a/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md deleted file mode 100644 index c5581962f0..0000000000 --- a/sources/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md +++ /dev/null @@ -1,122 +0,0 @@ -[#]: subject: "Parse arguments with Lua" -[#]: via: "https://opensource.com/article/22/11/lua-command-arguments" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Parse arguments with Lua -====== - -Most computer commands consist of two parts: The command and arguments. The command is the program meant to be executed, while the arguments might be command options or user input. Without this structure, a user would have to edit the command's code just to change the data that the command processes. Imagine rewriting the [printf][1] command just to get your computer to greet you with a "hello world" message. Arguments are vital to interactive computing, and the [Lua programming language][2] provides the `{…​}` expression to encapsulate varargs given at the time of launching a Lua script. - -### Use arguments in Lua - -Almost every command given to a computer assumes an argument, even if it expects the argument to be an empty list. Lua records what's written after it launches, even though you may do nothing with those arguments. To use arguments provided by the user when Lua starts, iterate over the `{…​}` table: - -``` -local args = {...} - -for i,v in ipairs(args) do -    print(v) -end -``` - -Run the code: - -``` -$ lua ./myargs.lua -$ lua ./myargs.lua foo --bar baz -foo ---bar -baz ----- -``` - -Having no arguments is safe, and Lua prints all arguments exactly as entered. - -### Parse arguments - -For simple commands, the basic Lua faculties are sufficient to parse and process arguments. Here's a simple example: - -``` --- setup - -local args = {...} - --- engine - -function echo(p) - print(p) -end - --- go - -for i,v in ipairs(args) do - print(i .. ": " .. v) -end - -for i,v in ipairs(args) do - if args[i] == "--say" then - echo("echo: " .. args[i+1]) - end -end -``` - -In the `setup` section, dump all command arguments into a variable called `args`. - -In the `engine` section, create a function called `echo` that prints whatever you "feed" into it. - -Finally, in the `go` section, parse the index and values in the `args` variable (the arguments provided by the user at launch). In this sample code, the first `for` loop just prints each index and value for clarity. - -The second `for` loop uses the index to examine the first argument, which is assumed to be an option. The only valid option in this sample code is `--say`. If the loop finds the string `--say`, it calls the `echo` function, and the index of the current argument _plus 1_ (the _next_ argument) is provided as the function parameter. - -The delimiter for command arguments is one or more empty spaces. Run the code to see the result: - -``` -$ lua ./echo.lua --say zombie apocalypse -1: --say -2: zombie -3: apocalypse -echo: zombie -``` - -Most users learn that spaces are significant when giving commands to a computer, so dropping the third argument, in this case, is expected behavior. Here's a variation to demonstrate two valid "escape" methods: - -``` -$ lua ./echo.lua --say "zombie apocalypse" -1: --say -2: zombie apocalypse -echo: zombie apocalypse - -$ lua ./echo.lua --say zombie\ apocalypse -1: --say -2: zombie apocalypse -echo: zombie apocalypse -``` - -### Parse arguments - -Parsing arguments manually is simple and dependency-free. However, there are details you must consider. Most modern commands allow for short options (for instance, `-f`) and long options (`--foo`), and most offer a help menu with `-h` or `--help` or when a required argument isn't supplied. - -Using [LuaRocks][3] makes it easy to install additional libraries. There are some very good ones, such as [alt-getopt][4], that provide additional infrastructure for parsing arguments. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/lua-command-arguments - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/8/printf -[2]: https://opensource.com/article/22/11/lua-worth-learning -[3]: https://opensource.com/article/19/11/getting-started-luarocks -[4]: https://opensource.com/article/21/8/parsing-commands-lua diff --git a/translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md new file mode 100644 index 0000000000..59a9f659ca --- /dev/null +++ b/translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md @@ -0,0 +1,122 @@ +[#]: subject: "Parse arguments with Lua" +[#]: via: "https://opensource.com/article/22/11/lua-command-arguments" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +用 Lua 解析参数 +====== + +大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。想象一下重写 [printf][1] 命令只是为了让你的计算机用 “hello world” 消息问候您。参数对于交互式计算至关重要,[Lua 编程语言][2] 提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。 + +### 在 Lua 中使用参数 + +几乎每一个给计算机的命令都假定一个参数,即使它期望参数是一个空列表。 Lua 会记录启动后写入的内容,即使你可能对这些参数不做任何操作。要在 Lua 启动时使用用户提供的参数,请迭代 `{...}` 表: + +``` +local args = {...} + +for i,v in ipairs(args) do + print(v) +end +``` + +运行代码: + +``` +$ lua ./myargs.lua +$ lua ./myargs.lua foo --bar baz +foo +--bar +baz +---- +``` + +没有参数是安全的,Lua 会完全按照输入的方式打印所有参数。 + +### 解析参数 + +对于简单的命令,Lua 的基本功能足以解析和处理参数。这是一个简单的例子: + +``` +-- setup + +local args = {...} + +-- engine + +function echo(p) + print(p) +end + +-- go + +for i,v in ipairs(args) do + print(i .. ": " .. v) +end + +for i,v in ipairs(args) do + if args[i] == "--say" then + echo("echo: " .. args[i+1]) + end +end +``` + +在 `setup` 部分,将所有命令参数转储到名为 `args` 的变量中。 + +在 `engine` 部分,创建一个名为 `echo` 的函数,用于打印你“输入”其中的任何内容。 + +最后,在 `go` 部分,解析 `args` 变量(用户在启动时提供的参数)中的索引和值。在此示例代码中,为清楚起见,第一个 `for` 循环仅打印每个索引和值。 + +第二个 `for` 循环使用索引来检查第一个参数,它被假定是一个选项。此示例代码中唯一有效的选项是 `--say`。如果循环找到字符串 `--say`,它会调用 `echo` 函数,并将当前参数的索引_加 1_(_next_ 参数)作为函数参数提供。 + +命令参数的分隔符是一个或多个空格。运行代码查看结果: + +``` +$ lua ./echo.lua --say zombie apocalypse +1: --say +2: zombie +3: apocalypse +echo: zombie +``` + +大多数用户都知道在向计算机发出命令时空格很重要,因此在这种情况下删除第三个参数是预期的行为。下面是演示两种有效“转义”方法的变体: + +``` +$ lua ./echo.lua --say "zombie apocalypse" +1: --say +2: zombie apocalypse +echo: zombie apocalypse + +$ lua ./echo.lua --say zombie\ apocalypse +1: --say +2: zombie apocalypse +echo: zombie apocalypse +``` + +### 解析参数 + +手动解析参数简单且无依赖性。但是,你必须考虑一些细节。大多数现代命令都允许使用短选项(例如,`-f`)和长选项(`--foo`),并且大多数命令都提供 `-h` 或 `--help` 或者在没有所需参数时显示帮助菜单。 + +使用 [LuaRocks][3] 可以轻松安装其他库。有一些非常好的工具,例如 [alt-getopt][4],它们为解析参数提供了额外的基础设施。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/lua-command-arguments + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/8/printf +[2]: https://opensource.com/article/22/11/lua-worth-learning +[3]: https://opensource.com/article/19/11/getting-started-luarocks +[4]: https://opensource.com/article/21/8/parsing-commands-lua From 8bbc4aa8e90b89f8d30b9e8ecdbcde0e3277232a Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 6 Dec 2022 09:10:26 +0800 Subject: [PATCH 635/925] translating --- ... Monica An Open-Source App for Personal Relationship Management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md index 2f5f0ad2f4..ab87277b7e 100644 --- a/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md +++ b/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/monica/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3232d0cbc6f7ce5e9914324e99365e7184aaf36c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 6 Dec 2022 11:16:43 +0800 Subject: [PATCH 636/925] RP @geekpi https://linux.cn/article-15321-1.html --- ...0221129.3 ⭐️⭐️ Parse arguments with Lua.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) rename {translated/tech => published}/20221129.3 ⭐️⭐️ Parse arguments with Lua.md (85%) diff --git a/translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md similarity index 85% rename from translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md rename to published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md index 59a9f659ca..3457ab1f9c 100644 --- a/translated/tech/20221129.3 ⭐️⭐️ Parse arguments with Lua.md +++ b/published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md @@ -3,14 +3,18 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15321-1.html" 用 Lua 解析参数 ====== -大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。想象一下重写 [printf][1] 命令只是为了让你的计算机用 “hello world” 消息问候您。参数对于交互式计算至关重要,[Lua 编程语言][2] 提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。 +![][0] + +> 参数对于交互式计算至关重要,Lua 编程语言提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。 + +大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。想象一下重写 [printf][1] 命令只是为了让你的计算机用 “hello world” 消息问候你。参数对于交互式计算至关重要,[Lua 编程语言][2] 提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。 ### 在 Lua 中使用参数 @@ -35,7 +39,7 @@ baz ---- ``` -没有参数是安全的,Lua 会完全按照输入的方式打印所有参数。 +参数是不安全的,Lua 会完全按照输入的方式打印所有参数。 ### 解析参数 @@ -71,7 +75,7 @@ end 最后,在 `go` 部分,解析 `args` 变量(用户在启动时提供的参数)中的索引和值。在此示例代码中,为清楚起见,第一个 `for` 循环仅打印每个索引和值。 -第二个 `for` 循环使用索引来检查第一个参数,它被假定是一个选项。此示例代码中唯一有效的选项是 `--say`。如果循环找到字符串 `--say`,它会调用 `echo` 函数,并将当前参数的索引_加 1_(_next_ 参数)作为函数参数提供。 +第二个 `for` 循环使用索引来检查第一个参数,它被假定是一个选项。此示例代码中唯一有效的选项是 `--say`。如果循环找到字符串 `--say`,它会调用 `echo` 函数,并将当前参数的索引 _加 1_(_下一个_ 参数)作为函数参数提供。 命令参数的分隔符是一个或多个空格。运行代码查看结果: @@ -110,7 +114,7 @@ via: https://opensource.com/article/22/11/lua-command-arguments 作者:[Seth Kenlon][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/) 荣誉推出 @@ -120,3 +124,4 @@ via: https://opensource.com/article/22/11/lua-command-arguments [2]: https://opensource.com/article/22/11/lua-worth-learning [3]: https://opensource.com/article/19/11/getting-started-luarocks [4]: https://opensource.com/article/21/8/parsing-commands-lua +[0]: https://img.linux.net.cn/data/attachment/album/202212/06/111552sofsllzdfffgfakh.jpg \ No newline at end of file From f621caec2518f87bc642b6112a1ea61cbcceaca9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 6 Dec 2022 12:27:18 +0800 Subject: [PATCH 637/925] ALL @wxy https://linux.cn/article-15322-1.html --- ...p Environment R14.0.13 is now out with updates!.md | 117 ++++++++++++++++++ ...p Environment R14.0.13 is now out with updates!.md | 114 ----------------- 2 files changed, 117 insertions(+), 114 deletions(-) create mode 100644 published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md delete mode 100644 sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md diff --git a/published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md b/published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md new file mode 100644 index 0000000000..c625b97865 --- /dev/null +++ b/published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md @@ -0,0 +1,117 @@ +[#]: subject: "Trinity Desktop Environment R14.0.13 is now out with updates!" +[#]: via: "https://debugpointnews.com/trinity-desktop-environment-r14-0-13/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15322-1.html" + +Trinity 桌面环境 R14.0.13 版发布更新 +====== + +![][1] + +> 怀念美好的旧式 KDE?Trinity 桌面环境新发布的小版本(TDE R14.0.13)带来了一些新功能和错误修复。以下是发布摘要。 + +![Trinity 桌面环境 R14.0.13][2] + +如果你是那些怀念美好的旧式 KDE(3.5)外观的人,那么你可以通过 Trinity 桌面环境(TDE)获得它。TDE 是一个由志愿者组成的小团队开发的一个复刻版的 KDE 3.5 桌面环境。它是 KDE 3 桌面理念的延续,为那些欣赏其功能和设计的人提供了更新和错误修复。 + +尽管是一个小而独立的项目,TDE 仍然在积极地开发和维护,为用户提供了一个主流桌面环境的替代品。而继 [之前的 R14.0.12 版本][3] 之后,第 13 个小版本带来了一些好东西。 + +### Trinity 桌面环境 R14.0.13 的新内容 + +#### 桌面易用性得到了更新 + +这个版本引入了使用 `Ctrl + 鼠标滚轮` 来增加或减少字体大小的功能,这可以用在 Konsole、Kate、KWrite、TDevelop 和其他使用 Kate 嵌入编辑器的应用程序中。此外,Kate 文本编辑器现在包括 Markdown 文件的语法高亮,使其更容易阅读和编辑这些类型的文档。 + +这些增强功能使用户对文本编辑器的外观有更多的控制,并改善了整体的用户体验。 + +此外,Trinity 桌面环境 R14.0.13 还改进了用户设置墙纸的方式,使其更容易设置,也更直观。Konqueror 的动作菜单现在提供了设置图像作为背景的各种选项,为用户提供了更多的灵活性和控制力。这些改进提高了设置墙纸时的整体用户体验,使用户更加方便。 + +除此之外,这个版本还改进了 khotkeys 输入动作,为用户提供了更多的控制和灵活性。它的用于创建和编辑动作的图形用户界面现在包括新的上移/下移按钮,使其更容易重新排列动作。此外,该版本还包括对图形用户界面的修复,以提高其整体可用性和性能。这些改进提高了用户在使用 khotkeys 输入动作时的体验,使用户更方便地定制他们的键盘快捷键。这个版本还包括一个新的等待动作组件,允许用户在步骤之间引入一个延迟。 + +![twin-style-machbunt - 来自 SuSE 的 KDE 窗口装饰主题][4] + +#### 核心和支持 + +SFTP tdeioslave 已经更新,现在使用 libssh,它提供了更安全和稳定的连接。任务栏现在包括移动任务和拖放分组任务按钮,增强了用户体验。 + +这个版本包括了改进的 API 可视化和增强的 Python3 支持。整个版本使用的语言已经更新为性别中立。这些改进提高了整体的用户体验,使 TDE 更具包容性和可及性。 + +除此之外,在核心应用程序方面,TDE R14.0.13 版本包括了几个更新,以提高与流行的多媒体和文件处理库的兼容性。这包括对 ffmpeg 5.0、Jasper 3.x 和 Poppler >= 22.04 的支持。这些更新使 TDE 能够利用这些库的最新功能和性能改进。此外,这个版本包括了几个 TDE 应用程序的手册页,为用户提供了关于如何使用这些程序的更详细的文档和信息。这些改进提高了 TDE 的整体功能和性能。 + +### 下载并安装 Trinity 桌面环境 R14.0.13 + +如果你使用的是 Ubuntu 22.04 LTS Jammy Jellyfish,你可以运行下面的命令将其安装在你现有的 Ubuntu 上: + +``` +sudo gedit /etc/apt/sources.list +``` + +添加以下行并保存文件: + +``` +deb http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14 +deb-src http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14 +``` + +``` +wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.deb +sudo dpkg -i trinity-keyring.deb +sudo apt update +sudo apt install kubuntu-default-settings-trinity kubuntu-desktop-trinity +``` + +安装完成后,重新启动你的系统,在登录界面选择 Trinity。注意:截至发稿时,针对 Ubuntu 22.10 Kinetic Kudu 的仓库还不可用。 + +对于 Arch Linux 用户,你可以通过以下命令安装它。 + +使用管理员权限打开 `/etc/pacman.conf`,在最后添加以下几行并保存好: + +``` +[trinity] +Server = https://mirror.ppa.trinitydesktop.org/trinity/archlinux/$arch +``` + +然后打开一个终端,运行以下内容: + +``` +pacman-key --recv-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B +pacman-key --lsign-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B +``` + +最后,用下面的方法来安装: + +``` +pacman -Sy +``` + +``` +pacman -S td-meta +``` + +对于其他发行版,你可以在 [本页][5] 找到 TDE 的详细下载和安装指南。 + +来自 [发布公告][6]。 + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/trinity-desktop-environment-r14-0-13/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/tde-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Trinity-Desktop-Environment-R14.0.13.jpg +[3]: https://www.debugpoint.com/tde-release-r14-0-12/ +[4]: https://debugpointnews.com/wp-content/uploads/2022/12/twin-style-machbunt-a-KDE-window-decoration-theme-from-SuSE.jpg +[5]: https://wiki.trinitydesktop.org/Category:Documentation#Installing_from_a_Package_Manager +[6]: https://www.trinitydesktop.org/newsentry.php?entry=2022.10.30 diff --git a/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md b/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md deleted file mode 100644 index 9600c86b94..0000000000 --- a/sources/news/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md +++ /dev/null @@ -1,114 +0,0 @@ -[#]: subject: "Trinity Desktop Environment R14.0.13 is now out with updates!" -[#]: via: "https://debugpointnews.com/trinity-desktop-environment-r14-0-13/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Trinity Desktop Environment R14.0.13 is now out with updates! -====== - -![][1] - -**Missing old-KDE? The new minor release of Trinity Desktop Environment (TDE R14.0.13) brings a few new features and bug fixes. This is a release summary.** - -![Trinity Desktop Environment R14.0.13][2] - -If you are one of those users who miss the good ol’ KDE (3.5) look, then you can get it via Trinity Desktop Environment (TDE). The TDE is a fork of the KDE 3.5 desktop environment developed by a small team of volunteers. It’s a continuation of the KDE 3 desktop methodology, providing updates and bug fixes for those who appreciate its features and design. - -Despite being a small and independent project, TDE is still actively developed and maintained, offering users an alternative to more mainstream desktop environments. And following the [prior R14.0.12 release][3], the thirteenth minor release brings a few goodies. - -### Trinity Desktop Environment release R14.0.13: What’s New - -#### Desktop usability updates - -This release introduces the ability to use Ctrl + mouse wheel to increase or decrease the font size in Konsole, Kate, KWrite, TDevelop, and other applications using the Kate part editor. In addition, the Kate text editor now includes syntax highlighting for Markdown files, making it easier to read and edit these types of documents. - -These enhancements give users more control over their text editor’s appearance and improve the overall user experience. - -Furthermore, Trinity Desktop Environment R14.0.13 also includes improvements to how users set a wallpaper, making it easier and more intuitive. The Konqueror action menu now offers all available options for setting an image as the background, providing users with more flexibility and control.These enhancements enhance the overall user experience when setting wallpaper and make it more convenient for users. - -On top of that, this release includes improvements to the khotkeys Input Actions, providing users with more control and flexibility. The GUI for creating and editing actions now includes new move-up/move-down buttons, making it easier to reorder actions. - -In addition, this release includes fixes to the GUI to improve its overall usability and performance.These enhancements enhance the user experience when working with khotkeys Input Actions and make it more convenient for users to customize their keyboard shortcuts. - -![twin-style-machbunt - a KDE window decoration theme from SuSE][4] - -#### Core and supports - -This release includes a new waiting action component that allows users to introduce a delay between steps. The SFTP tdeioslave has been updated to use libssh, providing a more secure and stable connection. The taskbar now includes moving tasks and dragging and dropping grouped task buttons, enhancing the user experience. - -This release includes improved API visualization and enhanced Python3 support. The language used throughout the release has been updated to be gender-neutral. These enhancements improve the overall user experience and make the TDE more inclusive and accessible. - -Other than that, on the core apps side, the TDE R14.0.13 release includes several updates to improve compatibility with popular multimedia and document processing libraries. This includes support for ffmpeg 5.0, Jasper 3.x, and Poppler >= 22.04. These updates allow TDE to take advantage of these libraries’ latest features and performance improvements. In addition, this release includes man pages for several TDE applications, providing users with more detailed documentation and information about how to use these programs. These enhancements improve the overall functionality and performance of the TDE. - -### Download and Install Trinity desktop environment R14.0.13 - -If you are using Ubuntu 22.04 LTS Jammy Jellyfish, you can run the following command to install it on top of your existing Ubuntu installation. - -``` -sudo gedit /etc/apt/sources.list -``` - -Add the following line and save the file. - -``` -deb http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14deb-src http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-sb jammy deps-r14 main-r14 -``` - -``` -wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.debsudo dpkg -i trinity-keyring.debsudo apt updatesudo apt install kubuntu-default-settings-trinity kubuntu-desktop-trinity -``` - -After installation, restart your system and choose Trinity from the login screen. Note: As of publishing this, the repo is yet unavailable for Ubuntu 22.10 Kinetic Kudu. - -For Arch Linux users, you can install it via the following commands: - -Open `/etc/pacman.conf` using admin privilege and add the following lines at the end and save the fine. - -``` -[trinity]Server = https://mirror.ppa.trinitydesktop.org/trinity/archlinux/$arch -``` - -Then open a terminal and run the following: - -``` -pacman-key --recv-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B -pacman-key --lsign-key D6D6FAA25E9A3E4ECD9FBDBEC93AF1698685AD8B -``` - -And finally, use the below to install. - -``` -pacman -Sy -``` - -``` -pacman -S tde-meta -``` - -For other distros, you can find the detailed download and install guide for TDE on [this page][5]. - -Via [release announcement][6] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/trinity-desktop-environment-r14-0-13/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/tde-head.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Trinity-Desktop-Environment-R14.0.13.jpg -[3]: https://www.debugpoint.com/tde-release-r14-0-12/ -[4]: https://debugpointnews.com/wp-content/uploads/2022/12/twin-style-machbunt-a-KDE-window-decoration-theme-from-SuSE.jpg -[5]: http://pacman -S tde-meta -[6]: https://www.trinitydesktop.org/newsentry.php?entry=2022.10.30 From 4d3e991974648a94e4a66fb81d87231011e09f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:48:39 +0800 Subject: [PATCH 638/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221205.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?ue=20Lightweight=20Notepad=20for=20Ubuntu=20and=20Other=20Linux?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Lightweight Notepad for Ubuntu and Other Linux.md | 220 ++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 sources/tech/20221205.4 ⭐️⭐️ True Lightweight Notepad for Ubuntu and Other Linux.md diff --git a/sources/tech/20221205.4 ⭐️⭐️ True Lightweight Notepad for Ubuntu and Other Linux.md b/sources/tech/20221205.4 ⭐️⭐️ True Lightweight Notepad for Ubuntu and Other Linux.md new file mode 100644 index 0000000000..f11a34a66c --- /dev/null +++ b/sources/tech/20221205.4 ⭐️⭐️ True Lightweight Notepad for Ubuntu and Other Linux.md @@ -0,0 +1,220 @@ +[#]: subject: "True Lightweight Notepad for Ubuntu and Other Linux" +[#]: via: "https://www.debugpoint.com/lightweight-notepad-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +True Lightweight Notepad for Ubuntu and Other Linux +====== + +**A current list of lightweight and resource-friendly basic GUI-based notepad(s) for Ubuntu and other Linux.** + +![][1] + +Linux is a popular operating system known for its speed, stability, and flexibility. One of the key features of Linux is the ability to customize and configure the system to suit your needs. This includes choosing the right applications and tools to use on your system. This tutorial will explore some of the best lightweight notepads for Linux. We will look at their features, pros, and cons and provide tips on choosing the right notepad for your needs. Whether you’re a student, programmer, or simply someone who likes to take notes, a good notepad is an essential tool for any Linux user. + +### Why this list? + +We highlighted some of the best Notepad++ replacements for Ubuntu and other Linux distros a few days back. Since Notepad++ is an advanced notepad, it may not fit the actual lightweight criteria. For example, if you want to take some quick notes and nothing else, then Notepad++ or code editors can be an overkill. + +Also, a thin resource footprint-based editor can be kept open for longer without worrying about memory and other things. + +In addition, many DebugPoint readers commented about the following editors in the [Notepad++ article][2]. Hence this special list. + +### Best lightweight notepad for Ubuntu and other distros + +#### 1. Mousepad + +The first on this list is the popular text editor – mousepad. It’s Xfce desktop’s default text editor developed with GTK. It’s simple and lightweight but has more settings and features, especially if you compare it with the leafpad in this list. + +You may call it a leafpad with some additional features. + +Key feature includes dark/light themes, tabbed editing support, font and plugin features. You can discover more such settings after installation and during usage. + +Here’s how it looks. + +![mousepad running in Ubuntu][3] + +Installing mousepad is easy since it is available in all the major Linux distro’s repo. + +For Ubuntu, Linux Mint and related distributions, use the following command to install. + +``` +sudo apt install mousepad +``` + +For Fedora Linux, use the following command: + +``` +sudo dnf install mousepad +``` + +And Arch Linux users can install it using the following command: + +``` +sudo pacman -S mousepad +``` + +#### 2. Featherpad + +[FeatherPad][4] is a lightweight Qt-based text editor for Ubuntu and other Linux distros that is independent of any desktop environment. Some key features include drag-and-drop support, including the ability to detach and attach tabs, virtual desktop awareness, and an optional permanent search bar with individual entries for each tab. + +In addition, it can instantly highlight found matches when searching, a docked window for text replacement and support for showing line numbers and jumping to specific lines. + +Furthermore, featherpad can detect text encoding, provide syntax highlighting for common programming languages, and support session management. It also has features like spell-checking with Hunspell, text zooming, printing, and auto-saving. + +Installing featherpad is easy. + +For Ubuntu and related distros you can install it using the following command from the terminal: + +``` +sudo apt install featherpad +``` + +For Fedora Linux, use the following command to install; + +``` +sudo dnf install featherpad +``` + +Arch Linux users can use the following to install: + +``` +sudo pacman -S featherpad +``` + +![featherpad running in Ubuntu][5] + +#### 3. Leafpad + +[Leafpad][6] is a simple and lightweight text editor for Linux based on GTK. It is designed to be fast, easy to use, and require minimal resources. Leafpad features a clean and intuitive user interface, with all the basic text editing tools you need, such as cut, copy, and paste, and support for undo and redo. Furthermore, it also includes support for syntax highlighting for several programming languages, making it a useful tool for programmers. + +Leafpad is a popular choice among Linux users due to its simplicity and efficiency. It is perhaps the exact replacement for the Windows Notepad application. It has all the basic features, including word wrap, line numbers, font selection and auto-indentation. + +Here’s how it looks. The most simple and lightweight notepad in this list. + +![leafpad - a simple notepad running in Ubuntu][7] + +But installing Leafpad is a little tricky in Ubuntu. Unfortunately, it’s unavailable in the Universe repo and only available as Snap and not Flatpak. + +However, you can get it from the Debian repo and install it in Ubuntu. + +Download the deb file from the Debian repo and install it using the following commands. + +``` +wget http://ftp.us.debian.org/debian/pool/main/l/leafpad/leafpad_0.8.18.1-5_amd64.deb +``` + +``` +sudo dpkg -i leafpad_0.8.18.1-5_amd64.deb +``` + +Fedora users can install it using the following command. + +``` +sudo dnf install leafpad +``` + +And Arch Linux users via below. + +``` +sudo pacman -S leafpad +``` + +#### 4. Beaver editor + +[Beaver][8] editor is a lightweight, fast-starting text editor with minimal dependencies. It is built on the GTK+2 library and does not require additional libraries to be installed, making it well-suited for use on older computers and in small Linux distributions. Beaver’s core features include basic functionality and syntax highlighting, and additional functionality can be added through plugins. Its interface is clean and efficient, and it includes high-quality Tango artwork. + +![Beaver editor running in Ubuntu][9] + +It’s a little older app, but it works fine. However, it is only available for Ubuntu and related distros at the moment. You can download the pre-compiled deb file and install it using the following command: + +``` +wget https://www.bristolwatch.com/debian/packages/beaver_amd64.deb +``` + +``` +sudo dpkg -i beaver_amd64.deb +``` + +#### 5. Gedit + +The [gedit text editor][10] is the default text editor for the GNOME desktop environment and is used by millions of people on various Linux distributions such as Ubuntu and Fedora. It is a part of the core GNOME applications and is intended to be a lightweight, general-purpose text editor. However, gedit also includes many productivity features through its settings and installed plugins, allowing it to compete with other popular text editors. + +That said, it has been “demoted” recently from its default editor tag on the GNOME desktop. The modern GTK4-based [gnome-text-editor][11] has replaced it. + +However, it’s one of the best editors, and you can expand it from a simple editor to a more advanced editor using plugins and [various tips][12]. + +![gedit text editor][13] + +To install it, use the following commands for Ubuntu and related distributions/ + +``` +sudo apt install gedit +``` + +For Fedora Linux users, use the following command. + +``` +sudo dnf install hgedit +``` + +Finally, Arch Linux users can use the following command to install it: + +``` +sudo pacman -S gedit +``` + +### Memory and resource comparison + +Since we are discussing the performance here, which is key to the comparison, we listed below the memory consumed by all the above apps in the latest Ubuntu install. + +As you can see, the Xfce’s mousepad is the most lightweight, whereas the gedit is the heavier. + +| **App name** | **memory consumed at idle in Ubuntu** | +| :- | :- | +| mousepad | 303 KB | +| featherpad | 1.7 MB | +| leafpad | 7.7 MB | +| beaver pad | 11.1 MB | +| gedit | 30.2 MB | + +### Wrapping Up + +In conclusion, a lightweight notepad for Linux is essential for every use case. Whether you need to take notes, write code, or edit text, a lightweight notepad can make your work faster, easier, and more efficient. The Linux operating system offers a wide range of notepad applications, each with its unique features and capabilities. + +This top list of lightweight Linux notepad(s) explored some apps, including Leafpad, Gedit, mousepad and others. + +No matter which notepad you choose, you can be sure it will provide the features you need to complete your work on your Linux system. + +Which one is your favourite? Let me know in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/lightweight-notepad-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/12/notepad-1head.jpg +[2]: https://www.debugpoint.com/notepad-replacement-ubuntu/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/mousepad-running-in-Ubuntu.jpg +[4]: https://github.com/tsujan/FeatherPad +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/featherpad-running-in-Ubuntu.jpg +[6]: http://tarot.freeshell.org/leafpad/v +[7]: https://www.debugpoint.com/wp-content/uploads/2022/12/leafpad-a-simple-notepad-running-in-Ubuntu.jpg +[8]: https://sourceforge.net/projects/beaver-editor/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/12/Beaver-editor-running-in-Ubuntu.jpg +[10]: https://wiki.gnome.org/Apps/Gedit +[11]: https://www.debugpoint.com/gnome-text-editor/ +[12]: https://www.debugpoint.com/gedit-features/ +[13]: https://www.debugpoint.com/wp-content/uploads/2022/12/gedit-text-editor.jpg From 1d14160832fd5198e664001cd5c1d3238f0e55c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:49:04 +0800 Subject: [PATCH 639/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221206.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20To?= =?UTF-8?q?p=205=20Live=20Streaming=20Applications=20for=20Ubuntu=20and=20?= =?UTF-8?q?Other=20Linux=20[2022=20Edition].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tions for Ubuntu and Other Linux [2022 Edition].md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 sources/tech/20221206.0 ⭐️⭐️ Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition].md diff --git a/sources/tech/20221206.0 ⭐️⭐️ Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition].md b/sources/tech/20221206.0 ⭐️⭐️ Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition].md new file mode 100644 index 0000000000..93ee5ab1e4 --- /dev/null +++ b/sources/tech/20221206.0 ⭐️⭐️ Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition].md @@ -0,0 +1,185 @@ +[#]: subject: "Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition]" +[#]: via: "https://www.debugpoint.com/live-streaming-applications-linux-2022/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Top 5 Live Streaming Applications for Ubuntu and Other Linux [2022 Edition] +====== + +**This post lists the top five live streaming applications for Ubuntu Linux with features, highlights, download details, and comparison.** + +It is the best time to incorporate online video content for your business. Why? Because research suggests that the global online video market is growing at a rate of ~20% per year. + +And thanks to some excellent software from developers, it has become easy for anyone to create video content and stream them over several popular platforms such as YouTube and Twitch. If you think about it, you see you are consuming more video content today while online than text-based content. + +So, in this post, we will list out some of the free software for Ubuntu and other Linux primarily that are easy to use for creating super interesting live streaming content for you and your businesses. + +### Top 5 Live Streaming Applications for Linux in 2022 + +#### OBS Studio + +The first free application in this list is OBS Studio (also known as Open Broadcaster Software). It is a live streaming application with screencasting capabilities available for Linux, Windows and macOS. + +OBS Studio is the best one on this list because several reasons. The encoding is built-in, and it supports RTMP broadcasting, multiple sources, webcams, green-screen, capture cards and your application windows. + +The user interface is reasonably straightforward and feature-rich. You can get help from third-party developed plugins to extend their functionalities, such as – mixing live tweets from Twitter on your streaming media while live streaming. However, OBS does not support multi-bitrate streaming. + +![OBS Studio - Live Streaming Applications for Linux][1] + +**How to Install** + +OBS Studio is available in all Linux Distribution’s official repositories. Detailed instruction for installations is present in the below link. + +[Download OBS Studio][2] + +More Information + +- [Home Page][3] +- [Documentation][4] + +#### VokoscreenNG + +The second application we would feature in this list is VokoscreenNG. It is a fork of the discontinued Vokoscreen project. The new application is entirely written in Qt with the GStreamer library. It can record your screen and accept multiple audio and video sources. VokoscreenNG’s toolbox is also quite impressive. It includes a magnifying glass, timer, system tray plugins that ease up your workflow. + +It is available for Linux and Windows for free. + +![vokoscreenNG - Live Streaming Applications for Linux][5] + +**How to Install** + +You can download the compressed executable from the below link for Linux systems. Once downloaded, extract them. Then execute the binary to launch the application. + +Remember, this application requires X11, PulseAudio and GStreamer plugins installed in your Linux system to work. If you use a modern Linux system with Wayland and Pipewire sound server (e.g. Fedora), this application may not work. + +[Download VokoscreenNG][6] + +**More Information** + +- [Home page][7] + +#### Restreamer + +The Restreamer application lets you live stream videos and screencasts directly to your website without any streaming provider. It is also possible to use popular streaming solutions, such as YouTube, Twitch, etc., with this application. + +This application is feature-rich and comes with a fair list of features. Here’s a quick peek at its features: + +- H.264 streaming support +- Built-in HTML5 video play +- Available for Linux, macOS, Windows and as Docker images +- Supports your own website plus YouTube, Twitchm, Facebook, Vimeo, Wowza and more +- Multiple video source support – [IP Camera][8], USB Cameram or any H.2645 streams +- Encoding and Audio source support +- Snapshots as form of JPEG support in regular interval +- Access stream status via JSON HTTP API for additional programming + +![Restreamer][9] + +**How to Install** + +The installation of Restreamer is a little tricky because it’s distributed via Docker images. You can find the instructions to install Linux, Windows, and macOS on the below link. + +[Download Restreamer][10] + +**More Information** + +- [Home Page][11] +- [Documentation][12] +- [Source Code][13] + +#### ffscreencast + +The ffscreencast is a command-line streaming application that uses the ffmpeg library. It leverages the power of ffmpeg and acts as a wrapper for it. Although it is available as a command line, you can use its powerful features, such as multiple sources and recordings devices, directly via the terminal. It supports multiple display setups as well. You can also overlay your camera feed on top of your desktop screencast. + +![Open Streaming Platform - - Live Streaming Applications for Linux][14] + +**How to Install** + +To install this application, you need to clone the git repo and then copy the contents to /bin directory for the global execution of the `ffscreencast` command. + +``` +git clone https://github.com/cytopia/ffscreencastcd ffscreencastsudo cp bin/ffscreencast /usr/local/bin +``` + +You can run this application with `ffscreencast` command from the terminal. + +[Source code & Home page][15] + +#### Open Streaming platforms + +The final application in this list is Open Streaming Platform (OSP), an open-source RTMP streamer software that can act as a self-hosted alternative to YouTube LIVE, Twitch.tv, etc. + +This application is feature-rich and powerful when used correctly. Because of the below essential features: + +- RTMP Streaming from an input source like Open Broadcast Software (OBS). +- Multiple Channels per User, allowing a single user to broadcast multiple streams simultaneously without needing multiple accounts. +- Video Stream Recording and On-Demand Playback. +- Manual Video Uploading of MP4s that are sourced outside of OSP +- Video Clipping – Create Shorter Videos of Notable Moments +- Real-Time Chat Moderation by Channel Owners (Banning/Unbanning) +- Admin-Controlled Adaptive Streaming +- Protected Channels – Allow Access only to the audience you want. +- Live Channels – Keep chatting and hang out when a stream isn’t on +- Webhooks – Connect OSP to other services via fully customizable HTTP requests, which will pass information +- Embed your stream or video directly into another web page easily +- Share channels or videos via Facebook or Twitter quickly +- Ability to Customize the UI as a Theme for your own personal look + +**How to Install** + +To install the Open Streaming Platform, follow the below page for detailed instructions. + +[Download Open Streaming Platform][16] + +**More Information** + +- [Home Page][17] +- [Source Code][18] +- [Documentation][19] + +### Closing Notes + +There are very few free and open-source live streaming applications available for Linux. However, several commercial live streaming applications are available, which may give you more options, quality, and support. But as I said, they may cost you some bucks. So, if you are new to the streaming world, you may want to get started with the above-listed free live streaming applications in Ubuntu or other Linux systems. I hope this article gives you ideas about which to use based on your need and get you started. + +Let me know your favourite live streaming software in the comment box below. + +Cheers. + +[Next:How to Create Ubuntu, Linux OS Bootable USB in Windows][20] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/live-streaming-applications-linux-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/wp-content/uploads/2022/02/OBS-Studio.jpg +[2]: https://obsproject.com/wiki/install-instructions#linux +[3]: https://obsproject.com/ +[4]: https://obsproject.com/wiki/Home +[5]: https://www.debugpoint.com/wp-content/uploads/2022/02/vokoscreenNG.jpg +[6]: https://linuxecke.volkoh.de/vokoscreen/vokoscreen-download.html +[7]: https://linuxecke.volkoh.de/vokoscreen/vokoscreen.html +[8]: https://www.debugpoint.com/2018/08/onvifviewer-internet-camera-viewer-for-linux/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/02/Restreamer.jpg +[10]: https://datarhei.github.io/restreamer/docs/installation-index.html +[11]: https://datarhei.github.io/restreamer/ +[12]: https://datarhei.github.io/restreamer/docs/index.html +[13]: https://github.com/datarhei/restreamer +[14]: https://www.debugpoint.com/wp-content/uploads/2022/02/Open-Streaming-Platform-2048x1026.jpg +[15]: https://github.com/cytopia/ffscreencast +[16]: https://wiki.openstreamingplatform.com/Install/Standard +[17]: https://openstreamingplatform.com/ +[18]: https://gitlab.com/Deamos/flask-nginx-rtmp-manager +[19]: https://wiki.openstreamingplatform.com/ +[20]: https://www.debugpoint.com/how-to-create-ubuntu-linux-os-bootable-usb-in-windows/ From dbbb527dd974718049c842037435b9a9fd1a0a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:49:50 +0800 Subject: [PATCH 640/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221206.1=20=E2=AD=90=EF=B8=8F=20Gnoppix=20Linux=2022?= =?UTF-8?q?.12=20is=20out=20with=20GNOME=2043,=20Kernel=206.0,=20+=20More.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...12 is out with GNOME 43, Kernel 6.0, + More.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md diff --git a/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md b/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md new file mode 100644 index 0000000000..9096b0dbf3 --- /dev/null +++ b/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md @@ -0,0 +1,81 @@ +[#]: subject: "Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More" +[#]: via: "https://debugpointnews.com/gnoppix-22-12-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More +====== + +![][1] + +**Kali-linux-based rolling Linux distro Gnoppix 22.12 brings GNOME 43, Linux Kernel 6.0 and new upgrades.** + +![Gnoppix 22.12 desktop][2] + +The successor of the legacy live-cd Knoppix project, [Gnoppix][3] Linux is designed specifically for use in penetration testing and reverse engineering. It is optimized for web application security and for protecting digital rights. In addition to its focus on security, Gnoppix can also be used as a regular desktop operating system. It is a rolling release that receives frequent updates and new features. + +At its core, it is based on Kali Linux and Debian-rolling for some parts. And brings a GNOME desktop in contrast with Xfce for Kali Linux. + +### Gnoppix Linux 22.12: What’s New + +The current major release is Gnoppix 22, which is an ongoing point release, and recently its team released Gnoppix 22.12 with the following updates. + +Firstly the Kernel version is bumped up to Linux Kernel 6.0 and the latest [GNOME 43.2 desktop][4]. If you want to use this distro as a desktop, then some good news for you on the default application list. + +Gnoppix 22.12 added the GIMP image editor, Deluge & Transmission, clapper music player and gnome-firmware updater. + +Furthermore, all the native GNOME packages are bumped up to the 43.2 version while the team started working on 44, which is due on February 2023. + +![GNOME 43.2 workspace view][5] + +Other key components and apps include the following: + +- LibreOffice 7.4.2.3 +- Linux mainline Kernel 6.0.7 +- OpenJDK 11 +- pipewire 0.3.60 +- Firefox ESR 102 +- Python 3.10 + +Gnoppix Linux also adds a couple of Microsoft apps by default. In this release, you get the Microsoft Edge Browser 107 and the Microsoft Teams preview edition for meetings and communications. + +You have a complete change log with a huge list of package updates you can find in the [changelog][6]. + +### Download + +If you want to try it, you can download it using the following link. + +[Download Gnoppix 22.12][7] + +Remember, it is ideal to be used in live media. However, you can easily install it on your hardware and run it as a Debian-GNOME-rolling release. Also, please note that it needs a minimum of 50GB of disk space for installation! That’s a hard requirement of its Calamares installer. + +Furthermore, the Kali Linux’s repo has already been added to the /etc/apt/sources.list – hence you can be sure of almost stable packages from Debian-rolling. So, it should be well stable. + +Cheers. + +Via [annoucement][6]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/gnoppix-22-12-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/gnoppix-head1.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Gnoppix-22.12-desktop.jpg +[3]: https://www.gnoppix.com/ +[4]: https://debugpointnews.com/gnome-43-release/ +[5]: https://debugpointnews.com/wp-content/uploads/2022/12/GNOME-43.2-workspace-view.jpg +[6]: https://sourceforge.net/p/gnoppixng/releases/general/thread/bc187de53a/#f258 +[7]: https://sourceforge.net/projects/gnoppixng/files/releases/ From 74ecdd9ef069cbd90b42c7c54a89712b9db8a9ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:50:32 +0800 Subject: [PATCH 641/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221206.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20'D?= =?UTF-8?q?on't=20be=20Afraid=20to=20Contribute'=20Mirko=20Brombin=20Talks?= =?UTF-8?q?=20about=20Vanilla=20OS=20and=20Other=20Future=20Projects.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...alks about Vanilla OS and Other Future Projects.md | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 sources/talk/20221206.2 ⭐️⭐️ 'Don't be Afraid to Contribute' Mirko Brombin Talks about Vanilla OS and Other Future Projects.md diff --git a/sources/talk/20221206.2 ⭐️⭐️ 'Don't be Afraid to Contribute' Mirko Brombin Talks about Vanilla OS and Other Future Projects.md b/sources/talk/20221206.2 ⭐️⭐️ 'Don't be Afraid to Contribute' Mirko Brombin Talks about Vanilla OS and Other Future Projects.md new file mode 100644 index 0000000000..afe4c238a8 --- /dev/null +++ b/sources/talk/20221206.2 ⭐️⭐️ 'Don't be Afraid to Contribute' Mirko Brombin Talks about Vanilla OS and Other Future Projects.md @@ -0,0 +1,155 @@ +[#]: subject: "'Don't be Afraid to Contribute': Mirko Brombin Talks about Vanilla OS and Other Future Projects" +[#]: via: "https://news.itsfoss.com/interview-mirko-brombin/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +'Don't be Afraid to Contribute': Mirko Brombin Talks about Vanilla OS and Other Future Projects +====== + +A conversation with Mirko Brombin, founder of Vanilla OS and Bottles creator. + +!['Don't be Afraid to Contribute': Mirko Brombin Talks about Vanilla OS and Other Future Projects][1] + +There are many interesting personalities in the Linux and open-source world. + +We aim to interact with them and share their stories/thoughts with you. While we did a few interviews in 2021, we are resuming the mission to share insightful conversations with amazing folks in our open-source and Linux universe. + +[Mirko Brombin][2] is one such cool guy 😎 He works as a UX designer full-time, and despite doing all that, he is involved with open-source projects that we admire! + +If you did not know, he is the creator of **[Bottles][3]** (an app to run Windows apps/games on Linux) and **[Vanilla OS][4]**'s founder. + +So, I asked a couple of questions to provide details about his **projects**, his **work/life**, and some **valuable tips** for our readers who want to join the open-source community. + +**Q.** _**Many people think that we have more than enough distros. Why Vanilla OS?**_ + +![vanilla os][5] + +**A:** It is because this one is 10x faster and safer than all the others! Just kidding. **Vanilla OS was born mainly out of a need of mine and a desire to experiment**. I have been a Linux user for many years and have tried many distributions. They always suffered from the lack of certain features and concepts that led me to compulsively distro-hop. In recent years I have been a happy user of Silverblue, a distribution that made me explore the benefits of immutable systems. + +Silverblue is a fantastic project. It's one of the most solid distributions I have tried. However, it does not fully meet my needs. Maintaining Bottles often requires me to play games for testing purposes, and having an NVIDIA GPU, I have had quite a few problems with Silverblue, from driver installation to constant driver breakage and a distinctly noticeable drop in performance. Let's be clear, **NVIDIA is a problem in every distribution** but there is much that can be done to improve the quality of life for users using these GPUs, such as guiding driver installation, pre-configuring the setup for Optimus (Integrated+Dedicated) laptops, and allowing PRIME profile switching in an easy way. To date, only Ubuntu and derivatives have been pre-configured for this workflow. + +![nvidia illustration][6] + +My problem with Ubuntu-based distributions is that they do not offer an experience compatible with my needs either. **I am a devoted GNOME user**, I fully endorse the user experience envisioned by GNOME, and I am completely addicted to it. + +I understand the need for **Ubuntu, Pop!_OS,** and others to provide their own vision and branding, but these modifications are deal breakers for me and probably for many users. GNOME designers and developers are professionals that have been working in this industry for countless years, perfecting their vision, but many distributions change the workflow in ways that I cannot use my systems effectively. + +**Another problem with Ubuntu is that it does not offer immutability and atomicity of transactions**, two mechanisms that make the system solid and safe from easy breakage, for example, when an update goes wrong. + +![solving ubuntu problems][7] + +Adding up all those shortcomings and my passion for throwing myself into increasingly complex projects, I decided to create **Vanilla OS, an Ubuntu-based distribution, with a stock GNOME desktop** and all the merits of immutability and atomicity. + +**Q.****_Some of your projects, like Bottles and the upcoming Vanilla OS, are immensely popular. Do you have other project ideas for the future?_****A:** I have a long list of projects that I would like to accomplish in the future, but my next goal is to develop and contribute to a project idealized by @[TheEvilSkeleton][8]: a **utility to configure MangoHud, an overlay that displays useful information about game FPS, temperatures, CPU/GPU load and more**. + +With this new project, we plan to integrate it in Bottles and provide a graphical interface to customize MangoHud parameters. Similarly, we did the same thing for vkBasalt with vkbasalt-cli. + +**_Q. There will always be a new distro, even if some of us would rather not see more. When I tried out Vanilla OS, it did not feel like “just another distro” but with a unique angle to it._****_So, what’s your near future plan with Vanilla OS?_****A:** My future plan for Vanilla OS is **to make the project sustainable so that I can work on it full-time**. This is more of a dream in my drawer but, who knows. + +I have many ideas that I'll share on social media eventually. Something I can tell you now is that one of my dreams is to see Vanilla OS on multiple platforms like desktops, mobile, and tablets. I want to create an environment with an Apple-like continuity, without the scamming, as the **user experience is always the main focus for me.** + +Q. _**Bottles is a fantastic tool to help users run Windows software on Linux in a few clicks. Various other tools like Heroic Games Launcher have been trying to make things easy for Windows users to play their favorite games on Linux easily.**__**How do you think that’s going? Do you have any stats to share about that through Bottles?**_**A:** Heroic is a project that I admire and follow closely. I am friends with [Flavio][9] (the founder) and [Linguin][10] (one of the developers), and I know how hard the whole team is working to make the gaming experience on Linux more and more fulfilling, so **a Hooray! for Heroic**. + +![Heroic Games launcher][11] + +**Bottles** is like a son to me, I have raised him at my best, and he is giving me a lot of satisfaction. Recently I had to decrease my presence in the project to focus on others and my daily job. This has been possible thanks to a team of contributors who have joined over time, people who share the same vision of the project as I do and cherish its ideals. + +![bottles screenshot][12] + +The structure of the project is changing radically. Initially, I was the one making every decision, whereas now everything is discussed and put to a vote, trying to get a shared verdict. In this, it is like watching a son grow up and make his own decisions, aware of what I have taught him over time. + +**Release 2022.11.14**, is the first release entirely developed by the Bottles team. One of the best releases ever in my opinion. For this, I have to give special thanks to @**TheEvilSkeleton,** who led the release, and [noëlle][13], who made the graphics part. + +A small milestone I would like to share with you is the **achievement of 400,000+ downloads from Flathub.** 🎉 + +![Bottle download stats][14] + +_**Q. If someone gets interested in contributing to any one of your projects. What advice would you give them? What programming language should they focus on if they want to collaborate with you?**_**A:** My advice is not to be afraid to contribute and ask questions, even if it's a "bad" question. Even if you are afraid. There is no such thing as a bad contribution. A well-written ticket is already a great way to do your part. Personally, I don't give weight to contributions, I give credit to those who have spent much more time certainly, but for me, every single contribution is a small brick that helps the project grow. + +**I mostly use Python and Go** for my projects but I would not make it a requirement. If a user wants to help with Vanilla OS, for example by making an application we need, well, they can use whatever language they like. + +![python programming][15] + +The only thing I would ask is to carefully consider the language and choose the one best suited for the type of project you need to create, as the choice will affect who can contribute (or not), for example, I would never choose Rust for a small tool, as Rust is not an easy language for newcomers and new contributors typically contribute to smaller projects that are written in user-friendly languages. + +_**Q. Other than your creations, what other project or distro would you mention as one of your favorites?**_**A:** I have many projects that I would like to mention here, but it would become a season of Vikings. Among all of them, the one that, in my opinion, deserves mention is **Distrobox, a project made by** [Luca di Maio][16]**, a friend of mine as well as an active member in the making of the Vanilla OS project.** + +Distrobox is a tool that installs Linux distributions inside managed containers integrated with the system, allowing, for example, to install and run software in a Fedora container while running Ubuntu, integrating it seamlessly with the host system. + +Distrobox is also employed by Apx, the Vanilla OS package manager. Every package installed through Apx resides in the Distrobox container, keeping the system safe from any discrepancies or breaks from a possible update gone wrong. + +_**Q. How do you keep up with all the projects you’re working on? What’s your mantra on productivity or time management?**_**A:** Contrary to what you may think, I don't work much on my projects, my daily job takes a lot of my time, and I have many other passions to cultivate. + +![productivity][17] + +I don't have any particular time management or organization; normally I try to stay focused on my projects by reasoning about them in my spare time and taking notes, so as soon as I get back to work on a project, I already have a clear idea of what I need to do. + +_**Q. You are also a GNOME Foundation member. What’s it like being a GNOME foundation member? Can anyone apply to be a part of it?**_**A:** I am still a very recent member and I don't have much to say, except that it is wonderful to be inside the project that I absolutely love and respect the most, as it has changed the way I use my PC, with a workflow designed to be free of distractions and where everything is intuitive and immediate; in short, where the user experience is always first. + +Anyone can apply, as long as they are an active person with demonstrable contributions. + +**_Q. As a GNOME foundation member, what do you think GNOME should improve compared to the KDE Plasma side?_****A:** I don't want to sound brash but I think **GNOME is currently complete as it is**. I've seen it grow since the beginning and I know how many steps have been taken since GNOME 2 and 3, I'm sure many more are to come but **right now I can't find a lack in comparison to KDE**. + +![gnome user][18] + +I know at this point someone is saying "_Eh but KDE has themes and a setting for this and that._" and I agree, it is a fact that KDE is the most customizable desktop environment of all, but you have to understand that GNOME doesn't implement all these settings because the whole thing is designed to provide a single, but efficient, user experience. Providing a setting to change every single aspect of it is more of an invitation for the user to do so, feeding bug reports for a different experience than designed. + +It is important to understand that more customization inevitably leads to more discrepancies and bugs, as all components of the system are meant to work in a certain way, and altering them takes you out of the testing environment that is used in GNOME. + +**_Q. What do you like to do in your spare time?_** + +![world history and podcast][19] + +**A:** In my free time, I love to **write recipes** or listen to the **world's history podcasts**. + +10-yo Mirko would find me boring, haha 😁 + +_**Q. A message to our readers (to inspire them/add a tip that you always wanted to share, etc)**_ + +![dialogue is good][20] + +**A:** Don't be afraid to contribute or speak. I often find that someone has a great idea to solve a problem and has never told anyone because of the fear that it was wrong. Let's be clear that a contribution is something to improve and is therefore always welcome. + +Certainly, not all ideas are feasible or correct but dialogue is a great way to find out. + +Don't be shy; come on! + +> 💭 Share your thoughts on the interview and if you want us to talk to your favorite open-source/Linux creator, feel free to mention them in the comments. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/interview-mirko-brombin/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/interview-with-mirko-brombin.png +[2]: https://mirko.pm +[3]: https://usebottles.com +[4]: https://vanillaos.org +[5]: https://news.itsfoss.com/content/images/2022/12/vanillaos.jpg +[6]: https://news.itsfoss.com/content/images/2022/12/nvidia.png +[7]: https://news.itsfoss.com/content/images/2022/12/ubuntu.png +[8]: https://github.com/TheEvilSkeleton +[9]: https://github.com/flavioislima +[10]: https://github.com/imLinguin +[11]: https://news.itsfoss.com/content/images/2022/12/Heroic_2.jpg +[12]: https://news.itsfoss.com/content/images/2022/12/bottle-creation-dark.png +[13]: https://github.com/jannuary +[14]: https://news.itsfoss.com/content/images/2022/12/download-milestone.png +[15]: https://news.itsfoss.com/content/images/2022/12/python.png +[16]: https://github.com/89luca89 +[17]: https://news.itsfoss.com/content/images/2022/12/productivity.png +[18]: https://news.itsfoss.com/content/images/2022/12/gnome-1.png +[19]: https://news.itsfoss.com/content/images/2022/12/history-1.png +[20]: https://news.itsfoss.com/content/images/2022/12/dialogue.png From 092da90aff1c1bff4ef58c91ac9de2c0bf45a47d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:51:49 +0800 Subject: [PATCH 642/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221206.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A?= =?UTF-8?q?=20data=20scientist's=20guide=20to=20open=20source=20community?= =?UTF-8?q?=20analysis.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntist's guide to open source community analysis.md | 201 ++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 sources/tech/20221206.3 ⭐️⭐️ A data scientist's guide to open source community analysis.md diff --git a/sources/tech/20221206.3 ⭐️⭐️ A data scientist's guide to open source community analysis.md b/sources/tech/20221206.3 ⭐️⭐️ A data scientist's guide to open source community analysis.md new file mode 100644 index 0000000000..d1f530342f --- /dev/null +++ b/sources/tech/20221206.3 ⭐️⭐️ A data scientist's guide to open source community analysis.md @@ -0,0 +1,201 @@ +[#]: subject: "A data scientist's guide to open source community analysis" +[#]: via: "https://opensource.com/article/22/12/data-scientists-guide-open-source-community-analysis" +[#]: author: "Cali Dolfi https://opensource.com/users/cdolfi" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A data scientist's guide to open source community analysis +====== + +In the golden age of data analysis, open source communities are not exempt from the frenzy around getting some big, fancy numbers onto presentation slides. Such information can bring even more value if you master the art of generating a well-analyzed question with proper execution. + +You might expect me, a [data scientist][1], to tell you that data analysis and automation will inform your community decisions. It's actually the opposite. Use data analysis to build on your existing open source community knowledge, incorporate others, and uncover potential biases and perspectives not considered. You might be an expert at implementing community events, while your colleague is a wiz at all things code. As each of you develops visualizations within the context of your own knowledge, you both can benefit from that information. + +Let's have a moment of realness. Everyone has a thousand and one things to keep up with, and it feels like there is never enough time in a day to do so. If getting an answer about your community takes hours, you won't do it regularly (or ever). Spending the time to create a fully developed visualization makes it feasible to keep up with different aspects of the communities you care about. + +With the ever-increasing pressure of being "data-driven," the treasure trove of information around open source communities can be a blessing and a curse. Using the methodology below, I will show you how to pick the needle out of the data haystack. + +### What is your perspective? + +When thinking about a metric, one of the first things you must consider is the perspective you want to provide. The following are a few concepts you could establish. + +**Informative vs. influencing action:** Is there an area of your community that is not understood? Are you taking that first step in getting there? Are you trying to decide on a particular direction? Are you measuring an existing initiative? + +**Exposing areas of improvement vs. highlighting strengths:** There are times when you are trying to hype up your community and show how great it is, especially when trying to demonstrate business impact or advocate for your project. When it comes to informing yourself and the community, you can often get the most value from your metrics by identifying shortcomings. Highlighting strengths is not a bad practice, but there is a time and place. Don't use metrics as a cheerleader inside your community to tell you how great everyone is; instead, share that with outsiders for recognition or promotion. + +**Community and business impact:** Numbers and data are the languages of many businesses. That can make it incredibly difficult to advocate for your community and truly show its value. Data can be a way to speak in their language and show what they want to see to get the rest of your messaging across. Another perspective is the impact on open source overall. How does your community impact others and the ecosystem? + +These are not always either/or perspectives. Proper framing will help in creating a more deliberate metric. + +![Data science and machine learning workflow][2] + +People often describe some version of this workflow when talking about general data science or machine learning work. I will focus on the first step, codifying problems and metrics, and briefly mention the second. From a data science perspective, this presentation can be considered a case study of this step. This step is sometimes overlooked, but your analysis's actual value starts here. You don't just wake up one day and know exactly what to look at. Begin with understanding what you want to know and what data you have to get you to the true goal of thoughtful execution of data analysis. + +### 3 data analysis use cases in open source + +Here are three different scenarios you might run into in your open source data analysis journey. + +#### Scenario 1: Current data analysis + +Suppose you are starting to go down the analysis path, and you already know what you're looking into is generally useful to you/your community. How can you improve? The idea here is to build off "traditional" open source community analysis. Suppose your data indicates you have had 120 total contributors over the project's lifetime. That's a value you can put on a slide, but you can't make decisions from it. Start taking incremental steps from just having a number to having insights. For example, you can break out the sample of total contributors into active versus drifting contributors (contributors who have not contributed in a set amount of time) from the same data. + +#### Scenario 2: Community campaign impact measurement + +![Goals and impacts][3] + +Consider meetups, conferences, or any community outreach initiative. How do you view your impacts and goals? These two steps actually feed into each other. Once you establish the campaign goals, determine what can be measured to detect the effect. That information helps set the campaign's goals. It's easy to fall into the trap of being vague rather than concrete with plans when a campaign begins. + +#### Scenario 3: Form new analysis areas to impact + +![New analysis areas][4] + +This situation occurs when you work from scratch in data analysis. The previous examples are different parts of this workflow. The workflow is a living cycle; you can always make improvements or extensions. From this concept, the following are the necessary steps you should work through. Later in this article, there will be three different examples of how this approach works in the real world. + +#### Step 1: Break down focus areas and perspectives + +First, consider a magic eight ball—the toy you can ask anything, shake, and get an answer. Think about your analysis area. If you could get any answer immediately, what would it be? + +Next, think about the data. From your magic eight-ball question, what data sources could have anything to do with the question or focus area? + +What questions could be answered in the data context to move you closer to your proposed magic eight-ball question? It's important to note that you must consider the assumptions made if you try to bring all the data together. + +#### Step 2: Convert a question to a metric + +Here is the process for each sub-question from the first step: + +- Select the specific data points needed. +- Determine visualization to get the goal analysis. +- Hypothesize the impacts of this information. + +Next, bring in the community to provide feedback and trigger an iterative development process. The collaborative portion of this can be where the real magic happens. The best ideas often come when bringing a concept to someone that inspires them in a way you or they would not have imagined. + +#### Step 3: Analysis in action + +This step is where you start working through the implications of the metric or visualization you have created. + +The first thing to consider is if this metric follows what is currently known about the community. + +- If **yes**: Are there assumptions made that catered to the results? +- If **no**: You want to investigate further whether this is potentially a data or calculation issue or if it is just a previously misunderstood part of the community. + +Once you have determined if your analysis is stable enough to make inferences on, you can start to implement community initiatives on the information. As you are taking in the analysis to determine the next best step, you should identify specific ways to measure the initiative's success. + +Now, observe these community initiatives informed by your metric. Determine if the impact is observable by your priorly established measurement of success. If not, consider the following: + +- Are you measuring the right thing? +- Does the initiative strategy need to change? + +### Example analysis area: New contributors + +#### What is my magic eight-ball question? + +- Do people have an experience that establishes them as consistent contributors? + +#### What data do I have that goes into the analysis area and magic eight-ball question? + +- What contributor activity exists for repos, including timestamps? + +Now that you have the information and a magic eight-ball question, break the analysis down into subparts and follow each of them to the end. This idea correlates with steps 2 and 3 above. + +**Sub-question 1:** "How are people coming into this project?" + +This question aims to see what new contributors are doing first. + +**Data:** GitHub data on first contributions over time (issues, PR, comments, etc.). + +![Chart of first time contributions per quarter][5] + +**Visualization:** Bar chart with first-time contributions broken down by quarter. + +**Potential extension:** After you talk with other community members, further examination breaks the information down by quarter and whether the contributor was a repeat or drive-by. You can see what people are doing when they come in and if that tells you anything about whether they will stick around. + +![Chart of drive-by contributions per quarter][6] + +**Potential actions informed by this information:** + +- Does the current documentation support contributors for the most common initial contribution? Could you support those contributors better, and would that help more of them stay? +- Is there a contribution area that is not common overall but is a good sign for a repeat contributor? Perhaps PR is a common area for repeat contributors, but most people don't work in that area. + +**Action items:** + +- Label "good first issues" consistently and link these issues to the contribution docs. +- Add a PR buddy to these. + +**Sub-question 2:** "Is our code base really dependent on drive-by contributors?" + +**Data:** Contribution data from GitHub. + +![Chart of contributor types over time][7] + +**Visualization:** "Total contributions: Broken down by contributions by drive-by and repeat contributor." + +**Potential actions informed by this information:** + +- Does this ratio achieve the program's goals? Is a lot of the work done by drive-by contributors? Is this an underutilized resource, and is the project not doing its part to bring them in? + +### Analysis: Lessons learned + +Number and data analysis are not "facts." They can say anything, and your internal skeptic should be very active when working with data. The iterative process is what will bring value. You don't want your analysis to be a "yes man." Take time to take a step back and evaluate the assumptions you've made. + +If a metric just points you in a direction to investigate, that is a huge win. You can't look at or think of everything. Rabbit holes can be a good thing, and conversation starters can bring you to a new place. + +Sometimes exactly what you want to measure is not there, but you might be able to get valuable details. You can't assume that you have all the puzzle pieces to get an exact answer to your original question. If you start to force an answer or solution, you can take yourself down a dangerous path led by assumptions. Leaving room for the direction or goal of analysis to change can lead you to a better place or insight than your original idea. + +Data is a tool. It is not the answer, but it can bring together insights and information that would not have been accessible otherwise. The methodology of breaking down what you want to know into manageable chunks and building on that is the most important part. + +Open source data analysis is a great example of the care you must take with all data science: + +- The nuance of the topic area is the most important. +- The process of working through "what to ask/answer" is often overlooked. +- Knowing what to ask can be the hardest part, and when you come up with something insightful and innovative, it's much more than whatever tool you choose. + +If you are a community member with no data science experience looking at where to start, I hope this information shows you how important and valuable you can be to this process. You bring the insights and perspectives of the community. If you are a data scientist or someone implementing the metrics or visualizations, you have to listen to the voices around you, even if you are also an active community member. More information on data science is listed at the end of this article. + +### Wrap up + +Use the above example as a framework for establishing data analysis of your own open source project. There are many questions to ask of your results, and knowing both the questions and their answers can lead your project in an exciting and fruitful direction. + +#### More on data science + +Consider the following sources for more information on data science and the technologies that provide it with data: + +- [What is data science?][8] +- [What is Python?][9] +- [How to become a data scientist][10] +- [Data scientist: A day in the life][11] +- [What is big data?][12] +- [Whitepaper: Data-intensive intelligent applications in a hybrid cloud blueprint][13] +- [MariaDB and MySQL cheat sheet][14] +- [Latest data science articles][15] + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/data-scientists-guide-open-source-community-analysis + +作者:[Cali Dolfi][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/cdolfi +[b]: https://github.com/lkxed +[1]: https://enterprisersproject.com/article/2022/9/data-scientist-day-life?intcmp=7013a000002qLH8AAM +[2]: https://opensource.com/sites/default/files/2022-11/datascience-machinelearning-workflow.jpg +[3]: https://opensource.com/sites/default/files/2022-11/goals-impact.png +[4]: https://opensource.com/sites/default/files/2022-11/new-analysis-areas.png +[5]: https://opensource.com/sites/default/files/2022-11/first-time-contributions-per-quarter.png +[6]: https://opensource.com/sites/default/files/2022-11/driveby-contributions-per-quarter.png +[7]: https://opensource.com/sites/default/files/2022-11/contributor-types-over-time.png +[8]: https://opensource.com/resources/data-science?intcmp=7013a000002CxqkAAC +[9]: https://opensource.com/resources/python?intcmp=7013a000002CxqkAAC +[10]: https://opensource.com/article/17/9/data-scientist?intcmp=7013a000002CxqkAAC +[11]: https://enterprisersproject.com/article/2022/9/data-scientist-day-life?intcmp=7013a000002CxqkAAC +[12]: https://opensource.com/resources/big-data?intcmp=7013a000002CxqkAAC +[13]: https://www.redhat.com/en/resources/data-intensive-applications-hybrid-cloud-blueprint-detail?intcmp=7013a000002CxqkAAC +[14]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet?intcmp=7013a000002CxqkAAC +[15]: https://opensource.com/tags/data-science?intcmp=7013a000002CxqkAAC From 0f76613ff5025d8fd08cf7634a0c3f17961c2d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:52:23 +0800 Subject: [PATCH 643/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221206.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20A=2010-minute=20guide=20to=20the=20Linux?= =?UTF-8?q?=20ABI.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️⭐️ A 10-minute guide to the Linux ABI.md | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 sources/tech/20221206.4 ⭐️⭐️⭐️ A 10-minute guide to the Linux ABI.md diff --git a/sources/tech/20221206.4 ⭐️⭐️⭐️ A 10-minute guide to the Linux ABI.md b/sources/tech/20221206.4 ⭐️⭐️⭐️ A 10-minute guide to the Linux ABI.md new file mode 100644 index 0000000000..eec93fd329 --- /dev/null +++ b/sources/tech/20221206.4 ⭐️⭐️⭐️ A 10-minute guide to the Linux ABI.md @@ -0,0 +1,151 @@ +[#]: subject: "A 10-minute guide to the Linux ABI" +[#]: via: "https://opensource.com/article/22/12/linux-abi" +[#]: author: "Alison Chaiken https://opensource.com/users/chaiken" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A 10-minute guide to the Linux ABI +====== + +Many Linux enthusiasts are familiar with Linus Torvalds' [famous admonition][1], "we don't break user space," but perhaps not everyone who recognizes the phrase is certain about what it means. + +The "#1 rule" reminds developers about the stability of the applications' binary interface via which applications communicate with and configure the kernel. What follows is intended to familiarize readers with the concept of an ABI, describe why ABI stability matters, and discuss precisely what is included in Linux's stable ABI. The ongoing growth and evolution of Linux necessitate changes to the ABI, some of which have been controversial. + +### What is an ABI? + +ABI stands for Applications Binary Interface. One way to understand the concept of an ABI is to consider what it is not. Applications Programming Interfaces (APIs) are more familiar to many developers. Generally, the headers and documentation of libraries are considered to be their API, as are standards documents like those for [HTML5][2], for example. Programs that call into libraries or exchange string-formatted data must comply with the conventions described in the API or expect unwanted results. + +ABIs are similar to APIs in that they govern the interpretation of commands and exchange of binary data. For C programs, the ABI generally comprises the return types and parameter lists of functions, the layout of structs, and the meaning, ordering, and range of enumerated types. The Linux kernel remains, as of 2022, almost entirely a C program, so it must adhere to these specifications. + +"[The kernel syscall interface][3]" is described by [Section 2 of the Linux man pages][4] and includes the C versions of familiar functions like "mount" and "sync" that are callable from middleware applications. The binary layout of these functions is the first major part of Linux's ABI. In answer to the question, "What is in Linux's stable ABI?" many users and developers will respond with "the contents of sysfs (/sys) and procfs (/proc)." In fact, the [official Linux ABI documentation][5] concentrates mostly on these [virtual filesystems][6]. + +The preceding text focuses on how the Linux ABI is exercised by programs but fails to capture the equally important human aspect. As the figure below illustrates, the functionality of the ABI requires a joint, ongoing effort by the kernel community, C compilers (such as [GCC][7] or [clang][8]), the developers who create the userspace C library (most commonly [glibc][9]) that implements system calls, and binary applications, which much be laid out in accordance with the Executable and Linking Format ([ELF][10]). + +![Cooperation within the development community][11] + +### Why do we care about the ABI? + +The Linux ABI stability guarantee that comes from Torvalds himself enables Linux distros and individual users to update the kernel independently of the operating system. + +If Linux did not have a stable ABI, then every time the kernel needed patching to address a security problem, a large part of the operating system, if not the entirety, would need to be reinstalled. Obviously, the stability of the binary interface is a major contributing factor to Linux's usability and wide adoption. + +![Terminal output][12] + +As the second figure illustrates, both the kernel (in linux-libc-dev) and Glibc (in `libc6-dev`) provide bitmasks that define file permissions. Obviously the two sets of definitions must agree! The `apt` package manager identifies which software project provided each file. The potentially unstable part of Glibc's ABI is found in the `bits/` directory. + +For the most part, the Linux ABI stability guarantee works just fine. In keeping with [Conway's Law][13], vexing technical issues that arise in the course of development most frequently occur due to misunderstandings or disagreements between different software development communities that contribute to Linux. The interface between communities is easy to envision via Linux package-manager metadata, as shown in the image above. + +### Y2038: An example of an ABI break + +The Linux ABI is best understood by considering the example of the ongoing, [slow-motion][14] "Y2038" ABI break. In January 2038, 32-bit time counters will roll over to all zeroes, just like the odometer of an older vehicle. January 2038 sounds far away, but assuredly many IoT devices sold in 2022 will still be operational. Mundane products like [smart electrical meters][15] and [smart parking systems][16] installed this year may or may not have 32-bit processor architectures and may or may not support software updates. + +The Linux kernel has already moved to a 64-bit `time_t` opaque data type internally to represent later timepoints. The implication is that system calls like `time()` have already changed their function signature on 64-bit systems. The arduousness of these efforts is on ready display in kernel headers like [time_types.h][17], which includes new and "_old" versions of data structures. + +![Odometer rolling over][18] + +The Glibc project also [supports 64-bit time][19], so yay, we're done, right? Unfortunately, no, as a [discussion on the Debian mailing list][20] makes clear. Distros are faced with the unenviable choice of either providing two versions of all binary packages for 32-bit systems or two versions of installation media. In the latter case, users of 32-bit time will have to recompile their applications and reinstall. As always, proprietary applications will be a real headache. + +### What precisely is in the Linux stable ABI anyway? + +Understanding the stable ABI is a bit subtle. Consider that, while most of sysfs is stable ABI, the debug interfaces are guaranteed to be _un_stable since they expose kernel internals to userspace. In general, Linus Torvalds has pronounced that by "don't break userspace," he means to protect ordinary users who "just want it to work" rather than system programmers and kernel engineers, who should be able to read the kernel documentation and source code to figure out what has changed between releases. The distinction is illustrated in the figure below. + +![Stability guarantee][21] + +Ordinary users are unlikely to interact with unstable parts of the Linux ABI, but system programmers may do so inadvertently. All of sysfs (`/sys`) and procfs (`/proc`) are guaranteed stable except for `/sys/kernel/debug`. + +But what about other binary interfaces that are userspace-visible, including miscellaneous ABI bits like device files in `/dev`, the kernel log file (readable with the `dmesg` command), filesystem metadata, or "bootargs" provided on the kernel "command line" that are visible in a bootloader like GRUB or u-boot? Naturally, "it depends." + +### Mounting old filesystems + +Next to observing a Linux system hang during the boot sequence, having a filesystem fail to mount is the greatest disappointment. If the filesystem resides on an SSD belonging to a paying customer, the matter is grave indeed. Surely a Linux filesystem that mounts with an old kernel version will still mount when the kernel is upgraded, right? Actually, "[it depends][22]." + +In 2020 an aggrieved Linux developer [complained on the kernel's mailing list][23]: + +> The kernel already accepted this as a valid mountable filesystem format, without a single error or warning of any kind, and has done so stably for years. . . . I was generally under the impression that mounting existing root filesystems fell under the scope of the kernel<->userspace or kernel<->existing-system boundary, as defined by what the kernel accepts and existing userspace has used successfully, and that upgrading the kernel should work with existing userspace and systems. + +But there was a catch: The filesystems that failed to mount were created with a proprietary tool that relied on a flag that was defined but not used by the kernel. The flag did not appear in Linux's API header files or procfs/sysfs but was instead an [implementation detail][24]. Therefore, interpreting the flag in userspace code meant relying on "[undefined behavior][25]," a phrase that will make software developers almost universally shudder. When the kernel community improved its internal testing and started making new consistency checks, the "[man 2 mount][26]" system call suddenly began rejecting filesystems with the proprietary format. Since the format creator was decidedly a software developer, he got little sympathy from kernel filesystem maintainers. + +![Construction sign reading crews working in trees][27] + +### Threading the kernel dmesg log + +Is the format of files in `/dev` guaranteed stable or not? The [command dmesg][28] reads from the file `/dev/kmsg`. In 2018, a developer [made output to dmesg threaded][29], enabling the kernel "to print a series of printk() messages to consoles without being disturbed by concurrent printk() from interrupts and/or other threads." Sounds excellent! Threading was made possible by adding a thread ID to each line of the `/dev/kmsg` output. Readers following closely will realize that the addition changed the ABI of `/dev/kmsg`, meaning that applications that parse that file needed to change too. Since many distros didn't compile their kernels with the new feature enabled, most users of `/bin/dmesg` won't have noticed, but the change broke the [GDB debugger][30]'s ability to read the kernel log. + +Assuredly, astute readers will think users of GDB are out of luck because debuggers are developer tools. Actually, no, since the code that needed to be updated to support the new `/dev/kmsg` format was "[in-tree][31]," meaning part of the kernel's own Git source repository. The failure of programs within a single repo to work together is just an out-and-out bug for any sane project, and a [patch that made GDB work with threaded /dev/kmsg][32] was merged. + +### What about BPF programs? + +[BPF][33] is a powerful tool to monitor and even configure the running kernel dynamically. BPF's original purpose was to support on-the-fly network configuration by allowing sysadmins to modify packet filters from the command line instantly. [Alexei Starovoitov and others greatly extended BPF][34], giving it the power to trace arbitrary kernel functions. Tracing is clearly the domain of developers rather than ordinary users, so it is certainly not subject to any ABI guarantee (although the [bpf() system call][35] has the same stability promise as any other). On the other hand, BPF programs that create new functionality present the possibility of "[replacing kernel modules as the de-facto means of extending the kernel][36]." Kernel modules make devices, filesystems, crypto, networks, and the like work, and therefore clearly are a facility on which the "just want it to work" user relies. The problem arises that BFP programs have not traditionally been "in-tree" as most open-source kernel modules are. A proposal in spring 2022 to [provide support to the vast array of human interface devices (HIDs) like mice and keyboards via tiny BPF programs][37] rather than patches to device drivers brought the issue into sharp focus. + +A rather heated discussion followed, but the issue was apparently settled by [Torvalds' comments at Open Source Summit][38]: + +> He specified if you break 'real user space tools, that normal (non-kernel developers) users use,' then you need to fix it, regardless of whether it is using eBPF or not. + +A consensus appears to be forming that developers who expect their BPF programs to withstand kernel updates [will need to submit them to an as-yet unspecified place in the kernel source repository][39]. Stay tuned to find out what policy the kernel community adopts regarding BPF and ABI stability. + +### Conclusion + +The kernel ABI stability guarantee applies to procfs, sysfs, and the system call interface, with important exceptions. When "in-tree" code or userspace applications are "broken" by kernel changes, the offending patches are typically quickly reverted. When proprietary code relies on kernel implementation details that are incidentally accessible from userspace, it is not protected and garners little sympathy when it breaks. When, as with Y2038, there is no way to avoid an ABI break, the transition is made as thoughtfully and methodically as possible. Newer features like BPF programs present as-yet-unanswered questions about where exactly the ABI-stability border lies. + +##### Acknowledgments + +Thanks to [Akkana Peck][40], [Sarah R. Newman][41], and [Luke S. Crawford][42] for their helpful comments on early versions of this material. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-abi + +作者:[Alison Chaiken][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/chaiken +[b]: https://github.com/lkxed +[1]: https://lkml.org/lkml/2018/12/22/232 +[2]: https://www.w3.org/TR/2014/REC-html5-20141028/ +[3]: https://www.kernel.org/doc/html/v6.0/admin-guide/abi-stable.html#the-kernel-syscall-interface +[4]: https://www.man7.org/linux/man-pages/dir_section_2.html +[5]: https://www.kernel.org/doc/html/v6.0/admin-guide/abi.html +[6]: https://opensource.com/article/19/3/virtual-filesystems-linux +[7]: https://gcc.gnu.org/ +[8]: https://clang.llvm.org/get_started.html +[9]: https://www.gnu.org/software/libc/ +[10]: https://www.man7.org/linux/man-pages/man5/elf.5.html +[11]: https://opensource.com/sites/default/files/2022-11/1cooperation.png +[12]: https://opensource.com/sites/default/files/2022-12/better_apt-file-find_ABI-boundary.png +[13]: https://en.wikipedia.org/wiki/Conway's_law +[14]: https://www.phoronix.com/news/MTc2Mjg +[15]: https://www.lfenergy.org/projects/super-advanced-meter-sam/ +[16]: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7506899/ +[17]: https://github.com/torvalds/linux/blob/master/include/uapi/linux/time_types.h +[18]: https://opensource.com/sites/default/files/2022-11/3speedometerrollingover_0.jpg +[19]: https://www.phoronix.com/scan.php?page=news_item&px=Glibc-More-Y2038-Work +[20]: https://groups.google.com/g/linux.debian.ports.arm/c/_KBFSz4YRZs +[21]: https://opensource.com/sites/default/files/2022-11/4stability.png +[22]: https://lwn.net/Articles/833696/ +[23]: https://lwn.net/ml/linux-kernel/20201006050306.GA8098@localhost/ +[24]: https://en.wikipedia.org/wiki/Encapsulation_(computer_programming) +[25]: https://en.wikipedia.org/wiki/Undefined_behavior +[26]: https://www.man7.org/linux/man-pages/man2/mount.2.html +[27]: https://opensource.com/sites/default/files/2022-11/5crewworkingintrees.jpg +[28]: https://www.man7.org/linux/man-pages/man1/dmesg.1.html +[29]: https://lkml.org/lkml/2018/11/24/180 +[30]: https://sourceware.org/gdb/current/onlinedocs/gdb/ +[31]: https://unix.stackexchange.com/questions/208638/linux-kernel-meaning-of-source-tree-in-tree-and-out-of-tree +[32]: https://lore.kernel.org/all/20191011142500.2339-1-joel.colledge@linbit.com/ +[33]: https://opensource.com/article/19/8/introduction-bpftrace +[34]: https://lwn.net/Articles/740157/ +[35]: https://www.man7.org/linux/man-pages/man2/bpf.2.html +[36]: https://lwn.net/Articles/909095/ +[37]: https://lwn.net/ml/ksummit-discuss/CAO-hwJJxCteD_BHZTeqQ1f7gWOHoj+05qP8bmFsRYVfMc_3FxQ@mail.gmail.com/ +[38]: https://lwn.net/ml/ksummit-discuss/20220621110514.6ef174d0@rorschach.local.home/ +[39]: https://lwn.net/ml/ksummit-discuss/20220616125128.68151432@gandalf.local.home/ +[40]: https://shallowsky.com/blog/ +[41]: https://www.socallinuxexpo.org/scale/19x/presentations/live-patching-down-trenches-view +[42]: https://www.amazon.com/Book-Xen-Practical-System-Administrator/dp/1593271867 From aaa0a0bf3a7073ebeca9f216c51fa0ddb4574dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:52:52 +0800 Subject: [PATCH 644/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221206.5=20=E2=AD=90=EF=B8=8F=20How=20the=20Linux=20?= =?UTF-8?q?Worker=20file=20manager=20can=20work=20for=20you.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Linux Worker file manager can work for you.md | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 sources/tech/20221206.5 ⭐️ How the Linux Worker file manager can work for you.md diff --git a/sources/tech/20221206.5 ⭐️ How the Linux Worker file manager can work for you.md b/sources/tech/20221206.5 ⭐️ How the Linux Worker file manager can work for you.md new file mode 100644 index 0000000000..5a8b4e8bea --- /dev/null +++ b/sources/tech/20221206.5 ⭐️ How the Linux Worker file manager can work for you.md @@ -0,0 +1,92 @@ +[#]: subject: "How the Linux Worker file manager can work for you" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-worker" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How the Linux Worker file manager can work for you +====== + +Computers are like filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, I'm taking a look at the Worker file manager for your Linux system. + +The Worker file manager dates back to 1999. That's the previous century, and a good seven years before I'd boot into Linux for the first time. Even so, it's still being updated today, but judiciously. Worker isn't an application where arbitrary changes get made, and using Worker today is a lot like using Worker 20 years ago, only better. + +![Image of the download directory in Worker.][1] + +### Install Worker on Linux + +Worker is written in C++ and uses only the basic X11 libraries for its GUI, plus a few extra libraries for extra functionality. You may be able to find Worker in your software repository. For example, on Debian, Elementary, Linux Mint, and similar: + +``` +$ sudo apt install worker +``` + +Worker is open source, so you can alternately just [download the source code][2] and [compile it yourself][3]. + +### Using Worker + +Worker is a two-panel, tabbed file manager. Most of the Worker window is occupied by these panels, listing the files and directories on your system. The panes function independently of one another, so what's displayed in the left pane has no relationship to what's in the right. That's by design. This isn't a column view of a hierarchy, these are two separate locations within a filesystem, and for that reason, you can easily copy or move a file from one pane to the other (which is, after all, probably half the reason you use a file manager at all.) + +To descend into a directory, double-click. To open a file in the default application defined for your system, double-click. All in all, there are a lot of intuitive and "obvious" interactions in Worker. It may look old-fashioned, but in the end, it's still just a file manager. What you might not be used to, though, is that Worker actions are largely based around the keyboard or on-screen buttons. To copy a file from one pane to the other, you can either press **F5** on your keyboard, or click the **F5 - Copy** button at the bottom of the Worker window. There are two panels, so the destination panel is always the one that isn't active. + +### Actions + +The most common actions are listed as buttons at the bottom of the Worker window. For example: + +- **$HOME** Changes active pane to your home directory +- **F4 - Edit**: Open a file in a text editor +- **F5 - Copy**: Copy active selection to inactive pane +- **F6 - Move**: Move active selection to inactive pane +- **F7 - New directory**: Make new directory in active pane +- **Duplicate**: Copy active selection to active pane + +You don't have to use the buttons, though. As the buttons indicate, there are many keyboard shortcuts defined, and even more capable of being assigned in your Working configuration. These are some of the actions I found myself using most: + +- **Tab**: Change active pane +- **Ctrl+Return**: Edit path of active pane +- **Home** and **End**: Jump to the first or last entry in a file list +- **Left Arrow**: Go to the parent directory +- **Right Arrow**: Go to the selected directory +- **Insert**: Change the selection state of the currently active entry +- **NumLock +**: Select all (like **Ctrl+A**) +- **NumLock -**: Select none +- **Return**: Double click +- **Alt+B**: Show bookmarks +- **Ctrl+Space**: Open contextual menu +- **Ctrl+S**: Filter by filename + +I was ambivalent about Worker until I started using the keyboard shortcuts. While it's nice that you can interact with Worker using a mouse, it's actually most effective as a viewport for the whims of your file management actions. Unlike controlling many graphical file managers with a keyboard, Worker's keyboard shortcuts are specific to very precise actions and fields. And because there are always two panes open, your actions always have a source and a target. + +It doesn't take long to get into the rhythm of Worker. First, you set up the location of the panes by pressing **Tab** to make one active, and **Ctrl+Return** to edit the path. Once you have each pane set, select the file you want to interact with, and press the keyboard shortcut for the action you want to invoke (**Return** to open, **F5** to copy, and so on.) It's a little like a visual version of a terminal. Admittedly, it's slower than a terminal, because it lacks tabbed completion, but if you're in the mood for visual confirmation of how you're moving about your system, Worker is a great option. + +### Buttons + +If you're not a fan of keyboard navigation, then there are plenty of options for using buttons instead. The buttons at the bottom of Worker are "banks" of buttons. Instead of showing all possible buttons, Worker displays just the most common actions. You can set how many buttons you want displayed (by default it's 4 rows, but I set it to 2). To "scroll" to the next bank of buttons, click the clock bar at the very bottom of the window. + +### Configuration + +Click the gear icon in the top left corner of the Worker window to view its configuration options. In the configuration window, you can adjust Worker's color scheme, fonts, mouse button actions, keyboard shortcuts, default applications, default actions for arbitrary file types, and much more. + +### Get to work + +Worker is a powerful file manager, with few dependencies and a streamlined code base. The features I've listed in this article are a fraction of what it's capable of doing. I haven't even mentioned Worker's Git integration, archive options, and interface for executing your own custom commands. What I'm trying to say is that Worker lives up to its name, so try it out and put it to work for you. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-worker + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-10/worker.directory.downloadview.png +[2]: http://www.boomerangsworld.de/cms/worker/download.html +[3]: https://opensource.com/article/21/11/compiling-code From 2e0fe766521e57550cbda7f1559966bee790edae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 00:53:18 +0800 Subject: [PATCH 645/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221206.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Li?= =?UTF-8?q?breOffice=20vs=20FreeOffice=20Comparing=20Popular=20Free=20Offi?= =?UTF-8?q?ce=20Suites.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...FreeOffice Comparing Popular Free Office Suites.md | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 sources/tech/20221206.6 ⭐️⭐️ LibreOffice vs FreeOffice Comparing Popular Free Office Suites.md diff --git a/sources/tech/20221206.6 ⭐️⭐️ LibreOffice vs FreeOffice Comparing Popular Free Office Suites.md b/sources/tech/20221206.6 ⭐️⭐️ LibreOffice vs FreeOffice Comparing Popular Free Office Suites.md new file mode 100644 index 0000000000..fd33812b3e --- /dev/null +++ b/sources/tech/20221206.6 ⭐️⭐️ LibreOffice vs FreeOffice Comparing Popular Free Office Suites.md @@ -0,0 +1,172 @@ +[#]: subject: "LibreOffice vs FreeOffice: Comparing Popular Free Office Suites" +[#]: via: "https://itsfoss.com/libreoffice-vs-freeoffice/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +LibreOffice vs FreeOffice: Comparing Popular Free Office Suites +====== + +LibreOffice is undoubtedly an excellent open-source Microsoft Office alternative. It is backed by a vast open-source community and constantly evolves to keep up with modern office requirements. + +However, other options work well on Linux, so comparing tools should help you decide what you want. + +Here, I focus on comparing SoftMaker’s free offering, “FreeOffice” with LibreOffice, highlighting the differences you can expect when using them. + +### LibreOffice vs. FreeOffice: Background Information + +[LibreOffice][1] is an entirely free and open-source solution by The Document Foundation. It was created as a replacement for OpenOffice and evolved as a much more powerful alternative. + +[FreeOffice][2] is a free edition of [SoftMaker Office][3] with some feature restrictions. If you did not know, SoftMaker Office is a premium office suite available on multiple platforms, including Linux. + +_Note that FreeOffice is **not open-source**._ + +Now that you have a brief idea, let us talk about the distinctions. + +### Installation and Platform Availability + +If it is easy to install and available on multiple platforms, it is a good candidate for users. + +LibreOffice is available for **Linux, Windows, and macOS.** It is also available on mobile platforms such as [Collabora Office][4]. + +![libreoffice software center][5] + +You can easily install it through the software center, Flathub, and Snapcraft. + +FreeOffice is also available on **Linux, Windows, and macOS**. However, you cannot find it in your software center or Flathub/Snapcraft. + +You must head to its [official download page][6] and grab the **.deb/.rpm/.tgz** package to install it. + +![freeoffice linux download][7] + +A little inconvenient but doable. + +**You should not have an issue installing any of them. It is easy and usually hassle-free.** + +### User Experience + +![libreoffice home 2022][8] + +LibreOffice has improved its user experience over the years. It takes a simple and clean approach to make things aesthetically pleasing. + +Sure, it may not be a fancy user interface. But it keeps up with modern standards by a good margin. + +I believe that LibreOffice’s layout can use improvements, providing more clarity to the available tools/icons on the main screen. + +![libreoffice writer 2022][9] + +The screenshots above show how LibreOffice looks on Ubuntu 22.04 LTS. + +Unless you want a user interface similar to/close to Microsoft Office, it should be plenty good. + +SoftMaker’s FreeOffice gets an edge for its **variety of user interface options** and provides a modern user experience comparatively. + +![freeoffice layout][10] + +The user experience makes you feel right at home if you are a Windows-first user. Even if you are not a Windows user, it looks polished and provides a good experience for free. + +![freeoffice textmaker][11] + +### Features + +**LibreOffice gets an advantage here**, considering it provides a variety of programs and features for free. + +You get access to programs like: + +- Math (Scientific formula) +- Writer (Documents) +- Impress (Presentations) +- Draw (Drawings, Flow Charts, etc.) +- Calc (Spreadsheets) +- Base (Database) + +In contrast, FreeOffice suite is limited to: + +- Spreadsheets +- TextMaker +- Presentations + +Additionally, FreeOffice cuts back on features like Spell checking, synonym dictionaries, tabs, macros, and free technical support. You can only avail of these benefits with SoftMaker Office with a premium subscription. + +With LibreOffice, you can get free help from the community of fellow active users. And you get more features out of the box. + +**If you are an enterpris**e, you can opt for LibreOffice [professional support][12] that provides you with priority technical support and certification programs to provide your team with the necessary training to use/manage LibreOffice. + +In contrast, I could not find SoftMaker’s enterprise offering. You can use the same subscription to use it for your business but nothing special to support a range of devices at once. + +### File Format Compatibility + +![file format illustration][13] + +Both FreeOffice and LibreOffice handle Microsoft Office files (DOCS, XLSX, and PPTX) just fine. + +The differences arrive when it comes to the quality of compatibility. FreeOffice handles Microsoft Office files a tad bit better than LibreOffice, considering SoftMaker Office is famous for the same reason. + +Sure, LibreOffice has improved over the years, but some still like FreeOffice’s capability to open Microsoft Office files without much distortion. + +**Regarding the variety of file format extensions supported, FreeOffice falls short, and LibreOffice gets ahead with more file format support and additional programs like Math and Draw to handle them.** + +**Related Read**: [LibreOffice vs. OpenOffice: What’s the Difference?][14] + +### Updates + +![software update illustration][15] + +If you want a hassle-free experience and expect updates to fix any of the issues present with the current version, both provide maintenance software updates to take care of it. + +With SoftMaker’s FreeOffice, you get free service packs to fix bugs and issues. + +However, LibreOffice gets regular (and more frequent) updates comparatively. So, if something’s bothering you with FreeOffice, it may take a while to get it fixed. But LibreOffice should fix it quickly unless it is something big. + +### Licensing + +![license illustration][16] + +LibreOffice uses Mozilla Public License v2.0 as a free and open-source office suite. You can install it for any use case without restrictions on the number of installations/devices. + +FreeOffice is a proprietary solution. You can use it for personal or business use. However, you must register to get a free product key and continue using the product. + +You cannot use it for more than ten days without registering for a free license. Furthermore, with the same license, you can use it on up to 3 computers. + +### LibreOffice vs FreeOffice: What Should You Pick? + +LibreOffice is the ideal choice even if you do not care if it’s open source or not. You don’t have to register just to use it, it gets regular updates and it is present on all the major desktop operating systems. + +FreeOffice can be picked if you have an aversion to LibreOffice (some people don’t like its interface) and you need a slightly better MS Office compatibility with a good user experience. + +It is available free of cost but it is not open source. So that may also be a factor when choosing between FreeOffice and LibreOffice. Also keep in mind that FreeOffice has limited features compared to LibreOffice. You should keep that in mind as well. + +I believe I have given you enough points to + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/libreoffice-vs-freeoffice/ + +作者:[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://www.libreoffice.org +[2]: https://www.freeoffice.com/en/ +[3]: https://itsfoss.com/softmaker-office/ +[4]: https://www.collaboraoffice.com +[5]: https://itsfoss.com/wp-content/uploads/2022/07/libreoffice-software-center.png +[6]: https://www.freeoffice.com/en/download/applications +[7]: https://itsfoss.com/wp-content/uploads/2022/12/freeoffice-linux-download.jpg +[8]: https://itsfoss.com/wp-content/uploads/2022/12/libreoffice-home-2022.png +[9]: https://itsfoss.com/wp-content/uploads/2022/12/libreoffice-writer-2022.png +[10]: https://itsfoss.com/wp-content/uploads/2022/12/freeoffice-layout.png +[11]: https://itsfoss.com/wp-content/uploads/2022/12/freeoffice-textmaker.png +[12]: https://www.documentfoundation.org/professional-support/ +[13]: https://itsfoss.com/wp-content/uploads/2022/07/file-format-illustration.jpg +[14]: https://itsfoss.com/libreoffice-vs-openoffice/ +[15]: https://itsfoss.com/wp-content/uploads/2022/07/software-update-illustration.jpg +[16]: https://itsfoss.com/wp-content/uploads/2022/12/license-illustration.jpg From 081227ac5a6435e784d8287862e50398bbb1f748 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 7 Dec 2022 08:37:10 +0800 Subject: [PATCH 646/925] translated --- ...ally Indent Your Code in Visual Studio Code.md | 95 ------------------ ...ally Indent Your Code in Visual Studio Code.md | 96 +++++++++++++++++++ 2 files changed, 96 insertions(+), 95 deletions(-) delete mode 100644 sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md create mode 100644 translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md diff --git a/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md deleted file mode 100644 index b8df4cc8bc..0000000000 --- a/sources/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "How to Automatically Indent Your Code in Visual Studio Code" -[#]: via: "https://itsfoss.com/auto-indent-vs-code/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Automatically Indent Your Code in Visual Studio Code -====== - -The indent in code refers to the space you have at the beginning of the code line. Like other code editors and IDEs, VS Code allows you to indent your code automatically. - -You can set tabs or spaces or whatever you prefer for the indentation. - -Sounds good? Let’s see how to do it. - -### Enable automatic indent in VS Code - -There are multiple ways you can achieve this. In this guide, I will show you three ways to indent your code in visual studio code automatically. - -#### Method 1: Configuring global user settings - -You can access the global user settings via the command pallet. Use `Ctrl + Shift + P` to open the command pallet and search for `Open User Settings` and hit enter: - -![access user setting from command pallet in vscode][1] - -It will open up the settings. From there, you will have to search for `Auto Indent` and choose **Full** as an indent option in **Editor: Auto Indent**: - -![enable auto indent from global user settings in vscode][2] - -And the automatic indent is enabled and applied to every opened file in VSCode. - -#### Method 2: Using linter or formatter for automatic indent in VS Code - -In this method, you will be required to add extensions such as a code formatter or linter to have the desired results. - -Linters will identify the errors in code, whereas formatters will only format your code to make it more readable. You can search for code formatters in the [VSCode marketplace][3] specific to your programming language. - -And here are some of my favorite code formatters and linters for widely popular languages: - -- [C/C++][4]: For C and C++ programming language. -- [PHP][5]: For PHP. -- [markdownlint][6]: For markdown files. -- [Python][7]: For Python programming language. -- [ESLint][8]: For JSON and javascript. -- [Beautify][9]: For javascript, JSON, CSS, Sass, and HTML. - -Once you are done adding a formatter for your preferred programming language, you can press `Ctrl _ Shift + I` to format the code. - -Similarly, you can use do the same using the command pallet. Press `Ctrl + Shift + P` to and search for **Format document**, and hit enter. - -![indent code in VSCode][10] - -#### Method 3: Enable auto indent while saving the file - -VSCode allows you to format your code while saving it with a little tweak. Let me show you how. - -Press `Ctrl + ,` and it will open the user settings prompt. From there, search for **Format On Save**: - -![enable format on save option][11] - - And from now on, your files will add an indent automatically when you save them. - -### Wrapping Up - -In this guide, I explained how you can add an indent automatically in VSCode. I would recommend using the second method for better flexibility. - -I hope you will find this guide helpful and if you have any queries or suggestions, let me know in the comments. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/auto-indent-vs-code/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2022/11/access-user-setting-from-command-pallet-in-vscode.png -[2]: https://itsfoss.com/wp-content/uploads/2022/11/enable-auto-indent-from-global-user-settings-in-vscode.png -[3]: https://marketplace.visualstudio.com/vscode -[4]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools -[5]: https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode -[6]: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint -[7]: https://marketplace.visualstudio.com/items?itemName=ms-python.python -[8]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint -[9]: https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify -[10]: https://itsfoss.com/wp-content/uploads/2022/11/format-document-.gif -[11]: https://itsfoss.com/wp-content/uploads/2022/11/enable-format-on-save-option.png diff --git a/translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md new file mode 100644 index 0000000000..72c5eb6e8d --- /dev/null +++ b/translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md @@ -0,0 +1,96 @@ +[#]: subject: "How to Automatically Indent Your Code in Visual Studio Code" +[#]: via: "https://itsfoss.com/auto-indent-vs-code/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Visual Studio 代码中自动缩进你的代码 +====== + +代码中的缩进指的是你在代码行的开头处的空格。像其他代码编辑器和 IDE 一样,VS Code 允许你自动缩进你的代码。 + +你可以设置制表符或空格或任何你喜欢的缩进方式。 + +听起来不错吧?让我们来看看怎么做。 + +### 在 VS Code 中启用自动缩进 + +你有多种方法可以实现这个目标。在本指南中,我将向你展示三种在 visual studio 代码中自动缩进代码的方法。 + +#### 方法 1:配置全局用户设置 + +你可以通过命令托盘访问全局用户设置。使用 `Ctrl + Shift + P` 来打开命令托盘,搜索 `Open User Settings` 并点击回车: + +![access user setting from command pallet in vscode][1] + +它将打开设置。在那里,你需要搜索 `Auto Indent`,并在 **Editor: Auto Indent** 中选择 **Full**: + +![enable auto indent from global user settings in vscode][2] + +接着自动缩进会被启用,并应用于 VSCode 中每个打开的文件。 + +#### 方法 2:在 VS Code 中使用 linter 或 formatter 进行自动缩进 + +在这种方法中,你需要添加扩展程序,如 code formatter 或者 linter,以获得理想的结果。 + +Linter 会识别代码中的错误,而 formatter 只对你的代码进行格式化,使其更具可读性。你可以在 [VSCode 市场][3]中搜索特定于你的编程语言的代码格式化器。 + +And here are some of my favorite code formatters and linters for widely popular languages: +这里有一些我最喜欢的广泛流行语言的代码格式化器和 linter: + +- [C/C++][4]:适用于 C 和 C++ 编程语言。 +- [PHP][5]:适用于 PHP。 +- [markdownlint][6]:适用于 markdown 文件。 +- [Python][7]:适用于 Python 编程语言。 +- [ESLint][8]:适用于 JSON 和 javascript。 +- [Beautify][9]: 适用于 javascript、JSON、CSS、Sass 和 HTML。 + +当你完成了为你喜欢的编程语言添加 formatter,你可以按 `Ctrl + Shift + I` 来格式化代码。 + +同样地,你也可以使用命令托盘做同样的事情。按 `Ctrl + Shift + P`,并搜索 **Format document**,然后点击回车。 + +![indent code in VSCode][10] + +#### 方法 3:在保存文件时启用自动缩进功能 + +VSCode 允许你在保存你的代码时,通过一个小小的调整来格式化它。让我告诉你怎么做。 + +按 `Ctrl + ,`,它将打开用户设置提示。在那里,搜索 **Format On Save**。 + +![enable format on save option][11] + +从现在开始,当你保存文件时,你的文件将自动添加缩进。 + +### 总结 + +在本指南中,我解释了如何在 VSCode 中自动添加缩进。我建议使用第二种方法以获得更好的灵活性。 + +我希望你会发现本指南对你有帮助,如果你有任何疑问或建议,请在评论中告诉我。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/auto-indent-vs-code/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/access-user-setting-from-command-pallet-in-vscode.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/enable-auto-indent-from-global-user-settings-in-vscode.png +[3]: https://marketplace.visualstudio.com/vscode +[4]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools +[5]: https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode +[6]: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint +[7]: https://marketplace.visualstudio.com/items?itemName=ms-python.python +[8]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint +[9]: https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify +[10]: https://itsfoss.com/wp-content/uploads/2022/11/format-document-.gif +[11]: https://itsfoss.com/wp-content/uploads/2022/11/enable-format-on-save-option.png From 41b8508d91ae55a9b8861b0a8110c0f591b95ef6 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 7 Dec 2022 08:44:57 +0800 Subject: [PATCH 647/925] translating --- ....3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md index b17a2b4718..bbdbaef307 100644 --- a/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md +++ b/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From e97b777bf25f72d7a34e6bef86d7f7f47948eb6e Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 7 Dec 2022 10:32:15 +0800 Subject: [PATCH 648/925] translated --- ...️ Learn Git 3 commands to level up your skill.md | 132 --------------- ...️ Learn Git 3 commands to level up your skill.md | 155 ++++++++++++++++++ 2 files changed, 155 insertions(+), 132 deletions(-) delete mode 100644 sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md create mode 100644 translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md diff --git a/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md deleted file mode 100644 index fa23d27aa3..0000000000 --- a/sources/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md +++ /dev/null @@ -1,132 +0,0 @@ -[#]: subject: "Learn Git: 3 commands to level up your skill" -[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" -[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Learn Git: 3 commands to level up your skill -====== - -When I talk to people about Git, almost everyone has a strong reaction to [the `git rebase` command][1]. This command has caused many people to change directory, remove the repository, and just re-clone to start over. I think this comes from misconceptions about how branching actually works, a pretty terrible default interface, and some merge conflicts mucking things up. - -### Git squash - -If you've ever made a lot of commits locally and wish there was a way to smash them all down into a single commit, you're in luck. Git calls this concept "squashing commits." I discovered the concept while working on documentation. It took me over a dozen commits to finally get a bit of markdown just right. The repo maintainer didn't want to see all my attempts cluttering up the project's history, so I was told to "just git squash your commits." - -Squashing sounded like a solid plan. There was just one issue. I didn't know how to do it. As someone new to Git, I did what anyone would do. I consulted the manual for `squash` and immediately hit a snag: - -``` -$ man git-squash> No manual entry for git-squash -``` - -It turns out I wasn't being told to run a Git command called `squash`, I was being asked to [run an entirely separate command][2] that would, in the end, combine all my commits into one. This is a common scenario: someone who has been using a tool for a while uses jargon or refers to a concept, which to them is absolutely clear, but isn't obvious to someone new to the tech. - -Conceptually it would look like this: - -![Image of 6 bowls of different colored spices, and an arrow pointing to the second image of all the spices blended into one bowl.][3] - -I'm laying it out this way to encourage you that you are definitely not the first or last person that would be confused by Git or someone talking about Git. It's OK to ask for clarification and for help finding the right documentation. What that docs maintainer actually meant was, "use Git rebase to squash the commits into one." - -### Git rebase - -The git rebase command removes a chain of commits away from its first parent and places it at the end of another chain of commits, combining both chains of commits into one long chain, instead of two parallel chains. I realize that's a dense statement. - -If you think back to how Git commits are chained together, you can see that any branch aside from your initial `main` branch has a parent commit that serves as the "base" of that chain. Rebasing is the act of making the last commit in another chain the new "base" commit for a specified branch. - -You might already be more familiar with Git merge. Take a look at how the [git-scm.com][4] site explains the difference: - -![Image of Git merge versus git rebase shown as numbered bubbles.][5] - -In this example merge, Git preserves the chain of commits shown in the image as C4, which has a parent of C2, when combining the changes in C3 to make a whole new commit, C5. The branch pointer for "experiment" still exists and still points at C4. - -The rebase in this example shows a similar situation of C4 first existing as a separate branch with a parent of C2. But then, instead of merging with the code of C3, it makes C3 the new parent of C4, resulting in a new commit called C4. Notably, the branch pointer "main" has not moved yet. To make Git move the pointer to the end of the chain, currently pointed at by "experiment", you also need to perform a merge. - -Rebase is not a replacement for merge. It's a tool for making cleaner histories to be used in conjunction with merge. - -#### Interactive rebase is your best friend! - -One of the scariest parts of performing a rebase from the command line is the horrifying interface. Running the command `git rebase ` either works or blows up. There's not a lot of feedback or way to ensure it is doing what you precisely want. Fortunately, the rebase command and many other Git commands have an interactive mode, which you can invoke with the parameter `-i' or`–interactive`. - -![Image of the Git lens interactive Rebase tool in VS Code.][6] - -When invoking interactive mode, rebase transforms from a terrifying black box into a menu of options that let you do several things to the chain of commits you are rebasing. For every commit, you can choose to: - -- Pick: Include it as is -- Reword: Rewrite the commit message -- Edit: Make further changes to the files in the commit before the rebase finishes -- Squash: Smash multiple commits into one commit, keeping all commit messages -- Fixup: Smash multiple commits into one commit, but just keep the last commit message -- Drop: Discard this commit - -I personally like the way that the open source [GitLens extension for VS Code][7] lays out the options with dropdown picklists, but Git lets you assign these options using any editor. For text-only tools like Emacs or Vim, you need to type out the selection rather than pick from a menu, but the end result is still the same. - -#### When to rebase - -Knowing _when_ to rebase is as important as knowing _how_ to rebase. In truth, if you don't care about your repos histories being a bit messy, then you might never perform a rebase. But if you do want to make cleaner histories and have fewer commits cluttering up your graph view, then there is one clear rule of thumb to always keep in mind: - -> "Do not rebase commits that exist outside your repository and that people may have based work on." - -If you follow that guideline, you'll be fine. - -Simply put, if you make a local branch to do your work, feel free to rebase it all you want. But as soon as that branch is pushed, do not rebase it. It is really up to you. - -Hopefully you found this helpful in understanding how the git rebase command works and can use it with more confidence. As with any Git command, practice is the only real way to learn and understand what is going on. I encourage you to brave and experiment with interactive rebase! - -### Git cherry-pick - -Most developers have committed work only to realize they have been working on the wrong branch. Ideally, they could just pick up that one commit and move it over to the right branch. That is exactly what `git cherry-pick` does. - -Cherry-picking is the art of rebasing single commits. This was so common of a pattern that they gave it its own command. - -![Image of a woman picking a cherry from one tree and putting on another tree.][8] - -To perform a cherry pick, you simply tell Git the ID of the commit you want to move to "here", where HEAD is pointing: - -``` -$ git cherry-pick -``` - -Should something go wrong, it's straightforward to recover, thanks to the error messages that Git provides: - -``` -$ git cherry-pick -i 2bc01cd -Auto-merging README.md -CONFLICT (content): Merge conflict in README.md -error: could not apply 2bc01cd… added EOF lines -hint: After resolving the conflicts, mark them with -hint: "git add/rm ", then run -hint: "git cherry-pick --continue". -hint: You can instead skip this commit with "git cherry-pick --skip". -hint: To abort and get back to the state before "git cherry-pick", -hint: run "git cherry-pick --abort". -$ git cherry-pick --abort -``` - -### Git more power - -The `git rebase` command is a powerful part of the Git utility. It's probably best to practice using it with a test repo before you have to use it under stress, but once you're familiar with its concepts and workflow, you can help provide a clear history of a repository's development. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/advanced-git-commands - -作者:[Dwayne McDaniel][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/dwaynemcdaniel -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/4/git-rebase-i -[2]: https://opensource.com/article/22/4/manage-git-commits-rebase-i-command -[3]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.spices.png -[4]: http://git-scm.com -[5]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.gitmerger.png -[6]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.GitLens%20Interactive%20Rebase%20tool%20in%20VS%20Code.png -[7]: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens -[8]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.cherrypicking.png diff --git a/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md new file mode 100644 index 0000000000..c7d65c0a8f --- /dev/null +++ b/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md @@ -0,0 +1,155 @@ +[#]: subject: "Learn Git: 3 commands to level up your skill" +[#]: via: "https://opensource.com/article/22/11/advanced-git-commands" +[#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +学习 3 个 Git 命令来提高你的能力 +====== + +当我与别人谈到 Git 时,几乎每个人都对 [`git rebase` 命令][1] 有强烈的印象,这个命令让许多人遇到了问题,而不得不更改目录、删除仓库、然后再重新克隆一个仓库。我认为这是因为他们误解了分支是如何工作,遇到了一个非常糟糕的默认界面,并搞砸了一些合并冲突。 + +### 怎么找不到 `Git squash` 命令? + +如果你曾在本地的仓库提交过很多次,并希望能把这些提交都压缩为 **一个提交** commit ,接下来,我们就来介绍能用什么 Git 命令达到这个目的。Git 称这个概念为 “**压缩提交**” squash commits 。我在处理文档时发现了这个概念:我花了十几个提交才修改好我的文档,但是仓库的维护者不想看到我所有的提交,以免都扰乱了该项目的历史,所以我被告知“需要压缩你的提交”。 + +**压缩提交**听起来是一个很有用的方法。但是只有一个问题:我不知道该怎么做。作为 Git 的新手,我做了任何人会做的事情:我查阅了 `git-squash` 的手册,但我立即遇到了障碍: + +``` +$ man git-squash +> No manual entry for git-squash +``` + +我发现没有一个名为 `squash` 的 Git 命令,而是被要求 [运行一个完全独立的命令:`git-rebase` 命令][2],该命令能将我的所有提交最终合并为一个提交。 + +我知道我碰到一个常见的情形:已经使用工具一段时间的人使用了**行话**或引用了一个概念,这个概念对他们来说是非常清楚的,但对新手来说就不能明白了。从概念上讲,这个情况看起来是这样的: + +![Image of 6 bowls of different colored spices, and an arrow pointing to the second image of all the spices blended into one bowl.][3] + +我这样说是为了鼓励你,你绝对不是第一个或最后一个 _被 Git 或谈论 Git 的人_ 弄糊涂的人。你可以要求对方说明白他的意见,并帮助你应该使用的正确命令。仓库的维护者实际上的意思是,“使用 **`Git rebase` 命令**,将很多提交压缩成一个提交”。 + +### 现在就来学习 `Git rebase` 命令吧 + +`git rebase` 命令会从其第一个父级中删除一个提交链,并将其放置在另一个提交链的末尾,将两个提交链组合成一个长链,而不是两个并行链。我意识到这是一个很复杂的定义。 + +回想一下 Git 提交是如何链接在一起的,你可以看到,除了初始的 `main` 分支外,任何分支都有一个 父提交 parent commit 作为该链的 “基础” base **变基** rebase 能使另一个链中的最后一个提交成为指定分支的新 “基础”提交 base commit 。 + +在 Git 中整合来自不同分支的修改主要有两种方法:**merge** 以及 **rebase**,你可能更熟悉 `Git merge` 命令。接下来,就来看看 [git-scm.com] 是如何解释 `Git merge` 和 `Git rebase` 的差异: + +![Image of Git merge versus git rebase shown as numbered bubbles.][5] + +在 **merge** 示例中,它会把两个分支的最新快照(C3 和 C4)以及二者最近的共同祖先(C2)进行三方合并,合并的结果是生成一个新的快照(C5)。“experiment”的分支指针仍然存在,仍然指向 C4。 + +在 **rebase** 示例中,它提取在 C4 中引入的补丁和修改,然后在 C3 的基础上应用一次,使 C3 成为 C4 的新父级,并产生了一个名为 C4' 的新提交。 + +(LCTT 译注:具体的命令如下: +``` +$ git checkout experiment +$ git rebase main +First, rewinding head to replay your work on top of it... +Applying: added staged command +``` +它的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 main)的最近共同祖先 C2,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底 C3, 最后以此将之前另存为临时文件的修改依序应用。) + +值得注意的是,分支指针“main”没有移动。要让 Git 将指针移动到链的末尾(由“experiment”指向),你还需要执行合并。 + +(LCTT 译注:具体的命令如下: +``` +$ git checkout main +$ git merge experiment +``` +![master 分支的快进合并](https://www.progit.cn/images/basic-rebase-4.png) + +此时,C4' 指向的快照就和上面使用 merge 命令的例子中 C5 指向的快照一模一样了。) + +`Git rebase` 并不能替代 `Git merge`。`Git rebase` 是一种用于制作更清晰的历史记录,以与 `Git merge` 结合使用的工具。 + +(LCTT 译注:使用 `Git rebase` 命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。) + +#### 交互式重基 Interactive rebase 能给你一个更友好的界面! + +从命令行执行 `Git rebase` 命令,最可怕的地方在于它**糟糕的默认界面**。运行命令 `git rebase ` 要么有效,要么会变得一团糟,因为它没有太多的反馈或方法来确保它做你想做的事情。幸运的是,`Git rebase` 命令和许多其他 Git 命令一样,具有 **交互模式** interactive mode ,你可以使用参数 `-i` 或者 `-interactive` 来使用交互模式。 + +![Image of the Git lens interactive Rebase tool in VS Code.][6] + +在使用交互式模式时,`Git rebase` 会从一个糟糕的黑框界面转换为一个**选项菜单**,允许你选择对正在重基的提交链所做的事。对于每个提交,你可以**选择**: + +- Pick:按原样包含 +- Reword:重写提交消息 +- Edit:在重基完成之前对提交中的文件进行进一步更改 +- Squash:将多个提交压缩成一个提交,保留所有提交消息 +- Fixup:将多个提交压缩成一个提交,但只保留最后一个提交消息 +- Drop:丢弃此提交 + +就我个人而言,我更喜欢 [VS Code 的开源 GitLens 扩展][7] 使用下拉选择列表布局选项的方式,但 Git 允许你使用任何编辑器选择这些选项。对于 Emacs 或 Vim 等纯文本工具,你需要键入选择,而不是从菜单中选择,但最终结果仍然是相同的。 + +#### 何时做 `Git rebase` + +知道 _何时_ 做重基与知道 _如何_ 做重基同样重要。事实上,如果你不在乎你的仓库历史提交消息有点混乱的话,那么你可以永远都不使用 `Git rebase` 命令。但是,如果你想要更干净的历史提交消息,并且想要更少扰乱你的图形视图的提交,那么当你使用 `Git rebase` 命令时,有一个重要的**经验法则**需要时刻记住: + +> “不要重基你存储库以外的以及人们可能要用的提交。” Do not rebase commits that exist outside your repository and that people may have based work on. + +如果你遵循该准则,不会发生什么大问题的。 + +简而言之,如果你让一个**本地分支**来完成你的工作,重基是没有问题的。但一旦该分支被 推送 push 了,就不要再重基该分支了。当然,你想要怎么做完全取决于你自己。 + +希望你会认为上述内容有助于你理解 `Git rebase` 命令的工作原理,并能让你更有信心地使用它。与任何 Git 命令一样,**练习**是学习和理解怎么做的唯一方法。我鼓励你勇敢地尝试 交互式重基 interactive rebase `git rebase -i `! + +### 接下来学习 `Git cherry-pick` 命令吧 + +大多数开发人员将修改提交到某一分支上,但是之后发现他们一直**提交到了错误的分支上**。理想情况下,他们可以拿起那个提交,然后把它移到正确的分支,这正是 `git cherry-pick` 命令的作用。 + +`git cherry-pick` 命令利用了重基单个提交的方法。这一用法非常常见,以至于有了它自己的命令。 + +![Image of a woman picking a cherry from one tree and putting on another tree.][8] + +要使用 `git cherry-pick`,你只需告诉 Git 你要移动到“那个分支”的提交 ID(由 HEAD 指向): + +``` +$ git cherry-pick +``` + +如果出现问题,你可以根据 Git 提供的错误消息,来进行恢复: + +``` +$ git cherry-pick -i 2bc01cd +Auto-merging README.md +CONFLICT (content): Merge conflict in README.md +error: could not apply 2bc01cd… added EOF lines +hint: After resolving the conflicts, mark them with +hint: "git add/rm ", then run +hint: "git cherry-pick --continue". +hint: You can instead skip this commit with "git cherry-pick --skip". +hint: To abort and get back to the state before "git cherry-pick", +hint: run "git cherry-pick --abort". +$ git cherry-pick --abort +``` + +### Git more power + +`git rebase` 命令是 Git 实用程序强大的地方之一。你最好在测试仓库中先练习一下怎么使用,一旦你熟悉了它的概念和工作流程,你就可以给仓库一个清晰历史消息记录了。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/advanced-git-commands + +作者:[Dwayne McDaniel][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/dwaynemcdaniel +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/4/git-rebase-i +[2]: https://opensource.com/article/22/4/manage-git-commits-rebase-i-command +[3]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.spices.png +[4]: http://git-scm.com +[5]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.gitmerger.png +[6]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.GitLens%20Interactive%20Rebase%20tool%20in%20VS%20Code.png +[7]: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens +[8]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.cherrypicking.png From 7b9df658667923a6941956a67808e7147bc84db5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 7 Dec 2022 13:39:13 +0800 Subject: [PATCH 649/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @chai001125 翻译的很好,很用心! --- ...️ Learn Git 3 commands to level up your skill.md | 87 ++++++++++--------- 1 file changed, 48 insertions(+), 39 deletions(-) diff --git a/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md index c7d65c0a8f..94dbb6f291 100644 --- a/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md +++ b/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md @@ -3,110 +3,118 @@ [#]: author: "Dwayne McDaniel https://opensource.com/users/dwaynemcdaniel" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -学习 3 个 Git 命令来提高你的能力 +掌握强大的 Git 变基命令 ====== -当我与别人谈到 Git 时,几乎每个人都对 [`git rebase` 命令][1] 有强烈的印象,这个命令让许多人遇到了问题,而不得不更改目录、删除仓库、然后再重新克隆一个仓库。我认为这是因为他们误解了分支是如何工作,遇到了一个非常糟糕的默认界面,并搞砸了一些合并冲突。 +![][0] -### 怎么找不到 `Git squash` 命令? +> 学习如何使用 Git 来压扁、变基和精选。 -如果你曾在本地的仓库提交过很多次,并希望能把这些提交都压缩为 **一个提交** commit ,接下来,我们就来介绍能用什么 Git 命令达到这个目的。Git 称这个概念为 “**压缩提交**” squash commits 。我在处理文档时发现了这个概念:我花了十几个提交才修改好我的文档,但是仓库的维护者不想看到我所有的提交,以免都扰乱了该项目的历史,所以我被告知“需要压缩你的提交”。 +当我与别人谈到 Git 时,几乎每个人都对 [git rebase 命令][1] 有强烈的印象,这个命令让许多人遇到了问题,而不得不更改目录、删除仓库、然后再重新克隆一个仓库。我认为这是因为他们误解了分支是如何工作,遇到了一个非常糟糕的默认界面,还有一些合并冲突把事情搞得一团糟。 -**压缩提交**听起来是一个很有用的方法。但是只有一个问题:我不知道该怎么做。作为 Git 的新手,我做了任何人会做的事情:我查阅了 `git-squash` 的手册,但我立即遇到了障碍: +### 怎么找不到 git squash 命令? + +如果你曾在本地的仓库提交过很多次,并希望能把这些提交都合并为一个提交,接下来,我们就来介绍能用什么 Git 命令达到这个目的。Git 称这个概念为 “压扁提交 squash commits ”。我在编写文档时发现了这个概念:我花了十几个提交才修改好我的 Markdown 文档,但是仓库的维护者不想看到我的所有尝试,以免扰乱了该项目的历史,所以我被告知“需要压扁你的提交”。 + +**压扁提交**听起来是一个很有用的方法。但是只有一个问题:我不知道该怎么做。作为 Git 的新手,我做了任何人会做的事情:我去查阅 `git-squash` 的手册,但我立即遇到了阻碍: ``` $ man git-squash > No manual entry for git-squash ``` -我发现没有一个名为 `squash` 的 Git 命令,而是被要求 [运行一个完全独立的命令:`git-rebase` 命令][2],该命令能将我的所有提交最终合并为一个提交。 +我发现没有一个名为 `squash` 的 Git 命令,而是被要求 [运行一个完全独立的命令:git rebase 命令][2],该命令能将我的所有提交最终合并为一个提交。 我知道我碰到一个常见的情形:已经使用工具一段时间的人使用了**行话**或引用了一个概念,这个概念对他们来说是非常清楚的,但对新手来说就不能明白了。从概念上讲,这个情况看起来是这样的: ![Image of 6 bowls of different colored spices, and an arrow pointing to the second image of all the spices blended into one bowl.][3] -我这样说是为了鼓励你,你绝对不是第一个或最后一个 _被 Git 或谈论 Git 的人_ 弄糊涂的人。你可以要求对方说明白他的意见,并帮助你应该使用的正确命令。仓库的维护者实际上的意思是,“使用 **`Git rebase` 命令**,将很多提交压缩成一个提交”。 +我这样说是为了鼓励你,你绝对不是第一个或最后一个 _被 Git 或谈论 Git 的人_ 弄糊涂的人。你可以要求对方说明白他的意见,并帮助你应该使用的正确命令。仓库的维护者实际上的意思是,“使用 `git rebase` 命令**,将很多提交压扁成一个提交”。 -### 现在就来学习 `Git rebase` 命令吧 +### 现在就来学习 git rebase 命令吧 -`git rebase` 命令会从其第一个父级中删除一个提交链,并将其放置在另一个提交链的末尾,将两个提交链组合成一个长链,而不是两个并行链。我意识到这是一个很复杂的定义。 +`git rebase` 命令会将一个提交链从其第一个父级中删除,并将其放置在另一个提交链的末尾,将两个提交链组合成一个长链,而不是两个并行链。我意识到这是一个很复杂的定义。 -回想一下 Git 提交是如何链接在一起的,你可以看到,除了初始的 `main` 分支外,任何分支都有一个 父提交 parent commit 作为该链的 “基础” base **变基** rebase 能使另一个链中的最后一个提交成为指定分支的新 “基础”提交 base commit 。 +回想一下 Git 的提交是如何链接在一起的,你可以看到,除了初始的 `main`(或 `master`)分支外,任何分支都有一个 父提交 parent commit 作为该链的 “基础 base ”。“变基 rebase ” 能使另一个链中的最后一个提交成为指定分支的新 “基础提交 base commit ”。 -在 Git 中整合来自不同分支的修改主要有两种方法:**merge** 以及 **rebase**,你可能更熟悉 `Git merge` 命令。接下来,就来看看 [git-scm.com] 是如何解释 `Git merge` 和 `Git rebase` 的差异: +在 Git 中整合来自不同分支的修改主要有两种方法:合并merge 以及 变基rebase,你可能更熟悉 `git merge` 命令。接下来,就来看看 [git-scm.com] 是如何解释 `git merge` 和 `git rebase` 的差异: ![Image of Git merge versus git rebase shown as numbered bubbles.][5] -在 **merge** 示例中,它会把两个分支的最新快照(C3 和 C4)以及二者最近的共同祖先(C2)进行三方合并,合并的结果是生成一个新的快照(C5)。“experiment”的分支指针仍然存在,仍然指向 C4。 +在合并示例中,它会把两个分支的最新快照(`C3` 和 `C4`)以及二者最近的共同祖先(`C2`)进行三方合并,合并的结果是生成一个新的快照(`C5`)。`experiment` 的分支指针仍然存在,仍然指向 `C4`。 -在 **rebase** 示例中,它提取在 C4 中引入的补丁和修改,然后在 C3 的基础上应用一次,使 C3 成为 C4 的新父级,并产生了一个名为 C4' 的新提交。 +在变基示例中,它提取在 `C4` 中引入的补丁和修改,然后在 `C3` 的基础上应用一次,使 `C3` 成为 `C4` 的新父级,并产生了一个名为 `C4'` 的新提交。 (LCTT 译注:具体的命令如下: + ``` $ git checkout experiment $ git rebase main First, rewinding head to replay your work on top of it... Applying: added staged command ``` -它的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 main)的最近共同祖先 C2,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底 C3, 最后以此将之前另存为临时文件的修改依序应用。) -值得注意的是,分支指针“main”没有移动。要让 Git 将指针移动到链的末尾(由“experiment”指向),你还需要执行合并。 +它的原理是首先找到这两个分支 —— 即当前分支 `experiment`、变基操作的目标基底分支 `main` —— 的最近共同祖先 `C2`,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底 `C3`,最后以此将之前另存为临时文件的修改依序应用。) + +值得注意的是,分支指针 `main` 没有移动。要让 Git 将指针移动到链的末尾(由`experiment` 指向),你还需要执行合并。 (LCTT 译注:具体的命令如下: + ``` $ git checkout main $ git merge experiment ``` + ![master 分支的快进合并](https://www.progit.cn/images/basic-rebase-4.png) -此时,C4' 指向的快照就和上面使用 merge 命令的例子中 C5 指向的快照一模一样了。) +此时,`C4'` 指向的快照就和上面使用 `merge` 命令的例子中 `C5` 指向的快照一模一样了。) -`Git rebase` 并不能替代 `Git merge`。`Git rebase` 是一种用于制作更清晰的历史记录,以与 `Git merge` 结合使用的工具。 +`git rebase` 并不能替代 `git merge`。`git rebase` 是一种用于制作更清晰的历史记录,以与 `git merge` 结合使用的工具。 -(LCTT 译注:使用 `Git rebase` 命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。) +(LCTT 译注:使用 `git rebase` 命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。) -#### 交互式重基 Interactive rebase 能给你一个更友好的界面! +#### 交互式变基能给你一个更友好的界面! -从命令行执行 `Git rebase` 命令,最可怕的地方在于它**糟糕的默认界面**。运行命令 `git rebase ` 要么有效,要么会变得一团糟,因为它没有太多的反馈或方法来确保它做你想做的事情。幸运的是,`Git rebase` 命令和许多其他 Git 命令一样,具有 **交互模式** interactive mode ,你可以使用参数 `-i` 或者 `-interactive` 来使用交互模式。 +从命令行执行 `git rebase` 命令,最可怕的地方在于它**糟糕的默认界面**。运行命令 `git rebase ` 要么有效,要么会变得一团糟,因为它没有太多的反馈或方法来确保它做你想做的事情。幸运的是,`git rebase` 命令和许多其他 Git 命令一样,具有 交互模式 interactive mode ,你可以使用参数 `-i` 或者 `-interactive` 来使用交互模式。 ![Image of the Git lens interactive Rebase tool in VS Code.][6] -在使用交互式模式时,`Git rebase` 会从一个糟糕的黑框界面转换为一个**选项菜单**,允许你选择对正在重基的提交链所做的事。对于每个提交,你可以**选择**: +在使用交互式模式时,`git rebase` 会从一个糟糕的黑框界面转换为一个**选项菜单**,允许你选择对正在变基的提交链所做的事。对于每个提交,你可以**选择**: -- Pick:按原样包含 -- Reword:重写提交消息 -- Edit:在重基完成之前对提交中的文件进行进一步更改 -- Squash:将多个提交压缩成一个提交,保留所有提交消息 -- Fixup:将多个提交压缩成一个提交,但只保留最后一个提交消息 -- Drop:丢弃此提交 +- 选用pick:按原样包含 +- 重写reword:重写提交消息 +- 编写edit:在变基完成之前对提交中的文件进行进一步更改 +- 压扁squash:将多个提交压缩成一个提交,保留所有提交消息 +- 修理fixup:将多个提交压缩成一个提交,但只保留最后一个提交消息 +- 丢弃drop:丢弃此提交 就我个人而言,我更喜欢 [VS Code 的开源 GitLens 扩展][7] 使用下拉选择列表布局选项的方式,但 Git 允许你使用任何编辑器选择这些选项。对于 Emacs 或 Vim 等纯文本工具,你需要键入选择,而不是从菜单中选择,但最终结果仍然是相同的。 -#### 何时做 `Git rebase` +#### 何时做变基 -知道 _何时_ 做重基与知道 _如何_ 做重基同样重要。事实上,如果你不在乎你的仓库历史提交消息有点混乱的话,那么你可以永远都不使用 `Git rebase` 命令。但是,如果你想要更干净的历史提交消息,并且想要更少扰乱你的图形视图的提交,那么当你使用 `Git rebase` 命令时,有一个重要的**经验法则**需要时刻记住: +知道 _何时_ 做变基与知道 _如何_ 做变基同样重要。事实上,如果你不在乎你的仓库历史提交消息有点混乱的话,那么你可以永远都不使用 `git rebase` 命令。但是,如果你想要更干净的历史提交消息,并且想要更少扰乱你的图形视图的提交,那么当你使用 `git rebase` 命令时,有一个重要的**经验法则**需要时刻记住: -> “不要重基你存储库以外的以及人们可能要用的提交。” Do not rebase commits that exist outside your repository and that people may have based work on. +> “不要变基你存储库以外的的提交,那些提交可能是别人工作的基础。” 如果你遵循该准则,不会发生什么大问题的。 -简而言之,如果你让一个**本地分支**来完成你的工作,重基是没有问题的。但一旦该分支被 推送 push 了,就不要再重基该分支了。当然,你想要怎么做完全取决于你自己。 +简而言之,如果你让一个**本地分支**来完成你的工作,变基是没有问题的。但一旦该分支被 推送 push 了,就不要再变基该分支了。当然,你想要怎么做完全取决于你自己。 -希望你会认为上述内容有助于你理解 `Git rebase` 命令的工作原理,并能让你更有信心地使用它。与任何 Git 命令一样,**练习**是学习和理解怎么做的唯一方法。我鼓励你勇敢地尝试 交互式重基 interactive rebase `git rebase -i `! +希望你会认为上述内容有助于你理解 `git rebase` 命令的工作原理,并能让你更有信心地使用它。与任何 Git 命令一样,**练习**是学习和理解怎么做的唯一方法。我鼓励你勇敢地尝试 交互式变基 interactive rebase `git rebase -i `! -### 接下来学习 `Git cherry-pick` 命令吧 +### 接下来学习 Git cherry-pick 命令吧 -大多数开发人员将修改提交到某一分支上,但是之后发现他们一直**提交到了错误的分支上**。理想情况下,他们可以拿起那个提交,然后把它移到正确的分支,这正是 `git cherry-pick` 命令的作用。 +大多数开发人员将修改提交到某一分支上,但是之后发现他们一直**提交到了错误的分支上**。理想情况下,他们可以拿走那个提交,然后把它移到正确的分支,这正是 `git cherry-pick` 命令的作用。 -`git cherry-pick` 命令利用了重基单个提交的方法。这一用法非常常见,以至于有了它自己的命令。 +`git cherry-pick` 命令利用了变基单个提交的方法。这一用法非常常见,以至于有了它自己的命令。 ![Image of a woman picking a cherry from one tree and putting on another tree.][8] -要使用 `git cherry-pick`,你只需告诉 Git 你要移动到“那个分支”的提交 ID(由 HEAD 指向): +要使用 `git cherry-pick`,你只需告诉 Git 你要移动到“那个分支”的提交 ID(由 `HEAD` 指向): ``` $ git cherry-pick @@ -128,7 +136,7 @@ hint: run "git cherry-pick --abort". $ git cherry-pick --abort ``` -### Git more power +### 让 Git 更强大 `git rebase` 命令是 Git 实用程序强大的地方之一。你最好在测试仓库中先练习一下怎么使用,一旦你熟悉了它的概念和工作流程,你就可以给仓库一个清晰历史消息记录了。 @@ -139,7 +147,7 @@ via: https://opensource.com/article/22/11/advanced-git-commands 作者:[Dwayne McDaniel][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -153,3 +161,4 @@ via: https://opensource.com/article/22/11/advanced-git-commands [6]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.GitLens%20Interactive%20Rebase%20tool%20in%20VS%20Code.png [7]: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens [8]: https://opensource.com/sites/default/files/2022-11/gitbeyond2.cherrypicking.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/07/133637yq2526zsp7f1t7a2.jpg \ No newline at end of file From 3fa78169fd99ed06f27bd22abead8b48d2b44a66 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 7 Dec 2022 13:39:37 +0800 Subject: [PATCH 650/925] P @chai001125 https://linux.cn/article-15324-1.html --- ...1121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md (99%) diff --git a/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/published/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md similarity index 99% rename from translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md rename to published/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md index 94dbb6f291..db24a51375 100644 --- a/translated/tech/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md +++ b/published/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "chai001125" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15324-1.html" 掌握强大的 Git 变基命令 ====== From 104225334ff8bce30ba7c6d1b47fa5eaef8f19d3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 7 Dec 2022 14:21:31 +0800 Subject: [PATCH 651/925] ALL @wxy https://linux.cn/article-15325-1.html --- ...12 is out with GNOME 43, Kernel 6.0, + More.md | 81 +++++++++++++++++++ ...12 is out with GNOME 43, Kernel 6.0, + More.md | 81 ------------------- 2 files changed, 81 insertions(+), 81 deletions(-) create mode 100644 published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md delete mode 100644 sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md diff --git a/published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md b/published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md new file mode 100644 index 0000000000..b64c75b7c0 --- /dev/null +++ b/published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md @@ -0,0 +1,81 @@ +[#]: subject: "Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More" +[#]: via: "https://debugpointnews.com/gnoppix-22-12-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15325-1.html" + +Gnoppix Linux 22.12 发布 +====== + +![][1] + +> 基于 Kali Linux 的 Linux 滚动发行版 Gnoppix 22.12 带来了 GNOME 43、Linux 内核 6.0 和新的升级。 + +![Gnoppix 22.12桌面][2] + +作为传统的现场 CD 发行版 Knoppix 项目的继承者,[Gnoppix Linux][3] 是专门为渗透测试和反向工程而设计的。它为网页应用安全和数字权利保护进行了优化。除了对安全的关注,Gnoppix 也可以作为一个普通的桌面操作系统使用。它是一个滚动的版本,经常收到更新和新功能。 + +在其核心部分,它基于 Kali Linux,并采用了 Debian-rolling 的某些部分。与 Kali Linux 的 Xfce 相比,它采用的是 GNOME 桌面。 + +### Gnoppix Linux 22.12 的最新变化 + +目前的主要版本是 Gnoppix 22,它是一个持续的小版本发布,最近其团队发布了 Gnoppix 22.12,有以下更新。 + +首先,内核版本被提升到了 Linux 内核 6.0 ,采用了最新的 [GNOME 43.2 桌面][4]。如果你想把这个发行版作为桌面使用,那么默认的应用程序列表会给你带来一些好消息。 + +Gnoppix 22.12 增加了 GIMP 图像编辑器、Deluge & Transmission、Clapper 音乐播放器和 GNOME 固件更新器。 + +此外,所有的 GNOME 原生软件包都被升级到了 43.2 版本,同时团队开始着手开发 44 版本,该版本将于 2023 年 2 月发布。 + +![GNOME 43.2 工作区视图][5] + +其他关键组件和应用程序包括以下内容: + +- LibreOffice 7.4.2.3 +- Linux 主线内核 6.0.7 +- OpenJDK 11 +- pipewire 0.3.60 +- Firefox ESR 102 +- Python 3.10 + +Gnoppix Linux 还默认增加了几个微软的应用程序。在这个版本中,你可以得到微软 Edge 浏览器 107 和用于会议和通信的微软 Teams 预览版。 + +在完整的变更日志中有一个巨大的软件包更新列表,你可以在 [这里][6] 中找到。 + +### 下载 + +如果你想尝试一下,你可以使用以下链接下载它。 + +> **[下载 Gnoppix 22.12][7]** + +请记住,它是在现场介质中使用的理想选择。然而,你可以很容易地在你的硬件上安装它,并作为 Debian-GNOME-rolling 版本运行。另外,请注意,它需要至少 50GB 的磁盘空间来安装!这是其 Calamares 安装程序的一个硬性要求。 + +此外,Kali Linux 的软件仓库已经被添加到 `/etc/apt/sources.list` 中,来自 Debian-rolling 的软件包基本稳定,所以,它应该是很稳定的。 + +干杯。 + +参考自 [发布公告][6]。 + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/gnoppix-22-12-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/gnoppix-head1.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Gnoppix-22.12-desktop.jpg +[3]: https://www.gnoppix.com/ +[4]: https://debugpointnews.com/gnome-43-release/ +[5]: https://debugpointnews.com/wp-content/uploads/2022/12/GNOME-43.2-workspace-view.jpg +[6]: https://sourceforge.net/p/gnoppixng/releases/general/thread/bc187de53a/#f258 +[7]: https://sourceforge.net/projects/gnoppixng/files/releases/ diff --git a/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md b/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md deleted file mode 100644 index 9096b0dbf3..0000000000 --- a/sources/news/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md +++ /dev/null @@ -1,81 +0,0 @@ -[#]: subject: "Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More" -[#]: via: "https://debugpointnews.com/gnoppix-22-12-release/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More -====== - -![][1] - -**Kali-linux-based rolling Linux distro Gnoppix 22.12 brings GNOME 43, Linux Kernel 6.0 and new upgrades.** - -![Gnoppix 22.12 desktop][2] - -The successor of the legacy live-cd Knoppix project, [Gnoppix][3] Linux is designed specifically for use in penetration testing and reverse engineering. It is optimized for web application security and for protecting digital rights. In addition to its focus on security, Gnoppix can also be used as a regular desktop operating system. It is a rolling release that receives frequent updates and new features. - -At its core, it is based on Kali Linux and Debian-rolling for some parts. And brings a GNOME desktop in contrast with Xfce for Kali Linux. - -### Gnoppix Linux 22.12: What’s New - -The current major release is Gnoppix 22, which is an ongoing point release, and recently its team released Gnoppix 22.12 with the following updates. - -Firstly the Kernel version is bumped up to Linux Kernel 6.0 and the latest [GNOME 43.2 desktop][4]. If you want to use this distro as a desktop, then some good news for you on the default application list. - -Gnoppix 22.12 added the GIMP image editor, Deluge & Transmission, clapper music player and gnome-firmware updater. - -Furthermore, all the native GNOME packages are bumped up to the 43.2 version while the team started working on 44, which is due on February 2023. - -![GNOME 43.2 workspace view][5] - -Other key components and apps include the following: - -- LibreOffice 7.4.2.3 -- Linux mainline Kernel 6.0.7 -- OpenJDK 11 -- pipewire 0.3.60 -- Firefox ESR 102 -- Python 3.10 - -Gnoppix Linux also adds a couple of Microsoft apps by default. In this release, you get the Microsoft Edge Browser 107 and the Microsoft Teams preview edition for meetings and communications. - -You have a complete change log with a huge list of package updates you can find in the [changelog][6]. - -### Download - -If you want to try it, you can download it using the following link. - -[Download Gnoppix 22.12][7] - -Remember, it is ideal to be used in live media. However, you can easily install it on your hardware and run it as a Debian-GNOME-rolling release. Also, please note that it needs a minimum of 50GB of disk space for installation! That’s a hard requirement of its Calamares installer. - -Furthermore, the Kali Linux’s repo has already been added to the /etc/apt/sources.list – hence you can be sure of almost stable packages from Debian-rolling. So, it should be well stable. - -Cheers. - -Via [annoucement][6]. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/gnoppix-22-12-release/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/gnoppix-head1.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Gnoppix-22.12-desktop.jpg -[3]: https://www.gnoppix.com/ -[4]: https://debugpointnews.com/gnome-43-release/ -[5]: https://debugpointnews.com/wp-content/uploads/2022/12/GNOME-43.2-workspace-view.jpg -[6]: https://sourceforge.net/p/gnoppixng/releases/general/thread/bc187de53a/#f258 -[7]: https://sourceforge.net/projects/gnoppixng/files/releases/ From 9f43f60e840121645d78347714880e69f6d81d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Wed, 7 Dec 2022 15:49:54 +0800 Subject: [PATCH 652/925] Translated --- ...to Change Login Screen Background in Ubuntu.md | 107 ------------------ ...to Change Login Screen Background in Ubuntu.md | 107 ++++++++++++++++++ 2 files changed, 107 insertions(+), 107 deletions(-) delete mode 100644 sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md create mode 100644 translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md diff --git a/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md deleted file mode 100644 index 778b9f7ada..0000000000 --- a/sources/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md +++ /dev/null @@ -1,107 +0,0 @@ -[#]: subject: "How to Change Login Screen Background in Ubuntu" -[#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Change Login Screen Background in Ubuntu -====== - -**This is how you can get rid of that boring login screen background in Ubuntu and set a nice picture to welcome you each time you log on.** - -I, always think that when you boot up your system, a nice login screen should greet you. That itself set the context of your upcoming work or activity that you are about to do. Although, I am not a Windows fan, but I admire how Windows 10 login background changes every day from Bing wallpapers, and it looks nice. Isn’t it? - -A while back, we covered how to [change login background in Fedora][1] and [elementary OS][2]. And now this guide explains how you change it in vanilla Ubuntu with GNOME Shell. - -Login screen background is part of display manager property. This guide uses a script in GitHub created by a user to make it seamless and easy for average user. Otherwise, you have to change the Gnome Display Manager (gdm) CSS files manually after extracting the `.gresource` file, then compile it – which is complicated in general. - -![Ubuntu Login screen - before change][3] - -Ubuntu Login screen – before change - -### Change Login Background in Ubuntu - -- Open a terminal (press CTRL+ALT+T) - -- Download the [GitHub repo][4] using the below command. - -``` -wget github.com/thiggy01/change-gdm-background/raw/master/change-gdm-background -``` - -**Note**: If you do not have wget, install it using `sudo apt install wget` - -**Ubuntu 22.04 Jammy Jellyfish** users require an additional code change to make it work because the developer did not fix it in GitHub. So here’s what you need to do. - -Open the `change-gdm-background` file via gedit. Then, go to the following line (#15) and add `|jammy`. - -![script change to allow jammy][5] - -script change to allow jammy - -Then, go to the following two lines (#144 and #184). Change `gdm3.css` to `gdm.css`. As shown below. - -![correct the css file for gdm][6] - -correct the css file for gdm - -And finally, save the file and follow the instructions as below. This workaround is only for Ubuntu 22.04 login screen change. - -- Change the permission of the script to make it executable - -``` -chmod +x change-gdm-background -``` - -- Then change the login background wallpaper in Ubuntu using the below command. Change the path of your image. - -``` -sudo ./change-gdm-background ~/Pictures/tree.jpg -``` - -This step might require `libglib2.0-dev` package, which will be installed automatically. This is required to extract/compile the `.gresource`. - -And after installation, it would prompt you to restart gdm. Press N, to be on the safe side. - -- Log out and you can see the changed background in Ubuntu. -- If you are not seeing the change, try restarting your system and then try to log in. - -![Ubuntu Login screen After Change][7] - -Ubuntu Login screen with background After Change - -### Restore the stock login screen - -The script also provides a feature to revert the stock login screen. It takes a backup of your `.gresource` file before changing it. So, from the terminal, simply run below to restore the original login screen. - -``` -sudo ./change-gdm-background --restore -``` - -That should change the login screen back to its original form. - -Let me know whether it worked for you using the comment box below. This should work for all the latest versions of Ubuntu Linux. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/change-login-background-ubuntu/ - -作者:[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/2021/09/change-login-background-fedora/ -[2]: https://www.debugpoint.com/2021/07/change-lock-login-screen-background-elementary-os/ -[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-before-change-1024x539.jpg -[4]: https://github.com/thiggy01/change-gdm-background -[5]: https://www.debugpoint.com/wp-content/uploads/2022/09/script-change-to-allow-jammy.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/09/correct-the-css-file-for-gdm.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-After-Change-1024x538.jpg diff --git a/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md new file mode 100644 index 0000000000..844e2e9396 --- /dev/null +++ b/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md @@ -0,0 +1,107 @@ +[#]: subject: "How to Change Login Screen Background in Ubuntu" +[#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何更改 Ubuntu 的登录屏幕背景 +====== + +**这是让你如何摆脱 Ubuntu 的无趣的登录背景屏幕,并在你每次登录时设置一张极好的图片来欢迎你的指南。** + +我总是认为,在你启动你的系统后,一个极好的登录屏幕来欢迎你,是一件美妙的事。这本身就为你即将开始的工作或活动渲染了愉快的氛围。尽管,我不是一名 Windows 的粉丝,但是我很欣赏 Windows 10 的登录背景都会每天随着 Bing 壁纸进行更改,它看起来好极了,不是吗? + +前段时间,我们讨论了如何 [更改 Fedora 的登录屏幕背景][1] 和 [更改 elementary OS 的登录屏幕背景][2] 。现在这篇指南将向你解释,如何更改使用 GNOME Shell 的 Ubuntu 的登录屏幕背景。 + +登录屏幕背景是显示管理器属性的一部分。这篇指南将使用一位用户在 GitHub 中创建的一个脚本,来使普通的用户能够纵享丝滑。否则,在提取 `.gresource` 文件后,你必须手动更改 Gnome 显示管理器Gnome Display Manager (gdm) 的 CSS 文件,接下来再编译它 – 一般来说,这是很复杂的。 + +![Ubuntu Login screen - before change][3] + +Ubuntu 登录屏幕 – 在更改前 + +### 更改 Ubuntu 的登录背景 + +- 打开一个终端 (按下组合键 CTRL+ALT+T) + +- 下载 [GitHub repo][4] ,使用下面的命令。 + +``` +wget github.com/thiggy01/change-gdm-background/raw/master/change-gdm-background +``` + +**注意**: 如果你没有 wget ,使用 `sudo apt install wget` 来安装它 + +**Ubuntu 22.04 Jammy Jellyfish** 用户需要更改一些额外的代码来使其工作,因为,在 GitHub 中,开发者没有修复它。因此,在这里你需要自己来更改。 + +使用 gedit 来打开 `change-gdm-background` 文件。接下来,转到下面的行 (#15) 并添加 `|jammy` 。 + +![script change to allow jammy][5] + +脚本更改为允许 jammy + +接下来,转到下面的两行 (#144 和 #184)。将 `gdm3.css` 更改为 `gdm.css` 。如下图所示。 + +![correct the css file for gdm][6] + +修正针对 gdm 的 css 文件 + +最后,保存文件,并遵循如下的操作指南。这种解决方法只适用于 Ubuntu 22.04 的登录屏幕的更改。 + +- 更改脚本的权限来使其可执行 + +``` +chmod +x change-gdm-background +``` + +- 接下来,更改 Ubuntu 的登录背景壁纸,使用下面的命令。按照你的图片相应地更改路径 + +``` +sudo ./change-gdm-background ~/Pictures/tree.jpg +``` + +这一步骤可能需要 `libglib2.0-dev` 软件包,它将会自动地安装。提取/编译 `.gresource` 会用到它 + +在安装后,它应该会提示你重新启动 gdm 。慎重起见,按下 N 按键。 + +- 注销后,你可以看到更改后的 Ubuntu 的背景。 +- 如果你没有看到更改,尝试重新启动你的系统,然后尝试登录。 + +![Ubuntu Login screen After Change][7] + +在更改后的,Ubuntu 的登录屏幕背景 + +### 恢复先前的登录屏幕 + +该脚本也提供了一种恢复先前的登录屏幕的特色功能。它在更改你的 `.gresource` 文件前,会将其进行备份。因此,恢复先前的登录屏幕,只需要在终端中简单地运行下面的命令。 + +``` +sudo ./change-gdm-background --restore +``` + +这应该会将其登录屏幕更改回其先前的形式。 + +在下面的评论框中,让我知道这篇指南的内容是否对你有效果,这应该适用于所有的最新版本的 Ubuntu Linux 。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/change-login-background-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[校对者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/2021/09/change-login-background-fedora/ +[2]: https://www.debugpoint.com/2021/07/change-lock-login-screen-background-elementary-os/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-before-change-1024x539.jpg +[4]: https://github.com/thiggy01/change-gdm-background +[5]: https://www.debugpoint.com/wp-content/uploads/2022/09/script-change-to-allow-jammy.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/09/correct-the-css-file-for-gdm.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-After-Change-1024x538.jpg From dc5d48491e686dc314c1c3ac6ba069112d339f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Wed, 7 Dec 2022 15:56:01 +0800 Subject: [PATCH 653/925] Transalting --- ...️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md index 5a87ca942c..a00f08127f 100644 --- a/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md +++ b/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/install-gnome-linux-mint/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "robsean" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f65d2d8c57ce22eb7f07bcf6f4a898e765290a90 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Wed, 7 Dec 2022 18:57:22 +0800 Subject: [PATCH 654/925] =?UTF-8?q?=E5=88=9D=E6=AC=A1=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=BF=BB=E8=AF=91=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...210209 Understanding Linus-s Law for open source security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20210209 Understanding Linus-s Law for open source security.md b/sources/talk/20210209 Understanding Linus-s Law for open source security.md index bbaf38fdb0..258d401019 100644 --- a/sources/talk/20210209 Understanding Linus-s Law for open source security.md +++ b/sources/talk/20210209 Understanding Linus-s Law for open source security.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (CanYellow) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 4acef28c8277af1a132d6b14ea2346951583e515 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 7 Dec 2022 19:12:25 +0800 Subject: [PATCH 655/925] translating --- .../tech/20220628 Linux su vs sudo- what-s the difference-.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md b/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md index 01bb0f2517..7dab5d8703 100644 --- a/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md +++ b/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin" [#]: author: "David Both https://opensource.com/users/dboth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 6e2c8b290d482c770655bb362954d203a1b20238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 19:51:15 +0800 Subject: [PATCH 656/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221207.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Find=20a=20Process=20ID=20and=20Kill=20it=20in=20Linux?= =?UTF-8?q?=20[CLI=20&=20GUI].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d a Process ID and Kill it in Linux [CLI & GUI].md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md diff --git a/sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md new file mode 100644 index 0000000000..610f55149e --- /dev/null +++ b/sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md @@ -0,0 +1,145 @@ +[#]: subject: "How to Find a Process ID and Kill it in Linux [CLI & GUI]" +[#]: via: "https://www.debugpoint.com/find-process-id-kill-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Find a Process ID and Kill it in Linux [CLI & GUI] +====== + +**A simple tutorial demonstrates how to find a running process ID and kill it using the terminal and GUI method for various Linux distros.** + +The running applications in your Linux system can slow down your system, especially if you have a low-end system. In Linux (plus all OS), programs or apps contain a specific PID (process ID) by which you can identify them easily. + +However, as a beginner, many Linux users don’t know how to find a running process in Linux and kill it. So in this guide, we will explain different approaches to kill the currently running processes in Linux. That includes the terminal and GUI methods. + +Remember, you should only kill the process when it is not responding, or you are in a situation where the normal application closing is not working (for GUI-based apps). + +### How to find process id and kill them in Linux + +In this section, first, let’s learn the method to find the PID of a running process and then commands to kill them: + +#### Find the Currently Running Process + +You can use the `top` command to list the currently running process with their PID and other details. The top program is installed by default in all Linux distros and all Unix-based systems. + +``` +top +``` + +![Top program output][1] + +Similarly, you can run the `ps` command with additional options to get the PID of a specific process. For example, you can use the following command to get the PID of `firefox`: + +``` +ps -el | grep -i firefox +``` + +![Firefox process id using ps command - example][2] + +Now that you have found the process id, let’s see how you can kill it. + +#### Kill the Running Process + +You can either use the process name or PID to kill the currently running process using the following commands:  + +- **killall:** Kill a process using the name of a running process +- **[kill][3]:** Kill the process with PID + +Now, first, let’s use the `killall` process to kill Firefox with its name, and here is the command: + +``` +killall -9 firefox +``` + +- The parameter `-9` sends the SIGKILL signal to the OS to terminate the process. +- You can also list down several other signals using the following command. + +``` +kill -l +``` + +Similarly, if you want to kill the process from the process ID, you can use the command given below:  + +``` +kill -9 +``` + +For this example, the command would be: + +``` +kill -9 33665 +``` + +Let’s see how you can kill any process or application using the graphical user interface (GUI) in various distros. + +### Find process id to kill via GUI + +There are many graphical programs available to list down processes. Most Linux distribution ships it as part of their desktop environment. Here are some of them. + +#### GNOME (In Ubuntu, Fedora workstation, etc.) & in Linux Mint + +Search for “system monitor” in the application menu and open it. On the processes tab, find your process. Right-click on the process name to bring up the context menu and choose the option kill. + +![Kill a process in Linux using gnome system monitor][4] + +#### KDE Plasma (Kubuntu, Fedora-KDE or any Plasma-based distro) + +From the application menu, search and launch “system monitor”. This will launch the following program. From the left side, click on Processes, and you should see a list of programs running. You can right-click on the process/application and select Kill to terminate the process. + +![System monitor in KDE Plasma][5] + +#### Xfce desktop + +The native application for this task on the Xfce desktop is Task Manager, which you can launch via `Application > System > Task manager`. Right-click on the process name and select kill to terminate the app or process. + +![Xfce task manager to kill a process][6] + +#### Other desktops or distros to kill a process pr program + +If you can’t find anything similar, you can choose the terminal method. Or, you can install the gnome-system-monitor using the following commands. + +**For Ubuntu and related distros** + +``` +sudo apt install gnome-system-monitor +``` + +**In Fedora and related:** + +``` +sudo dnf install gnome-system-monitor +``` + +**And in Arch Linux:** + +``` +sudo pacman -S gnome-system-monitor +``` + +### Wrapping Up + +So this is how you can find a running process id in Linux and kill it. We have explained different approaches that you can try to kill the process either from its name or PID. I hope this helps. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/find-process-id-kill-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/12/Top-program-output.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/Firefox-process-id-using-ps-command-example.jpg +[3]: https://linux.die.net/man/1/kill +[4]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kill-a-process-in-Linux-using-gnome-system-monitor.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/System-monitor-in-KDE-Plasma.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Xfce-task-manager-to-kill-a-process.jpg From 89bb7507411e2a14a34bff418d9701eb96b55c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 19:52:39 +0800 Subject: [PATCH 657/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221207.2=20=E2=AD=90=EF=B8=8F=20How=20to=20Access=20?= =?UTF-8?q?UEFI=20Settings=20in=20Linux=20Systems.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to Access UEFI Settings in Linux Systems.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md diff --git a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md new file mode 100644 index 0000000000..7492d39d28 --- /dev/null +++ b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -0,0 +1,119 @@ +[#]: subject: "How to Access UEFI Settings in Linux Systems" +[#]: via: "https://itsfoss.com/access-uefi-from-linux/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Access UEFI Settings in Linux Systems +====== + +Want to check the boot order or the power settings at the firmware level? **You can access the UEFI settings by pressing the F2, F10 or Del buttons when your system boots**. + +The problem with this approach is that you may not know the exact key and must be alert about pressing those keys at the right time. + +If you don’t want to feel like Mr. Bean in the above Gif, you can access the UEFI settings from the [Grub bootloader][1] screen in Linux. + +![uefi firmware settings grub linux][2] + +You see this screen when you turn on your Linux system. Most Linux distributions like Fedora and Ubuntu use Grub and they allow you to access the UEFI settings from the Grub screen like this. + +What if you don’t see this screen or your distro doesn’t use Grub? There are still ways to access UEFI settings from within Linux. + +Before you see how to do that, please [ensure that your system uses UEFI][3]. + +**_Another important thing. Your system will reboot into UEFI settings._** _You cannot access and modify the firmware settings from within an operating system._ + +### Boot into UEFI settings from Linux + +This method will only work on Linux distros having systemd. This means this method will work on anything based on Ubuntu, Debian, Fedora, and any mainstream Arch-based distros, including Manjaro and EndeavourOS. + +It is still a good idea to [ensure that your Linux distro uses systemd][4]. Use the given command and if it returns systemd you are good to go: + +``` +ps --no-headers -o comm 1 +``` + +![how to know if i am using systemd on linux?][5] + +Once you figure out that your distro is utilizing systemd, you can use the given command to boot into UEFI settings: + +``` +systemctl reboot --firmware-setup +``` + +Let me break down the used options first: + +- `reboot`: As its name suggest, it will reboot your system. +- `--firmware-setup`: When this option is used with `reboot`, it will indicate to the system’s firmware to boot into the firmware setup interface. + +Yup, that was it! A single command and you will be kicked into UEFI settings. I know Windows allows [booting into UEFI firmware settings from within Windows][6]. It’s good to see something similar in Linux as well. + +#### Create a desktop shortcut to boot into UEFI settings (optional) + +If you often find yourself booting into the UEFI settings and don’t remember the command all the time, you can make your life easier by creating a desktop shortcut. This will let you boot into UEFI by clicking on desktop icon. + +_**Now, this is unnecessary and not required for most Linux users. Do it only if you feel the need for it. The method requires [editing files in the command line][7].**_ + +First, use the given command to create a desktop shortcut file for UEFI settings: + +``` +sudo nano /usr/share/applications/uefi-reboot.desktop +``` + +And paste the following content in the file: + +``` +[Desktop Entry] +Name=UEFI Firmware Setup (Reboot) +Comment=Access the motherboard configuration utility +Exec=systemctl reboot --firmware-setup +Icon=system-restart +Terminal=false +Type=Application +Categories=System;Settings; +``` + +![create a desktop shortcut to boot into uefi settings][8] + +Once done, [save the changes and exit from the nano][9] text editor. + +And now, you will find the shortcut for UEFI Firmware Setup in your system menu: + +![boot into uefi firmware from system menu][10] + +That’s it! A neat way to get into UEFI settings. + +### Wrapping Up + +The classic ways of accessing the boot settings may be a little inconvenient for some people. The grub screen may not show the UEFI option for older versions. + +And this is where the systemd method shines. I found this method a lifesaver when my system crashed and my function keys were not responding, which are necessary to boot into UEFI (that’s what I thought then!). + +I hope you find it equally helpful. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/access-uefi-from-linux/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/what-is-grub/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/uefi-firmware-settings-grub-linux.webp +[3]: https://itsfoss.com/check-uefi-or-bios/ +[4]: https://linuxhandbook.com/check-if-systemd/ +[5]: https://itsfoss.com/wp-content/uploads/2022/12/how-to-know-if-i-am-using-systemd-on-linux.png +[6]: https://itsfoss.com/access-uefi-settings-windows-10/ +[7]: https://learnubuntu.com/edit-files-command-line/ +[8]: https://itsfoss.com/wp-content/uploads/2022/12/create-a-desktop-shortcut-to-boot-into-uefi-settings.png +[9]: https://linuxhandbook.com/nano-save-exit/ +[10]: https://itsfoss.com/wp-content/uploads/2022/12/boot-into-uefi-firmware-from-system-menu.png From 37868f6c5fe5b85185fc632a676d490245f04f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 19:56:15 +0800 Subject: [PATCH 658/925] =?UTF-8?q?Update=2020221207.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=20How=20to=20Access=20UEFI=20Settings=20in=20Linux=20?= =?UTF-8?q?Systems.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md index 7492d39d28..61f685b396 100644 --- a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md +++ b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -14,6 +14,8 @@ Want to check the boot order or the power settings at the firmware level? **You The problem with this approach is that you may not know the exact key and must be alert about pressing those keys at the right time. +![Mr. Bean][1a] + If you don’t want to feel like Mr. Bean in the above Gif, you can access the UEFI settings from the [Grub bootloader][1] screen in Linux. ![uefi firmware settings grub linux][2] @@ -107,6 +109,7 @@ via: https://itsfoss.com/access-uefi-from-linux/ [a]: https://itsfoss.com/author/sagar/ [b]: https://github.com/lkxed +[1a]: https://external-preview.redd.it/dxmsKYDmzgfb1thu3EFI8Ni-DNfprNX8W8xDtff4QWU.gif?format=mp4&s=c31204644ac6a2a348133986714ff97cf3c4a48a [1]: https://itsfoss.com/what-is-grub/ [2]: https://itsfoss.com/wp-content/uploads/2022/12/uefi-firmware-settings-grub-linux.webp [3]: https://itsfoss.com/check-uefi-or-bios/ From 3be87e8a9cc4d19e79758cd88b789678efedfdd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 19:58:02 +0800 Subject: [PATCH 659/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221207.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2016?= =?UTF-8?q?=20reasons=20DDEV=20will=20be=20your=20new=20favorite=20develop?= =?UTF-8?q?ment=20environment.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ll be your new favorite development environment.md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sources/tech/20221207.3 ⭐️⭐️ 16 reasons DDEV will be your new favorite development environment.md diff --git a/sources/tech/20221207.3 ⭐️⭐️ 16 reasons DDEV will be your new favorite development environment.md b/sources/tech/20221207.3 ⭐️⭐️ 16 reasons DDEV will be your new favorite development environment.md new file mode 100644 index 0000000000..efe5125083 --- /dev/null +++ b/sources/tech/20221207.3 ⭐️⭐️ 16 reasons DDEV will be your new favorite development environment.md @@ -0,0 +1,145 @@ +[#]: subject: "16 reasons DDEV will be your new favorite development environment" +[#]: via: "https://opensource.com/article/22/12/ddev" +[#]: author: "Randy Fay https://opensource.com/users/rfay" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +16 reasons DDEV will be your new favorite development environment +====== + +In 2022, you have a wide variety of local development environments to choose from, whether you're a designer, developer, tester, or any kind of open source contributor. Because most of the tools and platforms contributors use happen to run on many different operating systems, you probably even have the choice of constructing your own environment. I'm the maintainer of [DDEV][1], and here are 15 reasons I think you'll like it for your development environment. + +### 1. Cross-platform + +DDEV supports and tests, and has a fully automated test suite for Linux (amd64 and Arm), WSL2, Windows, and macOS (M1 and amd64.) + +Some tools require you to use one exact version of Docker (and they may even take the liberty of installing it themselves), DDEV works with versions of Docker that are a couple of years old, and keeps up with the latest versions, as well. Alternatively, you can use [Colima][2] or Docker installed inside WSL2. + +DDEV’s binaries are signed and notarized on macOS and Windows, so you never have to sneak around scary operating system warnings when installing and using DDEV. + +### 2. Performance + +The DDEV team believes that DDEV on macOS and Windows has [the best performance][3] you can get on any local development, both in terms of starting DDEV (10 to 20 seconds) and in terms of webserving. With no setup required at all, the [Mutagen feature][4] speeds up webserving by a factor of 10, at least. And of course on Linux (including WSL2) it's truly superb. + +### 3. Settings file management + +DDEV is happy to get you started quickly and easily, and even manage your settings files. You can use your own repository or follow one of the [quickstart guides][5] to create something new and you'll have a project going in no time. You can also [turn off settings file management][6] to fine-tune your team's approach when you need more customization. + +DDEV's configuration files aren't used when they're not being used in a DDEV context, so your project won't accidentally have DDEV settings if you mistakenly deploy them to production. If you have the same project setup for Lando _and_ DDEV, then the DDEV settings won't break Lando. + +### 4. Trusted HTTPS + +DDEV uses [mkcert][7] to allow you to conduct all your work using [locally trusted HTTPS][8], just like it will work in the real world. You don't have to click around scary browser warnings to view your project in development. + +### 5. Database snapshots + +DDEV has the `ddev snapshot` feature, allowing you to quickly capture the state of your [database][9] and then quickly restore to a different point. You can name snapshots for different branches of your project. It's far faster than traditional export and import. + +### 6. Simple single-binary installation without dependencies + +[DDEV][10] is written in [Go][11]. Because Go is a fairly new language, this can be a bit of a disadvantage in terms of community involvement, but it's a huge advantage for cross-platform support. Go does cross-platform builds with ease, and the resulting self-contained binary has no dependencies at all (aside from Docker.) There are no libraries to install, no DLLs to maintain. And responsiveness to commands is excellent! + +### 7. Xdebug step-debugging + +Lots of people have their first experience with a [real step-debugging environment][12] for the first time with DDEV because it's really, _really_ easy. Thanks to PHPStorm, there's no setup at all. With VSCode or [Codium][13], there's about 2 minutes of setup. There's no need for inserting print statements into code anymore! + +### 8. Explicit support for your CMS + +DDEV has built-in support for many popular content management systems (CMS) and platforms. "Explicit support" means that there's setting management, and an NGINX configuration customized for the specific platform you're using. Here's a partial list of what's supported: + +- Drupal +- Backdrop +- WordPress +- TYPO3 +- Magento +- Laravel +- Shopware + +### 9. Integration and add-ons + +While DDEV provides explicit support with optional settings management for your CMS of choice, many developers use other platforms, including Symfony, Moodle, Mautic, and so on. DDEV has explicit support for NodeJS, both for processing and as daemons. + +DDEV also features a library of supported, maintained, and tested add-ons for Redis, Solr, Memcached, Elasticsearch, Mongo, Varnish, and more. + +### 10. Gitpod + +Your local development environment doesn't even have to be local anymore. DDEV has full support for use in [Gitpod][14] so you can move your development into the cloud. + +### 11. No vendor lock-in + +There is absolutely no vendor lock-in in DDEV. The idea behind the DDEV platform is that DDEV can be plugged into a dev-to-deploy workflow as pieces of a puzzle that work for you. Mix and match! DDEV is an open source community project that works great with any hosting service you can use. + +### 12. Respect for your host computer + +DDEV doesn't assume you use your computer (or containers) only for DDEV. + +Too many local dev tools happily reconfigure your host computer without your full involvement. More than one of them edit your `/etc/exports` file, with no way for you to opt out. A couple of them actually overwrite your Docker installation with a different version at install time. DDEV tries to ensure that in the unlikely situation that anything needs to be changed on your computer, you're the one doing it, and you have options. + +For example, HTTPS support requires running `mkcert -install` one time. [NFS support][15] requires a bit of additional setup. Because nearly everything is run in a container, there's very little that needs to be done on the host computer in the first place. + +### 13. Community + +The DDEV community has been phenomenal through the years, contributing ideas, code, and shared support. There are [open collections][16] of DDEV services, tools, snippets, approaches, as well as [blogs and presentations][17] and more from users all around the world. + +The [DDEV Advisory Group][18] provides oversight, direction, and feedback for the project. Anyone is welcome to join. + +### 14. Open source + +DDEV is a small cog in the huge open source ecosystem. It couldn't even exist without the hundreds or thousands of projects that make up the Linux containers that run it, and of course, PHP itself is a fundamental upstream project. We love to contribute upstream and downstream to projects like: + +- **Docker**: DDEV is involved with the Docker project, because DDEV users are always pushing the limits. We participate heavily in Docker issue queues. +- **Mutagen**: When you edit code in containers, there's a lot of synchronization between your local host and the container environment that needs to happen. [Mutagen][19] helps bridge that gap for DDEV users. +- **mkcert**: The [mkcert][7] tool allows DDEV to provide trusted HTTPS in your local development environment. We've benefited enormously from it, and have contributed back tests and bug fixes. +- **Xdebug**: DDEV is great with [Xdebug][20], and of course, we hear right away when there are problems. We report our findings back to the Xdebug issue queue. +- **deb.sury.org PHP packages**: The Debian PHP packages (5.6 all the way through 8.2, at the time of writing) we use come from [deb.sury.org][21]. Because the DDEV community is an early consumer of those packages, we're often in that [issue queue][22] too. + +### 15. DDEV Keeps Up + +DDEV is always keeping up with the dependencieis you need. For example, at this writing, neither PHP 8.2.0 nor Drupal 10 have yet been released, but both have been supported in DDEV for months. + +### 16. Your own reason + +I'd love to hear what makes DDEV your favorite, and the DDEV team is always [listening][23] to hear what you want in the future. Of course, we also want to hear when things don't work the way you want or expect. Visit our [Git repository][10] to contribute! + +Note: This is an updated version of a [blog post][24] that originally appeared on ddev.com. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/ddev + +作者:[Randy Fay][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/rfay +[b]: https://github.com/lkxed +[1]: http://ddev.com/ +[2]: https://opensource.com/article/22/9/replacing-docker-desktop-mac-colima-use-ddev-first-impressions +[3]: https://ddev.com/ddev-local/docker-desktop-and-colima-benchmarking-on-macos +[4]: https://ddev.readthedocs.io/en/stable/users/install/performance/#mutagen +[5]: https://ddev.readthedocs.io/en/stable/users/cli-usage/#quickstart-guides +[6]: https://ddev.com/ddev-local/controlling-cms-settings-files-in-ddev-local/ +[7]: https://github.com/FiloSottile/mkcert +[8]: https://ddev.com/ddev-local/ddev-local-trusted-https-certificates/ +[9]: https://ddev.readthedocs.io/en/stable/users/basics/database_management/ +[10]: https://github.com/drud/ddev +[11]: https://opensource.com/article/17/6/getting-started-go +[12]: https://ddev.readthedocs.io/en/latest/users/debugging-profiling/step-debugging/ +[13]: https://opensource.com/article/20/6/open-source-alternatives-vs-code#vscodium +[14]: https://ddev.readthedocs.io/en/stable/users/install/ddev-installation/#gitpod +[15]: https://ddev.com/ddev-local/ddev-local-nfs-mounting-setup-macos/ +[16]: https://ddev.readthedocs.io/en/latest/users/extend/additional-services/ +[17]: https://github.com/drud/awesome-ddev +[18]: https://github.com/drud/ddev/discussions/categories/ddev-advisory-group +[19]: http://mutagen.io +[20]: https://xdebug.org/ +[21]: https://deb.sury.org/ +[22]: https://github.com/oerdnj/deb.sury.org/issues +[23]: https://ddev.readthedocs.io/en/stable/users/support/ +[24]: https://ddev.com/ddev-local/whats-so-different-about-ddev-local From 9518ca0dfae17c51ff9ca4772fb22bd50d4bdeb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 20:00:35 +0800 Subject: [PATCH 660/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221207.4=20=E2=AD=90=EF=B8=8F=20Why=20I=20use=20the?= =?UTF-8?q?=20Enlightenment=20file=20manager=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...use the Enlightenment file manager on Linux.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/tech/20221207.4 ⭐️ Why I use the Enlightenment file manager on Linux.md diff --git a/sources/tech/20221207.4 ⭐️ Why I use the Enlightenment file manager on Linux.md b/sources/tech/20221207.4 ⭐️ Why I use the Enlightenment file manager on Linux.md new file mode 100644 index 0000000000..2c249e99ff --- /dev/null +++ b/sources/tech/20221207.4 ⭐️ Why I use the Enlightenment file manager on Linux.md @@ -0,0 +1,87 @@ +[#]: subject: "Why I use the Enlightenment file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-enlightenment" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Why I use the Enlightenment file manager on Linux +====== + +Computers are like filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this series, I'm taking a look at the Enlightenment file manager for your Linux system. + +The [Enlightenment desktop][1] is designed to be a modern implementation of what's considered a traditional UNIX desktop. There are certain elements that are considered to be characteristic of graphical UNIX, most of which were defined in the [by early desktops like CDE or twm][2]. Enlightenment implements things like a dock, an on-demand global contextual menu, flexible focus, virtual workspaces, but with an almost hyper-modern flair. Enlightenment is able to combine these elements with effects and animations because it's also its own compositor, and the EFL libraries that the desktop uses are specific to Enlightenment and maintained by the Enlightenment team. That's a long way of confessing that in this entry in [my file manager series][3], I'm looking at a file manager that's mostly inextricable from the desktop it supports. If you want to try Enlightenment's file manager, you have to try Enlightenment. Luckily, it's a pleasant experience, and a fun diversion from the usual desktops. + +### Install Enlightenment on Linux + +You can probably install Enlightenment from your distribution's repository. For example, on Fedora: + +``` +$ sudo dnf install enlightenment +``` + +On Debian and similar: + +``` +$ sudo apt install enlightenment +``` + +### File manager + +When you first log in to Enlightenment, you must make some choices about configuration. After setting your language and visual theme, you can open a file manager window by either double-clicking on the **Home** icon on the desktop, or by clicking on the desktop and choosing **Navigate**. + +![Image of the file manager for Enlightenment.][4] + +### Customizing the panel + +The left panel of the file manager displays common places in your file system. Not everyone considers the same places common, though, so you're free to change the bookmarks in the panel to suit your needs. + +Start by removing the items you don't need. For instance, maybe you don't need an icon for your Desktop in your side panel. To remove it, right-click on it and select **Delete**. You're asked for confirmation, and it's safe to accept. You're not deleting your actual desktop or the items on it, you're just removing the **Desktop** item from the side panel. You can remove any of the items from the left panel in this way. + +Next, add directories you frequent. You can add items by dragging and dropping icons from the right panel into the left. Once there, they're considered bookmarks for Enlightenment's file manager. These items don't carry over into other file managers or file choosers. This is a bookmarks panel specific to the Enlightenment file manager. + +### Customizing the view + +A file manager's main purpose is to help you manage files. Part of managing files is getting a good look at what you have, and there are three different views Enlightenment offers. To access the different views, right-click in an empty space in the file manager and choose **View Mode**. + +- **Custom Icons**: Place icons anywhere in the file manager window you please. +- **Grid**: Sort icons, aligned to a grid. +- **List**: Sort small icons as an itemized list. + +In addition to altering your view of the icons representing your files and folders, you can control how they're sorted. The default is to alphabetize directories first, and then files. You can right-click in an empty space in the file manager and select **Sorting** to choose between other options: + +- **Size**: This is particularly useful when you're trying to find files that are occupying too much space on your hard drive. +- **File extension**: Group files together by file type! +- **Modification time**: Make recent files easy find. + +Grouping files together by file extension is the real epiphany of the Enlightenment file manager. In most other file managers, the closest you can get to this feature is the ability to filter files by manually typing in the extension you're interested in. But with this feature, your files "cluster" together by a sort of genealogical affinity. It makes files really easy to find without giving any particular preference to any one group of file types. You just locate the group of files you're interested in, and then the single file you want to work on. + +### Keyboard navigation + +The Enlightenment file manager has good keyboard support. As long as the file manager is in focus, you can press any **Arrow** key to move between items in the right panel. Press **Return** to enter a directory or to open a file. + +You can use **Alt** and the **Left Arrow** key to move back to the previously visited directory. Use **Alt** and the **Up Arrow** key to move to your current directory's parent. + +### The Enlightenment experience + +Enlightenment is a fun and beautiful desktop, and its default file manager does everything you need a file manager to do. It's got the essential customization options, good support for keyboard navigation, and it fits the rest of the desktop perfectly. If you're in the mood for something different, then give Enlightenment a try. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-enlightenment + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/linux-enlightenment-desktop +[2]: https://opensource.com/article/20/5/linux-desktops#traditional +[3]: https://opensource.com/users/seth +[4]: https://opensource.com/sites/default/files/2022-10/enlightenment-file-manager.png From 8bb98e7dae7e97582357e7464845d1d657e55dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 20:01:31 +0800 Subject: [PATCH 661/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221207.5=20=E2=AD=90=EF=B8=8F=20Kali=20Linux's=20Las?= =?UTF-8?q?t=20Update=20for=20the=20Year=20Brings=20a=20Lot=20of=20Early?= =?UTF-8?q?=20Christmas=20Gifts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Year Brings a Lot of Early Christmas Gifts.md | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md diff --git a/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md b/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md new file mode 100644 index 0000000000..62db7e3017 --- /dev/null +++ b/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md @@ -0,0 +1,136 @@ +[#]: subject: "Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts" +[#]: via: "https://news.itsfoss.com/kali-linux-2022-4-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts +====== + +Kali Linux 2022.4 is now available to download. Learn what's new here. + +![Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts][1] + +Kali Linux is an open-source, Debian-based distro focusing on penetration testing and security auditing. + +It consists of various tools, configurations, and automation to help you achieve that. + +Dubbed as the final release of this year, **Kali Linux 2022.4** promises many improvements over its [predecessor][2]. + +Let me take you through this release. + +### 🆕 What's New? + +![kali linux 22.04][3] + +Kali Linux 2022.4 comes bearing early Christmas gifts in the form of updates; here are some of the merry ones! 🎄 + +- **Linux Kernel 6.0** +- **Return to the Microsoft Azure Marketplace** +- **Pine 64 PinePhone Support** +- **New Desktop Environments** +- **QEMU image** +- **New Tools** + +#### Recommended Read 📖 + +#### Pine 64 PinePhone Support + +![kali linux nethunter pro on pinephone pro][4] + +Kali Linux now has official support for the Pine 64 PinePhone and PinePhone Pro. + +This support has come in the form of a new mobile-focused distro called '**Kali NetHunter Pro**'. + +They are marking it as a new beginning for Kali Linux and [NetHunter][5]; this distro has been optimized for mobile devices and can be dual-booted alongside the main OS from an SD card. + +In addition, they have also hinted at a future release of alternative versions of Kali NetHunter Pro. + +These will feature Plasma Mobile alongside new installers for installing Kali NetHunter Pro onto the internal flash memory of a device. + +#### Return to the Microsoft Azure Marketplace + +![kali linux 22.04 azure marketplace][6] + +After being absent from the Azure Marketplace for a long time, Kali Linux was finally [added back][7]. + +[Offensive Security][8], the company behind Kali Linux, mentions that the publishing process has now been automated thanks to [kali-cloud build-scripts][9]. + +Users will now enjoy the same consistency level as their [Amazon AWS image][10]. + +#### New Desktop Environments + +![kali linux 22.04 with gnome 43][11] + +Usually, Kali Linux uses the lightweight Xfce desktop environment as its default desktop environment. + +But now, it also features support for the recent KDE Plasma and GNOME versions. + +**In the case of Plasma:** Kali Linux now features KDE Plasma 5.26; it is meant to improve the overall desktop experience and has bought in many tweaks and improvements. + +**In the case of GNOME:** Including the usual enhancements with [GNOME 43][12], they have also added a few tweaks of their own. + +A new GTK3-based theme has been added based on the [adw-gtk3][13] project with a few of Kali's tweaks. + +Then, the new 'gnome-text-editor' replaces 'gedit' and comes with an updated Kali theme. + +#### QEMU image + +They have also added a new [QEMU image][14] to their pre-generated image library in the hopes that it will make it easier for people to implement Kali Linux on self-hosted environments like [Proxmox Virtual Environments][15], [virt-manager][16], or [libvirt][17]. + +#### 🛠️ Other Changes/Improvements + +Besides the above changes, there are several other notable ones: + +- Enhanced Bluetooth support for Kali NetHunter. +- Addition of Kali to Raspberry Pi Imager. +- The u-boot bootloader in USBArmory MKII has been updated to 2022.10. +- Updates to various Kali Documentation. +- New tools such as **bloodhound.py**, **certipy**, **rizin-cutter,** and a few more. +- Revamped social media channels of Kali Linux. + +You can go through the [release announcement][18] to get into the more technical details. + +### 📥 Download Kali Linux 2022.4 + +Kali Linux 2022.4 has been made available on the [official website][19]. + +[Kali Linux 2022.4][19] + +You can choose the image suitable for your requirements and download it. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kali-linux-2022-4-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/kali-linux-2022-04-release.jpg +[2]: https://news.itsfoss.com/kali-linux-2022-3-release/ +[3]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4.png +[4]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_NetHunter_Pro.jpg +[5]: https://www.kali.org/docs/nethunter/ +[6]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_Azure.jpg +[7]: https://azuremarketplace.microsoft.com/en/marketplace/apps/kali-linux.kali +[8]: https://www.offensive-security.com +[9]: https://gitlab.com/kalilinux/build-scripts/kali-cloud +[10]: https://aws.amazon.com/marketplace/pp/prodview-fznsw3f7mq7to +[11]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_GNOME43.jpg +[12]: https://news.itsfoss.com/gnome-43-release/ +[13]: https://github.com/lassekongo83/adw-gtk3 +[14]: https://qemu-project.gitlab.io/qemu/system/images.html +[15]: https://www.proxmox.com/en/proxmox-ve +[16]: https://virt-manager.org +[17]: https://libvirt.org +[18]: https://www.kali.org/blog/kali-linux-2022-4-release/#desktop-updates +[19]: https://www.kali.org/get-kali/ From 57b81e08fc67e84c6aa3a28ae6fba9ef5fed50ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 7 Dec 2022 20:02:18 +0800 Subject: [PATCH 662/925] =?UTF-8?q?Rename=2020221207.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20How=20to=20Find=20a=20Process=20I?= =?UTF-8?q?D=20and=20Kill=20it=20in=20Linux=20[CLI=20&=20GUI].md=20to=2020?= =?UTF-8?q?221207.0=20=E2=AD=90=EF=B8=8F=20How=20to=20Find=20a=20Process?= =?UTF-8?q?=20ID=20and=20Kill=20it=20in=20Linux=20[CLI=20&=20GUI].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md => 20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md} (100%) diff --git a/sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md similarity index 100% rename from sources/tech/20221207.0 ⭐️⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md rename to sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md From 7bdc78d08a37796034ff97290a364dea55c48480 Mon Sep 17 00:00:00 2001 From: ZZJ Date: Wed, 7 Dec 2022 23:58:14 +0800 Subject: [PATCH 663/925] translated --- ...0210330 A DevOps guide to documentation.md | 91 ------------------ ...0210330 A DevOps guide to documentation.md | 92 +++++++++++++++++++ 2 files changed, 92 insertions(+), 91 deletions(-) delete mode 100644 sources/tech/20210330 A DevOps guide to documentation.md create mode 100644 translated/tech/20210330 A DevOps guide to documentation.md diff --git a/sources/tech/20210330 A DevOps guide to documentation.md b/sources/tech/20210330 A DevOps guide to documentation.md deleted file mode 100644 index 159dcda360..0000000000 --- a/sources/tech/20210330 A DevOps guide to documentation.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: (A DevOps guide to documentation) -[#]: via: (https://opensource.com/article/21/3/devops-documentation) -[#]: author: (Will Kelly https://opensource.com/users/willkelly) -[#]: collector: (lujun9972) -[#]: translator: (Veryzzj) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -A DevOps guide to documentation -====== - -Bring your documentation writing into the DevOps lifecycle. -![Typewriter with hands][1] - -DevOps is challenging technical documentation norms like at no other time in IT history. From automation to increased delivery velocity to dismantling the waterfall software development lifecycle model, these all spell the need for making dramatic changes to business and the philosophy of technical documentation. - -Here are some ways DevOps is influencing technical documentation. - -### The technical writer's changing role - -The technical writer's role must adapt to DevOps. The good news is that many technical writers are already embedded in development teams, and they may have a leg up by already having collaborative relationships and growing knowledge of the product. - -But you have some pivoting to do if your technical writers are used to working in siloes and relying on drafts written by subject matter experts as the basis for documentation. - -Make the investments to ensure your documentation and other project-related content development efforts gain the tools, structure, and support they require. Start by changing your [technical writer hiring practices][2]. Documentation at the [speed of DevOps][3] requires rethinking your content strategy and breaking down longstanding silos between your DevOps team and the technical writer assigned to support the project. - -DevOps also causes development teams to break away from the rigors of traditional documentation practices. Foremost, documentation's [definition of done][4] must change. Some corporate cultures make the technical writer a passive participant in software development. DevOps makes new demands—as the DevOps cultural transformation goes, so does the technical writer's role. Writers will need (and must adjust to) the transparency DevOps offers. They must integrate into DevOps teams. Depending on how an organization casts the role, bringing the technical writer into the team may present skillset challenges. - -### Documentation standards, methodologies, and specifications - -While DevOps has yet to influence technical documentation itself, the open source community has stepped up to help with application programming interface (API) documentation that's finding use among DevOps teams in enterprises of all sizes. - -Open source specifications and tools for documenting APIs are an exciting area to watch. I'd like to think it is due to the influence of [Google Season of Docs][5], which gives open source software projects access to professional technical writing talent to tackle their most critical documentation projects. - -Open source APIs are available and need to become part of the DevOps documentation discussion. The importance of cloud-native application integration requirements is on the rise. The [OpenAPI specification][6]—an open standard for defining and documenting an API—is a good resource for API documentation in DevOps environments. However, a significant criticism is that the specification can make documentation time-consuming to create and keep current. - -There were brief attempts to create a [Continuous Documentation][7] methodology. There was also a movement to create a [DocOps][8] Framework that came out of CA (now Broadcom). Despite its initial promise, DocOps never caught on as an industry movement. - -The current state of DevOps documentation standards means your DevOps teams (including your technical writer) need to begin creating documentation at the earliest stages of a project. You do this by adding documentation as both an agile story and (just as important) as a management expectation; you enforce it by tying it to annual performance reviews. - -### Documentation tools - -DevOps documentation authoring should occur online in a format or a platform accessible to all team members. MediaWiki, DokuWiki, TikiWiki, and other [open source wikis][9] offer DevOps teams a central repository for authoring and maintaining documentation. - -Let teams choose their wiki just as you let them choose their other continuous integration/continuous development (CI/CD) toolchains. Part of the power of open source wikis is their extensibility. For example, DokuWiki includes a range of extensions you can install to create an authoring platform that meets your DevOps team's authoring requirements. - -If you're ambitious enough to bolster your team's authoring and collaboration capabilities, [Nextcloud][10] (an open source cloud collaboration suite) is an option for putting your DevOps teams online and giving them the tools they need to author documentation. - -### DevOps best practices - -Documentation also plays a role in DevOps transformation. You're going to want to document the best practices that help your organization realize efficiency and process gains from DevOps. This information is too important to communicate only by word of mouth across your DevOps teams. Documentation is a unifying force if your organization has multiple DevOps teams; it promotes standardization of best practices and sets you up to capture and benchmark metrics for code quality. - -Often it's developers who shoulder the work of documenting DevOps practices. Even if their organizations have technical writers, they might work across development teams. Thus, it's important that developers and sysadmins can capture, document, and communicate their best practices. Here are some tips to get that effort going in the right direction: - -* Invest the time upfront to create a standard template for your DevOps best practices. Don't fall into the trap of copying a template you find online. Interview your stakeholders and teams to create a template that meets your team's needs. -* Look for ways to be creative with information gathering, such as recording your team meetings and using chat system logs to serve as a foundation for your documentation. -* Establish a wiki for publishing your best practices. Use a wiki that lets you maintain an audit trail of edits and updates. Such a platform sets your teams up to update and maintain best practices as they change. - -It's smart to document dependencies as you build out your CI/CD toolchains. Such an effort pays off when you onboard new team members. It's also a little bit of insurance when a team member forgets something. - -Finally, automation is enticing to DevOps stakeholders and practitioners alike. It's all fun and games until automation breaks. Having documentation for automation run books, admin guides, and other things in place (and up to date) means your staff can get automation working again regardless of when it breaks down. - -### Final thoughts - -DevOps is a net positive for technical documentation. It pulls content development into the DevOps lifecycle and breaks down the siloes between developers and technical writers within the organizational culture. Without the luxury of a technical writer, teams get the tools to accelerate their document authoring's velocity to match the speed of DevOps. - -What is your organization doing to bring documentation into the DevOps lifecycle? Please share your experience in the comments. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/3/devops-documentation - -作者:[Will Kelly][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/willkelly -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/typewriter-hands.jpg?itok=oPugBzgv (Typewriter with hands) -[2]: https://opensource.com/article/19/11/hiring-technical-writers-devops -[3]: https://searchitoperations.techtarget.com/opinion/Make-DevOps-documentation-an-integral-part-of-your-strategy?_ga=2.73253915.980148481.1610758264-908287796.1564772842 -[4]: https://www.agilealliance.org/glossary/definition-of-done -[5]: https://developers.google.com/season-of-docs -[6]: https://swagger.io/specification/ -[7]: https://devops.com/continuous-documentation -[8]: https://www.cmswire.com/cms/information-management/the-importance-of-docops-in-the-new-era-of-business-027489.php -[9]: https://opensource.com/article/20/7/sharepoint-alternative -[10]: https://opensource.com/article/20/7/nextcloud diff --git a/translated/tech/20210330 A DevOps guide to documentation.md b/translated/tech/20210330 A DevOps guide to documentation.md new file mode 100644 index 0000000000..31fd2bffad --- /dev/null +++ b/translated/tech/20210330 A DevOps guide to documentation.md @@ -0,0 +1,92 @@ +[#]: subject: "A DevOps guide to documentation" +[#]: via: "https://opensource.com/article/21/3/devops-documentation" +[#]: author: "Will Kelly https://opensource.com/users/willkelly" +[#]: collector: "lujun9972" +[#]: translator: "Veryzzj" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +文档写作的 DevOps 指南 +====== + +将文档写作加入到 DevOps 的生命周期中 +![Typewriter with hands][1] + +DevOps 正在挑战技术文档的规范,这在IT历史上是前所未有的。从自动化到提高交付速度,再到拆除瀑布式软件开发生命周期模型,这意味着业务和技术文档的理念需要做出巨大改变。 + +以下是DevOps对技术文档不同方面的影响。 + +### 技术作家的角色变化 + +技术作家必须适应 DevOps。好消息是,许多技术作家已经加入到开发团队中,并且由于拥有合作关系和不断增长的产品知识,这些技术作家很具优势。 + +但是如果一个技术作家习惯独立工作,并依赖于领域专家的草稿作为文档的基础,那么就需要做一些调整。 + +进行一些投资以确保文档和其他与项目有关的开发工作获得所需的工具、结构和支持。 从改变[技术作家聘用习惯][2]开始。以[DevOps 的速度][3]编写文档需要重新思考内容规划,并打破DevOps 团队和支持项目的技术作家之间长期存在的隔阂。 + +DevOps 使开发团队摆脱了传统文档实践的束缚。首先,文档[完成的定义][4]必须改变。一些企业的文化使技术作家成为软件开发的被动参与者。DevOps提出了新的要求--随着 DevOps 文化的转变,技术作家的角色也应发生变化。技术作家需要(且必须适应)DevOps 提供的透明度。他们必须融入 DevOps 团队。取决于组织如何塑造这个角色,将技术作家带入团队可能会带来技能上的挑战。 + +### 文档标准、方法和规格 + +虽然 DevOps 还没有影响到技术文档本身,但开源社区已经加强了对应用编程接口(API)文档的帮助质保,已经有不同规模的企业的 DevOps 团队正在使用这些文档。 + +用于记录 API 的开源规范和工具是个非常值得关注的领域。我想这是由于[谷歌文档季][5]的影响,使得一些专业的技术作家能够接触到开源项目,并解决最关键的文档类项目。 + +开源 API 属于 DevOps文档讨论。云原生应用集成需求的重要性正在上升。[OpenAPI 规范][6]--一个定义和记录API的开放标准--是在 DevOps 环境下 API 文档的良好资源。然而,该规范会导致文档的创建和更新过程变得很费时,这使其饱受批评。 + +曾经也有短暂尝试过创建[持续文档][7],并且还有一个来自 CA(现在的Broadcom)的创建[DocOps][8]框架的运动。然而,DocOps 从来没有作为一个行业运动流行起来。 + +DevOps 文档标准的现状意味着 DevOps 团队(包括技术作家)需要在项目的最初阶段开始创建文档。要做到这一点,需要把文档作为一个敏捷故事和(同样重要的)管理期望来添加,并且把它与年度绩效评估放在一起执行。 + +### Documentation tools 文档工具 + +文档的编写应该以一种所有团队成员都可以使用的格式或平台在线进行。MediaWiki、DokuWiki、TikiWiki和其他[开源维基][9]为 DevOps 团队提供了一个编写和维护文档的中央仓库。 + +让团队选择他们的 wiki,就像让他们选择他们的其他持续集成/持续开发(CI/CD)工具链一样。开源维基强大之处在于其可扩展性。例如,DokuWiki包括一系列的扩展,你可以通过安装这些扩展来创建一个符合你的 DevOps 团队的创作要求的平台。 + +如果你有足够的野心来加强你的团队的编写和协作能力,[Nextcloud][10](一个开源的云协作套件)是一个让你的 DevOps 团队上网并给他们提供编写文档所需工具的选择。 + +### DevOps 最佳实践 + +文档在 DevOps 转型中也发挥着作用。例如,组织从 DevOps 实现效率和流程增益的最佳实践的相关记录,这些信息太重要了,不能靠着 DevOps团中之间口口相传。如果你所在的组织有多个 DevOps 团队,那么文档就是统一的力量,它可以促进最佳实践的标准化,并设置了衡量代码质量的基准指标。。 + +一般情况下,开发人员承担了记录 DevOps 实践的工作。即使他们的组织有技术作家,他们也可能跨开发团队工作。因此,开发人员和系统管理员能够捕捉、记录和交流他们的最佳实践是很重要的。这里有一些朝正确的方向发展的提示: + +* 提前花时间为 DevOps 最佳实践创建标准模板。不要陷入复制在线模板,采访利益相关者和团队来创建一个符合团队需求的模板。 +* 寻找一些方法进行信息收集,例如记录团队会议和使用聊天系统日志来作为文档的基础。 +* 建立一个用于发布最佳实践的 wiki。使用 wiki 可以跟踪编辑和更新。这样的平台可以帮助团队在最佳实践发生变化时进行更新和维护。 + +当在构建 CI/CD 工具链时记录依赖关系是非常明智的。尤其是当加入新的团队成员时,你会发现这些记录非常有用,另外当团队成员忘记一些事情时,这也是一种保险。 + +最后,自动化对 DevOps 利益相关者和从业者都很有吸引力。在自动化中断之前,一切都很有趣。拥有自动化运行手册、管理指南和其他内容的文档(并且是最新的)意味着无论何时发生故障,员工都可以让自动化重新工作。 + +### 最后一些想法 + +DevOps 对于技术文档来说是一个积极的因素。它将内容开发纳入DevOps生命周期,并打破组织文化中开发人员和技术作者之间的隔阂。没有技术作家的优势,团队就可以使用工具来加快文档创作的速度,以与DevOps的速度相匹配。 + +您的组织将如何把文档加入到 DevOps 生命周期?请在评论区分享您的经验。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/3/devops-documentation + +作者:[Will Kelly][a] +选题:[lujun9972][b] +译者:[Veryzzj](https://github.com/Veryzzj) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/willkelly +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/typewriter-hands.jpg?itok=oPugBzgv "Typewriter with hands" +[2]: https://opensource.com/article/19/11/hiring-technical-writers-devops +[3]: https://searchitoperations.techtarget.com/opinion/Make-DevOps-documentation-an-integral-part-of-your-strategy?_ga=2.73253915.980148481.1610758264-908287796.1564772842 +[4]: https://www.agilealliance.org/glossary/definition-of-done +[5]: https://developers.google.com/season-of-docs +[6]: https://swagger.io/specification/ +[7]: https://devops.com/continuous-documentation +[8]: https://www.cmswire.com/cms/information-management/the-importance-of-docops-in-the-new-era-of-business-027489.php +[9]: https://opensource.com/article/20/7/sharepoint-alternative +[10]: https://opensource.com/article/20/7/nextcloud From 4e46f57738ae4b5bd10a2e6bf286f14be7338def Mon Sep 17 00:00:00 2001 From: ZZJ Date: Thu, 8 Dec 2022 00:10:27 +0800 Subject: [PATCH 664/925] translated --- ... Useful Linux Command Line Tools that Everyone Should Use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md b/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md index 93b41aa58e..9c40df67a5 100644 --- a/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md +++ b/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/2022/06/useful-linux-command/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Veryzzj" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 0eb1cca6a0a3580aa83f3b08bca83f4249bfbe07 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 8 Dec 2022 08:48:02 +0800 Subject: [PATCH 665/925] translated --- ...Source App for Personal Relationship Management.md | 86 ------------------- ...Source App for Personal Relationship Management.md | 86 +++++++++++++++++++ 2 files changed, 86 insertions(+), 86 deletions(-) delete mode 100644 sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md create mode 100644 translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md diff --git a/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md deleted file mode 100644 index ab87277b7e..0000000000 --- a/sources/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md +++ /dev/null @@ -1,86 +0,0 @@ -[#]: subject: "Monica: An Open-Source App for Personal Relationship Management" -[#]: via: "https://itsfoss.com/monica/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Monica: An Open-Source App for Personal Relationship Management -====== - -You probably know what CRM stands for – **Customer Relationship Management**. We already have a list of [open-source CRM software][1] that helps small businesses. - -Here, I talk about an interesting open-source web application that takes the same concept for personal relationships. Sounds unique, right? - -Monica is an application that enables you to organize and record your interactions with loved ones. It is **free if you self-host it** and needs a **subscription if you need the hosted version**. - -### Monica: Keep Track of Social Interactions - -![contacts][2] - -It is tough to remember every little detail regarding your interactions with your family, friends, or colleagues. - -You can use [note-taking applications][3] or knowledge management apps like [CubyText][4] to add some information. But those are not tailored to record your interactions. So, you will have to make some effort to add the information in a manner that comes in handy when needed. - -With Monica, it becomes easier to add information about your family, work, the relation between contacts, activities, journals, reminders for important dates, debts, and more. - -You can install it on your own server or opt for a **$90/year** subscription to get the hosted version. - -It is interesting to note that the developer initially built it for his personal requirements. - -### Features of Monica - -![dashboard][5] - -You get loads of options to add information about people and interactions in your daily life. Some of these include: - -- Add notes about a person -- List names of significant others associated with a contact (their children, pets, etc.) -- Phone call logs -- Alternate contact methods for each contact -- Reminders for important dates and events with people. Birthdays are automatically set as reminders. -- Manage gift information -- Useful dashboard to see things at a glance -- Journal entry supported - -It looks like Monica comes packed with various functionalities that make it an all-in-one tool to write journals, take notes, add contact information, add events, and more. - -Unfortunately, there are no mobile apps available. You can access it from the web browser, but it may not be the best experience for everyone. So, if you stick to your smartphone for notes and stuff, you may want to look elsewhere. - -### Self-Host or Subscribe for Access - -If you want a hosted version of Monica, you can look at its [pricing page][6] to know more. - -For self-hosting, you need to head to its [GitHub page][7] and follow the instructions to download and get it installed. There are options to quickly deploy on Platform.sh or Heroku. - -Check the minimum system requirements before choosing a server to host Monica. - -There are no special premium features, and you get the same stuff when self-hosting it compared to its premium subscription for the hosted version. - -It all comes down to convenience. So, choose what sounds good to you. - -Head to its [official website][8] to get all the details and get started. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/monica/ - -作者:[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/best-open-source-crm/ -[2]: https://itsfoss.com/wp-content/uploads/2022/11/contacts.png -[3]: https://itsfoss.com/note-taking-apps-linux/ -[4]: https://news.itsfoss.com/cubytext-experimental-project/ -[5]: https://itsfoss.com/wp-content/uploads/2022/11/dashboard.png -[6]: https://www.monicahq.com/pricing -[7]: https://github.com/monicahq/monica#get-started -[8]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ diff --git a/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md new file mode 100644 index 0000000000..4da016170e --- /dev/null +++ b/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md @@ -0,0 +1,86 @@ +[#]: subject: "Monica: An Open-Source App for Personal Relationship Management" +[#]: via: "https://itsfoss.com/monica/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Monica:个人关系管理的开源应用 +====== + +你可能已经知道 CRM 代表 **客户关系管理**。 我们已经有了一份帮助小型企业的[开源 CRM 软件][1]列表。 + +在这里,我将讨论一个有趣的开源 Web 应用,它采用相同的人际关系概念。 听起来很独特,对吧? + +Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果你自行托管,它是免费的,如果你需要托管版本那么订阅**。 + +### Monica:跟踪社交互动 + +![contacts][2] + +很难记住与家人、朋友或同事互动的每一个细节。 + +你可以使用[笔记应用][3]或 [CubyText][4] 等知识管理应用来添加一些信息。 但这些并不是为记录你的互动而量身定制的。 因此,你将不得不付出一些努力,以在需要时得心应手的方式添加信息。 + +使用 Monica,添加你的家庭、工作、联系人之间的关系、活动、日记、重要日期的提醒、债务等信息变得更加容易。 + +可以将其安装在自己的服务器上或选择 **$90/年**的订阅以获得托管版本。 + +有趣的是,开发人员最初是根据他的个人要求构建它的。 + +### Monica 的特点 + +![dashboard][5] + +你可以获得大量选项来添加有关你日常生活中的人和互动的信息。 其中一些包括: + +- 添加关于一个人的注释 +- 列出与联系人相关的重要其他人的姓名(他们的孩子、宠物等) +- 通话记录 +- 每个联系人的备用联系方式 +- 重要约会和重要事件提醒。 生日会自动设置为提醒。 +- 管理礼物信息 +- 有用的仪表板,一目了然 +- 支持日记条目 + +Monica 似乎配备了各种功能,使其成为写日记、做笔记、添加联系信息、添加事件等的一体化工具。 + +不幸的是,没有可用的移动应用。 你可以从 Web 浏览器访问它,但它可能不是每个人的最佳体验。 所以,如果你坚持用智能手机做笔记和其他东西,你可能想看看其他的。 + +### 自托管或订阅访问 + +如果你想要 Monica 的托管版本,可以查看它的[定价页面][6]了解更多信息。 + +对于自托管,你需要前往其 [GitHub 页面][7]并按照说明下载并安装它。 可以选择在 Platform.sh 或 Heroku 上快速部署。 + +在选择服务器来托管 Monica 之前,请检查最低系统要求。 + +没有特殊的高级功能,与托管版本的高级订阅相比,你在自行托管时获得相同的东西。 + +这一切都很方便。 所以,选择对你来说不错的。 + +前往其[官方网站][8]获取所有详细信息并开始使用。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/monica/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/best-open-source-crm/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/contacts.png +[3]: https://itsfoss.com/note-taking-apps-linux/ +[4]: https://news.itsfoss.com/cubytext-experimental-project/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/dashboard.png +[6]: https://www.monicahq.com/pricing +[7]: https://github.com/monicahq/monica#get-started +[8]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ From 1ac264b20b38d38d7c52a430aa3b57082e85f9f6 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 8 Dec 2022 08:55:50 +0800 Subject: [PATCH 666/925] translating --- .../tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md index 7cc31a09ec..e43830f831 100644 --- a/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md +++ b/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 8fa78d085841c43b8c49a0019e11f031b7717638 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 8 Dec 2022 09:46:53 +0800 Subject: [PATCH 667/925] RP @geekpi https://linux.cn/article-15328-1.html --- ...⭐️ Get to know Lua for loops in 4 minutes.md | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md (64%) diff --git a/translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/published/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md similarity index 64% rename from translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md rename to published/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md index f2753b859d..8f382efbce 100644 --- a/translated/tech/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md +++ b/published/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md @@ -3,18 +3,22 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15328-1.html" -4 分钟了解 Lua for 循环 +了解 Lua 的 for 循环 ====== -在编程中,迭代是一个重要的概念,因为代码通常必须多次扫描一组数据,以便它可以单独处理每个项目。控制结构使你能够根据通常在程序运行时动态建立的条件来指导程序的流程。不同的语言提供不同的控制,在 [Lua][1] 中,有 while 循环、for 循环和 repeatuntil 循环。本文介绍 for 循环。我将在另一篇文章中介绍 while 和 repeat until 循环。 +![][0] -### For 循环 +> 了解 for 循环结构和你在控制它时拥有的选项,这样你可以对如何在 Lua 中处理数据做出聪明的决定。 -for 循环采用已知数量的项目并确保处理每个项目。“项目”可以是数字。它也可以是一个包含多个条目或任何 Lua 数据类型的表。语法和逻辑有点灵活,但语法允许这些参数,每个参数本质上描述了一个计数器: +在编程中,迭代是一个重要的概念,因为代码通常必须多次扫描一组数据,以便它可以单独处理每个项目。控制结构使你能够根据通常在程序运行时动态建立的条件来指导程序的流程。不同的语言提供不同的控制,在 [Lua][1] 中,有 `while` 循环、`for` 循环和 `repeat until` 循环。本文介绍 `for` 循环。我将在另一篇文章中介绍 `while` 和 `repeat until` 循环。 + +### for 循环 + +`for` 循环接受已知数量的项目并确保处理每个项目。“项目”可以是数字,它也可以是一个包含多个条目或任何 Lua 数据类型的表。语法和逻辑有点灵活,但语法允许这些参数,每个参数本质上描述了一个计数器: - 计数器的起始值 - 停止值 @@ -32,7 +36,10 @@ end 运行代码以确保所有三个项目都得到处理: ``` -$ lua ./for.lua3: apocalypse2: Halloween1: zombie +$ lua ./for.lua +3: apocalypse +2: Halloween +1: zombie ``` 这段代码有效地“反向”处理了表,因为它是倒数。你可以正数: @@ -46,7 +53,10 @@ end 此示例从最低索引到最高索引处理表: ``` -$ lua ./for.lua1: zombie2: Halloween3: apocalypse +$ lua ./for.lua +1: zombie +2: Halloween +3: apocalypse ``` ### 增量 @@ -90,7 +100,7 @@ end 此代码创建一个变量,其中包含启动时的时间戳。如果时间戳是偶数(除以 2 时模数为 0),则只将时间戳放入表中。如果时间戳是奇数,它将三个字符串放入一个表中。 -现在你无法确定您的 for 循环需要运行多少次。可能是一次或是三次,但没有办法确定。解决方案是将起始计数设置为 1,将最终计数设置为表的长度(`#mytable` 是确定表长度的内置快捷方式)。 +现在你无法确定你的 `for` 循环需要运行多少次。可能是一次或是三次,但没有办法确定。解决方案是将起始计数设置为 1,将最终计数设置为表的长度(`#mytable` 是确定表长度的内置快捷方式)。 可能需要多次运行脚本才能看到这两个结果,但最终,你会得到如下结果: @@ -104,7 +114,7 @@ baz ### 带 pairs 和 ipairs 的 for 循环 -如果你已经阅读了我关于[表迭代][2]的文章,那么你已经熟悉了 Lua 中最常见的 for 循环之一。这个使用 `pairs` 或 `ipairs` 函数来迭代一个表: +如果你已经阅读了我关于 [表迭代][2] 的文章,那么你已经熟悉了 Lua 中最常见的 `for` 循环之一。这个使用 `pairs` 或 `ipairs` 函数来迭代一个表: ``` mytable = { "zombie", "Halloween", "apocalypse" } @@ -113,15 +123,15 @@ for i,v in ipairs(mytable) do end ``` -`pairs` 和 `ipairs` 函数“解包”表并将值转储到你提供的变量中。在此示例中,我将 `i` 用于 _index_,将 `v` 用于 _value_,但变量名称无关紧要。 +`pairs` 和 `ipairs` 函数“解包”表并将值转储到你提供的变量中。在此示例中,我将 `i` 用于 _索引_,将 `v` 用于 _值_,但变量名称无关紧要。 ``` $ lua ./for.lua1: zombie2: Halloween3: apocalypse ``` -### For 循环 +### for 循环 -for 循环结构在编程中很常见,由于经常使用表和 pairs 函数,因此在 Lua 中非常常见。了解 for 循环结构和控制它时的选项意味着你可以就如何在 Lua 中处理数据做出明智的决定。 +`for` 循环结构在编程中很常见,由于经常使用表和 `pairs` 函数,因此在 Lua 中非常常见。了解 `for` 循环结构和控制它时的选项意味着你可以就如何在 Lua 中处理数据做出明智的决定。 -------------------------------------------------------------------------------- @@ -130,7 +140,7 @@ via: https://opensource.com/article/22/11/lua-for-loops 作者:[Seth Kenlon][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/) 荣誉推出 @@ -138,3 +148,4 @@ via: https://opensource.com/article/22/11/lua-for-loops [b]: https://github.com/lkxed [1]: https://opensource.com/article/22/11/lua-worth-learning [2]: https://opensource.com/article/22/11/iterate-over-tables-lua +[0]: https://img.linux.net.cn/data/attachment/album/202212/08/094609xg8sgk832t0y6s68.jpg \ No newline at end of file From 56823c86e10b9dc2e34131254cab158abd25ee4d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 8 Dec 2022 12:17:53 +0800 Subject: [PATCH 668/925] RP @robsean https://linux.cn/article-15329-1.html --- ...to Change Login Screen Background in Ubuntu.md | 103 +++++++++++++++++ ...to Change Login Screen Background in Ubuntu.md | 107 ------------------ 2 files changed, 103 insertions(+), 107 deletions(-) create mode 100644 published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md delete mode 100644 translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md diff --git a/published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md new file mode 100644 index 0000000000..1c1701997a --- /dev/null +++ b/published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md @@ -0,0 +1,103 @@ +[#]: subject: "How to Change Login Screen Background in Ubuntu" +[#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15329-1.html" + +如何更改 Ubuntu 的登录屏幕背景 +====== + +![][0] + +> 这篇指南可以让你如何摆脱 Ubuntu 的无趣的登录背景屏幕,并在你每次登录时设置一张漂亮的图片来欢迎你。 + +我总是认为,在你启动你的系统后,应该有一个漂亮的登录屏幕来欢迎你。这本身就为你即将开始的工作或活动渲染了愉快的氛围。尽管,我不是一名 Windows 的粉丝,但是我很欣赏 Windows 10 的登录背景都会每天随着 Bing 壁纸进行更改,它看起来好极了,对吧? + +前段时间,我们讨论了如何 [更改 Fedora 的登录屏幕背景][1] 和 [更改 elementary OS 的登录屏幕背景][2] 。现在这篇指南将向你解释,如何更改使用 GNOME Shell 的 Ubuntu 的登录屏幕背景。 + +登录屏幕背景是显示管理器(DM)属性的一部分。这篇指南将使用一位用户在 GitHub 中创建的一个脚本,使得普通用户也能简单易用。否则,你需要在提取 `.gresource` 文件后,必须手动更改 Gnome 显示管理器Gnome Display Manager(GDM)的 CSS 文件,接下来再编译它。一般来说,这是很复杂的。 + +![Ubuntu 登录屏幕 – 在更改前][3] + +### 更改 Ubuntu 的登录背景 + +打开一个终端(按下组合键 `CTRL+ALT+T`)。 + +使用下面的命令,下载这个 [GitHub 仓库][4] : + +``` +wget github.com/thiggy01/change-gdm-background/raw/master/change-gdm-background +``` + +**注意**: 如果你没有 `wget` ,使用 `sudo apt install wget` 来安装它。 + +> **Ubuntu 22.04 Jammy Jellyfish** 用户需要更改一些额外的代码来使其工作,因为,在 GitHub 仓库中,开发者没有修复它。因此,在这里你需要自己来更改。 +> +> 使用 gedit 来打开 `change-gdm-background` 文件。接下来,转到下面的行(`#15`) 并添加 `|jammy` 。 +> +> ![脚本更改为允许 jammy][5] +> +> 接下来,转到下面的两行(`#144` 和 `#184`)。将 `gdm3.css` 更改为 `gdm.css` 。如下图所示。 +> +> ![修正针对 gdm 的 css 文件][6] +> +> 最后,保存文件,并遵循如下的操作指南。这种解决方法只适用于 Ubuntu 22.04 的登录屏幕的更改。 + +更改脚本的权限来使其可执行: + +``` +chmod +x change-gdm-background +``` + +接下来,更改 Ubuntu 的登录背景壁纸,使用下面的命令。按照你的图片相应地更改路径: + +``` +sudo ./change-gdm-background ~/Pictures/tree.jpg +``` + +这一步骤可能需要 `libglib2.0-dev` 软件包,它将会自动地安装。提取和编译 `.gresource` 会用到它。 + +在安装后,它应该会提示你重新启动 GDM 。慎重起见,按下 `N` 按键。 + +注销后,你可以看到更改后的 Ubuntu 的背景。 + +如果你没有看到更改,尝试重新启动你的系统,然后尝试登录。 + +![在更改后的,Ubuntu 的登录屏幕背景][7] + +### 恢复先前的登录屏幕 + +该脚本也提供了一种恢复先前的登录屏幕的特色功能。它在更改你的 `.gresource` 文件前,会将其进行备份。因此,恢复先前的登录屏幕,只需要在终端中简单地运行下面的命令。 + +``` +sudo ./change-gdm-background --restore +``` + +这应该会将其登录屏幕更改回其先前的形式。 + +请在下面的评论框中,让我知道这篇指南的内容是否对你有效果,这应该适用于所有的最新版本的 Ubuntu Linux 。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/change-login-background-ubuntu/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robsean) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/2021/09/change-login-background-fedora/ +[2]: https://www.debugpoint.com/2021/07/change-lock-login-screen-background-elementary-os/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-before-change-1024x539.jpg +[4]: https://github.com/thiggy01/change-gdm-background +[5]: https://www.debugpoint.com/wp-content/uploads/2022/09/script-change-to-allow-jammy.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/09/correct-the-css-file-for-gdm.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-After-Change-1024x538.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202212/08/121701hdfufrlqe4qtdtel.jpg \ No newline at end of file diff --git a/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md deleted file mode 100644 index 844e2e9396..0000000000 --- a/translated/tech/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md +++ /dev/null @@ -1,107 +0,0 @@ -[#]: subject: "How to Change Login Screen Background in Ubuntu" -[#]: via: "https://www.debugpoint.com/change-login-background-ubuntu/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何更改 Ubuntu 的登录屏幕背景 -====== - -**这是让你如何摆脱 Ubuntu 的无趣的登录背景屏幕,并在你每次登录时设置一张极好的图片来欢迎你的指南。** - -我总是认为,在你启动你的系统后,一个极好的登录屏幕来欢迎你,是一件美妙的事。这本身就为你即将开始的工作或活动渲染了愉快的氛围。尽管,我不是一名 Windows 的粉丝,但是我很欣赏 Windows 10 的登录背景都会每天随着 Bing 壁纸进行更改,它看起来好极了,不是吗? - -前段时间,我们讨论了如何 [更改 Fedora 的登录屏幕背景][1] 和 [更改 elementary OS 的登录屏幕背景][2] 。现在这篇指南将向你解释,如何更改使用 GNOME Shell 的 Ubuntu 的登录屏幕背景。 - -登录屏幕背景是显示管理器属性的一部分。这篇指南将使用一位用户在 GitHub 中创建的一个脚本,来使普通的用户能够纵享丝滑。否则,在提取 `.gresource` 文件后,你必须手动更改 Gnome 显示管理器Gnome Display Manager (gdm) 的 CSS 文件,接下来再编译它 – 一般来说,这是很复杂的。 - -![Ubuntu Login screen - before change][3] - -Ubuntu 登录屏幕 – 在更改前 - -### 更改 Ubuntu 的登录背景 - -- 打开一个终端 (按下组合键 CTRL+ALT+T) - -- 下载 [GitHub repo][4] ,使用下面的命令。 - -``` -wget github.com/thiggy01/change-gdm-background/raw/master/change-gdm-background -``` - -**注意**: 如果你没有 wget ,使用 `sudo apt install wget` 来安装它 - -**Ubuntu 22.04 Jammy Jellyfish** 用户需要更改一些额外的代码来使其工作,因为,在 GitHub 中,开发者没有修复它。因此,在这里你需要自己来更改。 - -使用 gedit 来打开 `change-gdm-background` 文件。接下来,转到下面的行 (#15) 并添加 `|jammy` 。 - -![script change to allow jammy][5] - -脚本更改为允许 jammy - -接下来,转到下面的两行 (#144 和 #184)。将 `gdm3.css` 更改为 `gdm.css` 。如下图所示。 - -![correct the css file for gdm][6] - -修正针对 gdm 的 css 文件 - -最后,保存文件,并遵循如下的操作指南。这种解决方法只适用于 Ubuntu 22.04 的登录屏幕的更改。 - -- 更改脚本的权限来使其可执行 - -``` -chmod +x change-gdm-background -``` - -- 接下来,更改 Ubuntu 的登录背景壁纸,使用下面的命令。按照你的图片相应地更改路径 - -``` -sudo ./change-gdm-background ~/Pictures/tree.jpg -``` - -这一步骤可能需要 `libglib2.0-dev` 软件包,它将会自动地安装。提取/编译 `.gresource` 会用到它 - -在安装后,它应该会提示你重新启动 gdm 。慎重起见,按下 N 按键。 - -- 注销后,你可以看到更改后的 Ubuntu 的背景。 -- 如果你没有看到更改,尝试重新启动你的系统,然后尝试登录。 - -![Ubuntu Login screen After Change][7] - -在更改后的,Ubuntu 的登录屏幕背景 - -### 恢复先前的登录屏幕 - -该脚本也提供了一种恢复先前的登录屏幕的特色功能。它在更改你的 `.gresource` 文件前,会将其进行备份。因此,恢复先前的登录屏幕,只需要在终端中简单地运行下面的命令。 - -``` -sudo ./change-gdm-background --restore -``` - -这应该会将其登录屏幕更改回其先前的形式。 - -在下面的评论框中,让我知道这篇指南的内容是否对你有效果,这应该适用于所有的最新版本的 Ubuntu Linux 。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/change-login-background-ubuntu/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[robsean](https://github.com/robsean) -校对:[校对者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/2021/09/change-login-background-fedora/ -[2]: https://www.debugpoint.com/2021/07/change-lock-login-screen-background-elementary-os/ -[3]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-before-change-1024x539.jpg -[4]: https://github.com/thiggy01/change-gdm-background -[5]: https://www.debugpoint.com/wp-content/uploads/2022/09/script-change-to-allow-jammy.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/09/correct-the-css-file-for-gdm.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2021/09/Ubuntu-Login-screen-After-Change-1024x538.jpg From c9b5c85c26004af36e5e8b5989e6ae0da08fa6bd Mon Sep 17 00:00:00 2001 From: yzuowei Date: Thu, 8 Dec 2022 16:28:44 +0800 Subject: [PATCH 669/925] translating... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 申请翻译 --- .../20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md index ae3e114946..de4bcc876e 100644 --- a/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md +++ b/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/64-bit-math" [#]: author: "Jerome Shidel https://opensource.com/users/shidel" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "yzuowei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b81d766c9ca56d5ba7676090540416e3541c3525 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 8 Dec 2022 17:11:16 +0800 Subject: [PATCH 670/925] ALL @wxy https://linux.cn/article-15330-1.html --- ... Year Brings a Lot of Early Christmas Gifts.md | 134 +++++++++++++++++ ... Year Brings a Lot of Early Christmas Gifts.md | 136 ------------------ 2 files changed, 134 insertions(+), 136 deletions(-) create mode 100644 published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md delete mode 100644 sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md diff --git a/published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md b/published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md new file mode 100644 index 0000000000..d3c3370180 --- /dev/null +++ b/published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md @@ -0,0 +1,134 @@ +[#]: subject: "Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts" +[#]: via: "https://news.itsfoss.com/kali-linux-2022-4-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15330-1.html" + +Kali Linux 发布今年最后一个版本 +====== + +> Kali Linux 2022.4 现在已经可以下载了。从这里了解它的新内容。 + +![Kali Linux 今年的最后一次更新早早带来了很多圣诞礼物][1] + +Kali Linux 是一个开源的、基于 Debian 的发行版,专注于渗透测试和安全审计。 + +它由各种工具、配置和自动化脚本组成,以帮助你实现这一目标。 + +作为今年的最后一个版本,**Kali Linux 2022.4** 与其 [前一个版本][2] 相比有许多改进。 + +让我带你了解这个版本。 + +### 🆕 有什么新变化? + +![kali linux 22.04][3] + +Kali Linux 2022.4 以更新的形式早早带来了圣诞礼物;这里有一些快乐的东西!🎄 + +- Linux 内核 6.0 +- 返回微软 Azure 市场 +- 支持 Pine 64 的 PinePhone +- 新的桌面环境 +- QEMU 镜像 +- 新的工具 + +#### 支持 Pine 64 的 PinePhone + +![kali linux nethunter pro on pinephone pro][4] + +Kali Linux 现在已经正式支持 Pine 64 的 PinePhone 和 PinePhone Pro。 + +这种支持是以一种新的以移动为重点的发行版的形式出现的,名为 “Kali NetHunter Pro”。 + +他们把它标记为 Kali Linux 和 [NetHunter][5] 的一个新的起点;这个发行版已经为移动设备进行了优化,可以从 SD 卡上与主操作系统一起双启动。 + +此外,他们还暗示未来将发布 Kali NetHunter Pro 的替代版本。 + +这些版本将以 Plasma Mobile 为特色,同时提供了新的安装程序,可以将 Kali NetHunter Pro 安装到设备的内部闪存中。 + +#### 返回微软 Azure 市场 + +![kali linux 22.04 Azure Marketplace][6] + +在离开 Azure 市场很长时间后,Kali Linux 终于被 [添加回来][7] 了。 + +Kali Linux 背后的公司 [Offensive Security][8] 提到,借助 [kali-cloud build-scripts][9],现在发布过程已经自动化了。 + +用户现在将享受与他们的 [亚马逊 AWS 镜像][10] 相同的一致性水平。 + +#### 新的桌面环境 + +![kali linux 22.04 with gnome 43][11] + +通常情况下,Kali Linux 使用轻量级的 Xfce 桌面环境作为其默认的桌面环境。 + +但现在,它也支持最近的 KDE Plasma 和 GNOME。 + +**在 Plasma 方面:** Kali Linux 现在采用了 KDE Plasma 5.26;改善了整体的桌面体验,并引入了许多调整和改进。 + +**在 GNOME 方面:** 包括了 [GNOME 43][12] 的常规增强,他们也增加了一些自己的调整。 + +在 [adw-gtk3][13] 项目的基础上增加了一个新的基于 GTK3 的主题,并加入了一些 Kali 的调整。 + +然后,新的 GNOME 文本编辑器取代了 Gedit,并带有一个更新的 Kali 主题。 + +#### QEMU 镜像 + +他们还在预生成的镜像库中增加了一个新的 [QEMU 镜像][14],希望它能让人们更容易在 [Proxmox Virtual Environments][15]、[virt-manager][16] 或 [libvirt][17] 等自托管环境中部署 Kali Linux。 + +#### 🛠️ 其他变化/改进措施 + +除了上述变化,还有其他几个值得注意的变化: + +- 增强了对 Kali NetHunter 的蓝牙支持。 +- 增加了 Kali 对树莓派镜像烧录工具的支持。 +- USBArmory MKII 中的 u-boot 引导加载器已经更新到 2022.10。 +- 更新了各种 Kali 文档。 +- 新的工具,如 bloodhound.py、certipy、rizin-cutter 等等。 +- 重新打造了 Kali Linux 的社交媒体渠道。 + +你可以通过 [发布公告][18] 来了解更多技术细节。 + +### 📥 下载 Kali Linux 2022.4 + +Kali Linux 2022.4 已经在 [官方网站][19] 上提供了。 + +> **[Kali Linux 2022.4][19]** + +你可以选择适合你的要求的镜像并下载它。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kali-linux-2022-4-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/kali-linux-2022-04-release.jpg +[2]: https://news.itsfoss.com/kali-linux-2022-3-release/ +[3]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4.png +[4]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_NetHunter_Pro.jpg +[5]: https://www.kali.org/docs/nethunter/ +[6]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_Azure.jpg +[7]: https://azuremarketplace.microsoft.com/en/marketplace/apps/kali-linux.kali +[8]: https://www.offensive-security.com +[9]: https://gitlab.com/kalilinux/build-scripts/kali-cloud +[10]: https://aws.amazon.com/marketplace/pp/prodview-fznsw3f7mq7to +[11]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_GNOME43.jpg +[12]: https://news.itsfoss.com/gnome-43-release/ +[13]: https://github.com/lassekongo83/adw-gtk3 +[14]: https://qemu-project.gitlab.io/qemu/system/images.html +[15]: https://www.proxmox.com/en/proxmox-ve +[16]: https://virt-manager.org +[17]: https://libvirt.org +[18]: https://www.kali.org/blog/kali-linux-2022-4-release/#desktop-updates +[19]: https://www.kali.org/get-kali/ diff --git a/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md b/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md deleted file mode 100644 index 62db7e3017..0000000000 --- a/sources/news/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md +++ /dev/null @@ -1,136 +0,0 @@ -[#]: subject: "Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts" -[#]: via: "https://news.itsfoss.com/kali-linux-2022-4-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts -====== - -Kali Linux 2022.4 is now available to download. Learn what's new here. - -![Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts][1] - -Kali Linux is an open-source, Debian-based distro focusing on penetration testing and security auditing. - -It consists of various tools, configurations, and automation to help you achieve that. - -Dubbed as the final release of this year, **Kali Linux 2022.4** promises many improvements over its [predecessor][2]. - -Let me take you through this release. - -### 🆕 What's New? - -![kali linux 22.04][3] - -Kali Linux 2022.4 comes bearing early Christmas gifts in the form of updates; here are some of the merry ones! 🎄 - -- **Linux Kernel 6.0** -- **Return to the Microsoft Azure Marketplace** -- **Pine 64 PinePhone Support** -- **New Desktop Environments** -- **QEMU image** -- **New Tools** - -#### Recommended Read 📖 - -#### Pine 64 PinePhone Support - -![kali linux nethunter pro on pinephone pro][4] - -Kali Linux now has official support for the Pine 64 PinePhone and PinePhone Pro. - -This support has come in the form of a new mobile-focused distro called '**Kali NetHunter Pro**'. - -They are marking it as a new beginning for Kali Linux and [NetHunter][5]; this distro has been optimized for mobile devices and can be dual-booted alongside the main OS from an SD card. - -In addition, they have also hinted at a future release of alternative versions of Kali NetHunter Pro. - -These will feature Plasma Mobile alongside new installers for installing Kali NetHunter Pro onto the internal flash memory of a device. - -#### Return to the Microsoft Azure Marketplace - -![kali linux 22.04 azure marketplace][6] - -After being absent from the Azure Marketplace for a long time, Kali Linux was finally [added back][7]. - -[Offensive Security][8], the company behind Kali Linux, mentions that the publishing process has now been automated thanks to [kali-cloud build-scripts][9]. - -Users will now enjoy the same consistency level as their [Amazon AWS image][10]. - -#### New Desktop Environments - -![kali linux 22.04 with gnome 43][11] - -Usually, Kali Linux uses the lightweight Xfce desktop environment as its default desktop environment. - -But now, it also features support for the recent KDE Plasma and GNOME versions. - -**In the case of Plasma:** Kali Linux now features KDE Plasma 5.26; it is meant to improve the overall desktop experience and has bought in many tweaks and improvements. - -**In the case of GNOME:** Including the usual enhancements with [GNOME 43][12], they have also added a few tweaks of their own. - -A new GTK3-based theme has been added based on the [adw-gtk3][13] project with a few of Kali's tweaks. - -Then, the new 'gnome-text-editor' replaces 'gedit' and comes with an updated Kali theme. - -#### QEMU image - -They have also added a new [QEMU image][14] to their pre-generated image library in the hopes that it will make it easier for people to implement Kali Linux on self-hosted environments like [Proxmox Virtual Environments][15], [virt-manager][16], or [libvirt][17]. - -#### 🛠️ Other Changes/Improvements - -Besides the above changes, there are several other notable ones: - -- Enhanced Bluetooth support for Kali NetHunter. -- Addition of Kali to Raspberry Pi Imager. -- The u-boot bootloader in USBArmory MKII has been updated to 2022.10. -- Updates to various Kali Documentation. -- New tools such as **bloodhound.py**, **certipy**, **rizin-cutter,** and a few more. -- Revamped social media channels of Kali Linux. - -You can go through the [release announcement][18] to get into the more technical details. - -### 📥 Download Kali Linux 2022.4 - -Kali Linux 2022.4 has been made available on the [official website][19]. - -[Kali Linux 2022.4][19] - -You can choose the image suitable for your requirements and download it. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/kali-linux-2022-4-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/kali-linux-2022-04-release.jpg -[2]: https://news.itsfoss.com/kali-linux-2022-3-release/ -[3]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4.png -[4]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_NetHunter_Pro.jpg -[5]: https://www.kali.org/docs/nethunter/ -[6]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_Azure.jpg -[7]: https://azuremarketplace.microsoft.com/en/marketplace/apps/kali-linux.kali -[8]: https://www.offensive-security.com -[9]: https://gitlab.com/kalilinux/build-scripts/kali-cloud -[10]: https://aws.amazon.com/marketplace/pp/prodview-fznsw3f7mq7to -[11]: https://news.itsfoss.com/content/images/2022/12/Kali-Linux-2022.4_GNOME43.jpg -[12]: https://news.itsfoss.com/gnome-43-release/ -[13]: https://github.com/lassekongo83/adw-gtk3 -[14]: https://qemu-project.gitlab.io/qemu/system/images.html -[15]: https://www.proxmox.com/en/proxmox-ve -[16]: https://virt-manager.org -[17]: https://libvirt.org -[18]: https://www.kali.org/blog/kali-linux-2022-4-release/#desktop-updates -[19]: https://www.kali.org/get-kali/ From ba3199b78a22bb5124ed7de6ffdbc9e1f2733842 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Thu, 8 Dec 2022 17:22:19 +0800 Subject: [PATCH 671/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 156 ----------------- ...⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 157 ++++++++++++++++++ 2 files changed, 157 insertions(+), 156 deletions(-) delete mode 100644 sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md create mode 100644 translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md diff --git a/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md deleted file mode 100644 index de4bcc876e..0000000000 --- a/sources/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md +++ /dev/null @@ -1,156 +0,0 @@ -[#]: subject: "Doing 64-bit math on a 16-bit system" -[#]: via: "https://opensource.com/article/22/10/64-bit-math" -[#]: author: "Jerome Shidel https://opensource.com/users/shidel" -[#]: collector: "lkxed" -[#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Doing 64-bit math on a 16-bit system -====== - -With a little basic understanding of assembly, these functions could be scaled to do math on integers of any bit size. - -A few years ago, I wrote a command-line math program for FreeDOS called VMATH. It was capable of performing only extremely simple mathematical operations on very small unsigned integers. With some recent interest in basic math in the FreeDOS community, I improved VMATH to provide basic math support on signed 64-bit integers. - -The process of manipulating big numbers using only 16-bit 8086 compatible assembly instructions is not straightforward. I would like to share some samples of the techniques used by VMATH. Some of the methods used are fairly easy to grasp. Meanwhile, others can seem a little strange. You may even learn an entirely new way of performing some basic math. - -The techniques explained here to add, subtract, multiply, and divide 64-bit integers are not limited to just 64-bits. With a little basic understanding of assembly, these functions could be scaled to do math on integers of any bit size. - -Before digging into those math functions, I want to cover some basics of numbers from the computer's perspective. - -### How computers read numbers - -An Intel-compatible CPU stores the value of numbers in bytes from least to most significant. Each byte is made up of 8 binary bits and two bytes make up a word. - -A 64-bit number that is stored in memory uses 8 bytes (or 4 words). For example, a value of 74565 (0x12345in hexadecimal) looks something like this: - -``` -as bytes: db 0x45, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 -as words: dw 0x2345, 0x0001, 0x0000, 0x0000 -``` - -When reading or writing data to memory, the CPU processes the bytes in the correct order. On a processor more modern than an 8086, there can be larger groups, such as a quadword which can represent the entire 64-bit integer as **0x0000000000012345**. - -The 8086 CPU doesn't understand such gigantic numbers. When writing a program for FreeDOS, you want something that can run on any PC, even an original IBM PC 5150. You also want to use techniques that can be scaled to any size integer. The capabilities of a more modern CPU do not really concern us. - -For the purpose of doing integer math, the data can represent two different types of numbers. - -The first is unsigned which uses all of its bit to represent a positive number. Their value can be from **0** up to **(2 ^ (numberofbits) - 1)**. For example, 8 bits can have any value from **0** to **255**, with 16 bits ranging from **0** to **65535**, and so on. - -Signed integers are very similar. However, the most significant bit of the number represents whether the number is positive (**0**) or negative (**1**). The first portion of the number is positive. It can range from **0** up to **(2 ^ (numberofbits - 1) - 1)**. The negative portion follows the positive, ranging from its lowest value **(0-(2 ^ (numberofbits - 1)))** up to **-1**. - -For example, an 8-bit number represents any value from **0** to **127** in the positive range, and **-128** through **-1** in the negative range. To help visualize it, consider the **byte** as the set of numbers **[0…127,-128…-1]**. Because **-128** follows **127** in the set, adding **1** to **127** equals **-128**. While this may seem strange and backward, it actually makes doing basic math at this level much easier. - -To perform basic addition, subtraction, multiplication, and division of very big integers, you should explore some simple routines to get a number's absolute or negative value. You will need them once you start doing math on signed integers. - -### Absolute and negative values - -Getting the absolute value of a signed integer is not as bad as it may first seem. Because of how unsigned and signed numbers are represented in memory, there is a fairly easy solution. You can simply invert all the bits of a negative number and add **1** to get the result. - -That might sound odd if you haven't worked in binary before, but that is how works. To give you an example, take an 8-bit representation of a negative number, such as **-5**. Since it would be near the end of the **[0…127,-128…-1]** byte set, it would have a value of **0xfb** in hexadecimal, or **11111011** in binary. If you flip all the bits, you get **0x04**, or **00000100** in binary. Add **1** to that result and you have the answer. You just changed the value from **-5** to **+5**. - -You can write this procedure in assembly to return the absolute value of any 64-bit number: - -``` -; syntax, NASM for DOS -proc_ABS: -  ; on entry, the SI register points to the memory location in the -  ; data segment (DS) for the program containing the 64-bit -  ; number that will be made positive. -  ; On exit, the Carry Flag (CF) is set if resulting number can -  ; not be made positive. This only happens with maximum -  ;  negative value. Otherwise, CF is cleared. -  ; check most significant bit of highest byte -  test [si+7], byte 0x80 -  ; if not set, the number is positive -  jz .done_ABS -  ; flip all the bits of word #4 -  not word [si+6] -  not word [si+4]       ; word #3 -  not word [si+2]       ; word #2 -  not word [si]                 ; word #1 -  ; increment the 1st word -  inc word [si] -  ; if it did not roll over back to zero, done -  jnz .done_ABS -  ; increment the 2nd word -  inc word [si+2] -  ; if it rolled over, increment the next word -  jnz .done_ABS -  inc word [si+4] -  jnz .done_ABS -  ; this cannot roll over -  inc word [si+6] -  ; check most significant bit once more -  test [si+7], byte 0x80 -  ; if it is not set we were successful, done -  jz .done_ABS -  ; overflow error, it reverted to Negative -  stc -  ; set Carry Flag and return -  ret -.done_ABS: -  ; Success, clear Carry Flag and return -  clc -  ret -``` - -As you may have noticed in the example, there is an issue that can occur in the function. Because of how positive and negative numbers are represented as binary values, the maximum negative number cannot be made positive. For 8-bit numbers, the maximum negative value is **-128**. If you flip all of the bits for **-128** (binary1__0000000), you get **127** (binary0__1111111) the maximum positive value. If you add **1** to that result, it will overflow back to the same negative number (-128). - -To turn a positive number negative, you can just repeat the process you used to get the absolute value. The example procedure is very similar, except you want to make sure the number is not already negative at the start. - -``` -; syntax, NASM for DOS -proc_NEG: -  ; on entry, the SI points to the memory location -  ; for the number to be made negative. -  ; on exit, the Carry Flag is always clear. -  ; check most significant bit of highest byte -  test [si+7], byte 0x80 -  ; if it is set, the number is negative -  jnz .done_NEG -  not word [si+6]       ; flip all the bits of word #4 -  not word [si+4]       ; word #3 -  not word [si+2]       ; word #2 -  not word [si]                 ; word #1 -  inc word [si]                 ; increment the 1st word -  ; if it did not roll over back to zero, done -  jnz .done_NEG -  ; increment the 2nd word -  inc word [si+2] -  ; if it rolled over, increment the next word -  jnz .done_NEG -  inc word [si+4] -  jnz .done_NEG -  ; this cannot roll over or revert back to -  inc word [si+6] -  ; positive. -.done_NEG: -  clc                   ; Success, clear Carry Flag and return -  ret -``` - -With all of that shared code between the absolute and negative functions, they should be combined to save some bytes. There are additional benefits when such code is combined. For one, it helps prevent simple typographic errors. It also can reduce testing requirements. Moreover, the source generally becomes easier to read, follow, and understand. Sometimes with a long series of assembly instructions, it is easy to lose track of what is actually happening. But for now, we can move along. - -Getting the absolute or negative value of a number was not very difficult. But, those functions will be critically important later on when we start doing math on signed integers. - -Now that I've covered the basics of how integer numbers are represented at the bit level and created a couple of basic routines to manipulate them a little, we can get to the fun stuff. - -Let's do some math! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/64-bit-math - -作者:[Jerome Shidel][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/shidel -[b]: https://github.com/lkxed - diff --git a/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md new file mode 100644 index 0000000000..da47247bb9 --- /dev/null +++ b/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -0,0 +1,157 @@ +[#]: subject: "Doing 64-bit math on a 16-bit system" +[#]: via: "https://opensource.com/article/22/10/64-bit-math" +[#]: author: "Jerome Shidel https://opensource.com/users/shidel" +[#]: collector: "lkxed" +[#]: translator: "yzuowei " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在16位系统上做64位数学 +====== + +只需要一点点汇编的基础理解,这些函数就能适应体任意大小的整型数学运算。 + +几年前,我为 FreeDOS 写了一个命令行数学程序叫做 VMATH。它可以在很小的无符号整型上执行十分简单的数学运算。出于近来对 FreeDOS 社区里基本数学的兴趣,我改进了 VMATH 使其可以为有符号64位整型提供基本的数学支持。 + +仅使用兼容16位 8086 的汇编来操控大型数字的过程并不直接。我希望能够分享一些在 VMATH 中用到的技术的例子。其中一些方法掌握起来还挺容易。同时,也有着别的看起来有点奇怪的方法。你甚至可能学到一种全新的进行基本数学运算的方式。 + +接下来要讲的加,减,乘,除会用到的技术将不局限于将不局限于64位整型。只需要一点点汇编的基础理解,这些函数就能适应任意大小的整型数学运算。 + +在深挖这些数学函数前,我想要覆盖一些计算机看数字的基础视角。 + +### 计算机是如何读取数字的 + +一个兼容 Intel 的 CPU 以字节 (byte) 的形式贮存数字,储存顺序为从最低有效字节到最高有效字节。每个字节由8个二进位组成,两个字节组成一个字 (word)。 + +一个储存在内存里的64位整型占用了8个字节 (或4个字)。例如,数字74565(十六进制表示为0x12345)的值长得是这个样子的: + +``` +as bytes: db 0x45, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +as words: dw 0x2345, 0x0001, 0x0000, 0x0000 +``` + +当读取或写入数据到内存时,CPU 会以正确的顺序处理这些字节。对于一个比 8086 更现代的处理器而言,数据组可以再大些,比如一个四字组就可以表达整个64为整型为 **0x0000000000012345**。 + +8086 CPU 不能理解这么大的数字。当为 FreeDOS 编程时,你想要写的是一个能在任意电脑上跑的程序,甚至是早期的 IBM PC 5150。你想要使用能够适应任意大小整型的技术。我们并不关心现代 CPU 的能力。 + +为了能做整型运算,我们的数据需要表达两种不同类型的数字。 + +第一种是无符号整型,其使用了所有字位来表达一个正数。无符号整型的值域为从 **0** 到 **(2 ^ (字位数量) - 1)**。例如,8位数可以是 **0** 到 **255** 之间的任意值,而16位数则在 **0** 到 +**65535** 之间,以此类推。 + +有符号整型也很类似。不同之处在于数字的最显著位代表了这个数是一个整数 (**0**) 还是一个负数 (**1**)。有符号整型的值域前半部分位正数,正数值域是从 **0** 到 **(2 ^ (字位数量 - 1) - 1)**。整型值域的后半部分为负数,负数值域则从 **(0-(2 ^ (字位数量 - 1)))** 到 **-1**。 + +比如说,一个8位数代表着 **0** 到 **127** 之间的任意正数,以及 **-128** 到 **-1** 之间的任意负数。为了能更好的理解这一点,想象 **字节** 为一列数组 **[0...127,-128...-1]**。因为 **-128** 在数组内紧跟着 **127**,**127** 加 **1** 等于 **-128**。当然这可能看起来有点奇怪甚至反常,但这其实让这个层级的基本数学运算变简单了。 + +为了能够对大型整型进行简单的加,减,乘,除,你应该摸索一些简单的公式来计算一个数的绝对值或负值。你在做有符号整型运算的时候会用上它们的。 + + +### 绝对值与负值 + +计算一个有符号整型的绝对值并没有它看起来的那么糟糕。由于无符号和有符号数字在内存里的储存形式,我们其实有一个简单的方案。你只需要翻转一个负数的所有字位,得出的结果再加 **1**。 + +如果你从没接触过二进制的话这可能听上去有点奇怪,但这就是这么工作的。让我们来举一个例子,取一个负数的8位表达,比如说 **-5**。因为 **-5** 靠近 **[0...127,-128...-1]** 字节组末端,它的十六进制值为 **0xfb**,二进制值为 **11111011**。如果你翻转了所有字位,你会得到 **0x04** 或二进制值 **00000100**。结果加 **1** 你就得到了你的答案。你刚刚把 **-5** 的值变成了 **+5**。 + +你可以用汇编写下这个程序用以返回任意64位数字的绝对值: + +``` +; 语法,NASM for DOS +proc_ABS: +  ; 启动时,SI寄存器会指向数据段 (DS) 内的内存位置,那里存放着程序内包含着 +  ; 会被转正的64位数。 +  ; 结束时,如果结果数字不能被转正,Carry Flag (CF) 会被设置。这种情况只 +  ; 有在遇到最大负值时会发生。其余情况,CF 不会被设置。 +  +  ; 检查最高字节的最高位 +  test [si+7], byte 0x80 +  ; 如不为1,值为正值 +  jz .done_ABS +  ; 翻转字的所有字位 #4 +  not word [si+6] +  not word [si+4]       ; 字 #3 +  not word [si+2]       ; 字 #2 +  not word [si]                 ; 字 #1 +  ; 字#1 加一 +  inc word [si] +  ; 如结果不为0,结束 +  jnz .done_ABS +  ; 字#2 加一 +  inc word [si+2] +  ; 如结果为0,进位下一个字 +  jnz .done_ABS +  inc word [si+4] +  jnz .done_ABS +  ; 此处无法进位 +  inc word [si+6] +  ; 再一次检查最高位 +  test [si+7], byte 0x80 +  ; 如不为1,我们成功了,结束 +  jz .done_ABS +  ; 溢出错误,它被转成了负数 +  stc +  ; 设置 Carry Flag 并返回 +  ret +.done_ABS: +  ; 成功,清理 Carry Flag 并返回 +  clc +  ret +``` + +你可能已经注意到了,这个函数有一个潜在问题。由于正负数的二进制值表达方式,最大负数无法被转成正数。以8位数为例,最大负数是 **-128**。如果你翻转了 **-128** 的所有位数 (二进制1__0000000),你会得到127 (二进制0__1111111) 即最大正值。如果你对结果加 **1**,它会因溢出回到同样的负数 (-128)。 + +你只需要重复计算绝对值的步骤就可以将正数转成负数。以下的程序十分相似,你唯一需要确认的就是一开始的数字不是已经负了。 + +``` +; 语法, NASM for DOS +proc_NEG: +  ; 开始时,SI会指向需要转负的数字在内存里的位置。 +  ; 结束时,Carry Flag永远不会被设置。 +  +  ; 检查最高字节的最高位 +  test [si+7], byte 0x80 +  ; 如为1,数已经是负数 +  jnz .done_NEG +  not word [si+6]       ; 翻转字的所有字位 #4 +  not word [si+4]       ; 字 #3 +  not word [si+2]       ; 字 #2 +  not word [si]                 ; 字 #1 +  inc word [si]                 ; 字#1 加一 +  ; 如结果不为0,结束 +  jnz .done_NEG +  ; 字#2 加一 +  inc word [si+2] +  ; 如结果为0,进位下一个字 +  jnz .done_NEG +  inc word [si+4] +  jnz .done_NEG +  ; 此处无法进位或转化 +  inc word [si+6] +  ; 正。 +.done_NEG: +  clc                   ; 成功,清理 Carry Flag 并返回 +  ret +``` + +看着这些绝对值与负值函数间的通用代码,它们应该被结合起来来节约一些字节。结合代码也会带来额外的好处。首先,结合代码能帮助防止简单的笔误。这样也可以减少测试的要求。进一步来讲,这样通常会让代码变得简单易懂。在阅读一长串的汇编指令时,忘记读到哪是常有的事。现在,我们可以不管这些。 + +计算一个数的绝对值或负值并不难。但是,这些函数对于我们即将开始的有符号整型数学运算至关重要。 + +我已经覆盖了整型数字在字位层的表达的基础,也创造了可以改变这些数字的基本程序,现在我们可以做点有趣的了。 + +让我们来做些数学吧! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/64-bit-math + +作者:[Jerome Shidel][a] +选题:[lkxed][b] +译者:[yzuowei](https://github.com/yzuowei) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/shidel +[b]: https://github.com/lkxed + From f7630b69a2363bcdcc97f103d1e9e095631ec56e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:04:32 +0800 Subject: [PATCH 672/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221208.1=20=E2=AD=90=EF=B8=8F=20Convert=20and=20Mani?= =?UTF-8?q?pulate=20Images=20With=20=E2=80=98Converter=E2=80=99=20GUI=20To?= =?UTF-8?q?ol=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Images With ‘Converter’ GUI Tool in Linux.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md diff --git a/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md new file mode 100644 index 0000000000..3e2b35e83e --- /dev/null +++ b/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md @@ -0,0 +1,87 @@ +[#]: subject: "Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux" +[#]: via: "https://itsfoss.com/converter-tool/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux +====== + +You can always [install ImageMagick][1] on your system to convert images, but not everyone likes to use the terminal for converting and manipulating images. + +So, what if you have a GUI app as a front-end to help with that? **Converter** is precisely that. + +It is a front-end to ImageMagick. So you do not need to use commands to convert and manipulate images. + +Note that most Ubuntu systems usually have ImageMagick pre-installed. You can always refer to our [installation guide][1] if you do not have it on your system. + +### Converter: A Graphical Front-end to ImageMagick + +![converter gui][2] + +It should not take a lot of effort to convert images. It is a simple task, and that is how it should be. + +I do not want to type a command to convert an image quickly. Hence, I prefer graphical tools that enable me to do things faster. + +[Converter][3] is an open-source graphical front-end that enables you to do that. It is a GTK4+libadwaita application. + +You can convert the images to various file formats that include **png, webp, jpeg, heif, heic, and bmp**. It is safe to say that you get support for the most popular image file formats. So, it should come in pretty handy. + +![file format converter][4] + +You can set a location to save all the files, and the converted images will automatically be stored at that location. + +![customize converter][5] + +You can also adjust an image’s quality, size, and background color. To access these options, click on “**More Options**” in the user interface before converting the image. + +![converter more options][6] + +The image size can be customized using its percentage, exact pixels, or ratio. For precise manipulation, changing the dimensions should help. + +If you want the image scaled to an extent, the percentage or ratio functionality should help you do that. You can also choose to add filters to your images. + +Overall, you get the basic options to re-size, convert, and optimize the image quality with Converter. + +You can also [tweak Nautilus][7] to have the [resize option in the right-click context menu][8]. It won’t be as versatile as this tool. + +### Install Converter on Linux + +Converter is available as a Flatpak on [Flathub][9] to install on any Linux distribution of your choice. + +Unfortunately, you do not get any binary packages to install on your Linux system. So, you might want to refer to our [Flatpak guide][10] to get it installed. + +``` +flatpak install flathub io.gitlab.adhami3310.Converter +``` + +You can explore more about it on its [GitLab page][3]. + +_Do you have any suggestions to nifty tools like this for us to highlight next? Let us know in the comments._ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/converter-tool/ + +作者:[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/install-imagemagick-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/converter-gui.png +[3]: https://gitlab.com/adhami3310/Converter +[4]: https://itsfoss.com/wp-content/uploads/2022/12/file-format-converter.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/customize-converter.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/converter-more-options.png +[7]: https://itsfoss.com/nautilus-tips-tweaks/ +[8]: https://itsfoss.com/resize-images-with-right-click/ +[9]: https://flathub.org/apps/details/io.gitlab.adhami3310.Converter +[10]: https://itsfoss.com/flatpak-guide/ From 6be9cdd0e943c09a8b17b1285a655a8ca0dd1144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:09:56 +0800 Subject: [PATCH 673/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221208.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=207?= =?UTF-8?q?=20pro=20tips=20for=20using=20the=20GDB=20step=20command.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 7 pro tips for using the GDB step command.md | 255 ++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md diff --git a/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md new file mode 100644 index 0000000000..3fceebb26b --- /dev/null +++ b/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md @@ -0,0 +1,255 @@ +[#]: subject: "7 pro tips for using the GDB step command" +[#]: via: "https://opensource.com/article/22/12/gdb-step-command" +[#]: author: "Alexandra https://opensource.com/users/ahajkova" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +7 pro tips for using the GDB step command +====== + +A debugger is software that runs your code and examines any problems it finds. [GNU Debugger][1] (GBD) is one of the most popular debuggers, and in this article, I examine GDB's `step` command and related commands for several common use cases. Step is a widely used command but there are a few lesser known things about it which might be confusing. Also, there are ways to step into a function without actually using the `step` command itself such as using the less known `advance` command. + +### No debugging symbols + +Consider a simple example program: + +``` +#include + +int num() { + return 2; +} + +void bar(int i) { + printf("i = %d\n", i); +} + +int main() { + bar(num()); + return 0; +} +``` + +If you compile without the debugging symbols first, set a breakpoint on `bar` and then try to step within it. The GDB gives an error message about no line number information: + +``` +gcc exmp.c -o exmp +gdb ./exmp +(gdb) b bar +Breakpoint 1 at 0x401135 +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, 0x0000000000401135 in bar () +(gdb) step +Single stepping until exit from function bar, +which has no line number information. +i = 2 +0x0000000000401168 in main () +``` + +### Stepi + +It is still possible to step inside the function that has no line number information but the `stepi` command should be used instead. Stepi executes just one instruction at a time. When using GDB's `stepi` command, it's often useful to first do `display/i $pc`. This causes the program counter value and corresponding machine instruction to be displayed after each step: + +``` +(gdb) b bar +Breakpoint 1 at 0x401135 +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, 0x0000000000401135 in bar () +(gdb) display/i $pc +1: x/i $pc +=> 0x401135 : sub $0x10,%rsp +``` + +In the above `display` command, the `i` stands for machine instructions and `$pc` is the program counter register. + +It can be useful to use info registers and print some register contents: + +``` +(gdb) info registers +rax 0x2 2 +rbx 0x7fffffffdbc8 140737488346056 +rcx 0x403e18 4210200 +(gdb) print $rax +$1 = 2 +(gdb) stepi +0x0000000000401139 in bar () +1: x/i $pc +=> 0x401139 : mov %edi,-0x4(%rbp) +``` + +### Complicated function call + +After recompiling the example program with debugging symbols you can set the breakpoint on the `bar` call in main using its line number and then try to step into `bar` again: + +``` +gcc -g exmp.c -o exmp +gdb ./exmp +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +``` + +Now, let's step into`bar()`: + +``` +(gdb) step +num () at exmp.c:4 +4 return 2; +``` + +The arguments for a function call need to be processed before the actual function call, so `num()` is expected to execute before `bar()`is called. But how do you step into the `bar` as was desired? You need to use the `finish` command and `step` again: + +``` +(gdb) finish +Run till exit from #0 num () at exmp.c:4 +0x0000000000401161 in main () at exmp.c:14 +14 bar(num()); +Value returned is $1 = 2 +(gdb) step +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### Tbreak + +The `tbreak` command sets a temporary breakpoint. It's useful for situations where you don't want to set a permanent breakpoint. For example, if you want to step into a complicated function call like `f(g(h()), i(j()), ...)` , in such a case you need a long sequence of `step/finish/step` to step into `f` . Setting a temporary breakpoint and then using continue can help to avoid using such sequences. To demonstrate this, you need to set the breakpoint to the `bar` call in `main` as before. Then set the temporary breakpoint on `bar`.  As a temporary breakpoint it is automatically removed after being hit: + +``` +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) tbreak bar +Temporary breakpoint 2 at 0x40113c: file exmp.c, line 9. +``` + +After hitting the breakpoint on the call to `bar` and setting a temporary breakpoint on `bar`, you just need to continue to end up in  `bar`. + +``` +(gdb) continue +Continuing. +Temporary breakpoint 2, bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### Disable command + +Alternatively, you could set a normal breakpoint on `bar` , continue, and then disable this second breakpoint when it's no longer needed. This way you can achieve the same results as with the `tbreak` with one extra command: + +``` +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) b bar +Breakpoint 2 at 0x40113c: file exmp.c, line 9. +(gdb) c +Continuing. +Breakpoint 2, bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +(gdb) disable 2 +``` + +As you can see, the `info breakpoints`  command displays `n` under `Enb`which means it’s disabled but you can enable it later if it’s needed again. + +``` +(gdb) info breakpoints +Num Type Disp Enb Address What +1 breakpoint keep y 0x0000000000401157 in main at exmp.c:14 +breakpoint already hit 1 time +2 breakpoint keep n 0x000000000040113c in bar at exmp.c:9 +breakpoint already hit 1 time +(gdb) enable 2 +(gdb) info breakpoints +Num Type Disp Enb Address What +1 breakpoint keep y 0x000000000040116a in main at exmp.c:19 +breakpoint already hit 1 time +2 breakpoint keep y 0x0000000000401158 in bar at exmp.c:14 +breakpoint already hit 1 time +``` + +### Advance location + +Another option you can use is an `advance` command. Instead of `tbreak bar ; continue` , you can simply do `advance bar` . This command continues running the program up to the given location. + +The other cool thing about `advance` is that if the location that you try to advance to is not reached, GDB will stop after the current frame's function finishes. Thus, execution of the program is constrained: + +``` +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) advance bar +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### Skipping a function + +Yet another way to step into the `bar,` avoiding `num`, is using the `skip` command: + +``` +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) skip num +Function num will be skipped when stepping. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) step +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +To know which functions are currently skipped,  `info skip` is used.  The `num` function is marked as enabled to be skipped by `y`: + +``` +(gdb) info skip +Num Enb Glob File RE Function +1 y n n num +``` + +If `skip` is not needed any more it can be disabled (and re-enabled later) or deleted altogether. You can add another `skip` and disable the first one and then delete them all. To disable a certain `skip`, its number has to be specified, if not specified, each `skip`is disabled. It works the same for enabling or deleting a `skip`: + +``` +(gdb) skip bar +(gdb) skip disable 1 +(gdb) info skip +Num Enb Glob File RE Function +1 n n n num +2 y n n bar +(gdb) skip delete +(gdb) info skip +Not skipping any files or functions. +``` + +### GDB step command + +Using GDB's `step` command is a useful tool for debugging your application. There are several ways to step into even complicated functions, so give these GDB techniques a try next time you're troubleshooting your code. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/gdb-step-command + +作者:[Alexandra][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/ahajkova +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/3/debug-code-gdb From 546cdfde118921fd59c3793d08ac11dda5d2f4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:10:28 +0800 Subject: [PATCH 674/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221208.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ou?= =?UTF-8?q?r=20favorite=20markup=20languages=20for=20documentation.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Our favorite markup languages for documentation.md | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md diff --git a/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md new file mode 100644 index 0000000000..90a24cfbc8 --- /dev/null +++ b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md @@ -0,0 +1,173 @@ +[#]: subject: "Our favorite markup languages for documentation" +[#]: via: "https://opensource.com/article/22/12/markup-languages-documentation" +[#]: author: "Opensource.com https://opensource.com/users/admin" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Our favorite markup languages for documentation +====== + +Documentation is important for so many reasons. Readable documentation is even more so. In the world of open source software, documentation is how to use or contribute to an application. It's like the rulebook for a [game][1]. + +There are many different types of documentation: + +- Tutorials +- How-to guides +- Reference guides +- Software architecture +- Product manuals + +We asked some of the Opensource.com contributors about their technical documentation workflow, which markup language they preferred, and why they might use one over the other. Here's what they had to say. + +### AsciiDoc + +For the past several years, [Markdown][2] has been my standard language. But recently I decided to give [AsciiDoc][3] a try. The syntax is not difficult and [Gedit][4] on my Linux desktop supports it. I plan to stick with it for a while. + +—[Alan Formy-Duval][5] + +In terms of low-syntax markup, I prefer AsciiDoc. I like it because its conversion process is consistent and predictable, with no surprise "flavor" variations to confuse things. I also love that it outputs to [Docbook][6], which is a markup-heavy syntax that I trust for longevity and flexibility. + +But the "right" choice tends to be what a project is already using. I wouldn't write in AsciiDoc if a project uses Strawberry-flavored Markdown. Well, to be fair, I might write in AsciiDoc and then convert it to Strawberry-flavored Markdown with Pandoc. + +I do think there is a time and place for Markdown. I do find it more readable than AsciiDoc. Links in AsciiDoc: + +``` +http://example.com[Example website] +``` + +Links in Markdown: + +``` +[Example.com](http://example.com) +``` + +The Markdown syntax is intuitive, delivering the information in the same way that I think most of us parse the same data when reading HTML ("Example website…oh, that's blue text, I'll roll over it to see where it goes…it goes to [example.com][7]"). + +In other words, when my audience is a human reader, I do often choose Markdown because its syntax is subtle but it's got enough of a syntax to make conversion possible, so it's still an OK storage format. + +AsciiDoc, as minimal as it is, just looks scarier. + +If my audience is a computer that's going to parse a file, I choose AsciiDoc. + +—[Seth Kenlon][8] + +### reStructuredText + +I'm a big fan of [docs as code][9] and how it brings developer tools into the content workflows. It makes it easier to have efficient reviews and collaboration, especially if engineers are contributors. + +I'm also a bit of a markup connoisseur, having written whole books in AsciiDoc for O'Reilly, a lot of Markdown for various platforms, including a thousand posts on my blog. Currently, I'm a [reStructuredText][10] convert and maintain some of the tooling in that space. + +—[Lorna Mitchell][11] + +Obligatory mention of reStructuredText. That's my go-to these days as I do a lot of Python programming. It's also been Python's standard for documentation source and code comments for ages. + +I like that it doesn't suffer quite so much from the proliferation of nonstandards that Markdown does. That said, I do use a lot of Sphinx features and extensions when working on more complex documentation. + +—[Jeremy Stanley][12] + +### HTML + +I rarely use markup languages if I don't have to. + +I find HTML easier to use than other markup languages though. + +—[Rikard Grossman-Nielsen][13] + +For me, there are various ways to make documentation. It depends on where the documentation is going to be whether on a website, as part of the software package, or something downloadable. + +For [Scribus][14], the internal documentation is in HTML, since an internal browser is used to access it. On a website, you might need to use a Wiki language. For something downloadable you might create a PDF or an EPUB. + +I tend to write the documentation in a plain text editor. I might use XHTML, so that I can then import these files into an EPUB maker like Sigil. And, of course, Scribus is my go-to app for making a PDF, though I would probably be importing a text file created with a text editor. Scribus has the advantage of including and precisely controlling placement of graphics. + +Markdown has never caught on with me, and I've never tried AsciiDoc. + +—[Greg Pittman][15] + +I'm writing a lot of documentation in HTML right now, so I'll put in a plug for HTML. You can use HTML to create websites, or to create documentation. Note that the two are not really the same — when you're creating websites, most designers are concerned about presentation. But when you're writing documentation, tech writers should focus on content. + +When I write documentation in HTML, I stick to the tags and elements defined by HTML, and I don't worry about how it will look. In other words, I write documentation in "unstyled" HTML. I can always add a stylesheet later. So if I need to make some part of the text stronger (such as a warning) or add emphasis to a word or phrase, I might use the and tags, like this: + +``` +

Warning: Lasers! Do not look into laser with remaining eye.

+``` + +Or to provide a short code sample within the body of a paragraph, I might write: + +``` +

The puts function prints some text to the user.

+``` + +To format a block of code in a document, I use
..
like this: + +``` +void +print_array(int *array, int size) +  { +  for (int i = 0; i < size; i++) { +  printf("array[%d] = %d\n", i, array[i]); +  }} +``` + +The great thing about HTML is you can immediately view the results with any web browser. And any documentation you write in unstyled HTML can be made prettier later by adding a stylesheet. + +—[Jim Hall][16] + +### Unexpected: LibreOffice + +Back in the 80s and 90s when I worked in System V Unix, SunOS, and eventually Solaris, I used the mm macros with `nroff,``troff`and finally `groff`. Read about MM using groff_mm (provided you have them installed.) + +MM isn't really a markup language, but it feels like one. It is a very semantic set of troff and groff macros. It has most things markup language users would expect—headings, numbered lists, and so on. + +My first Unix machine also had Writers' Workbench available on it, which was a boon for many in our organization who had to write technical reports but didn't particularly write in an "engaging manner". A few of its tools have made it to either BSD or Linux—style, diction, and look. + +I also recall a standard generalized markup language (SGML) tool that came with, or perhaps we bought for, Solaris in the very early 90s. I used this for awhile, which may explain why I don't mind typing in my own HTML. + +I've used Markdown a fair bit, but having said that, I should also be saying "which Markdown", because there are endless flavors and levels of features. I'm not a huge fan of Markdown because of that. I guess if I had a lot of Markdown to do I would probably try to gravitate toward some implementation of [CommonMark][17] because it actually has a formal definition. For example, [Pandoc][18] supports CommonMark (as well as several others). + +I started using AsciiDoc, which I much prefer to Markdown as it avoids the "which version are you using" conversation and provides many useful things. What has slowed me down in the past with respect to AsciiDoc is that for some time it seemed to require installing Asciidoctor—a Ruby toolchain which I was not anxious to install. But these days there are more implementations at least in my Linux distro. Curiously, Pandoc emits AsciiDoc but does not read it. + +Those of you laughing at me for not wanting a Ruby toolchain for AsciiDoc but being satisfied with a Haskell toolchain for Pandoc… I hear you. + +I blush to admit that I mostly use LibreOffice these days. + +—[Chris Hermansen][19] + +### Document now! + +Documentation can be achieved through many different avenues, as the writers here have demonstrated. It's important to document how to use your code, especially in open source. This ensures that other people can use and contribute to your code properly. It's also wise to tell future users what your code is providing. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/markup-languages-documentation + +作者:[Opensource.com][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/admin +[b]: https://github.com/lkxed +[1]: https://opensource.comttps://opensource.com/life/16/11/software-documentation-tabletop-gaming +[2]: https://opensource.com/article/19/9/introduction-markdown +[3]: https://opensource.com/article/22/8/drop-markdown-asciidoc +[4]: https://opensource.com/%20https%3A//opensource.com/article/20/12/gedit +[5]: https://opensource.com/users/alanfdoss +[6]: https://opensource.com/article/17/9/docboo +[7]: http://example.com/ +[8]: https://opensource.com/users/seth +[9]: https://opensource.com/article/22/10/docs-as-code +[10]: https://opensource.com/article/19/11/document-python-sphinx +[11]: https://opensource.com/users/lornajane +[12]: https://opensource.com/users/fungi +[13]: https://opensource.com/users/rikardgn +[14]: https://opensource.com/article/21/12/desktop-publishing-scribus +[15]: https://opensource.com/users/greg-p +[16]: https://opensource.com/users/jim-hall +[17]: https://commonmark.org/ +[18]: https://opensource.com/downloads/pandoc-cheat-sheet +[19]: https://opensource.com/users/clhermansen From fa8922aa48f54ea4ade5b78e581972aa8cdb201c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:12:15 +0800 Subject: [PATCH 675/925] =?UTF-8?q?Update=2020221208.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Our=20favorite=20markup=20languag?= =?UTF-8?q?es=20for=20documentation.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Our favorite markup languages for documentation.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md index 90a24cfbc8..2a3c3452d8 100644 --- a/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md +++ b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md @@ -26,7 +26,7 @@ We asked some of the Opensource.com contributors about their technical documenta For the past several years, [Markdown][2] has been my standard language. But recently I decided to give [AsciiDoc][3] a try. The syntax is not difficult and [Gedit][4] on my Linux desktop supports it. I plan to stick with it for a while. -—[Alan Formy-Duval][5] +—- [Alan Formy-Duval][5] In terms of low-syntax markup, I prefer AsciiDoc. I like it because its conversion process is consistent and predictable, with no surprise "flavor" variations to confuse things. I also love that it outputs to [Docbook][6], which is a markup-heavy syntax that I trust for longevity and flexibility. @@ -52,7 +52,7 @@ AsciiDoc, as minimal as it is, just looks scarier. If my audience is a computer that's going to parse a file, I choose AsciiDoc. -—[Seth Kenlon][8] +—- [Seth Kenlon][8] ### reStructuredText @@ -60,13 +60,13 @@ I'm a big fan of [docs as code][9] and how it brings developer tools into the co I'm also a bit of a markup connoisseur, having written whole books in AsciiDoc for O'Reilly, a lot of Markdown for various platforms, including a thousand posts on my blog. Currently, I'm a [reStructuredText][10] convert and maintain some of the tooling in that space. -—[Lorna Mitchell][11] +—- [Lorna Mitchell][11] Obligatory mention of reStructuredText. That's my go-to these days as I do a lot of Python programming. It's also been Python's standard for documentation source and code comments for ages. I like that it doesn't suffer quite so much from the proliferation of nonstandards that Markdown does. That said, I do use a lot of Sphinx features and extensions when working on more complex documentation. -—[Jeremy Stanley][12] +—- [Jeremy Stanley][12] ### HTML @@ -74,7 +74,7 @@ I rarely use markup languages if I don't have to. I find HTML easier to use than other markup languages though. -—[Rikard Grossman-Nielsen][13] +—- [Rikard Grossman-Nielsen][13] For me, there are various ways to make documentation. It depends on where the documentation is going to be whether on a website, as part of the software package, or something downloadable. @@ -84,7 +84,7 @@ I tend to write the documentation in a plain text editor. I might use XHTML, so Markdown has never caught on with me, and I've never tried AsciiDoc. -—[Greg Pittman][15] +—- [Greg Pittman][15] I'm writing a lot of documentation in HTML right now, so I'll put in a plug for HTML. You can use HTML to create websites, or to create documentation. Note that the two are not really the same — when you're creating websites, most designers are concerned about presentation. But when you're writing documentation, tech writers should focus on content. @@ -113,7 +113,7 @@ print_array(int *array, int size) The great thing about HTML is you can immediately view the results with any web browser. And any documentation you write in unstyled HTML can be made prettier later by adding a stylesheet. -—[Jim Hall][16] +—- [Jim Hall][16] ### Unexpected: LibreOffice @@ -133,7 +133,7 @@ Those of you laughing at me for not wanting a Ruby toolchain for AsciiDoc but be I blush to admit that I mostly use LibreOffice these days. -—[Chris Hermansen][19] +—- [Chris Hermansen][19] ### Document now! From 050d8dcc59c1bb7f133a5680394b6c688494ac08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:15:16 +0800 Subject: [PATCH 676/925] =?UTF-8?q?Update=2020221208.3=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Our=20favorite=20markup=20languag?= =?UTF-8?q?es=20for=20documentation.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ⭐️⭐️ Our favorite markup languages for documentation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md index 2a3c3452d8..d11843ff36 100644 --- a/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md +++ b/sources/tech/20221208.3 ⭐️⭐️ Our favorite markup languages for documentation.md @@ -88,7 +88,7 @@ Markdown has never caught on with me, and I've never tried AsciiDoc. I'm writing a lot of documentation in HTML right now, so I'll put in a plug for HTML. You can use HTML to create websites, or to create documentation. Note that the two are not really the same — when you're creating websites, most designers are concerned about presentation. But when you're writing documentation, tech writers should focus on content. -When I write documentation in HTML, I stick to the tags and elements defined by HTML, and I don't worry about how it will look. In other words, I write documentation in "unstyled" HTML. I can always add a stylesheet later. So if I need to make some part of the text stronger (such as a warning) or add emphasis to a word or phrase, I might use the and tags, like this: +When I write documentation in HTML, I stick to the tags and elements defined by HTML, and I don't worry about how it will look. In other words, I write documentation in "unstyled" HTML. I can always add a stylesheet later. So if I need to make some part of the text stronger (such as a warning) or add emphasis to a word or phrase, I might use the `` and `` tags, like this: ```

Warning: Lasers! Do not look into laser with remaining eye.

@@ -100,7 +100,7 @@ Or to provide a short code sample within the body of a paragraph, I might write:

The puts function prints some text to the user.

``` -To format a block of code in a document, I use
..
like this: +To format a block of code in a document, I use `
..
` like this: ``` void @@ -117,7 +117,7 @@ The great thing about HTML is you can immediately view the results with any web ### Unexpected: LibreOffice -Back in the 80s and 90s when I worked in System V Unix, SunOS, and eventually Solaris, I used the mm macros with `nroff,``troff`and finally `groff`. Read about MM using groff_mm (provided you have them installed.) +Back in the 80s and 90s when I worked in System V Unix, SunOS, and eventually Solaris, I used the mm macros with `nroff,``troff` and finally `groff`. Read about MM using groff_mm (provided you have them installed.) MM isn't really a markup language, but it feels like one. It is a very semantic set of troff and groff macros. It has most things markup language users would expect—headings, numbered lists, and so on. From 857c1814cd964f2900661dff93f71d8f885b6a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:16:37 +0800 Subject: [PATCH 677/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221208.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ma?= =?UTF-8?q?nage=20your=20file=20system=20from=20the=20Linux=20terminal.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Manage your file system from the Linux terminal.md | 150 ++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 sources/tech/20221208.4 ⭐️⭐️ Manage your file system from the Linux terminal.md diff --git a/sources/tech/20221208.4 ⭐️⭐️ Manage your file system from the Linux terminal.md b/sources/tech/20221208.4 ⭐️⭐️ Manage your file system from the Linux terminal.md new file mode 100644 index 0000000000..d03ef5902a --- /dev/null +++ b/sources/tech/20221208.4 ⭐️⭐️ Manage your file system from the Linux terminal.md @@ -0,0 +1,150 @@ +[#]: subject: "Manage your file system from the Linux terminal" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nnn" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Manage your file system from the Linux terminal +====== + +I tend to enjoy lightweight applications. They're good for [low spec computers][1], for [remote shells][2], for the impatient user (OK, I admit, that's me), and for the systems we scrap together to fight the inevitable [zombie apocalypse][3]. In my search for a perfect blend of a lightweight application with all the modern conveniences we've learned from experience, I stumbled across a file manager called **nnn**. The nnn file manager exists in a terminal only, but it feels like a modern keyboard-driven application with intuitive actions and easy navigation. + +![Image of the nnn file manager.][4] + +### Install nnn + +On Linux, you may find nnn in your Linux distribution's software repository. For instance, on Debian: + +``` +$ sudo apt install nnn +``` + +If your repository doesn't have nnn available, you can download a package for your distribution from [OBS][5] or from the project [Git repository][6]. + +On macOS, use [Homebrew][7] or [MacPort][8]. + +### Using nnn + +Launch nnn from a terminal: + +``` +$ nnn +``` + +Your terminal is now the nnn interface, and by default it lists the contents of your current directory: + +``` +1 2 3 4 ~ +Desktop/ +Documents/ +Downloads/ +Music/ +Pictures/ +Public/ +Templates/ +Videos/4/8 2022-12-01 15:54 drwxr-xr-x 6B +``` + +At the top of the nnn interface are tabs (called a "context" in nnn terminology), numbered one to four. + +At the bottom of the nnn interface, there are ownership and permission details about your current selection. + +Use either the **Up** and **Down** arrow keys or the **k** and **j** keys (as in [Vim][9]) to change your selection. Use the **Right** arrow key, **Return**, or the **l** key to enter a directory or to open a file. Use the **Left** arrow key or **h** to back out of a directory. + +That's it for navigation. It's easier than any graphical file manager because there aren't any widgets that get in the way. There's no need to **Tab** over buttons, you just use the arrow keys or the QWERTY home row. + +### Open a file + +One of the reasons you use a file manager is to find a file and then open it. Your desktop already has default applications set, and nnn inherits this knowledge, so press `Return` or `Right` arrow to open a file in its default application. + +Should you need to open a file in something other than its default application, press `=` instead, and then type the name of the application in the prompt at the bottom of the nnn interface. + +### Copy a file + +To copy a file or any number of files, you must first select a file to copy, then navigate to its intended destination, and finally invoke the copy command. Thanks to nnn's context control (those are the numbers at the top of the screen, and you can think of them as tabs in a web browser), this is a quick process. + +- First, select the file you want to copy and press **Spacebar** to select the file. It's marked with a plus sign (**`+`**) to indicate its selected state. +- Press **`2`** to change to a new context. +- Navigate to the target directory and press **p** to copy. + +### Move a file + +Moving files is the same process as copying a file, but the keyboard shortcut for the action is **v**. + +### Selecting files + +There are a few ways to mark selections in nnn. The first is manual selection. You find a file you want to select, and then press **Spacebar** to mark it as selected. Press **Spacebar** again to deselect it. + +One selection doesn't cancel another, so you can select several files manually, but that can become tedious. Another way to select many files at once is to "mark in " and "mark out". To mark a selection, press `m` on the first file you want to select, and then use your arrow keys to move to the last file you want to select. Press `m` again to close the selection: + +``` +1 2 3 4 ~ ++Desktop/ ++Documents/ ++Downloads/ ++Music/ ++Pictures/ ++Public/ +Templates/ +Videos/6/8 [ +6 ] 2022-12-01 15:54 drwxr-xr-x 6B +``` + +Finally, the third way to select files is to press `a` to _select all_. Use **`A`** to invert the selection (in this case, to _select none_.) + +### Creating an archive + +To create an archive of a file or a selection of files, press `z`. At the bottom of the nnn interface, you're prompted to choose between your current item of your selection. Then you're prompted for a file name. Luckily, nnn is a smart application and derives its file type from the name you provide. If you name your archive `example.tar.xz` then nnn creates a TAR archive with lzma compression, but if you name it `example.zip` then it creates a ZIP file. + +You can verify the file type yourself by pressing the `f` key with your new archive selected: + +``` +File: /home/tux/Downloads/example.zip +  Size: 184707          Blocks: 368        IO Block: 4096   regular file +Device: fd00h/64768d    Inode: 17842380    Links: 1 +Access: (0664/-rw-rw-r--)  Uid: ( 1002/     tux)   Gid: ( 1002/     tux) +Context: unconfined_u:object_r:user_home_t:s0 +Access: 2022-09-20 15:12:09.770187616 +1200 +Modify: 2022-09-20 15:12:09.775187704 +1200 +Change: 2022-09-20 15:12:09.775187704 +1200 + Birth: 2022-09-20 15:12:09.770187616 +1200 +Zip archive data, at least v2.0 to extract +application/zip; charset=binary +``` + +### Cancel an action + +When you find yourself backed into a corner and need to press a panic button, use the **`Esc`** key. (This is likely to be the single most confusing keyboard shortcut for a longtime terminal user who's accustomed to **Ctrl+C**.) + +### Never close nnn + +To quit nnn, press **`Q`** at any time. + +It's a very capable file manager, with functions for symlinks, FIFO, bookmarks, batch renaming, and more. For a full list of what nnn can do, press the **`?`** key. + +The most clever feature is the shell function. Press **`!`** to open a shell over the nnn interface. You'll forget nnn is there, until you type `exit` and you find yourself back in the nnn interface. It's that easy to leave nnn open all the time, so you can always have quick access to the fastest lightweight file management you're likely to experience. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-nnn + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/7/how-make-old-computer-useful-again +[2]: https://www.redhat.com/sysadmin/access-remote-systems-ssh +[3]: https://opensource.com/zombie +[4]: https://opensource.com/sites/default/files/2022-10/nnn.filemanager.png +[5]: https://software.opensuse.org//download.html?project=home%3Astig124%3Annn&package=nnn +[6]: https://github.com/jarun/nnn/releases +[7]: https://opensource.com/article/20/6/homebrew-mac +[8]: https://opensource.com/article/20/11/macports +[9]: https://opensource.com/article/19/3/getting-started-vim From a2e29d32ae198335528f6d2a096c9355f1c298b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:17:07 +0800 Subject: [PATCH 678/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221208.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ap?= =?UTF-8?q?ple=20Silicon=20GPU=20Driver=20is=20Now=20Available=20in=20Asah?= =?UTF-8?q?i=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...icon GPU Driver is Now Available in Asahi Linux.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md diff --git a/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md b/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md new file mode 100644 index 0000000000..8e115ba0d8 --- /dev/null +++ b/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md @@ -0,0 +1,91 @@ +[#]: subject: "Apple Silicon GPU Driver is Now Available in Asahi Linux" +[#]: via: "https://news.itsfoss.com/apple-gpu-driver-asahi-linux/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Apple Silicon GPU Driver is Now Available in Asahi Linux +====== + +We finally have a GPU driver for Apple M silicon systems on Asahi Linux. + +![Apple Silicon GPU Driver is Now Available in Asahi Linux][1] + +Asahi Linux aims to be a port of Linux for Apple Silicon Macs; work started on it back in 2020, right after the launch of Apple's M1 chips at the WWDC event. + +A small team is behind all the development behind Asahi Linux and reverse engineering stuff; they have been quite busy since the last time we looked at their work. + +Previously, they worked on improving support for Apple SoCs such as the M1, M1 Pro, and M1 Max. They provided varying levels of support for devices that used these chips. + +It still is a work in progress, but promising results in 2022. + +They have now taken it further by providing initial support for Apple Silicon GPUs by releasing drivers (in _alpha_). + +That sounds great! 😃 + +Let me take you through the gist of it. + +### Hardware Acceleration With Desktop Environments and Old Games + +![asahi linux running quake3][2] + +Introduced as an alpha-stage GPU driver, it can run desktop environments and a few games smoothly. + +**The implementation:** The driver features a work-in-progress implementation of OpenGL 2.1 and OpenGL ES 2.0 for current Apple M-series systems. + +They also mention that: + +> These drivers have not yet passed the OpenGL (ES) conformance tests. There will be bugs! + +So, you can expect plenty of hiccups along the way should you choose to run applications using these drivers. + +**How it works now?:** In its current form, the driver can run desktop environments like GNOME and KDE Plasma with hardware acceleration. + +Even older games like [Quake3][3] and [Neverball][4] can run quite well, with these and the desktop environments running at a solid **60 fps at 4k resolution**. + +Many users may also notice that quite a few apps don't work with this driver right away. On that, the developers mention: + +> Since the driver is still in development, there are lots of known issues and we’re still working hard on improving conformance test results. Please don’t open new bugs for random apps not working! It’s still the early days and we know there’s a lot of work to do. + +**What does the future hold?:** The developers have said that while OpenGL (ES) 2 suffices for some applications, newer applications will require new features such as multiple render targets, multisampling, and transform feedback. + +All of this can be achieved with OpenGL (ES) 3, and work on that has already started. But, it will need a lot of developmental effort to get ready. + +They have also hinted at support for Vulkan in the future, although it is a long time in the making. + +Here's what they tell about it: + +> We’re working on it! Although we’re only shipping OpenGL right now, we’re designing with Vulkan in mind. Most of the work we’re putting toward OpenGL will be reused for Vulkan. We estimated that we could ship working OpenGL 2 drivers much sooner than a working Vulkan 1.0 driver, and we wanted to get hardware accelerated desktops into your hands as soon as possible. + +When a Reddit user [asked][5] about **120 Hz support for MacBook Pro**, one of the maintainers had this to say: + +> 120Hz is disabled because it still is capped at 60Hz if we do nothing and was having other weird issues. It's still unclear exactly how VRR works on macOS, we need to figure that out first. + +It seems like Asahi Linux has a lot of room to grow, and improvements like this to GPU drivers on a new Silicon system should finally open up new opportunities in terms of performance. + +Linux users have been asking for something like this for a long time, and it is now closer to becoming a reality than ever before. + +If you are feeling adventurous and want to try the new GPU driver, you can try installing it on your Asahi Linux system. Refer to the [official announcement][6] for instructions to experiment with it. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/apple-gpu-driver-asahi-linux/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/apple-gpu-asahi-linux.png +[2]: https://news.itsfoss.com/content/images/2022/12/AsahiLinux_Quake3.jpg +[3]: https://ioquake3.org +[4]: https://neverball.org +[5]: https://www.reddit.com/r/AsahiLinux/comments/zeucpz/comment/iza3wwv/?utm_source=share&utm_medium=web2x&context=3 +[6]: https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/ From dba188ad63047977775d20a4e054be48ed0d12a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 01:18:30 +0800 Subject: [PATCH 679/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221208.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ma?= =?UTF-8?q?stodon's=20Adoption=20Gets=20a=20Boost=20With=20Vivaldi=20Brows?= =?UTF-8?q?er=20Integration.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n Gets a Boost With Vivaldi Browser Integration.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md diff --git a/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md b/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md new file mode 100644 index 0000000000..63cc15a25f --- /dev/null +++ b/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md @@ -0,0 +1,90 @@ +[#]: subject: "Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration" +[#]: via: "https://news.itsfoss.com/vivaldi-mastodon-integration/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration +====== + +Vivaldi's making an effort to have more users join Mastodon with its new update. That's nice to see! + +![Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration][1] + +Vivaldi browser is one of the best web browsers for Linux (Windows, macOS, and mobile platforms). + +I know it is not an open-source pick, but it gets all the lead with its tab management, customizability, and productivity features. And it treats me better than Firefox nowadays (Mozilla, we still need you to do better)🙄 + +**Note:**_Vivaldi is **not open-source**. Most of it is based on Chromium, for which you can find the [source code][2]._ + +If you did not know, Vivaldi recently built a Mastodon instance (**Vivaldi Social**) to encourage people to use open-source and decentralized social media platforms. + +It is one of the best Mastodon instances you can join: + +To take this further, **Vivaldi 5.6 update** has integrated access to its Mastodon instance from within its web browser. + +> 🐘 Hey! We are on [Mastodon][3] for a while; follow **us if you haven't already**! 😄 + +### Access Mastodon From Web Panels + +Web panels on Vivaldi make it a breeze to multitask. You can keep browsing or working on what you want and still access additional services in a single click. + +Here's what it looks like: + +![mastodon on vivaldi][4] + +I can access Vivaldi's Mastodon instance quickly. + +Of course, you can add your custom web panel for any Mastodon instance you like. + +![vivaldi web panel addition][5] + +However, I believe out-of-the-box integration should encourage Vivaldi users to try Mastodon if they haven't yet. + +In the official announcement, Vivaldi also explains it properly for its users: + +> [Vivaldi Social][6] came into existence as we love the idea of distributed social networks based on open standards. We want to offer better alternatives to people to communicate in an algorithm-free environment with no surveillance capitalism, devoid of tracking or data profiling.The Mastodon server platform communicates through the [Activity Pub][7] standard, a decentralized social networking and messaging protocol recommended by the [World Wide Web Consortium (W3C)][8]. Any platform or application that implements ActivityPub becomes a part of a massive social network. This big social network is also called the [Fediverse][9] (“federated” + “universe”). + +Before anyone gets their pitchfork ready, I want Vivaldi to be 100% open-source, but we also want more companies in the mainstream to adopt and encourage the use of open-source tech. + +And I think Vivaldi has got an excellent approach to that. + +So, this integration should ultimately let every Vivaldi (or Linux user) use Mastodon more than often. + +In addition to this change, Vivaldi 5.6 release involves a couple of improvements that include: + +- A new search engine (You.com) +- Panels joining editable toolbars +- Revamped settings page +- Pin tab stacks (_this is exciting!_) + +You can update the browser to get the latest version or download Vivaldi 5.6 on its official website. + +[Download Vivaldi 5.6][10] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vivaldi-mastodon-integration/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/mastodon-integration-in-vivaldi-browser-1.png +[2]: https://vivaldi.com/source/ +[3]: https://mastodon.social/web/@itsfoss +[4]: https://news.itsfoss.com/content/images/2022/12/mastodon-vivaldi.jpg +[5]: https://news.itsfoss.com/content/images/2022/12/add-custom-panel.jpg +[6]: https://vivaldi.com/blog/news/vivaldi-social-a-new-mastodon-instance/ +[7]: https://en.wikipedia.org/wiki/ActivityPub +[8]: https://www.w3.org/ +[9]: https://en.wikipedia.org/wiki/Fediverse +[10]: https://vivaldi.com/download/ From e9d16c96612e83cee9b63459f82a97eb3fee5e67 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 9 Dec 2022 08:47:07 +0800 Subject: [PATCH 680/925] translated --- ...y you should try the Nemo file manager on Linux.md | 82 ------------------- ...y you should try the Nemo file manager on Linux.md | 82 +++++++++++++++++++ 2 files changed, 82 insertions(+), 82 deletions(-) delete mode 100644 sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md create mode 100644 translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md diff --git a/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md deleted file mode 100644 index bbdbaef307..0000000000 --- a/sources/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md +++ /dev/null @@ -1,82 +0,0 @@ -[#]: subject: "Why you should try the Nemo file manager on Linux" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Why you should try the Nemo file manager on Linux -====== - -Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, I'm taking a look at a file manager for your Linux system. - -The [Cinnamon][1] project was formed as a reimplementation of GNOME 2 using the components of GNOME 3. Eventually, it diverged enough to be a true fork, and today the Cinnamon desktop uses GTK3 libraries and forked versions of key GNOME 3 applications to create a "classic" GNOME experience. One of the components contributing to the traditional GNOME experience is Nemo, a file manager based on the GNOME 2 version of Nautilus. - -### Install Nemo on Linux - -The source code for Nemo is [available online][2] but it requires `cinnamon-desktop` to build, so the easiest way to install Nemo is to just install Cinnamon. - -On Fedora, Mageia, and similar: - -``` -$ sudo dnf install cinnamon-desktop -``` - -On Linux Mint, Debian, and similar: - -``` -$ sudo dnf install cinnamon-desktop-environment -``` - -Of course, as the desktop's progenitor, Linux Mint is also available with Cinnamon preinstalled. - -### A familiar interface - -If you're used to GNOME, either of the past or of today, then Nemo feels like home from the start. It's got a familiar look and feel, with buttons in similar places and options that you're likely to recognize. - -![Image of Nemo's file manager.][3] - -The GNOME-ish convention of placing view control buttons in the top right is retained, and you can use the buttons to quickly switch your view of your files from large icons to a detailed list or a compact view. There's also a search function there, and the option to toggle the location bar between editable text and a button. - -Editable URI bars are sometimes undervalued. It's a simple design decision, but it can be a huge feature contributing to efficiency. It's like having a one-line terminal at the top of each window, in which you can type a destination anywhere on your system and instantly be taken there. And you don't even have to type `cd`. - -At the top right corner, there are navigation buttons: up, forward, and back. As with many Linux file managers, you can forego the use of these buttons with the **Alt** key plus the appropriate **Arrow** key. - -The side pane, shows a list of important folders (Home, Documents, Downloads, and so on), can be hidden or displayed with the click of a button at the bottom of the window. - -### Familiarity but not the same - -The comfort and familiarity of Nemo doesn't mean that it just mindlessly mimics Nautilus. Nemo has a collection of nice features that feel unique. Most of these are in **Preferences**, and here are just a few of my favorites: - -- **Full path in window title**: This is my favorite feature. Never question where you are in your filesystem again. Let your window title tell you. -- **Single or double click**: If you're a longtime [KDE][4] user, you might find single-clicking to open a file refreshing. With Nemo, you have that choice. -- **Double-click to rename**: If you're using a single click to open, why not repurpose the double-click to rename? -- **Open each folder in a new window**: There are operating systems out there that open a new window for each folder opened. -- **Plugins**: Nemo has the ability to invoke actions, scripts, and extensions. Some are included, including an action to change the desktop background, create launchers, and mount an archive. Others are yet to be created, but this kind of extensibility is vital to open source. - -### Everything close at hand - -After using Nemo for a few weeks on Linux Mint, one interesting trait stood out to me. It seemed that Nemo had, or could have with quick configuration, everything I used most often close at hand. Many of the features, admittedly, I didn't know I needed or wanted until Nemo made it easy to click. You might argue that I was bending my usage to meet Nemo's design, and maybe that is the case. But when the experience is so pleasant and efficient, does it matter? - -Nemo is a great file manager. It hearkens back to the days of GNOME 2, but with updates and design choices that make it feel fresh. If you like [Thunar][5] or Nautilus, you'll love Nemo. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-nemo - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/19/12/cinnamon-linux-desktop -[2]: https://github.com/linuxmint/nemo/releases -[3]: https://opensource.com/sites/default/files/2022-09/nemo.png -[4]: https://opensource.com/article/22/2/why-i-love-linux-kde -[5]: https://opensource.com/article/22/12/linux-file-manager-thunar diff --git a/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md new file mode 100644 index 0000000000..e0d1597598 --- /dev/null +++ b/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md @@ -0,0 +1,82 @@ +[#]: subject: "Why you should try the Nemo file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +为什么你要在 Linux 上尝试 Nemo 文件管理器? +====== + +计算机是奇特的文件柜,里面装满了等待引用、交叉引用、编辑、更新、保存、复制、移动、重命名和组织的虚拟文件夹和文件。在本文中,我将介绍一下 Linux 系统的文件管理器。 + +[Cinnamon][1] 项目是使用 GNOME 3 的组件重新实现 GNOME 2。最终,它的差异足以成为一个真正的分叉,今天,Cinnamon 桌面使用 GTK3 库和 GNOME 3 关键应用的分叉版本来创建一个“经典”的 GNOME 体验。Nemo 是促成传统 GNOME 体验的组件之一,它是一个基于 GNOME 2 版本的 Nautilus 的文件管理器。 + +### 在 Linux 上安装 Nemo + +Nemo 的源代码[在线提供][2],但它需要 `cinnamon-desktop` 来构建,所以安装 Nemo 最简单的方法是直接安装 Cinnamon。 + +在 Fedora、Mageia 和类似的系统上: + +``` +$ sudo dnf install cinnamon-desktop +``` + +在 Linux Mint、Debian 和类似系统上: + +``` +$ sudo dnf install cinnamon-desktop-environment +``` + +当然,作为桌面的始祖,Linux Mint 也有预装 Cinnamon 的版本。 + +### 一个熟悉的界面 + +如果你已经习惯了 GNOME,无论是过去的还是现在的,那么 Nemo 从一开始就有一种回家的感觉。它有一个熟悉的外观和感觉,在类似的地方有按钮和选项,你很可能会认出它们。 + +![Image of Nemo's file manager.][3] + +将视图控制按钮放在右上方的 GNOME 式惯例被保留了下来,你可以使用这些按钮快速地将你的文件视图从大图标切换到详细列表或紧凑视图。那里还有一个搜索功能,以及在可编辑文本和按钮之间切换位置栏的选项。 + +可编辑的 URI 栏有时被低估了。这是一个简单的设计决定,但它可以是一个有助于提高效率的巨大功能。这就像在每个窗口的顶部有一个单行终端,你可以在系统的任何地方输入一个目标,并立即被带到那里。而且你甚至不需要输入 `cd`。 + +在右上角,有导航按钮:向上、向前和向后。与许多 Linux 文件管理器一样,你可以用 **Alt** 键加上适当的**箭头**键来放弃使用这些按钮。 + +侧面窗格显示了重要文件夹的列表(家目录、文档、下载等),可以通过点击窗口底部的一个按钮来隐藏或显示。 + +### 熟悉但不一样 + +Nemo的舒适性和熟悉性并不意味着它只是无意识地模仿 Nautilus。Nemo 有一系列不错的功能,感觉很独特。其中大部分都在**偏好设置**中,以下是我最喜欢的几个: + +- **窗口标题中的全路径**:是我最喜欢的功能。不要再怀疑你在文件系统中的位置了。让你的窗口标题告诉你。 +- **单击或双击**:如果你是一个长期的 [KDE][4] 用户,你可能会发现单次点击打开一个文件是很新鲜的。有了 Nemo,你可以这样选择。 +- **双击来重命名**:如果你使用单击来打开,为什么不重新利用双击来重命名? +- **在一个新窗口中打开每个文件夹**:操作系统为每一个打开的文件夹打开一个新的窗口。 +- **插件**:Nemo 有能力调用动作、脚本和扩展。有些已经包括在内,包括改变桌面背景、创建启动器和挂载归档的动作。其他的还没有被创建,但这种可扩展性对开源是至关重要的。 + +### 一切近在咫尺 + +在 Linux Mint 上使用 Nemo 几周后,一个有趣的特征让我眼前一亮。似乎 Nemo 拥有,或者通过快速配置可以拥有,我最常使用的所有东西都近在咫尺。许多功能,我承认,我不知道我需要或想要,直到 Nemo 让我轻松点击。你可能会说,我是为了满足 Nemo 的设计而改变了我的使用方式,也许情况确实如此。但是,当这种体验是如此令人愉快和有效时,这有什么关系呢? + +Nemo 是一个很好的文件管理器。它让人想起了 GNOME 2 的时代,但其更新和设计选择让人感到新鲜。如果你喜欢 [Thunar][5] 或 Nautilus,你会喜欢 Nemo。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-nemo + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/cinnamon-linux-desktop +[2]: https://github.com/linuxmint/nemo/releases +[3]: https://opensource.com/sites/default/files/2022-09/nemo.png +[4]: https://opensource.com/article/22/2/why-i-love-linux-kde +[5]: https://opensource.com/article/22/12/linux-file-manager-thunar From 8a9140577eb95272bc8398f0f917d0206d78a865 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 9 Dec 2022 08:55:54 +0800 Subject: [PATCH 681/925] translating --- ...0221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md index 61f685b396..3ff19e8639 100644 --- a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md +++ b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/access-uefi-from-linux/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ddbb00d903e1168ca92e97099283f757960a78f6 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Fri, 9 Dec 2022 13:26:22 +0800 Subject: [PATCH 682/925] translating MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 申请 --- ...️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md index 610f55149e..c8c5fff5b6 100644 --- a/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md +++ b/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/find-process-id-kill-linux/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "yzuowei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b236dcd1c51bcc54891b8427c2abc4c065eb12ee Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 9 Dec 2022 15:09:18 +0800 Subject: [PATCH 683/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @yzouwei 感谢您,完成了第一篇翻译贡献! --- ...⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md index da47247bb9..d5aa943880 100644 --- a/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md +++ b/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -2,83 +2,84 @@ [#]: via: "https://opensource.com/article/22/10/64-bit-math" [#]: author: "Jerome Shidel https://opensource.com/users/shidel" [#]: collector: "lkxed" -[#]: translator: "yzuowei " +[#]: translator: "yzuowei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " -在16位系统上做64位数学 +如何在 16 位系统上进行 64 位数学运算 ====== -只需要一点点汇编的基础理解,这些函数就能适应体任意大小的整型数学运算。 +![][0] -几年前,我为 FreeDOS 写了一个命令行数学程序叫做 VMATH。它可以在很小的无符号整型上执行十分简单的数学运算。出于近来对 FreeDOS 社区里基本数学的兴趣,我改进了 VMATH 使其可以为有符号64位整型提供基本的数学支持。 +> 只要对汇编有一点基本的了解,这些函数就能扩展到任意位长的整型数学运算。 -仅使用兼容16位 8086 的汇编来操控大型数字的过程并不直接。我希望能够分享一些在 VMATH 中用到的技术的例子。其中一些方法掌握起来还挺容易。同时,也有着别的看起来有点奇怪的方法。你甚至可能学到一种全新的进行基本数学运算的方式。 +几年前,我为 FreeDOS 写了一个叫做 VMATH 的命令行数学程序。它只能在很小的无符号整型上执行十分简单的数学运算。随着近来 FreeDOS 社区里对基础数学的兴趣,我改进了 VMATH 使其可以为有符号 64 位整型提供基本的数学支持。 -接下来要讲的加,减,乘,除会用到的技术将不局限于将不局限于64位整型。只需要一点点汇编的基础理解,这些函数就能适应任意大小的整型数学运算。 +仅使用 16 位 8086 兼容的汇编指令来操控大型数字的过程并不简单。我希望能够分享一些在 VMATH 中用到的技术例子。其中一些方法掌握起来相当容易。而另外一些方法则看起来有点奇怪。你甚至可能学到一种进行基本数学运算的全新方式。 -在深挖这些数学函数前,我想要覆盖一些计算机看数字的基础视角。 +接下来要讲的加、减、乘、除会用到的技术将不局限于并不局限于 64 位整型。只要对汇编有一点基本的了解,这些函数就能扩展到任意位长的整型数学运算。 + +在深入研究这些数学函数前,我想先从计算机的角度介绍一下数字的一些基本知识。 ### 计算机是如何读取数字的 -一个兼容 Intel 的 CPU 以字节 (byte) 的形式贮存数字,储存顺序为从最低有效字节到最高有效字节。每个字节由8个二进位组成,两个字节组成一个字 (word)。 +一个英特尔兼容的 CPU 以字节Byte的形式贮存数字,储存顺序为从最低有效字节到最高有效字节。每个字节由 8 个二进Bit组成,两个字节组成一个Word。 -一个储存在内存里的64位整型占用了8个字节 (或4个字)。例如,数字74565(十六进制表示为0x12345)的值长得是这个样子的: +一个储存在内存里的 64 位整型占用了 8 个字节(即 4 个字)。例如,数字 `74565`(十六进制表示为 `0x12345`)的值长得是这个样子的: ``` -as bytes: db 0x45, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 -as words: dw 0x2345, 0x0001, 0x0000, 0x0000 +用字节表示:db 0x45, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +用字表示:dw 0x2345, 0x0001, 0x0000, 0x0000 ``` -当读取或写入数据到内存时,CPU 会以正确的顺序处理这些字节。对于一个比 8086 更现代的处理器而言,数据组可以再大些,比如一个四字组就可以表达整个64为整型为 **0x0000000000012345**。 +当读取或写入数据到内存时,CPU 会以正确的顺序处理这些字节。对于比 8086 更现代的处理器而言,数据分组可以再大些,比如一个四字组Quadword就可以表达整个 64 位整型 `0x0000000000012345`。 -8086 CPU 不能理解这么大的数字。当为 FreeDOS 编程时,你想要写的是一个能在任意电脑上跑的程序,甚至是早期的 IBM PC 5150。你想要使用能够适应任意大小整型的技术。我们并不关心现代 CPU 的能力。 +8086 CPU 不能理解这么大的数字。当为 FreeDOS 编程时,你想要写的是一个能在任意电脑上跑的程序,甚至是原始的 IBM PC 5150。你想要使用能够扩展到任意大小整型的技术。我们其实并不关心更现代 CPU 的能力。 为了能做整型运算,我们的数据需要表达两种不同类型的数字。 -第一种是无符号整型,其使用了所有字位来表达一个正数。无符号整型的值域为从 **0** 到 **(2 ^ (字位数量) - 1)**。例如,8位数可以是 **0** 到 **255** 之间的任意值,而16位数则在 **0** 到 -**65535** 之间,以此类推。 +第一种是无符号unsigned整型,其使用了所有的位来表达一个正数。无符号整型的值域为从 `0` 到 $2^{位长} - 1$。例如,8 位数可以是 `0` 到 `255` 之间的任意值,而 16 位数则在 `0` 到 +`65535` 之间,以此类推。 -有符号整型也很类似。不同之处在于数字的最显著位代表了这个数是一个整数 (**0**) 还是一个负数 (**1**)。有符号整型的值域前半部分位正数,正数值域是从 **0** 到 **(2 ^ (字位数量 - 1) - 1)**。整型值域的后半部分为负数,负数值域则从 **(0-(2 ^ (字位数量 - 1)))** 到 **-1**。 +有符号整型也很类似。不同之处在于数字的最高位代表了这个数是一个正数(`0`)还是一个负数 (`1`)。有符号整型的值域前半部分为正数,正数值域是从 `0` 到 $2^{(字长 - 1)} - 1$。整型值域的后半部分为负数,负数值域则从 $0 - (2^{位长 - 1})$ 到 `-1`。 -比如说,一个8位数代表着 **0** 到 **127** 之间的任意正数,以及 **-128** 到 **-1** 之间的任意负数。为了能更好的理解这一点,想象 **字节** 为一列数组 **[0...127,-128...-1]**。因为 **-128** 在数组内紧跟着 **127**,**127** 加 **1** 等于 **-128**。当然这可能看起来有点奇怪甚至反常,但这其实让这个层级的基本数学运算变简单了。 - -为了能够对大型整型进行简单的加,减,乘,除,你应该摸索一些简单的公式来计算一个数的绝对值或负值。你在做有符号整型运算的时候会用上它们的。 +比如说,一个 8 位数代表着 `0` 到 `127` 之间的任意正数,以及 `-128` 到 `-1` 之间的任意负数。为了能更好的理解这一点,想象 **字节** 为一列数组 `[0...127,-128...-1]`。因为 `-128` 在数组内紧跟着 `127`,`127` 加 `1` 等于 `-128`。当然这可能看起来有点奇怪甚至反常,但这其实让这个层级的基本数学运算变简单了。 +为了能够对大型整型进行简单的加、减、乘、除,你应该摸索一些简单的公式来计算一个数的绝对值或负值。你在做有符号整型运算的时候会用上它们的。 ### 绝对值与负值 -计算一个有符号整型的绝对值并没有它看起来的那么糟糕。由于无符号和有符号数字在内存里的储存形式,我们其实有一个简单的方案。你只需要翻转一个负数的所有字位,得出的结果再加 **1**。 +计算一个有符号整型的绝对值并没有它看起来的那么糟糕。由于无符号和有符号数字在内存里的储存形式,我们其实有一个简单的方案。你只需要翻转一个负数的所有字位,得出的结果再加 `1`。 -如果你从没接触过二进制的话这可能听上去有点奇怪,但这就是这么工作的。让我们来举一个例子,取一个负数的8位表达,比如说 **-5**。因为 **-5** 靠近 **[0...127,-128...-1]** 字节组末端,它的十六进制值为 **0xfb**,二进制值为 **11111011**。如果你翻转了所有字位,你会得到 **0x04** 或二进制值 **00000100**。结果加 **1** 你就得到了你的答案。你刚刚把 **-5** 的值变成了 **+5**。 +如果你从没接触过二进制的话,这可能听上去有点奇怪,但这就是这么工作的。让我们来举一个例子,取一个负数的 8 位表达,比如说 `-5`。因为 `-5` 靠近 `[0...127,-128...-1]` 字节组末端,它的十六进制值为 `0xfb`,二进制值为 `11111011`。如果你翻转了所有字位,你会得到 `0x04` 或二进制值 `00000100`。结果加 `1` 你就得到了你的答案:你刚刚把 `-5` 的值变成了 `+5`。 -你可以用汇编写下这个程序用以返回任意64位数字的绝对值: +你可以用汇编写下这个程序用以返回任意 64 位数字的绝对值: ``` ; 语法,NASM for DOS proc_ABS: -  ; 启动时,SI寄存器会指向数据段 (DS) 内的内存位置,那里存放着程序内包含着 -  ; 会被转正的64位数。 -  ; 结束时,如果结果数字不能被转正,Carry Flag (CF) 会被设置。这种情况只 -  ; 有在遇到最大负值时会发生。其余情况,CF 不会被设置。 +  ; 启动时,SI 寄存器会指向数据段(DS)内的内存位置,那里存放着程序内包含着 +  ; 会被转为正数的 64 位数。 +  ; 结束时,如果结果数字不能被转正,CF 寄存器会被设置。这种情况只 +  ; 有在遇到最大负值时会发生。其余情况,CF 不会被设置。     ; 检查最高字节的最高位   test [si+7], byte 0x80 -  ; 如不为1,值为正值 +  ; 如不为 1,值为正值   jz .done_ABS -  ; 翻转字的所有字位 #4 -  not word [si+6] +  ; 翻转所有位 +  not word [si+6] ; 字 #4   not word [si+4]       ; 字 #3   not word [si+2]       ; 字 #2 -  not word [si]                 ; 字 #1 -  ; 字#1 加一 +  not word [si]         ; 字 #1 +  ; 字 #1 加 1   inc word [si] -  ; 如结果不为0,结束 +  ; 如结果不为 0,结束   jnz .done_ABS -  ; 字#2 加一 +  ; 字 #2 加 1   inc word [si+2] -  ; 如结果为0,进位下一个字 +  ; 如结果为 0,进位下一个字   jnz .done_ABS   inc word [si+4]   jnz .done_ABS @@ -86,42 +87,42 @@ proc_ABS:   inc word [si+6]   ; 再一次检查最高位   test [si+7], byte 0x80 -  ; 如不为1,我们成功了,结束 +  ; 如不为 1,我们成功了,结束   jz .done_ABS   ; 溢出错误,它被转成了负数   stc -  ; 设置 Carry Flag 并返回 +  ; 设置 CF 并返回   ret .done_ABS: -  ; 成功,清理 Carry Flag 并返回 +  ; 成功,清理 CF 并返回   clc   ret ``` -你可能已经注意到了,这个函数有一个潜在问题。由于正负数的二进制值表达方式,最大负数无法被转成正数。以8位数为例,最大负数是 **-128**。如果你翻转了 **-128** 的所有位数 (二进制1__0000000),你会得到127 (二进制0__1111111) 即最大正值。如果你对结果加 **1**,它会因溢出回到同样的负数 (-128)。 +你可能已经注意到了,这个函数有一个潜在问题。由于正数和负数的二进制值表达方式,最大负数无法被转成正数。以 8 位数为例,最大负数是 `-128`。如果你翻转了 `-128` 的所有位数(二进制 `1__0000000`),你会得到 127(二进制 `0__1111111`)这个最大正值。如果你对结果加 `1`,它会因溢出回到同样的负数(`-128`)。 -你只需要重复计算绝对值的步骤就可以将正数转成负数。以下的程序十分相似,你唯一需要确认的就是一开始的数字不是已经负了。 +要将正数转成负数,你只需要重复计算绝对值的步骤就行。以下的程序十分相似,你唯一需要确认的就是一开始的数字不是已经负了。 ``` ; 语法, NASM for DOS proc_NEG: -  ; 开始时,SI会指向需要转负的数字在内存里的位置。 -  ; 结束时,Carry Flag永远不会被设置。 +  ; 开始时,SI 会指向需要转负的数字在内存里的位置。 +  ; 结束时,CF 永远不会被设置。     ; 检查最高字节的最高位   test [si+7], byte 0x80 -  ; 如为1,数已经是负数 +  ; 如为 1,数已经是负数   jnz .done_NEG -  not word [si+6]       ; 翻转字的所有字位 #4 +  not word [si+6]       ; 翻转字的所有位,字 #4   not word [si+4]       ; 字 #3   not word [si+2]       ; 字 #2 -  not word [si]                 ; 字 #1 -  inc word [si]                 ; 字#1 加一 -  ; 如结果不为0,结束 +  not word [si]         ; 字 #1 +  inc word [si]         ; 字 #1 加 1 +  ; 如结果不为 0,结束   jnz .done_NEG -  ; 字#2 加一 +  ; 字 #2 加 1   inc word [si+2] -  ; 如结果为0,进位下一个字 +  ; 如结果为 0,进位下一个字   jnz .done_NEG   inc word [si+4]   jnz .done_NEG @@ -129,17 +130,17 @@ proc_NEG:   inc word [si+6]   ; 正。 .done_NEG: -  clc                   ; 成功,清理 Carry Flag 并返回 +  clc                   ; 成功,清理 CF 并返回   ret ``` -看着这些绝对值与负值函数间的通用代码,它们应该被结合起来来节约一些字节。结合代码也会带来额外的好处。首先,结合代码能帮助防止简单的笔误。这样也可以减少测试的要求。进一步来讲,这样通常会让代码变得简单易懂。在阅读一长串的汇编指令时,忘记读到哪是常有的事。现在,我们可以不管这些。 +看着这些绝对值函数与负值函数间的通用代码,它们应该被合并起来节约一些字节。合并代码也会带来额外的好处。首先,合并代码能帮助防止简单的笔误。这样也可以减少测试的要求。进一步来讲,这样通常会让代码变得简单易懂。在阅读一长串的汇编指令时,忘记读到哪里是常有的事。现在,我们可以不管这些。 计算一个数的绝对值或负值并不难。但是,这些函数对于我们即将开始的有符号整型数学运算至关重要。 -我已经覆盖了整型数字在字位层的表达的基础,也创造了可以改变这些数字的基本程序,现在我们可以做点有趣的了。 +我已经介绍了整型数字在位这一层面的基本表示方法,也创造了可以改变这些数字的基本程序,现在我们可以做点有趣的了。 -让我们来做些数学吧! +让我们来做些数学运算吧! -------------------------------------------------------------------------------- @@ -148,10 +149,10 @@ via: https://opensource.com/article/22/10/64-bit-math 作者:[Jerome Shidel][a] 选题:[lkxed][b] 译者:[yzuowei](https://github.com/yzuowei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://opensource.com/users/shidel [b]: https://github.com/lkxed - +[0]: https://img.linux.net.cn/data/attachment/album/202212/09/150829g7c7x5e22qqo53c4.jpg \ No newline at end of file From a32ed0d15811a5322508f37b8b4990ec0cdbf983 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 9 Dec 2022 15:10:18 +0800 Subject: [PATCH 684/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @yzuowei 本文首发:https://linux.cn/article-15332-1.html 您的 LCTT 专页:https://linux.cn/lctt/yzuowei --- ...0221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename {translated/tech => published}/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md (98%) diff --git a/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md similarity index 98% rename from translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md rename to published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md index d5aa943880..e7597b2165 100644 --- a/translated/tech/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md +++ b/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -3,9 +3,9 @@ [#]: author: "Jerome Shidel https://opensource.com/users/shidel" [#]: collector: "lkxed" [#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15332-1.html" 如何在 16 位系统上进行 64 位数学运算 ====== From 7e587e142c78c2315e0dbf15c59d1b6c1b209615 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Fri, 9 Dec 2022 15:25:42 +0800 Subject: [PATCH 685/925] translated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提交翻译 --- ...Process ID and Kill it in Linux [CLI & GUI].md | 145 ----------------- ...Process ID and Kill it in Linux [CLI & GUI].md | 146 ++++++++++++++++++ 2 files changed, 146 insertions(+), 145 deletions(-) delete mode 100644 sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md create mode 100644 translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md diff --git a/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md deleted file mode 100644 index c8c5fff5b6..0000000000 --- a/sources/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md +++ /dev/null @@ -1,145 +0,0 @@ -[#]: subject: "How to Find a Process ID and Kill it in Linux [CLI & GUI]" -[#]: via: "https://www.debugpoint.com/find-process-id-kill-linux/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Find a Process ID and Kill it in Linux [CLI & GUI] -====== - -**A simple tutorial demonstrates how to find a running process ID and kill it using the terminal and GUI method for various Linux distros.** - -The running applications in your Linux system can slow down your system, especially if you have a low-end system. In Linux (plus all OS), programs or apps contain a specific PID (process ID) by which you can identify them easily. - -However, as a beginner, many Linux users don’t know how to find a running process in Linux and kill it. So in this guide, we will explain different approaches to kill the currently running processes in Linux. That includes the terminal and GUI methods. - -Remember, you should only kill the process when it is not responding, or you are in a situation where the normal application closing is not working (for GUI-based apps). - -### How to find process id and kill them in Linux - -In this section, first, let’s learn the method to find the PID of a running process and then commands to kill them: - -#### Find the Currently Running Process - -You can use the `top` command to list the currently running process with their PID and other details. The top program is installed by default in all Linux distros and all Unix-based systems. - -``` -top -``` - -![Top program output][1] - -Similarly, you can run the `ps` command with additional options to get the PID of a specific process. For example, you can use the following command to get the PID of `firefox`: - -``` -ps -el | grep -i firefox -``` - -![Firefox process id using ps command - example][2] - -Now that you have found the process id, let’s see how you can kill it. - -#### Kill the Running Process - -You can either use the process name or PID to kill the currently running process using the following commands:  - -- **killall:** Kill a process using the name of a running process -- **[kill][3]:** Kill the process with PID - -Now, first, let’s use the `killall` process to kill Firefox with its name, and here is the command: - -``` -killall -9 firefox -``` - -- The parameter `-9` sends the SIGKILL signal to the OS to terminate the process. -- You can also list down several other signals using the following command. - -``` -kill -l -``` - -Similarly, if you want to kill the process from the process ID, you can use the command given below:  - -``` -kill -9 -``` - -For this example, the command would be: - -``` -kill -9 33665 -``` - -Let’s see how you can kill any process or application using the graphical user interface (GUI) in various distros. - -### Find process id to kill via GUI - -There are many graphical programs available to list down processes. Most Linux distribution ships it as part of their desktop environment. Here are some of them. - -#### GNOME (In Ubuntu, Fedora workstation, etc.) & in Linux Mint - -Search for “system monitor” in the application menu and open it. On the processes tab, find your process. Right-click on the process name to bring up the context menu and choose the option kill. - -![Kill a process in Linux using gnome system monitor][4] - -#### KDE Plasma (Kubuntu, Fedora-KDE or any Plasma-based distro) - -From the application menu, search and launch “system monitor”. This will launch the following program. From the left side, click on Processes, and you should see a list of programs running. You can right-click on the process/application and select Kill to terminate the process. - -![System monitor in KDE Plasma][5] - -#### Xfce desktop - -The native application for this task on the Xfce desktop is Task Manager, which you can launch via `Application > System > Task manager`. Right-click on the process name and select kill to terminate the app or process. - -![Xfce task manager to kill a process][6] - -#### Other desktops or distros to kill a process pr program - -If you can’t find anything similar, you can choose the terminal method. Or, you can install the gnome-system-monitor using the following commands. - -**For Ubuntu and related distros** - -``` -sudo apt install gnome-system-monitor -``` - -**In Fedora and related:** - -``` -sudo dnf install gnome-system-monitor -``` - -**And in Arch Linux:** - -``` -sudo pacman -S gnome-system-monitor -``` - -### Wrapping Up - -So this is how you can find a running process id in Linux and kill it. We have explained different approaches that you can try to kill the process either from its name or PID. I hope this helps. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/find-process-id-kill-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/12/Top-program-output.jpg -[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/Firefox-process-id-using-ps-command-example.jpg -[3]: https://linux.die.net/man/1/kill -[4]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kill-a-process-in-Linux-using-gnome-system-monitor.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/System-monitor-in-KDE-Plasma.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Xfce-task-manager-to-kill-a-process.jpg diff --git a/translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md new file mode 100644 index 0000000000..f77e73d297 --- /dev/null +++ b/translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md @@ -0,0 +1,146 @@ +[#]: subject: "How to Find a Process ID and Kill it in Linux [CLI & GUI]" +[#]: via: "https://www.debugpoint.com/find-process-id-kill-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "yzuowei" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中找到一个进程 ID 并杀死它 [CLI & GUI] +====== + +**一个简单的教学展示教你如何找到正在运行中的进程 ID 并杀死它,你可以使用终端或着 GUI,这个方法适用于各类 Linux 发行版。** + +你的 Linux 系统中运行的应用可能会让你的电脑变慢,特别是你的电脑配置较低的时候。在 Linux (以及所有其他 OS)中,程序或者应用都携带一个特别的 PID (进程 ID)可供你简单地分辨它们。 + +然而,作为初学者,大部分 Linux 用户并不知道如何在 Linux 中寻找运行中的进程并杀死它。在这篇指南中,我们将会解释不同的方法用以杀死 Linux 中的运行进程。这包括了使用终端和 GUI 的方法。 + +记住,你只应该杀死未响应的进程,或者你发现应用无法被正常关闭 (针对基于 GUI 的应用)。 + +### 如何在 Linux 中找到进程 id 并杀掉它们 + +在这一部分中,我们首先应该先学会如何找到运行进程的 PID,然后再学习用以杀掉它们的命令: + +#### 找到正在运行中的进程 + +你可以使用命令 `top` 来列出所有正在进行中的进程和它们的 PID,以及其他细节。程序 top 在所有 Linux 发行版和所有基于 Unix 的系统中都是默认安装了的。 + +``` +top +``` + +![Top program output][1] + +同样地,你可以执行命令 `ps` 附带额外选项来获取某个指定的进程的 PID。例如,你可以使用以下命令来获得 `firefox` 的 PID。 + +``` +ps -el | grep -i firefox +``` + +![Firefox process id using ps command - example][2] + +现在你已经找到进程 id 了,让我们看看你该如何杀掉它。 + +#### 杀死运行中的进程 + +You can either use the process name or PID to kill the currently running process using the following commands:  +使用以下命令,你可以通过进程的名字或者 PID 来杀掉这个正在运行中的进程: + +- **killall:** 通过运行进程的名字来杀死进程 +- **[kill][3]:** 通过 PID 来杀死进程 + +现在,让我们首先使用进程 `killall` 通过 Firefox 这个名字来杀死它的,命令如下: + +``` +killall -9 firefox +``` + +- 参数 `-9` 发送了信号 SIGKILL 通知 OS 来终止这个进程。 +- 使用以下命令,你也可以列出一些别的信号。 + +``` +kill -l +``` + +同样地,如果你想要通过进程 ID 来杀死进程,你可以用以下命令: + +``` +kill -9 +``` + +在这个例子中,命令会长这样: + +``` +kill -9 33665 +``` + +让我们看看在不同发行版中,你该如何使用图形用户界面 (GUI) 来杀死任意进程或应用。 + +### 通过 GUI 寻找进程 id 并杀掉 + +现在有很多图形界面程序可以枚列进程。大部分 Linux 发行版的桌面环境中已经携带了它们。我们在这里列举出了一些。 + +#### GNOME (在 Ubuntu, Fedora workstation 中,诸如此类) & 在 Linux Mint 中 + +在应用菜单中搜索 "system monitor" 并打开它 (译者注:中文桌面环境也可以搜 "system monitor",我在 ubuntu 里试过了)。在进程 (Processes) 标签页下找到你的进程,右击进程名字打开快捷菜单,选择选项“杀死” (Kill)。 + +![Kill a process in Linux using gnome system monitor][4] + +#### KDE Plasma (Kubuntu,Fedora-KDE 或任何基于 Plasma 的发行版) + +在应用菜单中搜索并启动 "system monitor"。这会打开以下程序。在左边菜单栏点击进程,你因该能看见一列正在运行的程序。你可以右击列表里的进程或应用并选择“杀死”来终止进程。 + +![System monitor in KDE Plasma][5] + +#### Xfce 桌面 + +Xfce 桌面可以完成这项任务的原生应用是任务管理器 (Task Manager),你可以通过 `应用 (Application) > 系统 (System) > 任务管理器 (Task manager)` 来找到它。右击进程名字然后选择“杀死”来终止应用或进程。 + +![Xfce task manager to kill a process][6] + +#### 如何在其他桌面或发行版上杀死一个进程或程序 + +如果你找不到任何相似的程序,你可以选择使用终端的方法。或者,你可以使用以下命令来安装 gnome-system-monitor。 + +**Ubuntu 以及相关发行版** + +``` +sudo apt install gnome-system-monitor +``` + +**Fedora 以及其相关的:** + +``` +sudo dnf install gnome-system-monitor +``` + +**还有 Arch Linux:** + +``` +sudo pacman -S gnome-system-monitor +``` + +### 总结一下 + +这就是你该如何在 Linux 中找到一个运行中的进程 id 并杀死它。我们已经解释了不同的方法:你可以通过名字或者 PID 来杀死进程。我希望这对你有所帮助。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/find-process-id-kill-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[yzuowei](https://github.com/yzuowei) +校对:[校对者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/12/Top-program-output.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/Firefox-process-id-using-ps-command-example.jpg +[3]: https://linux.die.net/man/1/kill +[4]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kill-a-process-in-Linux-using-gnome-system-monitor.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/System-monitor-in-KDE-Plasma.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Xfce-task-manager-to-kill-a-process.jpg From 4ac4ee34e964a81fa1ed8ce0476bfa26b963e405 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 9 Dec 2022 16:52:30 +0800 Subject: [PATCH 686/925] R --- .../20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md index e7597b2165..4630edf724 100644 --- a/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md +++ b/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md @@ -42,7 +42,7 @@ 第一种是无符号unsigned整型,其使用了所有的位来表达一个正数。无符号整型的值域为从 `0` 到 $2^{位长} - 1$。例如,8 位数可以是 `0` 到 `255` 之间的任意值,而 16 位数则在 `0` 到 `65535` 之间,以此类推。 -有符号整型也很类似。不同之处在于数字的最高位代表了这个数是一个正数(`0`)还是一个负数 (`1`)。有符号整型的值域前半部分为正数,正数值域是从 `0` 到 $2^{(字长 - 1)} - 1$。整型值域的后半部分为负数,负数值域则从 $0 - (2^{位长 - 1})$ 到 `-1`。 +有符号整型也很类似。不同之处在于数字的最高位代表了这个数是一个正数(`0`)还是一个负数 (`1`)。有符号整型的值域前半部分为正数,正数值域是从 `0` 到 $2^{(位长 - 1)} - 1$。整型值域的后半部分为负数,负数值域则从 $0 - (2^{位长 - 1})$ 到 `-1`。 比如说,一个 8 位数代表着 `0` 到 `127` 之间的任意正数,以及 `-128` 到 `-1` 之间的任意负数。为了能更好的理解这一点,想象 **字节** 为一列数组 `[0...127,-128...-1]`。因为 `-128` 在数组内紧跟着 `127`,`127` 加 `1` 等于 `-128`。当然这可能看起来有点奇怪甚至反常,但这其实让这个层级的基本数学运算变简单了。 From d298b374dd9daae123fddaba2e56e2550a428da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 21:11:55 +0800 Subject: [PATCH 687/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221208.7=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ku?= =?UTF-8?q?mandar=20Linux=20Lightweight=20Debian=20&=20Xfce=20Spin=20with?= =?UTF-8?q?=20Windows=207=20Look.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...htweight Debian & Xfce Spin with Windows 7 Look.md | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 sources/tech/20221208.7 ⭐️⭐️ Kumandar Linux Lightweight Debian & Xfce Spin with Windows 7 Look.md diff --git a/sources/tech/20221208.7 ⭐️⭐️ Kumandar Linux Lightweight Debian & Xfce Spin with Windows 7 Look.md b/sources/tech/20221208.7 ⭐️⭐️ Kumandar Linux Lightweight Debian & Xfce Spin with Windows 7 Look.md new file mode 100644 index 0000000000..4e1eb3472c --- /dev/null +++ b/sources/tech/20221208.7 ⭐️⭐️ Kumandar Linux Lightweight Debian & Xfce Spin with Windows 7 Look.md @@ -0,0 +1,121 @@ +[#]: subject: "Kumandar Linux: Lightweight Debian & Xfce Spin with Windows 7 Look" +[#]: via: "https://www.debugpoint.com/kumandar-linux-alpha/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kumandar Linux: Lightweight Debian & Xfce Spin with Windows 7 Look +====== + +**A new Linux distribution Kumandar Linux is under development (Alpha stage), and it makes switching to Linux easier with a default Windows 7 look.** + +![Kumandar Linux Desktop][1] + +Kumandar Linux is a new Linux distribution in the making coming from the Philippines. It is developed by Roy Hoejgaard and is currently in the Alpha stage. + +The name is a little unique, and as per the website: + +> “The name Kumander simply means Commander in English. It’s actually a homage to Commodore (my 1st computer – a VIC20 no less), but I didn’t think “Komodoro” sounded quite right. So Kumander it is.” + +Let’s take a look. + +### Kumandar Linux: A Quick First Look + +At first glance, it reminds you of the Windows 7 look, which is the default window manager GTK theme used here. Per the team, the drive to make this distro is to provide Linux users with a friendly user interface (which peaked in Windows 7 from Microsoft and went downhill after that). In addition to the look, it also promises a lightweight distro experience with Debian stable and Xfce desktop environment at the core. + +#### Installation + +Kumandar Linux uses Debian’s native installer with the branding changes only. It installs fine, and no surprises there. However, you can only launch the installation from the boot menu. There is no installation option from the LIVE medium. + +![Boot screen][2] + +![uses Debian installer][3] + +#### Login screen, Xfce desktop and components + +The login screen would remind you of the Windows 7 login screen. And when you log in, you should see a clean Xfce desktop in Kumandar Linux. + +It uses a natively developed Kumandar window manager theme, icon theme and the GTK2 theme. This includes the Xfce style as well. All of these blends nicely with the Xfce desktop to give you the following look. + +![Login screen][4] + +![Desktop look -2][5] + +The Xfce Panel is well configured to give you a perfect width, and the tray menu looks awesome. Usability-wise it is perfect with the default shortcuts and Xfce application menu. + +Default Sans font gives the final touch to make it look like Windows 7. The GTK2 theme really well built because of the animation on buttons during mouseover and desktop controls – they all look pleasant with the overall Windows 7 look. + +#### Applications + +All the necessary apps are pre-loaded in Kumandar Linux. That includes all the native Xfce apps. Furthermore, the developer also renamed some of the apps to make them feel like Windows apps. However, they are actually native Xfce apps. + +For example, the [default lightweight notepad][6] of Xfce desktop “mousepad” is changed to “Notepad” in the menu entry! + +Some of the key applications which are pre-loaded are the followings. These are in addition to the default Xfce apps. + +- Geany +- VSCodium +- Firefox +- GIMP +- Blender +- Inkscape +- LibreOffice +- Filezilla +- Putty +- Thunderbird email client +- Transmission torrent client +- Audacious and Ardour for audio work +- Parole music player + +![Kumandar Linux Running LibreOffice][7] + +Furthermore, the Synaptic package manager is there to install and uninstall apps. The list of pre-loaded applications, I believe, is almost complete for general use. And thanks to Debian stable, they should work fine. + +### Performance + +With all the customization and this theme, its performance is exceptionally well. I kept it running for almost 3 hours in Virtualbox. It consumes around 590 MB of memory which is really good. The CPU is in the 2% to 4% range. + +On top of that, if you run more apps, it may go up accordingly. But the baseline metric is impressive, and it might be one of the contenders on the [lightweight distro list][8] once it becomes a stable release. + +It uses only 6GB of disk space for the default installation. + +![Performance][9] + +### Wrapping Up + +The Kumandar Linux Alpha version looks promising, and I hope to see a stable release soon. For elders who want a familiar-looking distro to make a move to Linux for themselves, this might be a good “off the shelf” distro to start with. Because you probably do not need to configure anything or install any app. All the necessary configs and apps are done. + +And thanks to Debian-stable and Xfce desktop – the overall stability of the distro and desktop would be solid. Also, I believe this distro needs a 32-bit ISO, definitely. + +That being said, if you want to give it a try, download the ISO file from the [official website][10]. And let me know your opinion in the comment box. + +[Next:Mouse cursor is not visible in Fedora and Wayland [Fixed]][11] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/kumandar-linux-alpha/ + +作者:[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/12/Kumandar-Linux-Desktop.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/Boot-scree.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/uses-Debian-installer.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/12/Login-screen.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/Desktop-look-2.jpg +[6]: https://www.debugpoint.com/lightweight-notepad-linux/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kumandar-Linux-Running-LibreOffice.jpg +[8]: https://www.debugpoint.com/lightweight-linux-distributions-2022/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/12/Performance.jpg +[10]: https://www.kumander.org/?route=download +[11]: https://www.debugpoint.com/cursor-not-visible-wayland/ + From b6bb6da5485fc16d9deb7dff163f5dcc95060330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 21:14:23 +0800 Subject: [PATCH 688/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221209.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20In?= =?UTF-8?q?stall=20open=20source=20solar=20power=20at=20home.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Install open source solar power at home.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md diff --git a/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md new file mode 100644 index 0000000000..7f9e86514d --- /dev/null +++ b/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md @@ -0,0 +1,61 @@ +[#]: subject: "Install open source solar power at home" +[#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" +[#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Install open source solar power at home +====== + +You might have already given some thought to powering your home with solar. Solar photovoltaic panels, which convert sunlight directly into electricity, have fallen so far down in cost that it makes economic sense everywhere. That is why large companies have put in a lot of solar, and even the electric utilities have started installing massive solar farms—it simply costs less than antiquated fossil fuels. Like most homeowners, you would like to save money and eviscerate your electric bill, but you are probably cringing a bit at the upfront cost. To get a rough idea of the cost, a 5kW system that would power an average home installed at $3/W would cost about $15,000, while a larger home might need 10kW to offset all of their electricity purchases and cost $30,000. If you want batteries, double the cost (you don’t need batteries as most solar arrays connect to the grid, but if the grid goes down, so does your solar array until it is turned back on.) Paying for all your electricity for the next several decades is an investment, even if you save a lot of money. + +There is some good financial news. First, both the US and Canada have enacted a 30% tax credit for solar. This credit drops the price down to about $2/W. Second, [Opensource.com previously discussed][1] how you could get a free book, [_To Catch the Sun_][2], that walks you through how to design your own system (you will still need a certified electrician and inspections to attach it to the grid). If you are a little handy, you can cut the remaining cost by about 50%. These costs are primarily for materials, including solar panels, wiring, electronics, and racking. Amazingly, solar panel costs have dropped so low for small solar systems (like the ones for your house) the racking (mechanical structures that hold the solar panels up) can cost more than the panels! + +### Open source to the rescue again + +Applying the open source development paradigm to software results in faster innovation, better products, and lower costs. The same is true of open source hardware—and even in the relatively obscure area of photovoltaic racking. Nearly all commercial photovoltaic racking is made from proprietary odd aluminum extrusions. They cost a lot of money. If you have a bit of unshaded backyard, you have a few open source racking solutions to choose from. + +### Open source solar rack designs + +The first DIY solar rack design meets the following criteria: (1) made from locally-accessible renewable materials, (2) 25-year lifetime to match solar warranties, (3) able to be fabricated by average consumers, (4) able to meet Canadian structural building codes (if you live where there is no snow this is a bit overkill, but, hey, you might have other weather extremes like hurricanes to deal with), (5) low cost and (6) that it is shared using an open source license. [The open source wood-based fixed-tilt ground-mounted bifacial photovoltaic rack design][3] works throughout North America. The racking system saves from 49% to 77% compared to commercial proprietary racking. The racking design, however, is highly dependent on the cost of lumber, which varies worldwide. + +Check your local cost of wood before you dive into this open source design. + +![Non-tilting solar rack plans][4] + +If you are even more adventurous, you might consider this second design that allows you to change the tilt angle. The results of [the second study][5] show the racking systems with an optimal variable seasonal tilt angle have the best lifetime energy production, with 5.2% more energy generated compared to the fixed-tilt system (or 4.8% more energy, if limited to a maximum tilt angle of 60°). Both fixed and variable wooden racking systems show similar electricity costs, which are only 29% of that of proprietary commercial metal racking. The variable tilt rack provides the lowest cost option even when modest labor costs are included and also may provide specific advantages for applications such as [agrivoltaics][6] (i.e., you can garden underneath the panels and amazingly get increases in yields for shade-tolerant crops like lettuce). This design has been certified by [OSHWA with CERN-OHL-S-2.0 licenses][7]. + +IMAGE + +![Tilt-adjustable solar racks][8] + +There is about 1kW for each of the 2 PV module racks shown. So a house would need about five of them. Both papers provide full calculations and step-by-step build instructions. + +As anyone with a solar system will tell you, getting a negative electricity bill is pretty rewarding. This happens if you size your system to meet all of your load and live in a net-metered part of the country. Please note that the electric utilities don’t pay you; the credit carries over until you use it in the winter. + +Have fun with a little open source solar! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-solar-power-home + +作者:[Joshua Pearce][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/joshuapearce +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/11/open-source-solar-power +[2]: https://tocatchthesun.com/ +[3]: https://doi.org/10.3390/designs6030041 +[4]: https://opensource.com/sites/default/files/2022-11/nontilt.png +[5]: https://doi.org/10.3390/designs6030054 +[6]: https://www.academia.edu/18406368/The_potential_of_agrivoltaic_systems +[7]: https://certification.oshwa.org/ca000013.html +[8]: https://opensource.com/sites/default/files/2022-11/tilt.png From e1053b81a47e751d93e7a090ab4dad299d9fe80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 21:14:57 +0800 Subject: [PATCH 689/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221209.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A?= =?UTF-8?q?=20Linux=20file=20manager=20for=20Emacs=20fans.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ A Linux file manager for Emacs fans.md | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 sources/tech/20221209.1 ⭐️⭐️ A Linux file manager for Emacs fans.md diff --git a/sources/tech/20221209.1 ⭐️⭐️ A Linux file manager for Emacs fans.md b/sources/tech/20221209.1 ⭐️⭐️ A Linux file manager for Emacs fans.md new file mode 100644 index 0000000000..a8460b53e5 --- /dev/null +++ b/sources/tech/20221209.1 ⭐️⭐️ A Linux file manager for Emacs fans.md @@ -0,0 +1,164 @@ +[#]: subject: "A Linux file manager for Emacs fans" +[#]: via: "https://opensource.com/article/22/10/linux-file-manager-dired" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A Linux file manager for Emacs fans +====== + +In 2009, I was working hard at a startup in Pittsburgh, and in the late evenings of coding, I developed a GNU Emacs habit. The thing about Emacs is that it's just too versatile to close. Whether you're writing code, writing articles about open source, jotting down a task list, or even playing music, you can do it all from within Emacs. And every time you think you've found a task outside of Emacs, you discover an Emacs mode to prove you wrong. One of my favorite reasons to not close Emacs is its file manager, called directory editor or just Dired. + +### Install GNU Emacs + +Dired is included with Emacs, so there's no install process aside from installing Emacs itself. + +On Linux, you can find GNU Emacs in your distribution's software repository. On Fedora, CentOS, Mageia, and similar: + +``` +$ sudo dnf install emacs +``` + +On Debian, Linux Mint, Elementary, and similar: + +``` +$ sudo apt install emacs +``` + +On macOS, use [Homebrew][1] or [MacPort][2]. + +For Windows, use [Chocolatey][3]. + +![Image of dired file directory.][4] + +### File management with Dired + +Dired mode is a text-based file management system. It can run in the graphical version of Emacs or in the terminal version of Emacs, making it a flexible, lightweight, and approved for use during a [zombie apocalypse][5]. + +To launch it, press **Ctrl+X** and then **d**. You're prompted in the mini buffer (the field at the bottom of the Emacs window) for the directory you want to open. It defaults to your home directory (`~`). + +``` +/home/tux: +total used in directory 40 available 88.1 GiB +drwx------. 17 tux  tux  4096 Sep 20 15:15 . +drwxr-xr-x.  5 root root   42 Sep 14 05:29 .. +-rw-------.  1 tux  tux   938 Sep 20 15:28 .bash_history +-rw-r--r--.  1 tux  tux    18 Nov  6  2021 .bash_logout +-rw-r--r--.  1 tux  tux   141 Nov  6  2021 .bash_profile +-rw-r--r--.  1 tux  tux   492 Nov  6  2021 .bashrc +drwxr-xr-x. 16 tux  tux  4096 Sep 20 14:23 .cache +drwx------. 16 tux  tux  4096 Sep 20 14:51 .config +drwxr-xr-x.  2 tux  tux    59 Sep 20 15:01 Desktop +drwxr-xr-x.  2 tux  tux     6 Sep 15 15:54 Documents +drwxr-xr-x.  3 tux  tux   166 Sep 20 15:12 Downloads +-rw-r--r--.  1 tux  tux   334 Oct  5  2021 .emacs +drwx------.  2 tux  tux     6 Sep 20 14:25 .emacs.d +-rw-------.  1 tux  tux    33 Sep 20 15:15 .lesshst +drwx------.  4 tux  tux    32 Sep 15 15:54 .local +drwxr-xr-x.  6 tux  tux    81 Sep 15 16:03 .mozilla +drwxr-xr-x.  2 tux  tux     6 Sep 15 15:54 Music +drwxr-xr-x.  2 tux  tux    59 Sep 20 14:52 Pictures[...] +``` + +The file listing provided looks familiar to anyone accustomed to `ls -l` in a terminal. From left to right: + +- Identifies the entry as a directory, if applicable, and then lists the [file permissions][6] +- The number of hard links to the entry (for example, the `Desktop` entry has 1 hard link representing itself, and 1 file in it) +- User +- Group +- Disk space used, in bytes +- Time last modified +- File name + +### Navigation + +To navigate Dired, you can use either the arrow keys or [standard Emacs key bindings][7]. For this article, I use Emacs notation: **C-** for **Ctrl** and **M-** for **Alt** or **Meta**. + +- **C-p** or **Up** arrow: Previous entry in list +- **C-n** or **Down** arrow: Next entry in list +- **Enter** or **v**: Descend into the selected directory +- **^**: Move "up" the directory tree to the current directory's parent + +### Refreshing the view + +Dired doesn't redraw the screen for every action, so sometimes you may need to prompt it to refresh. Press **g** to redraw a Dired listing. + +### Open a file + +One of the reasons you use a file manager is to find a file and then open it. Emacs can't open every file type, but you might be surprised at just how much it can handle. Then again, not everything it can handle is necessarily useful to you. For instance, it's nice that Emacs _can_ open a JPEG but I rarely view a JPEG in Emacs, and I certainly don't use it to edit a JPEG. + +Assuming you're considering the types of files you find Emacs useful for, you can open them directly from Dired. That includes text files (Asciidoc, Markdown, HTML, CSS, Lua, Python, and so on) as well as compressed TAR archives. + +To close a file that you've opened, use the **C-x****C-k** Emacs binding to invoke the `kill-buffer` function. + +### Copy a file + +To copy a file from one directory to another, press **C** (that's the capital letter `C`, not the **Ctrl** key). You're prompted to provide a destination directory and file name in the mini buffer at the bottom of the Emacs window. + +### Move a file + +Moving a file is, confusingly, _renaming_ a file (the exact opposite terminology used in Linux, where renaming a file is actually _moving_ a file.) I've used Dired for years and I still fail to remember this linguistic quirk. + +To rename a file, whether you're renaming it back into its current directory or renaming it to some other directory, press **R** (capital `R`.) You're prompted to provide a destination directory and a new file name in the mini buffer at the bottom of the Emacs window. + +### Selecting files + +There are a few ways to mark selections in Dired. The first is to have your cursor on the same line as a file or directory entry. If your cursor is on the same line as an entry, then that entry is considered the implicit selection. Any action you take in Dired that targets a file targets that one. This includes, incidentally, "marking" a file as selected. + +To mark a file as selected, press **m** while your cursor is on its line. You can mark as many files as you want, and each one is considered selected. To deselect (unmark) a file, press the **u** key. + +Yet another way to select multiple lines at once is to use a specialized selection function. Dired has several, including `dired-mark-directories` to mark all directories in a list, `dired-mark-executables` to select all binary executables in a list, `dired-mark-files-regexp` to mark files containing a regex pattern, and more. If you're not a regular Emacs user, this is a considered advanced because it requires you to invoke Emacs functions, but here's how to do it and what to look for. + +Suppose you want to select all directories in a list: + +- Press **M-x** to activate the mini buffer prompt. +- Type `dired-mark-directories` and press **Return** on your keyboard. +- Look at the mini buffer. It tells you how many directories have been marked, and then it tells you that you can invoke this function again in the future with *******/** key combination. + +Any function in GNU Emacs that has a key binding associated with it reveals the keys to you after you've invoked it in its long form. + +### Creating an archive + +To create an archive of a file or a selection of files, press `c` (that's a lower-case `c`, not **Ctrl**). If you have nothing selected (or "marked" in Emacs terminology), then the current line is compressed. If you have files marked, then they're compressed into a single archive. In the mini buffer at the bottom of the Emacs window, you're prompted for a file name and path. Luckily, Emacs is a smart application and derives the target file type from the name you provide. If you name your archive `example.tar.xz`, then Emacs creates a TAR archive with lzma compression, but if you name it `example.zip` then it creates a ZIP file. + +### Cancel an action + +Should you accidentally invoke a function you don't want to finish, press **C-g** (that's Emacs notation for **Ctrl+G**.) Depending on where you are in the course of the function, you may have to press **C-g** in the mini buffer specifically to stop it from prompting you to continue. This is true for Emacs as a whole, so learn this valuable trick for Dired and carry it over to every mode you use. + +### Emacs is always open + +To quit Dired, you press **C-x****C-k** to kill the Dired buffer, just as you kill any Emacs buffer. + +To quit Emacs altogether, press **C-x****C-c**. + +Dired is a very capable file manager, and I've only covered the basics here. For a full list of what Dired can do, press they `h` key. + +I think Dired is probably most useful to those using or intending to use Emacs. I probably wouldn't choose it as a general-purpose file manager on a graphical system, because there are so many great alternatives already configured to work with the rest of the system when opening files. Of course, Emacs is infinitely configurable, so if you really enjoy Dired you can set it to do whatever you want it to do. + +For a headless system, though, I find that Dired makes a great file manager. Emacs is such a robust operating environment as it is, and Dired only adds to its versatility. With Emacs open, you have a built-in file manager, shell, multiplexer, text editor, and file previewer. You could very nearly use Emacs essentially as your login shell. + +Dired is a good text-based file manager, and well worth a look. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/linux-file-manager-dired + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/6/homebrew-mac +[2]: https://opensource.com/article/20/11/macports +[3]: https://opensource.com/article/20/3/chocolatey +[4]: https://opensource.com/sites/default/files/2022-10/dired.directory.png +[5]: https://opensource.com/zombie +[6]: https://www.redhat.com/sysadmin/suid-sgid-sticky-bit +[7]: https://opensource.com/article/20/1/emacs-cheat-sheet From ee50efa33f4adf688c3a08c74b59917dd29f1dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 9 Dec 2022 21:15:47 +0800 Subject: [PATCH 690/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221209.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Te?= =?UTF-8?q?a=20Raises=20$8.9M=20to=20Introduce=20a=20New=20Protocol=20Help?= =?UTF-8?q?ing=20Open-Source=20Developers=20Get=20Paid.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rotocol Helping Open-Source Developers Get Paid.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md diff --git a/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md b/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md new file mode 100644 index 0000000000..79302d8dd7 --- /dev/null +++ b/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md @@ -0,0 +1,94 @@ +[#]: subject: "Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid" +[#]: via: "https://news.itsfoss.com/tea-open-source-new-protocol/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid +====== + +An exciting way to help open-source developers get paid for their efforts. + +![Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid][1] + +[Tea][2] is an open-source unified package manager used by many developers worldwide. + +If you didn't know, Tea is a project by the creator of Homebrew. + +In a recent announcement, they announced that they have raised $8.9 Million in seed funding and are planning to introduce a new [web3 protocol][3] that will help open-source developers get paid for their work. + +I came across this via an article posted on [TechCrunch][4], where they had a chat with the founders of Tea. + +Let's take a look at what's in store for Tea. + +### A New Protocol Proposed by Tea + +**What is it?** + +**Long story short:** This protocol will help package maintainers receive non-fungible tokens (NFTs) as a reward for their contributions to a Tea-equipped open-source project. + +The extended version is, that this is a web3 protocol that will help package maintainers get paid in the form of a non-fungible token (NFT). + +When a maintainer completes a package submission, they will receive a non-transferable token (NFT) that can be used as evidence of their work and contribution. + +Existing maintainers will also be able to transfer the maintenance ownership of a package by transferring the package's NFT to other developers. + +> 💡 These NFTs are at the core of how Tea is planning to reward its users. + +Implementing this will also involve entities called '**Package Supporters** and **Sponsors**'. + +These include organizations, package users, philanthropists, and entrepreneurs who use open-source software to build commercial products and are looking to support such an ecosystem. + +They also mention that: + +> To provide the broadest coverage, we believe that rewards mustn’t rely on a simplistic notion of tracking installations or uninstallations, but rather on incentive mechanisms that encourage the submission of quality packages and the reporting of nefarious or high-risk packages. + +**When to Expect?:** So far, with Tea, they have only released what they term as 'the base features that a CLI [command-line interface] tool of its kind should have'. + +As of now, no concrete release date has been mentioned for this new protocol, and their best estimate for the release of this protocol is 'some time in 2023'. + +They add: + +> Much like waiting until November to release our CLI, we’re not going to launch until we understand how it should be best built and have gone through trial and error internally. + +> We’re going to take our time and make sure the tool itself is very useful and valuable for developers. + +### How Does it Help? + +**According to Tea inc:** This is supposed to help them create an open, public, and stable registry for all open-source software. + +In turn, empowering projects to publish releases independently rather than relying on third parties who assemble their data unpredictably, resulting in a ton of separate and often duplicated systems. + +Here's what they tell about their goals with the protocol: + +> Tea’s goal is to implement decentralized incentive mechanisms through unique use cases of the tea token for any member of the tea community to contribute to the perpetual sustainability and continuous growth of open-source. + +> Package supporters and sponsors are free to decide which packages or package maintainers they want to support based on their work, beliefs, or any criteria and metric that would influence their decision. + +**In my opinion:** This is an exciting approach to rewarding open-source contributors who are frequently neglected, even after contributing a lot to various open-source projects. + +However, considering that NFTs have garnered a lot of criticism in recent times. This may or may not turn out well. + +If you'd like to know more, you can dive deep into its official [white paper][5] for this protocol. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/tea-open-source-new-protocol/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/cli-raise-funds-new-api-help-opensource-dev.png +[2]: https://tea.xyz +[3]: https://web3.foundation/about/ +[4]: https://techcrunch.com/2022/12/06/from-the-creator-of-homebrew-tea-raises-8-9m-to-build-a-protocol-that-helps-open-source-developers-get-paid/ +[5]: https://tea.xyz/tea.white-paper.pdf From a04b352a80e68ad522e85290b1fe02dff599c4f2 Mon Sep 17 00:00:00 2001 From: ZZJ Date: Fri, 9 Dec 2022 21:41:45 +0800 Subject: [PATCH 691/925] Update 20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md --- ... Useful Linux Command Line Tools that Everyone Should Use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md b/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md index 9c40df67a5..93b41aa58e 100644 --- a/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md +++ b/sources/tech/20220623 5 Useful Linux Command Line Tools that Everyone Should Use.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/2022/06/useful-linux-command/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: "Veryzzj" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 236bc5d27023e95c27e0a958a078b9b41794a1e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91?= Date: Sat, 10 Dec 2022 06:44:22 +0800 Subject: [PATCH 692/925] Translated --- ...Install GNOME Desktop Environment in Linux Mint.md | 116 ------------------ ...Install GNOME Desktop Environment in Linux Mint.md | 116 ++++++++++++++++++ 2 files changed, 116 insertions(+), 116 deletions(-) delete mode 100644 sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md create mode 100644 translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md diff --git a/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md deleted file mode 100644 index a00f08127f..0000000000 --- a/sources/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md +++ /dev/null @@ -1,116 +0,0 @@ -[#]: subject: "How to Install GNOME Desktop Environment in Linux Mint" -[#]: via: "https://itsfoss.com/install-gnome-linux-mint/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install GNOME Desktop Environment in Linux Mint -====== - -Linux Mint is an excellent Linux distribution, especially for beginners. - -I like that it stays on the familiar Ubuntu/Debian front and yet it does several things [better than Ubuntu][1]. One of them is that it doesn’t push Snaps down my throat. - -However, I am not a fan of the Cinnamon desktop as I never really liked the Windows XP or 7’s default setup either. - -As I was looking for the stability that Linux Mint offered with the ability to use GNOME and here’s what I got in the end: - -![install gnome in linux mint][2] - -Nothing too fancy but this is my Linux Mint 21 running GNOME 42.5. - -And if you want to install GNOME on Linux Mint, this guide is for you. - -### Things to know before installing GNOME on Linux Mint - -You really should have good enough reasons to install GNOME on Mint. If you are just feeling experimental, try it in a virtual machine. I performed this tutorial with [Linux Mint installed in VirtualBox][3]. - -The thing about installing a desktop environment other than the one provided by the distribution is that the removal part complicates the matter. - -Cinnamon uses some GNOME elements. If you decide to remove GNOME later, it may impact some parts of Cinnamon. - -This could be a cause of panic for inexperienced users. Of course, reinstalling the Cinnamon desktop from the TTY screen could be a possible solution here. - -The gist of all this is that if you easily get spooked and don’t like troubleshooting, you should not do these ‘experiments’ on your main computer. - -With that aside, let’s see the simple procedure of getting GNOME on Linux Mint. - -### Install GNOME Desktop Environment in Linux Mint - -Here you have two options. Either you can go with a complete GNOME desktop which includes all the GNOME utilities, or you can go with the stripped-down version having the least amount of GNOME packages. - -And I will be covering both. - -To **install GNOME with the least amount of GNOME utilities,** you’d have to install a package named `vanilla-GNOME` using the given command: - -``` -sudo apt install vanilla-gnome-desktop -``` - -And **if you want to have a complete GNOME experience**, you can simply install the `gnome` package: - -``` -sudo apt install gnome -``` - -Once you execute any of the two shown commands, you will be asked to choose the preferred display manager in the next step. - -![choose display manager][4] - -`gdm3` is a display manager for the GNOME desktop while Linux Mint uses `lightdm` by default and both should work just fine, but I will suggest you go with gdm3 to have the complete GNOME experience. - -#### Switching to GNOME - -Once done, log out and hit enter once, and there you’d see a small gear icon. From here, choose GNOME: - -![choose gnome while logging in][5] - -And now, you have GNOME with Linux Mint as a base! - -#### Bonus Tip: How to Apply Themes with consistency - -You can use that Cinnamon themes, but most of them don’t work as expected, so I will recommend using GNOME themes such as Adwaita to have consistency around the desktop. - -For me, the default fonts do not work at all, and I prefer something close to what Fedora offers. So open GNOME tweaks from the system menu and make changes as shown: - -![change fonts in ubuntu to have vanilla gnome experience][6] - -Here’s what I have used: - -- **Cantarell Regular (11)** for both interface and document text. -- **Noto Sans Mono Regular (13)** for monospace text. -- **Cantarell Bold (11)** for window titles. - -And it turned out to be far better than the default Ubuntu font scheme. - -Since you have GNOME, you can use our detailed guide on installing and [changing GNOME themes on Linux][7] to make it as your heart desires. - -### Wrapping Up - -As you can see, installing GNOME on Linux Mint is quite simple. And as I mentioned earlier, the removal part could complicate things as it has the possibility of removing some GNOME packages required by Cinnamon. - -What is powering your main machine right now? I’m on Pop!_OS. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/install-gnome-linux-mint/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/linux-mint-vs-ubuntu/ -[2]: https://itsfoss.com/wp-content/uploads/2022/11/install-gnome-in-linux-mint.png -[3]: https://itsfoss.com/install-linux-mint-in-virtualbox/ -[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-display-manager.png -[5]: https://itsfoss.com/wp-content/uploads/2022/11/choose-gnome-while-logging-in.png -[6]: https://itsfoss.com/wp-content/uploads/2022/11/change-fonts-in-ubuntu-to-have-vanilla-gnome-experience.png -[7]: https://itsfoss.com/install-switch-themes-gnome-shell/ diff --git a/translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md new file mode 100644 index 0000000000..2547594576 --- /dev/null +++ b/translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md @@ -0,0 +1,116 @@ +[#]: subject: "How to Install GNOME Desktop Environment in Linux Mint" +[#]: via: "https://itsfoss.com/install-gnome-linux-mint/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "robsean" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux Mint 上安装 GNOME 桌面环境 +====== + +Linux Mint 是一款极好的 Linux 发行版,特别适合初学者。 + +我喜欢它仍然保持常见的 Ubuntu/Debian 字体,但是它还做了一些 [比 Ubuntu 更好的][1] 工作。其中之一就是它没有使用 Snaps 。 + +然而,我不是 Cinnamon 桌面环境的粉丝,因为我从来没有真正地喜欢过 Windows XP 或 7 的默认设置。 + +当我在为 Linux Mint 寻找能提供稳定使用 GNOME 的能力时,这便是我最终获得的结果: + +![install gnome in linux mint][2] + +这就是我运行 GNOME 42.5 的 Linux Mint 21 。 + +如果你想在 Linux Mint 上安装 GNOME ,那么这篇指南非常适合你。 + +### 在 Linux Mint 上安装GNOME 之前所要知道的事 + +你真的应该有足够的理由来在 Mint 上安装 GNOME 。如果你只是为了尝鲜,可以在虚拟机中尝试。我使用 [在 VirtualBox 中安装的 Linux Mint][3] 来演示这篇教程。 + +在发行版上安装一种桌面环境与直接使用来自发行版所提供的桌面环境相比,移除桌面环境部分会使其变成一件很复杂化的事。 + +Cinnamon 使用一些 GNOME 元素。如果你决定稍后移除 GNOME ,这可能会影响到 Cinnamon 的一部分功能。 + +这可能会导致缺少实战经验用户的恐慌。当然,在 TTY 屏幕中重新安装 Cinnamon 桌面环境可能是一种可行的解决方案。 + +最重要的一点是,如果你很容易惊慌地不知所措和不喜欢解决难题,那么你就不应该在你的主力计算机上做这些 ‘试验’ 。 + +抛开这些顾虑,让我们看看在 Linux Mint 上获取 GNOME 的简单过程。 + +### 在 Linux Mint 上安装 GNOME 桌面环境 + +在这里,你有两个选项。1、你可以使用包含所有的 GNOME 实用程序的完整的 GNOME 桌面,2、你也可以使用包含极少数软件包的 GNOME 精简版本、 + +我都将讲解一下。 + +为 **安装精简版本的 GNOME** ,你需要安装一个名称为 `vanilla-GNOME` 的软件包,使用下面给定的命令: + +``` +sudo apt install vanilla-gnome-desktop +``` + +**如果你想要完整的 GNOME 体验** ,你可以简单地安装 `gnome` 软件包: + +``` +sudo apt install gnome +``` + +在你执行上述任一个命令后,在接下来的步骤中将会要求你选择首选的显示管理器。 + +![choose display manager][4] + +`gdm3` 是 GNOME 桌面的显示管理器,而 Linux Mint 使用 `lightdm` 作为默认的显示管理器,这两种显示器都可以正常工作,但是,我建议你使用 gdm3 来获取完整的 GNOME 体验。 + +#### 切换到 GNOME + +在完成后,注销并按一次 enter 按键,在这里,你将看到一个小齿轮图标。从这里选择 GNOME : + +![choose gnome while logging in][5] + +现在,你拥有以 Linux Mint 为基础的 GNOME 桌面环境! + +#### 额外提示:如何应用整体风格一致的主题 + +你可以继续使用 Cinnamon 桌面的主题,但是它们大多不能如前工作,因此,我建议使用 GNOME 桌面的主题(例如 Adwaita )来保持桌面环境的一致性。 + +对我而言,其默认的字体没有一点效果。并且,我更喜欢 Fedora 提供的一些字体。因此,从系统菜单打开 GNOME 调整GNOME tweaks 窗口,并作出如下更改: + +![change fonts in ubuntu to have vanilla gnome experience][6] + +这里是我使用的一些东西: + +- **Cantarell Regular (11)** 用于界面和文档文本。 +- **Noto Sans Mono Regular (13)** 用于等宽字体文本。 +- **Cantarell Bold (11)** 用于窗口标题。 + +它们的结果是,比默认的 Ubuntu 字体方案要好得多。 + +既然你有了 GNOME ,你可以使用我们的详细指南来安装和 [更改 Linux 上的 GNOME 主题][7],来使其成为你所梦想的样子。 + +### 总结 + +如你所见,在 Linux Mint 上安装 GNOME 是非常简单的。正如我先前所提到的那样,移除部分可能会使事情复杂化,因为这可能会移除一些 Cinnamon 所需要的一些 GNOME 软件包。 + +你现在的主力计算机系统是什么?我的是 Pop!_OS 。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-gnome-linux-mint/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[robsean](https://github.com/robseans) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/linux-mint-vs-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/install-gnome-in-linux-mint.png +[3]: https://itsfoss.com/install-linux-mint-in-virtualbox/ +[4]: https://itsfoss.com/wp-content/uploads/2022/11/choose-display-manager.png +[5]: https://itsfoss.com/wp-content/uploads/2022/11/choose-gnome-while-logging-in.png +[6]: https://itsfoss.com/wp-content/uploads/2022/11/change-fonts-in-ubuntu-to-have-vanilla-gnome-experience.png +[7]: https://itsfoss.com/install-switch-themes-gnome-shell/ From 2d9d8f3a6d1532f72d26a6ad125a1a3dbd32c903 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sat, 10 Dec 2022 10:31:23 +0800 Subject: [PATCH 693/925] Update and rename sources/tech/20220628 Linux su vs sudo- what-s the difference-.md to translated/tech/20220628 Linux su vs sudo- what-s the difference-.md --- ...inux su vs sudo- what-s the difference-.md | 150 ----------------- ...inux su vs sudo- what-s the difference-.md | 151 ++++++++++++++++++ 2 files changed, 151 insertions(+), 150 deletions(-) delete mode 100644 sources/tech/20220628 Linux su vs sudo- what-s the difference-.md create mode 100644 translated/tech/20220628 Linux su vs sudo- what-s the difference-.md diff --git a/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md b/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md deleted file mode 100644 index 7dab5d8703..0000000000 --- a/sources/tech/20220628 Linux su vs sudo- what-s the difference-.md +++ /dev/null @@ -1,150 +0,0 @@ -[#]: subject: "Linux su vs sudo: what's the difference?" -[#]: via: "https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin" -[#]: author: "David Both https://opensource.com/users/dboth" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux su vs sudo: what's the difference? -====== -A comparison of Linux commands for escalating privileges for non-root users. - -![bash logo on green background][1] - -Image by: Opensource.com - -Both the `su` and the `sudo` commands allow users to perform system administration tasks that are not permitted for non-privileged users—that is, everyone but the root user. Some people prefer the `sudo` command: For example, [Seth Kenlon][2] recently published "[5 reasons to use sudo on Linux][3]", in which he extols its many virtues. - -I, on the other hand, am partial to the `su` command and prefer it to `sudo` for most of the system administration work I do. In this article, I compare the two commands and explain why I prefer `su` over `sudo` but still use both. - -### Historical perspective of sysadmins - -The `su` and `sudo` commands were designed for a different world. Early Unix computers required full-time system administrators, and they used the root account as their only administrative account. In this ancient world, the person entrusted with the root password would log in as root on a teletype machine or CRT terminal such as the DEC VT100, then perform the administrative tasks necessary to manage the Unix computer. - -The root user would also have a non-root account for non-root activities such as writing documents and managing their personal email. There were usually many non-root user accounts on those computers, and none of those users needed total root access. A user might need to run one or two commands as root, but very infrequently. Many sysadmins log in as root to work as root and log out of our root sessions when finished. Some days require staying logged in as root all day long. Most sysadmins rarely use `sudo` because it requires typing more than necessary to run essential commands. - -These tools both provide escalated privileges, but the way they do so is significantly different. This difference is due to the distinct use cases for which they were originally intended. - -### sudo - -The original intent of `sudo` was to enable the root user to delegate to one or two non-root users access to one or two specific privileged commands they need regularly. The `sudo` command gives non-root users temporary access to the elevated privileges needed to perform tasks such as adding and deleting users, deleting files that belong to other users, installing new software, and generally any task required to administer a modern Linux host. - -Allowing the users access to a frequently used command or two that requires elevated privileges saves the sysadmin a lot of requests from users and eliminates the wait time. The `sudo` command does not switch the user account to become root; most non-root users should never have full root access. In most cases, `sudo` lets a user issue one or two commands then allows the privilege escalation to expire. During this brief time interval, usually configured to be 5 minutes, the user may perform any necessary administrative tasks that require elevated privileges. Users who need to continue working with elevated privileges but are not ready to issue another task-related command can run the `sudo -v` command to revalidate the credentials and extend the time for another 5 minutes. - -Using the `sudo` command does have the side effect of generating log entries of commands used by non-root users, along with their IDs. The logs can facilitate a problem-related postmortem to determine when users need more training. (You thought I was going to say something like "assign blame," didn't you?) - -### su - -The `su` command is intended to allow a non-root user to elevate their privilege level to that of root—in fact, the non-root user becomes the root user. The only requirement is that the user know the root password. There are no limits on this because the user is now logged in as root. - -No time limit is placed on the privilege escalation provided by the su command. The user can work as root for as long as necessary without needing to re-authenticate. When finished, the user can issue the exit command to revert from root back to their own non-root account. - -### Controversy and change - -There has been some recent disagreement about the uses of `su` versus `sudo`. - -> Real [Sysadmins] don't use sudo. —Paul Venezia - -Venezia contends in his [InfoWorld article][4] that `sudo` is used as an unnecessary prop for many people who act as sysadmins. He does not spend much time defending or explaining this position; he just states it as a fact. And I agree with him—for sysadmins. We don't need the training wheels to do our jobs. In fact, they get in the way. - -However, - -> The times they are a'changin.' —Bob Dylan - -Dylan was correct, although he was not singing about computers. The way computers are administered has changed significantly since the advent of the one-person, one-computer era. In many environments, the user of a computer is also its administrator. This makes it necessary to provide some access to the powers of root for those users. - -Some modern distributions, such as Ubuntu and its derivatives, are configured to use the `sudo` command exclusively for privileged tasks. In those distros, it is impossible to log in directly as the root user or even to `su` to root, so the `sudo` command is required to allow non-root users any access to root privileges. In this environment, all system administrative tasks are performed using `sudo`. - -This configuration is possible by locking the root account and adding the regular user account(s) to the wheel group. This configuration can be circumvented easily. Try a little experiment on any Ubuntu host or VM. Let me stipulate the setup here so you can reproduce it if you wish. I installed Ubuntu 16.04 LTS1 and installed it in a VM using VirtualBox. During the installation, I created a non-root user, student, with a simple password for this experiment. - -Log in as the user student and open a terminal session. Look at the entry for root in the `/etc/shadow` file, where the encrypted passwords are stored. - -``` -student@ubuntu1:~$ cat /etc/shadow -cat: /etc/shadow: Permission denied -``` - -Permission is denied, so we cannot look at the `/etc/shadow` file. This is common to all distributions to prevent non-privileged users from seeing and accessing the encrypted passwords, which would make it possible to use common hacking tools to crack those passwords. - -Now let's try to `su -` to root. - -``` -student@ubuntu1:~$ su - -Password: -su: Authentication failure -``` - -This fails because the root account has no password and is locked out. Use the `sudo` command to look at the `/etc/shadow` file. - -``` -student@ubuntu1:~$ sudo cat /etc/shadow -[sudo] password for student: -root:!:17595:0:99999:7::: - -student:$6$tUB/y2dt$A5ML1UEdcL4tsGMiq3KOwfMkbtk3WecMroKN/:17597:0:99999:7::: - -``` - -I have truncated the results to show only the entry for the root and student users. I have also shortened the encrypted password so the entry will fit on a single line. The fields are separated by colons (`:` ) and the second field is the password. Notice that the password field for root is a bang, known to the rest of the world as an exclamation point (`!` ). This indicates that the account is locked and that it cannot be used. - -Now all you need to do to use the root account as a proper sysadmin is to set up a password for the root account. - -``` -student@ubuntu1:~$ sudo su - -[sudo] password for student: -root@ubuntu1:~# passwd root -Enter new UNIX password: -Retype new UNIX password: -passwd: password updated successfully -root@ubuntu1:~# -``` - -Now you can log in directly on a console as root or `su` directly to root instead of using `sudo` for each command. Of course, you could just use `sudo su -` every time you want to log in as root, but why bother? - -Please do not misunderstand me. Distributions like Ubuntu and their up- and downstream relatives are perfectly fine, and I have used several of them over the years. When using Ubuntu and related distros, one of the first things I do is set a root password so that I can log in directly as root. Other distributions, like Fedora and its relatives, now provide some interesting choices during installation. The first Fedora release where I noticed this was Fedora 34, which I have installed many times while writing an upcoming book. - -One of those installation options can be found on the page to set the root password. The new option allows the user to choose "Lock root account" in the way an Ubuntu root account is locked. There is also an option on this page that allows remote SSH login to this host as root using a password, but that only works when the root account is unlocked. The second option is on the page that allows the creation of a non-root user account. One of the options on this page is "Make this user administrator." When this option is checked, the user ID is added to a special group called the wheel group, which authorizes members of that group to use the `sudo` command. Fedora 36 even mentions the wheel group in the description of that checkbox. - -More than one non-root user can be set as an administrator. Anyone designated as an administrator using this method can use the `sudo` command to perform all administrative tasks on a Linux computer. Linux only allows the creation of one non-root user during installation, so other new users can be added to the wheel group when created. Existing users can be added to the wheel group by the root user or another administrator directly by using a text editor or the `usermod` command. - -In most cases, today's administrators need to do only a few essential tasks such as adding a new printer, installing updates or new software, or deleting software that is no longer needed. These GUI tools require a root or administrative password and will accept the password from a user designated as an administrator. - -### How I use su and sudo on Linux - -I use both `su` and `sudo`. They each have an important place in my sysadmin toolbox. - -I can't lock the root account because I need to use it to run my [Ansible][5] playbooks and the [rsbu][6] Bash program I wrote to perform backups. Both of these need to be run as root, and so do several other administrative Bash scripts I have written. I use the `su` command to switch users to the root user so I can perform these and many other common tasks. Elevating my privileges to root using `su` is especially helpful when performing problem determination and resolution. I really don't want a `sudo` session timing out on me while I am in the middle of my thought process. - -I use the `sudo` command for tasks that need root privilege when a non-root user needs to perform them. I set the non-root account up in the sudoers file with access to only those one or two commands needed to complete the tasks. I also use `sudo` myself when I need to run only one or two quick commands with escalated privileges. - -### Conclusions - -The tools you use don't matter nearly as much as getting the job done. What difference does it make if you use vim or Emacs, systemd or SystemV, RPM or DEB, `sudo` or `su` ? The bottom line here is that you should use the tools with which you are most comfortable and that work best for you. One of the greatest strengths of Linux and open source is that there are usually many options available for each task we need to accomplish. - -Both `su` and `sudo` have strengths, and both can be secure when applied properly for their intended use cases. I choose to use both `su` and `sudo` mostly in their historical roles because that works for me. I prefer `su` for most of my own work because it works best for me and my workflow. - -Share how you prefer to work in the comments! - -This article is taken from Chapter 19 of my book The Linux Philosophy for Sysadmins (Apress, 2018) and is republished with permission. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin - -作者:[David Both][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/dboth -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/bash_command_line.png -[2]: https://opensource.com/users/seth -[3]: https://opensource.com/article/22/5/use-sudo-linux -[4]: http://www.infoworld.com/t/unix/nine-traits-the-veteran-unix-admin-276?page=0,0&source=fssr -[5]: https://opensource.com/article/20/10/first-day-ansible -[6]: https://opensource.com/article/17/1/rsync-backup-linux diff --git a/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md b/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md new file mode 100644 index 0000000000..7b8efbc4d5 --- /dev/null +++ b/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md @@ -0,0 +1,151 @@ +[#]: subject: "Linux su vs sudo: what's the difference?" +[#]: via: "https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin" +[#]: author: "David Both https://opensource.com/users/dboth" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux 中的 `su` 和 `sudo` 命令有什么区别呢? +====== + +>本文将比较 非 root 用户 non-root user 提权为 root 用户的两个 **Linux 命令** 的区别。 + +![bash logo on green background][1] + +`su` 和 `sudo` 命令都允许用户执行非特权用户不允许做的系统管理任务,即只有 root 用户能执行的命令。有些人更喜欢 `sudo` 命令:例如 [Seth Kenlon][2] 最近发布的一篇 [《在 Linux 上使用 `sudo` 的 5 个理由》][3],他在其中详细阐述了 `sudo` 命令的许多优点。 + +但是,相较于 `sudo` 命令,我**更偏好于 `su` 命令**,来做系统管理工作。在本文中,我比较了这两个命令的区别,并解释了为什么我更喜欢 `su` 而不是 `sudo`,但我仍然同时使用这两个命令的原因。 + +### 过去的系统管理员主要使用 `su` 命令 + +`su` 和 `sudo` 命令是为**不同的世界**设计的。早期的 Unix 计算机需要全职系统管理员,他们使用 root 用户作为唯一的管理帐户。在这个古老的世界里,有管理员密码的人会在电传打字机或 CRT 终端(例如 DEC VT100)上以 root 用户登录,然后执行一些管理 Unix 计算机的工作。 + +root 用户还有一个非 root 帐户,用于执行一些非 root 的任务,例如编写文档和管理电子邮件等。在这些 Unix 计算机上通常有许多非 root 帐户,他们都不需要完全的 root 访问权限,只需要以 root 权限运行很少的命令,大约 1 至 2 个就可以了。许多系统管理员以 root 用户登录,完成 root 工作,并在任务完成后,退出 root 会话。系统管理员需要整天以 root 用户来登录,因为 `sudo` 命令需要键入更多的内容才能运行基本命令,因此大多数系统管理员很少使用 `sudo` 命令。 + +`sudo` 和 `su` 这两个命令都能够提权为 root 用户,但它们实现的方式大不相同。这种差异是由于它们**最初打算用于不同的情况**。 + +### `sudo` 命令 + +`sudo` 命令的初衷是让 root 用户能够将他们定期需要的 1 到 2 个特权命令委托给 1 至 2 个非 root 用户。`sudo` 命令允许非 root 用户暂时地获得更高权限,来执行一些特权命令,例如添加和删除用户、删除属于其他用户的文件、安装新软件以及管理现代 Linux 主机所需的任何命令。 + +`sudo` 命令允许非 root 用户访问 1 到 2 个 _需要更高权限_ 的常用命令,这样可以帮助系统管理员节省来自用户的许多请求,并减少等待时间。`sudo` 命令不会将用户帐户切换为 root 用户,因为大多数非 root 用户永远不应该拥有完全的 root 访问权限。在大多数情况下,`sudo` 允许用户执行 1 或 2 个命令,然后提权就会过期。在这个通常为 5 分钟的短暂的提权时间内,用户可以执行任何需要提权的管理命令。需要继续使用提权的用户可以运行 `sudo -v` 命令来重新验证 root 访问权限,并将提权时间再延长 5 分钟。 + +使用 `sudo` 命令还有一些副作用,例如生成非 root 用户使用命令的日志条目及其 ID。这些日志可以在之后作为出现问题的检验,来给用户更多的操作培训。你以为我会说“责备”用户,对吗? + +### `su` 命令 + +`su` 命令能够将非 root 用户提权到 root 权限——事实上,能让非 root 用户成为 root 用户。唯一的要求是用户知道根密码。因为用户已经以 root 权限登录,所以之后的操作就没有限制了。 + +`su` 命令所提供的提权没有时间限制。用户可以作为 root 执行命令,不需要进行重新认证是否有 root 权限。完成任务后,用户可以执行退出命令 `exit`,从 root 用户恢复到自己原来的非 root 帐户。 + +### `su` 和 `sudo` 在使用上的争议和变化 + +最近在 `su` 与 `sudo` 的使用上存在一些分歧。 + +> 真正的系统管理员不会使用 `sudo`。——保罗·威尼斯(Paul Venezia) + +Venezia 在他的 [InfoWorld 文章][4] 中辩称,对于许多担任系统管理员的人来说,`sudo` 是一个不必要的工具。他没有花太多时间为这个观点进行解释,他只是把它说成了一个事实。我同意他对于系统管理员的观点,因为我们不需要 `sudo` 来完成我们的工作。事实上,`sudo` 使得事情变得更复杂了。 + +然而, + +> 这时代正在“变革”当中。——鲍勃·迪伦 + +迪伦是对的,尽管他没有为电脑唱歌(LCTT 译注:鲍勃·迪伦是美国创作歌手、艺术家和作家,这里指他不是针对于电脑而说的)。 + +自从**个人计算机**时代到来以来,计算机的管理方式发生了重大变化。在许多环境中,计算机的使用者也是它的管理员,这使得为这些用户提供一些对 root 权限的访问是有必要的。 + +一些现代发行版,例如 Ubuntu 及其衍生版本,只能使用 `sudo` 命令来执行特权命令。在这些发行版中,用户无法直接以 root 用户身份登录,甚至无法通过 `su` 切换到 root,因此需要 `sudo` 命令来允许非 root 用户获得 root 权限。在这一环境中,所有系统管理任务均使用 `sudo` 来执行。 + +通过锁定 root 帐户并将常规用户帐户添加到 wheel 组,可以进行此配置,但是这种配置很容易被绕过。接下来,让我们在任何 Ubuntu 主机或 VM 上尝试一些小实验吧。我在这里说明一些我实验的设置,以便你可以根据需要来重现它。我安装的是 Ubuntu 16.04 LTS1,并使用 VirtualBox 将其安装在 VM 中。在安装过程中,我创建了一个非 root 用户 `student`,为了简便起见我给这个用户设置了一个简单的密码。 + +以 `student` 用户身份登录 Ubuntu,并打开终端。查看 `/etc/shadow` 文件中的 root 条目,其中存储了经哈希的密码。 + +``` +student@ubuntu1:~$ cat /etc/shadow +cat: /etc/shadow: Permission denied +``` + +可以看到终端拒绝了我们对 `/etc/shadow` 的访问,因此我们无法查看 `/etc/shadow` 文件。所有发行版都是如此,以防止非特权用户看到和访问加密的密码,因为非特权用户可能会使用常见的黑客工具来破解这些密码。 + +现在,让我们使用 `su -` 命令来成为 root 用户。 + +``` +student@ubuntu1:~$ su - +Password: +su: Authentication failure +``` + +认证失败的原因是因为根帐户没有密码、并且被锁定了。接下来,使用 `sudo` 命令查看 `/etc/shadow` 文件。 + +``` +student@ubuntu1:~$ sudo cat /etc/shadow +[sudo] password for student: +root:!:17595:0:99999:7::: + +student:$6$tUB/y2dt$A5ML1UEdcL4tsGMiq3KOwfMkbtk3WecMroKN/:17597:0:99999:7::: + +``` + +在这里,我仅截取了部分结果,只显示 root 和 `student` 用户的条目。我还缩短了加密密码,以便该条目能显示在一行中。各个字段以冒号(`:`)分隔,第二个字段是密码。请注意,root 的密码字段是一个感叹号(`!`),这表明 root 帐户已被锁定,且无法使用。 + +现在,要将根帐户变成一个合适的系统管理员,你只需为根帐户设置密码。 + +``` +student@ubuntu1:~$ sudo su - +[sudo] password for student: +root@ubuntu1:~# passwd root +Enter new UNIX password: +Retype new UNIX password: +passwd: password updated successfully +root@ubuntu1:~# +``` + +现在,你可以直接以 root 身份登录到控制台,或者直接使用 `su` 登录到 root,而不是在每个命令前都加一个 `sudo`。当然,你也可以在每次想以 root 身份登录时,使用 `sudo su -`,但这又是何必呢? + +请不要误解我的意思。像 Ubuntu 这样的发行版非常好,多年来我已经使用了其中的几个。在使用 Ubuntu 和相关发行版时,我做的第一件事就是设置一个 root 密码,这样我就可以直接以 root 身份登录。其他发行版,如 Fedora 及其相关发行版,现在在安装过程中提供了一些有趣的选择。我注意到的第一个 Fedora 版本是 Fedora 34,我在写我的一本即将出版的书时安装了很多次。 + +在安装页面上,可以找到其中一个安装选项,来设置 root 密码。这个新选项允许用户以锁定 Ubuntu root 帐户的方式选择“锁定 root 帐户 Lock root account ”。此页面上还有一个选项,允许使用密码以 root 身份远程 SSH 登录到此主机,但这仅在 root 帐户解锁时有效。第二个选项位于允许创建非根用户帐户的页面上。此页面上的选项之一是“让此用户成为管理员 Make this user administrator ”。选中此选项后,用户 ID 将添加到一个名为 wheel 组的特殊组中,该组授权该组的成员使用 `sudo` 命令。Fedora 36 甚至在该复选框的描述中提到了 wheel 组。 + +可以将多个非 root 用户设置为管理员。使用此方法指定为管理员的任何人都可以使用 `sudo` 命令在 Linux 计算机上执行所有管理任务。Linux 在安装时只允许创建一个非 root 用户,所以其他新用户可以在创建时添加到 wheel 组中。root 用户或其他管理员可以使用文本编辑器或 `usermod` 命令直接将现有用户添加到 wheel 组。 + +在大多数情况下,今天的管理员只需要执行一些基本任务,例如添加新的打印机、安装更新或新软件,或者删除不再需要的软件。这些 GUI 工具需要 root 或管理密码,并将接受来自管理员用户的密码。 + +### 在 Linux 上,我是怎么使用 `su` 和 `sudo` 的呢 + +我**同时使用 `su` 和 `sudo`**。它们都是我所使用的很重要的系统管理员工具。 + +我不锁定根帐户,因为我需要用根帐户来运行我的 [Ansible][5] 脚本和我编写的 [rsbu][6] Bash 程序,来执行备份。这两个程序都需要以 root 身份运行,我编写的其他几个管理 Bash 的脚本也是如此。我**使用 `su` 命令**,切换到 root 用户,这样我就可以执行这些脚本和许多其他常见的命令。当我需要确定问题和解决问题时,使用 `su` 命令将我的权限提升到 root 十分有用,因为我不希望 `sudo` 带来的提权会话超时。 + +当非 root 用户需要执行这些任务时,我**使用 `sudo` 命令**,来执行需要 root 权限的任务。我在 sudoers 文件中设置了非根帐户,只允许访问完成任务所需的 1 到 2 个命令。当我只需要运行 1 个或 2 个需要提权的快速命令时,我自己也会使用 `sudo` 命令。 + +### 结论 + +实际上只要你把工作完成好了,你使用什么工具都无大碍。你使用的是 vim 还是 Emacs,是 systemd 还是 SystemV,是 RPM 亦或是 DEB,是 `sudo` 亦或是 `su`,在结果上会有什么区别呢?这里的关键在于你应该使用**最适合你的工具**。Linux 和开源软件的最大优势之一是通常有许多选项可用于我们需要完成的任务。 + +`su` 和 `sudo` 都各有长处,如果正确使用的话,两者都是非常安全的。我选择同时使用 `su` 和 `sudo` 命令,基于它们的历史功能,因为这对我来说十分有用。对于我自己的大部分工作,我更喜欢 `su` 命令,因为它与我的工作流程最适配。 + +在评论区分享你喜欢的工作方式吧! + +本文摘自于我的书《系统管理员的 Linux 方法(Apress,2018 年)》(The Linux Philosophy for Sysadmins)一书的第 19 章,并经许可后重新发布。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin + +作者:[David Both][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/dboth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/bash_command_line.png +[2]: https://opensource.com/users/seth +[3]: https://opensource.com/article/22/5/use-sudo-linux +[4]: http://www.infoworld.com/t/unix/nine-traits-the-veteran-unix-admin-276?page=0,0&source=fssr +[5]: https://opensource.com/article/20/10/first-day-ansible +[6]: https://opensource.com/article/17/1/rsync-backup-linux From 6ffea64e6613e0037a4487421a837eee4e3a86f2 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sat, 10 Dec 2022 10:46:05 +0800 Subject: [PATCH 694/925] translating --- ...20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md index 3fceebb26b..8d0a0fecfd 100644 --- a/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md +++ b/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/gdb-step-command" [#]: author: "Alexandra https://opensource.com/users/ahajkova" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f78a527fc8fa29ae69a4f4e387259db31029f5ed Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 10 Dec 2022 11:22:18 +0800 Subject: [PATCH 695/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @aREversez 辛苦了,这么长的文章翻译可不容易! --- ...iend- The Facebook That Could Have Been.md | 213 ++++++++---------- 1 file changed, 97 insertions(+), 116 deletions(-) diff --git a/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md index 3d46287b2b..d03fd46a2f 100644 --- a/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md +++ b/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md @@ -3,196 +3,176 @@ [#]: author: "Two-Bit History https://twobithistory.org" [#]: collector: "lujun9972" [#]: translator: "aREversez" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -Friend of a Friend: The Facebook That Could Have Been +FOAF:本可以成为 Facebook ====== -> 我把自己的网络写进 FOAF 文件,由此开启了变革。——互联网之父蒂姆·伯纳斯·李(2007) +![][0] -目前,FOAF 标准(Friend of a Friend)基本上已经不再使用了,或者说被人们忘记了,亦或者说已经被取代了[1][1]。回顾本世纪第一个十年,假如 Facebook 没有征服世界的话,FOAF 将会定义我们今天所用的社交网络。不过在开始探讨这一 web 标准之前,我想先来谈一谈纽约地铁。 +> 我把自己的社交网络写进 FOAF 文件,这就是变革之始。—— 互联网之父蒂姆·伯纳斯·李(2007) -目前,纽约地铁的唯一管理机构是 大都会运输署Metropolitan Transportation Agency,简称 MTA。MTA 对纽约市的地铁交通拥有垄断权。在纽约乘地铁必须先从 MTA 购买车票,否则属于非法行为。也就是说,MTA 在地铁行业没有任何竞争对手。 +FOAF 标准(朋友的朋友Friend of a Friend),是一个可以追溯到本世纪初的网络标准,目前它基本上已经不再使用了,或者说被人们忘记了,亦或者说已经被取代了 [^1]。它暗示了,假如 Facebook 没有征服世界的话,FOAF 将会定义我们今天所用的社交网络。不过在开始探讨这一网络标准之前,我想先来谈一谈纽约地铁。 -不过,以前可不是这样。说起来可能有些让人吃惊,纽约市的地铁交通曾由两家企业相互竞争,共同运营。跨区捷运公司Inter-borough Rapid Transit Company(IRT)的势力范围是穿过曼哈顿的线路,布鲁克林-曼哈顿运输股份有限公司Brooklyn-Manhattan Transit Corporation(BMT)管理的则是布鲁克林区内的线路,其中也有部分线路延伸到了曼哈顿。1932 年,纽约市投入使用了独立地铁系统,与 IRT 和 BMT 展开竞争,所以当时纽约共有三家不同公司控制着市内地铁交通。 +目前,纽约地铁的唯一管理机构是 大都会运输署Metropolitan Transportation Agency(简称 MTA)。MTA 垄断了纽约市的地铁交通。在纽约乘地铁必须先从 MTA 购买车票,否则属于非法行为。也就是说,MTA 在地铁行业没有任何竞争对手。 -可能会有人觉得这样的地铁运营效率不高。事实上也确是如此。由于 IRT 和 BMT 投入使用的列车宽度不同,所以在不同的运营系统之间建造换乘站十分困难。此外,乘客换乘时还需向不同的运营商支付费用,这就意味着在换乘站至少要设置两个不同的检票区域。后来,纽约市于 1940 年取缔了 IRT 和 BMT,将整个纽约市的地铁交通置于一家运营商的管理之下,不过由于此前分而治之而造成的效率低下问题时至今日依然存在:能在 BMT 的线路上运行的列车无法在 IRT 的线路上运行,因为 IRT 的线路隧道比较窄。因此,MTA 不得不同时管理这两种互不兼容的列车系统,由此带来的支出可能远比世界上其他单一隧道宽度的地铁系统要多得多。 +不过,以前可不是这样。说起来可能有些让人吃惊,纽约市的地铁交通曾由两家企业相互竞争,共同运营。跨区捷运公司Inter-borough Rapid Transit Company(IRT)的势力范围是穿过曼哈顿的线路,布鲁克林-曼哈顿运输股份有限公司Brooklyn-Manhattan Transit Corporation(BMT)管理的则是布鲁克林区内的线路,其中也有部分线路延伸到了曼哈顿。1932 年,纽约市开通使用了自己的服务,称为独立地铁系统,与 IRT 和 BMT 展开竞争,所以当时纽约共有三家不同公司控制着市内地铁交通。 + +可能会有人觉得这样的地铁运营效率不高。事实上也确是如此。由于 IRT 和 BMT 投入使用的列车宽度不同,所以在不同的运营系统之间建造换乘站十分困难。此外,乘客换乘时还需向不同的运营商支付费用,这就意味着在换乘站至少要设置两个不同的检票区域。后来,纽约市于 1940 年接管了 IRT 和 BMT,将整个纽约市的地铁交通置于一家运营商的管理之下,不过由于此前分而治之而造成的效率低下问题时至今日依然存在:能在 BMT 的线路上(如 A、C、E 号线)运行的列车无法在 IRT 的线路上(如 1、2、3 号线)运行,因为 IRT 的线路隧道比较窄。因此,MTA 不得不同时管理这两种互不兼容的列车系统,由此带来的支出可能远比世界上其他单一隧道宽度的地铁系统要多得多。 IRT 和 BMT 之间的竞争所造成的历史遗留问题告诉我们,地铁系统本身就趋向于垄断经营。相比较于两家运营商相互竞争,只有一家运营商更能解决问题。乘客们虽然失去了选择的余地,但再也不用担心带了一张地铁卡却忘记了另一张的问题。 -那么,地铁和社交网络又有什么关系呢?我在想,Facebook 是否和 MTA 一样都有自然垄断的属性呢?事实上,无论是自然垄断还是非自然垄断,Facebook 貌似确有垄断能力。当然它垄断的不是社交媒体本身(我在 Twitter 上面花的时间更多),而是垄断了与现实中认识的人之间的线上联系。Facebook 能够垄断所谓的“社交图谱”;如果我不用担心会失去与别人的联系方式,那我明天就会卸载 Facebook,因为我对 Facebook 的垄断权力感到非常气愤。不过,我却不会生 MTA 的气,即便从字面上和比喻义上来讲,纽约市地铁都是一堆焚烧着的、火舌乱窜的垃圾。说到底,我愤怒是因为我觉得不同于 MTA 的自然垄断,Facebook 的垄断属于非自然垄断。 +那么,地铁和社交网络又有什么关系呢?我在想,Facebook 是否和 MTA 一样都有自然垄断的属性呢?事实上,无论是自然垄断还是非自然垄断,Facebook 貌似确有垄断能力。当然它垄断的不是社交媒体本身(我在 Twitter 上面花的时间更多),而是垄断了与现实中认识的人之间的线上联系。Facebook 能够垄断所谓的“社交图谱”;如果我不用担心会失去与别人的联系方式,那我明天就会卸载 Facebook。我对 Facebook 对我身上的这种垄断权力感到非常气愤。不过,我却不会生 MTA 的气,即便从字面上和隐喻上来讲,纽约市地铁都是一堆焚烧着的、火舌乱窜的垃圾。说到底,我愤怒是因为我觉得不同于 MTA 的自然垄断,Facebook 的垄断属于非自然垄断。 -我的意思是,如今 Facebook 之所以能拥有所有人的社交数据,因为它碰巧是第一个做大做强,确立巨头地位的社交平台,而不是因为其他社交平台难以或者无法与之竞争。不过,难道真是因为这样吗?许多事实告诉我们,原因并非如此。Facebook 真的是第一个社交平台吗?它提供的服务真的比其他社交平台要好吗?如果你想联系老朋友,只有 Facebook 这一个平台的话,不会方便许多吗?在 Facebook 有很多竞争对手的情况下,如果你和你男朋友 Facebook 上面的感情状态都显示“交往中”,但是他始终没来得及更新他在 VisageBook 上的感情状态,说不定现在上面还是他和他大学前任那时候的关系,那么这种情况意味着什么呢?人们信任的又是哪个社交网站呢?如果社交网站有很多,难道在填写信息上面不会很耗时间吗? +我的意思是,如今 Facebook 之所以能拥有所有人的社交数据,因为它碰巧是第一个做大做强、确立巨头地位的社交平台,而不是因为其他社交平台难以或者无法与之竞争。不过,难道真是因为这样吗?许多事实告诉我们,原因并非如此。Facebook 仅仅是先入为主,还是它提供的服务真的比其他社交平台要好?如果你想联系老朋友,只有 Facebook 这一个平台的话,不会方便许多吗?在一个有几个 “Facebook” 相互竞争的情况下,如果你和你男朋友 Facebook 上面的感情状态都显示“交往中”,但是他始终没来得及更新他在 VisageBook 上的感情状态,那上面现在还显示着他和他大学前任的关系,那么这种情况意味着什么呢?人们信任的又是哪个社交网站呢?如果社交网站有很多,难道在填写信息上面不会很耗时间吗? -过去几年,由于中心化社交网络的缺陷暴露出来,许多人尝试构建去中心化的平台。基于开放标准,去中心化平台有望建立互通的社交网络生态(比如 [Fediverse][2])。可惜的是,其中没有一个平台能够取代主流社交网络。一个比较明显的原因是 网络效应network effects的力量:既然每个人都在用 Facebook,那么任何想要放弃 Facebook 的人都将会付出巨大的代价。有人会说,这一点恰恰证明了社交网络属于自然垄断行业。但我想说,Facebook、Twitter等平台是自己选择封闭起来的。此外,鉴于人们已经设想出社交网络的互通性,并且付诸实践,那么封闭的社交平台引发的网络效应就无法证明社交网络具有自然垄断属性。 +过去几年,由于中心化社交网络的缺陷暴露出来,许多人尝试构建去中心化的平台。基于开放标准,去中心化平台有望建立互通的社交网络生态(比如 [Fediverse][2])。可惜的是,其中没有一个平台能够取代主流社交网络。一个比较明显的原因是 网络效应network effects的力量:既然每个人都在用 Facebook,那么任何想要放弃 Facebook 的人都将会付出巨大的代价。有人会说,这一点恰恰证明了社交网络属于自然垄断行业。但我想说,Facebook、Twitter 等平台是自己选择封闭起来的。此外,鉴于人们已经设想出社交网络的互通性,并且付诸实践,那么封闭的社交平台引发的网络效应就无法证明社交网络具有自然垄断属性。 因此,在我看来,真正的问题是:之所以 Facebook 等平台到现在仍是主流社交网络,仅仅是因为网络效应,还是说与只有一家运营商的地铁系统一样,单一的主流社交网络效率更高? -最后,这些问题让我想起了 FOAF。尽管人们似乎已经忘记了 FOAF 标准,但是早在 Facebook 出现之前,人们就尝试使用 FOAF 建立开放的、去中心化的社交网络。如果过去有哪个去中心化社交网络有机会早于 Facebook 占领如今 Facebook 驻守的阵地,那只可能是 FOAF。考虑到世界上大部分人都有 Facebook 账号,而且了解 FOAF 的人相对较少,我们是否可以得到如下结论:同地铁一样,社交网络也有中心化和自然垄断的性质;亦或者,FOAF 项目说明,尽管去中心化社交网络可行,但由于其他原因,无法获得人们的广泛支持。 +最后,这些问题让我想起了 FOAF。尽管人们似乎已经忘记了 FOAF 标准,但是早在 Facebook 出现之前,人们就尝试使用 FOAF 建立开放的、去中心化的社交网络。如果过去有哪个去中心化社交网络有机会早于 Facebook 占领如今它驻守的阵地,那只可能是 FOAF。考虑到世界上大部分人都有 Facebook 账号,而且了解 FOAF 的人相对较少,我们是否可以得到如下结论:同地铁一样,社交网络也有中心化和自然垄断的性质;亦或者,FOAF 项目说明,尽管去中心化社交网络可行,但由于其他原因,无法获得人们的广泛支持。 ### 早期社交媒体的未来 -FOAF 项目诞生于 2000 年,旨在建立一套表示个人身份以及人与人之间关系的通用标准。在今天看来,这一雄心勃勃的项目可能会让人感到惊讶,但是在上世纪末本世纪初,这样的想法再寻常不过了。当时在网络上,美国在线America Online 与 [Prodigy][3] 等封闭系统遭遇惨败。这让人很自然地想到,计算机领域的创新发展必须要保持开放、基于标准,而且这也正是网络的特点。 +FOAF 项目诞生于 2000 年,旨在建立一套表示个人身份以及人与人之间关系的通用标准。在今天看来,这一雄心勃勃的项目可能会让人感到惊讶,但是在上世纪末本世纪初,这样的想法再寻常不过了。当时网络Web(当时人们仍然这样称呼它)刚刚击败了 美国在线America Online 与 [Prodigy][3] 等封闭系统。这让人很自然地想到,计算机领域的创新发展必须要保持开放、基于标准,而且这也正是网络的特点。 许多人认为,网络下一场重头戏会是 语义网Semantic Web。我有篇文章介绍了关于语义网概念与运行原理的设想,所以这里不再赘述。但是我会简单谈谈推动人们研究语义网技术的愿景,因为 FOAF 标准正是这一愿景在社交网络方面的应用。 -一篇题为 [《谷歌如何击败亚马逊和易贝,朝着语义网进军How Google beat Amazon and Ebay to the Semantic Web》][5] 的文章很好地描绘了语义网这一崇高理想。文章写于 2002 年,作者是 Paul Ford。这篇文章设想了 2002 年至 2009 年的情景:通过使用语义网,谷歌取代了亚马逊和易贝,成为电商平台主导者。文章指出,在未来,如果你想买东西,比如说一把二手的马丁吉他,可以在谷歌中输入 `buy:martin guitar`。根据你的邮编,谷歌会告诉你附近哪些人在卖马丁吉他。谷歌之所以可以获取卖家及其吉他的信息,是因为它可以读取资源描述框架标记语言 RDF,该语言是语义网的核心技术,用于描述资源之间的关系。人们可以将 RDF 内容嵌入网页,能实现的用途比较广泛,比如给要卖的东西打广告。Ford 预测,随着使用这种方式搜索和售卖商品的人数增加,亚马逊和易贝将失去它们在电商领域近乎垄断的地位。如果可以搜索全网,又有谁会执着于某个封闭的数据库呢?Ford 写道,即便是谷歌,最终也会失势。因为理论上,任何一个人都可以检索网络,查阅 RDF,提供类似于谷歌的搜索功能。起码,如果谷歌打算对语义网上的每笔交易按一定比例收取费用,以此盈利,那么以后随着相关竞争越来越激烈,谷歌的抽成比例很有可能会被迫降低。 +一篇题为 《[谷歌如何击败亚马逊和易贝,朝着语义网进军][5]How Google beat Amazon and Ebay to the Semantic Web》 的文章很好地描绘了语义网这一崇高理想。文章写于 2002 年,作者是 Paul Ford。这篇文章设想了 2002 年至 2009 年的情景:通过使用语义网,谷歌取代了亚马逊和易贝,成为电商平台主导者。文章指出,在未来,如果你想买东西,比如说一把二手的马丁吉他,可以在谷歌中输入 `buy:martin guitar`。根据你的邮编,谷歌会告诉你附近哪些人在卖马丁吉他。谷歌之所以可以获取卖家及其吉他的信息,是因为它可以读取资源描述框架标记语言(RDF),该语言是语义网的核心技术,用于描述资源之间的关系。人们可以将 RDF 内容嵌入网页,能实现很多用途,比如给要卖的东西打广告。Ford 预测,随着使用这种方式搜索和售卖商品的人数增加,亚马逊和易贝将失去它们在电商领域近乎垄断的地位。如果可以搜索全网,又有谁会执着于某个封闭的数据库呢?Ford 写道,即便是谷歌,最终也会失势。因为理论上,任何一个人都可以检索网络,查阅 RDF,提供类似于谷歌的搜索功能。起码,如果谷歌打算对语义网上的每笔交易按一定比例收取费用,以此盈利,那么以后随着相关竞争越来越激烈,谷歌的抽成比例很有可能会被迫降低。 -Ford 所设想的未来是关于 RDF 在电商领域的应用,不过 RDF 更振奋人心的地方在于,它或许可以应用于各个领域。RDF 标准以及一系列相关标准曾一度得到广泛应用,被认为可以突破基于数据库的开放软件服务面临的发展瓶颈,如同 HTML 为开放文档排版带来新的发展契机一般。 +Ford 所设想的未来是将 RDF 应用于电商领域,不过 RDF 更振奋人心的地方在于,它或许可以应用于各个领域。RDF 标准以及一系列相关标准,一旦得到广泛应用,被认为可以掀开基于数据库的软件服务的发展,如同 HTML 为文档出版带来新的发展契机一般。 -RDF 以及其他语义网技术唾手可得的另一个领域是社交网络。FOAF 项目最初的名字是“RDF Web Ring”,是语义网发展的产物,旨在实现语义网的设想。FOAF 自诞生之初就被人们看好,有人甚至认为,FOAF 必定会淘汰掉其他社交网站。2004 年《卫报》的一篇文章这样介绍该项目: +RDF 以及其他语义网技术似乎准备立刻接管的另一个领域是社交网络。FOAF 项目最初的名字是“RDF 网络环RDF Web Ring”,是语义网发展的产物,旨在实现语义网的设想。FOAF 自诞生之初就被人们看好,有人甚至认为,FOAF 必定会淘汰掉其他社交网站。2004 年《卫报》的一篇文章这样介绍该项目: -> 最初是 1996 年,SixDegrees 开始运营;接着是去年,出现了 Friendster;上周是 Orkut;下周 Flickr 也会登上舞台。这些网站不胜枚举,都是为了建立社交网络。如今,它们处在互联网发展的最前沿。但是,如果它们无法提供更优质的服务,在 FOAF 标准得到广泛应用之后,它们就会很难存活下去。[2][6] +> 最初是 1996 年,SixDegrees 开始运营;接着是去年,出现了 Friendster;上周是 Orkut;下周 Flickr 也会登上舞台。这些网站不胜枚举,都是为了建立社交网络。如今,它们处在互联网发展的最前沿。但是,如果它们无法提供更实质性的好处,在 FOAF 标准得到广泛应用之后,它们就会很难存活下去。[^2] -文章继续指出,社交网络面临的最大问题就是网站数量过多。这就需要一种能够将所有这些网站连接起来的手段。可行方案就是 FOAF ,它终将变革整个社交网络。 +文章继续指出,社交网络面临的最大问题就是社交网站数量过多。这就需要一种能够将所有这些网站连接起来的手段。可行方案就是 FOAF ,它终将变革整个社交网络。 根据该文章,FOAF 可将不同的社交网站紧密连接起来,实现途径有三个要点: * FOAF 将创建机器可读的社交数据格式,可为各个社交网站识别读取,避免让用户在不同的网站上重复输入信息。 * FOAF 标准下,联系人Contacts(个人信息管理程序)可生成上述格式的文件,供用户在各社交网站使用。 - * FOAF 标准下,该文件可寄放在个人主页上,可为各社交网站读取。这样一来,用户只需将修改过的信息推到主页,其他平台就会同步更新。 + * FOAF 标准下,这种机器可读的文件可寄放在个人主页上,可为各社交网站读取。这样一来,用户只需将修改过的信息推到自己的主页,其他平台就会同步更新。 +在今天可能难以想象,但在 2004 年,至少在熟悉技术的网民和技术专栏记者看来,当时社交网络并不算少,但是每个网络的用户群体都很小。考虑到这个问题,虽然对现在的我们来说很陌生,我们就会明白为什么需要建立单一标准是有意义的,这个标准可以使网络的激增不再是一个负担。 +### FOAF 规范 -在今天可能难以想象,但在 2004 年,至少在熟悉技术的网民和技术专栏记者看来,当时社交网络并不算少,但是每个网络的用户群体都很小。虽然与我们十分遥远,但若能考虑到这一问题,我们就会明白为什么需要建立单一标准来推动社交网络扩大用户基础。 +根据 FOAF 项目官网现有的介绍,FOAF 是“一种计算机语言,用于生成与人相关的各种条目的字典,条目以结构化数据的形式储存”。2000 年,FOAF 的创始人 Dan Brickley 和 Libby Miller 发表了一份关于该项目目标的文件,给出了不同的解释,强调了 FOAF 的最终目标:作为工具,FOAF 可让计算机像人类一样读取用户主页的个人信息 [^3]。FOAF 将会“帮助网络提供当前只有中心化平台才能提供的服务”[^4]。通过为个人以及人际关系定义一个标准词汇,FOAF 可以理解用户输入的内容,比如“找找今天推荐的医院医疗人员”,或者“找找曾与我合作撰写过文件的人最近发表的文章”。 -### FOAF 规则 +由于 FOAF 是标准化的词汇表,所以该项目最重要的成果莫过于 FOAF 规范。FOAF 规范规定了 RDF 类 和 RDF 属性(这里我不再解释什么是 RDF,如果感兴趣可查阅 [我关于语义网的文章][4])。RDF 的类由 FOAF 规范规定,表示要描述的对象,比如人(`Person` 类)和组织(`Organization` 类)。RDF 属性由 FOAF 规范规定,表示针对不同对象所做的逻辑声明。例如,一个人可以有一个名字(`givenName` 属性)、一个姓氏(`familyName` 属性),可能还有人格类型(`myersBriggs` 属性)以及与他人的距离或者位置信息(`based_near` 属性)。FOAF 规范的思想是,这些类和属性要足以表示人们在个人主页上显示的身份信息和朋友信息。(LCTT 译注:Myers–Briggs 即迈尔斯布里格斯类型指标,是一种人格类型理论模型。) -根据 FOAF 项目官网现有的介绍,FOAF 指的是“一种计算机语言,用于生成与人相关的各种条目的字典,条目以结构化数据的形式储存”。2000 年,FOAF 的创始人 Dan Brickley 和 Libby Miller 发表了一份关于该项目目标的文件,给出了不同的解释,强调了 FOAF 的最终目标:作为工具,FOAF 可让计算机像人类一样读取用户主页的个人信息[3][7]。FOAF 将会“帮助网络提供当前只有中心化平台才能提供的服务”[4][8]。通过为个人以及人际关系定义标准词汇表,FOAF 可以理解用户输入的内容,比如“查找医院医疗人员今天给出的推荐”,或者“查找曾与我合作过的人最近发表的文章”。 - -由于 FOAF 是标准化的词汇表,所以该项目最重要的成果莫过于 FOAF 规则。FOAF 规则规定了 RDF 类 和 RDF 属性(这里我不再解释什么是 RDF,如果感兴趣可查阅[我关于语义网的文章][4])。RDF 的类由 FOAF 规则规定,表示要描述的对象,比如人(`Person` 类)和组织(`Organization` 类)。RDF 属性由 FOAF 规则规定,表示针对不同对象所做的逻辑声明。例如,一个人可以有一个名字(`givenName` 属性)、一个姓氏(`familyName` 属性),可能还有人格类型(`myersBriggs` 属性)以及与他人的距离或者位置信息(`based_near` 属性)。FOAF 规则的思想是,这些类和属性要足以表示人们在个人主页上显示的身份信息和朋友信息。【注:Myers–Briggs 即迈尔斯布里格斯类型指标,是一种人格类型理论模型】 - -FOAF 规则给出了 FOAF 文件的一份范例文档。该实例的格式是 XML,不过也可以使用 JSON 等格式进行编写: +FOAF 规范给出了一份 FOAF 文档的范例。该实例的格式是 XML,不过也可以使用 JSON 等格式进行编写: ``` - - - Dan Brickley - - - - - + + Dan Brickley + + + + ``` -这份 FOAF 文件对一个人进行了描述,他的名字叫做 Dan Brickley,在 `http://danbri.org` 网站上设有个人主页,他还有个叫做“open ID”的东西,`/images/me.jpg` 表示图片,可能和 Brickley 的主页地址相关。FOAF 的元素名称都会有 `foaf:` 前缀,表示它们是 FOAF 命名空间的一部分。相应地,RDF 的元素名称前面也都会有 `rdf:`。 +这份 FOAF 文件对一个人进行了描述,他的名字叫做 Dan Brickley(该规范的作者之一),他的主页在 `http://danbri.org`,他还有个叫做“open ID”的东西,还有一张图片在 `/images/me.jpg` —— 估计是 Brickley 的主页地址的相对链接。FOAF 的元素名称都会有 `foaf:` 前缀,表示它们是 FOAF 命名空间的一部分。相应地,RDF 的元素名称前面也都会有 `rdf:`。 -为了说明 FOAF 不限于 XML 格式,这里从维基百科摘取了一个相似的例子,格式为 JSON-LD [5][9]: +为了说明 FOAF 不限于 XML 格式,这里从维基百科摘取了一个相似的例子,格式为 JSON-LD [^5]: ``` - - { - "@context": { - "name": "http://xmlns.com/foaf/0.1/name", - "homepage": { - "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage", - "@type": "@id" - }, - "Person": "http://xmlns.com/foaf/0.1/Person" - }, - "@id": "https://me.example.com", - "@type": "Person", - "name": "John Smith", - "homepage": "https://www.example.com/" - } - +{ + "@context": { + "name": "http://xmlns.com/foaf/0.1/name", + "homepage": { + "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage", + "@type": "@id" + }, + "Person": "http://xmlns.com/foaf/0.1/Person" + }, + "@id": "https://me.example.com", + "@type": "Person", + "name": "John Smith", + "homepage": "https://www.example.com/" +} ``` -上面这份 FOAF 文件也描述了一个人,他的名字叫 John Smith,在 `www.example.com` 网站上有自己的主页。 +上面这份 FOAF 文件也描述了一个人,他的名字叫 John Smith,他的主页在 `www.example.com`。 -理解 FOAF 原理的最好方法可能就是使用 [FOAF-a-matic][10],一个在线生成 FOAF 文档的工具。你可以在工具页面的表单里输入自己的相关信息,创建表示自己的 FOAF 文档(XML 格式)。FOAF-a-matic 说明了 FOAF 是如何避免在注册不同社交网站账号时重复输入社交信息的麻烦:如果每个社交网站都可以读取 FOAF,你只需要在没有注册过帐号的网站上引用你在 FOAF-a-matic 生成的 FOAF 文档,就可以注册一个新帐号了。 +理解 FOAF 原理的最好方法可能就是体验一下 [FOAF-a-matic][10],一个在线生成 FOAF 文档的工具。你可以在工具页面的表单里输入自己的相关信息,创建表示自己的 FOAF 文档(XML 格式)。FOAF-a-matic 说明了 FOAF 是如何避免在注册不同社交网站账号时重复输入社交信息的麻烦:如果每个社交网站都可以读取 FOAF,你只需要在没有注册过帐号的网站上引用你在 FOAF-a-matic 生成的 FOAF 文档,就可以注册一个新帐号了。 -下面这个实例是我用 FOAF-a-matic 生成的,稍微复杂一些,表示我自己: +下面这个实例是我用 FOAF-a-matic 生成的稍微复杂一些的例子,表示我自己: ``` - - - - - - - - - - Sinclair Target - Sinclair - Target - - - - - John Smith - - - - + + + + + + + + + Sinclair Target + Sinclair + Target + + + + + John Smith + + - - + + + ``` -本例中,主要信息之前有很多其他内容,用于设置文档使用的各种 XML 命名空间。其中就有文档生成工具的信息,这样用户就能明白出了问题要向谁进行反馈。`foaf:Person` 元素给出了我的名字,电子邮箱和主页。其中嵌套了 `foaf:knows` 元素,说明我有个叫 John Smith 的朋友。 +本例中,主要信息之前有很多其他内容,用于设置文档使用的各种 XML 命名空间。其中就有文档生成工具的信息,这样用户就能明白出了问题要向谁进行反馈。`foaf:Person` 元素给出了我的名字、电子邮箱和主页。其中嵌套了 `foaf:knows` 元素,说明我有个叫 John Smith 的朋友。 -该例还体现了 FOAF 文档的另外一个重要功能:相互关联。还记得之前 John Smith 的例子吗?他在 `www.example.com` 上面有自己的主页。在我的这个例子中,我将 John Smith 列在了 `foaf:person` 元素里,上一级元素是 `foaf:knows`,表示我认识的人。此外,我还加入了 `rdfs:seeAlso` 元素,放了 John Smith 主页的 FOAF 文档链接。由于加入了这一链接,程序在读取我的 FOAF 文档时,就能根据该链接读取他的 FOAF 文档,查找到更多关于 John Smith 的信息。在之前 John Smith 的 FOAF 文档里,John 并没有提供任何有关朋友的信息(包括我在内),这意味着程序无法确定我们两人之间的朋友关系。但如果他加入了朋友信息,程序在读取我的文档之后,不仅会发现我,也会发现 John、他的朋友、他的朋友的朋友,以此类推,直到程序穷尽我和 John 各自的社交图谱。 +该例还体现了 FOAF 文档的另外一个重要功能:相互关联。还记得之前 John Smith 的例子吗?他的主页在 `www.example.com`。在我的这个例子中,我将 John Smith 列在了 `foaf:person` 元素里,上一级元素是 `foaf:knows`,表示我认识的人。此外,我还加入了 `rdfs:seeAlso` 元素,放了 John Smith 主页的 FOAF 文档链接。由于加入了这一链接,程序在读取我的 FOAF 文档时,就能根据该链接读取他的 FOAF 文档,查找到更多关于 John Smith 的信息。在之前 John Smith 的 FOAF 文档里,John 并没有提供任何有关朋友的信息(包括我在内),这意味着程序无法确定我们两人之间的朋友关系。但如果他加入了朋友信息,程序在读取我的文档之后,不仅会发现我,也会发现 John、他的朋友、他的朋友的朋友,以此类推,直到程序穷尽我和 John 各自的社交图谱。 -该功能在 Facebook 用户的大家看来应该很熟悉了。FOAF 没有 `foaf:wall` 属性和 `foaf:poke` 属性,无法完美复制 Facebook 的功能。很明显,FOAF 也没有漂亮的蓝色界面,无法为用户提供可视化的 FOAF 社交网络,它只是一个词汇表。不过,Facebook 的核心功能是以分布式的方式提供的,我认为这正是 Facebook 垄断能力的关键。在 FOAF 标准下,好友可以将 FOAF 文档上传至个人主页,数字化展示他们真实的社交图谱,用户无需将个人数据的控制权交给 Facebook 这样一个中心化的数据库。要知道,由于对用户个人数据管理不当,扎克伯格在国会委员会召开之前的大多数时间都在向公众道歉。 +对于使用过 Facebook 的人来说这似乎很熟悉,也就是说,这个功能对你来说也应该很熟悉。FOAF 没有 `foaf:wall` 属性和 `foaf:poke` 属性,无法完美复制 Facebook 的功能。很明显,FOAF 也没有漂亮的蓝色界面,无法为用户提供可视化的 FOAF 社交网络,它只是一个词汇表。不过,Facebook 的核心功能(我认为这正是 Facebook 垄断能力的关键)在这里是以分布式的方式提供的。在 FOAF 标准下,好友可以将 FOAF 文档上传至个人主页,数字化展示他们真实的社交图谱,用户无需将个人数据的控制权交给 Facebook 这样一个中心化的数据库。要知道,由于对用户个人数据管理不当,扎克伯格大多数时间都在国会委员会前在向公众道歉。 ### 暂时搁置的 FOAF -浏览 FOAF 项目主页,你会发现在页面的右上角,有一张喜剧动画《飞出个未来》主角弗莱躺在休眠舱内的图片。这张图片是《飞出个未来》某一集的截图,讲的是弗莱在 1999 年不小心跌进了低温休眠舱,到了 2999 年再次苏醒过来的故事。我曾和 Brickley 在 Twitter 上简短地聊了一下,他告诉我,挂这张图片是为了告诉人们,未来 FOAF 项目将有机会重获新生,继续探索 20 世纪初关于网络运作方式的设想。 +浏览 FOAF 项目主页,你会发现在页面的右上角,有一张喜剧动画《飞出个未来Futurama》主角弗莱躺在休眠舱内的图片。这张图片是《飞出个未来》试播剧集的剧照,讲的是弗莱在 1999 年不小心跌进了低温休眠舱,直到 2999 年才再次苏醒过来的故事。我曾和 Brickley 在 Twitter 上简短地聊了一下,他告诉我,挂这张图片是为了告诉人们,未来 FOAF 项目目前“处于停滞状态”,尽管他希望将来有机会恢复这个项目,继续探索 21 世纪初关于网络运作方式的设想。 -FOAF 绝不可能像《卫报》期望的那般变革社交网络。一些社交网站选择支持 FOAF 标准,比如 LiveJournal 和 MyOpera [6][11]。FOAF 甚至还在 2004 年霍华德·迪恩竞选总统时发挥了一定作用:一群博主和程序员合力搭建起了一个将网站连接起来的网络,称其为“迪恩空间DeanSpace”,帮助迪恩竞选,并在网站上使用 FOAF 记录迪恩的支持者和帮助迪恩竞选的志愿者[7][12]。不过,今天人们了解到 FOAF 主要还是因为它是 RDF 应用最为广泛的词汇表之一,而 RDF 正是现代网络的一个重要标准。如果在今天还能用到 FOAF 的话,可能就是谷歌“知识面板knowledge panels”所用技术的原型。知识面板是在用谷歌搜索时,出现在搜索结果右侧的一小块内容,会提供搜索关键词的基本信息。谷歌为推行其知识面板,使用了语义网项目的“后继者” schema.org 项目发布的词汇表[8][13]。schema.org 用来描述人物的词汇表似乎有着 FOAF 的影子,两者的目的大多也是相同的。 +FOAF 从未像《卫报》期望的那般彻底改变社交网络。一些社交网站选择支持 FOAF 标准,比如 LiveJournal 和 MyOpera [^6]。FOAF 甚至还在 2004 年霍华德·迪恩Howard Dean竞选总统时发挥了一定作用:一群博主和程序员合力搭建起了一个将网站连接起来的网络,称其为“迪恩空间DeanSpace”,帮助迪恩竞选,并在网站上使用 FOAF 记录迪恩的支持者和帮助迪恩竞选的志愿者[^7]。不过,今天人们了解到 FOAF 主要还是因为它是 RDF 应用最为广泛的词汇表之一,而 RDF 正是现代网络的一个重要标准。如果在今天还能用到 FOAF 的话,可能就是谷歌“知识面板knowledge panels”所用技术的原型。知识面板是在用谷歌搜索时,出现在搜索结果右侧的一小块内容,会提供搜索关键词的基本信息。谷歌为推行其知识面板,使用了语义网项目的“后继者” schema.org 项目发布的词汇表[^8]。schema.org 用来描述人物的词汇表似乎有着 FOAF 的影子,两者的目的大多也是相同的。 那么,为什么 FOAF 还是失败了呢?为什么人们都在用 Facebook 呢?且不提 FOAF 只是一个简单的标准,没有 Facebook 那么丰富的功能,如果 FOAF 发展势头保持下去,很有可能就会出现相关软件和应用,带来像 Facebook 那样的体验。问题是,在 Facebook 还未发展到能与之分庭抗礼之时,FOAF 这股分布式社交网络的新生力量为什么没能得到广泛应用呢? -恐怕这个问题的答案并不唯一,不过非要我说的话,我觉得最关键的一点是,只有在每个人都有个人网站的情况下,FOAF 才有意义。19 世纪 90 年代末到 20 世纪初,人们理所当然地觉得网络最终会出现这种情况,因为就我所知,互联网的早期用户多是高产的博客写手,参政的技术专家,他们都希望能有个自己的平台。但是,现实情况却是,普通用户并不愿意学习怎么搭建和运营网站。FOAF 的用户可以掌控自己的社交信息并将其推送到各类社交网络上,省去了到处注册账号的麻烦。如果你已经有了储存社交信息的个人网站,那么这个想法应该很诱人。但实际上,相比较于买域名、折腾 XML 文档,大多数人觉得填写信息、注册 Facebook 账号来得更容易些。 +恐怕这个问题可能没有唯一的答案,不过非要我说的话,我觉得最关键的一点是,只有在每个人都有个人网站的情况下,FOAF 才有意义。在上世纪末本世纪初,人们理所当然地觉得网络最终会出现这种情况,因为就我所知,互联网的早期用户多是高产的博客写手、参政的技术专家,他们都希望能有个自己的平台。但是,现实情况却是,普通用户并不愿意学习怎么搭建和运营网站。FOAF 允许你掌控自己的社交信息并将其推送到各类社交网络上,省去了到处注册账号的麻烦。如果你已经有了储存社交信息的个人网站,那么这个想法应该很诱人。但实际上,相比较于买域名、折腾 XML 文档,大多数人觉得填写信息、注册 Facebook 账号来得更容易些。 那么,这与我最初的问题(Facebook 是否属于自然垄断)有什么相关呢?我不得不承认,FOAF 的案例说明,社交网络 _的确_ 拥有自然垄断属性。 -其实,关于用户不愿管理自己的数据这一问题,本身并没有那么重要,因为通过让普通用户在熟悉技术的用户所设置的节点上储存个人信息,[Mastodon][14] 等现代分布式社交网络已经解决了这个问题。这也表明,人们多么不愿意折腾复杂的东西。对去中心化社交网络来说,这无疑是个坏消息,因为相较于中心化网络,去中心化网络更为复杂,这是用户再清楚不过的。 +其实,关于用户不愿管理自己的数据这一问题,本身并没有那么重要,因为通过让普通用户在熟悉技术的用户所设置的节点上储存个人信息,[Mastodon][14] 等现代分布式社交网络已经解决了这个问题。这也表明,人们多么不愿意折腾复杂的东西。对去中心化社交网络来说,这无疑是个坏消息,因为相较于中心化网络,去中心化网络更为复杂,用户对此再清楚不过了。 -FOAF:如果我要写一个能读取个人网站上 FOAF 数据的程序,假设 Sally 的 FOAF 文档提到了 John Smith,说他在 `example.com` 有自己的主页;Sue 的 FOAF 文档也提到了 John Smith,说他在 `example.net` 有自己的主页。在这种情况下,我应该怎么办呢?到底是只有一个 John Smith 而他正好有两个主页呢,还是这两个 John Smith 是不同的人呢?如果两个 FOAF 文档中 John Smith 的邮箱都是 `johnsmith@gmail.com`,又该怎么办呢?这种身份问题是 FOAF 的软肋。在一封 2003 年的邮件里,Brickley 写道,由于不存在而且可能也不应该存在一个“全球性的身份识别系统”,FOAF 采取的方法只能是“多元的”[9][15]。FOAF 用户的邮件地址和主页地址等部分属性具有特殊性,因为邮件地址和主页地址都是独一无二的。因此,这些内容不可能相同的属性可以将人们的多个 FOAF 文档合并起来(用 Libby Miller 的话来说,“挤”在一起)。不过这些特殊属性不存在所谓优先级的说法,所以前面 John Smith 的问题还是不好解决。换句话说,是该相信主页,判定他们不是同一个人呢?还是要相信邮件地址,判定他们是同一个人呢?我真的能够在不干扰到用户的前提下,写出一个程序,解决这类问题吗? +对于 FOAF:如果我要写一个能读取个人网站上 FOAF 数据的程序,假设 Sally 的 FOAF 文档提到了 John Smith,说他的主页是 `example.com`;Sue 的 FOAF 文档也提到了 John Smith,说他的主页是 `example.net`。在这种情况下,我应该怎么办呢?到底是只有一个 John Smith 而他正好有两个主页呢,还是这两个 John Smith 是不同的人呢?如果两个 FOAF 文档中 John Smith 的邮箱都是 `johnsmith@gmail.com`,又该怎么办呢?这种身份问题是 FOAF 的软肋。在一封 2003 年的邮件里,Brickley 写道,由于不存在而且可能也不应该存在一个“全球性的身份识别系统”,FOAF 采取的方法只能是“多元的”[^9]。FOAF 用户的邮件地址和主页地址等部分属性具有特殊性,因为邮件地址和主页地址都是独一无二的。因此,这些内容不可能相同的属性可以将人们的多个 FOAF 文档合并起来(用 Libby Miller 的话来说,“挤”在一起)。不过这些特殊属性不存在所谓优先级的说法,所以前面 John Smith 的问题还是不好解决。换句话说,是该相信主页,判定他们不是同一个人呢?还是要相信邮件地址,判定他们是同一个人呢?我真的能够在不干扰到用户的前提下,写出一个程序,解决这类问题吗? Facebook 拥有单一的数据库,不用顾虑政治性问题,有条件创建“全球性的身份识别系统”,给每个人发行独一无二的身份 ID,于是问题就迎刃而解了。 -如果人们真的在乎对自己数据的持有权和掌控权,单是因为复杂难解应该不足以导致分布式社交网络的失败。但是 FOAF 的失败表明,人们从未重视过对自己数据的掌控权。正如一位博主所说,“所谓‘用户想要拥有自己的数据’只不过是一个想法,和实际应用没有关系”[10][16]。如果用户不够重视个人数据,无法忍受过于复杂的平台,如果中心化系统比去中心化系统更为简单易用,如果中心化系统有发展为封闭系统的趋向,借此取得成功,享受网络效应带来的巨大效益,那么社交网络确实属于自然垄断。 +如果人们真的在乎对自己数据的持有权和掌控权,单是因为复杂难解应该不足以导致分布式社交网络的失败。但是 FOAF 的失败表明,人们从未重视过对自己数据的掌控权。正如一位博主所说,“所谓‘用户想要拥有自己的数据’只不过是一个想法,和实际应用没有关系”[^10]。如果用户对控制的重视程度不足以承受额外的复杂性,如果中心化系统比去中心化系统更为简单易用,如果中心化系统有发展为封闭系统的趋向,借此取得成功,从而享受网络效应带来的巨大效益,那么社交网络确实属于自然垄断。 即便如此,我认为地铁系统的案例和社交网络的案例仍存在不同之处。我可以欣然接受 MTA 对地铁交通的垄断,因为我希望地铁系统本身就应该是长期垄断行业。如果纽约地铁只有一家运营商,那么它只能是政府,至少在名义上,政府比没有竞争对手的私企更加负责。但是我却不希望社交网络属于自然垄断。地铁建好了基本上就是一成不变的,但数字世界却在不断演变发展。在今天,分布式社交网络也许比中心化网络更加复杂,就好比带两张地铁卡总是比只带一张要麻烦的多。不过,在未来,互联网会发生根本性变革,那时分布式技术将会更易于使用。 如果未来果真如此,FOAF 可能会作为建立分布式社交网络的第一次尝试为人们记住。在企业大型数据库所驱动的中心化网络时代结束之后,分布式网络将会得到人们的长期青睐。 -_如果你喜欢这篇文章,欢迎关注推特 [@TwoBitHistory][28],也可通过 [RSS feed][29] 订阅,获取更多最新文章。_ - - - - 1. 请注意,这里我没有用“消亡”一词。[↩︎][20] - - 2. Jack Schofield, “Let’s be Friendsters,” The Guardian, February 19, 2004, accessed January 5, 2020, . [↩︎][21] - - 3. Dan Brickley and Libby Miller, “Introducing FOAF,” FOAF Project, 2008, accessed January 5, 2020, . [↩︎][22] - - 4. 同上。[↩︎][23] - - 5. Wikipedia contributors, “JSON-LD,” Wikipedia: The Free Encyclopedia, December 13, 2019, accessed January 5, 2020, . [↩︎][24] - - 6. “Data Sources,” FOAF Project Wiki, December 11 2009, accessed January 5, 2020, . [↩︎][25] - - 7. Aldon Hynes, “What is Dean Space?”, Extreme Democracy, accessed January 5, 2020, . [↩︎][26] - - 8. “Understand how structured data works,” Google Developer Portal, accessed January 5, 2020, . [↩︎][27] - - 9. tef, “Why your distributed network will not work,” Progamming is Terrible, January 2, 2013, . [↩︎][28] - - 10. Dan Brickley, “Identifying things in FOAF,” rdfweb-dev Mailing List, July 10, 2003, accessed on January 5, 2020, . [↩︎][29] - - +_如果你喜欢这篇文章,欢迎关注推特 [@TwoBitHistory][28],也可通过 [RSS 馈送][29] 订阅,获取更多最新文章。_ +[^1]: 请注意,这里我没有用“消亡”一词。 +[^2]: Jack Schofield, “Let’s be Friendsters,” The Guardian, February 19, 2004, accessed January 5, 2020, .  +[^3]: Dan Brickley and Libby Miller, “Introducing FOAF,” FOAF Project, 2008, accessed January 5, 2020, .  +[^4]: 同上。 +[^5]: Wikipedia contributors, “JSON-LD,” Wikipedia: The Free Encyclopedia, December 13, 2019, accessed January 5, 2020, .  +[^6]: “Data Sources,” FOAF Project Wiki, December 11 2009, accessed January 5, 2020, .  +[^7]: Aldon Hynes, “What is Dean Space?”, Extreme Democracy, accessed January 5, 2020, .  +[^8]: “Understand how structured data works,” Google Developer Portal, accessed January 5, 2020, .  +[^9]: tef, “Why your distributed network will not work,” Progamming is Terrible, January 2, 2013, .  +[^10]: Dan Brickley, “Identifying things in FOAF,” rdfweb-dev Mailing List, July 10, 2003, accessed on January 5, 2020, .  -------------------------------------------------------------------------------- @@ -201,7 +181,7 @@ via: https://twobithistory.org/2020/01/05/foaf.html 作者:[Two-Bit History][a] 选题:[lujun9972][b] 译者:[aREversez](https://github.com/aREversez) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -236,3 +216,4 @@ via: https://twobithistory.org/2020/01/05/foaf.html [27]: tmp.mJHAgyVHGr#fnref:8 [28]: tmp.mJHAgyVHGr#fnref:9 [29]: tmp.mJHAgyVHGr#fnref:10 +[0]: https://img.linux.net.cn/data/attachment/album/202212/10/112053vbi9icvy6xxuv6h9.jpg \ No newline at end of file From 4a8a303a04d17b12763c785ebad1c99072aaade5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 10 Dec 2022 11:22:49 +0800 Subject: [PATCH 696/925] P @aREversez https://linux.cn/article-15334-1.html --- ...5 Friend of a Friend- The Facebook That Could Have Been.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/talk => published}/20200105 Friend of a Friend- The Facebook That Could Have Been.md (99%) diff --git a/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/published/20200105 Friend of a Friend- The Facebook That Could Have Been.md similarity index 99% rename from translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md rename to published/20200105 Friend of a Friend- The Facebook That Could Have Been.md index d03fd46a2f..b6e24592de 100644 --- a/translated/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md +++ b/published/20200105 Friend of a Friend- The Facebook That Could Have Been.md @@ -4,8 +4,8 @@ [#]: collector: "lujun9972" [#]: translator: "aREversez" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15334-1.html" FOAF:本可以成为 Facebook ====== From 51b6f1e922a75d64f63531fae8b0b0e4509e9fb0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 10 Dec 2022 15:30:15 +0800 Subject: [PATCH 697/925] RP @geekpi https://linux.cn/article-15335-1.html --- ...ally Indent Your Code in Visual Studio Code.md | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) rename {translated/tech => published}/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md (63%) diff --git a/translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/published/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md similarity index 63% rename from translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md rename to published/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md index 72c5eb6e8d..674924887b 100644 --- a/translated/tech/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md +++ b/published/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md @@ -3,54 +3,55 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15335-1.html" -如何在 Visual Studio 代码中自动缩进你的代码 +如何在 VSCode 中自动缩进你的代码 ====== -代码中的缩进指的是你在代码行的开头处的空格。像其他代码编辑器和 IDE 一样,VS Code 允许你自动缩进你的代码。 +![][0] -你可以设置制表符或空格或任何你喜欢的缩进方式。 +代码中的缩进指的是你在代码行的开头处的空格。像其他代码编辑器和 IDE 一样,VSCode 允许你自动缩进你的代码。 + +你可以设置使用制表符或空格或任何你喜欢的缩进方式。 听起来不错吧?让我们来看看怎么做。 -### 在 VS Code 中启用自动缩进 +### 在 VSCode 中启用自动缩进 -你有多种方法可以实现这个目标。在本指南中,我将向你展示三种在 visual studio 代码中自动缩进代码的方法。 +你有多种方法可以实现这个目标。在本指南中,我将向你展示三种在 VSCode 中自动缩进代码的方法。 #### 方法 1:配置全局用户设置 -你可以通过命令托盘访问全局用户设置。使用 `Ctrl + Shift + P` 来打开命令托盘,搜索 `Open User Settings` 并点击回车: +你可以通过命令模式访问全局用户设置。使用 `Ctrl + Shift + P` 来打开命令模式,搜索 `Open User Settings` 并按下回车: ![access user setting from command pallet in vscode][1] -它将打开设置。在那里,你需要搜索 `Auto Indent`,并在 **Editor: Auto Indent** 中选择 **Full**: +它将打开设置。在那里,你需要搜索 `Auto Indent`,并在 “编辑器:自动缩进Editor: Auto Indent” 中选择 “全部Full”: ![enable auto indent from global user settings in vscode][2] 接着自动缩进会被启用,并应用于 VSCode 中每个打开的文件。 -#### 方法 2:在 VS Code 中使用 linter 或 formatter 进行自动缩进 +#### 方法 2:在 VSCode 中使用检查器或格式化工具进行自动缩进 -在这种方法中,你需要添加扩展程序,如 code formatter 或者 linter,以获得理想的结果。 +在这种方法中,你需要添加扩展程序,如代码格式化工具或者检查器,以获得理想的结果。 -Linter 会识别代码中的错误,而 formatter 只对你的代码进行格式化,使其更具可读性。你可以在 [VSCode 市场][3]中搜索特定于你的编程语言的代码格式化器。 +检查器Linter会识别代码中的错误,而格式化工具Formatter只对你的代码进行格式化,使其更具可读性。你可以在 [VSCode 市场][3] 中搜索特定于你的编程语言的代码格式化器。 -And here are some of my favorite code formatters and linters for widely popular languages: -这里有一些我最喜欢的广泛流行语言的代码格式化器和 linter: +这里有一些我最喜欢的广泛流行语言的代码格式化工具和检查器: - [C/C++][4]:适用于 C 和 C++ 编程语言。 - [PHP][5]:适用于 PHP。 -- [markdownlint][6]:适用于 markdown 文件。 +- [markdownlint][6]:适用于 Markdown 文件。 - [Python][7]:适用于 Python 编程语言。 - [ESLint][8]:适用于 JSON 和 javascript。 -- [Beautify][9]: 适用于 javascript、JSON、CSS、Sass 和 HTML。 +- [Beautify][9]: 适用于 JavaScript、JSON、CSS、SASS 和 HTML。 -当你完成了为你喜欢的编程语言添加 formatter,你可以按 `Ctrl + Shift + I` 来格式化代码。 +当你为你喜欢的编程语言添加了格式化工具,你可以按 `Ctrl + Shift + I` 来格式化代码。 -同样地,你也可以使用命令托盘做同样的事情。按 `Ctrl + Shift + P`,并搜索 **Format document**,然后点击回车。 +同样地,你也可以使用命令模式做同样的事情。按 `Ctrl + Shift + P`,并搜索 `Format document`,然后按下回车。 ![indent code in VSCode][10] @@ -58,7 +59,7 @@ And here are some of my favorite code formatters and linters for widely popular VSCode 允许你在保存你的代码时,通过一个小小的调整来格式化它。让我告诉你怎么做。 -按 `Ctrl + ,`,它将打开用户设置提示。在那里,搜索 **Format On Save**。 +按 `Ctrl + ,`,它将打开用户设置提示。在那里,搜索 `Format On Save`。 ![enable format on save option][11] @@ -77,7 +78,7 @@ via: https://itsfoss.com/auto-indent-vs-code/ 作者:[Sagar Sharma][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/) 荣誉推出 @@ -94,3 +95,4 @@ via: https://itsfoss.com/auto-indent-vs-code/ [9]: https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify [10]: https://itsfoss.com/wp-content/uploads/2022/11/format-document-.gif [11]: https://itsfoss.com/wp-content/uploads/2022/11/enable-format-on-save-option.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/10/152929zff61fqq13kkpvy8.jpg \ No newline at end of file From a6e54a93494421f9e5aacffc57cac2de0f8d350d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 10 Dec 2022 22:08:50 +0800 Subject: [PATCH 698/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221210.0=20=E2=AD=90=EF=B8=8F=20How=20to=20use=20the?= =?UTF-8?q?=20Linux=20file=20manager=20for=20GNOME=202.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w to use the Linux file manager for GNOME 2.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sources/tech/20221210.0 ⭐️ How to use the Linux file manager for GNOME 2.md diff --git a/sources/tech/20221210.0 ⭐️ How to use the Linux file manager for GNOME 2.md b/sources/tech/20221210.0 ⭐️ How to use the Linux file manager for GNOME 2.md new file mode 100644 index 0000000000..f14b97ed3f --- /dev/null +++ b/sources/tech/20221210.0 ⭐️ How to use the Linux file manager for GNOME 2.md @@ -0,0 +1,74 @@ +[#]: subject: "How to use the Linux file manager for GNOME 2" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-caja" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to use the Linux file manager for GNOME 2 +====== + +Before GNOME 3 there was (unsurprisingly) GNOME 2, which had gained an ardent fanbase during its reign as one of the common default Linux desktops. The [Mate project][1] (named after the _yerba mate_ plant) began as an effort to continue the GNOME 2 desktop, at first using GTK 2 (the toolkit GNOME 2 was based upon) and later incorporating GTK 3. Today, Mate delivers a familiar desktop environment that looks and feels exactly like GNOME 2 did, using the GTK 3 toolkit. Part of that desktop is the Caja file manager, a simple but robust application that helps you sort and organize your data. + +### Install Caja + +Caja isn't exactly a stand-alone application. It's tightly coupled to the Mate desktop, so to try it you must install Mate. + +You may find Mate included in your Linux distribution's software repository, or you can download and install a distribution that ships Mate as its default desktop. Before you do, though, be aware that it's meant to provide a full desktop experience, so many Mate apps are installed along with the desktop. If you're running a different desktop, you may find yourself with redundant applications (two PDF readers, two media players, two file managers, and so on). To evaluate Caja without making major changes to your computer, install a Mate-based distribution in a virtual machine using [GNOME Boxes][2]. + +![Image of the ​Caja file manager.][3] + +### Clear layout + +The thing that you're likely to notice first about Caja is its clear and direct layout. There's a toolbar across the top of the Caja window with buttons for common tasks. I love this kind of design. Function isn't hidden away in a right-click menu, nor discoverable only after an action, nor buried in a menu. The "obvious" actions for the window are listed right across the top. + +Under the main toolbar is the location bar. This displays your current path, either as a series of buttons or as editable text. Use the **Edit** button to the left of the path to toggle whether it's editable or not. + +### Configurable + +For longtime users of GNOME 2 or Caja, the main toolbar can be redundant, especially once you know the keyboard shortcuts to invoke common actions. That's why the Caja interface is configurable. You can disable major components of the Caja window from the **View** menu, including: + +- Main toolbar +- Location bar +- Side panel +- Extra panel +- Status bar + +In short, you can make Caja as minimal as you want it to be. + +![Image of ​a minimal Caja layout.][4] + +### Tag your folders + +Some people are "visual" people. They like to organize files and folders according to how they perceive their data, rather than how the computer interprets it. For instance, if the two most significant folders for you are **Music** and **Work**, it can be hard to convince a computer that there's any relationship between those two. Alphabetically, there's a lot that should get started between the two, and the contents of each may be completely different (media files in one, spreadsheets in another). + +### Caja offers some assistance. + +With Caja, you can place directories manually within a window, and Caja remembers that placement. What's more, Caja has a variety of emblems available for you to use as visual labels. You can find them in the **Edit** menu, in **Backgrounds and Emblems**. Drag and drop them onto files and folders to help them stand apart. + +![Image of emblems in Caja.][5] + +### Caja + +As file managers go, Caja is one of the most inviting. It's configurable enough to appeal to many different use cases, and in those configuration options, you're likely to find a workflow that works for you. If you're a fan of GNOME 2, then you're sure to find Caja familiar, and if you've never used GNOME 2 then you might just find your new favorite desktop in Mate. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-caja + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/mate-linux-desktop +[2]: https://opensource.com/article/19/5/getting-started-gnome-boxes-virtualization +[3]: https://opensource.com/sites/default/files/2022-10/caja.file%20manager.png +[4]: https://opensource.com/sites/default/files/2022-10/caja-minimal-layout.png +[5]: https://opensource.com/sites/default/files/2022-10/caja-emblem.webp From db3cc6fb0d035a1f39204e5cd2a4470bdf21cfa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 11 Dec 2022 13:09:36 +0800 Subject: [PATCH 699/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221210.2=20=E2=AD=90=EF=B8=8F=20How=20to=20Update=20?= =?UTF-8?q?Flatpak=20Packages=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Update Flatpak Packages in Linux.md | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md diff --git a/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md b/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md new file mode 100644 index 0000000000..ea9e63b118 --- /dev/null +++ b/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md @@ -0,0 +1,127 @@ +[#]: subject: "How to Update Flatpak Packages in Linux" +[#]: via: "https://itsfoss.com/update-flatpak/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Update Flatpak Packages in Linux +====== + +I believe almost all Linux users keep their systems updated. + +But that update is usually for the default [package manager][1]. For example, [updating Ubuntu][2] often means updating all the APT packages. + +However, there are other packaging formats like Snap and Flatpak. The Snap applications get updated automatically but not the Flatpak ones. + +How do you update the Flatpak packages then? Well, you can update all the installed and updatable Flatpak packages using this command: + +``` +flatpak update +``` + +That’s quite simple. But let me discuss a few more things about updating Flatpak, such as: + +- Updating all or specific Flatpak packages +- Updating Flatpak packages via Software Center + +Let’s start with the terminal method first. + +### Method 1: Using the terminal for updating Flatpak packages + +Let me first start with the most practical approach that you should also begin with. + +#### Update every outdated Flatpak package + +Updating the whole catalog of existing flatpak packages is quite easy. + +Enter the given command, and it will get you the list of outdated packages: + +``` +flatpak update +``` + +![3. update flatpak packages in linux][3] + +You just have to enter “Y” and press the Enter key, which will take care of every update. + +#### Updating specific Flatpak package + +To update specific packages, you’d need the list of the packages that can be updated. You used the same command you saw earlier. + +``` +flatpak update +``` + +![3. update flatpak packages in linux][4] + +Copy the name of the package you want to update from the output. Use the package name in the following fashion: + +``` +flatpak update package_name +``` + +For example, if you want to update Telegram, the following command will get the job done: + +``` +flatpak update org.telegram.desktop +``` + +![4. update specific package in flatpak][5] + +That’s it! + +### Method 2: Update Flatpak applications from the software center + +Distributions that come up with Flatpak buil-in support provide updates to Flatpak applications in the software center. Fedora and Linux Mint are such distributions. + +But if you are using Ubuntu, you’d need to add flatpak support to the GNOME software center: + +``` +sudo apt install gnome-software-plugin-flatpak +``` + +Once done, you will have two software centers in Ubuntu. That’s because the default software center is not GNOME’s but Snap Store. + +Open this new software center from the system menu: + +![1. open software center in ubuntu][6] + +Go to the `Updates` section and you will find the list of outdated packages. This includes both APT and Flatpak packages. + +![2. update flatpak from software center][7] + +From here, you can update all the packages at once, or you can be selective with what to update. + +### Wrapping Up + +Many Linux desktop users tend to forget to update the Flatpak packages as they are not included in the regular system updates. + +As Flatpak is a sandboxed packaging solution, you may not face any issues related to outdated packages, but you will miss out on new features and fixes for sure. + +This is why I recommend running the Flatpak update command once ever few weeks. + +I hope you like this quick little Flatpak tip helpful. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/update-flatpak/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/package-manager/ +[2]: https://itsfoss.com/update-ubuntu/ +[3]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png +[4]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/4.-update-specific-package-in-flatpak.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/1.-open-software-center-in-ubuntu.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/2.-update-flatpak-from-software-center.png From 24c71d207bfff5c206015ac0b3f1b5abd5958fa6 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 11 Dec 2022 13:51:01 +0800 Subject: [PATCH 700/925] ALL @wxy https://linux.cn/article-15338-1.html --- ...rotocol Helping Open-Source Developers Get Paid.md | 94 +++++++++++++++++++ ...rotocol Helping Open-Source Developers Get Paid.md | 94 ------------------- 2 files changed, 94 insertions(+), 94 deletions(-) create mode 100644 published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md delete mode 100644 sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md diff --git a/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md b/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md new file mode 100644 index 0000000000..287cbba1bb --- /dev/null +++ b/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md @@ -0,0 +1,94 @@ +[#]: subject: "Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid" +[#]: via: "https://news.itsfoss.com/tea-open-source-new-protocol/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15338-1.html" + +Tea 筹集了 890 万美元,推出了一个帮助开源开发者获得报酬的新协议 +====== + +> 这是一种帮助开源开发者获得报酬的令人兴奋的方式。 + +![Tea 筹集了 890 万美元,推出了一个帮助开源开发者获得报酬的新协议][1] + +[Tea][2] 是一个开源的统一软件包管理器,被全球许多开发者使用。 + +顺便说一句,Tea 是 Homebrew 的创建者的一个新项目。 + +在最近的一份公告中,他们宣布已经筹集了 890 万美元的种子资金,并计划推出一个新的 [Web3 协议][3],帮助开源开发者为他们的工作获得报酬。 + +我是通过 [TechCrunch][4] 上发表的一篇文章看到的,他们对 Tea 的创始人进行了访谈。 + +让我们来看看 Tea 的发展情况。 + +### Tea 提出的一项新协议 + +#### 它是什么? + +**简而言之:** 该协议将帮助软件包维护者获得不可伪造的代币(NFT),作为他们对带有 Tea 支持的开源项目的贡献的奖励。 + +展开来说就是,这是一个 Web3 协议,将帮助软件包维护者以不可伪造的通证(NFT)的形式获得报酬。 + +当维护者完成了一个软件包的提交,他们将收到一个不可伪造的通证(NFT),可以作为他们工作和贡献的证据。 + +现有的维护者也将能够通过将软件包的 NFT 转让给其他开发者来转移软件包的维护所有权。 + +> 这些 NFT 是 Tea 计划奖励其用户的核心。 + +实施这一点还将涉及被称为“包支持者”和“赞助者”的实体。 + +这些人包括组织、软件包用户、慈善家和企业家,他们使用开源软件来构建商业产品,并希望支持这样一个生态系统。 + +他们还提到: + +> 为了提供最广泛的覆盖面,我们认为奖励不能依靠跟踪安装或卸载这样简单的概念,而是要依靠激励机制,鼓励提交高质量的软件包和报告邪恶或高风险的软件包。 + +**到目前为止,Tea 只发布了他们所说的 “同类 CLI(命令行界面)工具应具备的基本功能”。 + +到目前为止,还没有提到这个新协议的具体发布日期,他们对这个协议发布的最佳估计是“2023 年的某个时候”。 + +他们补充说: + +> 就像等到 11 月才发布我们的 CLI一样,我们会在了解它应该如何最好地构建并在内部经历了试验和错误之后才发布。 +> +> 我们要慢慢来,确保这个工具本身对开发者非常有用和有价值。 + +### 它有什么帮助? + +**根据 Tea 公司的说法:** 这应该有助于他们为所有开源软件创建一个开放、公开和稳定的注册中心。 + +反过来,鼓励项目独立发布版本,而不是依赖第三方,因为第三方会不可预测地收集他们的数据,导致大量的分立和经常重复的系统。 + +以下是他们对该协议的目标的描述: + +> Tea 的目标是通过 Tea 通证的独特用例来实现去中心化的激励机制,让 Tea 社区的任何成员为开源的永久可持续性和持续增长作出贡献。 +> +> 包的支持者和赞助者可以根据他们的工作、信仰或任何影响他们决定的标准和尺度,自由决定他们要支持哪些包或包维护者。 + +**在我看来:** 这是一个令人兴奋的方法,可以奖励那些经常被忽视的开源贡献者,即使他们为各种开源项目贡献了很多。 + +然而,考虑到 NFT 在最近一段时间获得了很多批评。这可能会或可能不会有好的结果。 + +如果你想了解更多,你可以深入研究它的官方 [白皮书][5] 上的协议。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/tea-open-source-new-protocol/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/cli-raise-funds-new-api-help-opensource-dev.png +[2]: https://tea.xyz +[3]: https://web3.foundation/about/ +[4]: https://techcrunch.com/2022/12/06/from-the-creator-of-homebrew-tea-raises-8-9m-to-build-a-protocol-that-helps-open-source-developers-get-paid/ +[5]: https://tea.xyz/tea.white-paper.pdf diff --git a/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md b/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md deleted file mode 100644 index 79302d8dd7..0000000000 --- a/sources/news/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md +++ /dev/null @@ -1,94 +0,0 @@ -[#]: subject: "Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid" -[#]: via: "https://news.itsfoss.com/tea-open-source-new-protocol/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid -====== - -An exciting way to help open-source developers get paid for their efforts. - -![Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid][1] - -[Tea][2] is an open-source unified package manager used by many developers worldwide. - -If you didn't know, Tea is a project by the creator of Homebrew. - -In a recent announcement, they announced that they have raised $8.9 Million in seed funding and are planning to introduce a new [web3 protocol][3] that will help open-source developers get paid for their work. - -I came across this via an article posted on [TechCrunch][4], where they had a chat with the founders of Tea. - -Let's take a look at what's in store for Tea. - -### A New Protocol Proposed by Tea - -**What is it?** - -**Long story short:** This protocol will help package maintainers receive non-fungible tokens (NFTs) as a reward for their contributions to a Tea-equipped open-source project. - -The extended version is, that this is a web3 protocol that will help package maintainers get paid in the form of a non-fungible token (NFT). - -When a maintainer completes a package submission, they will receive a non-transferable token (NFT) that can be used as evidence of their work and contribution. - -Existing maintainers will also be able to transfer the maintenance ownership of a package by transferring the package's NFT to other developers. - -> 💡 These NFTs are at the core of how Tea is planning to reward its users. - -Implementing this will also involve entities called '**Package Supporters** and **Sponsors**'. - -These include organizations, package users, philanthropists, and entrepreneurs who use open-source software to build commercial products and are looking to support such an ecosystem. - -They also mention that: - -> To provide the broadest coverage, we believe that rewards mustn’t rely on a simplistic notion of tracking installations or uninstallations, but rather on incentive mechanisms that encourage the submission of quality packages and the reporting of nefarious or high-risk packages. - -**When to Expect?:** So far, with Tea, they have only released what they term as 'the base features that a CLI [command-line interface] tool of its kind should have'. - -As of now, no concrete release date has been mentioned for this new protocol, and their best estimate for the release of this protocol is 'some time in 2023'. - -They add: - -> Much like waiting until November to release our CLI, we’re not going to launch until we understand how it should be best built and have gone through trial and error internally. - -> We’re going to take our time and make sure the tool itself is very useful and valuable for developers. - -### How Does it Help? - -**According to Tea inc:** This is supposed to help them create an open, public, and stable registry for all open-source software. - -In turn, empowering projects to publish releases independently rather than relying on third parties who assemble their data unpredictably, resulting in a ton of separate and often duplicated systems. - -Here's what they tell about their goals with the protocol: - -> Tea’s goal is to implement decentralized incentive mechanisms through unique use cases of the tea token for any member of the tea community to contribute to the perpetual sustainability and continuous growth of open-source. - -> Package supporters and sponsors are free to decide which packages or package maintainers they want to support based on their work, beliefs, or any criteria and metric that would influence their decision. - -**In my opinion:** This is an exciting approach to rewarding open-source contributors who are frequently neglected, even after contributing a lot to various open-source projects. - -However, considering that NFTs have garnered a lot of criticism in recent times. This may or may not turn out well. - -If you'd like to know more, you can dive deep into its official [white paper][5] for this protocol. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/tea-open-source-new-protocol/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/cli-raise-funds-new-api-help-opensource-dev.png -[2]: https://tea.xyz -[3]: https://web3.foundation/about/ -[4]: https://techcrunch.com/2022/12/06/from-the-creator-of-homebrew-tea-raises-8-9m-to-build-a-protocol-that-helps-open-source-developers-get-paid/ -[5]: https://tea.xyz/tea.white-paper.pdf From eeb94adaa97a13aa222221417ebd871efb4f3432 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 11 Dec 2022 13:53:06 +0800 Subject: [PATCH 701/925] R --- ... Introduce a New Protocol Helping Open-Source Developers Get Paid.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md b/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md index 287cbba1bb..8969498a72 100644 --- a/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md +++ b/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md @@ -46,7 +46,7 @@ Tea 筹集了 890 万美元,推出了一个帮助开源开发者获得报酬 > 为了提供最广泛的覆盖面,我们认为奖励不能依靠跟踪安装或卸载这样简单的概念,而是要依靠激励机制,鼓励提交高质量的软件包和报告邪恶或高风险的软件包。 -**到目前为止,Tea 只发布了他们所说的 “同类 CLI(命令行界面)工具应具备的基本功能”。 +到目前为止,Tea 只发布了他们所说的 “同类 CLI(命令行界面)工具应具备的基本功能”。 到目前为止,还没有提到这个新协议的具体发布日期,他们对这个协议发布的最佳估计是“2023 年的某个时候”。 From 859c5a832561938ca03bac9e4cb4caff7c1203b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 11 Dec 2022 23:53:46 +0800 Subject: [PATCH 702/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221211.0=20=E2=AD=90=EF=B8=8F=20Simplify=20your=20Li?= =?UTF-8?q?nux=20PC=20with=20the=20PCManFM=20file=20manager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...your Linux PC with the PCManFM file manager.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md diff --git a/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md new file mode 100644 index 0000000000..0ff3f068de --- /dev/null +++ b/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md @@ -0,0 +1,78 @@ +[#]: subject: "Simplify your Linux PC with the PCManFM file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-pcmanfm" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Simplify your Linux PC with the PCManFM file manager +====== + +The PCMan File Manager, or PCManFM for short, is a fast and lightweight file manager that's full of features. It was developed for the [LXDE][1] desktop environment, but is a stand-alone application and can be used with the desktop or window manager of your choice. + +### Install PCManFM + +On Linux, you can probably find PCManFM in your software repository. For instance, on Fedora, Mageia, and similar: + +``` +$ sudo dnf install pcmanfm +``` + +On Debian, Elementary, and similar: + +``` +$ sudo apt install pcmanfm +``` + +![Image of the PCMan file manager.][2] + +PCManFM doesn't have to replace your desktop's file manager, but some distributions assume that when you install a "third party" file manager, you want it to take precedence over the default. Depending on the desktop you're using, there are different ways of setting your default file manager. Usually, it's in **System Settings** under **Default Applications**. + +If your desktop environment or window manager has no interface to select your default applications, you can set your preference in the `~/.local/share/applications/mimeapps.list` file. To designate a file manager as default, place it at the top of the `[Default Applications]` section, first specifying the file type and then the name of the application file (as it appears in `/usr/share/applications`) you want to use to open it: + +``` +inode/directory=myfilemanager.desktop; +``` + +### PCManFM + +If you're a fan of GNOME 2 or the Mate project's [Caja file manager][3], then PCManFM is a great alternative to consider. PCManFM is a lot like Caja in design, but it's not bound to the desktop in the way Caja is, so it's available even on the latest GNOME desktop. + +The default layout of PCManFM has a helpful toolbar near the top of the window, a side panel providing quick access to common directories and drives, and a status bar with details about your current selection. You can hide or show any of these elements using the **View** menu. + +### Tabs and panels + +PCManFM also uses tabs. If you've never used a tabbed file manager before, then think of a web browser and how it uses tabs to let you open multiple web pages in just one window. PCManFM can similarly open several directories in the same window. + +To transfer a file or folder from one tab to another, just drag the file's icon to the tab and hover. After a nominal delay, PCManFM brings the target tab to the front so you can continue your drag-and-drop operation. It takes some getting used to if you're not used to interacting with tabs in a file manager, but it doesn't take long, and it's a very powerful feature for decluttering your workspace. + +Another nice feature of the PCManFM interface is its ability to split a window into two panels. Each panel is effectively a tab, but each one only takes up half of the window. + +![Image of dual panels in PCMan.png][4] + +This makes dragging from one to the other just as easy and natural as dragging a file into a folder. I find it useful for comparing the contents of folders, too. + +### File management with PCMan + +PCManFM is a great little file manager with all the basic features you need on an everyday basis. It's a natural replacement for a file manager you might find too complicated, as well as a great option on [old computers][5] that might struggle with a file manager that's constantly drawing thumbnails and refreshing and generating animations. PCMan focuses on the core task of a file manager: managing files. Try it out on your Linux PC. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-pcmanfm + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/lxqt-lxde-linux-desktop +[2]: https://opensource.com/sites/default/files/2022-10/pcmanfilemanager.png +[3]: https://opensource.com/article/22/12/linux-file-manager-caja +[4]: https://opensource.com/sites/default/files/2022-10/%E2%80%8BDual.panel_.in%20PCManFM.png +[5]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity From 370ecbbb8409703cd7a3edc0e5a44c8535f4b878 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 12 Dec 2022 08:04:38 +0800 Subject: [PATCH 703/925] RP @geekpi https://linux.cn/article-15340-1.html --- ...y you should try the Nemo file manager on Linux.md | 87 +++++++++++++++++++ ...y you should try the Nemo file manager on Linux.md | 82 ----------------- 2 files changed, 87 insertions(+), 82 deletions(-) create mode 100644 published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md delete mode 100644 translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md diff --git a/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md new file mode 100644 index 0000000000..b7b5a83fe8 --- /dev/null +++ b/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md @@ -0,0 +1,87 @@ +[#]: subject: "Why you should try the Nemo file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15340-1.html" + +为什么你要在 Linux 上尝试 Nemo 文件管理器? +====== + +![][0] + +> Nemo 感觉像是更新版的 GNOME 2 文件管理器。我喜欢它,我觉得你也会喜欢它。 + +计算机是一个奇特的文件柜,里面装满了虚拟文件夹和文件,等待着被引用、交叉引用、编辑、更新、保存、复制、移动、重命名和归类。在本文中,我将介绍一下 Linux 系统的文件管理器。 + +[Cinnamon][1] 项目是使用 GNOME 3 的组件重新实现的 GNOME 2。最终,它的差异足以成为一个真正的分叉,如今,Cinnamon 桌面使用 GTK3 库和 GNOME 3 关键应用的分叉版本来创建一个“经典”的 GNOME 体验。对传统的 GNOME 体验做出贡献的组件之一是 Nemo,它是一个基于 GNOME 2 版本的 Nautilus 的文件管理器。 + +### 在 Linux 上安装 Nemo + +Nemo 的源代码 [在线提供][2],但它需要 `cinnamon-desktop` 来构建,所以安装 Nemo 最简单的方法是直接安装 Cinnamon。 + +在 Fedora、Mageia 和类似的系统上: + +``` +$ sudo dnf install cinnamon-desktop +``` + +在 Linux Mint、Debian 和类似系统上: + +``` +$ sudo dnf install cinnamon-desktop-environment +``` + +当然,作为该桌面的发源地,Linux Mint 也预装了 Cinnamon。 + +### 一个熟悉的界面 + +如果你已经习惯了 GNOME,无论是过去的还是现在的,那么 Nemo 从一开始就让你有一种回家的感觉。它有一个熟悉的外观和感觉,在类似的地方有按钮和选项,你很可能会认出它们。 + +![Image of Nemo's file manager.][3] + +将视图控制按钮放在右上方的 GNOME 式惯例被保留了下来,你可以使用这些按钮快速地将你的文件视图从大图标切换到详细列表或紧凑视图。那里还有一个搜索功能,以及在可编辑文本和按钮之间切换位置栏的选项。 + +可编辑的 URI 栏有时被低估了。这是一个简单的设计决定,但它可以是一个有助于提高效率的巨大功能。这就像在每个窗口的顶部有一个单行终端,你可以在那里输入你的系统的任何目标位置,并立即被带到那里。而且你甚至不需要输入 `cd`。 + +在左上角,有导航按钮:向上、向前和向后。与许多 Linux 文件管理器一样,你可以用 `Alt` 键加上适当的 `箭头` 键,而放弃使用这些按钮。 + +侧面窗格显示了重要文件夹的列表(主目录、文档、下载等),可以通过点击窗口底部的一个按钮来隐藏或显示。 + +### 熟悉但不一样 + +Nemo 的舒适性和熟悉性并不意味着它只是无意识地模仿 Nautilus。Nemo 有一系列不错的功能,感觉很独特。其中大部分都在 偏好设置Preferences 中,以下是我最喜欢的几个: + +- 窗口标题中显示全路径Full path in window title:这是我最喜欢的功能。不要再怀疑你在文件系统中的位置了。让你的窗口标题告诉你。 +- 单击或双击Single or double click:如果你是一个长期的 [KDE][4] 用户,你可能会发现单次点击打开一个文件是很新鲜的。有了 Nemo,你可以这样选择。 +- 双击来重命名Double-click to rename:如果你使用单击来打开,为什么不重新利用双击来重命名呢? +- 在新窗口中打开每个文件夹Open each folder in a new window:操作系统为每一个打开的文件夹打开一个新的窗口。 +- 插件Plugins:Nemo 有能力调用动作、脚本和扩展。有些已经包括在内,有改变桌面背景、创建启动器和挂载归档的动作。其他的还没有被创建,但这种可扩展性对开源是至关重要的。 + +### 一切近在咫尺 + +在 Linux Mint 上使用 Nemo 几周后,一个有趣的特征让我眼前一亮。似乎 Nemo 可以,或者通过快速配置可以,让我最常使用的所有东西都近在咫尺。许多功能,我承认,我不知道我是否需要,直到 Nemo 让我轻松点击才知道。你可能会说,我是为了满足 Nemo 的设计而改变了我的使用方式,也许情况确实如此。但是,当这种体验是如此令人愉快和有效时,这有什么关系呢? + +Nemo 是一个很好的文件管理器。它让人想起了 GNOME 2 的时代,但其更新和设计选择让人有一种新鲜的感觉。如果你喜欢 [Thunar][5] 或 Nautilus,你会喜欢 Nemo。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-nemo + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/cinnamon-linux-desktop +[2]: https://github.com/linuxmint/nemo/releases +[3]: https://opensource.com/sites/default/files/2022-09/nemo.png +[4]: https://opensource.com/article/22/2/why-i-love-linux-kde +[5]: https://opensource.com/article/22/12/linux-file-manager-thunar +[0]: https://img.linux.net.cn/data/attachment/album/202212/12/080234oessb2lsx0s8esri.jpg \ No newline at end of file diff --git a/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md deleted file mode 100644 index e0d1597598..0000000000 --- a/translated/tech/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md +++ /dev/null @@ -1,82 +0,0 @@ -[#]: subject: "Why you should try the Nemo file manager on Linux" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-nemo" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -为什么你要在 Linux 上尝试 Nemo 文件管理器? -====== - -计算机是奇特的文件柜,里面装满了等待引用、交叉引用、编辑、更新、保存、复制、移动、重命名和组织的虚拟文件夹和文件。在本文中,我将介绍一下 Linux 系统的文件管理器。 - -[Cinnamon][1] 项目是使用 GNOME 3 的组件重新实现 GNOME 2。最终,它的差异足以成为一个真正的分叉,今天,Cinnamon 桌面使用 GTK3 库和 GNOME 3 关键应用的分叉版本来创建一个“经典”的 GNOME 体验。Nemo 是促成传统 GNOME 体验的组件之一,它是一个基于 GNOME 2 版本的 Nautilus 的文件管理器。 - -### 在 Linux 上安装 Nemo - -Nemo 的源代码[在线提供][2],但它需要 `cinnamon-desktop` 来构建,所以安装 Nemo 最简单的方法是直接安装 Cinnamon。 - -在 Fedora、Mageia 和类似的系统上: - -``` -$ sudo dnf install cinnamon-desktop -``` - -在 Linux Mint、Debian 和类似系统上: - -``` -$ sudo dnf install cinnamon-desktop-environment -``` - -当然,作为桌面的始祖,Linux Mint 也有预装 Cinnamon 的版本。 - -### 一个熟悉的界面 - -如果你已经习惯了 GNOME,无论是过去的还是现在的,那么 Nemo 从一开始就有一种回家的感觉。它有一个熟悉的外观和感觉,在类似的地方有按钮和选项,你很可能会认出它们。 - -![Image of Nemo's file manager.][3] - -将视图控制按钮放在右上方的 GNOME 式惯例被保留了下来,你可以使用这些按钮快速地将你的文件视图从大图标切换到详细列表或紧凑视图。那里还有一个搜索功能,以及在可编辑文本和按钮之间切换位置栏的选项。 - -可编辑的 URI 栏有时被低估了。这是一个简单的设计决定,但它可以是一个有助于提高效率的巨大功能。这就像在每个窗口的顶部有一个单行终端,你可以在系统的任何地方输入一个目标,并立即被带到那里。而且你甚至不需要输入 `cd`。 - -在右上角,有导航按钮:向上、向前和向后。与许多 Linux 文件管理器一样,你可以用 **Alt** 键加上适当的**箭头**键来放弃使用这些按钮。 - -侧面窗格显示了重要文件夹的列表(家目录、文档、下载等),可以通过点击窗口底部的一个按钮来隐藏或显示。 - -### 熟悉但不一样 - -Nemo的舒适性和熟悉性并不意味着它只是无意识地模仿 Nautilus。Nemo 有一系列不错的功能,感觉很独特。其中大部分都在**偏好设置**中,以下是我最喜欢的几个: - -- **窗口标题中的全路径**:是我最喜欢的功能。不要再怀疑你在文件系统中的位置了。让你的窗口标题告诉你。 -- **单击或双击**:如果你是一个长期的 [KDE][4] 用户,你可能会发现单次点击打开一个文件是很新鲜的。有了 Nemo,你可以这样选择。 -- **双击来重命名**:如果你使用单击来打开,为什么不重新利用双击来重命名? -- **在一个新窗口中打开每个文件夹**:操作系统为每一个打开的文件夹打开一个新的窗口。 -- **插件**:Nemo 有能力调用动作、脚本和扩展。有些已经包括在内,包括改变桌面背景、创建启动器和挂载归档的动作。其他的还没有被创建,但这种可扩展性对开源是至关重要的。 - -### 一切近在咫尺 - -在 Linux Mint 上使用 Nemo 几周后,一个有趣的特征让我眼前一亮。似乎 Nemo 拥有,或者通过快速配置可以拥有,我最常使用的所有东西都近在咫尺。许多功能,我承认,我不知道我需要或想要,直到 Nemo 让我轻松点击。你可能会说,我是为了满足 Nemo 的设计而改变了我的使用方式,也许情况确实如此。但是,当这种体验是如此令人愉快和有效时,这有什么关系呢? - -Nemo 是一个很好的文件管理器。它让人想起了 GNOME 2 的时代,但其更新和设计选择让人感到新鲜。如果你喜欢 [Thunar][5] 或 Nautilus,你会喜欢 Nemo。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-nemo - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/19/12/cinnamon-linux-desktop -[2]: https://github.com/linuxmint/nemo/releases -[3]: https://opensource.com/sites/default/files/2022-09/nemo.png -[4]: https://opensource.com/article/22/2/why-i-love-linux-kde -[5]: https://opensource.com/article/22/12/linux-file-manager-thunar From ae4ad996968f8d101b6a6c2997098e625855449b Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 12 Dec 2022 08:55:07 +0800 Subject: [PATCH 704/925] translated --- ...️⭐️ Try this Java file manager on Linux.md | 63 ------------------ ...️⭐️ Try this Java file manager on Linux.md | 64 +++++++++++++++++++ 2 files changed, 64 insertions(+), 63 deletions(-) delete mode 100644 sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md create mode 100644 translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md diff --git a/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md deleted file mode 100644 index e43830f831..0000000000 --- a/sources/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md +++ /dev/null @@ -1,63 +0,0 @@ -[#]: subject: "Try this Java file manager on Linux" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Try this Java file manager on Linux -====== - -Computers are fancy filing cabinets, full of virtual folders and files waiting to be referenced, cross-referenced, edited, updated, saved, copied, moved, renamed, and organized. In this article, we're taking a look at a file manager for your Linux system. - -At the tail end of the Sun Microsystem days, there was something called the Java Desktop System, which was strangely _not_ written in Java. Instead, it was a (according to sun.com at the time) "judicious selection of integrated and tuned desktop software, most based on open source and open standards." It was based on GNOME, with an office suite, email and calendaring apps, instant messaging, "and Java technology." I found myself musing about what it would take to create a desktop in Java. Objectively, a desktop doesn't actually consist of all that much. The general consensus seems to be that a desktop is made up of a panel, a system tray, an application menu, and a file manager. - -It's an interesting thought exercise to imagine an actual Java desktop. Not enough to start an open source project with that as its aim, but enough for a quick web search for the necessary components. And as it turns out, someone has written and maintains a file manager in Java. - -### JFileProcessor - -The Java file manager I found is called JFileProcessor, or JFP for short. It's a fascinating exercise not just in Java, but specifically in [Groovy][1], a popular scripting language for Java. - -![Image of the JfileProcessor folders.][2] - -As a file manager, JFileProcessor takes a minimal approach to both design and function. It lets you view, open, move, copy, cut, or delete files on your local system and on remote systems. It's not particularly customizable, it doesn't have extra features like split panels or movable panes. It's not built around any central theme aside from managing files. JFileProcessor is refreshing, in a way, because of its simplicity. This is a file manager, and that's all. And sometimes that's all you want in a file manager. - -I've written about options to [theme Java Swing][3] before, and that technique is technically an option for this open source application. However, I think part of the charm of this application is what OpenSolaris called its "Blueprint" theme. It's a nostalgic look of Java, and I've enjoyed running it in its native GUI appearance as a callback to my OpenSolaris (now OpenIndiana) laptop. - -### User experience - -Design aside, what really matters is user experience. JFileProcessor has just three buttons that you use on a daily basis: Up, back, and forward. They aren't bound to keyboard shortcuts, so you do have to click the buttons to navigate (or use the **Tab** key to select a button). I do a lot with keyboard shortcuts when using graphical applications, so this slowed me down a lot as I tried to navigate my system. However, there are times when I'm actually just lazily browsing files, and for that JFileProcessor worked exactly as I needed it. - -There's a search component to JFileProcessor, too. As long as you set a reasonable starting folder, the search is quick and intelligent, allowing for both search globs and regex patterns. I used this feature regularly when searching for a specific e-book or comic archive or game rulebook, for instance, or any time that I had a rough idea that directory contained an item but couldn't be bothered to click all the way through to the destination. A quick search through the subdirectories inevitably returned the obvious result, and a double-click opened the file to whatever XDG preference I had set (Evince for PDFs, Foliate for eBooks, and so on.) - -A right-click on any file or directory brings up a context menu. It's got most of the common tasks you'd expect: Copy, Cut, Paste, Delete, Rename, New. It's got some nice additions, too. - -![Right-click context menu in JFileProcessor][4] - -For instance, you can copy just the filename to your clipboard or save a path to a file. You can also run some scripts, including one to batch rename files, one to run a command on selected files, one to create a ZIP or TAR archive, and many more. And of course, there are several options for the coder, including opening a terminal at your current location and opening a new coding window. - -### Install - -I'm a real fan of Java. It's a clear language with sensible delimiters and a firm stance on cross-platform compatibility. I enjoy it as a language, and I love seeing what programmers create with it. - -JFileProcessor is aptly named. It's an effective way to process files, in the sense that JFileProcessor gives you a simple window into the files of data on your system and allows you to interact with them, graphically, in the same way you're likely to interact with them from a terminal. It's not the most efficient file manager I've used, nor the one with the most features. However, it's a pleasant application that provides you with the basic tools you need for file management with a relatively small codebase that makes for some stellar afternoon reading. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-jfileprocessor - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/12/groovy -[2]: https://opensource.com/sites/default/files/2022-09/jfileprocessor.webp -[3]: https://opensource.com/article/22/3/beautify-java-applications -[4]: https://opensource.com/sites/default/files/2022-09/jfileprocessor-menu.webp diff --git a/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md new file mode 100644 index 0000000000..8ef1bb47c1 --- /dev/null +++ b/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md @@ -0,0 +1,64 @@ +[#]: subject: "Try this Java file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在 Linux 上试试这个 Java 文件管理器 +====== + +计算机是奇特的文件柜,里面装满了等待引用、交叉引用、编辑、更新、保存、复制、移动、重命名和组织的虚拟文件夹和文件。在本文中,我将介绍一下 Linux 系统的文件管理器。 + +在 Sun Microsystem 时代的末期,出现了一种叫做 Java 桌面系统的东西,奇怪的是它_不是_用 Java 编写的。相反,它是(根据当时的 sun.com 上的描述)“对集成和优化的桌面软件的明智选择,大部分基于开源代码和开放标准”。它基于 GNOME,带有办公套件、电子邮件和日历应用、即时消息和“Java 技术”。我发现自己在思考用 Java 创建桌面需要什么。客观地说,桌面实际上并没有那么多。一般的共识似乎是桌面由面板、系统托盘、应用菜单和文件管理器组成。 + +想象一个实际的 Java 桌面是一个有趣的思维练习。不足以以此为目标启动一个开源项目,但足以在网络上快速搜索必要的组件。事实证明,有人用 Java 编写并维护了一个文件管理器。 + +### JFileProcessor + +我找到的 Java 文件管理器叫做 JFileProcessor,简称 JFP。这不仅在 Java 中,而且在 [Groovy][1](一种流行的 Java 脚本语言)中都是一项迷人的练习。 + +![Image of the JfileProcessor folders.][2] + +作为文件管理器,JFileProcessor 在设计和功能上都采用了最小化的方法。它允许你查看、打开、移动、复制、剪切或删除本地系统和远程系统上的文件。它不是特别定制化的,它没有额外的功能,如拆分面板或可移动面板。除了管理文件外,它不围绕任何中心主题构建。JFileProcessor 在某种程度上令人耳目一新,因为它很简单。这是一个文件管理器,仅此而已。有时这就是你在文件管理器中想要的全部。 + +我之前写过关于[设置 Java Swing 主题][3]的方式,从技术上讲,该技术是这个开源应用的一个选项。但是,我认为这个应用的部分魅力在于 OpenSolaris 称之为 “Blueprint” 的主题。这是 Java 的怀旧外观,我喜欢以其原生 GUI 外观运行它,作为对我的 OpenSolaris(现为 OpenIndiana)笔记本电脑的回忆。 + + +### 用户体验 + +除了设计,真正重要的是用户体验。JFileProcessor 只有三个你日常使用的按钮:向上、后退和前进。它们未绑定到键盘快捷键,因此你必须单击按钮才能导航(或使用 **Tab** 键选择按钮)。在使用图形应用时,我经常使用键盘快捷键,所以当我尝试浏览我的系统时,这大大减慢了我的速度。但是,有时我实际上只是懒洋洋地浏览文件,因此 JFileProcessor 完全按照我的需要工作。 + +JFileProcessor 也有一个搜索组件。只要你设置合理的起始文件夹,搜索就会快速而智能,同时允许适用 glob 和正则模式搜索。例如,当我搜索特定的电子书或漫画档案或游戏规则手册时,或者任何时候我粗略地知道该目录包含一个项目但懒得一直点击到目的地址。在子目录中快速搜索,必然会得到明显的结果,然后双击打开文件,不管我设置了什么XDG偏好(Evince用于PDF,Foliate用于电子书,等等)。 + +右键单击任何文件或目录会弹出上下文菜单。它具有你期望的大部分常见任务:复制、剪切、粘贴、删除、重命名、新建。它也有一些不错的额外功能。 + +![Right-click context menu in JFileProcessor][4] + +例如,你可以只将文件名复制到剪贴板或保存文件路径。你还可以运行一些脚本,包括用于批量重命名文件的脚本、用于对选定文件运行命令的脚本、用于创建 ZIP 或 TAR 存档的脚本等等。当然,编码器有多种选择,包括在当前位置打开终端和打开新的编码窗口。 + +### 安装 + +我是 Java 的忠实粉丝。它是一种清晰的语言,具有合理的分隔符和对跨平台兼容性的坚定立场。我喜欢它作为一种语言,我喜欢看到程序员用它创造的东西。 + +JFileProcessor 的名字很贴切。这是一种处理文件的有效方法,从某种意义上说,JFileProcessor 为你提供了一个简单的窗口来查看系统上的文件数据,并允许你以图形方式与它们进行交互,就像你可能在终端中与它们交互一样。它不是我用过的最高效的文件管理器,也不是功能最多的一个。然而,这是一个令人愉快的应用,为你提供了文件管理所需的基本工具,其相对较小的代码库使你可以在下午阅读一些精彩的内容。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-jfileprocessor + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/groovy +[2]: https://opensource.com/sites/default/files/2022-09/jfileprocessor.webp +[3]: https://opensource.com/article/22/3/beautify-java-applications +[4]: https://opensource.com/sites/default/files/2022-09/jfileprocessor-menu.webp From 58dd2374624af6ca75f90bc19dd416ec25c274d5 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 12 Dec 2022 09:00:25 +0800 Subject: [PATCH 705/925] translating --- ...vert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md index 3e2b35e83e..318da04906 100644 --- a/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md +++ b/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/converter-tool/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 71a2eb77921f6a8e664793a3d78c4789408e0126 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Mon, 12 Dec 2022 09:54:41 +0800 Subject: [PATCH 706/925] translating MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译申请 --- ...22.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md index 43f516aa5c..d275e3617b 100644 --- a/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md +++ b/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/rust-calls-c-library-functions" [#]: author: "Marty Kalin https://opensource.com/users/mkalindepauledu" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "yzuowei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 74d1e940d9175cf9300987cefccb7df20c9b9f6b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 12 Dec 2022 10:42:28 +0800 Subject: [PATCH 707/925] RP @yzuowei https://linux.cn/article-15341-1.html --- ...Process ID and Kill it in Linux [CLI & GUI].md | 54 ++++++++++--------- 1 file changed, 28 insertions(+), 26 deletions(-) rename {translated/tech => published}/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md (55%) diff --git a/translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/published/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md similarity index 55% rename from translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md rename to published/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md index f77e73d297..411007a152 100644 --- a/translated/tech/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md +++ b/published/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md @@ -3,28 +3,30 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15341-1.html" -如何在 Linux 中找到一个进程 ID 并杀死它 [CLI & GUI] +如何在 Linux 中找到一个进程 ID 并杀死它 ====== -**一个简单的教学展示教你如何找到正在运行中的进程 ID 并杀死它,你可以使用终端或着 GUI,这个方法适用于各类 Linux 发行版。** +![][0] + +> 一个简单的教学展示,教你如何找到正在运行中的进程 ID 并杀死它,你可以使用终端或者 GUI,这个方法适用于各类 Linux 发行版。 你的 Linux 系统中运行的应用可能会让你的电脑变慢,特别是你的电脑配置较低的时候。在 Linux (以及所有其他 OS)中,程序或者应用都携带一个特别的 PID (进程 ID)可供你简单地分辨它们。 -然而,作为初学者,大部分 Linux 用户并不知道如何在 Linux 中寻找运行中的进程并杀死它。在这篇指南中,我们将会解释不同的方法用以杀死 Linux 中的运行进程。这包括了使用终端和 GUI 的方法。 +然而,大部分 Linux 初学者用户并不知道如何在 Linux 中寻找运行中的进程并杀死它。在这篇指南中,我们将会解释用不同的方法以杀死 Linux 中的运行进程。这包括了使用终端和 GUI 的方法。 记住,你只应该杀死未响应的进程,或者你发现应用无法被正常关闭 (针对基于 GUI 的应用)。 -### 如何在 Linux 中找到进程 id 并杀掉它们 +### 如何在 Linux 中找到 PID 并杀掉它们 在这一部分中,我们首先应该先学会如何找到运行进程的 PID,然后再学习用以杀掉它们的命令: #### 找到正在运行中的进程 -你可以使用命令 `top` 来列出所有正在进行中的进程和它们的 PID,以及其他细节。程序 top 在所有 Linux 发行版和所有基于 Unix 的系统中都是默认安装了的。 +你可以使用命令 `top` 来列出所有正在进行中的进程和它们的 PID,以及其他细节。程序 `top` 在所有 Linux 发行版和所有基于 Unix 的系统中都是默认安装了的。 ``` top @@ -40,15 +42,14 @@ ps -el | grep -i firefox ![Firefox process id using ps command - example][2] -现在你已经找到进程 id 了,让我们看看你该如何杀掉它。 +现在你已经找到 PID 了,让我们看看你该如何杀掉它。 #### 杀死运行中的进程 -You can either use the process name or PID to kill the currently running process using the following commands:  使用以下命令,你可以通过进程的名字或者 PID 来杀掉这个正在运行中的进程: -- **killall:** 通过运行进程的名字来杀死进程 -- **[kill][3]:** 通过 PID 来杀死进程 +- `killall`:通过运行进程的名字来杀死进程 +- [kill][3]:通过 PID 来杀死进程 现在,让我们首先使用进程 `killall` 通过 Firefox 这个名字来杀死它的,命令如下: @@ -56,14 +57,14 @@ You can either use the process name or PID to kill the currently running process killall -9 firefox ``` -- 参数 `-9` 发送了信号 SIGKILL 通知 OS 来终止这个进程。 +- 参数 `-9` 发送了信号 `SIGKILL` 通知 OS 来终止这个进程。 - 使用以下命令,你也可以列出一些别的信号。 ``` kill -l ``` -同样地,如果你想要通过进程 ID 来杀死进程,你可以用以下命令: +同样地,如果你想要通过 PID 来杀死进程,你可以用以下命令: ``` kill -9 @@ -75,27 +76,27 @@ kill -9 kill -9 33665 ``` -让我们看看在不同发行版中,你该如何使用图形用户界面 (GUI) 来杀死任意进程或应用。 +让我们看看在不同发行版中,你该如何使用图形用户界面(GUI)来杀死任意进程或应用。 -### 通过 GUI 寻找进程 id 并杀掉 +### 通过 GUI 寻找 PID 并杀掉 现在有很多图形界面程序可以枚列进程。大部分 Linux 发行版的桌面环境中已经携带了它们。我们在这里列举出了一些。 -#### GNOME (在 Ubuntu, Fedora workstation 中,诸如此类) & 在 Linux Mint 中 +#### GNOME(在 Ubuntu、Fedora 工作站等) & 在 Linux Mint 中 -在应用菜单中搜索 "system monitor" 并打开它 (译者注:中文桌面环境也可以搜 "system monitor",我在 ubuntu 里试过了)。在进程 (Processes) 标签页下找到你的进程,右击进程名字打开快捷菜单,选择选项“杀死” (Kill)。 +在应用菜单中搜索 “system monitor” 并打开它(LCTT 译注:中文桌面环境也可以搜 “system monitor”,我在 Ubuntu 里试过了)。在 “进程Processes” 标签页下找到你的进程,右击进程名字打开快捷菜单,选择选项 “杀死Kill”。 ![Kill a process in Linux using gnome system monitor][4] -#### KDE Plasma (Kubuntu,Fedora-KDE 或任何基于 Plasma 的发行版) +#### KDE Plasma(Kubuntu、Fedora-KDE 或任何基于 Plasma 的发行版) -在应用菜单中搜索并启动 "system monitor"。这会打开以下程序。在左边菜单栏点击进程,你因该能看见一列正在运行的程序。你可以右击列表里的进程或应用并选择“杀死”来终止进程。 +在应用菜单中搜索并启动 “system monitor”。这会打开以下程序。在左边菜单栏点击“进程Processes” ,你因该能看见一列正在运行的程序。你可以右击列表里的进程或应用并选择“杀死Kill”来终止进程。 ![System monitor in KDE Plasma][5] #### Xfce 桌面 -Xfce 桌面可以完成这项任务的原生应用是任务管理器 (Task Manager),你可以通过 `应用 (Application) > 系统 (System) > 任务管理器 (Task manager)` 来找到它。右击进程名字然后选择“杀死”来终止应用或进程。 +Xfce 桌面可以完成这项任务的原生应用是 任务管理器Task Manager,你可以通过 “应用Application > 系统System > 任务管理器Task manager” 来找到它。右击进程名字然后选择“杀死Kill”来终止应用或进程。 ![Xfce task manager to kill a process][6] @@ -103,19 +104,19 @@ Xfce 桌面可以完成这项任务的原生应用是任务管理器 (Task Manag 如果你找不到任何相似的程序,你可以选择使用终端的方法。或者,你可以使用以下命令来安装 gnome-system-monitor。 -**Ubuntu 以及相关发行版** +Ubuntu 以及相关发行版: ``` sudo apt install gnome-system-monitor ``` -**Fedora 以及其相关的:** +Fedora 以及其相关的发行版: ``` sudo dnf install gnome-system-monitor ``` -**还有 Arch Linux:** +还有 Arch Linux: ``` sudo pacman -S gnome-system-monitor @@ -123,7 +124,7 @@ sudo pacman -S gnome-system-monitor ### 总结一下 -这就是你该如何在 Linux 中找到一个运行中的进程 id 并杀死它。我们已经解释了不同的方法:你可以通过名字或者 PID 来杀死进程。我希望这对你有所帮助。 +这就是你该如何在 Linux 中找到一个运行中的进程的 PID 并杀死它。我们已经解释了不同的方法:你可以通过名字或者 PID 来杀死进程。我希望这对你有所帮助。 -------------------------------------------------------------------------------- @@ -132,7 +133,7 @@ via: https://www.debugpoint.com/find-process-id-kill-linux/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[yzuowei](https://github.com/yzuowei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -144,3 +145,4 @@ via: https://www.debugpoint.com/find-process-id-kill-linux/ [4]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kill-a-process-in-Linux-using-gnome-system-monitor.jpg [5]: https://www.debugpoint.com/wp-content/uploads/2022/12/System-monitor-in-KDE-Plasma.jpg [6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Xfce-task-manager-to-kill-a-process.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202212/12/103939c8tv41t8391v6886.jpg \ No newline at end of file From 01945aa25467e527d9211902884ee16a7eaad513 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Mon, 12 Dec 2022 10:49:48 +0800 Subject: [PATCH 708/925] Second Translation Request --- sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md index c95461a3c6..82d777b905 100644 --- a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/tooljet-open-source-journey" [#]: author: "Navaneeth PK https://opensource.com/users/navaneeth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "CanYellow" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 162e301137f1226cce141acbc3a6a9f7ae6ad579 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Mon, 12 Dec 2022 14:14:44 +0800 Subject: [PATCH 709/925] translated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 第一段结尾的 lingua franca 我没有翻译因为我认为这里不应该翻译 - 文中有一处提到 epoch 的地方我一半觉得不用翻译,一半不会翻译 - 链接中的 [1] 我把 lingua franca 的 wiki 链接换成了百度百科链接 - epoch 处我添加了 [4] UNIX时间 的百度百科链接 - 我在 ### 调用涉及指针的 C 函数 结尾处加入了较长一段注释,主要解释作者代码在本地运行时可能会遇到的问题,我在其中加入了两个链接 [5] 和 [6] - [1] 的原链接是 https://en.wikipedia.org/wiki/Lingua_franca - [4] epoch 的 wiki 链接是 https://en.wikipedia.org/wiki/Epoch_(computing) - 我感觉 wiki 写的比百度百科要好,但是写得好的 wiki 内容是英文的,访问也是个问题 --- ...️ Introducing Rust calls to C library functions.md | 283 ----------------- ...️ Introducing Rust calls to C library functions.md | 287 ++++++++++++++++++ 2 files changed, 287 insertions(+), 283 deletions(-) delete mode 100644 sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md create mode 100644 translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md diff --git a/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md deleted file mode 100644 index d275e3617b..0000000000 --- a/sources/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md +++ /dev/null @@ -1,283 +0,0 @@ -[#]: subject: "Introducing Rust calls to C library functions" -[#]: via: "https://opensource.com/article/22/11/rust-calls-c-library-functions" -[#]: author: "Marty Kalin https://opensource.com/users/mkalindepauledu" -[#]: collector: "lkxed" -[#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Introducing Rust calls to C library functions -====== - -Why call C functions from Rust? The short answer is software libraries. A longer answer touches on where C stands among programming languages in general and towards Rust in particular. C, C++, and Rust are systems languages, which give programmers access to machine-level data types and operations. Among these three systems languages, C remains the dominant one. The kernels of modern operating systems are written mainly in C, with assembly language accounting for the rest. The standard system libraries for input and output, number crunching, cryptography, security, networking, internationalization, string processing, memory management, and more, are likewise written mostly in C. These libraries represent a vast infrastructure for applications written in any other language. Rust is well along the way to providing fine libraries of its own, but C libraries—​around since the 1970s and still growing—​are a resource not to be ignored. Finally, C is still the [lingua franca][1] among programming languages: most languages can talk to C and, through C, to any other language that does so. - -### Two proof-of-concept examples - -Rust has an FFI (Foreign Function Interface) that supports calls to C functions. An issue for any FFI is whether the calling language covers the data types in the called language. For example, `ctypes` is an FFI for calls from Python into C, but Python doesn't cover the unsigned integer types available in C. As a result, `ctypes` must resort to workarounds. - -By contrast, Rust covers all the primitive (that is, machine-level) types in C. For example, the Rust `i32` type matches the C `int` type. C specifies only that the `char` type must be one byte in size and other types, such as `int`, must be at least this size; but nowadays every reasonable C compiler supports a four-byte `int`, an eight-byte `double` (in Rust, the `f64` type), and so on. - -There is another challenge for an FFI directed at C: Can the FFI handle C's raw pointers, including pointers to arrays that count as strings in C? C does not have a string type, but rather implements strings as character arrays with a non-printing terminating character, the _null terminator_ of legend. By contrast, Rust has two string types: `String` and `&str` (string slice). The question, then, is whether the Rust FFI can transform a C string into a Rust one—​and the answer is _yes_. - -Pointers to structures also are common in C. The reason is efficiency. By default, a C structure is passed _by_value (that is, by a byte-per-byte copy) when a structure is either an argument passed to a function or a value returned from one. C structures, like their Rust counterparts, can include arrays and nest other structures and so be arbitrarily large in size. Best practice in either language is to pass and return structures by reference, that is, by passing or returning the structure's address rather than a copy of the structure. Once again, the Rust FFI is up to the task of handling C pointers to structures, which are common in C libraries. - -The first code example focuses on calls to relatively simple C library functions such as `abs` (absolute value) and `sqrt` (square root). These functions take non-pointer scalar arguments and return a non-pointer scalar value. The second code example, which covers strings and pointers to structures, introduces the [bindgen][2] utility, which generates Rust code from C interface (header) files such as `math.h` and `time.h`. C header files specify the calling syntax for C functions and define structures used in such calls. The two code examples are [available on my homepage][3]. - -### Calling relatively simple C functions - -The first code example has four Rust calls to C functions in the standard mathematics library: one call apiece to `abs` (absolute value) and `pow` (exponentiation), and two calls to `sqrt` (square root). The program can be built directly with the `rustc` compiler, or more conveniently with the `cargo build` command: - -``` -use std::os::raw::c_int; // 32 bits -use std::os::raw::c_double; // 64 bits - -// Import three functions from the standard library libc. -// Here are the Rust declarations for the C functions: -extern "C" { - fn abs(num: c_int) -> c_int; - fn sqrt(num: c_double) -> c_double; - fn pow(num: c_double, power: c_double) -> c_double; -} - -fn main() { - let x: i32 = -123; - println!("\nAbsolute value of {x}: {}.", unsafe { abs(x) }); - - let n: f64 = 9.0; - let p: f64 = 3.0; - println!("\n{n} raised to {p}: {}.", unsafe { pow(n, p) }); - - let mut y: f64 = 64.0; - println!("\nSquare root of {y}: {}.", unsafe { sqrt(y) }); - - y = -3.14; - println!("\nSquare root of {y}: {}.", unsafe { sqrt(y) }); //** NaN = NotaNumber -} -``` - -The two `use` declarations at the top are for the Rust data types `c_int` and `c_double`, which match the C types `int` and `double`, respectively. The standard Rust module `std::os::raw` defines fourteen such types for C compatibility. The module `std::ffi` has the same fourteen type definitions together with support for strings. - -The `extern "C"` block above the `main` function then declares the three C library functions called in the `main` function below. Each call uses the standard C function's name, but each call must occur within an `unsafe` block. As every programmer new to Rust discovers, the Rust compiler enforces memory safety with a vengeance. Other languages (in particular, C and C++) do not make the same guarantees. The `unsafe` block thus says: Rust takes no responsibility for whatever unsafe operations may occur in the external call. - -The first program's output is: - -``` -Absolute value of -123: 123. -9 raised to 3: 729 -Square root of 64: 8. -Square root of -3.14: NaN. -``` - -In the last output line, the `NaN` stands for Not a Number: the C `sqrt` library function expects a non-negative value as its argument, which means that the argument -3.14 generates `NaN` as the returned value. - -### Calling C functions involving pointers - -C library functions in security, networking, string processing, memory management, and other areas regularly use pointers for efficiency. For example, the library function `asctime` (time as an ASCII string) expects a pointer to a structure as its single argument. A Rust call to a C function such as `asctime` is thus trickier than a call to `sqrt`, which involves neither pointers nor structures. - -The C structure for the `asctime` function call is of type `struct tm`. A pointer to such a structure also is passed to library function `mktime` (make a time value). The structure breaks a time into units such as the year, the month, the hour, and so forth. The structure's fields are of type `time_t`, an alias for for either `int` (32 bits) or `long` (64 bits). The two library functions combine these broken-apart time pieces into a single value: `asctime` returns a string representation of the time, whereas `mktime` returns a `time_t` value that represents the number of elapsed seconds since the _epoch_, which is a time relative to which a system's clock and timestamp are determined. Typical epoch settings are January 1 00:00:00 (zero hours, minutes, and seconds) of either 1900 or 1970. - -The C program below calls `asctime` and `mktime`, and uses another library function `strftime` to convert the `mktime` returned value into a formatted string. This program acts as a warm-up for the Rust version: - -``` -#include -#include - -int main () { - struct tm sometime; /* time broken out in detail */ - char buffer[80]; - int utc; - - sometime.tm_sec = 1; - sometime.tm_min = 1; - sometime.tm_hour = 1; - sometime.tm_mday = 1; - sometime.tm_mon = 1; - sometime.tm_year = 1; - sometime.tm_hour = 1; - sometime.tm_wday = 1; - sometime.tm_yday = 1; - - printf("Date and time: %s\n", asctime(&sometime)); - - utc = mktime(&sometime); - if( utc < 0 ) { - fprintf(stderr, "Error: unable to make time using mktime\n"); - } else { - printf("The integer value returned: %d\n", utc); - strftime(buffer, sizeof(buffer), "%c", &sometime); - printf("A more readable version: %s\n", buffer); - } - - return 0; -} -``` - -The program outputs: - -``` -Date and time: Fri Feb  1 01:01:01 1901 -The integer value returned: 2120218157 -A more readable version: Fri Feb  1 01:01:01 1901 -``` - -In summary, the Rust calls to library functions `asctime` and `mktime` must deal with two issues: - -- Passing a raw pointer as the single argument to each library function. -- Converting the C string returned from `asctime` into a Rust string. - -### Rust calls to `asctime` and `mktime` - -The `bindgen` utility generates Rust support code from C header files such as `math.h` and `time.h`. In this example, a simplified version of `time.h` will do but with two changes from the original: - -- The built-in type `int` is used instead of the alias type `time_t`. The bindgen utility can handle the `time_t` type but generates some distracting warnings along the way because `time_t` does not follow Rust naming conventions: in `time_t` an underscore separates the `t` at the end from the `time` that comes first; Rust would prefer a CamelCase name such as `TimeT`. -- The type `struct tm` type is given `StructTM` as an alias for the same reason. - -Here is the simplified header file with declarations for `mktime` and `asctime` at the bottom: - -``` -typedef struct tm { - int tm_sec; /* seconds */ - int tm_min; /* minutes */ - int tm_hour; /* hours */ - int tm_mday; /* day of the month */ - int tm_mon; /* month */ - int tm_year; /* year */ - int tm_wday; /* day of the week */ - int tm_yday; /* day in the year */ - int tm_isdst; /* daylight saving time */ -} StructTM; - -extern int mktime(StructTM*); -extern char* asctime(StructTM*); -``` - -With `bindgen` installed, `%` as the command-line prompt, and `mytime.h` as the header file above, the following command generates the required Rust code and saves it in the file `mytime.rs`: - -``` -% bindgen mytime.h > mytime.rs -``` - -Here is the relevant part of `mytime.rs`: - -``` -/* automatically generated by rust-bindgen 0.61.0 */ - -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct tm { - pub tm_sec: ::std::os::raw::c_int, - pub tm_min: ::std::os::raw::c_int, - pub tm_hour: ::std::os::raw::c_int, - pub tm_mday: ::std::os::raw::c_int, - pub tm_mon: ::std::os::raw::c_int, - pub tm_year: ::std::os::raw::c_int, - pub tm_wday: ::std::os::raw::c_int, - pub tm_yday: ::std::os::raw::c_int, - pub tm_isdst: ::std::os::raw::c_int, -} - -pub type StructTM = tm; - -extern "C" { - pub fn mktime(arg1: *mut StructTM) -> ::std::os::raw::c_int; -} - -extern "C" { - pub fn asctime(arg1: *mut StructTM) -> *mut ::std::os::raw::c_char; -} - -#[test] -fn bindgen_test_layout_tm() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 36usize, - concat!("Size of: ", stringify!(tm)) - ); - ... -``` - -The Rust structure `struct tm`, like the C original, contains nine 4-byte integer fields. The field names are the same in C and Rust. The `extern "C"` blocks declare the library functions `asctime` and `mktime` as taking one argument apiece, a raw pointer to a mutable `StructTM` instance. (The library functions may mutate the structure via the pointer passed as an argument.) - -The remaining code, under the `#[test]` attribute, tests the layout of the Rust version of the time structure. The test can be run with the `cargo test` command. At issue is that C does not specify how the compiler must lay out the fields of a structure. For example, the C `struct tm` starts out with the field `tm_sec` for the second; but C does not require that the compiled version has this field as the first. In any case, the Rust tests should succeed and the Rust calls to the library functions should work as expected. - -### Getting the second example up and running - -The code generated from `bindgen` does not include a `main` function and, therefore, is a natural module. Below is the `main` function with the `StructTM` initialization and the calls to `asctime` and `mktime`: - -``` -mod mytime; -use mytime::*; -use std::ffi::CStr; - -fn main() { - let mut sometime = StructTM { - tm_year: 1, - tm_mon: 1, - tm_mday: 1, - tm_hour: 1, - tm_min: 1, - tm_sec: 1, - tm_isdst: -1, - tm_wday: 1, - tm_yday: 1 - }; - - unsafe { - let c_ptr = &mut sometime; // raw pointer - - // make the call, convert and then own - // the returned C string - let char_ptr = asctime(c_ptr); - let c_str = CStr::from_ptr(char_ptr); - println!("{:#?}", c_str.to_str()); - - let utc = mktime(c_ptr); - println!("{}", utc); - } -} -``` - -The Rust code can be compiled (using either `rustc` directly or `cargo`) and then run. The output is: - -``` -Ok( -    "Mon Feb  1 01:01:01 1901\n", -) -2120218157 -``` - -The calls to the C functions `asctime` and `mktime` again must occur inside an `unsafe` block, as the Rust compiler cannot be held responsible for any memory-safety mischief in these external functions. For the record, `asctime` and `mktime` are well behaved. In the calls to both functions, the argument is the raw pointer `ptr`, which holds the (stack) address of the `sometime` structure. - -The call to `asctime` is the trickier of the two calls because this function returns a pointer to a C `char`, the character `M` in `Mon` of the text output. Yet the Rust compiler does not know where the C string (the null-terminated array of `char`) is stored. In the static area of memory? On the heap? The array used by the `asctime` function to store the text representation of the time is, in fact, in the static area of memory. In any case, the C-to-Rust string conversion is done in two steps to avoid compile-time errors: - -- The call `Cstr::from_ptr(char_ptr)` converts the C string to a Rust string and returns a reference stored in the `c_str` variable. -- The call to `c_str.to_str()` ensures that `c_str` is the owner. - -The Rust code does not generate a human-readable version of the integer value returned from `mktime`, which is left as an exercise for the interested. The Rust module `chrono::format` includes a `strftime` function, which can be used like the C function of the same name to get a text representation of the time. - -### Calling C with FFI and bindgen - -The Rust FFI and the `bindgen` utility are well designed for making Rust calls out to C libraries, whether standard or third-party. Rust talks readily to C and thereby to any other language that talks to C. For calling relatively simple library functions such as `sqrt`, the Rust FFI is straightforward because Rust's primitive data types cover their C counterparts. - -For more complicated interchanges—​in particular, Rust calls to C library functions such as `asctime` and `mktime` that involve structures and pointers—​the `bindgen` utility is the way to go. This utility generates the support code together with appropriate tests. Of course, the Rust compiler cannot assume that C code measures up to Rust standards when it comes to memory safety; hence, calls from Rust to C must occur in `unsafe` blocks. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/rust-calls-c-library-functions - -作者:[Marty Kalin][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/mkalindepauledu -[b]: https://github.com/lkxed -[1]: https://en.wikipedia.org/wiki/Lingua_franca -[2]: https://github.com/rust-lang/rust-bindgen -[3]: https://condor.depaul.edu/mkalin - diff --git a/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md new file mode 100644 index 0000000000..c318bfa2dd --- /dev/null +++ b/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md @@ -0,0 +1,287 @@ +[#]: subject: "Introducing Rust calls to C library functions" +[#]: via: "https://opensource.com/article/22/11/rust-calls-c-library-functions" +[#]: author: "Marty Kalin https://opensource.com/users/mkalindepauledu" +[#]: collector: "lkxed" +[#]: translator: "yzuowei" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +介绍从 Rust 调用 C 库函数 +====== + +为什么要从 Rust 调用 C 函数?简短的回答就是软件库。冗长的答案则触及到 C 在众多编程语言中的地位,特别是相对 Rust 而言。C,C++,还有 Rust 都是系统语言,这意味着程序员会访问机器层面的数据类型与操作。在这三个系统语言中,C 依然占据主导地位。现代操作系统的内核大致用 C 来写,其余部分依靠汇编语言来补充。在标准系统函数库中,输入与输出、数字处理、加密计算、安全、网络、国际化、字符串处理、内存管理,还用更多,都大体用 C 来写。这些函数库所代表的是一个庞大的基础架构,支撑着用其他语言写出来的应用。Rust 发展至今也有着可观的函数库,但是 C 的函数库——自1970年代就已存在,迄今还在蓬勃发展——是一个无法被忽视的资源。最后一点是, C 依然还是编程语言中的 [lingua franca][1]:大部分语言都与 C 交流,透过 C,语言互相交流。 + +### 两个概念证明的例子 + +Rust 支持 FFI (外部函数接口)用以调用 C 函数。任何 FFI 所需要面临的问题是调用方语言是否包括了被调用语言的数据类型。例如,`ctypes` 是 Python 调用 C 的 FFI,但是 Python 并没有包括 C 所支持的无符号整数类型。结果就是,`ctypes` 必须寻求解决方案。 + +与之相对的是,Rust 包含了所有 C 中的原始(即,机器层面)类型。比如说,Rust 中的 `i32` 类对应 C 中的 `int` 类。C 特别声明了 `char` 类必须是一个字节大小,而其他类型,比如 `int`,必须至少是这个大小(LCTT 译注:原文处有评论指出 `int` 大小依照 C 标准应至少为2字节);然而如今所有合理的 C 编译器都支持四字节的 `int`,以及八字节的 `double`(Rust 中则是 `f64` 类),以此类推。 + +面向 C 的 FFI 所面临的另一个挑战是:FFI 是否能够处理 C 的裸指针,包括指向被看作是字符串的数组指针。C 没有字符串类型,它通过结合字符组和一个不会被打印的终止符来实现字符串,大名鼎鼎的_空终止符_。与之相对,Rust 有两个字符串类型:`String` 和 `&str` (字符串切片)。问题是,Rust FFI 是否能将 C 字符串转化成 Rust 字符串——答案是_肯定的_。 + +出于对效率的追求,结构体指针在 C 中也很常见。一个 C 结构体在作为一个函数的参数或者返回值的时候,其默认行为是传递值(即,一个字节一个字节的复制)。C 结构体,如同它在 Rust 中的对应部分一样,可以包含数组和嵌套其他结构体,所以其大小是不定的。结构体在两种语言中的最佳用法是传递或返回引用,也就是说,传递或返回结构体的地址而不是结构体本身的复制。Rust 再一次成功处理了 C 的结构体指针,其在 C 函数库中十分普遍。 + +第一段代码案例专注于调用相对简单的 C 库函数,比如 `abs`(绝对值)和 `sqrt`(平方根)。这些函数使用非指针标量参数并返回一个非指针标量值。第二段代码案例则涉及了字符串和结构体指针,在这里会介绍工具 [bindgen][2],其通过 C 接口(头)文件生成 Rust 代码,比如 `math.h` 以及 `time.h`。C 头文件声明了 C 函数的调用语法并定义了会被调用的结构体。两段代码都能在[我的主页上][3]找到。 + +### 调用相对简单的 C 函数 + +第一段代码案例有四处 Rust 对标准数学库内的 C 函数的调用:两处分别调用了 `abs`(绝对值)和 `pow`(幂),两处重复调用了 `sqrt`(平方根)。这个程序可以直接用 `rustc` 编译器进行构建,或者使用更方便的命令 `cargo build`: + +``` +use std::os::raw::c_int; // 32位 +use std::os::raw::c_double; // 64位 + +// 从标准库 libc 中引入三个函数。 +// 此处是 Rust 对三个 C 函数的声明: +extern "C" { + fn abs(num: c_int) -> c_int; + fn sqrt(num: c_double) -> c_double; + fn pow(num: c_double, power: c_double) -> c_double; +} + +fn main() { + let x: i32 = -123; + println!("\n{x}的绝对值是: {}.", unsafe { abs(x) }); + + let n: f64 = 9.0; + let p: f64 = 3.0; + println!("\n{n}的{p}次方是: {}.", unsafe { pow(n, p) }); + + let mut y: f64 = 64.0; + println!("\n{y}的平方根是: {}.", unsafe { sqrt(y) }); + + y = -3.14; + println!("\n{y}的平方根是: {}.", unsafe { sqrt(y) }); //** NaN = NotaNumber(不是数字) +} +``` + +顶部的两个 `use` 声明是 Rust 的数据类型 `c_int` 和 `c_double`,对应 C 类型里的 `int` 和 `double`。Rust 标准模块 `std::os::raw` 定义了十四个类似的类型以确保跟 C 的兼容性。模块 `std::ffi` 中有十四个同样的类型定义以及对字符串的支持。 + +位于 `main` 函数上的 `extern "C"` 区域声明了三个 C 库函数,这些函数会在 `main` 函数内被调用。每次调用都使用了标准的 C 函数名,但每次调用都必须发生在一个 `unsafe` 区域内。正如每个新接触 Rust 的程序员所发现的那样,Rust 编译器极度强制内存安全。其他语言(特别是 C 和 C++)作不出相同的保证。`unsafe` 区域其实是说:Rust 对外部调用中可能存在的不安全行为不负责。 + +第一个程序输出为: + +``` +-123的绝对值是: 123. +9的3次方是: 729. +64的平方根是: 8. +-3.14的平方根是: NaN. +``` + +输出的最后一行的 `NaN` 表示不是数字 (Not a Number):C 库函数 `sqrt` 期待一个非负值作为参数,这使得参数-3.14生成了 `NaN` 作为返回值。 + +### 调用涉及指针的 C 函数 + +C 库函数为了提高效率经常在安全、网络、字符串处理、内存管理,以及其他领域中使用指针。例如,库函数 `asctime`(时间作为 ASCII 字符串)期待一个结构体指针作为其参数。Rust 调用类似 `asctime` 的 C 函数就会比调用 `sqrt` 要更加棘手一些,后者既没有牵扯到指针,也不涉及到结构体。 + +函数 `asctime` 调用的 C 结构体类型为 `struct tm`。一个指向此结构体的指针会作为参数被传递给库函数 `mktime`(时间作为值)。此结构体会将时间拆分成诸如年、月、小时之类的单位。此结构体的字段 (fields) 类型为 `time_t`,是 `int`(32位)和 `long`(64位)的异名。两个库函数将这些破碎的时间碎片组合成了一个单一值:`asctime` 返回一个字符串用以表达时间,而 `mktime` 返回一个 `time_t` 值表示自 [_epoch_][4],即系统时钟和时间戳被决定的那一刻,以来所经历的秒数。典型的 epoch 设置为1900年或1970年,1月1日,0时0分0秒。 + +以下的 C 程序调用了 `asctime` 和 `mktime`,并使用了其他库函数 `strftime` 来将 `mktime` 的返回值转化成一个格式化的字符串。这个程序可被视作 Rust 对应版本的预热: + +``` +#include +#include + +int main () { + struct tm sometime; /* 时间被打破细分 */ + char buffer[80]; + int utc; + + sometime.tm_sec = 1; + sometime.tm_min = 1; + sometime.tm_hour = 1; + sometime.tm_mday = 1; + sometime.tm_mon = 1; + sometime.tm_year = 1; + sometime.tm_hour = 1; /*LCTT 译注:这里作者多敲了一行*/ + sometime.tm_wday = 1; + sometime.tm_yday = 1; + + printf("日期与时间: %s\n", asctime(&sometime)); + + utc = mktime(&sometime); + if( utc < 0 ) { + fprintf(stderr, "错误: mktime 无法生成时间\n"); + } else { + printf("返回的整数值: %d\n", utc); + strftime(buffer, sizeof(buffer), "%c", &sometime); + printf("更加可读的版本: %s\n", buffer); + } + + return 0; +} +``` + +程序输出为: + +``` +日期与时间: Fri Feb  1 01:01:01 1901 +返回的整数值: 2120218157 +更加可读的版本: Fri Feb  1 01:01:01 1901 +``` + +(LCTT 译注:如果你尝试在自己电脑上运行这段代码,然后得到了一行关于 `mktime` 的错误信息,然后又在网上随便找了个在线 C 编译器,复制代码然后得到了跟这里的结果有区别但是没有错误的结果,不要慌,我的电脑上也是这样的。导致本地机器上 `mktime` 失败的原因是作者没有设置 `tm_isdst`,这个是用来标记夏令时的 flag。[`tm_isdst` 大于零则夏令时生效中,等于零则不生效,小于零标记未知][5]。加入 `sometime.tm_isdst = 0` 或 `= -1` 后应该就能得到跟在线编译器大致一样的结果。不同的地方在于结果第一行我得到的是 `Mon Feb ...`,这个与作者代码中 `sometime.tm_wday = 1` 对应,这里因该是作者写错了;第二行我和作者和网上得到的数字都不一样,这大概是合理的,因为这与机器的 epoch 有关;第三行我跟作者的结果是一样的,1901年2月1日也确实是周五,这是因为 [`mktime` 其实会修正时间参数中不合理的地方][6]。至于夏令时具体是如何影响 `mktime` 这个问题,我能查到的只有 `mktime` 的计算受时区影响,更底层的原因我也不知道了。) + +总的来说,Rust 在调用库函数 `asctime` 和 `mktime` 时,必须处理以下两个问题: + +- 将裸指针作为唯一参数传递给每个库函数。 +- 把从 `asctime` 返回的 C 字符串转化为 Rust 字符串。 + +### Rust 调用 `asctime` 和 `mktime` + +工具 `bindgen` 会根据类似 `math.h` 和 `time.h` 之类的 C 头文件生成 Rust 支持的代码。下面这个简化版的 `time.h` 就可以用来做例子,简化版与原版主要有两个不同: + +- 内置类型 `int` 被用来取代异名类型 `time_t`。工具 bindgen 可以处理 `time_t` 类但是会生成一些烦人的警告,因为 `time_t` 不符合 Rust 的命名规范:`time_t` 以下划线区分 `time` 和 `t`;Rust 更偏好驼峰式命名方法,比如 `TimeT`。 +- 出于同样的原因,这里选择 `StructTM` 作为 `struct tm` 的异名。 + +以下是一份简化版的头文件,`mktime` 和 `asctime` 在文件底部: + +``` +typedef struct tm { + int tm_sec; /* 秒 */ + int tm_min; /* 分钟 */ + int tm_hour; /* 小时 */ + int tm_mday; /* 日 */ + int tm_mon; /* 月 */ + int tm_year; /* 年 */ + int tm_wday; /* 星期 */ + int tm_yday; /* 一年中的第几天 */ + int tm_isdst; /* 夏令时 */ +} StructTM; + +extern int mktime(StructTM*); +extern char* asctime(StructTM*); +``` + +`bindgen` 安装好后,`%` 作为命令行提示,`mytime.h` 作为以上提到的头文件,以下命令可以生成所需的 Rust 代码并将其保存到文件 `mytime.rs`: + +``` +% bindgen mytime.h > mytime.rs +``` + +以下是 `mytime.rs` 中的重要部分: + +``` +/* automatically generated by rust-bindgen 0.61.0 */ + +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tm { + pub tm_sec: ::std::os::raw::c_int, + pub tm_min: ::std::os::raw::c_int, + pub tm_hour: ::std::os::raw::c_int, + pub tm_mday: ::std::os::raw::c_int, + pub tm_mon: ::std::os::raw::c_int, + pub tm_year: ::std::os::raw::c_int, + pub tm_wday: ::std::os::raw::c_int, + pub tm_yday: ::std::os::raw::c_int, + pub tm_isdst: ::std::os::raw::c_int, +} + +pub type StructTM = tm; + +extern "C" { + pub fn mktime(arg1: *mut StructTM) -> ::std::os::raw::c_int; +} + +extern "C" { + pub fn asctime(arg1: *mut StructTM) -> *mut ::std::os::raw::c_char; +} + +#[test] +fn bindgen_test_layout_tm() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tm)) + ); + ... +``` + +Rust 结构体 `struct tm`,跟原本在 C 中的一样,包含了九个4字节的整型字段。这些字段名称在 C 和 Rust 中是一样的。`extern "C"` 区域声明了库函数 `astime` 和 `mktime` 分别需要只一个参数,一个指向可变实例 `extern "C"` 的裸指针。(库函数可能会通过指针改变作为参数传递的结构体。) + +`#[test]` 属性下的其余代码是用来测试 Rust 版的时间结构体的布局。通过命令 `cargo test` 可以进行这些测试。一个 C 不会声明的问题是编译器应该如何对结构体中的字段进行布局。比如说,C 的 `struct tm` 以字段 `tm_sec` 开头用以表示秒;但是 C 不需要编译版本遵循这个排序。不管怎样,Rust 测试应该会成功而 Rust 对库函数的调用也应如预期般工作。 + +### 设置好第二个案例并开始运行 + +从 `bindgen` 生成的代码不包含 `main` 函数,所以是一个天然的模块。以下是一个 `main` 函数初始化了 `StructTM` 并调用了 `asctime` 和 `mktime`: + +``` +mod mytime; +use mytime::*; +use std::ffi::CStr; + +fn main() { + let mut sometime = StructTM { + tm_year: 1, + tm_mon: 1, + tm_mday: 1, + tm_hour: 1, + tm_min: 1, + tm_sec: 1, + tm_isdst: -1, + tm_wday: 1, + tm_yday: 1 + }; + + unsafe { + let c_ptr = &mut sometime; // 裸指针 + + // 调用,转化,并拥有 + // 返回的 C 字符串 + let char_ptr = asctime(c_ptr); + let c_str = CStr::from_ptr(char_ptr); + println!("{:#?}", c_str.to_str()); + + let utc = mktime(c_ptr); + println!("{}", utc); + } +} +``` + +这段 Rust 代码可以被编译(直接用 `rustc` 或使用 `cargo`)并运行。输出为: + +``` +Ok( +    "Mon Feb  1 01:01:01 1901\n", +) +2120218157 +``` + +对 C 函数 `asctime` 和 `mktime` 的调用必须再一次被放在 `unsafe` 区域内,因为 Rust 编译器无法对这些外部函数的潜在内存安全风险负责。此处声明一下,`asctime` 和 `mktime` 并没有安全风险。调用的两个函数的参数是裸指针 `ptr`,其指向结构体 `sometime` (在栈 (stack) 中)的地址。 + +`asctime` 是两个函数中调用起来更棘手的那个,因为这个函数返回的是一个指向 C `char` 的指针,如果函数返回 `Mon` 那么指针就指向 `M`。但是 Rust 编译器并不知道 C 字符串 (`char` 的空终止数组)的储存位置。是内存里的静态空间?还是堆 (heap)?`asctime` 函数内用来储存时间的文字表达的数组实际上是在内存的静态空间里。无论如何,C 到 Rust 字符串转化需要两个步骤来避免编译错误: + +- 调用 `Cstr::from_ptr(char_ptr)` 来将 C 字符串转化为 Rust 字符串并返回一个引用储存在变量 `c_str` 中。 +- 对 `c_str.to_str()` 的调用确保了 `c_str` 是所有者。 + +Rust 代码不会增加从 `mktime` 返回的整型值的易读性,这一部分留作课外作业给感兴趣的人去探究。Rust 模板 `chrono::format` 也有一个 `strftime` 函数,它可以被当作 C 的同名函数来使用,两者都是获取时间的文字表达。 + +### 使用 FFI 和 bindgen 调用 C + +Rust FFI 和工具 `bindgen` 都能够出色地协助 Rust 调用 C 库,无论是标准库还是第三方库。Rust 轻松地与 C 交流,并透过 C 与其他语言交流。对于调用像 `sqrt` 一样简单的库函数,Rust FFI 表现直截了当,这是因为 Rust 的原始数据类型覆盖了它们在 C 中的对应部分。 + +对于更为复杂的交流——特别是 Rust 调用像 `asctime` 和 `mktime` 一样,会涉及到结构体和指针的 C 库函数——工具 `bindgen` 是优秀的帮手。这个工具会生成支持代码以及所需要的测试。当然,Rust 编译器无法假设 C 代码对内存安全的考虑会符合 Rust 的标准;因此,Rust 必须在 `unsafe` 区域内调用 C。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/rust-calls-c-library-functions + +作者:[Marty Kalin][a] +选题:[lkxed][b] +译者:[yzuowei](https://github.com/yzuowei) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/mkalindepauledu +[b]: https://github.com/lkxed +[1]: https://baike.baidu.com/item/lingua%20franka/5359711 +[2]: https://github.com/rust-lang/rust-bindgen +[3]: https://condor.depaul.edu/mkalin +[4]: https://baike.baidu.com/item/UNIX时间/8932323 +[5]: https://cplusplus.com/reference/ctime/tm/ +[6]: https://cplusplus.com/reference/ctime/mktime/ From 4d68f76999a3729fbd9c3303f2e4df66a6a09a00 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Mon, 12 Dec 2022 16:28:49 +0800 Subject: [PATCH 710/925] first translation --- ...ng Linus-s Law for open source security.md | 90 ------------------ ...ng Linus-s Law for open source security.md | 91 +++++++++++++++++++ 2 files changed, 91 insertions(+), 90 deletions(-) delete mode 100644 sources/talk/20210209 Understanding Linus-s Law for open source security.md create mode 100644 translated/talk/20210209 Understanding Linus-s Law for open source security.md diff --git a/sources/talk/20210209 Understanding Linus-s Law for open source security.md b/sources/talk/20210209 Understanding Linus-s Law for open source security.md deleted file mode 100644 index 258d401019..0000000000 --- a/sources/talk/20210209 Understanding Linus-s Law for open source security.md +++ /dev/null @@ -1,90 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (CanYellow) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Understanding Linus's Law for open source security) -[#]: via: (https://opensource.com/article/21/2/open-source-security) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) - -Understanding Linus's Law for open source security -====== -Linus's Law is that given enough eyeballs, all bugs are shallow. How -does this apply to open source software security? -![Hand putting a Linux file folder into a drawer][1] - -In 2021, there are more reasons why people love Linux than ever before. In this series, I'll share 21 different reasons to use Linux. This article discusses Linux's influence on the security of open source software. - -An often-praised virtue of open source software is that its code can be reviewed (or "audited," as security professionals like to say) by anyone and everyone. However, if you actually ask many open source users when the last time they reviewed code was, you might get answers ranging from a blank stare to an embarrassed murmur. And besides, there are some really big open source applications out there, so it can be difficult to review every single line of code effectively. - -Extrapolating from these slightly uncomfortable truths, you have to wonder: When nobody looks at the code, does it really matter whether it's open or not? - -### Should you trust open source? - -We tend to make a trite assumption in hobbyist computing that open source is "more secure" than anything else. We don't often talk about what that means, what the basis of comparison is ("more" secure than what?), or how the conclusion has even been reached. It's a dangerous statement to make because it implies that as long as you call something _open source_, it automatically and magically inherits enhanced security. That's not what open source is about, and in fact, it's what open source security is very much against. - -You should never assume an application is secure unless you have personally audited and understood its code. Once you have done this, you can assign _ultimate trust_ to that application. Ultimate trust isn't a thing you do on a computer; it's something you do in your own mind: You trust software because you choose to believe that it is secure, at least until someone finds a way to exploit that software. - -You're the only person who can place ultimate trust in that code, so every user who wants that luxury must audit the code for themselves. Taking someone else's word for it doesn't count! - -So until you have audited and understood a codebase for yourself, the maximum trust level you can give to an application is a spectrum ranging from approximately, _not trustworthy at all_ to _pretty trustworthy_. There's no cheat sheet for this. It's a personal choice you must make for yourself. If you've heard from people you strongly trust that an application is secure, then you might trust that software more than you trust something for which you've gotten no trusted recommendations. - -Because you cannot audit proprietary (non-open source) code, you can never assign it _ultimate trust_. - -### Linus's Law - -The reality is, not everyone is a programmer, and not everyone who is a programmer has the time to dedicate to reviewing hundreds and hundreds of lines of code. So if you're not going to audit code yourself, then you must choose to trust (to some degree) the people who _do_ audit code. - -So exactly who does audit code, anyway? - -Linus's Law asserts that _given enough eyeballs, all bugs are shallow_, but we don't really know how many eyeballs are "enough." However, don't underestimate the number. Software is very often reviewed by more people than you might imagine. The original developer or developers obviously know the code that they've written. However, open source is often a group effort, so the longer code is open, the more software developers end up seeing it. A developer must review major portions of a project's code because they must learn a codebase to write new features for it. - -Open source packagers also get involved with many projects in order to make them available to a Linux distribution. Sometimes an application can be packaged with almost no familiarity with the code, but often a packager gets familiar with a project's code, both because they don't want to sign off on software they don't trust and because they may have to make modifications to get it to compile correctly. Bug reporters and triagers also sometimes get familiar with a codebase as they try to solve anomalies ranging from quirks to major crashes. Of course, some bug reporters inadvertently reveal code vulnerabilities not by reviewing it themselves but by bringing attention to something that obviously doesn't work as intended. Sysadmins frequently get intimately familiar with the code of an important software their users rely upon. Finally, there are security researchers who dig into code exclusively to uncover potential exploits. - -### Trust and transparency - -Some people assume that because major software is composed of hundreds of thousands of lines of code, it's basically impossible to audit. Don't be fooled by how much code it takes to make an application run. You don't actually have to read millions of lines. Code is highly structured, and exploitable flaws are rarely just a single line hidden among the millions of lines; there are usually whole functions involved. - -There are exceptions, of course. Sometimes a serious vulnerability is enabled with just one system call or by linking to one flawed library. Luckily, those kinds of errors are relatively easy to notice, thanks to the active role of security researchers and vulnerability databases. - -Some people point to bug trackers, such as the [Common Vulnerabilities and Exposures (CVE)][2] website, and deduce that it's actually as plain as day that open source isn't secure. After all, hundreds of security risks are filed against lots of open source projects, out in the open for everyone to see. Don't let that fool you, though. Just because you don't get to see the flaws in closed software doesn't mean those flaws don't exist. In fact, we know that they do because exploits are filed against them, too. The difference is that _all_ exploits against open source applications are available for developers (and users) to see so those flaws can be mitigated. That's part of the system that boosts trust in open source, and it's wholly missing from proprietary software. - -There may never be "enough" eyeballs on any code, but the stronger and more diverse the community around the code, the better chance there is to uncover and fix weaknesses. - -### Trust and people - -In open source, the probability that many developers, each working on the same project, have noticed something _not secure_ but have all remained equally silent about that flaw is considered to be low because humans rarely mutually agree to conspire in this way. We've seen how disjointed human behavior can be recently with COVID-19 mitigation: - - * We've all identified a flaw (a virus). - * We know how to prevent it from spreading (stay home). - * Yet the virus continues to spread because one or more people deviate from the mitigation plan. - - - -The same is true for bugs in software. If there's a flaw, someone noticing it will bring it to light (provided, of course, that someone sees it). - -However, with proprietary software, there can be a high probability that many developers working on a project may notice something not secure but remain equally silent because the proprietary model relies on paychecks. If a developer speaks out against a flaw, then that developer may at best hurt the software's reputation, thereby decreasing sales, or at worst, may be fired from their job. Developers being paid to work on software in secret do not tend to talk about its flaws. If you've ever worked as a developer, you've probably signed an NDA, and you've been lectured on the importance of trade secrets, and so on. Proprietary software encourages, and more often enforces, silence even in the face of serious flaws. - -### Trust and software - -Don't trust software you haven't audited. - -If you must trust software you haven't audited, then choose to trust code that's exposed to many developers who independently are likely to speak up about a vulnerability. - -Open source isn't inherently more secure than proprietary software, but the systems in place to fix it are far better planned, implemented, and staffed. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/2/open-source-security - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/yearbook-haff-rx-linux-file-lead_0.png?itok=-i0NNfDC (Hand putting a Linux file folder into a drawer) -[2]: https://cve.mitre.org diff --git a/translated/talk/20210209 Understanding Linus-s Law for open source security.md b/translated/talk/20210209 Understanding Linus-s Law for open source security.md new file mode 100644 index 0000000000..70ce78b0dd --- /dev/null +++ b/translated/talk/20210209 Understanding Linus-s Law for open source security.md @@ -0,0 +1,91 @@ +[#]: collector: (lujun9972) +[#]: translator: (CanYellow) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (Understanding Linus's Law for open source security) +[#]: via: (https://opensource.com/article/21/2/open-source-security) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) + +理解开源安全中的李纳斯定律 +====== +李纳斯定律 (Linus's Law) 即“只要有足够多的眼睛关注,任何漏洞都无处隐藏” (given enough eyeballs, all bugs are shallow)。那么李纳斯定律是如何应用于开源软件安全的呢? + +![Hand putting a Linux file folder into a drawer][1] + +2021 年,有更多的原因使人们比以往更钟情 Linux 。在本系列中,我将分享 21 个使用 Linux 的不同原因。 这篇文章则讨论 Linux 对开源软件安全的影响。 + +开源软件的一个常被赞扬的优点是它的代码能够被任何人检查(安全专家通常称之为“代码审计”)。然而,如果你真的去问很多开源软件用户他们上一次检查代码是什么时候。你大概只能收获他们茫然的眼神或者是喃喃的低语。此外,对于一些相当大型的开源应用,高效地审查每一行代码也是困难的。 + +根据上述这些稍显不安的事实,我们不得不思考:如果没有人察看这些代码,它是开源还是闭源真的有关系吗? + + +### 你应该相信开源吗? + +计算机爱好者倾向于作出认为开源软件比其他软件更加安全的传统假设。我们通常不会讨论这意味者什么:比较的基础是什么(比什么更安全?),或者上述结论是如何得到的。这是一个危险的陈述,因为它表明只要你将一些东西称之为“开源”,它就自动如魔法般地继承了更高的安全性。这不是开源,事实上,这正是开源安全所非常反对的。 + +除非你已经亲自审计并理解了软件代码,否则就不应该假定一个应用程序是安全的。一但你做到了这一点,就可以给予它_最高信任_。_最高信任_不是对计算机而言的,而是对你本人而言的,至少在这一应用程序被渗透攻击之前,你信任它是因为你选择了相信它是安全的。 + +使用者本人是唯一可以对软件代码最高信任的人,因此任何人想要获得这样的享受都必须亲自审查代码。相信其他人的话是不管用的。 + +只有你已经亲自审计并理解了软件代码,你才可以对一个应用程序给予最高信任,最高信任的范围可以是从_根本不信任_到_相当信任_之间。然而我们并没有一个关于信任程度的标准对照表,这是一个你必须亲自做出的个人选择。如果你已经听说了一款应用程序的安全性是可以信任的,相比没有任何建议的情况而言,你可能更加信任它。 + +然而,因为无法审计专有(闭源)软件代码,你不可能给予它_最高信任_。 + +### 李纳斯定律 + +现实很骨感,并不是每个人都是程序员,同时也不是每个程序员都有时间检查数以万计的代码行。因此如果你没有亲自审查代码,你就只能选择相信(一定程度上)_亲自_审查了代码的人。 + +那么,有哪些人会审计代码呢? + +李纳斯定律声称_只要有足够的眼睛关注,任何漏洞都无处隐藏_,然而我们并不知道多少双眼睛是“足够”的。请不要低估这一数量,应用程序往往经过了远超你想象数量的人员审计。原始开发人员以及后续开发人员显然清楚他们自己写下的代码,不过开源软件往往都是团队成果,开源时间越长,阅读了代码的开发人员越多。新加入的开发人员也必须回顾项目代码的核心部分,因为他们必须学习基础代码以加入新的功能。 + +同时,为了使开源软件能够在 Linux 发行版上可用,负责开源软件打包分发的开发人员会加入多个项目。有时一个应用程序可能会在不熟悉项目代码的情况下打包,但是大多数时候,开源软件打包人员都是熟悉所打包的项目代码的。这不仅仅是因为他们不想在他们不信任的软件上签名,还由于他们可能不得不修改代码来使得程序能够正确编译。漏洞报告人员和漏洞修复人员一般也是熟悉基本代码的,因为他们需要尝试解决的问题小到运行异常,大到程序崩溃。当然,一些漏洞报告人员无意中揭示了代码漏洞不是通过亲自审查项目代码而是通过关注明显未按预期工作的现象。系统管理员通常都是通晓用户依赖的重要应用软件的代码的。最后,是安全研究人员,他们专门深入代码内部以揭露潜在的漏洞。 + +### 信任与透明 + +很多人先入为主的认为大型软件的审计是基本不可能的,因为它由数以万计的代码行组成。不要被软件运行所需的代码量欺骗了。我们不需要真的阅读数以万计的代码行。代码是高度结构化的,可被利用的代码漏洞仅仅只是其中的一行,不过它通常影响软件的全部功能。 + +当然,也有例外。有时仅仅一个系统调用或者链接一个有缺陷的库文件就可能引入一系列漏洞。幸运的是,多亏安全研究人员以及漏洞数据库所扮演的积极角色,这些错误相对而言是容易发现的。 + +一些人指向错误追踪系统,比如 [通用漏洞披露 (CVE)][2] 网站,并推断开源软件显而易见是不安全的。毕竟已经向公众公开了大量的安全风险,涉及许多开源项目。但是不要被数据欺骗了。只是因为我们不能发现闭源软件的漏洞,并不意味着闭源软件中不存在漏洞。事实上,已经有很多针对闭源软件的漏洞攻击提出了,闭源软件也是存在漏洞的。区别在于开发者(以及用户)可以查看开源软件的_所有的漏洞_从而降低漏洞的影响。这是扩大对开源软件信任的系统机制的一部分,却正是闭源软件软件所缺少的。 + +对于任何代码而言,可能永远没有“足够的眼睛”来发现漏洞,但是开发社区越壮大、越多样化,越有机会发现和修复代码中的缺陷。 + +### 信任与人 + +在开源社区中,参与同一项目的众多开发者已经发现“不安全”的漏洞却保持沉默的的可能性是微乎其微的,因为人们彼此间不会同意以这样的方式密谋。我们已经看到了在应对 COVID-19 的过程中,人类的行为是如何不一致了,在这里也一样: + + * 我们都识别出了漏洞(病毒)。 + * 我们知晓如何避免它传播(待在家里)。 + * 然而病毒还是在持续传播,因为总是有一个或者多个人偏离了消减疫情的计划。 + +开源软件中的漏洞也一样,如果有人发现了漏洞总会公之于众(当然,我们说的是“假如”能够发现)。 + +然而就专有软件而言,有很大可能参与项目的众多开发者即使注意到不安全的漏洞却仍然保持沉默,因为专有模式依赖于回报。如果一个开发者将漏洞泄漏出来,他可能只是伤害了该专有软件的声誉,进而降低软件的销售额;或者,在更糟糕的情况下,他可能因此而丢了工作。付费秘密开发软件的开发者倾向于不讨论软件的缺陷。如果你曾经是一名开发者,你可能曾经签署过 NDA (译者注:Non-Disclosure Agreement,保密协议),你可能被培训过商业秘密的重要性等等不一而足。专有软件鼓励在面对严重的秘密缺陷时保持沉默,更多时候甚至是强制要求沉默。 + + +### 信任与软件 + +不要信任未经你审计的软件。 + +如果你必须相信未经你审计的软件,那么选择相信已经面向那些更有可能将软件缺陷公之于众的开发者公开代码的软件。 + +开源软件并没有比专有软件继承更高的安全性,但是修复它的系统得到了更好的规划实施和人员配置。 + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/2/open-source-security + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/yearbook-haff-rx-linux-file-lead_0.png?itok=-i0NNfDC (Hand putting a Linux file folder into a drawer) +[2]: https://cve.mitre.org From c40c6db51b7fd50fcbf8f46d60a1144e451987df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 12 Dec 2022 18:52:01 +0800 Subject: [PATCH 711/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221212.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Li?= =?UTF-8?q?nux=20Kernel=206.1=20Released=20With=20Initial=20Rust=20Code.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...inux Kernel 6.1 Released With Initial Rust Code.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md diff --git a/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md b/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md new file mode 100644 index 0000000000..f406377262 --- /dev/null +++ b/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md @@ -0,0 +1,146 @@ +[#]: subject: "Linux Kernel 6.1 Released With Initial Rust Code" +[#]: via: "https://news.itsfoss.com/linux-kernel-6-1-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Kernel 6.1 Released With Initial Rust Code +====== + +Linux Kernel 6.1 is now available! Potentially an LTS version considering it is the last stable release of the year. + +![Linux Kernel 6.1 Released With Initial Rust Code][1] + +Linux Kernel 6.1 is finally here, and it comes bearing early Christmas gifts in the form of improvements and support for new hardware. 🎄 + +It comes a few months after the release of Linux Kernel 6.0, where the naming scheme was changed from 5.x.x to 6.x in favor of a less confusing alternative. + +As usual, the last kernel release of the year **may be considered a long-term release version** that gets support for a couple of years. + +#### Suggested Read 📖 + +Linux Kernel 6.1 promises many improvements and includes initial support for unreleased hardware by AMD and Intel. + +With the announcement, Linus Torvalds mentions: + +> So here we are, a week late, but last week was nice and slow, and I'm much happier about the state of 6.1 than I was a couple of weeks ago when things didn't seem to be slowing down. Of course, that means that now we have the merge window from hell, just before the holidays, with me having some pre-holiday travel coming up too. So while delaying things for a week was the right thing to do, it does make the timing for the 6.2 merge window awkward. + +He further adds that he will be stricter about the merge window rules considering it should be a calm holiday season for everyone. + +### 🆕 Linux Kernel 6.1: What’s New? + +With this release, we see various changes, such as improved support for ARM SoCs, initial support for Intel's upcoming Meteor lake CPUs, and AMD's RDNA 3 GPUs. + +You can find more technical details in its [announcement post][2]. + +#### Experimental Support for Rust + +![linux 6.1 rust code][3] + +While we expected this to happen with Linux Kernel 6.0, it arrives with Linux Kernel 6.1, allowing developers to write kernel code in Rust. + +#### Enablement Of Intel Meteor Lake + +![intel logo][4] + +Intel's open-source developers have been hard at work to provide initial support for the upcoming Meteor Lake chips. + +Dubbed as Intel's first 7 nm microarchitecture, developers have pushed various commits to DRM-next. + +These include a variety of firmware commits with initial support for the Meteor Lake CPUs and their integrated GPUs. + +#### Initial Support For AMD RDNA 3 Graphics + +![amd logo][5] + +AMD has been adding code for the RDNA 3 graphics architecture to Linux Kernel 6.1 for some time now. + +This includes support for their upcoming GPUs and various fixes for their old GPU products. + +You can go through the full list of patches [here][6]. + +#### Optimizations for AMD PCs + +![pc optimizations amd][7] + +AMD PMF has been introduced with this kernel release; it stands for AMD Platform Management Framework. + +This driver is meant to provide a framework for the quieter and more efficient running of AMD PCs. + +It makes use of the onboard sensors in tandem with AMD's various thermal and power kernel drivers to achieve that. + +#### Improved ARM SoC Support + +![arm soc][8] + +Linux Kernel 6.1 brings in support for additional ARM SoCs, such as: + +- MediaTek MT8186 +- Texas Instruments AM62A +- NXP i.MX8DXL +- Various variants of Qualcomm IPQ8064 + +The kernel also features support for a few smartphones such as PINE64 PinePhone Pro, Sony Xperia 1 IV, and Samsung Galaxy E5/E7/Grand Max. + +#### Storage Improvements + +The kernel has a lot of improvements for storage. + +For instance, Btrfs is bringing async buffered writes with this update, resulting in more than 2x throughput improvement. + +Then there are the improvements to EXT4 with performance optimization and a few bug fixes. + +Alongside this, [EROFS][9] has introduced FSCache-based shared domain support to Linux Kernel 6.1. + +#### 🛠️ Other Improvements + +Those are not the only improvements being offered with Linux Kernel 6.1; here are some of the other notable ones: + +- **Support for Microsoft Surface Pro 9 and Surface Laptop 5.** +- **Enablement of AMD Zen 4 LbrExtV2.** +- **AMD CPU Cache-To-Cache & Memory Reporting Capabilities.** +- **Introduction of AMD IOMMU v2.** +- **Preparations for Wi-Fi 802. 11be/Wi-Fi 7.** + +### How to Install Linux Kernel 6.1? + +You can easily upgrade if you use an Arch-based distro or Fedora. + +Unfortunately, if you are using other Linux distributions (Pop!_OS and Linux Lite can be an exception to some extent), you may not receive an upgrade directly from your distro. + +However, almost all Linux distributions explicitly allow you to install the latest kernel. Here's a guide for Ubuntu 👇 + +So, if you are feeling adventurous (and know what you are doing), you can find the newer kernel listed on [Linux Kernel Archives][10]. You can download the [tarball][11] to test it out. + +However, as always, we recommend waiting for your Linux distribution to push an update if you do not want to take any chances. It is best to stick to what’s being offered for your Linux distribution by default. + +[Download Linux 6.1][12] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-kernel-6-1-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-kernel-6-1-release.png +[2]: https://lore.kernel.org/lkml/CAHk-=wj_HcgFZNyZHTLJ7qC2613zphKDtLh6ndciwopZRfH0aQ@mail.gmail.com/T/#u +[3]: https://news.itsfoss.com/content/images/2022/12/linux-6-1-rust.png +[4]: https://news.itsfoss.com/content/images/2022/12/intel-meteor.png +[5]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3.png +[6]: https://lists.freedesktop.org/archives/dri-devel/2022-September/373430.html +[7]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--1-.png +[8]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--2-.png +[9]: https://en.wikipedia.org/wiki/EROFS +[10]: https://www.kernel.org/ +[11]: https://git.kernel.org/torvalds/t/linux-6.1.tar.gz +[12]: https://www.kernel.org From 63a13122d5b96d585b32fe650a8e88029e35a46f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 12 Dec 2022 18:52:49 +0800 Subject: [PATCH 712/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221212.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Install=20the=20Minimalist=20ArchBang=20Linux=20Distro?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...to Install the Minimalist ArchBang Linux Distro.md | 301 ++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 sources/tech/20221212.1 ⭐️⭐️ How to Install the Minimalist ArchBang Linux Distro.md diff --git a/sources/tech/20221212.1 ⭐️⭐️ How to Install the Minimalist ArchBang Linux Distro.md b/sources/tech/20221212.1 ⭐️⭐️ How to Install the Minimalist ArchBang Linux Distro.md new file mode 100644 index 0000000000..2a0195401f --- /dev/null +++ b/sources/tech/20221212.1 ⭐️⭐️ How to Install the Minimalist ArchBang Linux Distro.md @@ -0,0 +1,301 @@ +[#]: subject: "How to Install the Minimalist ArchBang Linux Distro" +[#]: via: "https://itsfoss.com/install-archbang/" +[#]: author: "Sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install the Minimalist ArchBang Linux Distro +====== + +ArchBang is a minimal and lightweight [Arch Linux based distribution][1]. It uses the i3 window manager. With its minimal nature, ArchBang can help you revive your old computer or low-end devices. + +There are two ways to install Arch Bang: + +- Using the guided installer script +- Following Arch wiki + +No prizes for guessing that using the guided installer script will be easier to follow. + +In this tutorial, I’ll show you the steps for installing ArchBang with its text-based installer script. + +Please [check if your computer has UEFI or the legacy BIOS system][2]. Some steps are different for them. + +I have performed the demo in a virtual machine. And hence the wifi configuration part is not there. Internet connection is not mandatory here; you can also install it offline. You can connect to wifi from within the system after successfully installing ArchBang. + +Also, this method will remove any other operating system installed on your disk. Please be mindful of that. + +### Download ArchBang Live ISO + +To install ArchBang, you need the live ISO first. + +You can go to their [official website and download the required ISO][3], as shown in the below screenshot. + +![go to archbang iso images to download the iso file from sourceforge][4] + +It brings you to their Sourceforge page. Download the ISO, which is approximately 1.2 GiB in size. + +### Create the Live USB of ArchBang + +Once downloaded, you should make a bootable USB of ArchBang. You can [use software like Balena Etcher][5] to create it. It’s quite simple to use. + +Plug in your USB, browse to the downloaded ISO file and then hit the Flash button. + +![etcher flash][6] + +### Using text-based ArchBang installer + +ArchBang live ISO will bring you to the default i3 desktop with conky running. + +![archbang live iso home screen][7] + +You have two methods to start the installation process: + +- Press **Super + I** (as per desktop conky) to start installation directly. +- Press **Super + T** to enter the terminal and use the command: `sudo abinstall` + +A terminal with several options will appear when you do the above step: + +![archbang installer][8] + +The above screenshot shows the main menu of ArchBang installer. You can select each section with the associated number. + +When you complete each category of the above installer, it will return to this menu and you can select the next category by pressing the corresponding number and Enter key. + +Also, the completed sections will be checked with an “x” mark. + +#### Step 1: Select / Set Partition + +On the new installer screen, enter “1” to start [partitioning the disk][9]. + +Inside this, select the **Default** option. The installer has several tools to partition the disk, like cfdisk, fdisk, parted, etc. I used fdisk to do the job. + +##### Partitioning for Non-UEFI system + +Once the tool is selected, it will ask to choose the storage device. In my case, it was `/dev/sda` . Select the appropriate choice in your context. + +To start partitioning, enter “n” for a new partition. After that, select **Primary Partition.** + +![creating partition for non uefi system][10] + +For [non-UEFI systems][2], you can create one single root partition for all purposes. So, accept all the default values for “First Sector” and “Last Sector”. Then, press “w” to write the changes. + +On the next screen, you have to choose your filesystem and swap method. In this tutorial, I am using the EXT4 file system and Swap to File as the swap method. + +So set those according to the screenshot. + +![format the disk and select ext4 partition][11] + +##### Partitioning for UEFI system + +For UEFI users, you need to have two partitions, one EFI, with a 550 MB space, and another main root partition with the rest of the space (Swap as a file setting). + +Press n and select **Primary Partition.** Then select the Partition number as 1. + +Accept the default value for “First sector”. Now enter “+550M” as the value for “Last Sector”. + +Once again, press “n” and select **Primary Partition**. Accept the default value for the first and last sectors. + +![create two partitions for efi system][12] + +Press “t” to change the type and select the partition number “1” or `/dev/sda1`, whose type is to be changed from “Linux” to “EFI”. + +Select the partition type as EFI, as shown below: + +![change type of smaller partition to efi][13] + +Press “w” to write the changes. Then it will ask for filesystem selection. Here, you need to select the larger partition as the root partition (/dev/sda2, that is option 2 in the below screenshot). + +![select larger partition for root partition in efi system][14] + +Select EXT4 filesystem. This will again ask for mounting EFI partition. + +![select efi partition][15] + +In this step, you need to select the EFI partition at `/dev/sda1` and choose the mount point as `/boot/efi` . This will ask for format. Give consent by pressing “y”. + +Also, don’t forget to choose the swap to file option. + +#### Step 2: Start ArchBang installation + +This is pretty simple. Select the Install ArchBang option from the main menu by pressing the corresponding number (2 in this case). It will start the installation process. + +![installing archbang progress bar][16] + +You should wait for some time to complete the installation. + +#### Step 3: Set Hostname + +Once installation is completed, Select the 3rd option on the main menu, which is for setting the hostname. You need to enter a hostname. + +![provide hostname and press enter][17] + +#### Step 4: Set Location + +Location/Time Zone is typically mentioned in Zone/City format. I used Asia/Kolkata as the time zone. + +The installer provides the list of available zones and cities; you need to enter the number corresponding to your choice. + +![set time zone info][18] + +Also, set your location the same way. + +#### Step 5: Set Hardware Clock + +You have two options; Set Hardware Clock to UTC or Local Time. + +![set hardware clock time][19] + +There are two time standards:** localtime** and Coordinated Universal Time (UTC). The localtime standard depends on the current time zone, while UTC is the global time standard and is independent of time zone values. + +Enter your choice and press Enter key. + +#### Step 6: Set Locale + +Usually, you set the locale to en_US, if you are unsure what to do. That should be fine for most English-speaking users. + +If you want to use the operating system in some other language like French, Spanish, Dutch etc, you can choose the appropriate locale from the list. + +![set locale][20] + +#### Step 7: Desktop Keyboard Layout + +Similarly, most users should be fine with US keyboard. If you have some other keyboard (like French, or Italian), enter the appropriate choice from the available ones. + +![set desktop keyboard layout][21] + +#### Step 8: Configure Bootloader + +In ArchBang, you get GRUB2, Syslinux, or Systemd for the bootloader. To make it simple, I am selecting GRUB2 from the choice. + +![select grub2 as bootloader][22] + +Now, it will ask you to specify the method to install GRUB. Select **Automatic** and press enter. + +![select automatic grub][23] + +#### Step 9: Set Root Password + +Now, you should enter the root password. Select “Root Password” from the main menu. + +![enter and confirm root password][24] + +Here, enter and confirm the root password. + +#### Step 10: Create a New User + +Using a system with only a Root User is not secure. So, you should create a new user. In this installer, select the 10th option. Here, you should type a user name, password and confirm the password. + +![create user and password][25] + +Once done, press Enter to go to the main menu. + +#### Step 11: Finish configuration + +At this stage, you have reviewed all the configurations needed. You can now make it to effect by entering the letter “d” as shown in the screenshot below: + +![enter d option to finish the installation][26] + +This will ask permission to reboot your system. + +![press y to reboot your system to new archbang][27] + +Entering “y” will reboot your system to the newly installed ArchBang system. + +### Post Installation Tweaks + +Once rebooted, you will land in the same console. Probably there is no [display manager][28] installed. Here you should enter the username and password and press enter. + +![login to archbang through tty][29] + +This will bring you to the i3WM. + +![installed archbang with i3wm][30] + +Once installed, you need to do a couple of update tasks. **Connect to the internet first**. + +Firstly, you need to update the Pacman keys and archlinux-keyring. + +To do the same, open a terminal by pressing **Super + T** and run the following commands one by one: + +``` +sudo pacman-key –init +sudo pacman-key –populate +sudo pacman -Syyu archlinux-keyring +``` + +This will update system packages and keyrings. Reboot your system. + +Now, you should install a display manager. I prefer LightDM display manager. So open a terminal and enter the following command to install it: + +``` +sudo pacman -S lightdm lightdm-gtk-greeter +``` + +Once installed, use the following command to start the Lightdm service: + +``` +sudo systemctl enable lightdm.service +``` + +You will get a good and minimal login screen from the next reboot. + +![lightdm login screen in archbang][31] + +You can now enjoy ArchBang Linux according to your liking. + +### Wrapping Up + +ArchBang brings a good Arch Linux experience coupled with a not-so-hard installer and i3WM as the window manager. + +I understand that using a text-based installer like this one could be intimidating for some users. But then, it is [one of the joys of the Arch Linux][32] domain. It feels like a challenge and when you successfully install it, it gives you a sense of accomplishment. + +I have tried to detail all the steps with the necessary explanation. Please let me know if you face any issues or if you have any questions. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-archbang/ + +作者:[Sreenath][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/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/arch-based-linux-distros/ +[2]: https://itsfoss.com/check-uefi-or-bios/ +[3]: https://sourceforge.net/projects/archbang/files/ +[4]: https://itsfoss.com/wp-content/uploads/2022/12/go-to-archbang-iso-images-to-download-the-iso-file-from-sourceforge.png +[5]: https://itsfoss.com/install-etcher-linux/ +[6]: https://itsfoss.com/wp-content/uploads/2022/06/etcher-flash.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/archbang-live-iso-home-screen.webp +[8]: https://itsfoss.com/wp-content/uploads/2022/12/archbang-installer.png +[9]: https://itsfoss.com/partition-managers-linux/ +[10]: https://itsfoss.com/wp-content/uploads/2022/12/creating-partition-for-non-uefi-system.png +[11]: https://itsfoss.com/wp-content/uploads/2022/12/format-the-disk-and-select-ext4-partition.png +[12]: https://itsfoss.com/wp-content/uploads/2022/12/create-two-partitions-for-efi-system.png +[13]: https://itsfoss.com/wp-content/uploads/2022/12/change-type-of-smaller-partition-to_efi.png +[14]: https://itsfoss.com/wp-content/uploads/2022/12/select-larger-partition-for-root-partition-in-efi-system.png +[15]: https://itsfoss.com/wp-content/uploads/2022/12/select-efi-partition.png +[16]: https://itsfoss.com/wp-content/uploads/2022/12/installing-archbang-progress-bar.png +[17]: https://itsfoss.com/wp-content/uploads/2022/12/provide-hostname-and-press-enter.png +[18]: https://itsfoss.com/wp-content/uploads/2022/12/set-time-zone-info.png +[19]: https://itsfoss.com/wp-content/uploads/2022/12/set-hardware-clock-time.png +[20]: https://itsfoss.com/wp-content/uploads/2022/12/set-locale.png +[21]: https://itsfoss.com/wp-content/uploads/2022/12/set-desktop-keyboard-layout.png +[22]: https://itsfoss.com/wp-content/uploads/2022/12/select-grub2-as-bootloader.png +[23]: https://itsfoss.com/wp-content/uploads/2022/12/select-automatic-grub.png +[24]: https://itsfoss.com/wp-content/uploads/2022/12/enter-and-confirm-root-password.png +[25]: https://itsfoss.com/wp-content/uploads/2022/12/create-user-and-password.png +[26]: https://itsfoss.com/wp-content/uploads/2022/12/enter-d-option-to-finish-the-installation.png +[27]: https://itsfoss.com/wp-content/uploads/2022/12/press-y-to-reboot-your-system-to-new-archbang.png +[28]: https://itsfoss.com/display-manager/ +[29]: https://itsfoss.com/wp-content/uploads/2022/12/login-to-archbang-through-tty.png +[30]: https://itsfoss.com/wp-content/uploads/2022/12/installed-archbang-with-i3wm.png +[31]: https://itsfoss.com/wp-content/uploads/2022/12/lightdm-login-screen-in-archbang.png +[32]: https://itsfoss.com/why-arch-linux/ From 20ad2a71ab3e39263e2323af638329da8eef3039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 12 Dec 2022 18:53:32 +0800 Subject: [PATCH 713/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221212.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20A?= =?UTF-8?q?=20sysadmin's=20guide=20to=20Carbonio.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.2 ⭐️⭐️ A sysadmin's guide to Carbonio.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 sources/tech/20221212.2 ⭐️⭐️ A sysadmin's guide to Carbonio.md diff --git a/sources/tech/20221212.2 ⭐️⭐️ A sysadmin's guide to Carbonio.md b/sources/tech/20221212.2 ⭐️⭐️ A sysadmin's guide to Carbonio.md new file mode 100644 index 0000000000..aad2bc5ffa --- /dev/null +++ b/sources/tech/20221212.2 ⭐️⭐️ A sysadmin's guide to Carbonio.md @@ -0,0 +1,119 @@ +[#]: subject: "A sysadmin's guide to Carbonio" +[#]: via: "https://opensource.com/article/22/12/carbonio-community-edition-sysadmin" +[#]: author: "Arman Khosravi https://opensource.com/users/arman-khosravi" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A sysadmin's guide to Carbonio +====== + +[Carbonio Community Edition (Carbonio CE)][1] is an open source no-cost email and collaboration platform by Zextras. It provides privacy for organizations seeking digital sovereignty by using on-premises self-hosted servers. Using self-hosted servers offers a deeper level of control over infrastructure and data. However, it requires more attention to server configurations and infrastructure management to guarantee data sovereignty. Tasks done by system administrators play an important role in this matter. This makes administrative tasks a crucial part of achieving digital sovereignty, therefore, an administrative console dedicated to such tasks becomes extremely valuable to facilitate sysadmins' everyday jobs. + +This is why Zextras launched the first release of its own admin panel for Carbonio CE on October 2022. For Carbonio CE system administrators, it is the first step toward the creation of an all-inclusive admin console. + +In this article, I go into detail about the Carbonio CE Admin Panel and take a deeper look into what it can accomplish. + +![Image of the Carbonio admin panel.][2] + +### What is the Carbonio CE Admin Panel? + +The Carbonio CE Admin Panel is designed to assist the Carbonio CE system administrators with the most repetitive and frequent tasks such as user management and domain configuration. It is a browser-based application that runs on a particular port and is available for system administrators to use in production environments as soon as Carbonio CE is installed. + +### Why do you need the admin panel? + +Everything done in Carbonio CE Admin Panel can be done through the command-line interface as well. This raises the question: why might system administrators prefer using the admin panel rather than the command-line interface? + +Using the admin panel has its own obvious advantages such as: + +- Making repetitive activities much easier to perform +- Saving system administrators' time monitoring servers +- Providing a much easier learning process for junior system administrators + +Even though using the admin panel makes administrative tasks easier to perform, there is more to using this native user interface for Carboino CE. In essence, the Carbonio CE Admin Panel gives you the ability to monitor and manage your organization server from a single centralized location. Even when you're far away, you may still access your admin panel to check the status of servers and carry out various administrative activities. + +### Creating and managing user accounts + +Managing users has always been one of the most, if not the most, performed action by sysadmins. Therefore it should be an essential part of every administrative GUI available for system administrators. Suppose you, as the system administrator of the company have received some request by users to edit some information on their account. For instance, giving them access to some features, or your company has hired new employees, or some employees have left the company. All these scenarios require a sysadmin to manage user accounts frequently. + +Using the Carbonio CE Admin Panel you can simply go to **Domains > select a domain > Accounts** and select any account to modify, or press the **+** button to add a new account. + +![Image of the accounts Carbonio adminpanel.][3] + +### Creating and managing mailing lists + +Besides creating user accounts, a system administrator is often required to create different mailing lists that reflect the organizational structure of the company. Using mailing lists, users can simply send emails to a group of users by inserting the list address instead of every user address one by one. + +Creating mailing lists in Carbonio CE is extremely easy using the admin panel. You need to go to **Domains > select a domain > Mailing List > press the + button**. You can now use the wizard that opens up to create a mailing list. + +![Image of the Carbonio admin panel mailing list.][4] + +The essential steps to follow are: + +- Insert the name +- Insert the mailing list address +- Press **NEXT** +- Insert the members +- Press **CREATE**. + +You can follow the same path to edit mail lists created before. + +### Creating and managing domains + +Managing domains is another task frequently done by system administrators. Similar to accounts, creating a domain is very easy in the Carbonio Admin Panel. You only need to go to **Domains > select a domain > under the details** and find different entries to monitor the status of the domain. To create a new domain simply click on the **CREATE** button on the top bar and select **Create New Domain** and insert the necessary information such as: + +- Domain name +- Maximum number of accounts and maximum email quota +- Mail server where the domain is hosted + +![Image of the Carbonio admin domains panel.][5] + +### Creating and managing mailstore servers + +The Carbonio CE Admin Panel allows system administrators to manage different servers present in the infrastructure and provide them with different tools to configure them. To monitor a new mailstore server you can go to **Mailstores > Servers List** and find all the available mailstore servers in your infrastructure in a list (when just one server is installed, only one server is shown in this area). + +Under **Server Details**, you can select any of the available servers in the list and select **Data Volumes** to show more details of the storage volumes attached to it. While multiple volumes can be mounted simultaneously, only one primary volume, one secondary volume, and one index volume can be designated as active. You can add new volumes using the **NEW VOLUME +** button in the same section. You can also change the volume properties simply by clicking on them to open their detail window. + +![Image of the Carbonio admin panel volumes.][6] + +### Creating and managing classes of service + +Another scenario that can be facilitated with the help of the admin panel is creating classes of service (COS). After the installation, a system administrator might need to create different classes (groups) and assign different properties to them. This way, later in the process each user or a group of users can be easily nominated to a class of service in order to have access to the features and properties assigned to that specific COS. + +![Image of the Carbonio admin panel COS features.][7] + +To create a COS simply click on the **CREATE** button and select **Create New COS** or alternatively go to **COS** on the left panel and click on **CREATE NEW COS +**. You can then insert the name of the COS and define the different services available to this specific class. + +To edit a COS, go to **COS** on the left panel and select a COS from the dropdown menu at top of the list. + +You can define settings like quotas, the mail servers that can host accounts from this COS, or enable features for this COS. You can also define features for general features like Mail, Calendar, and Contacts. Additional customizable options include Tagging, Out of Office Reply, Distribution List Folders, and so on. + +![Image of the Carbonio admin panel classes of service preferences.][8] + +### Conclusion + +In this article, you saw a few scenarios in which the Carbonio CE Admin Panel saves you time and effort. The admin panel is an evolution of classical administrative tools in a new and centralized interface that gives the possibility of accessing different functionalities and monitoring tools from the same location. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/carbonio-community-edition-sysadmin + +作者:[Arman Khosravi][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/arman-khosravi +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/3/open-source-collaboration-carbonio +[2]: https://opensource.com/sites/default/files/2022-11/carbonio_admin_panel.webp +[3]: https://opensource.com/sites/default/files/2022-11/accounts_carbonio_admin_panel.webp +[4]: https://opensource.com/sites/default/files/2022-11/mailing_list_carbonio_admin_panel.webp +[5]: https://opensource.com/sites/default/files/2022-11/domains_carbonio_admin_panel.webp +[6]: https://opensource.com/sites/default/files/2022-11/volumes_carbonio_admin_panel.webp +[7]: https://opensource.com/sites/default/files/2022-11/cos_features_carbonio_admin_panel.webp +[8]: https://opensource.com/sites/default/files/2022-11/cos_preferences_carbonio_admin_panel.webp From 732b5884e30a21430268ce79e1ad95ca45aaade5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 12 Dec 2022 18:55:25 +0800 Subject: [PATCH 714/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221212.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Un?= =?UTF-8?q?fortunately,=20Komodo=20IDE=20is=20now=20Open=20Source!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Unfortunately, Komodo IDE is now Open Source!.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md diff --git a/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md b/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md new file mode 100644 index 0000000000..96da969f33 --- /dev/null +++ b/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md @@ -0,0 +1,89 @@ +[#]: subject: "Unfortunately, Komodo IDE is now Open Source!" +[#]: via: "https://news.itsfoss.com/komodo-ide-open-source/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Unfortunately, Komodo IDE is now Open Source! +====== + +Komodo IDE is now open-source and not at a great time. Curious to take a peek at the source code? Learn more here. + +![Unfortunately, Komodo IDE is now Open Source!][1] + +Komodo IDE is a popular integrated development environment for dynamic programming languages that was introduced back in May 2000. + +Used by many programmers around the world, it has proved to be quite helpful over the years. + +Unfortunately, all good things end. + +This is the case with Komodo IDE, it has now been retired, and all development has ceased. + +But there's a silver lining to this 😃 + +The company behind it, called '[ActiveState][2]', has now made the code openly available for anyone to use and modify. + +> 💡 Similar to "Komodo Edit" application, which was made open-source in 2008. + +They have cited numerous factors for their decision, which I will explain. + +### So, Why Open-Source it Now? + +![komodo ide][3] + +ActiveState felt that it was becoming difficult to maintain Komodo IDE without encountering various compatibility issues on newer systems. + +**What were the contributing factors?:** There were many factors that led to this. Take, for instance, the frameworks on which Komodo was built, '_XUL and XULRunner_'; they were retired by Mozilla back in 2016. + +Then there was the amount of effort needed to make Komodo compatible with newer systems. They would have to completely rewrite Komodo using a newer framework they felt was not feasible. + +And the final nail in the coffin was the fact that there are already a lot of free code editors available on the market right now doing better. They feel that '_it’s not a good business to be in anymore_'. + +**What now?:** ActiveState have made the whole Komodo IDE codebase available on their [GitHub repo][4] without the revision history. + +They have provided 3.2 million lines of code that consist of various programming languages such as Python, JavaScript, XUL, HTML, C++, and more. + +Anyone can copy, change, and use the code as they see fit. + +The forums for Komodo will be kept open for a year from their [original announcement][5], as it contains a treasure trove of information relating to Komodo. + +They are also open to moving the content to a different platform if anyone is willing to take on the task of managing it. + +On this topic, one of the employees from the Komodo dev team, Carey Hoffman, had this to add: + +> The extensive existing help information in the forums can act as a significant knowledge base for users and continue to be a central place to ask questions of the community and receive answers. I’ll very likely be there periodically on my own time to help where I can, such as when people are trying to build Komodo at home, or having difficulty making any kind of code edits. + +### Community Gets a Chance + +This can come in pretty handy for the community in general, as people can now try their hand at creating something truly special out of the code for Komodo. + +A Reddit user, [yvrelna][6] mentions: + +> I never used Komodo, but it's great to hear that Komodo is now freed from its cage. Companies should do this more often. If they're unwilling to support a software anymore, they should just release it as open source.It would've been better if the software is open source to begin with of course, but there's really no reason for a company to retain their codebase closed if they have no interest in maintaining it.Only thing is that they should've done it sooner, when there are still enough people that still cares about the software to possibly pick it up to maintain it. + +Indeed, the user is not wrong here; companies should go the extra mile by making code for their deprecated software open so that the community has a chance to create something out of it or even maintain it for the long term. + +ActiveState seems to have understood this sentiment and has thanked its users by open-sourcing Komodo. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/komodo-ide-open-source/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/komodo-ide-goes-open-source.png +[2]: https://www.activestate.com/ +[3]: https://news.itsfoss.com/content/images/2022/12/Komodo_IDE.png +[4]: https://github.com/ActiveState/OpenKomodoIDE +[5]: https://www.activestate.com/blog/activestate-komodo-ide-now-open-source/ +[6]: https://www.reddit.com/user/yvrelna/ From 3f54b6ae2c8996226d0f28656db69027ebacb62f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 12 Dec 2022 19:35:08 +0800 Subject: [PATCH 715/925] R --- ....3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md index b7b5a83fe8..9dfda0adff 100644 --- a/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md +++ b/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md @@ -31,7 +31,7 @@ $ sudo dnf install cinnamon-desktop 在 Linux Mint、Debian 和类似系统上: ``` -$ sudo dnf install cinnamon-desktop-environment +$ sudo apt install cinnamon-desktop-environment ``` 当然,作为该桌面的发源地,Linux Mint 也预装了 Cinnamon。 From 64c825dd5dedabe5cb99ba4bde23a0e7368ae5fd Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Mon, 12 Dec 2022 21:36:09 +0800 Subject: [PATCH 716/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...221004 Learn the OSI model in 5 minutes.md | 100 ------------------ ...221004 Learn the OSI model in 5 minutes.md | 100 ++++++++++++++++++ 2 files changed, 100 insertions(+), 100 deletions(-) delete mode 100644 sources/tech/20221004 Learn the OSI model in 5 minutes.md create mode 100644 translated/tech/20221004 Learn the OSI model in 5 minutes.md diff --git a/sources/tech/20221004 Learn the OSI model in 5 minutes.md b/sources/tech/20221004 Learn the OSI model in 5 minutes.md deleted file mode 100644 index eb53583bb2..0000000000 --- a/sources/tech/20221004 Learn the OSI model in 5 minutes.md +++ /dev/null @@ -1,100 +0,0 @@ -[#]: subject: "Learn the OSI model in 5 minutes" -[#]: via: "https://opensource.com/article/22/10/osi-model-network-communications" -[#]: author: "Anamika https://opensource.com/users/anamika" -[#]: collector: "lkxed" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Learn the OSI model in 5 minutes -====== -Get the basics of the Open Systems Interconnection (OSI) framework for conceptualizing communication within a computer system. - -The Open Systems Interconnection (OSI) model is a standard for how computers, servers, and people communicate within a system. It was the first standard model for network communications and was adopted in the early 1980s by all major computer and telecommunications companies. - -The OSI model provides a universal language for describing networks and thinking about them in discrete chunks, or layers. - -### Layers of the OSI model - -The model describes the seven layers through which computer systems communicate over a network. - -1. [Application layer][2] -2. [Presentation layer][3] -3. [Session layer][4] -4. [Transport layer][5] -5. [Network layer][6] -6. [Data link layer][7] -7. [Physical layer][8] - -Each of these layers has its own way of working, with its own set of protocols that distinguish it from the others. This article provides a breakdown of the layers one by one. - -### Application layer - -The application layer is implemented in software. It is the layer used to interact with applications. - -Consider the example of sending a message. The sender will interact with the application layer and send the message. The application layer sends the message to the next layer in the OSI Model, the presentation layer. - -### Presentation layer - -The data from the application layer is forwarded to the presentation layer. The presentation layer receives the data in the form of words, characters, letters, numbers, and so on, and converts them into machine representable binary format. This process is known as translation. - -At this stage, ASCII characters (American Standard Code for Information Interchange) are converted into Extended Binary Coded Decimal Interchange Code (EBCDIC). Before the converted data goes further, it also undergoes encoding and encryption processes, using the SSL protocol for encryption and decryption. - -The presentation layer provides abstraction and assumes that the layers following it will take care of the data forwarded to them from this layer. It also plays a role in compression of the data. The compression can be lossy or lossless, depending on various factors beyond this article's scope. - -### Session layer - -The session layer helps in setting up and managing connections. The main work of this layer is to establish a session. For example, on an online shopping site, a session is created between your computer and the site's server. - -The session layer enables the sending and receiving of data, followed by the termination of connected sessions. Authentication is done before a session is established, followed by authorization. Like the previous layers, the session layer also assumes that, after its work is done, the data will be correctly handled by the subsequent layers. - -### Transport layer - -The transport layer manages data transportation and its own set of protocols for how data will be transferred. The data received here from the session layer is divided into smaller data units called segments. This process is known as segmentation. Every segment contains the source's and destination's port numbers and a sequence number. Port numbers identify the application on which the data needs to be sent. Note that the data is transferred in chunks. The sequence numbers are used to reassemble the segments in the correct order. - -The transport layer takes care of the flow control, or the amount of data transferred at a given time. It also accounts for error control, such as data loss, data corruption, and so on. It makes use of an error-detecting value known as a checksum. The transport layer adds a checksum to every data segment to check whether the sent data is received correctly. Data is then transferred to the network layer. - -### Network layer - -The network layer helps communicate with other networks. It works to transmit received data segments from one computer to another located in a different network. The router lives in the network layer. - -The function of the network layer is logical addressing (IP Addressing). It assigns the sender's and receiver's IP addresses to each data packet to ensure it is received at the correct destination. The network layer then routes the data packets. Load balancing also happens in the network layer to make sure that no overloading takes place. Next, the data is transported to the data link layer. - -### Data link layer - -The data link layer allows direct communication with other devices, such as computers and hosts. - -It receives data packets containing the IP addresses of the sender and receiver from the network layer and does the physical addressing, assigning the media access control (MAC) addresses of the sender and receiver to a data packet to form a frame. - -### Physical layer - -This layer consists of all the hardware and mechanical elements of a system, including the configuration of wires, pins, adapters, and so forth. The data received here by the preceding layers is in the form of 0s and 1s. The physical layer converts this data and transports it to local media via various means, including wires, electrical signals, light signals (as in optical fiber cables), and radio signals (as in WiFi). - -Note that the physical layer works at the receiver's end and transports the received signal to the data link as a frame (by converting it back to bits). The frame is moved to the higher layers, and ultimately the required data is received at the application layer, which is the software. - -### Conclusion - -The OSI model is helpful when you need to describe network architecture or troubleshoot network problems. I hope this article gave you a clearer understanding of the elements this model. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/osi-model-network-communications - -作者:[Anamika][a] -选题:[lkxed][b] -译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/anamika -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/code_computer_development_programming.png -[2]: https://opensource.com/article/22/10/osi-model-network-communications#application-layer -[3]: https://opensource.com/article/22/10/osi-model-network-communications#presentation-layer -[4]: https://opensource.com/article/22/10/osi-model-network-communications#session-layer -[5]: https://opensource.com/article/22/10/osi-model-network-communications#transport-layer -[6]: https://opensource.com/article/22/10/osi-model-network-communications#network-layer -[7]: https://opensource.com/article/22/10/osi-model-network-communications#data-link-layer -[8]: https://opensource.com/article/22/10/osi-model-network-communications#physical-layer diff --git a/translated/tech/20221004 Learn the OSI model in 5 minutes.md b/translated/tech/20221004 Learn the OSI model in 5 minutes.md new file mode 100644 index 0000000000..cd2b6d735a --- /dev/null +++ b/translated/tech/20221004 Learn the OSI model in 5 minutes.md @@ -0,0 +1,100 @@ +[#]: subject: "Learn the OSI model in 5 minutes" +[#]: via: "https://opensource.com/article/22/10/osi-model-network-communications" +[#]: author: "Anamika https://opensource.com/users/anamika" +[#]: collector: "lkxed" +[#]: translator: "cool-summer-021" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 分钟内了解 OSI 模型 +====== +理解OSI框架的基本概念,掌握计算机系统通信机制 + +开放系统互联(OSI)模型是一个定义计算机、服务器和用户如何在一个系统内通信的标准。它是第一个网络通信标准模型,在20世纪80年代早期,所有主流的计算机和通信公司都采用了这个标准。 + +OSI 模型提供了一种通用语言,用于描述网络,以及在离散的块或层中考虑相关的问题。 + +### OSI模型的各个层 + +该模型描述了计算机系统通过网络进行通信的七个层。 + +1. [应用层][2] +2. [表现层][3] +3. [会话层][4] +4. [传输层][5] +5. [网络层][6] +6. [数据链路层][7] +7. [物理层][8] + +每个层都有自己的工作方式和一系列跟其他层不同的协议。本文将逐个剖析这些层级。 + +### 应用层 + +应用层是在软件中实现的。它是与应用程序交互的层级。 + +考虑发送消息的例子。发送消息的程序与应用层进行交互,并发送消息。接着,应用层向 OSI 模型的下一个层级(即表现层)发送消息。 + +### 表现层 + +来自应用层的数据被转发到表现层。表现层接收到文字、字符、字母、数字等形式的数据,并把它们转换为机器可识读的二进制格式数据。这个过程叫做编译。 + +在此阶段,ASCII(美国信息交换标准码) 字符被转换为扩充的二进制编码的十进制交换码(EBCDIC)。转换后的数据在继续传输前,也会进行编码和加密过程,使用SSL协议进行加密和解密。 + +表现层的作用是抽象化,它假设下面的层级会处理它们收到的数据。它也负责压缩数据。数据的压缩可能是有损的,也有可能是无损的,这取决于很多因素,不属于本文的讨论范围。 + +### 会话层 + +会话层的作用是建立和管理连接。该层级的主要工作是建立会话。例如,你登录网上商城,就在你的机器和服务器之间建立了会话。 + +会话层的作用是实现数据的发送和接收,完成后连接的会话就终止了。在一个会话建立前,会进行身份验证。与上一层类似,会话层也假设在它的工作完成后,下面的层级也会准确无误地处理数据。 + +### 传输层 + +传输层的作用是管理数据传输和其自身的关于数据如何传输的一些协议。从会话层传到这里的数据被分为更小的数据单元,这些数据单元称为片段。这个过程叫做“分割”。每个片段包含来源端口号、目标端口号和一个序列号。端口号用来识别发送数据的应用程序。注意,数据以块的形式传输。序列号用于把这些片段按正确的顺序排列。 + +传输层负责控制流量或在给定的时间内传输的数据量。它也负责错误的管理,比如数据丢失、损坏等情况。它利用一种错误探测值,通常叫做校验和。传输层对每个数据片段加上校验和,就可以检查所发送的数据是否被正确接收。然后数据传输到网络层。 + +### 网络层 + +网络层的作用是跟其他网络进行通信。它把从一台机器接收到的数据片段传输给另一台位于不同网络的机器。路由器是作用于网络层的。 + +网络层的功能是逻辑寻址(就是确定 IP 地址)。它为发送方和接收方分配 IP 地址,数据包附带了这个地址,就可以被传输到正确的目标机器。接着网络层对数据包进行路由。负载均衡也是在网络层进行的,旨在确保不会发生过载。下一步,数据传输到数据链路层。 + +### 数据链路层 + +数据链路层支持跟其他设备直接通信。 + +它接收到来自网络层、包含发送方和接收方 IP 地址的数据包,进行物理寻址,然后将发送方和接收方的 MAC 地址分配给数据包,形成帧。 + +### 物理层 + +物理层由系统的所有硬件和物理设备(包括网线、导航系统、适配器等)组成。在这里,从前面层级接收到的数据都是 0 和 1 形式的。物理层把这些数据转换并通过各种方式(如果是光纤电缆,有电线、电信号、光信号;如果是 WIFI,则为无线电信号)传输至本地媒介。 + +注意,物理层作用于接收方的一端,把接收到的信号以帧的形式传输到数据链路层(把它转换回二进制数据形式)。然后帧传输到上面的层级,最终应用层(应用软件)会接收到需要的数据。 + +### 结语 + +当你需要描述网络架构或排除网络问题时,OSI 模型的相关知识会对你有所帮助。我希望本文能令你对这个模型的方方面面有清晰的理解。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/osi-model-network-communications + +作者:[Anamika][a] +选题:[lkxed][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/anamika +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/code_computer_development_programming.png +[2]: https://opensource.com/article/22/10/osi-model-network-communications#application-layer +[3]: https://opensource.com/article/22/10/osi-model-network-communications#presentation-layer +[4]: https://opensource.com/article/22/10/osi-model-network-communications#session-layer +[5]: https://opensource.com/article/22/10/osi-model-network-communications#transport-layer +[6]: https://opensource.com/article/22/10/osi-model-network-communications#network-layer +[7]: https://opensource.com/article/22/10/osi-model-network-communications#data-link-layer +[8]: https://opensource.com/article/22/10/osi-model-network-communications#physical-layer From 41204c3485994e890396d93288efa27fc9790efc Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 13 Dec 2022 08:43:58 +0800 Subject: [PATCH 717/925] translating --- ...ow to Access UEFI Settings in Linux Systems.md | 122 ------------------ ...ow to Access UEFI Settings in Linux Systems.md | 122 ++++++++++++++++++ 2 files changed, 122 insertions(+), 122 deletions(-) delete mode 100644 sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md create mode 100644 translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md diff --git a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md deleted file mode 100644 index 3ff19e8639..0000000000 --- a/sources/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md +++ /dev/null @@ -1,122 +0,0 @@ -[#]: subject: "How to Access UEFI Settings in Linux Systems" -[#]: via: "https://itsfoss.com/access-uefi-from-linux/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Access UEFI Settings in Linux Systems -====== - -Want to check the boot order or the power settings at the firmware level? **You can access the UEFI settings by pressing the F2, F10 or Del buttons when your system boots**. - -The problem with this approach is that you may not know the exact key and must be alert about pressing those keys at the right time. - -![Mr. Bean][1a] - -If you don’t want to feel like Mr. Bean in the above Gif, you can access the UEFI settings from the [Grub bootloader][1] screen in Linux. - -![uefi firmware settings grub linux][2] - -You see this screen when you turn on your Linux system. Most Linux distributions like Fedora and Ubuntu use Grub and they allow you to access the UEFI settings from the Grub screen like this. - -What if you don’t see this screen or your distro doesn’t use Grub? There are still ways to access UEFI settings from within Linux. - -Before you see how to do that, please [ensure that your system uses UEFI][3]. - -**_Another important thing. Your system will reboot into UEFI settings._** _You cannot access and modify the firmware settings from within an operating system._ - -### Boot into UEFI settings from Linux - -This method will only work on Linux distros having systemd. This means this method will work on anything based on Ubuntu, Debian, Fedora, and any mainstream Arch-based distros, including Manjaro and EndeavourOS. - -It is still a good idea to [ensure that your Linux distro uses systemd][4]. Use the given command and if it returns systemd you are good to go: - -``` -ps --no-headers -o comm 1 -``` - -![how to know if i am using systemd on linux?][5] - -Once you figure out that your distro is utilizing systemd, you can use the given command to boot into UEFI settings: - -``` -systemctl reboot --firmware-setup -``` - -Let me break down the used options first: - -- `reboot`: As its name suggest, it will reboot your system. -- `--firmware-setup`: When this option is used with `reboot`, it will indicate to the system’s firmware to boot into the firmware setup interface. - -Yup, that was it! A single command and you will be kicked into UEFI settings. I know Windows allows [booting into UEFI firmware settings from within Windows][6]. It’s good to see something similar in Linux as well. - -#### Create a desktop shortcut to boot into UEFI settings (optional) - -If you often find yourself booting into the UEFI settings and don’t remember the command all the time, you can make your life easier by creating a desktop shortcut. This will let you boot into UEFI by clicking on desktop icon. - -_**Now, this is unnecessary and not required for most Linux users. Do it only if you feel the need for it. The method requires [editing files in the command line][7].**_ - -First, use the given command to create a desktop shortcut file for UEFI settings: - -``` -sudo nano /usr/share/applications/uefi-reboot.desktop -``` - -And paste the following content in the file: - -``` -[Desktop Entry] -Name=UEFI Firmware Setup (Reboot) -Comment=Access the motherboard configuration utility -Exec=systemctl reboot --firmware-setup -Icon=system-restart -Terminal=false -Type=Application -Categories=System;Settings; -``` - -![create a desktop shortcut to boot into uefi settings][8] - -Once done, [save the changes and exit from the nano][9] text editor. - -And now, you will find the shortcut for UEFI Firmware Setup in your system menu: - -![boot into uefi firmware from system menu][10] - -That’s it! A neat way to get into UEFI settings. - -### Wrapping Up - -The classic ways of accessing the boot settings may be a little inconvenient for some people. The grub screen may not show the UEFI option for older versions. - -And this is where the systemd method shines. I found this method a lifesaver when my system crashed and my function keys were not responding, which are necessary to boot into UEFI (that’s what I thought then!). - -I hope you find it equally helpful. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/access-uefi-from-linux/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1a]: https://external-preview.redd.it/dxmsKYDmzgfb1thu3EFI8Ni-DNfprNX8W8xDtff4QWU.gif?format=mp4&s=c31204644ac6a2a348133986714ff97cf3c4a48a -[1]: https://itsfoss.com/what-is-grub/ -[2]: https://itsfoss.com/wp-content/uploads/2022/12/uefi-firmware-settings-grub-linux.webp -[3]: https://itsfoss.com/check-uefi-or-bios/ -[4]: https://linuxhandbook.com/check-if-systemd/ -[5]: https://itsfoss.com/wp-content/uploads/2022/12/how-to-know-if-i-am-using-systemd-on-linux.png -[6]: https://itsfoss.com/access-uefi-settings-windows-10/ -[7]: https://learnubuntu.com/edit-files-command-line/ -[8]: https://itsfoss.com/wp-content/uploads/2022/12/create-a-desktop-shortcut-to-boot-into-uefi-settings.png -[9]: https://linuxhandbook.com/nano-save-exit/ -[10]: https://itsfoss.com/wp-content/uploads/2022/12/boot-into-uefi-firmware-from-system-menu.png diff --git a/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md new file mode 100644 index 0000000000..779ee8e4ee --- /dev/null +++ b/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -0,0 +1,122 @@ +[#]: subject: "How to Access UEFI Settings in Linux Systems" +[#]: via: "https://itsfoss.com/access-uefi-from-linux/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 系统中访问 UEFI 设置 +====== + +想要在固件级别检查启动顺序或电源设置? **你可以在系统启动时按 F2、F10 或 Del 按键访问 UEFI 设置**。 + +这种方法的问题是你可能不知道确切的键,并且必须警惕在正确的时间按下这些键。 + +![Mr. Bean][1a] + +如果你不想像上面 Gif 中的憨豆先生,你可以从 Linux 中的 [Grub bootloader][1] 也没访问 UEFI 设置。 + +![uefi firmware settings grub linux][2] + +当你打开 Linux 系统时,你会看到这个页面。Fedora 和 Ubuntu 等大多数 Linux 发行版都使用 Grub,它们允许你像这样从 Grub 页面访问 UEFI 设置。 + +如果你没有看到此页面或你的发行版不使用 Grub 怎么办? 仍然有一些方法可以从 Linux 中访问 UEFI 设置。 + +在你了解如何操作之前,请[确保你的系统使用 UEFI][3]。 + +**_另一件重要的事情。你的系统将重启进入 UEFI 设置。_** _你无法从操作系统中访问和修改固件设置。_ + +### 从 Linux 启动到 UEFI 设置 + +此方法仅适用于具有 systemd 的 Linux 发行版。这意味着这种方法适用于任何基于 Ubuntu、Debian、Fedora 和任何主流的基于 Arch 的发行版,包括 Manjaro 和 EndeavourOS。 + +[确保你的 Linux 发行版使用 systemd][4] 仍然是一个好主意。使用给定的命令,如果它返回 systemd,你就可以开始了: + +``` +ps --no-headers -o comm 1 +``` + +![how to know if i am using systemd on linux?][5] + +当你发现你的发行版正在使用 systemd,你可以使用给定的命令启动到 UEFI 设置: + +``` +systemctl reboot --firmware-setup +``` + +让我首先分解使用的选项: + +- `reboot`:顾名思义,它将重启你的系统。 +- `--firmware-setup`: 当此选项与 `reboot` 一起使用时,它会指示系统固件启动进入固件设置界面。 + +就是这样! 一个命令,你将进入 UEFI 设置。我知道 Windows 允许[从 Windows 中启动进入 UEFI 固件设置][6]。很高兴在 Linux 中看到类似的东西。 + +#### 创建桌面快捷方式以启动到 UEFI 设置(可选) + +如果你经常发现自己启动进入 UEFI 设置并且不记得所有命令,你可以通过创建桌面快捷方式让你的生活更轻松。这将使你可以通过单击桌面图标启动到 UEFI。 + +_**现在,对于大多数 Linux 用户来说,这是不必要的,也不是必需的。只有当你觉得有必要时才去做。该方法需要[在命令行中编辑文件][7]。**_ + +首先,使用给定的命令为 UEFI 设置创建桌面快捷方式文件: + +``` +sudo nano /usr/share/applications/uefi-reboot.desktop +``` + +并将以下内容粘贴到文件中: + +``` +[Desktop Entry] +Name=UEFI Firmware Setup (Reboot) +Comment=Access the motherboard configuration utility +Exec=systemctl reboot --firmware-setup +Icon=system-restart +Terminal=false +Type=Application +Categories=System;Settings; +``` + +![create a desktop shortcut to boot into uefi settings][8] + +完成后,[保存更改并退出 nano][9] 文本编辑器。 + +现在,你将在系统菜单中找到 UEFI 固件设置的快捷方式: + +![boot into uefi firmware from system menu][10] + +完成了! 一种进入 UEFI 设置的巧妙方法。 + +### 总结 + +访问启动设置的经典方法对某些人来说可能有点不方便。grub 页面可能不会显示旧版本的 UEFI 选项。 + +这就是 systemd 方法的亮点所在。当我的系统崩溃并且我的功能键没有响应时,我发现这种方法是救命稻草,这是启动到 UEFI 所必需的(我当时就是这么想的!)。 + +我希望你发现它同样有用。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/access-uefi-from-linux/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1a]: https://external-preview.redd.it/dxmsKYDmzgfb1thu3EFI8Ni-DNfprNX8W8xDtff4QWU.gif?format=mp4&s=c31204644ac6a2a348133986714ff97cf3c4a48a +[1]: https://itsfoss.com/what-is-grub/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/uefi-firmware-settings-grub-linux.webp +[3]: https://itsfoss.com/check-uefi-or-bios/ +[4]: https://linuxhandbook.com/check-if-systemd/ +[5]: https://itsfoss.com/wp-content/uploads/2022/12/how-to-know-if-i-am-using-systemd-on-linux.png +[6]: https://itsfoss.com/access-uefi-settings-windows-10/ +[7]: https://learnubuntu.com/edit-files-command-line/ +[8]: https://itsfoss.com/wp-content/uploads/2022/12/create-a-desktop-shortcut-to-boot-into-uefi-settings.png +[9]: https://linuxhandbook.com/nano-save-exit/ +[10]: https://itsfoss.com/wp-content/uploads/2022/12/boot-into-uefi-firmware-from-system-menu.png From c2faa4f0c3031d705decee6be7f6cf18bb8bdcdb Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 13 Dec 2022 08:47:37 +0800 Subject: [PATCH 718/925] translating --- .../20221209.0 ⭐️⭐️ Install open source solar power at home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md index 7f9e86514d..303c257fdb 100644 --- a/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md +++ b/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" [#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 98e8512cef8cc4072eede063bde59ef40e1e4404 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 13 Dec 2022 10:34:44 +0800 Subject: [PATCH 719/925] ALL @wxy https://linux.cn/article-15343-1.html --- ...inux Kernel 6.1 Released With Initial Rust Code.md | 146 ++++++++++++++++++ ...inux Kernel 6.1 Released With Initial Rust Code.md | 146 ------------------ 2 files changed, 146 insertions(+), 146 deletions(-) create mode 100644 published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md delete mode 100644 sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md diff --git a/published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md b/published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md new file mode 100644 index 0000000000..d33491862c --- /dev/null +++ b/published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md @@ -0,0 +1,146 @@ +[#]: subject: "Linux Kernel 6.1 Released With Initial Rust Code" +[#]: via: "https://news.itsfoss.com/linux-kernel-6-1-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15343-1.html" + +Linux 内核 6.1 发布,包含初始 Rust 支持 +====== + +> Linux 内核 6.1 现在可以使用了!考虑到这是今年最后一个稳定版本,它有可能是 LTS 版本。 + +![Linux 内核 6.1 发布,包含初始 Rust 支持][1] + +Linux 内核 6.1 终于来了,它以改进和支持新硬件的形式为我们提前带来了节日礼物。🎄 + +它是在 Linux 内核 6.0 发布的几个月后出现的,当时的命名方案从 5.x.x 改为 6.x,以减少小版本号太多带来的混乱。 + +像往常一样,今年的最后一个内核版本 **可能被作为一个长期发布的版本**,从而得到几年的支持。 + +Linux 内核 6.1 如约带来了许多改进,并初步支持了 AMD 和英特尔尚未发布的硬件。 + +在发布公告中,Linus Torvalds 提到: + +> 所以到现在,我们晚了一个星期,不过上周已经没那么紧迫了,而且很顺利,我对 6.1 的状态要比几个星期前感到放心多了,当时似乎还比较紧迫。当然,这意味着现在我们有一个可怕的合并窗口,就在节日假期之前,而且我也有一些节前的旅行要安排。因此,虽然推迟一周是正确的做法,但它确实使 6.2 合并窗口的时间变得很尴尬。 + +他进一步补充说,考虑到每个人都应该过一个平静的假日季,他将会更严格的对合并窗口的规则进行要求。 + +### 🆕 Linux 内核 6.1 有什么新内容? + +在这个版本中,我们看到了各种变化,例如改进了对 ARM SoC 的支持,初步支持英特尔即将推出的 Meteor Lake CPU,以及 AMD 的 RDNA 3 GPU。 + +你可以在其 [公告][2] 中找到更多技术细节。 + +#### 对 Rust 的实验性支持 + +![linux 6.1 rust][3] + +虽然我们预计这将发生在 Linux 内核 6.0,但它在 Linux 内核 6.1 中才出现,这将允许开发者用 Rust 编写内核代码。 + +#### 英特尔 Meteor Lake 的启用 + +![英特尔][4] + +英特尔的开源开发者一直在努力工作,为即将到来的 Meteor Lake 芯片提供初步支持。 + +它被称为英特尔的第一个 7 纳米微架构,开发人员已经向 DRM-next 推送了各种提交。 + +这些包括各种固件提交,对 Meteor Lake CPU 及其集成 GPU 的初步支持。 + +#### 对 AMD RDNA 3 图形的初始支持 + +![AMD][5] + +这段时间,AMD 一直在为 Linux 内核 6.1 添加 RDNA 3 图形架构的代码。 + +这包括对他们即将推出的 GPU 的支持和对他们之前的 GPU 产品的各种修复。 + +你可以通过 [这里][6] 查看完整的补丁列表。 + +#### 对 AMD 电脑的优化 + +![优化 AMD][7] + +AMD PMF(AMD 平台管理框架)已经被引入这个内核版本。 + +该驱动旨在为 AMD PC 更安静、更高效的运行提供支持。 + +它利用板载传感器与 AMD 的各种热能和功率内核驱动来实现这一目标。 + +#### 改进的 ARM SoC 支持 + +![arm soc][8] + +Linux 内核 6.1 带来了对 ARM SoC 的更多支持,例如: + +- 联发科 MT8186 +- 德州仪器 AM62A +- 恩智浦 i.MX8DXL +- 高通 IPQ8064 的各种变体 + +该内核还对一些智能手机提供了支持,如 PINE64 PinePhone Pro、索尼 Xperia 1 IV 和三星 Galaxy E5/E7/Grand Max。 + +#### 存储的改进 + +内核在存储方面有很多改进。 + +例如,Btrfs 在这次更新中带来了异步缓冲写入,提供了超过 2 倍的吞吐量。 + +然后是对 EXT4 的改进,包括性能优化和一些错误修复。 + +与此同时,[EROFS][9] 为 Linux 内核 6.1 引入了基于 FSCache 的共享域支持。 + +#### 🛠️ 其他改进措施 + +这些并不是 Linux 内核 6.1 提供的唯一改进,以下是其他一些值得注意的改进: + +- 对微软 Surface Pro 9 和 Surface Laptop 5 的支持。 +- 启用 AMD Zen 4 LbrExtV2。 +- AMD CPU “缓存到缓存”和内存报告功能。 +- 引入 AMD IOMMU v2。 +- 为 Wi-Fi 802.11be/Wi-Fi 7 做准备。 + +### 如何安装 Linux 内核 6.1? + +如果你使用基于 Arch 的发行版或 Fedora,你可以轻松升级。 + +不幸的是,如果你使用其他 Linux 发行版(Pop!_OS 和 Linux Lite 在某种程度上可以是个例外),你可能无法直接从发行版中获得升级。 + +然而,几乎所有的 Linux 发行版都明确地允许你安装最新的内核。这里有一个关于 Ubuntu 的指南👇 + +> **[如何在 Ubuntu 中安装最新的主线 Linux 内核版本](https://itsfoss.com/upgrade-linux-kernel-ubuntu/)** + +所以,如果你乐于冒险(并且知道自己在做什么),你可以在 [Linux 内核档案][10] 上找到列出的较新的内核。你可以下载 [tarball][11] 来测试它。 + +然而,像往常一样,如果你不想冒任何风险,我们建议等待你的 Linux 发行版推送更新。最好是坚持使用你的 Linux 发行版默认提供的东西。 + +> **[下载 Linux 6.1][12]** + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-kernel-6-1-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-kernel-6-1-release.png +[2]: https://lore.kernel.org/lkml/CAHk-=wj_HcgFZNyZHTLJ7qC2613zphKDtLh6ndciwopZRfH0aQ@mail.gmail.com/T/#u +[3]: https://news.itsfoss.com/content/images/2022/12/linux-6-1-rust.png +[4]: https://news.itsfoss.com/content/images/2022/12/intel-meteor.png +[5]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3.png +[6]: https://lists.freedesktop.org/archives/dri-devel/2022-September/373430.html +[7]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--1-.png +[8]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--2-.png +[9]: https://en.wikipedia.org/wiki/EROFS +[10]: https://www.kernel.org/ +[11]: https://git.kernel.org/torvalds/t/linux-6.1.tar.gz +[12]: https://www.kernel.org diff --git a/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md b/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md deleted file mode 100644 index f406377262..0000000000 --- a/sources/news/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md +++ /dev/null @@ -1,146 +0,0 @@ -[#]: subject: "Linux Kernel 6.1 Released With Initial Rust Code" -[#]: via: "https://news.itsfoss.com/linux-kernel-6-1-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux Kernel 6.1 Released With Initial Rust Code -====== - -Linux Kernel 6.1 is now available! Potentially an LTS version considering it is the last stable release of the year. - -![Linux Kernel 6.1 Released With Initial Rust Code][1] - -Linux Kernel 6.1 is finally here, and it comes bearing early Christmas gifts in the form of improvements and support for new hardware. 🎄 - -It comes a few months after the release of Linux Kernel 6.0, where the naming scheme was changed from 5.x.x to 6.x in favor of a less confusing alternative. - -As usual, the last kernel release of the year **may be considered a long-term release version** that gets support for a couple of years. - -#### Suggested Read 📖 - -Linux Kernel 6.1 promises many improvements and includes initial support for unreleased hardware by AMD and Intel. - -With the announcement, Linus Torvalds mentions: - -> So here we are, a week late, but last week was nice and slow, and I'm much happier about the state of 6.1 than I was a couple of weeks ago when things didn't seem to be slowing down. Of course, that means that now we have the merge window from hell, just before the holidays, with me having some pre-holiday travel coming up too. So while delaying things for a week was the right thing to do, it does make the timing for the 6.2 merge window awkward. - -He further adds that he will be stricter about the merge window rules considering it should be a calm holiday season for everyone. - -### 🆕 Linux Kernel 6.1: What’s New? - -With this release, we see various changes, such as improved support for ARM SoCs, initial support for Intel's upcoming Meteor lake CPUs, and AMD's RDNA 3 GPUs. - -You can find more technical details in its [announcement post][2]. - -#### Experimental Support for Rust - -![linux 6.1 rust code][3] - -While we expected this to happen with Linux Kernel 6.0, it arrives with Linux Kernel 6.1, allowing developers to write kernel code in Rust. - -#### Enablement Of Intel Meteor Lake - -![intel logo][4] - -Intel's open-source developers have been hard at work to provide initial support for the upcoming Meteor Lake chips. - -Dubbed as Intel's first 7 nm microarchitecture, developers have pushed various commits to DRM-next. - -These include a variety of firmware commits with initial support for the Meteor Lake CPUs and their integrated GPUs. - -#### Initial Support For AMD RDNA 3 Graphics - -![amd logo][5] - -AMD has been adding code for the RDNA 3 graphics architecture to Linux Kernel 6.1 for some time now. - -This includes support for their upcoming GPUs and various fixes for their old GPU products. - -You can go through the full list of patches [here][6]. - -#### Optimizations for AMD PCs - -![pc optimizations amd][7] - -AMD PMF has been introduced with this kernel release; it stands for AMD Platform Management Framework. - -This driver is meant to provide a framework for the quieter and more efficient running of AMD PCs. - -It makes use of the onboard sensors in tandem with AMD's various thermal and power kernel drivers to achieve that. - -#### Improved ARM SoC Support - -![arm soc][8] - -Linux Kernel 6.1 brings in support for additional ARM SoCs, such as: - -- MediaTek MT8186 -- Texas Instruments AM62A -- NXP i.MX8DXL -- Various variants of Qualcomm IPQ8064 - -The kernel also features support for a few smartphones such as PINE64 PinePhone Pro, Sony Xperia 1 IV, and Samsung Galaxy E5/E7/Grand Max. - -#### Storage Improvements - -The kernel has a lot of improvements for storage. - -For instance, Btrfs is bringing async buffered writes with this update, resulting in more than 2x throughput improvement. - -Then there are the improvements to EXT4 with performance optimization and a few bug fixes. - -Alongside this, [EROFS][9] has introduced FSCache-based shared domain support to Linux Kernel 6.1. - -#### 🛠️ Other Improvements - -Those are not the only improvements being offered with Linux Kernel 6.1; here are some of the other notable ones: - -- **Support for Microsoft Surface Pro 9 and Surface Laptop 5.** -- **Enablement of AMD Zen 4 LbrExtV2.** -- **AMD CPU Cache-To-Cache & Memory Reporting Capabilities.** -- **Introduction of AMD IOMMU v2.** -- **Preparations for Wi-Fi 802. 11be/Wi-Fi 7.** - -### How to Install Linux Kernel 6.1? - -You can easily upgrade if you use an Arch-based distro or Fedora. - -Unfortunately, if you are using other Linux distributions (Pop!_OS and Linux Lite can be an exception to some extent), you may not receive an upgrade directly from your distro. - -However, almost all Linux distributions explicitly allow you to install the latest kernel. Here's a guide for Ubuntu 👇 - -So, if you are feeling adventurous (and know what you are doing), you can find the newer kernel listed on [Linux Kernel Archives][10]. You can download the [tarball][11] to test it out. - -However, as always, we recommend waiting for your Linux distribution to push an update if you do not want to take any chances. It is best to stick to what’s being offered for your Linux distribution by default. - -[Download Linux 6.1][12] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linux-kernel-6-1-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-kernel-6-1-release.png -[2]: https://lore.kernel.org/lkml/CAHk-=wj_HcgFZNyZHTLJ7qC2613zphKDtLh6ndciwopZRfH0aQ@mail.gmail.com/T/#u -[3]: https://news.itsfoss.com/content/images/2022/12/linux-6-1-rust.png -[4]: https://news.itsfoss.com/content/images/2022/12/intel-meteor.png -[5]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3.png -[6]: https://lists.freedesktop.org/archives/dri-devel/2022-September/373430.html -[7]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--1-.png -[8]: https://news.itsfoss.com/content/images/2022/12/amd-rdna-3--2-.png -[9]: https://en.wikipedia.org/wiki/EROFS -[10]: https://www.kernel.org/ -[11]: https://git.kernel.org/torvalds/t/linux-6.1.tar.gz -[12]: https://www.kernel.org From cd8f6383a9f320a2a4bb080b0de71a6b083fc463 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 13 Dec 2022 11:47:36 +0800 Subject: [PATCH 720/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow 感谢您,完成了第一篇翻译贡献!翻译的很好。 --- ...ng Linus-s Law for open source security.md | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/translated/talk/20210209 Understanding Linus-s Law for open source security.md b/translated/talk/20210209 Understanding Linus-s Law for open source security.md index 70ce78b0dd..9657a6a3fa 100644 --- a/translated/talk/20210209 Understanding Linus-s Law for open source security.md +++ b/translated/talk/20210209 Understanding Linus-s Law for open source security.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (CanYellow) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Understanding Linus's Law for open source security) @@ -9,38 +9,38 @@ 理解开源安全中的李纳斯定律 ====== -李纳斯定律 (Linus's Law) 即“只要有足够多的眼睛关注,任何漏洞都无处隐藏” (given enough eyeballs, all bugs are shallow)。那么李纳斯定律是如何应用于开源软件安全的呢? -![Hand putting a Linux file folder into a drawer][1] +李纳斯定律Linus's Law即“只要有足够多的眼睛关注,任何漏洞都无处隐藏given enough eyeballs, all bugs are shallow”。那么李纳斯定律是如何应用于开源软件安全的呢? -2021 年,有更多的原因使人们比以往更钟情 Linux 。在本系列中,我将分享 21 个使用 Linux 的不同原因。 这篇文章则讨论 Linux 对开源软件安全的影响。 +![][0] -开源软件的一个常被赞扬的优点是它的代码能够被任何人检查(安全专家通常称之为“代码审计”)。然而,如果你真的去问很多开源软件用户他们上一次检查代码是什么时候。你大概只能收获他们茫然的眼神或者是喃喃的低语。此外,对于一些相当大型的开源应用,高效地审查每一行代码也是困难的。 +这篇文章讨论 Linux 对开源软件安全的影响。 + +开源软件的一个常被赞扬的优点是它的代码能够被任何人审查(安全专家通常称之为“代码审计”)。然而,如果你真的去问很多开源软件用户他们上一次检查代码是什么时候。你大概只能收获他们茫然的眼神或者是喃喃的低语。此外,对于一些相当大型的开源应用,有效地审查每一行代码也是困难的。 根据上述这些稍显不安的事实,我们不得不思考:如果没有人察看这些代码,它是开源还是闭源真的有关系吗? - ### 你应该相信开源吗? -计算机爱好者倾向于作出认为开源软件比其他软件更加安全的传统假设。我们通常不会讨论这意味者什么:比较的基础是什么(比什么更安全?),或者上述结论是如何得到的。这是一个危险的陈述,因为它表明只要你将一些东西称之为“开源”,它就自动如魔法般地继承了更高的安全性。这不是开源,事实上,这正是开源安全所非常反对的。 +计算机爱好者倾向于作出认为开源软件比其他软件更加安全的传统假设。我们通常不会讨论这意味者什么:比较的基础是什么(比什么“更”安全?),或者上述结论是如何得到的。这是一个危险的陈述,因为它表明只要你将一些东西称之为“开源”,它就自动如魔法般地继承了更高的安全性。这不是开源,事实上,这正是开源安全非常反对的。 -除非你已经亲自审计并理解了软件代码,否则就不应该假定一个应用程序是安全的。一但你做到了这一点,就可以给予它_最高信任_。_最高信任_不是对计算机而言的,而是对你本人而言的,至少在这一应用程序被渗透攻击之前,你信任它是因为你选择了相信它是安全的。 +除非你已经亲自审计并理解了软件代码,否则就不应该假定一个应用程序是安全的。一但你做到了这一点,就可以给予它 终极信任ultimate trust。_终极信任_ 不是对计算机而言的,而是对你本人而言的,至少在这一应用程序被渗透攻击之前,你信任它是因为你选择了相信它是安全的。 -使用者本人是唯一可以对软件代码最高信任的人,因此任何人想要获得这样的享受都必须亲自审查代码。相信其他人的话是不管用的。 +使用者本人是唯一可以对软件代码给予终极信任的人,因此任何人想要获得这样的享受都必须亲自审查代码。相信其他人的话是不管用的。 -只有你已经亲自审计并理解了软件代码,你才可以对一个应用程序给予最高信任,最高信任的范围可以是从_根本不信任_到_相当信任_之间。然而我们并没有一个关于信任程度的标准对照表,这是一个你必须亲自做出的个人选择。如果你已经听说了一款应用程序的安全性是可以信任的,相比没有任何建议的情况而言,你可能更加信任它。 +在你已经亲自审计并理解了软件代码之前,你对一个应用程序给予的最大信任度是一个范围,可以是从 _根本不信任_ 到 _相当信任_ 之间。然而我们并没有一个关于信任程度的标准对照表,这是一个你必须亲自做出的个人选择。如果你已经从非常信任的人那里听说了一款应用程序是安全的,那么你可能会更信任这个软件,而不是信任那些你没有得到信任建议的东西。 -然而,因为无法审计专有(闭源)软件代码,你不可能给予它_最高信任_。 +然而,因为无法审计专有(闭源)软件代码,你不可能给予它 _终极信任_。 ### 李纳斯定律 -现实很骨感,并不是每个人都是程序员,同时也不是每个程序员都有时间检查数以万计的代码行。因此如果你没有亲自审查代码,你就只能选择相信(一定程度上)_亲自_审查了代码的人。 +现实很骨感,并不是每个人都是程序员,同时也不是每个程序员都有时间检查数以万计的代码行。因此如果你没有亲自审查代码,你就只能选择(一定程度上)相信那些 _亲自_ 审查了代码的人。 -那么,有哪些人会审计代码呢? +那么,有哪些人会审查代码呢? -李纳斯定律声称_只要有足够的眼睛关注,任何漏洞都无处隐藏_,然而我们并不知道多少双眼睛是“足够”的。请不要低估这一数量,应用程序往往经过了远超你想象数量的人员审计。原始开发人员以及后续开发人员显然清楚他们自己写下的代码,不过开源软件往往都是团队成果,开源时间越长,阅读了代码的开发人员越多。新加入的开发人员也必须回顾项目代码的核心部分,因为他们必须学习基础代码以加入新的功能。 +李纳斯定律声称 _只要有足够的眼睛关注,任何漏洞都无处隐藏_,然而我们并不知道多少双眼睛是“足够”的。请不要低估这一数量,应用程序往往经过了远超你想象数量的人员审查。原始开发人员以及后续开发人员显然清楚他们自己写下的代码,不过开源软件往往都是团队成果,开源时间越长,阅读了代码的开发人员越多。新加入的开发人员也必须回顾项目代码的核心部分,因为他们必须学习基础代码以加入新的功能。 -同时,为了使开源软件能够在 Linux 发行版上可用,负责开源软件打包分发的开发人员会加入多个项目。有时一个应用程序可能会在不熟悉项目代码的情况下打包,但是大多数时候,开源软件打包人员都是熟悉所打包的项目代码的。这不仅仅是因为他们不想在他们不信任的软件上签名,还由于他们可能不得不修改代码来使得程序能够正确编译。漏洞报告人员和漏洞修复人员一般也是熟悉基本代码的,因为他们需要尝试解决的问题小到运行异常,大到程序崩溃。当然,一些漏洞报告人员无意中揭示了代码漏洞不是通过亲自审查项目代码而是通过关注明显未按预期工作的现象。系统管理员通常都是通晓用户依赖的重要应用软件的代码的。最后,是安全研究人员,他们专门深入代码内部以揭露潜在的漏洞。 +同时,为了使开源软件能够在 Linux 发行版上可用,负责开源软件打包分发的开发人员会加入多个项目。有时一个应用程序可能会在不熟悉项目代码的情况下打包,但是大多数时候,开源软件打包人员都是熟悉所打包的项目代码的。这不仅仅是因为他们不想在他们不信任的软件上签名,还由于他们可能不得不修改代码来使得程序能够正确编译。漏洞报告人员和漏洞修复人员一般也是熟悉代码库的,因为他们需要尝试解决小到运行异常,大到程序崩溃的问题。当然,一些漏洞报告人员不是通过亲自审查项目代码,而是通过关注明显未按预期工作的现象,无意中揭示了代码漏洞。系统管理员通常都是通晓用户依赖的重要应用软件的代码的。最后,还有一些安全研究人员,他们专门深入代码内部以揭露潜在的漏洞。 ### 信任与透明 @@ -48,22 +48,21 @@ 当然,也有例外。有时仅仅一个系统调用或者链接一个有缺陷的库文件就可能引入一系列漏洞。幸运的是,多亏安全研究人员以及漏洞数据库所扮演的积极角色,这些错误相对而言是容易发现的。 -一些人指向错误追踪系统,比如 [通用漏洞披露 (CVE)][2] 网站,并推断开源软件显而易见是不安全的。毕竟已经向公众公开了大量的安全风险,涉及许多开源项目。但是不要被数据欺骗了。只是因为我们不能发现闭源软件的漏洞,并不意味着闭源软件中不存在漏洞。事实上,已经有很多针对闭源软件的漏洞攻击提出了,闭源软件也是存在漏洞的。区别在于开发者(以及用户)可以查看开源软件的_所有的漏洞_从而降低漏洞的影响。这是扩大对开源软件信任的系统机制的一部分,却正是闭源软件软件所缺少的。 +一些人指着错误追踪系统,比如 [通用漏洞披露][2]Common Vulnerabilities and Exposures(CVE)网站,并推断开源软件显而易见是不安全的。毕竟已经向公众公开了大量的安全风险,涉及许多开源项目。但是不要被数据欺骗了。只是因为我们看不到现闭源软件的漏洞,并不意味着闭源软件中不存在漏洞。事实上,已经有很多针对闭源软件的漏洞攻击提出了,闭源软件也是存在漏洞的。区别在于开发者(以及用户)可以查看开源软件的 _所有的漏洞_ 从而降低漏洞的影响。这是扩大对开源软件信任的系统机制的一部分,却正是闭源软件软件所缺少的。 对于任何代码而言,可能永远没有“足够的眼睛”来发现漏洞,但是开发社区越壮大、越多样化,越有机会发现和修复代码中的缺陷。 ### 信任与人 -在开源社区中,参与同一项目的众多开发者已经发现“不安全”的漏洞却保持沉默的的可能性是微乎其微的,因为人们彼此间不会同意以这样的方式密谋。我们已经看到了在应对 COVID-19 的过程中,人类的行为是如何不一致了,在这里也一样: +在开源社区中,参与同一项目的众多开发者已经发现“不安全”的漏洞,却保持沉默的的可能性是微乎其微的,因为人们很少同意以这样的方式合谋。我们已经看到了在应对 COVID-19 的过程中,人类的行为是如何不一致了,在这里也一样: - * 我们都识别出了漏洞(病毒)。 - * 我们知晓如何避免它传播(待在家里)。 + * 我们都发现了漏洞(病毒)。 + * 我们知晓如何避免它传播(待在家里)。 * 然而病毒还是在持续传播,因为总是有一个或者多个人偏离了消减疫情的计划。 -开源软件中的漏洞也一样,如果有人发现了漏洞总会公之于众(当然,我们说的是“假如”能够发现)。 - -然而就专有软件而言,有很大可能参与项目的众多开发者即使注意到不安全的漏洞却仍然保持沉默,因为专有模式依赖于回报。如果一个开发者将漏洞泄漏出来,他可能只是伤害了该专有软件的声誉,进而降低软件的销售额;或者,在更糟糕的情况下,他可能因此而丢了工作。付费秘密开发软件的开发者倾向于不讨论软件的缺陷。如果你曾经是一名开发者,你可能曾经签署过 NDA (译者注:Non-Disclosure Agreement,保密协议),你可能被培训过商业秘密的重要性等等不一而足。专有软件鼓励在面对严重的秘密缺陷时保持沉默,更多时候甚至是强制要求沉默。 +开源软件中的漏洞也一样,如果有人发现了漏洞总会公之于众(当然,我们说的是“假如”能够发现)。 +然而就专有软件而言,有很大可能参与项目的众多开发者即使注意到不安全的漏洞却仍然保持沉默,因为专有模式依赖于薪水。如果一个开发者将漏洞泄漏出来,他可能只是伤害了该专有软件的声誉,进而降低软件的销售额;或者,在更糟糕的情况下,他可能因此而丢了工作。开发人员拿着薪水秘密地研究软件,往往不会谈论其缺陷。如果你曾经是一名开发者,你可能曾经签署过 NDA (LCTT 译注:保密协议Non-Disclosure Agreement),也被培训过商业秘密的重要性,等等不一而足。专有软件鼓励在面对严重的秘密缺陷时保持沉默,更多时候甚至是强制要求沉默。 ### 信任与软件 @@ -71,8 +70,7 @@ 如果你必须相信未经你审计的软件,那么选择相信已经面向那些更有可能将软件缺陷公之于众的开发者公开代码的软件。 -开源软件并没有比专有软件继承更高的安全性,但是修复它的系统得到了更好的规划实施和人员配置。 - +开源软件并没有比专有软件继承更高的安全性,但是修复它的系统得到了更好的规划、实施和人员配置。 -------------------------------------------------------------------------------- @@ -81,7 +79,7 @@ via: https://opensource.com/article/21/2/open-source-security 作者:[Seth Kenlon][a] 选题:[lujun9972][b] 译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -89,3 +87,4 @@ via: https://opensource.com/article/21/2/open-source-security [b]: https://github.com/lujun9972 [1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/yearbook-haff-rx-linux-file-lead_0.png?itok=-i0NNfDC (Hand putting a Linux file folder into a drawer) [2]: https://cve.mitre.org +[0]: https://img.linux.net.cn/data/attachment/album/202212/13/114637dg6w34suucuupucv.jpg \ No newline at end of file From bbbb0d3de4b70c9cca9ee1b3864b1a3368cc2e14 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 13 Dec 2022 11:49:40 +0800 Subject: [PATCH 721/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow 本文首发地址:https://linux.cn/article-15344-1.html 您的 LCTT 专页:https://linux.cn/lctt/CanYellow --- ...09 Understanding Linus-s Law for open source security.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename {translated/talk => published}/20210209 Understanding Linus-s Law for open source security.md (97%) diff --git a/translated/talk/20210209 Understanding Linus-s Law for open source security.md b/published/20210209 Understanding Linus-s Law for open source security.md similarity index 97% rename from translated/talk/20210209 Understanding Linus-s Law for open source security.md rename to published/20210209 Understanding Linus-s Law for open source security.md index 9657a6a3fa..441574827d 100644 --- a/translated/talk/20210209 Understanding Linus-s Law for open source security.md +++ b/published/20210209 Understanding Linus-s Law for open source security.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (CanYellow) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15344-1.html) [#]: subject: (Understanding Linus's Law for open source security) [#]: via: (https://opensource.com/article/21/2/open-source-security) [#]: author: (Seth Kenlon https://opensource.com/users/seth) @@ -10,7 +10,7 @@ 理解开源安全中的李纳斯定律 ====== -李纳斯定律Linus's Law即“只要有足够多的眼睛关注,任何漏洞都无处隐藏given enough eyeballs, all bugs are shallow”。那么李纳斯定律是如何应用于开源软件安全的呢? +李纳斯定律Linus's Law即“只要有足够多的眼睛关注,任何漏洞都无处隐藏given enough eyeballs, all bugs are shallow”。那么李纳斯定律是如何应用于开源软件安全的呢? ![][0] From ab6e90fcdc37e3f999de3a823e61b04e98827854 Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Tue, 13 Dec 2022 15:27:50 +0800 Subject: [PATCH 722/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20220608 WiFi 6 Promises Much More than Faster Speeds.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md index ba0801c1a2..fd7b08a93e 100644 --- a/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md +++ b/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/" [#]: author: "Sharon Katta https://www.opensourceforu.com/author/sharon-katta/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "cool-summer-021" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -84,7 +84,7 @@ via: https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faste 作者:[Sharon Katta][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[cool-summer-021](https://github.com/cool-summer-021) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 0aa2cac3e785a548eda63dddec9b05ed3a28d0dd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 13 Dec 2022 15:33:10 +0800 Subject: [PATCH 723/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 采用被公开使用的译名 --- ... Understanding Linus-s Law for open source security.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/published/20210209 Understanding Linus-s Law for open source security.md b/published/20210209 Understanding Linus-s Law for open source security.md index 441574827d..4ff8387172 100644 --- a/published/20210209 Understanding Linus-s Law for open source security.md +++ b/published/20210209 Understanding Linus-s Law for open source security.md @@ -7,10 +7,10 @@ [#]: via: (https://opensource.com/article/21/2/open-source-security) [#]: author: (Seth Kenlon https://opensource.com/users/seth) -理解开源安全中的李纳斯定律 +理解开源安全中的林纳斯定律 ====== -李纳斯定律Linus's Law即“只要有足够多的眼睛关注,任何漏洞都无处隐藏given enough eyeballs, all bugs are shallow”。那么李纳斯定律是如何应用于开源软件安全的呢? +林纳斯定律Linus's Law即“只要有足够多的眼睛关注,任何漏洞都无处隐藏given enough eyeballs, all bugs are shallow”。那么林纳斯定律是如何应用于开源软件安全的呢? ![][0] @@ -32,13 +32,13 @@ 然而,因为无法审计专有(闭源)软件代码,你不可能给予它 _终极信任_。 -### 李纳斯定律 +### 林纳斯定律 现实很骨感,并不是每个人都是程序员,同时也不是每个程序员都有时间检查数以万计的代码行。因此如果你没有亲自审查代码,你就只能选择(一定程度上)相信那些 _亲自_ 审查了代码的人。 那么,有哪些人会审查代码呢? -李纳斯定律声称 _只要有足够的眼睛关注,任何漏洞都无处隐藏_,然而我们并不知道多少双眼睛是“足够”的。请不要低估这一数量,应用程序往往经过了远超你想象数量的人员审查。原始开发人员以及后续开发人员显然清楚他们自己写下的代码,不过开源软件往往都是团队成果,开源时间越长,阅读了代码的开发人员越多。新加入的开发人员也必须回顾项目代码的核心部分,因为他们必须学习基础代码以加入新的功能。 +林纳斯定律声称 _只要有足够的眼睛关注,任何漏洞都无处隐藏_,然而我们并不知道多少双眼睛是“足够”的。请不要低估这一数量,应用程序往往经过了远超你想象数量的人员审查。原始开发人员以及后续开发人员显然清楚他们自己写下的代码,不过开源软件往往都是团队成果,开源时间越长,阅读了代码的开发人员越多。新加入的开发人员也必须回顾项目代码的核心部分,因为他们必须学习基础代码以加入新的功能。 同时,为了使开源软件能够在 Linux 发行版上可用,负责开源软件打包分发的开发人员会加入多个项目。有时一个应用程序可能会在不熟悉项目代码的情况下打包,但是大多数时候,开源软件打包人员都是熟悉所打包的项目代码的。这不仅仅是因为他们不想在他们不信任的软件上签名,还由于他们可能不得不修改代码来使得程序能够正确编译。漏洞报告人员和漏洞修复人员一般也是熟悉代码库的,因为他们需要尝试解决小到运行异常,大到程序崩溃的问题。当然,一些漏洞报告人员不是通过亲自审查项目代码,而是通过关注明显未按预期工作的现象,无意中揭示了代码漏洞。系统管理员通常都是通晓用户依赖的重要应用软件的代码的。最后,还有一些安全研究人员,他们专门深入代码内部以揭露潜在的漏洞。 From a7e9ea4d8853375ae8ddaa8b075ae7abbddebfa4 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Tue, 13 Dec 2022 19:12:27 +0800 Subject: [PATCH 724/925] after work --- ....5 ⭐️⭐️ Our open source startup journey.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md index 82d777b905..3dcf5ba6af 100644 --- a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -7,43 +7,98 @@ [#]: publisher: " " [#]: url: " " +开启我们的开源之旅 + +DN Our open source startup journey ====== +ToolJet 是一款开源的代码量少的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。 + +DN [ToolJet][1] is an open source, low-code framework for rapidly building and deploying internal tools. Our codebase is 100% JavaScript and TypeScript. +ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队了。 + +DN A lone developer in April 2021 started ToolJet. The public beta launched in June 2021 and was an instant hit. With this traction, ToolJet raised funding, and currently, we have a team of 20 members. +### 为什么选择开源 + +DN ### Why open source? +在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。 + +DN Before working on ToolJet, I worked with a few enterprise clients as a consultant. Many of these clients were large enough to build and maintain dozens of internal tools. Despite the constant requests from sales, support, and operations teams to add more features and fix the bugs in their internal tools, engineering teams struggled to find the bandwidth to work on the internal utilities. +我尝试过多个平台来构建和维护内部工具。大部分的平台是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台代码,而且大多数的平台工具都不支持本地托管。 + +DN I tried using a few platforms to build and maintain internal tools. Most of these tools were very expensive, and frequently, they didn't really fit the requirements. We needed modifications, and most utilities didn't support on-premise hosting. +作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。 + +DN As a Ruby developer, I primarily used ActiveAdmin and RailsAdmin to build internal tools. Both utilities are amazing, but making them work with more than one data source is difficult. I then realized there is a need in the market for a framework that could build user interfaces and connect to multiple data sources. I believe any tool built for developers should be open source. Most of the tools and frameworks that developers use daily result from people from all over the world collaborating in public. +### 第一次提交 + +DN ### The first commit +制作像 ToolJet 这样的工具需要全身心的投入,出售我的一个个人项目后我获得了5-6个月的空闲,我立即着手将在我脑海里酝酿了两年的想法付诸现实。 + +DN Building something like ToolJet needed a full-time commitment. Selling one of my side projects gave me a runway of 5-6 months, and I immediately started working on an idea I'd had in mind for at least two years. +2021年4月1日,我完成了 ToolJet 的第一次提交(使用 rails new 命令)。 + +DN The first commit (rails new) of ToolJet was on April 1, 2021. +稍等!我刚刚说 ToolJet 的代码是完全基于 JavaScript 的?请接着往下看。 + +DN Wait! I said the codebase is 100% JavaScript. Continue reading to discover why. +TD +### 构建工具并推销给投资者 + ### Building and pitching investors +4、5月间,我一直坐在电脑屏幕前编写代码和向种子轮的投资者推销我的工具。 + +DN I sat in front of my screens for most of April and May, coding and pitching to investors for a pre-seed round. +我的工作还包括创建拖放式应用程序构建器,撰写所有的文档以保证有在主流平台上设置 ToolJet 的文档,创建项目网站,制作发布时所需的海报以及博客文章等等。这一过程进展顺利,没有遇到大的挑战。当时, ToolJet 的前端使用的是 React ,而后端则用的是 Ruby on Rails 。 + +DN My work also included creating the drag-and-drop application builder, documenting everything, ensuring there was documentation for setting ToolJet up on popular platforms, creating a website, creating posters and blog posts for launch, and more. The process went well without any major challenges. At this point, the frontend of ToolJet was built using React, with the backend using Ruby on Rails. +编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我来了电话。 + +DN While the coding was going well, investor pitches weren't going great. I sent around 40 cold emails to venture capitalist firms and "angel investors" focused on early-stage funding. While most of them ignored the email, some shared their reason for rejection, and some scheduled a call. +大部分的电话内容都是一样的:我无法说服他们接受开源商业模型。 + +DN Most of the calls were the same; I couldn't convince them of an open source business model. +### 工具发布 + +DN ### The launch +6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这是原始的[发布帖][2]。 + +DN June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2]. + I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars. ![ToolJet repo stats on GitHub][4] @@ -112,3 +167,5 @@ via: https://opensource.com/article/22/10/tooljet-open-source-journey [8]: https://blog.tooljet.com/how-we-migrated-tooljet-server-from-ruby-to-node-js [9]: https://opensource.com/sites/default/files/2022-10/tooljet-star-history.png [10]: https://opensource.com/article/19/11/product-vs-project + +[11]: https://www.producthunt.com/ From 08e6da5fd571213a9c38f682e704648ab4f2a07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:45:58 +0800 Subject: [PATCH 725/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221212.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20Best=20Linux=20Phones=20to=20Watch=20Out=20for=20in=202023.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... 5 Best Linux Phones to Watch Out for in 2023.md | 226 ++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md diff --git a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md new file mode 100644 index 0000000000..4988fb5a7c --- /dev/null +++ b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md @@ -0,0 +1,226 @@ +[#]: subject: "5 Best Linux Phones to Watch Out for in 2023" +[#]: via: "https://www.debugpoint.com/best-linux-phones/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Best Linux Phones to Watch Out for in 2023 +====== + +**Here’s a list of the best Linux Phones which may become more mainstream in 2023 with their features and price.** + +Android and iOS smartphones are the most popular ones around the world. However, many of you look for something more “open” and better at privacy. If you use Android, you forfeit your privacy. Apple’s iOS is a little better on that – but again – it’s a “walled garden”. + +That’s why Linux phones are becoming popular nowadays because they contain many options for developers and end users. Although various types of Linux phones are currently available, it still becomes confusing to choose the best one. Looking at the trends of 2022, here are some of the Linux Phones which may become more mainstream in 2023. + +### Things you should know about Linux Phones + +Before you read or even plan to buy one, there are a couple of things you should know about. Here are some of them: + +- The Linux phones use a modified version of mainstream Linux distribution with a mobile-friendly desktop environment. This is the same for most of the phones available today. +- You must manage your expectations if you plan to buy a phone and use it for your daily driver. Because the Linux phone operating systems, device features, and app ecosystem is still in the early stages, and it’s not close to the Android or iOS ecosystem, +- However, Linux phones with the operating system provide the best privacy feature, which might be the reason you can make a move. + +### Best Linux Phones + +#### Librem from Purism + +The Librem 5 – Purism is quite a famous brand in the Linux phone market. The Librem 5 model comes with PureOS, an OS designed for Linux Mobiles and not based on the android or iOS platform. It is a natively designed free and open-source OS. PureOS also supports convergence. That means you can plug your phone into a monitor via a USB hub and use it as a desktop OS. + +The phone has premium hardware and feels and focuses on security and privacy. However, this impressive smartphone comes with a little higher price tag of $1299. + +#### Key features & specification + +- Fully free and open-source Linux-based mobile operating system: PureOS +- Separate modem, Wi-Fi and Bluetooth chip +- Three dedicated hardware keys to enable and disable – internet, camera, Wi-Fi and Bluetooth +- Smart card reader +- SD card reader +- User-replaceable battery + +![Librem 5][1] + +| Specification | Description | +| :- | :- | +| **Screen** | 5.7″ (IPS TFT 720×1440) | +| **RAM** | 3 GB | +| **Storage** | 32 GB eMMC | +| **Battery** | 4500mAh | +| **CPU** | NXP i.MX 8M QUAD CORE Cortex-A53 with 64 bit ARM @max 1.5GHz | +| **GPU** | Vivante GC7000 Lite | +| **Screen** | 5.7Inches IPS TFT 720×1440 | +| **Camera** | 13 Mpx with LED Flash (Rear) and 8 Mpx (Front) | +| **USB** | USB Type C | + +[Official page for buying options of Librem 5][2] + +#### Pinephone + +Second on the list is Pinephone, perhaps the most complete and usable Linux phone in the market. Developed by Pine64, it has excellent features and supports multiple Linux ARM distributions for mobile phones. + +In addition, PinePhone comes in multiple versions, including a pro version, simultaneously. It is an excellent option for Linux phones as it is also cheaper. PinePhone focuses on the user’s privacy and extensibility and can be a good option if you want to start the first time with Linux phones. + +#### Key features & specification + +- Supports KDE Plasma mobile, Manjaro mobile, Sailfish OS, and Ubuntu touch +- It comes with five kill switches for LTE, Cameras, Wifi/BT, and Microphones +- Bootable microSD and 16GB/32GB eMMC +- USB Type C (Power, Data and Video Out) +- Six pogo pins allow custom hardware extensions such as a thermal camera, wireless charging, NFC, an extended battery case, or a keyboard case. +- 3.5 headphone jack +- Supports convergence to extend it as a PC +- Affordable price with starting $149 and $199 + +![Pinephone][3] + +| Specification | Description | +| :- | :- | +| **Screen** | 5.95 Inches, HD IPS capacitive touchscreen | +| **CPU** | Allwinner A64 ARM QUAD Core Cortex-A53 and 64bit | +| **GPU** | Mali-400 MP2 | +| **RAM** | Two Variants: 2GB and 3GB LPDDR3 SDRAM | +| **Storage** | Two Variants: 16GB and 32GB eMMC. | +| **Camera** | Single 5MP, 1/4″, LED Flash (Rear) and Single 2MP, f/2.8, 1/5″ (Front) | +| **Battery** | Li-ion (capacity 2800mAh) | +| **Audio Jack** | 3.5 mm | + +[Pinephone buying options][4] + +#### Pro 1 X – F(X)tec + +[Pro 1 X – F(X)tec][5] is a smartphone that offers various options for operating systems. And it’s arguably the more exciting product in this Linux phone list. + +You can use LineageOS, Android, Ubuntu Touch, etc., on the same phone. Moreover, an inbuilt slide-out keyboard makes it more unique and attractive. + +Developed by F(x)tec company in London, its new in the market and shows promise. However, it’s not yet out, with planned shipping on December 2022. Hence, you may need to wait a few days for a review. + +![Pro 1 X][6] + +#### Key features + +- First Linux-based smartphone startup with a sliding QUERTY keyboard +- Supports Ubuntu touch out of the box with an Android option +- Unlocked bootloader +- 3.5 headphone jack +- AMOLED display +- 128GB/6GB (storage and RAM) starting price $829 +- 256GB/8GB (storage and RAM) starting price $899 + +| Specification | Description | +| :- | :- | +| **CPU** | Snapdragon 662 Qualcomm | +| **GPU** | Adreno 610 Qualcomm | +| **RAM** | Two Variants: 6GB and 8GB LPDDR4 | +| **Storage** | 128GB (expandable up to 2TB) | +| **Screen** | 5.99″ with curved edge Corning® Gorilla® Glass 3 ( 2160 x 1080 FHD AMOLED Display) | +| **Camera** | 12MP Sony IMX363 (Rear) and 8MP (Front) | +| **Battery** | 3200 mAh | +| **Audio Jack** | 3.5 mm  | + +[pro 1 x buying options][5] + +#### Volla Phone + +[Volla Phone][7] can operate simultaneously with two operating systems: Ubuntu Touch and VollaOS. Moreover, VollaOS is a modified android that is google-free and simultaneously focuses on the user’s privacy. At the same time, Ubuntu Touch is a popular Linux phone distro. + +#### Key features & specifications + +- Free from Google and services +- No cloud dependency +- Encrypted device storage +- Modified Android OS: Volla OS +- Supports Ubuntu Touch, Manjaro, Sailfish OS +- USB C charging +- 3.5 headphone jack +- Fingerprint log in +- Offline maps + +![Volla Phone][8] + +| Specification | Description | +| :- | :- | +| **CPU** | MediaTek Helio P23 | +| **GPU** | ARM Mali-G71 MP2  | +| **Storage** | 64 GB, eMMC | +| **RAM** | 4 GB DDR3 RAM | +| **Screen** | 6.3Inches, IPS, 2340×1080 Pixels | +| **Camera** | 16MP with Flash (Rear) and 16MP (Front) | +| **Battery** | 4700 mAh | +| **USB** | Type C & 3.5mm Audio Jack | + +[Volla Phone buying options][9] + +#### Fairphone 4 + +It comes with PostmarketOS; [Fairphone 4][10] is another smartphone that has modular hardware. You can replace its battery effortlessly. Moreover, not just the battery, you can also replace its display, etc., just with a screwdriver.   + +Fairphone is another Linux phone which comes with modular hardware. It supports PostmarketOS and uses a modified version of Android: FairPhone OS. The primary selling point of this device is its modularity, where you can replace any part of the mobile phone. That includes the display, battery and other components of this device. + +#### Specifications + +| Specification | Description | +| :- | :- | +| **CPU** | Octa-Core Kryo 570 | +| **RAM** | Two variants: 6GB and 8GB | +| **Storage** | Two variants: 128GB or 256GB | +| **GPU** | Adreno 619 | +| **Screen** | 6.3 inch Full HD+ IPS | +| **Camera** | Dual 48MP (Rear) and 25MP (Front) | +| **Battery** | 3905 mAh Li-ion | +| **Chipset** | Qualcomm SM7225 Snapdragon 750G | + +[FairPhone buying options][11] + +#### Are there any mainstream Android phones that support Linux OS? + +If you don’t want to buy an off-the-shelf mobile phone as listed above, then you can continue using Linux mobile OS in older branded phones because Android is a modified Linux Kernel-based. Hence these devices should work with Ubuntu Touch or PostmarketOS. + +- Google Pixel 3a/3a XL +- Sony Xperia X (F5121 & F5122) +- Google Nexus 5 +- OnePlus One + +- Supported by Ubuntu Touch OS ([full list][12]) + +- Xiaomi Redmi 2 +- Xiaomi Mi Note 2 +- OnePlus GT +- OnePlus 6 + +- Supported by PostmarketOS ([full list][13]) + +### Closing notes + +So, that’s about the best Linux phones available in the market today and will continue in 2023. You can learn more about the above devices from the official website. However, I believe there will be more adoption of Linux phones in the coming days as Privacy becomes a myth every day. + +It’s true that to compete with Android and iOS, the device or OS is not sufficient. What is important is the standard, global availability for buying, low entry-level pricing in emerging markets and investment in the app ecosystem. A streamlined vision is required in the phone ecosystem to win. Without it, Linux phones will become more fragmented, as in desktops. The device makers and major FOSS players need to work together to make it successful. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-linux-phones/ + +作者:[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/12/Librem-5-image2.jpg +[2]: https://puri.sm/products/librem-5/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pinephone.jpg +[4]: https://pine64.com/product-category/pinephone +[5]: https://www.fxtec.com/pro1x +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pro-1-X.jpg +[7]: https://volla.online/de/index.html +[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/Volla-Phone.jpg +[9]: https://volla.online/de/shop/ +[10]: https://shop.fairphone.com/en/buy-fairphone-4 +[11]: https://shop.fairphone.com/ +[12]: https://devices.ubuntu-touch.io/ +[13]: https://wiki.postmarketos.org/wiki/Devices From 948514ed28eaab53ca44d2bfd3ac59ff81cd78e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:46:50 +0800 Subject: [PATCH 726/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221212.5=20=E2=AD=90=EF=B8=8F=20FreeBSD=2012.4=20is?= =?UTF-8?q?=20out=20with=20100+=20improvements=20and=20fixes.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.4 is out with 100+ improvements and fixes.md | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md diff --git a/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md b/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md new file mode 100644 index 0000000000..85f90890c8 --- /dev/null +++ b/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md @@ -0,0 +1,69 @@ +[#]: subject: "FreeBSD 12.4 is out with 100+ improvements and fixes" +[#]: via: "https://debugpointnews.com/freebsd-12-4/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +FreeBSD 12.4 is out with 100+ improvements and fixes +====== + +![][1] + +**FreeBSD 12.4 was released a few days back with several updates and improvements. Here’s a release roundup.** + +FreeBSD is a UNIX-like operating system based on [U.C. Berkley’s BSD-Lite version][2]. It is primarily used for core infra systems, routers, networking devices, and possibly running in millions of devices. FreeBSD bundles thousands of packages from desktop apps to core modules, making it easier to build your system running this awesome operating system. + +### FreeBSD 12.4 Release: Key updates + +FreeBSD 12.4 is the 5th release of the current 12 stable series and coming up after a year’s package updates, improvements and bug fixes. + +Key changes in the release include the OpenSSL version being updated to 1.1.1q, whereas OpenSSH is bumped up to 9.1p1. The LLVM toolchain suite was also upgraded to 13.0.0. Other key version upgrades include `ena` kernel driver 2.6.1, `file` 5.43, `libarchieve` 3.6.0 and `dma` 2022-01-27. + +![FreeBSD 12.4 with Xfce desktop][3] + +Furthermore, this release now allows multiple cores to process traffic to improve performance by `if_repair` driver. Also, the `tcpdump` command now allows users to set several rules which will be exposed as part of the `pflog` header. + +On top of that, the `telnetd` daemon is deprecated in this version which should be noted for network professionals. + +The total number of changes and fixes exceeds 100+, which you can read in detail in the [change log][4]. + +### Download and Upgrade + +If you are running FreeBSD 12.3 version, you can upgrade your system by issuing the following commands: + +``` +freebsd-update -r 12.4-RELEASE upgrade +``` + +``` +freebsd-update install +``` + +For a fresh download, you can get the ISO image from the following page. + +[Download FreeBSD 12.4-RELEASE][5] + +Via [announcements][6] & [change log][4]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/freebsd-12-4/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/bsd-generic-head.jpg +[2]: https://www.debugpoint.com/unix-history/ +[3]: https://debugpointnews.com/wp-content/uploads/2022/12/FreeBSD-12.4-with-Xfce-desktop.jpg +[4]: https://www.freebsd.org/releases/12.4R/relnotes/ +[5]: https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.4/ +[6]: https://www.freebsd.org/releases/12.4R/announce/ From 8143887efad84c2287e4a2d92fee2ea997a22e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:47:43 +0800 Subject: [PATCH 727/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221213.0=20=E2=AD=90=EF=B8=8F=20Puppy=20Linux=2022.1?= =?UTF-8?q?2=20(S15Pup)=20Arrives=20Based=20on=20Slackware=2015.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.12 (S15Pup) Arrives Based on Slackware 15.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md diff --git a/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md b/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md new file mode 100644 index 0000000000..980ad2ec0a --- /dev/null +++ b/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md @@ -0,0 +1,82 @@ +[#]: subject: "Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15" +[#]: via: "https://debugpointnews.com/puppy-linux-22-12-s15pup/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15 +====== + +![][1] + +**A new Puppy Linux flavour (Puppy Linux 22.12 S15Pup) is now available based on Slackware 15.** + +Puppy Linux is a super lightweight distro which runs entirely on RAM and requires a very low memory footprint. It is almost loaded with all the necessary applications for everything you need. It is quite remarkable that the Puppy Linux team managed to package all these applications, which run in low memory and surprisingly within 400 MB of ISO size. There are many variants of Puppy Linux based on Ubuntu and other distros – thanks to the fantastic Puppy Builder Woof-CE. + +### Puppy Linux 22.12 (s15pup): What’s New + +The recent release of Puppy Linux 22.12 is based on the Slackware 15.0 components, which were released in February 2022. At its core, the JWM (Joe’s Window Manager) provides flexibility and good performance in Puppy Linux because it runs off the RAM. + +![Puppy Linux 22.12 based on Slackware 15][2] + +Based on Slackware, Puppy 22.12 comes with Linux Kernel LTS series 5.15 for the 64-bit. And the 5.10 for the 32-bit system. The desktop feel is the same as other Puppy flavours based on the JWM 2.4.3. The JWM is used in other distro-based Puppy flavours as well. + +In addition, FFmpeg is loaded with Mplayer for your media playing needs – if at all required in a LIVE system. Also, the “Light” web browser, based on Firefox, gives you easy and performant access to the internet. Alternative browser installation options are also present. + +Furthermore, Puppy Linux 22.12 s15pup pre-loads most of the LXDE apps and components for the overall lightweight experience, such as Lxrandr 0.3.2, Lxtask 0.1.10 and Lxterminal 0.4.0. + +ISO of this Slackware flavour is less than 400 MB in size, and, amazingly, all of the following applications are pre-loaded on it. Here’s a summary of the key packages in this version: + +| Abiword 3.0.1 | Gparted 1.3.1 | Parcellite 1.2.1 | +| Bash 5.1.016 | Grep 3.7 | Rox-filer 17w | +| Busybox 1.35.0 | Gtk+2 2.24.33 | Samba 4.12.15 | +| Cups 2.4.2 | Gtk+3 3.24.31 | Sed 4.8 | +| Curl 7.86.0 | Gtkdialog 0.8.5a | Sylpheed 3.7.0 | +| Dhcpcd 9.4.1 | Icu4c 69.1 | Syslinux 4.07 | +| Didiwiki 0.8 | Jwm 2.4.3 | Transmission 2.60 | +| Evince 2.32.0 | Lxrandr 0.3.2 | Util-linux 2.37.4 | +| Ffmpeg 4.4.3 | Lxtask 0.1.10 | Viewnior 1.7 | +| Gcc 11.2.0 | Lxterminal 0.4.0 | Xdelta 30.16 | +| Geany 1.35 | Mesa 21.3.5 | Xsane 0.999 | +| Ghostscript 9.55.0 | MPlayer 1.4 | +| Glib2 2.70.3 | Mtpaint 3.50.09 | +| Glibc 2.33 | Ncurses 6.3 | +| Gnumeric 1.10.17 | Openssl 1.1.1s | + +### Download + +Puppy Linux is one of those few distros which still provides a 32-bit installation file alongside 64-bit. You can download this version from the following links for the respective architectures. + +- [S15Pup 64-bit – based on Slackware 15.0][3] +- [S15Pup 32-bit – based on Slackware 15.0][4] +- [ScPup 64-bit – based on Slackware current][5] +- [ScPup 32-bit – based on Slackware current][6] + +If you are running it on a virtual machine, make sure to change the CPU architecture to 64-bit before installing it. + +_Via [release announcement][7] & [release notes][8]_ + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/puppy-linux-22-12-s15pup/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/pups15head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Puppy-Linux-22.12-based-on-Slackware-15.jpg +[3]: https://sourceforge.net/projects/spup/files/S15Pup64/ +[4]: https://sourceforge.net/projects/spup/files/S15Pup32/ +[5]: https://sourceforge.net/projects/spup/files/ScPup64/ +[6]: https://sourceforge.net/projects/spup/files/ScPup/ +[7]: https://forum.puppylinux.com/viewtopic.php?t=7464&sid=5ee2c343a8dbc0babc476139d188c50f +[8]: http://distro.ibiblio.org/puppylinux/puppy-s15pup/release-S15Pup-22.12.htm From 038fd1d15b4928fc80c9d4c54bb464cde1053645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:50:34 +0800 Subject: [PATCH 728/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221213.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Battle=20of=20the=20Texts=20and=20the=20Un?= =?UTF-8?q?icode=20Savior.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Battle of the Texts and the Unicode Savior.md | 256 ++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md diff --git a/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md new file mode 100644 index 0000000000..4f5c63be1e --- /dev/null +++ b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md @@ -0,0 +1,256 @@ +[#]: subject: "Battle of the Texts and the Unicode Savior" +[#]: via: "https://itsfoss.com/unicode-linux/" +[#]: author: "Sylvain Leroux https://www.yesik.it/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Battle of the Texts and the Unicode Savior +====== + +We all know how to type text on the keyboard. Don’t we? + +So, may I challenge you to type that text in your favorite text editor: + +![«Ayumi moved to Tokyo in 1993 to pursue her career» said Dmitrii][1] + +This text is challenging to type since it contains: + +- typographical signs not directly available on the keyboard, +- hiragana Japanese characters, +- the name of the Japanese capital written with a macron on top of the two letters “o” to comply with the Hepburn romanization standard, +- and finally, the first name Dmitrii written using the Cyrillic alphabet. + +No doubt, writing such a sentence on early computers would have been simply impossible. Because computers used limited character sets, unable to let coexist several writing systems. But today such limitations are lifted as we will see in this article. + +### How do computers store text? + +Computers stores characters as numbers. And they use tables to map those numbers to the glyph used to represent them. + +For a long time, computers stored each character as a number between 0 and 255 (which fits exactly one byte). But that was far from being sufficient to represent the whole set of characters used in human writing. So, the trick was to use a different correspondence table depending on where in the world you lived. + +Here is the [ISO 8859-15][2] correspondence table commonly used in France: + +![The ISO 8859-15 encoding][3] + +But if you lived in Russia, your computer would have probably used the [KOI8-R][4] or [Windows-1251][5] encoding instead. Let’s assume that later was used: + +![The Windows-1251 encoding is a popular choice to store text written using the Cyrillic alphabets][6] + +For numbers lower than 128, the two tables are identical. This range is corresponding to the [US-ASCII][7] standard, some kind of minimum-compatible set between characters tables. But beyond 128, the two tables are completely different. + +For example, according to Windows-1251, the string _“said Дмитрий”_ is stored as: + +``` +115 97 105 100 32 196 236 232 242 240 232 233 +``` + +To follow a common practice in computer sciences, those twelve numbers can be rewritten using the more compact hexadecimal notation: + +``` +73 61 69 64 20 c4 ec e8 f2 f0 e8 e9 +``` + +If Dmitrii sends me that file, and I open it I might end up seeing that: + +``` +said Äìèòðèé +``` + +The file _appears_ to be corrupted. But it isn’t. The data— that is the _numbers_–stored in that file don’t have changed. As I live in France, my computer has _assumed_ the file to be encoded as ISO8859-15. And it displayed the characters _of that table_ corresponding to the data. And not the character of the encoding table used when the text was originally written. + +To give you an example, take the character Д. It has the numeric code 196 (c4) according to Windows-1251. The only thing stored in the file is the number 196. But that same number corresponds to Ä according to ISO8859-15. So my computer wrongly believed it was the glyph intended to be displayed. + +![When the same text file is written then read again but using a different encoding][8] + +As a side note, you can still occasionally see an illustration of those issues on ill-configured websites or in email send by [mail user agents][9] making false assumptions about the character encoding used on the recipient’s computer. Such glitches are sometimes nicknamed [mojibake][10]. Hopefully, this is less and less frequent today. + +![Example of Mojibake on the website of a French movie distributor. The website name has been changed to preserve the innocent.][11] + +### Unicode comes to save to the day + +I explained encoding issues when exchanging files between different countries. But things were even worst since the encodings used by different manufacturers for the same country were not always the same. You can understand what I mean if you had to exchange files between Mac and PC in the 80s. + +Is it a coincidence or not, the [Unicode][12] project started in 1987, led by people of Xerox and … Apple. + +The goal of the project was to define a universal character set allowing to _simultaneously_ use any character used in human writing within the same text. The original Unicode project was limited to 65536 different characters (each character being represented using 16 bits— that is two bytes per character). A number that has proven to be insufficient. + +So, in 1996 Unicode has been extended to support up to 1 million different [code points][13]. Roughly speaking, a “code point” a number that identifies an entry in the Unicode character table. And one core job of the Unicode project is to make an inventory of all letters, symbols, punctuation marks and other characters that are (or were) used worldwide, and to assign to each of them a code point that will uniquely identify that character. + +This is a huge project: to give you some idea, the version 10 of Unicode, published in 2017, defines over 136,000 characters covering 139 modern and historic scripts. + +With such a large number of possibilities, a basic encoding would require 32 bits (that is 4 bytes) per character. But for text using mainly the characters in the US-ASCII range, 4 bytes per character means 4 times more storage required to save the data and 4 times more bandwidth to transmit them. + +![Encoding text as UTF-32 requires 4 bytes per character][14] + +So besides the [UTF-32][15] encoding, the Unicode consortium defined the more space-efficient [UTF-16][16] and [UTF-8][17] encodings, using respectively 16 and 8 bits. But how to store over 100,000 different values in only 8 bits? Well, you can’t. But the trick is to use one code value (8 bits in UTF-8, 16 in UTF-16) to store the most frequently used characters. And to use several code values for the least commonly used characters. So UTF-8 and UTF-16 are _variable length_ encoding. Even if this has drawbacks, UTF-8 is a good compromise between space and time efficiency. Not mentioning being backward compatible with most 1-byte pre-Unicode encoding, since UTF-8 was specifically designed so any valid US-ASCII file is also a valid UTF-8 file. In a sense, UTF-8 is a superset of US-ASCII. And today, there is no reason for not using the UTF-8 encoding. Unless of course if you write mostly with languages requiring multi-byte encodings or if you have to deal with legacy systems. + +I let you compare the UTF-16 and UTF-8 encoding of the same string on the illustrations below. Pay special attention to the UTF-8 encoding using one byte to store the characters of the Latin alphabet. But using two bytes to store characters of the Cyrillic alphabet. That is twice more space than when storing the same characters using the Windows-1251 Cyrillic encoding. + +![UTF-16 is a variable length encoding requiring 2 bytes to encode most characters. Some character still requires 4 bytes though (for example][18] + +![UTF-8 is a variable length encoding requiring 1, 2, 3 or 4 bytes per character][19] + +### And how does that help for typing text? + +Well… It doesn’t hurt to have some knowledge of the underlying mechanism to understand the capabilities and limitations of your computer. Especially we will talk about Unicode and hexadecimal a little later. But for now… a little bit more history. Just a little bit, I promise… + +… just enough to say starting in the 80s, computer keyboard used to have a [compose key][20] (sometimes labeled the “multi” key) next to the shift key. By pressing that key, you entered in “compose” mode. And once in that mode, you were able to enter characters not directly available on your keyboard by entering mnemonics instead. For example, in compose mode, typing RO produced the ® character (which is easy to remember as an R inside an O). + +![compose key on lk201 keyboard][21] + +It is now a rarity to see the compose key on modern keyboards. Probably because of the domination of PCs that don’t make use of it. But on Linux (and possibly on other systems?) you can emulate the compose key. This is something that can be configured in the GUI on many desktop environments using the “keyboard” control panel: But the exact procedure varies depending on your desktop environment or even depending its version. If you changed that setting, don’t hesitate to use the comment section to share the specific steps you’ve followed on your computer. + +As for myself, for now, I will assume you use the default Shift+AltGr combination to emulate the compose key. + +So, as a practical example, to enter the LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, you can type Shift+AltGr<< (you don’t have to maintain Shift+AltGr pressed when entering the mnemonic). If you managed to do that, I think you should be able to guess by yourself how to enter the _RIGHT-POINTING_ DOUBLE ANGLE QUOTATION MARK. + +As another example, try Shift+AltGr--- to produce an EM DASH. For that to work, you have to press the [hyphen-minus][22] key on the main keyboard, not the one you will find on your numeric keypad. + +Worth mentioning the “compose” key works in a non-GUI environment too. But depending if you use you use X11 or a text-only console, the supported compose key sequence are not the same. + +On the console, you can check the list of supported compose key by using the `dumpkeys` command: + +``` +dumpkeys --compose-only +``` + +On the GUI, compose key is implemented at Gtk/X11 level. For a list of all mnemonics supported by the Gtk, take a look at that page: [https://help.ubuntu.com/community/GtkComposeTable][23] + +### Is there a way to avoid relying on Gtk for character composition? + +Maybe I’m a purist, but I found somewhat unfortunate the compose key support being hard-coded in Gtk. After all, not all GUI applications are using that library. And I cannot add my own mnemonics without re-compiling the Gtk. + +Hopefully, there is support for character composition at X11-level too. Formerly, through the venerable [X Input Method (XIM)][24]. + +This will work at lower-level than Gtk-based character composition. But will allow a great amount of flexibility. And will work with many X11 applications. + +For example, let’s imagine I just want to add the --> composition to enter the → character (U+2192 RIGHTWARDS ARROW), I would create a `~/.XCompose` file containing those lines: + +``` +cat > ~/.XCompose << EOT +# Load default compose table for the current local +include "%L" + +# Custom definitions + : U2192 # RIGHTWARDS ARROW +EOT +``` + +Then you can test by starting a new X11 application, forcing libraries to use XIM as input method: + +``` +GTK_IM_MODULE="xim" QT_IM_MODULE="xim" xterm +``` + +The new compose sequence should be available in the application you launched. I encourage you to learn more about the compose file format by typing `man 5 compose`. + +To make XIM the default input method for all your applications, just add to your `~/.profile` file the following two lines. that change will be effective the next time you’ll open a session on your computer: + +``` +export GTK_IM_MODULE="xim" +export QT_IM_MODULE="xim" +``` + +It’s pretty cool, isn’t it? That way you can add all the compose sequences you might want. And there are already a couple of funny ones in the default XIM settings. Try for example to press composeLLAP. + +Well, I must mention two drawbacks though. XIM is relatively old and is probably only suitable for those of us who don’t regularly need multi-bytes input methods. Second, when using XIM as your input method, you no longer can enter Unicode characters by their code point using the Ctrl+Shift+u sequence. What? Wait a minute? I didn’t talk about that yet? So let’s do it now: + +### What if there is no compose key sequence for the character I need? + +The compose key is a nice tool to type some characters not available on the keyboard. But the default set of combinations is limited, and switching to XIM and defining a new compose sequence for a character you will need only once in a lifetime can be cumbersome. + +Does that prevent you to mix Japanese, Latin and Cyrillic characters in the same text? Certainly not, thanks to Unicode. For example, the name あゆみ is made of: + +- the [HIRAGANA LETTER A (U+3042)][25] +- the [HIRAGANA LETTER YU (U+3086)][26] +- and the [HIRAGANA LETTER MI (U+307F)][27] + +I mentioned above the official Unicode character names, following the convention to write them in all upper cases. After their name, you will find their Unicode code point, written between parenthesis, as a 16-bit hexadecimal number. Does that remind you something? + +Anyway, once you know the code point of a character, you can enter it using the following combination: + +- Ctrl+Shift+u, then XXXX (the _hexadecimal_ code point of the character you want) and finally Enter. + +As a shorthand, if you don’t release Ctrl+Shift while entering the code point, you won’t have to press Enter. + +Unfortunately, that feature is implemented at software library level rather than at X11 level. So the support may be variable among different applications. In LibreOffice, for example, you have to type the code point using the main keyboard. Whereas Gtk-based application will accept entry from the numeric keypad as well. + +Finally, when working at the console on my Debian system, there is a similar feature, but requiring instead to press Alt+XXXXX where XXXXX is the code point of the character you want, but written in _decimal_ this time. I wonder if this is Debian-specific or related to the fact I’m using the en_US.UTF-8 locale. If you have more information about that, I would be curious to read you in the comment section! + +GUIConsoleCharacter | +| Ctrl+Shift+u3042Enter | Alt+12354 | あ | +| Ctrl+Shift+u3086Enter | Alt+12422 | ゆ | +| Ctrl+Shift+u307FEnter | Alt+12415 | み | + +### Dead keys + +Last but not least, there is a simpler method to enter key combinations that do not rely (necessarily) on the compose key. + +Some keys on your keyboard were specifically designed to create a combination of characters. Those are called [dead keys][28]. Because when you press them once, nothing seems to happen. But they will silently modify the character produced by the next key you will press. This is a behavior inspired from mechanical typewriter: with them, pressing a dead key imprinted a character, but will not move the carriage. So the next keystroke will imprint another character at the same position. Visually resulting in a combination of the two pressed keys. + +We use that a lot in French. For example, to enter the letter “ë” I have to press the ¨ dead key followed by the e key. Similarly, Spanish people have the ~ dead key on their keyboard. And on the keyboard layout for Nordic languages, you can find the ° key. And I could continue that list for a very long time. + +![hungary dead keys][29] + +Obviously, not all dead keys are available on all keyboard. I fact, most dead keys are NOT available on your keyboard. For example, I assume very few of you— if any— have a dead key ­­­¯ to enter the macron (“flat accent”) used to write Tōkyō. + +For those dead keys that are not directly available on your keyboard, you need to resort to other solutions. The good news is we’ve already used those techniques. But this time we will use them to emulate dead keys. Not “ordinary” keys. + +So, a first option could be to generate the macron dead key by using Compose- (the hyphen-minus key available on your keyboard). Nothing appears. But if after that you press the o key it will finally produce “ō”. + +The list of dead keys that Gtk can produce using the compose mode can be found [here][30]. + +A different solution would use the Unicode COMBINING MACRON (U+0304) character. Followed by the letter o. I will leave the details up to you. But if you’re curious, you may discover this leads to a very subtlely different result, rather than really producing a LATIN SMALL LETTER O WITH MACRON. And if I wrote the end of the previous sentence in all uppercase, this is a hint guiding you toward a method to enter ō with fewer keystrokes than by using a Unicode combining character… But I let that to your sagacity. + +### Your turn to practice! + +So, did you get it all? Does that work on your computer? It’s your turn to try that: using the clues given above, and a little bit of practice, now you can enter the text of the challenge given in the beginning of this article. Do it, then copy-paste your text in the comment section below as proof of your success. + +There is nothing to win, except maybe the satisfaction of impressing your peers! + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/unicode-linux/ + +作者:[Sylvain Leroux][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.yesik.it/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2017/10//text-challenge.png +[2]: https://en.wikipedia.org/wiki/ISO/IEC_8859-15 +[3]: https://itsfoss.com/wp-content/uploads/2017/10//ISO_8859-15.png +[4]: https://en.wikipedia.org/wiki/KOI8-R +[5]: https://en.wikipedia.org/wiki/Windows-1251 +[6]: https://itsfoss.com/wp-content/uploads/2017/10//Windows-1251.png +[7]: https://en.wikipedia.org/wiki/ASCII +[8]: https://itsfoss.com/wp-content/uploads/2017/10//windows-1251-to-iso8859-15-encoding-decoding-error-example.png +[9]: https://en.wikipedia.org/wiki/Email_client +[10]: https://en.wikipedia.org/wiki/Mojibake +[11]: https://itsfoss.com/wp-content/uploads/2017/10/Mojibake-french-example.png +[12]: https://en.wikipedia.org/wiki/Unicode +[13]: https://en.wikipedia.org/wiki/Code_point +[14]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-32-encoding-example.png +[15]: https://en.wikipedia.org/wiki/UTF-32 +[16]: https://en.wikipedia.org/wiki/UTF-16 +[17]: https://en.wikipedia.org/wiki/UTF-8 +[18]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-16-encoding-example.png +[19]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-8-encoding-example.png +[20]: https://en.wikipedia.org/wiki/Compose_key +[21]: https://itsfoss.com/wp-content/uploads/2022/12/compose_key_on_lk201_keyboard.jpg +[22]: https://en.wikipedia.org/wiki/Hyphen-minus +[23]: https://help.ubuntu.com/community/GtkComposeTable +[24]: https://en.wikipedia.org/wiki/X_Input_Method +[25]: http://www.fileformat.info/info/unicode/char/3042/index.htm +[26]: http://www.fileformat.info/info/unicode/char/3086/index.htm +[27]: http://www.fileformat.info/info/unicode/char/307F/index.htm +[28]: https://en.wikipedia.org/wiki/Dead_key +[29]: https://itsfoss.com/wp-content/uploads/2022/12/hungary_dead_keys.png +[30]: https://help.ubuntu.com/community/GtkDeadKeyTable From 0f603275352f0f17b17cec1e46c2f1c80efe4e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:52:43 +0800 Subject: [PATCH 729/925] =?UTF-8?q?Update=2020221213.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Battle=20of=20t?= =?UTF-8?q?he=20Texts=20and=20the=20Unicode=20Savior.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md index 4f5c63be1e..529dffde10 100644 --- a/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md +++ b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md @@ -180,7 +180,8 @@ Unfortunately, that feature is implemented at software library level rather than Finally, when working at the console on my Debian system, there is a similar feature, but requiring instead to press Alt+XXXXX where XXXXX is the code point of the character you want, but written in _decimal_ this time. I wonder if this is Debian-specific or related to the fact I’m using the en_US.UTF-8 locale. If you have more information about that, I would be curious to read you in the comment section! -GUIConsoleCharacter | +| GUI | Console | Character | +| :- | :- | :- | | Ctrl+Shift+u3042Enter | Alt+12354 | あ | | Ctrl+Shift+u3086Enter | Alt+12422 | ゆ | | Ctrl+Shift+u307FEnter | Alt+12415 | み | From 738946292d165ba931b4ee270c764abcd5f1297b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:54:16 +0800 Subject: [PATCH 730/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221213.2=20=E2=AD=90=EF=B8=8F=20Get=20ready=20to=20u?= =?UTF-8?q?pgrade=20your=20video=20creation=20with=20Kdenlive=2022.12.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ade your video creation with Kdenlive 22.12.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md diff --git a/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md b/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md new file mode 100644 index 0000000000..c7477abc73 --- /dev/null +++ b/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md @@ -0,0 +1,88 @@ +[#]: subject: "Get ready to upgrade your video creation with Kdenlive 22.12" +[#]: via: "https://debugpointnews.com/kdenlive-22-12/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Get ready to upgrade your video creation with Kdenlive 22.12 +====== + +![][1] + +**Kdenlive 22.12: the free and open-source video editor scores another sizable update.** + +The best free and [open-source video editor][2] – Kdenlive 22.12, released with new filters, UI improvements, user-requested features and bug fixes. This release improves Kdenlive on top of its [already existing features][3] and gives you a platform to create professional-quality videos. + +Here’s what’s new. + +![Kdenlive 22.12 Running in Linux Mint][4] + +### Kdenlive 22.12: New Features + +A new “Timelines Guides” dock now lists all the timeline markers in your video project. Click on the timeline video clip to view the markers in this new dock. This is an imp[rovement in the marker features introduced in the past release. + +In addition to that, three new audio graph filters were introduced. They are audio level visualization filter, spectrum filter and waveform filter. These can be used in keyframe animations for more granular controls. Talking about keyframes, you can now use the standard CTRL+C and CTRL+V to copy/paste keyframes. + +Furthermore, if you are working in a complex timeline, you can now remove all the spaces between clips with two new options – remove spaces after playhead and all after playhead. + +![Two new UI improvements on timeline][5] + +Kdenlive also started work to move to Qt6 from Qt5 build for the upcoming releases. A continuous integration build pipeline is added for Qt6 to check the current build. However, the current version is not yet complete per the transition timeline. However, it is expected that Kdenline will be built with Qt6 as stable by mid of 2023. + +On top of the above changes, here are some key updates on this release: + +- More custom colour codes for categories +- Improved marker management with edit, add/remove multiple markers and import/export. +- Kdenlive now sends the content of the timeline to Glaxnimate (version >= 0.5.1), which then shows it as background. +- Set maximum cache with custom data storage size +- Option to hide the menu bar, replacing it with a hamburger menu +- The settings panel is cleaned up with better visibility and removed obsolete entries +- Work underway for Qt6 and KDE Frameworks 6 migration +- Improved Track composition + +### Download and upgrade + +If you are already running Kdenlive via the official distro repo, you should get this update within a couple of days. Simply update your system to get this version. + +Those of you running the Flatpak version, run the following command to get the update. + +``` +flatpak update org.kde.kdenlive +``` + +For fresh download and installation, visit the following page. + +[Download Kdenlive][6] + +If you prefer Flatpak, you can install this version from Flathub using the following command, after [setting up your system as Flatpak][7]. + +``` +flatpak install flathub org.kde.kdenlive +``` + +Via [release announcement][8] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/kdenlive-22-12/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/kdenlive-head.jpg +[2]: https://www.debugpoint.com/best-free-video-editors-linux-ubuntu/ +[3]: https://www.debugpoint.com/kdenlive-features/ +[4]: https://debugpointnews.com/wp-content/uploads/2022/12/Kdenlive-22.12-Running-in-Linux-Mint.jpg +[5]: https://debugpointnews.com/wp-content/uploads/2022/12/Two-new-UI-improvements-on-timeline.jpg +[6]: https://kdenlive.org/en/download/ +[7]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[8]: https://kdenlive.org/en/2022/12/kdenlive-22-12-released/ From 41dedc290267948ab04ca67fcbd180be46fcf157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:55:26 +0800 Subject: [PATCH 731/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221213.3=20=E2=AD=90=EF=B8=8F=20Linux=20Mint=20Upgra?= =?UTF-8?q?de=20Tool=20Usage=20Guide.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md diff --git a/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md new file mode 100644 index 0000000000..8e3ccb1d82 --- /dev/null +++ b/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md @@ -0,0 +1,104 @@ +[#]: subject: "Linux Mint Upgrade Tool: Usage Guide" +[#]: via: "https://www.debugpoint.com/mint-upgrade-tool/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Mint Upgrade Tool: Usage Guide +====== + +**Here’s how you can upgrade to new Linux Mint versions using the Mint upgrade tool, i.e. mintupgrade GUI with actual upgrade process screenshots.** + +If you are looking for **detailed upgrade** steps to the recently released **Linux Mint 21 Vanessa**, read this guide 👉 [upgrade-linux-mint-21-from-20-3][1] + +### Linux Mint Upgrade Tool + +The Linux Mint team [announced][2] a few months back, that they built a new utility to upgrade the Linux Mint’s significant versions. It’s called the “mintupgrade2”. Development is complete, and It is currently under the support and planning for upgrading to the major versions—for example, Linux Mint 20 to 21 and not the minor version upgrades. + +Although you can upgrade the versions using the standard apt commands, the Mint team believes significant version upgrades are tricky. It would be difficult for the new users to perform a seamless upgrade because it involves the terminal and a set of complex steps with commands. + +Moreover, the GUI is a wrapper with additional features to the mintupgrade program, which brings a set of pre-system checks and upgrade processes with a one-click Fix. + +In addition, the mintupgrade checks basic checks, whether you are connected to power, the system is up to date, disk space availability and many more features. + +To show you how it looks and works, we set up a testbed with LMDE 4 and give it a go. + +But before that, here’s a quick set of features: + +- Entirely GUI-driven upgrade process +- Multi-language support +- Pre-upgrade checks: system backup, power, disk space, list of removed packages +- Configurable +- Alert you about the orphaned packages from the prior version +- It gives you the option to fix issues + +### How it works + +When we ran the mint upgrade utility via the command `mintupgrade`, the GUI, the friendly welcome screen gives you an excellent starting point and starts the upgrade process. And then, it begins with a series of checks on its own. + +![Starting the upgrade process][3] + +In addition to that, when it finds some problem in your system, it stops and gives you sufficient details about it. Once you click on Fix, it can resume the process again. + +That’s not all; it can resume the upgrade process if interrupted due to network or internet or any other problem. + +The utility found the following errors in our test system during our test and fixed them with just one click. + +![Apt Cache check][4] + +![Mint Upgrade detects that system snapshots not present][5] + +![Check for Orphan Packages][6] + +![Status before upgrade][7] + +![Mint Upgrade can detect the packages require downgrade][8] + +Lastly, we successfully upgraded a test system from LMDE 4 to LMDE 5. + +![Upgrade Complete][9] + +#### How to get this upgrade utility + +The installation of the utility is easy using the commands below. However, if you are running the latest version of Linux Mint 21, it should already be installed and try by running mintupgrade from the terminal. + +``` +sudo apt update +``` + +``` +sudo apt install mintupgrade +``` + +### Closing Notes + +Finally, I think it’s one of the best utilities by the Linux Mint team. As you can see above, it handled many errors on its own. All I did was click the “Fix” button. And the utility is smart enough to understand all the failure points and take care of the remediations. + +[GitHub and source code of mintupgrade][10] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/mint-upgrade-tool/ + +作者:[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/upgrade-linux-mint-21-from-20-3/ +[2]: https://www.debugpoint.com/2022/04/linux-mint-21-announcement/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/Starting-the-upgrade-process.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/Apt-Cache-check.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-detects-that-system-snapshots-not-present.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/04/Check-for-Orphan-Packages.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Status-before-upgrade.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-can-detect-the-packages-require-downgrade.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Upgrade-Complete.jpg +[10]: https://github.com/linuxmint/mintupgrade From e987a42b69226bf089cfba03d1845e56ff6eb699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:57:20 +0800 Subject: [PATCH 732/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221213.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Us?= =?UTF-8?q?e=20Django=20to=20send=20emails=20with=20SMTP.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Use Django to send emails with SMTP.md | 300 ++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 sources/tech/20221213.4 ⭐️⭐️ Use Django to send emails with SMTP.md diff --git a/sources/tech/20221213.4 ⭐️⭐️ Use Django to send emails with SMTP.md b/sources/tech/20221213.4 ⭐️⭐️ Use Django to send emails with SMTP.md new file mode 100644 index 0000000000..7e6ab1dc0a --- /dev/null +++ b/sources/tech/20221213.4 ⭐️⭐️ Use Django to send emails with SMTP.md @@ -0,0 +1,300 @@ +[#]: subject: "Use Django to send emails with SMTP" +[#]: via: "https://opensource.com/article/22/12/django-send-emails-smtp" +[#]: author: "Sofiia Tarhonska https://opensource.com/users/sofiiatarhonska" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use Django to send emails with SMTP +====== + +Numerous professions utilize simple mail transfer protocol (SMTP) to deliver emails to their end users. SMTP also retrieves messages, though that has not been its primary use case. Open source frameworks like Django, a Python-based web framework, allows more control for sending emails using functions and expressions. + +This article shows how to configure an SMTP server and send emails in Django using SMTP. + +### Project setup and overview + +Before proceeding, this tutorial requires a code editor (such as [VS Code or Codium][1]) on your preferred device. + +Start by creating a new directory using the command in the terminal: + +``` +mkdir exampledirectory +``` + +Then change into the directory using the command: + +``` +cd exampledirectory +``` + +Within the newly created directory, create a [virtual environment][2] using the built-in venv module in the command terminal: + +``` +python -m venv +``` + +This command creates a virtual environment within the folder created earlier. To activate it, use the following command in the terminal: + +On Linux and Mac: + +``` +source .virtenv/bin/activate +``` + +On Windows: + +``` +\Scripts\activate +``` + +### Creating a Django project + +After activating the virtual environment, proceed to install the Django package from [pip][3]: + +``` +pip install django +``` + +Create a new Django project: + +``` +python -m django startproject NewEmailProject +``` + +This command creates a project with the name `NewEmailProject`. To run the project, head to the project directory (`NewEmailProject`) and run the server: + +``` +python manage.py runserver +``` + +Open the link for the developmental server in a browser. You see the Django homepage with release notes. + +### Configuration for sending emails + +Next, open the `settings.py` file (in the `NewEmailProject` folder) to customize configurations for sending emails using Django. + +Scroll to the end of the code and update the file with the following code: + +``` +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' +EMAIL_HOST = 'smtp.yourserver.com' +EMAIL_USE_TLS = False +EMAIL_PORT = 465 +EMAIL_USE_SSL = True +EMAIL_HOST_USER = 'your@djangoapp.com' +EMAIL_HOST_PASSWORD = 'your password' +``` + +Change the value of the `EMAIL_HOST` depending on your email client. Here are the acceptable values for common email clients: + +- **Gmail:**`smtp.gmail.com` +- **Outlook:**`smtp-mail.outlook.com` +- **Yahoo:**`smtp.mail.yahoo.com` + +You can change the `EMAIL_PORT` or leave 465 as the default. + +You can use the secure socket layer (SSL) and transport socket layer (TSL) interchangeably as they specify connection security. + +To figure out other custom configurations for your email server, check out the full [Django Project documentation][4]. + +### SMTP email backend + +The `EMAIL_BACKEND` expression helps determine the most suitable backend when sending emails through the Django SMTP server. This variable points to `smtp.EmailBackend`, which receives all the parameters needed for sending emails. It tells Django to send the email to the recipient email using SMTP and not to the console. + +### Sending emails with SMTP + +When the environment is set up and `settings.py` is updated, you can send emails in Django. You can use an HTML form that sends a post request of the necessary information needed for sending an email. + +Create a Django application for sending emails: + +``` +python manage.py startapp mail +``` + +Next, open the `settings.py` file and add the Django application (mail) to the `INSTALLED_APPS` list: + +``` +INSTALLED_APPS = [ +"django.contrib.admin", +"django.contrib.auth", +"django.contrib.contenttypes", +"django.contrib.sessions", +"django.contrib.messages", +"django.contrib.staticfiles", +"mail"] +``` + +### Send mail function + +In the mail application's `views.py` file, start by importing the `EmailMessage` and `get_connection` from `django.core.mail`: + +``` +from django.core.mail import EmailMessage, get_connection +``` + +The `EmailMessage` class is responsible for creating the email message itself. The `get_connection()` function returns an instance of the email backend specified in `EMAIL_BACKEND`. + +Now create a function that accepts a `POST` request, which contains form data submitted from the client side. Followed by the `get_connection()` functions parameters containing the email configurations created in the project `settings.py` file. + +Next, import the settings: + +``` +from django.conf import settings +``` + +This import allows access to the email configurations created in the `settings.py`. Next, create the variables: + +``` +subject, recipient_list, +``` + +Then you can `message`, and store the corresponding attributes used in the HTML form. The `email_from` variable contains the sender email, which is obtained from `EMAIL_HOST_USER` in the `settings.py` file. + +After the variables are processed, the `EmailMessage` class sends an email using the `sends()` method, and then closes the connection. The `send_email()` function renders the `home.html` file containing the email form. + +You can create a templates folder within your mail application and store the HTML files within that folder: + +``` +from django.core.mail import EmailMessage, get_connectionfrom django.conf import settingsdef send_email(request):   +   if request.method == "POST": +       with get_connection(   +           host=settings.EMAIL_HOST, +     port=settings.EMAIL_PORT,   +     username=settings.EMAIL_HOST_USER, +     password=settings.EMAIL_HOST_PASSWORD, +     use_tls=settings.EMAIL_USE_TLS   +       ) as connection:   +           subject = request.POST.get("subject")   +           email_from = settings.EMAIL_HOST_USER   +           recipient_list = [request.POST.get("email"), ]   +           message = request.POST.get("message")   +           EmailMessage(subject, message, email_from, recipient_list, connection=connection).send()   +  +   return render(request, 'home.html') +``` + +This is a bootstrap form for generating a message: + +``` +
+ {% csrf_token %} + 
+      +      +   
+   
+      +      +   
+   
+      +      +   
+   
+``` + +This form sends a post request to the `send_email()` function. This processes the form data and sends the email to the recipients. + +Now open the `urls.py` file in the `NewEmailProject` folder to create the homepage URL. Update the `urlpattern` list by adding the code `path("", send_email)` . + +### Sending email to multiple recipients + +To specify multiple recipients when sending the same email, create a new function called `send_emails` within the `views.py` file and modify the send function code: + +``` +def send_emails(request):   +    if request.method == "POST": +        with get_connection(   +              host=settings.EMAIL_HOST, +        port=settings.EMAIL_PORT,   +       username=settings.EMAIL_HOST_USER,   +       password=settings.EMAIL_HOST_PASSWORD,   +        use_tls=settings.EMAIL_USE_TLS +        ) as connection:   +            recipient_list = request.POST.get("email").split()   +            subject = request.POST.get("subject")   +            email_from = settings.EMAIL_HOST_USER   +            message = request.POST.get("message")   +            print(type(recipient_list)) +            EmailMessage(subject, message, email_from, recipient_list, connection=connection).send()   +  +    return render(request, 'send_emails.html') +``` + +For the `recipient_list` variable, I'm using the Python `split()` method to convert the recipients email string to list so that I can email all of them. + +Next, create another HTML file called `send_emails.html` in the templates folder and use the same form code for the `home.html` file within it. + +To specify multiple email recipients, use a space between each email address: + +``` +first@gmail.com second@gmail.com third@gmail.com +``` + +You should also update the `urlpattern` list by adding the code: + +``` +path("send-emails/", send_email) +``` + +### Sending HTML emails + +You can also send HTML emails with Django using a slightly modified version of the `send_email` function: + +``` +html_message = '''

this is an automated message

''' +msg = EmailMessage(subject, html_message, email_from,recipient_list, connection=connection) +msg.content_subtype = "html" +msg.send() +``` + +### Sending emails with attachment + +To include attachment to mails, create a variable and put it in the file path in a string like this: + +``` +attachment = "mail/templates/example.png" +``` + +Then, move the `EmailMessage` function to a variable and call the `attach_file` method followed by the `send` method: + +``` +msg = EmailMessage(subject, message, email_from, recipient_list, connection=connection) +msg.attach_file(attachment) +msg.send() +``` + +### Django email libraries + +This guide on sending emails in Django would not be complete if I didn't mention the email libraries that are available to users. Here are some noteworthy email libraries. + +- **Django mailer** is a Django app for queuing as it saves emails in a database and sends the mail out at a designated time. +- **Django templated email** aims to send templated emails. It offers features like configurable template naming and location, template inheritance, and adding recipients to the CC and BCC lists. +- **Anymail** allows the use of an email service provider (ESP). By using `django.core.mail`, it provides a sustained API that avoids tying your code to a single ESP. + +### Emailing with Django + +Sending emails in Django can sound daunting, but it's as simple as creating a virtual environment. You can add Django to the environment and create an email backend. Finally, you can set up an HTML template. Give it a try. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/django-send-emails-smtp + +作者:[Sofiia Tarhonska][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/sofiiatarhonska +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/6/open-source-alternatives-vs-code#vscodium +[2]: https://opensource.com/article/21/2/python-virtualenvwrapper +[3]: https://www.redhat.com/sysadmin/install-python-pip-linux +[4]: https://docs.djangoproject.com/en/3.2/ref/settings/#email-backend + From 162da5d306602bec897a453154215d5c9f2522f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 22:58:42 +0800 Subject: [PATCH 733/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221213.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Dr?= =?UTF-8?q?upal=2010=20is=20worth=20a=20fresh=20look.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....5 ⭐️⭐️ Drupal 10 is worth a fresh look.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 sources/tech/20221213.5 ⭐️⭐️ Drupal 10 is worth a fresh look.md diff --git a/sources/tech/20221213.5 ⭐️⭐️ Drupal 10 is worth a fresh look.md b/sources/tech/20221213.5 ⭐️⭐️ Drupal 10 is worth a fresh look.md new file mode 100644 index 0000000000..408b105756 --- /dev/null +++ b/sources/tech/20221213.5 ⭐️⭐️ Drupal 10 is worth a fresh look.md @@ -0,0 +1,79 @@ +[#]: subject: "Drupal 10 is worth a fresh look" +[#]: via: "https://opensource.com/article/22/12/drupal-10-fresh-look" +[#]: author: "Martin Anderson-Clutz https://opensource.com/users/mandclu" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Drupal 10 is worth a fresh look +====== + +The popular Drupal open source content management system (CMS) reaches a significant milestone when version 10 is released on December 14. Personally, I think Drupal X sounds way cooler, but so far, my calls to name it that haven't gotten much traction. I enlisted the help of my friend Aaron Judd of [Northern Commerce][1] to give us a sense of how cool Drupal X could look: + +![New Drupal 10 racing 10 logo][2] + +### What's a Drupal, anyway? + +Drupal is an open source CMS and development framework. While other CMS options focus on simple long-form content (think blogs) or entirely free-form content (like in Wix or Squarespace), Drupal has made a name for itself in handling more complex content architectures, in multiple languages, with robust content governance. Drupal sites (like this site, Opensource.com!) benefit from a strong role-based access control (RBAC) system, unlimited custom roles and workflows, and a powerful and extensible media library. + +Here's a rundown for anyone who hasn't kept tabs on what's coming in the newest major version. + +### A fresh face + +Most Drupal sites use custom themes to give them a unique look and feel. Still, the initial experience you have when installing a CMS matters. In Drupal, themes define the look and feel of a site, and you can use different themes for public and administrative experiences. Until recently, the Bartik and Seven themes had been the default face of Drupal for more than a decade. To put that in context, when Bartik was released, the most popular browser in the world was Internet Explorer 8. A lot has changed since then, particularly around best practices for building websites. + +In fact, a significant change in Drupal 10 will be the removal of support for Internet Explorer (IE), which is itself no longer supported by Microsoft and hasn't seen major updates since 2013. That may not sound like an improvement, but continued support for IE kept the community from adopting modern markup and styling. For example, thanks to being unencumbered by support for legacy browsers, Drupal 10 includes a new responsive grid layout that's so innovative it got a writeup in [CSS Tricks][3]. + +![Responsive grid configuration][4] + +The new faces of Drupal are two brand new themes: Olivero for visitors and Claro for admins. In addition to being fresh and modern designs, both were developed with accessibility as a top priority. + +### Improvements under the hood + +More than a decade ago, the Drupal community decided to "Get Off the Drupal Island." That meant adopting solutions shared across popular projects and frameworks instead of ones developed and maintained exclusively by the Drupal community. Today Drupal leverages a variety of projects and libraries whose names will be familiar to open source developers who have never touched Drupal: Symfony, Composer, CKEditor, Twig, Nightwatch, and more. + +That has brought a variety of powerful capabilities to Drupal and allowed it to contribute back to those solutions, benefitting a broader set of developers. It has also become a determining factor for the cadence of Drupal's major version releases. + +To illustrate, consider that Drupal 7 was released in early 2011. Drupal 8 was released almost five years later, towards the end of 2015. Drupal 9 was released in June of 2020, with a key motivator being the move to supported versions of underlying dependencies and removing deprecated code. And now, roughly two and half years later, we're already planning to release Drupal 10. This new major version will leverage updated versions of PHP, Symfony, and Composer, among others. + +### An all-new editor + +An upgrade of particular note is the move to CKEditor 5. Although notionally an incremental update, under the hood CKEditor 5 was completely rewritten, much the same as the transition from Drupal 7 to 8. In addition to a sleeker interface, CKEditor 5 has the potential for exciting new capabilities, such as real-time collaboration. Drupal's CKEditor integration for version 5 has already been augmented with a number of UI enhancements. For example, media placed within content can be configured using an overlaid toolbar ribbon instead of needing to launch a modal dialog to access these settings. Also, the styles dropdown now includes a preview of each type available. + +![Real-time collaboration][5] + +### A look ahead + +Earlier in 2022, Drupal creator and project lead Dries Buytaert announced a focus on "ambitious site builders." This means that while the community will continue to work on making the developer experience better in general, moving forward there is a particular focus on making it easier to create engaging experiences in Drupal without having to write code or use command-line tools. Three strategic initiatives embody this new focus: Automatic Updates, the Project Browser, and Recipes. + +**Automatic Updates** will reduce the total cost of ownership for Drupal sites and help them be more secure by ensuring they always have the latest core security patches. This will be a major benefit for site owners and Drupal development teams everywhere. However, judging by personal experience, Wednesday night pizza sales may take a hit (traditionally, the Drupal security team releases updates on the third Wednesday of the month). There is now a stable release of Automatic Updates as a contrib module. Work has begun to move this into Drupal core, so all Drupal sites will eventually be able to leverage this capability. + +The **[Project Browser][6]** makes Drupal sites easier to build, maintain, and evolve by allowing site builders to search and browse through a subset of Drupal's vast catalog of available modules, prefiltered to the site's Drupal version, for security, stability, and more. A site builder can select, download, and install a module without leaving the site's web interface. In fact, there's an "app store" like interface meant to promote the most popular modules available that are compatible with the current site's version of Drupal. While other CMS options have had similar offerings, this advancement means you don't need to sacrifice ease-of-use to take advantage of the power of Drupal. Also, all of the thousands of modules listed are 100% free. + +For many years Drupal has had a concept of distributions. These are opinionated versions of Drupal designed to meet specific use cases such as media publishing, fundraising, intranet portals, and more. While distributions have proven an excellent way to accelerate initial development, in practice, they have been known to require significant work to maintain and create extra work for site owners during maintenance. The **Recipes** initiative aims to make more granular, composable functionality available when building a site. Want to add a staff directory, events calendar, or locations map to your site? In the future, this will be as easy as installing a recipe and then customizing it to meet your site's specific needs. + +### It's an exciting time to try Drupal + +Drupal 10 is the culmination of work contributed by thousands of dedicated and talented community members worldwide. If you're not already using Drupal, we hope you'll try it out for your next project. There's a common saying among Drupalists: "Come for the code, stay for the community." + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/drupal-10-fresh-look + +作者:[Martin Anderson-Clutz][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/mandclu +[b]: https://github.com/lkxed +[1]: https://www.northern.co/ +[2]: https://opensource.com/sites/default/files/2022-12/DrupalX-RacerSticker-DrupalBlue-300ppi.png +[3]: https://css-tricks.com/an-auto-filling-css-grid-with-max-columns +[4]: https://opensource.com/sites/default/files/2022-11/responsive-grid-config.png +[5]: https://opensource.com/sites/default/files/2022-11/realtime-collaboration_0.gif +[6]: https://www.drupal.org/project/project_browser From ccc0dd93df7c6334ea1080e2f90a18e89350f40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 23:00:40 +0800 Subject: [PATCH 734/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221213.6=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Tr?= =?UTF-8?q?y=20this=20Linux=20web=20browser=20as=20your=20file=20manager.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Try this Linux web browser as your file manager.md | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md diff --git a/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md new file mode 100644 index 0000000000..622adb597e --- /dev/null +++ b/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md @@ -0,0 +1,96 @@ +[#]: subject: "Try this Linux web browser as your file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Try this Linux web browser as your file manager +====== + +Konqueror is a file manager and web browser for the KDE Plasma Desktop. In many ways, Konqueror defined "network transparency," as it applied to a personal desktop. With Konqueror, you can browse remote network files (including the Internet itself, which really is just a collection of remote files viewed through a fancy lens) just as easily as browsing your local files. Sometimes there was some configuration and setup required, depending on what kind of file share you needed to access. But ultimately, the goal of having instant access to all the data you had permission to view was a reality with Konqueror in ways no other file manager had achieved. And at its peak, the open source web engine it developed (KHTML) was adopted by both Apple and Google, and lives on today as the core library of modern web browsing and, technically, Electron app development. + +Today, the KDE Plasma Desktop lists Konqueror as a web browser. Officially, file management has shifted over to [Dolphin][1], but Konqueror is still capable of doing the job. For the full and classic Konqueror experience, you should try the Plasma Desktop 3.x fork [TDE][2], but in this article I use Konqueror in KDE Plasma Desktop version 5. + +### Install Konqueror + +If you're running KDE Plasma Desktop already, you may already have Konqueror installed. If not, you can install it from your distribution's software repository. On Fedora, CentOS, Mageia, OpenMandriva, and similar: + +``` +$ sudo dnf install -y konqueror konqueror-plugins +``` + +On Debian, Linux Mint, Elementary, and similar: + +``` +$ sudo apt install -y konqueror konqueror-plugins +``` + +![Image of ​Konqueror's file manager.][3] + +### Configure Konqueror as a file manager + +The most convenient feature of Konqueror is that it's a web browser in addition to being a file manager. Or at least, that's theoretically its most convenient feature. If you're not using Konqueror as a web browser, then you may not want the URL field or the search engine field at the top of every file manager window. + +As with most KDE applications, Konqueror is highly configurable. You can reposition and add and remove toolbars, add or remove buttons, and so on. + +To adjust what toolbars are displayed, launch Konqueror and go to the **Settings** menu and select **Toolbars Shown**. The **Main** toolbar is probably all you really need for file management. It's the toolbar with navigation buttons on it. However, you may not even need that, as long as you're happy to navigate with keyboard shortcuts or using the **Go** menu. + +Keyboard navigation in Konqueror is the same as in Dolphin: + +- **Alt+Left arrow**: Back one step +- **Alt+Up arrow**: Move to parent directory +- **Alt+Home**: Go to home directory + +### Side panel + +To get a side panel with a listing of common folders, press **F9** or select **Show Sidebar** from the **Settings** menu. This adds a button bar along the left side of the Konqueror window. Click the **Home** icon to display a file tree of your home directory. + +![Image of ​Konqueror with a sidebar.][4] + +As the button bar suggests, this side panel can serve many purposes. Instead of your home directory, you can display bookmarked locations, a history of recent locations you've visited, remote filesystems, and more. + +### Applications + +Some people are used to an application menu. It's efficient and quick, and always in the same place. Other people prefer to launch applications from the terminal. + +There's yet another way to view application launchers, though. Konqueror's **Go** menu allows you go to a meta location called **Applications**, which lists application launchers, by category, as files in a file manager. + +![Image of ​applications in Konqueror.][5] + +You can see this in Dolphin, too, by manually typing **applications:** in the location field, but of the two it's Konqueror that provides a menu option to go there directly. + +### Network folders + +Similarly, Konqueror also provides a menu selection to go to network folders. The greatest network folder of them all is the Internet, but **Network Folders** is the meta location for network protocols other than HTTP. Most remote locations require some setup because they usually require authentication to access. Most of them can be configured through **System Settings**, including file systems accessible over Bluetooth, SMB or CIFS, MTP devices, Fish (file system over SSH), and even Google Drive. + +### Split view + +You can split the Konqueror window into panes, allowing you to see two folders at once without opening two windows. There are two split options: a vertical split with one pane on the left and the other on the right, or a horizontal split with one pane above the other. + +To split the Konqueror window, go to the **Window** menu and select either **Split View Left/Right** or **Spit View Top/Bottom**. Each pane is independent of the other, so you can navigate around in one pane, and then drag and drop files from one to the other. + +### Conquering your file system + +Konqueror isn't _just_ a file manager, and I don't think the developers of the Plasma Desktop expect you to use it as your primary file manager. There's even an option in the **File** menu to open a location in **Dolphin**, which indicates that Konqueror is a web browser with a file manager component. But that file manager component is a nice feature to have when you need it. And if you're not a fan of all the features Dolphin offers, Konqueror could be a suitable alternative. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-konqueror + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/12/linux-file-manager-dolphin +[2]: https://opensource.com/article/19/12/linux-trinity-desktop-environment-tde +[3]: https://opensource.com/sites/default/files/2022-10/konqueror-filemanager.png +[4]: https://opensource.com/sites/default/files/2022-10/konqueror-sidebar.png +[5]: https://opensource.com/sites/default/files/2022-10/konqueror-applications.png From 6c0b75be8a3f8a7b2d3cf9643f7bef5298c5c669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 23:01:34 +0800 Subject: [PATCH 735/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221213.7=20=E2=AD=90=EF=B8=8F=20Firefox=20108=20unlo?= =?UTF-8?q?cks=20the=20power=20of=20music=20on=20the=20web=20with=20new=20?= =?UTF-8?q?WebMIDI=20API=20support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sic on the web with new WebMIDI API support.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md diff --git a/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md b/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md new file mode 100644 index 0000000000..b099cd8b00 --- /dev/null +++ b/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md @@ -0,0 +1,73 @@ +[#]: subject: "Firefox 108 unlocks the power of music on the web with new WebMIDI API support" +[#]: via: "https://debugpointnews.com/firefox-108/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Firefox 108 unlocks the power of music on the web with new WebMIDI API support +====== + +![][1] + +**Firefox 108 is now available to download, bringing the following new features.** + +The final Firefox release of this year is here – Firefox 108, closing an eventful year of this free and open-source web browser from Mozilla. + +![Firefox 108 Running in Ubuntu][2] + +### Firefox 108: Best new features + +If you are a music enthusiast, then some good news for you. Firefox now supports the [WebMIDI API][3] inside your browser with proper access controls. When you try to access MIDI devices via Firefox, then you get a prompt for installing a “[site permission add-on][4]” to enable this API. + +In addition, Firefox 108 enabled import maps by default, which means web pages can now control the behaviour of JavaScript imports more easily. And if you use Firefox, you’ll be happy to hear that it now supports proper colour correction for images tagged with ICCv4 profiles. + +Furthermore, developers added a handy keyboard shortcut – press SHIFT+ESC to open the Process Manager and quickly identify any processes using too many resources. And on Windows 11, Firefox added efficiency mode for processes used in background tabs to help save on resources. + +Elsewhere, your browser’s bookmark toolbar gets an option “Only show on New Tab” state, which now works correctly for blank new tabs. Also improved in this release is the handling of non-ASCII characters while exporting PDF forms from web pages. + +If you are a web developer, Firefox 108 also arrives with a handful of Math function updates which are summarised alongside other vital changes: + +- The `source` element supports `height` & `width` attributes when it is a child of a `picture` element. +- Trigonometric functions are now enabled with the `layout.css.trig.enabled` preference set to true by default. This allows the use of sin(), cos(), tan(), asin(), acos(), atan(), and atan2() functions +- CSS `calc-constant`type is implemented to allow for well-known constants such as pi and e within math functions +- Container query length units are now supported via the the `layout.css.container-queries.enabled` preference, which is set to false by default + +### Download and update + +For Linux distributions, if you used Firefox via your distribution’s official repository, then you should get this update within a couple of days from today. + +However, you can also download the compressed version of this release from the below page. For other download options, do visit our [Firefox download guide][5]. + +[Download Firefox 108][6] + +Happy browsing! + +- [Official release notes][7] +- [Beta108 release notes][8] +- [Developer release notes][9] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/firefox-108/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/04/firefox-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Firefox-108-Running-in-Ubuntu.jpg +[3]: https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API +[4]: https://support.mozilla.org/en-US/kb/site-permission-addons +[5]: https://www.debugpoint.com/download-firefox/ +[6]: https://ftp.mozilla.org/pub/firefox/releases/108.0/ +[7]: https://www.mozilla.org/en-US/firefox/108.0/releasenotes/ +[8]: https://www.mozilla.org/en-US/firefox/108.0beta/releasenotes/ +[9]: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/108 From 94da2fe1eef95a9d2cd9715e762506ba81fae4bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 13 Dec 2022 23:01:59 +0800 Subject: [PATCH 736/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221213.8=20=E2=AD=90=EF=B8=8F=20Kdenlive=2022.12=20R?= =?UTF-8?q?elease=20Adds=20Useful=20New=20Features.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...live 22.12 Release Adds Useful New Features.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md diff --git a/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md b/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md new file mode 100644 index 0000000000..7954cc1ae8 --- /dev/null +++ b/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md @@ -0,0 +1,106 @@ +[#]: subject: "Kdenlive 22.12 Release Adds Useful New Features" +[#]: via: "https://news.itsfoss.com/kdenlive-22-12-released/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Kdenlive 22.12 Release Adds Useful New Features +====== + +Kdenlive 22.12 upgrade is here with nice enhancements across the board. + +![Kdenlive 22.12 Release Adds Useful New Features][1] + +Kdenlive is an open-source cross-platform video editing software built by the KDE community, which has been around since 2003. + +Built using Qt and KDE Frameworks, it has been the editor of choice for many users out there. + +Recently, the latest upgrade to it i.e Kdenlive 22.12 has been made available, let me take you through the release. + +### 🆕 Kdenlive 22.12: What's New? + +![kdenlive 22.12][2] + +Kdenlive 22.12 features numerous improvements, with over 350 commits made. It brings in many new features, bug fixes, and prepares the code base for future releases. + +Let me take you through some of the notable improvements with this release. + +#### Revamped Guide and Marker System + +![kdenlive 22.12 guides dock][3] + +The guide and marker system on Kdenlive has received a major overhaul, with the key changes being: + +- All marker and guide features are now made available in the new 'Guides' dock. +- The 'Guides' dock also lets you easily seek, search, sort, and filter through the various markers and guides. It also allows for navigation with keyboard. +- You can now create many categories to suit your needs, compared to the nine categories limit previously. +- It is now also possible to edit, add, or remove multiple markers at a time, and the import/export of markers has been improved. + +#### Improved Glaxnimate Integration + +![kdenlive 22.12 glaxnimate integration][4] + +Kdenlive already had support for Glaxnimate with its previous release, but now the developers have taken it a step further. + +The editor now lets you send the content of your Kdenlive timeline to [Glaxnimate][5] (version >= 0.5.1), which will then show up in the background. + +> 💡 Glaxnimate is an open-source 2D vector drawing and animation program. + +This allows you to create animations that play together with your videos in a much easier fashion than was possible before. + +#### Various UX Improvements + +Kdenlive includes a variety of usability improvements, such as: + +- A new hamburger menu in the toolbar that can be used instead of the menu bar. +- 'What's This?' Text has been added in several places to show what a specific element does. +- You can now define a maximum size for the cached data stored by Kdenlive in the environment settings. +- The 'Settings' page has received a cleanup, and now features a reordered list of all the important options. + +#### Keyframeable Audio Graph Filters + +Existing audio graph filters like the audio level visualization filter, audio spectrum filter and audio wave form filter are now keyframeable with Kdenlive 22.12. + +They also fixed several effects that were affected due to syntax errors in the XML code and added automated tests to the build system to avoid such an issue in the future. + +#### 🛠️ Other Changes + +Besides the changes listed above, here are some of the other notable ones: + +- Improved track composition. +- PipeWire as SDL output. +- The Color Picker has been fixed on Wayland. +- Pixabay as the new video provider. +- Improved search performance. + +If you want to dive deep into the release notes, refer to the [official announcement][6]. + +### 📥 Download Kdenlive 22.12 + +For Linux, the latest release is available as an AppImage, on Flathub, and as an Ubuntu PPA. + +Head over to the [official website][7] to download those. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/kdenlive-22-12-released/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/kdenlive-22-12-release.png +[2]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12.png +[3]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12_Guides_Dock.png +[4]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12_Glaxnimate.png +[5]: https://glaxnimate.mattbas.org +[6]: https://kdenlive.org/en/2022/12/kdenlive-22-12-released/ +[7]: https://kdenlive.org/en/download/ From 42e4565291a381af0f5106bc4771ab5bfe37715f Mon Sep 17 00:00:00 2001 From: CanYellow Date: Wed, 14 Dec 2022 08:42:16 +0800 Subject: [PATCH 737/925] home trans --- ...20221019.5 ⭐️⭐️ Our open source startup journey.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md index 3dcf5ba6af..f6f3514585 100644 --- a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -98,17 +98,28 @@ DN DN June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2]. +下午6点左右,我又在 [HackerNews][3]上发帖,一个小时内,这个帖子便升至榜首。大量的访问者注册并给我的版本库点亮星标,我对此很高兴。大量的访问者和用户报告了软件和文档中的漏洞。距离在 HackNews 上发帖八个小时之后,超过1000名 GitHub 用户给 ToolJet 的 GitHub 版本库点亮星标,并且有了数百个 ToolJet 云端的注册请求。上升趋势一直持续到三天后,ToolJet 版本库总计得到了2400个星标。 +DN I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars. ![ToolJet repo stats on GitHub][4] +图片来源: + +DN Image by: GitHub StarTrack for ToolJet. (Navaneeth PK, CC BY-SA 4.0) +### 获得资助 + +DN ### Getting funding +ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们有了其他的选择,但从没有认真考虑过这些它们。这些选择包括: + +DN The traction on GitHub was enough to be noticed by the venture capitalist (VC) world. The days following the launch were packed with calls. We had other options, but did not consider seriously consider them, including: - Bootstrapping: During the early stages of the product, it was hard to find paying customers, and I did not have enough savings to fund the project until that happened. From be879fcb49a54a9c85c648f508596783275663a1 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 14 Dec 2022 08:53:18 +0800 Subject: [PATCH 738/925] translated --- ...e Images With ‘Converter’ GUI Tool in Linux.md | 87 ------------------- ...e Images With ‘Converter’ GUI Tool in Linux.md | 87 +++++++++++++++++++ 2 files changed, 87 insertions(+), 87 deletions(-) delete mode 100644 sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md create mode 100644 translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md diff --git a/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md deleted file mode 100644 index 318da04906..0000000000 --- a/sources/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux" -[#]: via: "https://itsfoss.com/converter-tool/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux -====== - -You can always [install ImageMagick][1] on your system to convert images, but not everyone likes to use the terminal for converting and manipulating images. - -So, what if you have a GUI app as a front-end to help with that? **Converter** is precisely that. - -It is a front-end to ImageMagick. So you do not need to use commands to convert and manipulate images. - -Note that most Ubuntu systems usually have ImageMagick pre-installed. You can always refer to our [installation guide][1] if you do not have it on your system. - -### Converter: A Graphical Front-end to ImageMagick - -![converter gui][2] - -It should not take a lot of effort to convert images. It is a simple task, and that is how it should be. - -I do not want to type a command to convert an image quickly. Hence, I prefer graphical tools that enable me to do things faster. - -[Converter][3] is an open-source graphical front-end that enables you to do that. It is a GTK4+libadwaita application. - -You can convert the images to various file formats that include **png, webp, jpeg, heif, heic, and bmp**. It is safe to say that you get support for the most popular image file formats. So, it should come in pretty handy. - -![file format converter][4] - -You can set a location to save all the files, and the converted images will automatically be stored at that location. - -![customize converter][5] - -You can also adjust an image’s quality, size, and background color. To access these options, click on “**More Options**” in the user interface before converting the image. - -![converter more options][6] - -The image size can be customized using its percentage, exact pixels, or ratio. For precise manipulation, changing the dimensions should help. - -If you want the image scaled to an extent, the percentage or ratio functionality should help you do that. You can also choose to add filters to your images. - -Overall, you get the basic options to re-size, convert, and optimize the image quality with Converter. - -You can also [tweak Nautilus][7] to have the [resize option in the right-click context menu][8]. It won’t be as versatile as this tool. - -### Install Converter on Linux - -Converter is available as a Flatpak on [Flathub][9] to install on any Linux distribution of your choice. - -Unfortunately, you do not get any binary packages to install on your Linux system. So, you might want to refer to our [Flatpak guide][10] to get it installed. - -``` -flatpak install flathub io.gitlab.adhami3310.Converter -``` - -You can explore more about it on its [GitLab page][3]. - -_Do you have any suggestions to nifty tools like this for us to highlight next? Let us know in the comments._ - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/converter-tool/ - -作者:[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/install-imagemagick-ubuntu/ -[2]: https://itsfoss.com/wp-content/uploads/2022/12/converter-gui.png -[3]: https://gitlab.com/adhami3310/Converter -[4]: https://itsfoss.com/wp-content/uploads/2022/12/file-format-converter.png -[5]: https://itsfoss.com/wp-content/uploads/2022/12/customize-converter.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/converter-more-options.png -[7]: https://itsfoss.com/nautilus-tips-tweaks/ -[8]: https://itsfoss.com/resize-images-with-right-click/ -[9]: https://flathub.org/apps/details/io.gitlab.adhami3310.Converter -[10]: https://itsfoss.com/flatpak-guide/ diff --git a/translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md new file mode 100644 index 0000000000..292044c8e9 --- /dev/null +++ b/translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md @@ -0,0 +1,87 @@ +[#]: subject: "Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux" +[#]: via: "https://itsfoss.com/converter-tool/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在 Linux 中使用 “Converter” GUI 工具转换和操作图像 +====== + +你可以随时在您的系统上[安装 ImageMagick][1] 来转换图像,但并不是每个人都喜欢使用终端来转换和操作图像。 + +那么,如果你有一个 GUI 应用作为前端来帮助解决这个问题呢? **Converter** 就是这样的工具。 + +它是 ImageMagick 的前端。所以你不需要使用命令来转换和操作图像。 + +请注意,大多数 Ubuntu 系统通常都预装了 ImageMagick。如果你的系统上还没有安装,你可以随时参考我们的[安装指南][1]。 + +### Converter:ImageMagick 的图形前端 + +![converter gui][2] + +转换图像不应该花费很多精力。这是一项简单的任务,而且应该如此。 + +我不想键入命令来快速转换图像。因此,我更喜欢使我能够更快地做事的图形工具。 + +[Converter][3] 是一个开源图形前端,可以让你做到这点。它是一个 GTK4+libadwaita 应用。 + +你可以将图像转换为各种文件格式,包括 **png、webp、jpeg、heif、heic 和 bmp**。可以肯定地说,你获得了对最流行的图像文件格式的支持。所以,它应该会派上用场。 + +![file format converter][4] + +你可以设置一个位置来保存所有文件,转换后的图像将自动存储在该位置。 + +![customize converter][5] + +你还可以调整图像的质量、大小和背景颜色。要访问这些选项,请在转换图像之前单击用户界面中的“**更多选项**”。 + +![converter more options][6] + +可以使用百分比、精确像素或比率自定义图像大小。对于精确操作,更改尺寸应该有所帮助。 + +如果你希望图像缩放到一定程度,百分比或比例功能应该可以帮助你做到这一点。你还可以选择为图像添加滤镜。 + +总体而言,您可以获得使用 Converter 调整大小、转换和优化图像质量的基本功能。 + +你还可以[调整 Nautilus][7] 以获得[右键单击上下文菜单中的调整大小选项][8]。它不会像这个工具那样通用。 + +### 在 Linux 上安装 Converter + +Converter 在 [Flathub][9] 上以 Flatpak 的形式提供,可以安装在你选择的任何 Linux 发行版上。 + +遗憾的是,你无法在 Linux 系统上安装任何二进制包。因此,你可能需要参考我们的 [Flatpak 指南][10]来安装它。 + +``` +flatpak install flathub io.gitlab.adhami3310.Converter +``` + +你可以在其 [GitLab 页面][3]上探索更多相关信息。 + +_你对我们接下来要重点介绍的此类有趣工具有什么建议吗? 让我们在评论中知道。_ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/converter-tool/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/install-imagemagick-ubuntu/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/converter-gui.png +[3]: https://gitlab.com/adhami3310/Converter +[4]: https://itsfoss.com/wp-content/uploads/2022/12/file-format-converter.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/customize-converter.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/converter-more-options.png +[7]: https://itsfoss.com/nautilus-tips-tweaks/ +[8]: https://itsfoss.com/resize-images-with-right-click/ +[9]: https://flathub.org/apps/details/io.gitlab.adhami3310.Converter +[10]: https://itsfoss.com/flatpak-guide/ From 94249e4608ea069ed7e29134c62f48cb93676121 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 14 Dec 2022 08:59:38 +0800 Subject: [PATCH 739/925] translating --- .../tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md index 8e3ccb1d82..fe68240171 100644 --- a/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md +++ b/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/mint-upgrade-tool/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 263a512492efc26f5888cddf281cfadddebce6cb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 14 Dec 2022 09:32:50 +0800 Subject: [PATCH 740/925] RP @geekpi https://linux.cn/article-15346-1.html --- ...Source App for Personal Relationship Management.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md (60%) diff --git a/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md similarity index 60% rename from translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md rename to published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md index 4da016170e..c159ea92bb 100644 --- a/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md +++ b/published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md @@ -3,18 +3,20 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15346-1.html" -Monica:个人关系管理的开源应用 +Monica:人际关系管理的开源应用 ====== -你可能已经知道 CRM 代表 **客户关系管理**。 我们已经有了一份帮助小型企业的[开源 CRM 软件][1]列表。 +![][0] -在这里,我将讨论一个有趣的开源 Web 应用,它采用相同的人际关系概念。 听起来很独特,对吧? +你可能已经知道 CRM 代表 客户关系管理Customer Relationship Management。 我们已经有了一份帮助小型企业的 [开源 CRM 软件][1] 列表。 -Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果你自行托管,它是免费的,如果你需要托管版本那么订阅**。 +在这里,我将讨论一个有趣的开源 Web 应用,它采用相同的人际关系概念。听起来很独特,对吧? + +Monica 是一款可让你组织和记录你与亲人互动的应用。**如果你自行托管,它是免费的,如果你需要托管版本那么订阅**。 ### Monica:跟踪社交互动 @@ -22,11 +24,11 @@ Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果 很难记住与家人、朋友或同事互动的每一个细节。 -你可以使用[笔记应用][3]或 [CubyText][4] 等知识管理应用来添加一些信息。 但这些并不是为记录你的互动而量身定制的。 因此,你将不得不付出一些努力,以在需要时得心应手的方式添加信息。 +你可以使用 [笔记应用][3] 或 [CubyText][4] 等知识管理应用来添加一些信息。但这些并不是为记录你的互动而量身定制的。 因此,你将不得不付出一些努力,以在需要时得心应手的方式添加信息。 使用 Monica,添加你的家庭、工作、联系人之间的关系、活动、日记、重要日期的提醒、债务等信息变得更加容易。 -可以将其安装在自己的服务器上或选择 **$90/年**的订阅以获得托管版本。 +可以将其安装在自己的服务器上或选择 **$90/年** 的订阅以获得托管版本。 有趣的是,开发人员最初是根据他的个人要求构建它的。 @@ -34,26 +36,26 @@ Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果 ![dashboard][5] -你可以获得大量选项来添加有关你日常生活中的人和互动的信息。 其中一些包括: +你可以获得大量选项来添加有关你日常生活中的人和互动的信息。其中一些包括: - 添加关于一个人的注释 - 列出与联系人相关的重要其他人的姓名(他们的孩子、宠物等) - 通话记录 - 每个联系人的备用联系方式 -- 重要约会和重要事件提醒。 生日会自动设置为提醒。 +- 重要约会和重要事件提醒。生日会自动设置为提醒。 - 管理礼物信息 - 有用的仪表板,一目了然 - 支持日记条目 Monica 似乎配备了各种功能,使其成为写日记、做笔记、添加联系信息、添加事件等的一体化工具。 -不幸的是,没有可用的移动应用。 你可以从 Web 浏览器访问它,但它可能不是每个人的最佳体验。 所以,如果你坚持用智能手机做笔记和其他东西,你可能想看看其他的。 +不幸的是,没有可用的移动应用。你可以从 Web 浏览器访问它,但它可能不是每个人的最佳体验。所以,如果你坚持用智能手机做笔记和其他东西,你可能想看看其他的。 ### 自托管或订阅访问 -如果你想要 Monica 的托管版本,可以查看它的[定价页面][6]了解更多信息。 +如果你想要 Monica 的托管版本,可以查看它的 [定价页面][6] 了解更多信息。 -对于自托管,你需要前往其 [GitHub 页面][7]并按照说明下载并安装它。 可以选择在 Platform.sh 或 Heroku 上快速部署。 +对于自托管,你需要前往其 [GitHub 页面][7] 并按照说明下载并安装它。可以选择在 Platform.sh 或 Heroku 上快速部署。 在选择服务器来托管 Monica 之前,请检查最低系统要求。 @@ -61,7 +63,7 @@ Monica 似乎配备了各种功能,使其成为写日记、做笔记、添加 这一切都很方便。 所以,选择对你来说不错的。 -前往其[官方网站][8]获取所有详细信息并开始使用。 +前往其 [官方网站][8] 获取所有详细信息并开始使用。 -------------------------------------------------------------------------------- @@ -84,3 +86,4 @@ via: https://itsfoss.com/monica/ [6]: https://www.monicahq.com/pricing [7]: https://github.com/monicahq/monica#get-started [8]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/14/093133zpw06jndpzbdpphp.jpg \ No newline at end of file From 8acf5763ad8338cf6a2e3b26ad8ddcfee0d37aa0 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Wed, 14 Dec 2022 16:17:09 +0800 Subject: [PATCH 741/925] translation finished , passed. --- ....5 ⭐️⭐️ Our open source startup journey.md | 123 +++++------------- 1 file changed, 30 insertions(+), 93 deletions(-) diff --git a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md index f6f3514585..c71c2778e3 100644 --- a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -7,153 +7,90 @@ [#]: publisher: " " [#]: url: " " -开启我们的开源之旅 - -DN -Our open source startup journey +开始我们的开源之旅 ====== -ToolJet 是一款开源的代码量少的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。 +[ToolJet][1] 是一款开源的低代码量的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。 -DN -[ToolJet][1] is an open source, low-code framework for rapidly building and deploying internal tools. Our codebase is 100% JavaScript and TypeScript. - -ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队了。 - -DN -A lone developer in April 2021 started ToolJet. The public beta launched in June 2021 and was an instant hit. With this traction, ToolJet raised funding, and currently, we have a team of 20 members. +ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队。 ### 为什么选择开源 -DN -### Why open source? +在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员的对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。 -在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。 +我尝试过多个平台来构建和维护内部工具。大部分平台都是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台工具的代码,而且大多数的平台工具都不支持本地托管。 -DN -Before working on ToolJet, I worked with a few enterprise clients as a consultant. Many of these clients were large enough to build and maintain dozens of internal tools. Despite the constant requests from sales, support, and operations teams to add more features and fix the bugs in their internal tools, engineering teams struggled to find the bandwidth to work on the internal utilities. - -我尝试过多个平台来构建和维护内部工具。大部分的平台是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台代码,而且大多数的平台工具都不支持本地托管。 - -DN -I tried using a few platforms to build and maintain internal tools. Most of these tools were very expensive, and frequently, they didn't really fit the requirements. We needed modifications, and most utilities didn't support on-premise hosting. - -作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。 - -DN -As a Ruby developer, I primarily used ActiveAdmin and RailsAdmin to build internal tools. Both utilities are amazing, but making them work with more than one data source is difficult. I then realized there is a need in the market for a framework that could build user interfaces and connect to multiple data sources. I believe any tool built for developers should be open source. Most of the tools and frameworks that developers use daily result from people from all over the world collaborating in public. +作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源的任务上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。 ### 第一次提交 -DN -### The first commit - -制作像 ToolJet 这样的工具需要全身心的投入,出售我的一个个人项目后我获得了5-6个月的空闲,我立即着手将在我脑海里酝酿了两年的想法付诸现实。 - -DN -Building something like ToolJet needed a full-time commitment. Selling one of my side projects gave me a runway of 5-6 months, and I immediately started working on an idea I'd had in mind for at least two years. +制作像 ToolJet 这样的工具需要全身心的投入,通过出售我的一个业余项目,我获得了5-6个月的空闲,于是我立即着手将在我脑海里酝酿了两年的想法付诸现实。 2021年4月1日,我完成了 ToolJet 的第一次提交(使用 rails new 命令)。 -DN -The first commit (rails new) of ToolJet was on April 1, 2021. - 稍等!我刚刚说 ToolJet 的代码是完全基于 JavaScript 的?请接着往下看。 -DN -Wait! I said the codebase is 100% JavaScript. Continue reading to discover why. - TD -### 构建工具并推销给投资者 - -### Building and pitching investors +### 构建完成并推销给投资者 4、5月间,我一直坐在电脑屏幕前编写代码和向种子轮的投资者推销我的工具。 -DN -I sat in front of my screens for most of April and May, coding and pitching to investors for a pre-seed round. - 我的工作还包括创建拖放式应用程序构建器,撰写所有的文档以保证有在主流平台上设置 ToolJet 的文档,创建项目网站,制作发布时所需的海报以及博客文章等等。这一过程进展顺利,没有遇到大的挑战。当时, ToolJet 的前端使用的是 React ,而后端则用的是 Ruby on Rails 。 -DN -My work also included creating the drag-and-drop application builder, documenting everything, ensuring there was documentation for setting ToolJet up on popular platforms, creating a website, creating posters and blog posts for launch, and more. The process went well without any major challenges. At this point, the frontend of ToolJet was built using React, with the backend using Ruby on Rails. +编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我回了电话。 -编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我来了电话。 - -DN -While the coding was going well, investor pitches weren't going great. I sent around 40 cold emails to venture capitalist firms and "angel investors" focused on early-stage funding. While most of them ignored the email, some shared their reason for rejection, and some scheduled a call. - -大部分的电话内容都是一样的:我无法说服他们接受开源商业模型。 - -DN -Most of the calls were the same; I couldn't convince them of an open source business model. +大部分的电话内容都是一样的:我无法说服他们接受开源商业模式。 ### 工具发布 -DN -### The launch - -6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这是原始的[发布帖][2]。 - -DN -June 7th was the day of the launch. First, we launched on ProductHunt. Six hours passed, and there were only 70 new signups. But we were trending as the #1 product of the day (and ended up as the #3 product of the week). For posterity, here's the original [post][2]. +6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这里是原始的[发布帖][2]。 下午6点左右,我又在 [HackerNews][3]上发帖,一个小时内,这个帖子便升至榜首。大量的访问者注册并给我的版本库点亮星标,我对此很高兴。大量的访问者和用户报告了软件和文档中的漏洞。距离在 HackNews 上发帖八个小时之后,超过1000名 GitHub 用户给 ToolJet 的 GitHub 版本库点亮星标,并且有了数百个 ToolJet 云端的注册请求。上升趋势一直持续到三天后,ToolJet 版本库总计得到了2400个星标。 -DN -I also posted on [HackerNews][3] around 6 PM, and within an hour, the post was #1. I was very happy that many visitors signed up and starred the repository. Many of these visitors and users reported bugs in the application and documentation. Within eight hours of posting on HN, more than 1,000 GitHub users starred ToolJet's GitHub repository, and there were hundreds of signups for ToolJet cloud. The trend continued for three days, and the repo had 2.4k stars. - ![ToolJet repo stats on GitHub][4] 图片来源: -DN -Image by: - -GitHub StarTrack for ToolJet. (Navaneeth PK, CC BY-SA 4.0) +ToolJet GitHub StarTrack (Navaneeth PK, CC BY-SA 4.0) ### 获得资助 -DN -### Getting funding +ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们也有其他的选择,但从没有认真考虑过这些它们。这些选择包括: -ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们有了其他的选择,但从没有认真考虑过这些它们。这些选择包括: +- Bootstrapping:在项目初期,难以获得付费用户,而我此前也没有足够的存款来支撑整个项目。 -DN -The traction on GitHub was enough to be noticed by the venture capitalist (VC) world. The days following the launch were packed with calls. We had other options, but did not consider seriously consider them, including: +- 作为业余项目构建:在开发小型项目上这是可以的,但我不认为这在 ToolJet 的开发上行得通,毕竟在 ToolJet 平台能够为客户所用之前我们需要创建大量的集成和 UI 控件。作为一个业余项目,要实现这些可能需要花费数月甚至数年时间。 -- Bootstrapping: During the early stages of the product, it was hard to find paying customers, and I did not have enough savings to fund the project until that happened. -- Building as a side project: While this strategy works great for smaller projects, I didn't feel it would work for ToolJet because we needed to create dozens of integrations and UI widgets before the platform could become useful for customers. As a side project, it might take months or years to achieve that. +我知道如果将 ToolJet 作为一个业余项目来开发,我可能需要花几个月的时间才能达到我期望的程度。而我希望通过扩大团队加速项目的成熟。鉴于该项目的吸引力,引入风险投资(VC)的资助是显而易见的选择。 -I knew it could take months to build the platform I wanted if ToolJet became just a side project. I wanted to accelerate growth by expanding the team, and VC funding was the obvious choice, given the traction. +好消息是在 HackNews 上发布之后的两周内我们成功募集了[155万美元的资金][5]。 -The good news is that we raised[$1.55 million in funding][5] within two weeks of the HN launch. +### 在开源中积累很重要 -### Stack matters in open source +发布后不久,我们发现许多人希望为 ToolJet 项目做贡献,但是他们几乎都是 JavaScript 开发者。我们也意识到像 ToolJet 这样的项目在未来会有成百上千的数据接口,只有基于插件的架构才行得通。我们于2021年8月决定从 Ruby 迁移到 TypeScript 上来。即使这花费了一个月的时间和巨大的努力,这仍然是我们在 ToolJet 项目上作出的最正确的决定。今天,我们有一个由我们的[插件开发套件][6]支持的可扩展的基于插件的架构。我们获得了来自超过200名开发者的贡献。关于这次迁移的文章参见[这篇博客][7]和[另一篇博客][8] -Soon after the launch, we found that many people wanted to contribute to ToolJet, but they were mostly JavaScript developers. We also realized that for a framework like ToolJet that in the future should have hundreds of data source connectors, only a plugin-based architecture made sense. We decided to migrate from Ruby to TypeScript in August 2021. Even though this took about a month and significant effort, this was one of the best decisions we've made for the project. Today, we have an extensible plugin-based architecture powered by our [plugin development kit][6]. We have contributions from over 200 developers. We've written extensively about this migration [here][7] and [here][8]. +### 发布 v1.0 版本 -### Launching v1.0 +自8月份以后,很多用户已经在生产环境中使用 ToolJet ,该平台并没有出现过任何稳定性或扩展性的问题。我们准备在发布 v1.0 版本之前完成开发人员平台的功能。开发人员平台允许任何 JavaScript 开发者构建和发布 ToolJet 插件。这样开发人员就可以为 ToolJet 开发数据接口。把集成测试的时间算上,创建一个 ToolJet 接口的时间也只需要30分钟。 -Many users have been using ToolJet on production environments since August, and the platform did not show any stability or scalability issues. We were waiting to wrap up the developer platform feature before we called it v1.0. The ToolJet developer platform allows any JavaScript developer to build and publish plugins for ToolJet. Developers are now able to make connectors for ToolJet. Creating a ToolJet connector can take just 30 minutes, including integration tests. - -### Building a growing community +### 创建持续成长的社区 ![ToolJet star history][9] -Image by: +图片来源: ToolJet Star History (Navaneeth PK, CC BY-SA 4.0) -We didn't spend money on marketing. Most of our efforts in spreading the news about ToolJet have been writing about our learnings and being active in developer communities. We have a team of three members who take care of community queries. +我们没有在销售上投入资金,我们的大部分精力都放在了传播 ToolJet 的消息、撰写我们的经验教训以及维持开发社区的活跃上。我们有一个关注社区里问题的三人团队。 -### The business model -ToolJet won't be a sustainable business without a [commercial product][10] to pay the bills. We've built an enterprise edition of ToolJet, for which customers must pay. There's no limit on usage for the free community edition, and additional features in the enterprise edition are relevant only to large teams. We have very large companies as paying customers right now, but we haven't started monetizing ToolJet aggressively. We have enough money left in the bank to build an even better ToolJet, so our focus currently is on product improvement. +### 商业模式 -### What's next? +如果没有[商业产品][10]来支付账单 ToolJet 无法成为一项可持续的业务。我们构建了 ToolJet 的客户必须付费的企业版本。ToolJet 的免费的社区版本没有任何使用限制,企业版中的额外功能都只与大型团队有关。我们现在的客户已经有超大型公司。我们有足够的银行存款来打造更好的 ToolJet ,因此我们目前正聚焦于产品提升上。 -We frequently release better versions of ToolJet with the help of constant feedback and contributions from the open source community. Many major improvements and dozens of connectors and UI components are in progress. We're moving faster than ever towards our initial goal of being the open framework that can connect to hundreds of data sources and build even the most complicated user interfaces! +### 接下来做什么 + +我们在消费者反馈的帮助以及开源社区的贡献下经常性发布更好的 ToolJet 版本。很多主要的优化、大量的数据接口以及 UI 组件正在开发进程中。为了实现我们成为能够连接大量数据源并构建更复杂的用户界面的开源框架的初心,我们比以往行动得更加迅速。 -------------------------------------------------------------------------------- @@ -161,7 +98,7 @@ via: https://opensource.com/article/22/10/tooljet-open-source-journey 作者:[Navaneeth PK][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[CanYellow](https://github.com/CanYellow) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 850d82eec39096212041b4b63c640bc6bec64143 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Wed, 14 Dec 2022 16:20:17 +0800 Subject: [PATCH 742/925] move file --- .../talk/20221019.5 ⭐️⭐️ Our open source startup journey.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md (100%) diff --git a/sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md similarity index 100% rename from sources/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md rename to translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md From 7404c64fdcc02b4524771e014beb7e384e75d076 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 14 Dec 2022 17:16:03 +0800 Subject: [PATCH 743/925] RP @chai001125 https://linux.cn/article-15347-1.html --- ...inux su vs sudo- what-s the difference-.md | 152 ++++++++++++++++++ ...inux su vs sudo- what-s the difference-.md | 151 ----------------- 2 files changed, 152 insertions(+), 151 deletions(-) create mode 100644 published/20220628 Linux su vs sudo- what-s the difference-.md delete mode 100644 translated/tech/20220628 Linux su vs sudo- what-s the difference-.md diff --git a/published/20220628 Linux su vs sudo- what-s the difference-.md b/published/20220628 Linux su vs sudo- what-s the difference-.md new file mode 100644 index 0000000000..e0c0890a8a --- /dev/null +++ b/published/20220628 Linux su vs sudo- what-s the difference-.md @@ -0,0 +1,152 @@ +[#]: subject: "Linux su vs sudo: what's the difference?" +[#]: via: "https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin" +[#]: author: "David Both https://opensource.com/users/dboth" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15347-1.html" + +Linux 中的 su 和 sudo 命令有什么区别? +====== + +> 本文将比较非 root 用户提权为 root 用户的两个 Linux 命令 的区别。 + +![][0] + +`su` 和 `sudo` 命令都允许用户执行非特权用户不允许做的系统管理任务,即只有 root 用户能执行的命令。有些人更喜欢 `sudo` 命令:例如 [Seth Kenlon][2] 最近发布的一篇 《[在 Linux 上使用 sudo 的 5 个理由][3]》,他在其中详细阐述了 `sudo` 命令的许多优点。 + +但是,相较于 `sudo` 命令,我**更偏好于 `su` 命令** 来做系统管理工作。在本文中,我比较了这两个命令的区别,并解释了为什么我更喜欢 `su` 而不是 `sudo`,但我仍然同时使用这两个命令的原因。 + +### 过去的系统管理员主要使用 su 命令 + +`su` 和 `sudo` 命令是为**不同的世界**设计的。早期的 Unix 计算机需要全职系统管理员,他们使用 root 用户作为唯一的管理帐户。在这个古老的世界里,有管理员密码的人会在电传打字机或 CRT 终端(例如 DEC VT100)上以 root 用户登录,然后执行一些管理 Unix 计算机的工作。 + +管理员还会有一些非 root 帐户,用于执行一些非 root 的任务,例如编写文档和管理电子邮件等。在这些 Unix 计算机上通常有许多非 root 帐户,他们都不需要完全的 root 访问权限,只需要以 root 权限运行很少的命令,大约 1 至 2 个就可以了。许多系统管理员以 root 用户登录,完成 root 工作,并在任务完成后,退出 root 会话。有时候,系统管理员需要整天以 root 用户来登录,因为 `sudo` 命令需要键入更多的内容才能运行必要的命令,因此大多数系统管理员很少使用 `sudo` 命令。 + +`sudo` 和 `su` 这两个命令都能够提权为 root 用户,但它们实现的方式大不相同。这种差异是由于它们**最初打算用于不同的情况**。 + +### sudo 命令 + +`sudo` 命令的初衷是让 root 用户能够让几个非 root 用户访问他们经常需要的一两个特权命令。`sudo` 命令允许非 root 用户暂时地获得更高权限,来执行一些特权命令,例如添加和删除用户、删除属于其他用户的文件、安装新软件以及管理现代 Linux 主机所需的任何命令。 + +`sudo` 命令允许非 root 用户访问一两个 _需要更高权限_ 的常用命令,这样可以帮助系统管理员节省来自用户的许多请求,并减少等待时间。`sudo` 命令不会将用户帐户切换为 root 用户,因为大多数非 root 用户永远不应该拥有完全的 root 访问权限。在大多数情况下,`sudo` 允许用户执行一两个命令,然后提权就会过期。在这个通常为 5 分钟的短暂的提权时间内,用户可以执行任何需要提权的管理命令。需要继续使用提权的用户可以运行 `sudo -v` 命令来重新验证 root 访问权限,并将提权时间再延长 5 分钟。 + +使用 `sudo` 命令还有一些副作用,例如生成非 root 用户使用命令的日志条目及其 ID。这些日志可以在之后作为出现问题的检验,来给用户更多的操作培训。(你以为我会说“问责”用户,对吧?) + +### su 命令 + +`su` 命令能够将非 root 用户提权到 root 权限 —— 事实上,能让非 root 用户成为 root 用户。唯一的要求是用户知道 root 密码。因为用户已经以 root 权限登录,所以之后的操作就没有限制了。 + +`su` 命令所提供的提权没有时间限制。用户可以作为 root 执行命令,不需要进行重新验证是否有 root 权限。完成任务后,用户可以执行退出命令 `exit`,从 root 用户恢复到自己原来的非 root 帐户。 + +### su 和 sudo 在使用上的争议和变化 + +最近在 `su` 与 `sudo` 的使用上存在一些分歧。 + +> 真正的系统管理员不会使用 `sudo`。—— Paul Venezia + +Venezia 在他的 [InfoWorld 文章][4] 中辩称,对于许多担任系统管理员的人来说,`sudo` 是一个不必要的工具。他没有花太多时间为这个观点进行解释,他只是把它说成了一个事实。我同意他对于系统管理员的观点,因为我们不需要 `sudo` 来完成我们的工作。事实上,`sudo` 使得事情变得更复杂了。 + +然而, + +> 时代在“改变”。—— Bob Dylan + +Bob Dylan 是对的,尽管他唱的歌不是指计算机(LCTT 译注:Bob Dylan 是美国创作歌手、艺术家和作家,这里指他不是针对于电脑而说的)。 + +自从人手一台的**个人计算机**时代到来,计算机的管理方式发生了重大变化。在许多环境中,计算机的使用者也是它的管理员,这使得为这些用户提供一些对 root 权限的访问是有必要的。 + +一些现代发行版,例如 Ubuntu 及其衍生版本,只能使用 `sudo` 命令来执行特权命令。在这些发行版中,用户无法直接以 root 用户身份登录,甚至无法通过 `su` 切换到 root,因此需要 `sudo` 命令来允许非 root 用户获得 root 权限。在这一环境中,所有系统管理任务均使用 `sudo` 来执行。 + +通过锁定 root 帐户并将常规用户帐户添加到“轮子”组(`wheel`),可以实现此配置,但是这种配置很容易被绕过。接下来,让我们在 Ubuntu 主机或虚拟机上尝试一些小实验吧。我在这里说明一些我的设置,以便你可以根据需要来重现它。我安装的是 Ubuntu 16.04 LTS1,并使用 VirtualBox 将其安装在虚拟机中。在安装过程中,我创建了一个非 root 用户 `student`,为了简便起见我给这个用户设置了一个简单的密码。 + +以 `student` 用户身份登录 Ubuntu,并打开终端。查看 `/etc/shadow` 文件中的 root 条目,其中存储了经哈希的密码。 + +``` +student@ubuntu1:~$ cat /etc/shadow +cat: /etc/shadow: Permission denied +``` + +可以看到终端拒绝了我们对 `/etc/shadow` 的访问,因此我们无法查看 `/etc/shadow` 文件。所有发行版都是如此,以防止非特权用户看到和访问加密的密码,因为非特权用户可能会使用常见的黑客工具来破解这些密码。 + +现在,让我们使用 `su -` 命令来成为 root 用户。 + +``` +student@ubuntu1:~$ su - +Password: +su: Authentication failure +``` + +认证失败的原因是因为 root 帐户没有密码、并且被锁定了。接下来,使用 `sudo` 命令查看 `/etc/shadow` 文件。 + +``` +student@ubuntu1:~$ sudo cat /etc/shadow +[sudo] password for student: +root:!:17595:0:99999:7::: +<截取> +student:$6$tUB/y2dt$A5ML1UEdcL4tsGMiq3KOwfMkbtk3WecMroKN/:17597:0:99999:7::: +<截取> +``` + +在这里,我仅截取了部分结果,只显示 root 和 `student` 用户的条目。我还缩短了加密密码,以便该条目能显示在一行中。各个字段以冒号(`:`)分隔,第二个字段是密码。请注意,root 的密码字段是一个感叹号(`!`),这表明 root 帐户已被锁定,且无法使用。 + +现在,要将 root 帐户变成一个合适的系统管理员,你只需为 root 帐户设置密码。 + +``` +student@ubuntu1:~$ sudo su - +[sudo] password for student: +root@ubuntu1:~# passwd root +Enter new UNIX password: +Retype new UNIX password: +passwd: password updated successfully +root@ubuntu1:~# +``` + +现在,你可以直接以 root 身份登录到控制台,或者直接使用 `su` 登录到 root,而不是在每个命令前都加一个 `sudo`。当然,你也可以在每次想以 root 身份登录时,使用 `sudo su -`,但这又是何必呢? + +请不要误解我的意思。像 Ubuntu 这样的发行版及其上下游衍生版非常好,多年来我已经使用了其中的几个。在使用 Ubuntu 和相关发行版时,我做的第一件事就是设置一个 root 密码,这样我就可以直接以 root 身份登录。其他发行版,如 Fedora 及其相关发行版,现在在安装过程中提供了一些有趣的选择。我注意到的第一个 Fedora 版本是 Fedora 34,我在写我的一本即将出版的书时安装了很多次。 + +在安装页面上,可以找到其中一个安装选项,来设置 root 密码。这个新选项允许用户选择“锁定 root 帐户 Lock root account ”,就像 Ubuntu 锁定 root 帐户的方式一样。此页面上还有一个选项,允许使用密码以 root 身份远程 SSH 登录到此主机,但这仅在 root 帐户解锁时有效。第二个选项位于允许创建非 root 帐户的页面上。此页面上的选项之一是“让此用户成为管理员 Make this user administrator ”。选中此选项后,用户 ID 将添加到一个名为 `wheel` 组的特殊组中,该组授权该组的成员使用 `sudo` 命令。Fedora 36 甚至在该复选框的描述中提到了 `wheel` 组。 + +可以将多个非 root 用户设置为管理员。使用此方法指定为管理员的任何人都可以使用 `sudo` 命令在 Linux 计算机上执行所有管理任务。Linux 在安装时只允许创建一个非 root 用户,所以其他新用户可以在创建时添加到 `wheel` 组中。root 用户或其他管理员可以使用文本编辑器或 `usermod` 命令直接将现有用户添加到 `wheel` 组。 + +在大多数情况下,今天的管理员只需要执行一些基本任务,例如添加新的打印机、安装更新或新软件,或者删除不再需要的软件。这些 GUI 工具需要 root 或管理密码,并将接受来自管理员用户的密码。 + +### 在 Linux 上,我是怎么使用 su 和 sudo 的呢 + +我**同时使用 `su` 和 `sudo`**。它们都是我所使用的很重要的系统管理员工具。 + +我不锁定 root 帐户,因为我需要用 root 帐户来运行我的 [Ansible][5] 脚本和我编写的 [rsbu][6] Bash 程序,来执行备份。这两个程序都需要以 root 身份运行,我编写的其他几个管理 Bash 的脚本也是如此。我**使用 `su` 命令**切换到 root 用户,这样我就可以执行这些脚本和许多其他常见的命令。当我需要确定问题和解决问题时,使用 `su` 命令将我的权限提升到 root 十分有用,因为我不希望 `sudo` 带来的提权会话超时。 + +当非 root 用户需要执行这些任务时,我**使用 `sudo` 命令**,来执行需要 root 权限的任务。我在 `sudoers` 文件中设置了非 root 帐户,只允许访问完成任务所需的一两个命令。当我只需要运行一两个需要提权的快速命令时,我自己也会使用 `sudo` 命令。 + +### 结论 + +实际上只要你把工作完成好了,你使用什么工具都无大碍。你使用的是 Vim 还是 Emacs,是 systemd 还是 SystemV,是 RPM 亦或是 DEB,是 `sudo` 亦或是 `su`,在结果上会有什么区别呢?这里的关键在于你应该使用**最适合你的工具**。Linux 和开源软件的最大优势之一是通常有许多选项可用于我们需要完成的任务。 + +`su` 和 `sudo` 都各有长处,如果正确使用的话,两者都是非常安全的。我选择同时使用 `su` 和 `sudo` 命令,基于它们的历史功能,因为这对我来说十分有用。对于我自己的大部分工作,我更喜欢 `su` 命令,因为它与我的工作流程最适配。 + +在评论区分享你喜欢的工作方式吧! + +本文摘自于我的书《系统管理员的 Linux 哲学The Linux Philosophy for Sysadmins(Apress,2018 年)》一书的第 19 章,并经许可后重新发布。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin + +作者:[David Both][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/dboth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/bash_command_line.png +[2]: https://opensource.com/users/seth +[3]: https://opensource.com/article/22/5/use-sudo-linux +[4]: http://www.infoworld.com/t/unix/nine-traits-the-veteran-unix-admin-276?page=0,0&source=fssr +[5]: https://opensource.com/article/20/10/first-day-ansible +[6]: https://opensource.com/article/17/1/rsync-backup-linux +[0]: https://img.linux.net.cn/data/attachment/album/202212/14/171220a47je4l0teaonzos.jpg \ No newline at end of file diff --git a/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md b/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md deleted file mode 100644 index 7b8efbc4d5..0000000000 --- a/translated/tech/20220628 Linux su vs sudo- what-s the difference-.md +++ /dev/null @@ -1,151 +0,0 @@ -[#]: subject: "Linux su vs sudo: what's the difference?" -[#]: via: "https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin" -[#]: author: "David Both https://opensource.com/users/dboth" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux 中的 `su` 和 `sudo` 命令有什么区别呢? -====== - ->本文将比较 非 root 用户 non-root user 提权为 root 用户的两个 **Linux 命令** 的区别。 - -![bash logo on green background][1] - -`su` 和 `sudo` 命令都允许用户执行非特权用户不允许做的系统管理任务,即只有 root 用户能执行的命令。有些人更喜欢 `sudo` 命令:例如 [Seth Kenlon][2] 最近发布的一篇 [《在 Linux 上使用 `sudo` 的 5 个理由》][3],他在其中详细阐述了 `sudo` 命令的许多优点。 - -但是,相较于 `sudo` 命令,我**更偏好于 `su` 命令**,来做系统管理工作。在本文中,我比较了这两个命令的区别,并解释了为什么我更喜欢 `su` 而不是 `sudo`,但我仍然同时使用这两个命令的原因。 - -### 过去的系统管理员主要使用 `su` 命令 - -`su` 和 `sudo` 命令是为**不同的世界**设计的。早期的 Unix 计算机需要全职系统管理员,他们使用 root 用户作为唯一的管理帐户。在这个古老的世界里,有管理员密码的人会在电传打字机或 CRT 终端(例如 DEC VT100)上以 root 用户登录,然后执行一些管理 Unix 计算机的工作。 - -root 用户还有一个非 root 帐户,用于执行一些非 root 的任务,例如编写文档和管理电子邮件等。在这些 Unix 计算机上通常有许多非 root 帐户,他们都不需要完全的 root 访问权限,只需要以 root 权限运行很少的命令,大约 1 至 2 个就可以了。许多系统管理员以 root 用户登录,完成 root 工作,并在任务完成后,退出 root 会话。系统管理员需要整天以 root 用户来登录,因为 `sudo` 命令需要键入更多的内容才能运行基本命令,因此大多数系统管理员很少使用 `sudo` 命令。 - -`sudo` 和 `su` 这两个命令都能够提权为 root 用户,但它们实现的方式大不相同。这种差异是由于它们**最初打算用于不同的情况**。 - -### `sudo` 命令 - -`sudo` 命令的初衷是让 root 用户能够将他们定期需要的 1 到 2 个特权命令委托给 1 至 2 个非 root 用户。`sudo` 命令允许非 root 用户暂时地获得更高权限,来执行一些特权命令,例如添加和删除用户、删除属于其他用户的文件、安装新软件以及管理现代 Linux 主机所需的任何命令。 - -`sudo` 命令允许非 root 用户访问 1 到 2 个 _需要更高权限_ 的常用命令,这样可以帮助系统管理员节省来自用户的许多请求,并减少等待时间。`sudo` 命令不会将用户帐户切换为 root 用户,因为大多数非 root 用户永远不应该拥有完全的 root 访问权限。在大多数情况下,`sudo` 允许用户执行 1 或 2 个命令,然后提权就会过期。在这个通常为 5 分钟的短暂的提权时间内,用户可以执行任何需要提权的管理命令。需要继续使用提权的用户可以运行 `sudo -v` 命令来重新验证 root 访问权限,并将提权时间再延长 5 分钟。 - -使用 `sudo` 命令还有一些副作用,例如生成非 root 用户使用命令的日志条目及其 ID。这些日志可以在之后作为出现问题的检验,来给用户更多的操作培训。你以为我会说“责备”用户,对吗? - -### `su` 命令 - -`su` 命令能够将非 root 用户提权到 root 权限——事实上,能让非 root 用户成为 root 用户。唯一的要求是用户知道根密码。因为用户已经以 root 权限登录,所以之后的操作就没有限制了。 - -`su` 命令所提供的提权没有时间限制。用户可以作为 root 执行命令,不需要进行重新认证是否有 root 权限。完成任务后,用户可以执行退出命令 `exit`,从 root 用户恢复到自己原来的非 root 帐户。 - -### `su` 和 `sudo` 在使用上的争议和变化 - -最近在 `su` 与 `sudo` 的使用上存在一些分歧。 - -> 真正的系统管理员不会使用 `sudo`。——保罗·威尼斯(Paul Venezia) - -Venezia 在他的 [InfoWorld 文章][4] 中辩称,对于许多担任系统管理员的人来说,`sudo` 是一个不必要的工具。他没有花太多时间为这个观点进行解释,他只是把它说成了一个事实。我同意他对于系统管理员的观点,因为我们不需要 `sudo` 来完成我们的工作。事实上,`sudo` 使得事情变得更复杂了。 - -然而, - -> 这时代正在“变革”当中。——鲍勃·迪伦 - -迪伦是对的,尽管他没有为电脑唱歌(LCTT 译注:鲍勃·迪伦是美国创作歌手、艺术家和作家,这里指他不是针对于电脑而说的)。 - -自从**个人计算机**时代到来以来,计算机的管理方式发生了重大变化。在许多环境中,计算机的使用者也是它的管理员,这使得为这些用户提供一些对 root 权限的访问是有必要的。 - -一些现代发行版,例如 Ubuntu 及其衍生版本,只能使用 `sudo` 命令来执行特权命令。在这些发行版中,用户无法直接以 root 用户身份登录,甚至无法通过 `su` 切换到 root,因此需要 `sudo` 命令来允许非 root 用户获得 root 权限。在这一环境中,所有系统管理任务均使用 `sudo` 来执行。 - -通过锁定 root 帐户并将常规用户帐户添加到 wheel 组,可以进行此配置,但是这种配置很容易被绕过。接下来,让我们在任何 Ubuntu 主机或 VM 上尝试一些小实验吧。我在这里说明一些我实验的设置,以便你可以根据需要来重现它。我安装的是 Ubuntu 16.04 LTS1,并使用 VirtualBox 将其安装在 VM 中。在安装过程中,我创建了一个非 root 用户 `student`,为了简便起见我给这个用户设置了一个简单的密码。 - -以 `student` 用户身份登录 Ubuntu,并打开终端。查看 `/etc/shadow` 文件中的 root 条目,其中存储了经哈希的密码。 - -``` -student@ubuntu1:~$ cat /etc/shadow -cat: /etc/shadow: Permission denied -``` - -可以看到终端拒绝了我们对 `/etc/shadow` 的访问,因此我们无法查看 `/etc/shadow` 文件。所有发行版都是如此,以防止非特权用户看到和访问加密的密码,因为非特权用户可能会使用常见的黑客工具来破解这些密码。 - -现在,让我们使用 `su -` 命令来成为 root 用户。 - -``` -student@ubuntu1:~$ su - -Password: -su: Authentication failure -``` - -认证失败的原因是因为根帐户没有密码、并且被锁定了。接下来,使用 `sudo` 命令查看 `/etc/shadow` 文件。 - -``` -student@ubuntu1:~$ sudo cat /etc/shadow -[sudo] password for student: -root:!:17595:0:99999:7::: - -student:$6$tUB/y2dt$A5ML1UEdcL4tsGMiq3KOwfMkbtk3WecMroKN/:17597:0:99999:7::: - -``` - -在这里,我仅截取了部分结果,只显示 root 和 `student` 用户的条目。我还缩短了加密密码,以便该条目能显示在一行中。各个字段以冒号(`:`)分隔,第二个字段是密码。请注意,root 的密码字段是一个感叹号(`!`),这表明 root 帐户已被锁定,且无法使用。 - -现在,要将根帐户变成一个合适的系统管理员,你只需为根帐户设置密码。 - -``` -student@ubuntu1:~$ sudo su - -[sudo] password for student: -root@ubuntu1:~# passwd root -Enter new UNIX password: -Retype new UNIX password: -passwd: password updated successfully -root@ubuntu1:~# -``` - -现在,你可以直接以 root 身份登录到控制台,或者直接使用 `su` 登录到 root,而不是在每个命令前都加一个 `sudo`。当然,你也可以在每次想以 root 身份登录时,使用 `sudo su -`,但这又是何必呢? - -请不要误解我的意思。像 Ubuntu 这样的发行版非常好,多年来我已经使用了其中的几个。在使用 Ubuntu 和相关发行版时,我做的第一件事就是设置一个 root 密码,这样我就可以直接以 root 身份登录。其他发行版,如 Fedora 及其相关发行版,现在在安装过程中提供了一些有趣的选择。我注意到的第一个 Fedora 版本是 Fedora 34,我在写我的一本即将出版的书时安装了很多次。 - -在安装页面上,可以找到其中一个安装选项,来设置 root 密码。这个新选项允许用户以锁定 Ubuntu root 帐户的方式选择“锁定 root 帐户 Lock root account ”。此页面上还有一个选项,允许使用密码以 root 身份远程 SSH 登录到此主机,但这仅在 root 帐户解锁时有效。第二个选项位于允许创建非根用户帐户的页面上。此页面上的选项之一是“让此用户成为管理员 Make this user administrator ”。选中此选项后,用户 ID 将添加到一个名为 wheel 组的特殊组中,该组授权该组的成员使用 `sudo` 命令。Fedora 36 甚至在该复选框的描述中提到了 wheel 组。 - -可以将多个非 root 用户设置为管理员。使用此方法指定为管理员的任何人都可以使用 `sudo` 命令在 Linux 计算机上执行所有管理任务。Linux 在安装时只允许创建一个非 root 用户,所以其他新用户可以在创建时添加到 wheel 组中。root 用户或其他管理员可以使用文本编辑器或 `usermod` 命令直接将现有用户添加到 wheel 组。 - -在大多数情况下,今天的管理员只需要执行一些基本任务,例如添加新的打印机、安装更新或新软件,或者删除不再需要的软件。这些 GUI 工具需要 root 或管理密码,并将接受来自管理员用户的密码。 - -### 在 Linux 上,我是怎么使用 `su` 和 `sudo` 的呢 - -我**同时使用 `su` 和 `sudo`**。它们都是我所使用的很重要的系统管理员工具。 - -我不锁定根帐户,因为我需要用根帐户来运行我的 [Ansible][5] 脚本和我编写的 [rsbu][6] Bash 程序,来执行备份。这两个程序都需要以 root 身份运行,我编写的其他几个管理 Bash 的脚本也是如此。我**使用 `su` 命令**,切换到 root 用户,这样我就可以执行这些脚本和许多其他常见的命令。当我需要确定问题和解决问题时,使用 `su` 命令将我的权限提升到 root 十分有用,因为我不希望 `sudo` 带来的提权会话超时。 - -当非 root 用户需要执行这些任务时,我**使用 `sudo` 命令**,来执行需要 root 权限的任务。我在 sudoers 文件中设置了非根帐户,只允许访问完成任务所需的 1 到 2 个命令。当我只需要运行 1 个或 2 个需要提权的快速命令时,我自己也会使用 `sudo` 命令。 - -### 结论 - -实际上只要你把工作完成好了,你使用什么工具都无大碍。你使用的是 vim 还是 Emacs,是 systemd 还是 SystemV,是 RPM 亦或是 DEB,是 `sudo` 亦或是 `su`,在结果上会有什么区别呢?这里的关键在于你应该使用**最适合你的工具**。Linux 和开源软件的最大优势之一是通常有许多选项可用于我们需要完成的任务。 - -`su` 和 `sudo` 都各有长处,如果正确使用的话,两者都是非常安全的。我选择同时使用 `su` 和 `sudo` 命令,基于它们的历史功能,因为这对我来说十分有用。对于我自己的大部分工作,我更喜欢 `su` 命令,因为它与我的工作流程最适配。 - -在评论区分享你喜欢的工作方式吧! - -本文摘自于我的书《系统管理员的 Linux 方法(Apress,2018 年)》(The Linux Philosophy for Sysadmins)一书的第 19 章,并经许可后重新发布。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/6/linux-su-vs-sudo-sysadmin - -作者:[David Both][a] -选题:[lkxed][b] -译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/dboth -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/bash_command_line.png -[2]: https://opensource.com/users/seth -[3]: https://opensource.com/article/22/5/use-sudo-linux -[4]: http://www.infoworld.com/t/unix/nine-traits-the-veteran-unix-admin-276?page=0,0&source=fssr -[5]: https://opensource.com/article/20/10/first-day-ansible -[6]: https://opensource.com/article/17/1/rsync-backup-linux From d4656495935e0d992b7ecc797d5ec35dbd231463 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Wed, 14 Dec 2022 17:47:05 +0800 Subject: [PATCH 744/925] =?UTF-8?q?Update=2020221028.1=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Write=20documentation=20like=20yo?= =?UTF-8?q?u=20develop=20code.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20221028.1 ⭐️⭐️ Write documentation like you develop code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md index eb64f1fb7a..1aea7321f7 100644 --- a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md +++ b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/10/docs-as-code" [#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "CanYellow" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From bc6b3a109fd9b1f5073ad095c7e2117744406875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 14 Dec 2022 18:42:43 +0800 Subject: [PATCH 745/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221214.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ex?= =?UTF-8?q?perience=20Linux=20desktop=20nostalgia=20with=20Rox.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Experience Linux desktop nostalgia with Rox.md | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 sources/tech/20221214.0 ⭐️⭐️ Experience Linux desktop nostalgia with Rox.md diff --git a/sources/tech/20221214.0 ⭐️⭐️ Experience Linux desktop nostalgia with Rox.md b/sources/tech/20221214.0 ⭐️⭐️ Experience Linux desktop nostalgia with Rox.md new file mode 100644 index 0000000000..301f8b485e --- /dev/null +++ b/sources/tech/20221214.0 ⭐️⭐️ Experience Linux desktop nostalgia with Rox.md @@ -0,0 +1,104 @@ +[#]: subject: "Experience Linux desktop nostalgia with Rox" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-rox" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Experience Linux desktop nostalgia with Rox +====== + +Rox-Filer is an open source file manager for Linux, once intended for the defunct Rox desktop but now a streamlined application for any window manager or desktop. There hasn't been much activity on the Rox project since 2014, and even then it is mostly in maintenance mode. And that's part of Rox-Filer's charm. In a way, Rox-Filer is a snapshot of an old desktop style that was progressive for its time but has given way to a more or less standardized, or at least conventional, interface. + +### Install Rox-Filer + +On Linux, your distribution's software repository may have Rox available for install. For instance, Debian packages it: + +``` +$ sudo apt install rox-filer +``` + +If your Linux distribution doesn't package Rox-Filer but you want to try it out, you can [compile from source][1] by downloading the [source code][2], installing its build dependencies, and then compiling: + +``` +$ sudo dnf install gtk2-devel libSM-devel \ +  shared-mime-info glade-libs xterm +$ wget https://codeload.github.com/rox-desktop/rox-filer/zip/refs/heads/master +$ unzip rox*zip +$ cd rox-filer-master +$ ./ROX-Filer/AppRun +``` + +### Configuring Rox + +The Rox file manager is based on the look and feel of RISC OS, an operating system developed by Acorn in Cambridge England (the same group responsible for the popular Arm microprocessor). Today, there's an [open source RISC OS][3] you can install on a Raspberry Pi, but for now, Rox is close enough. + +Rox has a simple layout. It has no menu bar, but there's a toolbar across the top, and the file panel is at the bottom. + +![Image of the Rox file manager.][4] + +As with the KDE Plasma Desktop, the default action of a single click in Rox is to open an item, whether it's a folder or a file. Unfortunately, no version of Rox, either packaged or compiled directly from the source, seems to be completely integrated with the mimetype definitions of the modern Linux desktop. For instance, Rox on CentOS renders an error when I click on even a basic text file, while the packaged version of Rox on Debian opens a plain text file but not a JPEG or archive file. You can fix this by setting a **Run Action** in the right-click context menu. + +![​Setting a run action in the Rox file manager.][5] + +Setting a run action can have broad definitions, so you don't have to set a separate run action for JPEG, PNG, WEBP, and all other image types, instead set the same run command for all mimetypes starting with `image`. + +Once you set that, you're ready to manage files with Rox. + +### Navigation + +You can navigate through your file system using the arrow icon in the top toolbar. The **Up** arrow takes you to the parent directory of your current location (in other words, the folder your current folder is in). To descend into a folder, click on it. + +### Refreshing the view + +Rox may not redraw the screen for every action, so sometimes you may need to prompt it to refresh. Click the **Circle** arrow in the Rox toolbar to refresh your current location's contents. + +### Copy or move a file + +There are two ways to copy or move a file in Rox. First, you can launch a second Rox window and drag and drop files from one window to the other. When you do, you're prompted to copy, move, or link the item you've dropped. + +Alternatively, you can right-click an item and open the **File** submenu from the context menu. In the **File** submenu, choose **Copy** and then enter the destination path for the item you want to move or copy. After you've confirmed that the file has successfully been copied to the target location, you can optionally select the item again, choosing **Delete** from the **File** menu. + +### Options + +You can customize some aspects of Rox by selecting **Options** from the right-click menu. This brings up a Rox configuration screen that's admittedly only partially relevant to Rox. The Rox options assume you're running a window manager, like [Windowmaker][6] which provides a traditional dock (or "pinboard" in Rox terminology). I wasn't able to get the pinboard options to work on [Fluxbox][7], my preferred window manager, or Windowmaker. In both cases, the window manager handled iconified windows, and I wasn't able to configure Rox to override the control. It's possible that I wasn't drastic enough in some of my configurations, but considering that Linux window managers are very capable of managing iconified windows, the pinboard mechanism of Rox isn't a vital feature (and probably not as flexible as the window manager's options). + +The other options, however, still work as expected. For instance, Rox by default resizes its window size to fit the contents of a folder. When you change from a directory containing twelve items to a directory containing just three, Rox shrinks its footprint. I find this jarring, so I chose the **Never automatically resize** option, forcing Rox to stay whatever size I set. + +### Window commands + +Some of my favorite features are four menu items hidden away at the bottom of the **Window** submenu in the right-click context menu. They are: + +- **Enter path**: Enter an arbitrary path and change directory to it. +- **Shell command**: Enter an arbitrary shell command and execute it. +- **Terminal here**: Open a terminal at your current location. +- **Switch to terminal**: Open a terminal at your current location, and close the Rox. + +I love options that allow for quick navigation or quick commands, so it's nice to have these close at hand. + +### Oldies + +Rox is a "blast from the past," whether or not you've ever used RISC OS or something like it. Rox represents a style of digital file management and even desktop configuration that just doesn't quite exist anymore. I've run Fluxbox, on and off again, at work and at home for the past decade, and I love manually configuring menus and configuration files. However, most of the Linux desktop has moved on from the conventions Rox relies upon. It's not impossible to make Rox fully functional, but it would take a lot of work, and most of what you'd be configuring are already provided by modern window managers and desktops. Even so, Rox is fun to use and experience. It's a great demonstration of how flexible a traditional Linux desktop setup was (and still can be, if you use only a window manager), and much of its charm is in its simplicity. I can't imagine a file manager today not having a dedicated move function, but Rox dares to force you to copy and delete instead. It's a different kind of file manager, and it might not be the one you use all day every day, but it's something you have to try if you miss, or literally missed, the "old days" of the Linux (or RISC OS) desktop. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-rox + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/11/compiling-code +[2]: https://sourceforge.net/projects/rox/files/rox/ +[3]: https://www.riscosopen.org/content/downloads +[4]: https://opensource.com/sites/default/files/2022-10/rox-filemanager.png +[5]: https://opensource.com/sites/default/files/2022-10/rox-menu-run.png +[6]: https://opensource.com/article/19/12/linux-window-maker-desktop +[7]: https://opensource.com/article/19/12/fluxbox-linux-desktop From cb6e568e4aba470434eacddee89a72523b1a07dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 14 Dec 2022 18:44:35 +0800 Subject: [PATCH 746/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221214.1=20=E2=AD=90=EF=B8=8F=20Microsoft=20Soundsca?= =?UTF-8?q?pe=20to=20Go=20Open=20Source=20Marking=20the=20End=20of=20the?= =?UTF-8?q?=20Project.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Open Source Marking the End of the Project.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md diff --git a/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md b/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md new file mode 100644 index 0000000000..d18a3e8871 --- /dev/null +++ b/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md @@ -0,0 +1,73 @@ +[#]: subject: "Microsoft Soundscape to Go Open Source Marking the End of the Project" +[#]: via: "https://news.itsfoss.com/microsoft-soundscape-open-source/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Microsoft Soundscape to Go Open Source Marking the End of the Project +====== + +Microsoft makes an excellent decision to open-source its innovative audio app. + +![Microsoft Soundscape to Go Open Source Marking the End of the Project][1] + +The [Soundscape project][2] was a fascinating experimental research effort undertaken by Microsoft to use sound-based technology to help visually impaired people navigate their surroundings. + +Launched back in 2017, it used 3D audio cues and augmented reality to enhance a user's awareness by guiding them through places. + +Soon after, they also launched an iOS app to showcase their progress. + +The app could use the iPhone's sensors to read out points of interest as the user walked past something or even roads and intersections to help them figure out where they were. + +**Unfortunately,** with a [recent announcement][3], Microsoft has decided not to continue further with the development of this project and will be making the **code open-source**. + +### Microsoft Soundscape Source Code to be Available on GitHub + +![Microsoft Soundscape - an Illustrated Demonstration][4] + +**What Happened?:** Well, according to Microsoft, it's natural to either stop or transition a few projects as they evolve their research portfolio. + +With this move, Microsoft hopes the community will take over and benefit from the 'novel experiences' they helped develop. + +They also add that: + +> As Microsoft Research continues to expand into new accessibility innovation areas, we hope the open-source software release of the Soundscape code supports the community in further developing confidence and utility of spatial audio navigation experiences. + +You know, this move is quite similar to the one made by ActiveState recently, where they discontinued Komodo IDE and made the code open-source to say thank you to its users. + +**What's Next?:** Starting **January 3, 2023**, the source code for Soundscape will be made available on GitHub. Developers are free to use the code in any manner they see fit. + +Furthermore, the iOS app will also be discontinued, and existing users can use it until June 2023. + +They will also stop taking new feature requests and only focus on bug fixes and general maintenance of the iOS app until the time comes. + +As for the Microsoft Soundscape Authoring app, it will no longer be available after January 17, 2023. + +Microsoft has also clarified that its other offerings would remain unaffected. + +### Community-Driven Approach Wins + +As was the case with Komodo IDE, a community-driven approach can be of great help for deprecated software. + +Where the community can get together and create something truly unique while also helping the end users add value to their lives. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/microsoft-soundscape-open-source/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/microsoft-soundscape-goes-open-source.png +[2]: https://www.microsoft.com/en-us/research/product/soundscape/ +[3]: https://www.microsoft.com/en-us/research/blog/microsoft-soundscape-new-horizons-with-a-community-driven-approach/ +[4]: https://youtu.be/v5DXykmOdJ8 From eae41d70bfffad4f20f8143418b91dee6e789136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 14 Dec 2022 18:45:59 +0800 Subject: [PATCH 747/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221214.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Be?= =?UTF-8?q?st=20Screen=20Recorders=20for=20Wayland=20in=20Linux=20[Compare?= =?UTF-8?q?d=20&=20Tested].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...orders for Wayland in Linux [Compared & Tested].md | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 sources/tech/20221214.2 ⭐️⭐️ Best Screen Recorders for Wayland in Linux [Compared & Tested].md diff --git a/sources/tech/20221214.2 ⭐️⭐️ Best Screen Recorders for Wayland in Linux [Compared & Tested].md b/sources/tech/20221214.2 ⭐️⭐️ Best Screen Recorders for Wayland in Linux [Compared & Tested].md new file mode 100644 index 0000000000..a67e813001 --- /dev/null +++ b/sources/tech/20221214.2 ⭐️⭐️ Best Screen Recorders for Wayland in Linux [Compared & Tested].md @@ -0,0 +1,182 @@ +[#]: subject: "Best Screen Recorders for Wayland in Linux [Compared & Tested]" +[#]: via: "https://www.debugpoint.com/screen-recorders-linux-wayland/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Best Screen Recorders for Wayland in Linux [Compared & Tested] +====== + +**Here’s a list of screen recorders which work in Wayland currently in most modern Linux distributions.** + +![][1] + +Modern Wayland protocol is used by default in most frontrunner Linux distributions, such as Ubuntu and Fedora. However, this X.Org successor comes with work for the app developers to re-platform their app for Wayland because Wayland is more secure and follows modern standards. + +Linux legacy applications, those written with X.Org in mind, don’t work well in most cases unless it is modified. + +Screen recorder apps fall into that category. There are many popular screen recorders which were developed for X.Org – doesn’t work anymore in Wayland. + +However, few of them work. In this list, I will walk you through a few that I tested in the Wayland session. And they work well. + +### Best screen recorder apps for Wayland in Linux distros + +#### 1. Kooha + +The first on this list is Kooha, written in GTK and supports X11 and Wayland. It’s a fast and simple screen recorder for the GNOME desktop. This application is one of the best GNOME apps that provides hassle-free recording experiences. This utility supports hardware acceleration, a timer, multiple sources as input and many advanced features. Here’s a summary: + +- Option to select monitor for multiple displays or any window +- Hardware accelerated encoding (disabled by default; enable it via settings) +- Option to record the area of a screen +- Record mic and computer sound together +- Delay timer for records +- Option to choose the frame rate +- Support for WebM, mp4, gif, Mkv file types + +![Kooha - Best Screen Recoder for GNOME][2] + +![Kooha Settings][3] + +Installing Kooha is easy using Flatpak. [Set up your system for Flatpak & Flathub][4] and run the following command to install it. + +``` +flatpak install io.github.seadve.Kooha +``` + +We tested it in the latest Ubuntu 22.10 and Fedora 37 with Wayland session, it works flawlessly. + +**More details about Kooha** + +- [Home page][5] +- [Source code][6] + +#### 2. GNOME screen recorder + +The second in the list is GNOME Shell’s built-in screen recorder. It’s part of the GNOME’s new screenshot utility which you can launch by searching “screenshot” in the application menu. + +GNOME Screen recorder provides you option to record the entire screen or a rectangular portion. In addition, you have the option to record the cursor as well. + +However it only supports recording to webM format. And you can’t do a delayed start of your recording. + +You don’t need to install anything extra to use this. Since it comes by default with GNOME desktop. + +Use the keyboard shortcut `CTRL+SHIFT+ALT+R` to launch it. And select your option, then hit the record button. + +The recordings saved at ~/home/Videos/Screencasts. + +![GNOME Screen recorder][7] + +#### 3. OBS Studio + +The popular free and open-source streaming application OBS Studio recently started supporting Wayland. Although it is primarily used for live streaming, but it’s screen recording feature actually works in Wayland and you can use it. + +Since its a professional grade software, you can take advantage of it’s recording feature. In addition, you can also record the sound from the mic of your system while recording the screen. + +Installing OBS Studio is easy with Flatpak. [Set up your system for Flathub][4] and install it using the following command. + +``` +flatpak install com.obsproject.Studio +``` + +Note: OBS Studio need FFmpeg to run. We have a guide [here][8], if you want to install FFmpeg. + +After you launch OBS Studio, click on + sign under Sources to add source. Then select “Screen capture..”. And then click ok. + +![Screen capture option][9] + +![recording in OBS Studio in Wayland][10] + +After you stop the recording, it is saved at your ~/home directory. + +**More details about OBS Studio** + +- [Home page][11] +- [Source code][12] + +#### 4. vokoscreenNG + +The vokoscreenNG is a little different screen recording app which is totally underrated. It’s an old application and supports window capture, rectangular caption. In addition, it also support audio capture alongside screen, system tray control, magnifying glass, countdown, timer and many cool features. + +Recently, an experimental Wayland support introduced which you can try out. It works fairly well. Currently it supports webm, m4, mkv, mov and avi formats for Wayland. However, audio recording is not yet available for Wayland sessions. + +You can download the pre-compiled executable for Linux distros which require no installation from the below link. And run. + +[Download][13] + +![vokoscreenNG][14] + +**More details about vokoscreenNG** + +- [Home page][15] + +#### 5. Wayfarer + +The final screen recorder in this list is Wayfarer, based on GTK4. It currently supports all the modern protocols such as Wayland, Pipewire with wireplumber. It’s simple user interface supports screen recording with audio capture. You can also select a portion of your desktop or the entire screen for recording. + +Furthermore, you can select the frame rate, select mouse capture and have the ability to delay the recording. Currently it supports webm, mp4 and mkv formats. + +![Wayfarer screen recorder for Linux][16] + +However, it is currently available in Arch User repository (AUR) for Arch Linux. You can setup any AUR helper such as Yay and install it using the following command. + +``` +yay -S wayfarer-git +``` + +**More details about Wayfarer** + +[Home page & source code][17] + +### Other excellent screen recorders which are currently not working with Wayland + +Other than the above list, there are some excellent screen recorders available for X.Org which is currently broken in Wayland. As per my test in Ubuntu 22.10 and Fedora 37 wayland session, none of these works. You can only see a black screen in the recording file. I hope they get fixed in coming days and become compatible with Wayland. + +- [Peek][18] (may work with XWayland backend) +- [Simple screen recorder][19] +- [Blue Recorder][20] (supports Wayland but is currently broken) + +### Wrapping Up + +From my personal experience, Wayland is faster and better. Since many modern distros are moving towards Wayland, you must change your workflow with replacement apps. I hope this list of screen recorders in Wayland helps you pick the one that suits you best. + +Do let me know if you know of any other apps of a similar category which work with Wayland. + +[Next:Top 10 32-Bit Linux Distributions in 2022 [Compared]][21] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/screen-recorders-linux-wayland/ + +作者:[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/12/wayrec.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2021/12/Kooha-Best-Screen-Recoder-for-GNOME.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/Kooha-Settings.jpg +[4]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[5]: https://apps.gnome.org/app/io.github.seadve.Kooha/ +[6]: https://github.com/SeaDve/Kooha +[7]: https://www.debugpoint.com/wp-content/uploads/2022/12/GNOME-Screen-recorder.jpg +[8]: https://www.debugpoint.com/install-ffmpeg-ubuntu/ +[9]: https://www.debugpoint.com/wp-content/uploads/2022/12/Screen-capture-option.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/12/recording-in-OBS-Studio-in-Wayland.jpg +[11]: https://obsproject.com/ +[12]: https://github.com/obsproject/obs-studio +[13]: https://linuxecke.volkoh.de/vokoscreen/vokoscreen-download.html +[14]: https://www.debugpoint.com/wp-content/uploads/2022/12/vokoscreenNG.jpg +[15]: https://linuxecke.volkoh.de/vokoscreen +[16]: https://www.debugpoint.com/wp-content/uploads/2022/12/Wayfarer-screen-recorder-for-Linux.jpg +[17]: https://github.com/stronnag/wayfarer +[18]: https://github.com/phw/peek +[19]: https://www.maartenbaert.be/simplescreenrecorder/ +[20]: https://github.com/xlmnxp/blue-recorder +[21]: https://www.debugpoint.com/32-bit-linux-distributions/ From 8dd4a59c99b126e56b174735e9a96df93a146e52 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 14 Dec 2022 20:44:31 +0800 Subject: [PATCH 748/925] translated --- ...️ 7 pro tips for using the GDB step command.md | 255 ----------------- ...️ 7 pro tips for using the GDB step command.md | 256 ++++++++++++++++++ 2 files changed, 256 insertions(+), 255 deletions(-) delete mode 100644 sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md create mode 100644 translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md diff --git a/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md deleted file mode 100644 index 8d0a0fecfd..0000000000 --- a/sources/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md +++ /dev/null @@ -1,255 +0,0 @@ -[#]: subject: "7 pro tips for using the GDB step command" -[#]: via: "https://opensource.com/article/22/12/gdb-step-command" -[#]: author: "Alexandra https://opensource.com/users/ahajkova" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -7 pro tips for using the GDB step command -====== - -A debugger is software that runs your code and examines any problems it finds. [GNU Debugger][1] (GBD) is one of the most popular debuggers, and in this article, I examine GDB's `step` command and related commands for several common use cases. Step is a widely used command but there are a few lesser known things about it which might be confusing. Also, there are ways to step into a function without actually using the `step` command itself such as using the less known `advance` command. - -### No debugging symbols - -Consider a simple example program: - -``` -#include - -int num() { - return 2; -} - -void bar(int i) { - printf("i = %d\n", i); -} - -int main() { - bar(num()); - return 0; -} -``` - -If you compile without the debugging symbols first, set a breakpoint on `bar` and then try to step within it. The GDB gives an error message about no line number information: - -``` -gcc exmp.c -o exmp -gdb ./exmp -(gdb) b bar -Breakpoint 1 at 0x401135 -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, 0x0000000000401135 in bar () -(gdb) step -Single stepping until exit from function bar, -which has no line number information. -i = 2 -0x0000000000401168 in main () -``` - -### Stepi - -It is still possible to step inside the function that has no line number information but the `stepi` command should be used instead. Stepi executes just one instruction at a time. When using GDB's `stepi` command, it's often useful to first do `display/i $pc`. This causes the program counter value and corresponding machine instruction to be displayed after each step: - -``` -(gdb) b bar -Breakpoint 1 at 0x401135 -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, 0x0000000000401135 in bar () -(gdb) display/i $pc -1: x/i $pc -=> 0x401135 : sub $0x10,%rsp -``` - -In the above `display` command, the `i` stands for machine instructions and `$pc` is the program counter register. - -It can be useful to use info registers and print some register contents: - -``` -(gdb) info registers -rax 0x2 2 -rbx 0x7fffffffdbc8 140737488346056 -rcx 0x403e18 4210200 -(gdb) print $rax -$1 = 2 -(gdb) stepi -0x0000000000401139 in bar () -1: x/i $pc -=> 0x401139 : mov %edi,-0x4(%rbp) -``` - -### Complicated function call - -After recompiling the example program with debugging symbols you can set the breakpoint on the `bar` call in main using its line number and then try to step into `bar` again: - -``` -gcc -g exmp.c -o exmp -gdb ./exmp -(gdb) b exmp.c:14 -Breakpoint 1 at 0x401157: file exmp.c, line 14. -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, main () at exmp.c:14 -14 bar(num()); -``` - -Now, let's step into`bar()`: - -``` -(gdb) step -num () at exmp.c:4 -4 return 2; -``` - -The arguments for a function call need to be processed before the actual function call, so `num()` is expected to execute before `bar()`is called. But how do you step into the `bar` as was desired? You need to use the `finish` command and `step` again: - -``` -(gdb) finish -Run till exit from #0 num () at exmp.c:4 -0x0000000000401161 in main () at exmp.c:14 -14 bar(num()); -Value returned is $1 = 2 -(gdb) step -bar (i=2) at exmp.c:9 -9 printf("i = %d\n", i); -``` - -### Tbreak - -The `tbreak` command sets a temporary breakpoint. It's useful for situations where you don't want to set a permanent breakpoint. For example, if you want to step into a complicated function call like `f(g(h()), i(j()), ...)` , in such a case you need a long sequence of `step/finish/step` to step into `f` . Setting a temporary breakpoint and then using continue can help to avoid using such sequences. To demonstrate this, you need to set the breakpoint to the `bar` call in `main` as before. Then set the temporary breakpoint on `bar`.  As a temporary breakpoint it is automatically removed after being hit: - -``` -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, main () at exmp.c:14 -14 bar(num()); -(gdb) tbreak bar -Temporary breakpoint 2 at 0x40113c: file exmp.c, line 9. -``` - -After hitting the breakpoint on the call to `bar` and setting a temporary breakpoint on `bar`, you just need to continue to end up in  `bar`. - -``` -(gdb) continue -Continuing. -Temporary breakpoint 2, bar (i=2) at exmp.c:9 -9 printf("i = %d\n", i); -``` - -### Disable command - -Alternatively, you could set a normal breakpoint on `bar` , continue, and then disable this second breakpoint when it's no longer needed. This way you can achieve the same results as with the `tbreak` with one extra command: - -``` -(gdb) b exmp.c:14 -Breakpoint 1 at 0x401157: file exmp.c, line 14. -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, main () at exmp.c:14 -14 bar(num()); -(gdb) b bar -Breakpoint 2 at 0x40113c: file exmp.c, line 9. -(gdb) c -Continuing. -Breakpoint 2, bar (i=2) at exmp.c:9 -9 printf("i = %d\n", i); -(gdb) disable 2 -``` - -As you can see, the `info breakpoints`  command displays `n` under `Enb`which means it’s disabled but you can enable it later if it’s needed again. - -``` -(gdb) info breakpoints -Num Type Disp Enb Address What -1 breakpoint keep y 0x0000000000401157 in main at exmp.c:14 -breakpoint already hit 1 time -2 breakpoint keep n 0x000000000040113c in bar at exmp.c:9 -breakpoint already hit 1 time -(gdb) enable 2 -(gdb) info breakpoints -Num Type Disp Enb Address What -1 breakpoint keep y 0x000000000040116a in main at exmp.c:19 -breakpoint already hit 1 time -2 breakpoint keep y 0x0000000000401158 in bar at exmp.c:14 -breakpoint already hit 1 time -``` - -### Advance location - -Another option you can use is an `advance` command. Instead of `tbreak bar ; continue` , you can simply do `advance bar` . This command continues running the program up to the given location. - -The other cool thing about `advance` is that if the location that you try to advance to is not reached, GDB will stop after the current frame's function finishes. Thus, execution of the program is constrained: - -``` -Breakpoint 1 at 0x401157: file exmp.c, line 14. -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, main () at exmp.c:14 -14 bar(num()); -(gdb) advance bar -bar (i=2) at exmp.c:9 -9 printf("i = %d\n", i); -``` - -### Skipping a function - -Yet another way to step into the `bar,` avoiding `num`, is using the `skip` command: - -``` -(gdb) b exmp.c:14 -Breakpoint 1 at 0x401157: file exmp.c, line 14. -(gdb) skip num -Function num will be skipped when stepping. -(gdb) r -Starting program: /home/ahajkova/exmp -Breakpoint 1, main () at exmp.c:14 -14 bar(num()); -(gdb) step -bar (i=2) at exmp.c:9 -9 printf("i = %d\n", i); -``` - -To know which functions are currently skipped,  `info skip` is used.  The `num` function is marked as enabled to be skipped by `y`: - -``` -(gdb) info skip -Num Enb Glob File RE Function -1 y n n num -``` - -If `skip` is not needed any more it can be disabled (and re-enabled later) or deleted altogether. You can add another `skip` and disable the first one and then delete them all. To disable a certain `skip`, its number has to be specified, if not specified, each `skip`is disabled. It works the same for enabling or deleting a `skip`: - -``` -(gdb) skip bar -(gdb) skip disable 1 -(gdb) info skip -Num Enb Glob File RE Function -1 n n n num -2 y n n bar -(gdb) skip delete -(gdb) info skip -Not skipping any files or functions. -``` - -### GDB step command - -Using GDB's `step` command is a useful tool for debugging your application. There are several ways to step into even complicated functions, so give these GDB techniques a try next time you're troubleshooting your code. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/gdb-step-command - -作者:[Alexandra][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/ahajkova -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/21/3/debug-code-gdb diff --git a/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md new file mode 100644 index 0000000000..ea398cd4a0 --- /dev/null +++ b/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md @@ -0,0 +1,256 @@ +[#]: subject: "7 pro tips for using the GDB step command" +[#]: via: "https://opensource.com/article/22/12/gdb-step-command" +[#]: author: "Alexandra https://opensource.com/users/ahajkova" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +GDB 进入函数内部的 7 个命令 +====== + +>**调试器**是一个可以运行你的代码并检查问题的软件。[GNU Debugger][1](GBD)是最流行的调试器之一,在这篇文章中,我研究了 **GDB 进入函数内部的几个命令**,包含了 **`step` 命令**和其他几个**常见的 GDB 命令**。`step` 是一个被广泛使用的命令,但它有一些人们不太了解的地方,可能会使得他们十分困惑。此外,还有一些方法可以**在不使用 `step` 命令的情况下进入一个函数**,比如使用不太知名的 `advance` 命令。 + +### 1、无调试符号 + +考虑以下这个简单的示例程序: + +``` +#include + +int num() { + return 2; +} + +void bar(int i) { + printf("i = %d\n", i); +} + +int main() { + bar(num()); + return 0; +} +``` + +如果你在没有 调试符号 debugging sysbols 的情况下进行编译(即在使用 `gcc` 编译程序时上,没有写 `-g` 选项),然后在 `bar` 上设置一个断点,然后尝试在这个函数内使用 `step`,来单步执行语句。GDB 会给出一个 没有行号信息 no line number information 的错误信息。 + +``` +gcc exmp.c -o exmp +gdb ./exmp +(gdb) b bar +Breakpoint 1 at 0x401135 +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, 0x0000000000401135 in bar () +(gdb) step +Single stepping until exit from function bar, +which has no line number information. +i = 2 +0x0000000000401168 in main () +``` + +### 2、`stepi` 命令 + +但是你仍然可以在没有行号信息的函数内部单步执行语句,但要使用 `stepi` 命令来代替 `step`。`stepi` 一次只执行一条指令。当使用 GDB 的 `stepi` 命令时,先做 `display/i $pc` 通常很有用,这会在每一步之后**显示** **程序计数器的值** program counter value 和**相应的** **机器指令** machine instruction : + +``` +(gdb) b bar +Breakpoint 1 at 0x401135 +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, 0x0000000000401135 in bar () +(gdb) display/i $pc +1: x/i $pc +=> 0x401135 : sub $0x10,%rsp +``` + +在上述的 `display` 命令中,`i` 代表机器指令,`$pc` 表示程序计数器寄存器(即 PC 寄存器)。 + +使用 `info registers` 命令,来**打印寄存器的内容**,也是十分有用的。 + +``` +(gdb) info registers +rax 0x2 2 +rbx 0x7fffffffdbc8 140737488346056 +rcx 0x403e18 4210200 +(gdb) print $rax +$1 = 2 +(gdb) stepi +0x0000000000401139 in bar () +1: x/i $pc +=> 0x401139 : mov %edi,-0x4(%rbp) +``` + +### 3、复杂的函数调用 + +在带调试符号的 `-g` 选项,重新编译示例程序后,你可以用 `main` 中的行号,在 `bar` 上设置断点,然后再单步执行 `bar` 函数的语句: + +``` +gcc -g exmp.c -o exmp +gdb ./exmp +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +``` + +接下来,用 `step`,来单步执行 `bar()` 函数的语句: + +``` +(gdb) step +num () at exmp.c:4 +4 return 2; +``` + +函数调用的参数需要在实际的函数调用之前进行处理,`bar()` 函数调用了 `num()` 函数,所以 `num()` 会在 `bar()` 被调用之前执行。但是,通过 GDB 调试,你怎么才能如愿以偿地进入 `bar()` 函数呢?你可以使用 `finish` 命令,并再次使用 `step` 命令。 + +``` +(gdb) finish +Run till exit from #0 num () at exmp.c:4 +0x0000000000401161 in main () at exmp.c:14 +14 bar(num()); +Value returned is $1 = 2 +(gdb) step +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### 4、`Tbreak` 命令 + +`tbreak` 命令会设置一个**临时断点**。如果你不想设置永久断点,那么这个命令是很有用的。举个例子🌰,你想进入一个复杂的函数调用,例如 `f(g(h()), i(j()), ...)`,在这种情况下,你需要一个很长的 `step/finish/step` 序列,才能到达 `f` 函数。如果你设置一个临时断点,然后再使用 `continue` 命令,这样就不需要以上的序列了。为了证明这一点,你需要像以前一样将断点设置在 `main` 的 `bar` 调用上。然后在 `bar` 上设置临时断点。当到达该临时断点后,临时断点会被自动删除。 + + +``` +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) tbreak bar +Temporary breakpoint 2 at 0x40113c: file exmp.c, line 9. +``` + +在调用 `bar` 的时候遇到断点,并在 `bar` 上设置临时断点后,你只需要使用`continue` 继续运行直到 `bar` 结束。 + +``` +(gdb) continue +Continuing. +Temporary breakpoint 2, bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### 5、`disable` 命令 + +类似地,你也可以在 `bar` 上设置一个正常的断点,然后执行 `continue`,然后在不再需要第二个断点时,使用`disable` 命令禁用这个断点,这样也能达到与 `tbreak` 相同的效果。 + +``` +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) b bar +Breakpoint 2 at 0x40113c: file exmp.c, line 9. +(gdb) c +Continuing. +Breakpoint 2, bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +(gdb) disable 2 +``` + +正如你所看到的,`info breakpoints` 命令在 `Enb` 下显示为 `n`,这意味着这个断点已被禁用。但你也能在再次需要这个断点时,再启用它。 + +``` +(gdb) info breakpoints +Num Type Disp Enb Address What +1 breakpoint keep y 0x0000000000401157 in main at exmp.c:14 +breakpoint already hit 1 time +2 breakpoint keep n 0x000000000040113c in bar at exmp.c:9 +breakpoint already hit 1 time +(gdb) enable 2 +(gdb) info breakpoints +Num Type Disp Enb Address What +1 breakpoint keep y 0x000000000040116a in main at exmp.c:19 +breakpoint already hit 1 time +2 breakpoint keep y 0x0000000000401158 in bar at exmp.c:14 +breakpoint already hit 1 time +``` + +### 6、`Advance` 命令运行程序到指定的位置 + +另一个进入函数内部的方法是 `advance` 命令。你可以简单地用 `advance bar`,来代替 `tbreak bar ; continue`。这一命令会将程序继续运行到指定的位置。 + +`advance` 命令的一个很棒的地方在于:如果程序并没有到达你试图进入的位置,那么 GDB 将在当前函数运行完成后停止。因此,程序的执行会受到限制: + +``` +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) advance bar +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +### 7、`skip` 命令 + +进入 `bar` 函数的另一种方式是使用 `skip num` 命令: + +``` +(gdb) b exmp.c:14 +Breakpoint 1 at 0x401157: file exmp.c, line 14. +(gdb) skip num +Function num will be skipped when stepping. +(gdb) r +Starting program: /home/ahajkova/exmp +Breakpoint 1, main () at exmp.c:14 +14 bar(num()); +(gdb) step +bar (i=2) at exmp.c:9 +9 printf("i = %d\n", i); +``` + +请使用 `info skip` 命令,来了解 GDB 跳过了哪些函数。`num()` 函数被标记为 `y`,表示跳过了 `num()` 函数: + +``` +(gdb) info skip +Num Enb Glob File RE Function +1 y n n num +``` + +如果不再需要 `skip`,可以禁用(稍后重新启用)或完全删除它。你可以添加另一个 `skip`,并禁用第一个 `skip`,然后全部删除。要禁用某个 `skip`,必须指定其编号(例如,`skip disable 1`),如果没有指定,则会禁用所有的 `skip`。启用或删除 `skip` 的工作原理相同: + +``` +(gdb) skip bar +(gdb) skip disable 1 +(gdb) info skip +Num Enb Glob File RE Function +1 n n n num +2 y n n bar +(gdb) skip delete +(gdb) info skip +Not skipping any files or functions. +``` + +### GDB 的 `step` 命令 + +使用 GDB 的 `step` 命令是调试程序的一个有用工具。即使是复杂的函数,也有几种方法可以进入这些函数,所以下次你在排除代码问题的时候,可以尝试一下这些 GDB 技术。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/gdb-step-command + +作者:[Alexandra][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ahajkova +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/3/debug-code-gdb From b9638d8f62ab2f362e5073d66aaa55d5715de506 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Wed, 14 Dec 2022 20:47:55 +0800 Subject: [PATCH 749/925] translating --- ...21212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md index 4988fb5a7c..d91fa7bea4 100644 --- a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md +++ b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/best-linux-phones/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From dd48a67ffe2f650867563e7844886805ae2e9bd3 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 15 Dec 2022 08:47:48 +0800 Subject: [PATCH 750/925] translated --- ...⭐️ Install open source solar power at home.md | 61 ------------------- ...⭐️ Install open source solar power at home.md | 61 +++++++++++++++++++ 2 files changed, 61 insertions(+), 61 deletions(-) delete mode 100644 sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md create mode 100644 translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md diff --git a/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md deleted file mode 100644 index 303c257fdb..0000000000 --- a/sources/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md +++ /dev/null @@ -1,61 +0,0 @@ -[#]: subject: "Install open source solar power at home" -[#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" -[#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Install open source solar power at home -====== - -You might have already given some thought to powering your home with solar. Solar photovoltaic panels, which convert sunlight directly into electricity, have fallen so far down in cost that it makes economic sense everywhere. That is why large companies have put in a lot of solar, and even the electric utilities have started installing massive solar farms—it simply costs less than antiquated fossil fuels. Like most homeowners, you would like to save money and eviscerate your electric bill, but you are probably cringing a bit at the upfront cost. To get a rough idea of the cost, a 5kW system that would power an average home installed at $3/W would cost about $15,000, while a larger home might need 10kW to offset all of their electricity purchases and cost $30,000. If you want batteries, double the cost (you don’t need batteries as most solar arrays connect to the grid, but if the grid goes down, so does your solar array until it is turned back on.) Paying for all your electricity for the next several decades is an investment, even if you save a lot of money. - -There is some good financial news. First, both the US and Canada have enacted a 30% tax credit for solar. This credit drops the price down to about $2/W. Second, [Opensource.com previously discussed][1] how you could get a free book, [_To Catch the Sun_][2], that walks you through how to design your own system (you will still need a certified electrician and inspections to attach it to the grid). If you are a little handy, you can cut the remaining cost by about 50%. These costs are primarily for materials, including solar panels, wiring, electronics, and racking. Amazingly, solar panel costs have dropped so low for small solar systems (like the ones for your house) the racking (mechanical structures that hold the solar panels up) can cost more than the panels! - -### Open source to the rescue again - -Applying the open source development paradigm to software results in faster innovation, better products, and lower costs. The same is true of open source hardware—and even in the relatively obscure area of photovoltaic racking. Nearly all commercial photovoltaic racking is made from proprietary odd aluminum extrusions. They cost a lot of money. If you have a bit of unshaded backyard, you have a few open source racking solutions to choose from. - -### Open source solar rack designs - -The first DIY solar rack design meets the following criteria: (1) made from locally-accessible renewable materials, (2) 25-year lifetime to match solar warranties, (3) able to be fabricated by average consumers, (4) able to meet Canadian structural building codes (if you live where there is no snow this is a bit overkill, but, hey, you might have other weather extremes like hurricanes to deal with), (5) low cost and (6) that it is shared using an open source license. [The open source wood-based fixed-tilt ground-mounted bifacial photovoltaic rack design][3] works throughout North America. The racking system saves from 49% to 77% compared to commercial proprietary racking. The racking design, however, is highly dependent on the cost of lumber, which varies worldwide. - -Check your local cost of wood before you dive into this open source design. - -![Non-tilting solar rack plans][4] - -If you are even more adventurous, you might consider this second design that allows you to change the tilt angle. The results of [the second study][5] show the racking systems with an optimal variable seasonal tilt angle have the best lifetime energy production, with 5.2% more energy generated compared to the fixed-tilt system (or 4.8% more energy, if limited to a maximum tilt angle of 60°). Both fixed and variable wooden racking systems show similar electricity costs, which are only 29% of that of proprietary commercial metal racking. The variable tilt rack provides the lowest cost option even when modest labor costs are included and also may provide specific advantages for applications such as [agrivoltaics][6] (i.e., you can garden underneath the panels and amazingly get increases in yields for shade-tolerant crops like lettuce). This design has been certified by [OSHWA with CERN-OHL-S-2.0 licenses][7]. - -IMAGE - -![Tilt-adjustable solar racks][8] - -There is about 1kW for each of the 2 PV module racks shown. So a house would need about five of them. Both papers provide full calculations and step-by-step build instructions. - -As anyone with a solar system will tell you, getting a negative electricity bill is pretty rewarding. This happens if you size your system to meet all of your load and live in a net-metered part of the country. Please note that the electric utilities don’t pay you; the credit carries over until you use it in the winter. - -Have fun with a little open source solar! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-solar-power-home - -作者:[Joshua Pearce][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/joshuapearce -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/21/11/open-source-solar-power -[2]: https://tocatchthesun.com/ -[3]: https://doi.org/10.3390/designs6030041 -[4]: https://opensource.com/sites/default/files/2022-11/nontilt.png -[5]: https://doi.org/10.3390/designs6030054 -[6]: https://www.academia.edu/18406368/The_potential_of_agrivoltaic_systems -[7]: https://certification.oshwa.org/ca000013.html -[8]: https://opensource.com/sites/default/files/2022-11/tilt.png diff --git a/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md new file mode 100644 index 0000000000..c73b0ee49b --- /dev/null +++ b/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md @@ -0,0 +1,61 @@ +[#]: subject: "Install open source solar power at home" +[#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" +[#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在家里安装开源太阳能 +====== + +你可能已经考虑过用太阳能为您的家供电。将太阳光直接转化为电能的太阳能光伏电池板的成本已大幅下降,因此在任何地方都具有经济意义。这就是为什么大公司投入大量太阳能,甚至电力公司也开始安装大型太阳能发电场的原因,因为它的成本低于过时的化石燃料。像大多数房主一样,你想省钱并节省电费,但你可能对前期费用有点畏缩。为了大致了解成本,以 3 美元/瓦的价格为普通家庭供电的 5kW 系统的成本约为 15,000 美元,而更大的家庭可能需要 10kW 才能抵消所有电力购买,成本为 30,000 美元。如果你想要电池,成本加倍(你不需要电池,因为大多数太阳能电池阵列连接到电网,但如果电网瘫痪,你的太阳能电池阵列也会瘫痪,直到它重新开启)支付你未来几十年所有的电费是一种投资,即使你存了很多钱。 + +有一些好消息。首先,美国和加拿大都对太阳能实行了 30% 的税收抵免。此项优惠将价格降至约 2 美元/W。其次,[Opensource.com 之前讨论][1]过你可以获得一本免费书籍[_捕捉阳光_][2],它会引导你完成如何设计自己的系统(你仍然需要一个合格的电工和检查来把它连接到电网)。如果你有一点手艺,你可以将剩余成本削减约 50%。这些成本主要用于材料,包括太阳能电池板、布线、电子设备和支架。令人惊讶的是,对于小型太阳能系统(比如你家的太阳能系统)来说,太阳能电池板的成本下降得如此之低,以至于支架(支撑太阳能电池板的机械结构)的成本可能比面板还高! + +### 开源再次拯救 + +将开源开发范式应用于软件可以加快创新速度、改进产品并降低成本。开源硬件也是如此,甚至在光伏支架这个相对不为人知的领域也是如此。几乎所有的商业光伏支架都是由专有的奇特铝型材制成。它们会花很多钱。如果你有一些没有遮挡的后院,你有一些开源的支架解决方案可以选择。 + +### 开源太阳能支架设计 + +第一个 DIY 太阳能支架设计符合以下标准:(1) 由当地可获得的可再生材料制成,(2) 25 年的使用寿命与太阳能保修相匹配,(3) 能够由普通消费者制造,(4) 能够 符合加拿大结构建筑规范(如果你住在没有雪的地方,这有点矫枉过正,但是,嘿,你可能有其他极端天气需要应对,例如飓风),(5)低成本,(6)它是共享的 使用开源许可证。[开源的木质固定倾斜地面安装双面光伏支架设计][3]在整个北美都适用。与商业专有支架相比,该支架系统可节省 49% 至 77%。然而,支架设计高度依赖于世界各地不同的木材成本。 + +在深入研究这个开源设计之前,请检查你当地的木材成本。 + +![Non-tilting solar rack plans][4] + +如果你更喜欢冒险,你可能会考虑第二种允许改变倾斜角度的设计。[第二项研究][5]的结果表明,具有最佳可变季节性倾斜角的支架系统具有最佳的终身能量产生,与固定倾斜系统相比,产生的能量多 5.2%(或者,如果最大倾斜角限制为 60°,能量多 4.8%)。固定和可变木制支架系统的电力成本相似,仅为专有商业金属货架的 29%。可变倾斜支架提供了最低成本的选择,即使包括适度的劳动力成本,也可能为[农业光伏][6]等应用提供特定优势(即,你可以在面板下面种菜,对于莴苣等耐阴作物来说,能惊人地增加产量)。此设计已通过[具有 CERN-OHL-S-2.0 许可证的 OSHWA][7] 的认证。 + +图片 + +![Tilt-adjustable solar racks][8] + +所示的 2 个 PV 模块架中的每一个大约有 1kW。所以一所房子大约需要五个。这两篇论文都提供了完整的计算和分步建造说明。 + +正如拥有太阳能系统的任何人都会告诉你的那样,获得负电费是非常有益的。如果你的系统规模能满足你所有的负荷,并且住在该国的净计量地区,就会出现这种情况。请注意,电力公司不会向你付款; 额度会一直延续到你在冬天使用它为止。 + +享受一点开源太阳能带来的乐趣! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-solar-power-home + +作者:[Joshua Pearce][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/joshuapearce +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/11/open-source-solar-power +[2]: https://tocatchthesun.com/ +[3]: https://doi.org/10.3390/designs6030041 +[4]: https://opensource.com/sites/default/files/2022-11/nontilt.png +[5]: https://doi.org/10.3390/designs6030054 +[6]: https://www.academia.edu/18406368/The_potential_of_agrivoltaic_systems +[7]: https://certification.oshwa.org/ca000013.html +[8]: https://opensource.com/sites/default/files/2022-11/tilt.png From 2a1098bed71e552f6a5cef3aebdacc2dadf93943 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 15 Dec 2022 08:50:50 +0800 Subject: [PATCH 751/925] translating --- ...0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md index 0ff3f068de..f97b3107bb 100644 --- a/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md +++ b/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-pcmanfm" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 5c93061c0e69976d2486ceafdbfc12dd11ccd04d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 15 Dec 2022 10:17:01 +0800 Subject: [PATCH 752/925] RP @Veryzzj https://linux.cn/article-15349-1.html --- ...0210330 A DevOps guide to documentation.md | 94 +++++++++++++++++++ ...0210330 A DevOps guide to documentation.md | 92 ------------------ 2 files changed, 94 insertions(+), 92 deletions(-) create mode 100644 published/20210330 A DevOps guide to documentation.md delete mode 100644 translated/tech/20210330 A DevOps guide to documentation.md diff --git a/published/20210330 A DevOps guide to documentation.md b/published/20210330 A DevOps guide to documentation.md new file mode 100644 index 0000000000..79f11c85c2 --- /dev/null +++ b/published/20210330 A DevOps guide to documentation.md @@ -0,0 +1,94 @@ +[#]: subject: "A DevOps guide to documentation" +[#]: via: "https://opensource.com/article/21/3/devops-documentation" +[#]: author: "Will Kelly https://opensource.com/users/willkelly" +[#]: collector: "lujun9972" +[#]: translator: "Veryzzj" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15349-1.html" + +文档写作的 DevOps 指南 +====== + +> 将文档写作加入到 DevOps 的生命周期中。 + +![][0] + +DevOps 正在挑战技术文档的规范,这在 IT 历史上是前所未有的。从自动化到提高交付速度,再到拆除瀑布式软件开发生命周期模型,这意味着业务和技术文档写作的理念需要做出巨大改变。 + +以下是 DevOps 对技术文档写作不同方面的影响。 + +### 技术写手的角色变化 + +技术写手必须适应 DevOps。好消息是,许多技术写手已经加入到开发团队中,并且拥有合作关系和不断增长的产品知识的技术写手很具优势。 + +但是如果一个技术写手习惯于独立工作,并依赖于领域专家的草稿作为文档的基础,那么就需要做一些调整。 + +进行一些投资,以确保文档和其他与项目有关的内容开发工作获得所需的工具、结构和支持。从改变 [技术写手聘用方式][2] 开始。以 [DevOps 的速度][3] 编写文档需要重新思考内容规划,并打破 DevOps 团队和支持项目的技术写手之间长期存在的隔阂。 + +DevOps 使开发团队摆脱了传统文档实践的束缚。首先,文档 [完成的定义][4] 必须改变。一些企业的文化使技术写手成为软件开发的被动参与者。DevOps 提出了新的要求:随着 DevOps 文化的转变,技术写手的角色也应发生变化。技术写手需要(且必须适应)DevOps 提供的透明度。他们必须融入 DevOps 团队。取决于组织如何塑造这个角色,将技术写手带入团队可能会带来技能上的挑战。 + +### 文档标准、方法和规格 + +虽然 DevOps 还没有影响到技术文档本身,但开源社区已经加强了对应用编程接口(API)文档的帮助,已经有不同规模的企业的 DevOps 团队正在使用这些文档。 + +用于记录 API 的开源规范和工具是个非常值得关注的领域。我想这是由于 [谷歌文档季][5] 的影响,它使开源软件项目能够获得专业的技术写作人才来解决他们最关键的文档项目。 + +开源 API 属于 DevOps 文档讨论的一部分。云原生应用集成需求的重要性正在上升。[OpenAPI 规范][6](一个定义和记录 API 的开放标准)是在 DevOps 环境下 API 文档的良好资源。然而,该规范会导致文档的创建和更新过程变得很费时,这使其饱受批评。 + +曾经也有短暂尝试过创建 [持续文档][7]Continuous Documentation,并且还有一个来自 CA(现在的 Broadcom)的创建 [DocOps][8] 框架的运动。然而,DocOps 从来没有作为一个行业运动流行起来。 + +DevOps 文档标准的现状意味着 DevOps 团队(包括技术写手)需要在项目的最初阶段就开始创建文档。要做到这一点,你需要把文档作为一个敏捷故事和(同样重要的)管理期望,并且把它与年度绩效评估放在一起执行。 + +### 文档工具 + +文档的编写应该以一种所有团队成员都可以使用的格式或平台在线进行。MediaWiki、DokuWiki、TikiWiki 和其他 [开源维基][9] 为 DevOps 团队提供了一个编写和维护文档的中央仓库。 + +让团队选择他们的维基平台,就像让他们选择他们的其他持续集成/持续开发(CI/CD)工具链一样。开源维基强大之处在于其可扩展性。例如,DokuWiki 包括一系列的扩展,你可以通过安装这些扩展来创建一个符合你的 DevOps 团队的创作要求的平台。 + +如果你有足够的野心来加强你的团队的编写和协作能力,[Nextcloud][10](一个开源的云协作套件)是一个让你的 DevOps 团队上网并给他们提供编写文档所需工具的选择。 + +### DevOps 最佳实践 + +文档在 DevOps 转型中也发挥着作用。例如,你会想要记录组织从 DevOps 实现效率和流程增益的最佳实践,这些信息太重要了,不能靠着 DevOps 团中之间口耳相传。如果你所在的组织有多个 DevOps 团队,那么文档就是统一的力量,它可以促进最佳实践的标准化,并设置了衡量代码质量的基准指标。 + +一般情况下,开发人员承担了记录 DevOps 实践的工作。即使他们的组织有技术写手,他们也可能跨开发团队工作。因此,开发人员和系统管理员能够捕捉、记录和交流他们的最佳实践是很重要的。这里有一些朝正确的方向发展的提示: + +* 提前花时间为 DevOps 最佳实践创建标准模板。不要陷入复制在线模板的陷阱。采访利益相关者和团队来创建一个符合团队需求的模板。 +* 寻找一些创造性的信息收集的方法,例如记录团队会议和使用聊天系统日志来作为文档的基础。 +* 建立一个用于发布最佳实践的维基。使用维基可以跟踪编辑和更新。这样的平台可以帮助团队在最佳实践发生变化时进行更新和维护。 + +当在构建 CI/CD 工具链时记录依赖关系是非常明智的。尤其是当加入新的团队成员时,你会发现这些记录非常有用,另外当团队成员忘记一些事情时,这也是一种保险。 + +最后,自动化对 DevOps 利益相关者和从业者都很有吸引力。在自动化中断之前,一切都很有趣。拥有自动化运行手册、管理指南和其他内容的文档(并且是最新的)意味着无论何时发生故障,员工都可以让自动化重新工作。 + +### 最后一些想法 + +DevOps 对于技术文档来说是一个积极的因素。它将内容开发纳入 DevOps 生命周期,并打破组织文化中开发人员和技术作者之间的隔阂。在没有技术写手的情况下,团队就可以使用工具来加快文档创作的速度,以与 DevOps 的速度相匹配。 + +你的组织将如何把文档加入到 DevOps 生命周期?请在评论区分享你的经验。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/3/devops-documentation + +作者:[Will Kelly][a] +选题:[lujun9972][b] +译者:[Veryzzj](https://github.com/Veryzzj) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/willkelly +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/typewriter-hands.jpg?itok=oPugBzgv "Typewriter with hands" +[2]: https://opensource.com/article/19/11/hiring-technical-writers-devops +[3]: https://searchitoperations.techtarget.com/opinion/Make-DevOps-documentation-an-integral-part-of-your-strategy?_ga=2.73253915.980148481.1610758264-908287796.1564772842 +[4]: https://www.agilealliance.org/glossary/definition-of-done +[5]: https://developers.google.com/season-of-docs +[6]: https://swagger.io/specification/ +[7]: https://devops.com/continuous-documentation +[8]: https://www.cmswire.com/cms/information-management/the-importance-of-docops-in-the-new-era-of-business-027489.php +[9]: https://opensource.com/article/20/7/sharepoint-alternative +[10]: https://opensource.com/article/20/7/nextcloud +[0]: https://img.linux.net.cn/data/attachment/album/202212/15/101537c4kcxxzqzh6fxkor.jpg \ No newline at end of file diff --git a/translated/tech/20210330 A DevOps guide to documentation.md b/translated/tech/20210330 A DevOps guide to documentation.md deleted file mode 100644 index 31fd2bffad..0000000000 --- a/translated/tech/20210330 A DevOps guide to documentation.md +++ /dev/null @@ -1,92 +0,0 @@ -[#]: subject: "A DevOps guide to documentation" -[#]: via: "https://opensource.com/article/21/3/devops-documentation" -[#]: author: "Will Kelly https://opensource.com/users/willkelly" -[#]: collector: "lujun9972" -[#]: translator: "Veryzzj" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -文档写作的 DevOps 指南 -====== - -将文档写作加入到 DevOps 的生命周期中 -![Typewriter with hands][1] - -DevOps 正在挑战技术文档的规范,这在IT历史上是前所未有的。从自动化到提高交付速度,再到拆除瀑布式软件开发生命周期模型,这意味着业务和技术文档的理念需要做出巨大改变。 - -以下是DevOps对技术文档不同方面的影响。 - -### 技术作家的角色变化 - -技术作家必须适应 DevOps。好消息是,许多技术作家已经加入到开发团队中,并且由于拥有合作关系和不断增长的产品知识,这些技术作家很具优势。 - -但是如果一个技术作家习惯独立工作,并依赖于领域专家的草稿作为文档的基础,那么就需要做一些调整。 - -进行一些投资以确保文档和其他与项目有关的开发工作获得所需的工具、结构和支持。 从改变[技术作家聘用习惯][2]开始。以[DevOps 的速度][3]编写文档需要重新思考内容规划,并打破DevOps 团队和支持项目的技术作家之间长期存在的隔阂。 - -DevOps 使开发团队摆脱了传统文档实践的束缚。首先,文档[完成的定义][4]必须改变。一些企业的文化使技术作家成为软件开发的被动参与者。DevOps提出了新的要求--随着 DevOps 文化的转变,技术作家的角色也应发生变化。技术作家需要(且必须适应)DevOps 提供的透明度。他们必须融入 DevOps 团队。取决于组织如何塑造这个角色,将技术作家带入团队可能会带来技能上的挑战。 - -### 文档标准、方法和规格 - -虽然 DevOps 还没有影响到技术文档本身,但开源社区已经加强了对应用编程接口(API)文档的帮助质保,已经有不同规模的企业的 DevOps 团队正在使用这些文档。 - -用于记录 API 的开源规范和工具是个非常值得关注的领域。我想这是由于[谷歌文档季][5]的影响,使得一些专业的技术作家能够接触到开源项目,并解决最关键的文档类项目。 - -开源 API 属于 DevOps文档讨论。云原生应用集成需求的重要性正在上升。[OpenAPI 规范][6]--一个定义和记录API的开放标准--是在 DevOps 环境下 API 文档的良好资源。然而,该规范会导致文档的创建和更新过程变得很费时,这使其饱受批评。 - -曾经也有短暂尝试过创建[持续文档][7],并且还有一个来自 CA(现在的Broadcom)的创建[DocOps][8]框架的运动。然而,DocOps 从来没有作为一个行业运动流行起来。 - -DevOps 文档标准的现状意味着 DevOps 团队(包括技术作家)需要在项目的最初阶段开始创建文档。要做到这一点,需要把文档作为一个敏捷故事和(同样重要的)管理期望来添加,并且把它与年度绩效评估放在一起执行。 - -### Documentation tools 文档工具 - -文档的编写应该以一种所有团队成员都可以使用的格式或平台在线进行。MediaWiki、DokuWiki、TikiWiki和其他[开源维基][9]为 DevOps 团队提供了一个编写和维护文档的中央仓库。 - -让团队选择他们的 wiki,就像让他们选择他们的其他持续集成/持续开发(CI/CD)工具链一样。开源维基强大之处在于其可扩展性。例如,DokuWiki包括一系列的扩展,你可以通过安装这些扩展来创建一个符合你的 DevOps 团队的创作要求的平台。 - -如果你有足够的野心来加强你的团队的编写和协作能力,[Nextcloud][10](一个开源的云协作套件)是一个让你的 DevOps 团队上网并给他们提供编写文档所需工具的选择。 - -### DevOps 最佳实践 - -文档在 DevOps 转型中也发挥着作用。例如,组织从 DevOps 实现效率和流程增益的最佳实践的相关记录,这些信息太重要了,不能靠着 DevOps团中之间口口相传。如果你所在的组织有多个 DevOps 团队,那么文档就是统一的力量,它可以促进最佳实践的标准化,并设置了衡量代码质量的基准指标。。 - -一般情况下,开发人员承担了记录 DevOps 实践的工作。即使他们的组织有技术作家,他们也可能跨开发团队工作。因此,开发人员和系统管理员能够捕捉、记录和交流他们的最佳实践是很重要的。这里有一些朝正确的方向发展的提示: - -* 提前花时间为 DevOps 最佳实践创建标准模板。不要陷入复制在线模板,采访利益相关者和团队来创建一个符合团队需求的模板。 -* 寻找一些方法进行信息收集,例如记录团队会议和使用聊天系统日志来作为文档的基础。 -* 建立一个用于发布最佳实践的 wiki。使用 wiki 可以跟踪编辑和更新。这样的平台可以帮助团队在最佳实践发生变化时进行更新和维护。 - -当在构建 CI/CD 工具链时记录依赖关系是非常明智的。尤其是当加入新的团队成员时,你会发现这些记录非常有用,另外当团队成员忘记一些事情时,这也是一种保险。 - -最后,自动化对 DevOps 利益相关者和从业者都很有吸引力。在自动化中断之前,一切都很有趣。拥有自动化运行手册、管理指南和其他内容的文档(并且是最新的)意味着无论何时发生故障,员工都可以让自动化重新工作。 - -### 最后一些想法 - -DevOps 对于技术文档来说是一个积极的因素。它将内容开发纳入DevOps生命周期,并打破组织文化中开发人员和技术作者之间的隔阂。没有技术作家的优势,团队就可以使用工具来加快文档创作的速度,以与DevOps的速度相匹配。 - -您的组织将如何把文档加入到 DevOps 生命周期?请在评论区分享您的经验。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/3/devops-documentation - -作者:[Will Kelly][a] -选题:[lujun9972][b] -译者:[Veryzzj](https://github.com/Veryzzj) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/willkelly -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/typewriter-hands.jpg?itok=oPugBzgv "Typewriter with hands" -[2]: https://opensource.com/article/19/11/hiring-technical-writers-devops -[3]: https://searchitoperations.techtarget.com/opinion/Make-DevOps-documentation-an-integral-part-of-your-strategy?_ga=2.73253915.980148481.1610758264-908287796.1564772842 -[4]: https://www.agilealliance.org/glossary/definition-of-done -[5]: https://developers.google.com/season-of-docs -[6]: https://swagger.io/specification/ -[7]: https://devops.com/continuous-documentation -[8]: https://www.cmswire.com/cms/information-management/the-importance-of-docops-in-the-new-era-of-business-027489.php -[9]: https://opensource.com/article/20/7/sharepoint-alternative -[10]: https://opensource.com/article/20/7/nextcloud From 3f3b569f75696010eb5327c852269a3c8f73ae37 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 15 Dec 2022 10:51:05 +0800 Subject: [PATCH 753/925] RP @robsean https://linux.cn/article-15350-1.html --- ...Install GNOME Desktop Environment in Linux Mint.md | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) rename {translated/tech => published}/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md (66%) diff --git a/translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/published/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md similarity index 66% rename from translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md rename to published/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md index 2547594576..f521aaceed 100644 --- a/translated/tech/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md +++ b/published/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md @@ -3,48 +3,50 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "robsean" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15350-1.html" 如何在 Linux Mint 上安装 GNOME 桌面环境 ====== +![][0] + Linux Mint 是一款极好的 Linux 发行版,特别适合初学者。 -我喜欢它仍然保持常见的 Ubuntu/Debian 字体,但是它还做了一些 [比 Ubuntu 更好的][1] 工作。其中之一就是它没有使用 Snaps 。 +我喜欢它仍然保持常见的 Ubuntu/Debian 习惯,但是它还做了一些 [比 Ubuntu 更好的][1] 工作,其中之一就是它没有使用 Snap。 然而,我不是 Cinnamon 桌面环境的粉丝,因为我从来没有真正地喜欢过 Windows XP 或 7 的默认设置。 -当我在为 Linux Mint 寻找能提供稳定使用 GNOME 的能力时,这便是我最终获得的结果: +当我寻求保持 Linux Mint 稳定的同时而提供 GNOME 的能力时,这便是我最终获得的结果: ![install gnome in linux mint][2] -这就是我运行 GNOME 42.5 的 Linux Mint 21 。 +不太炫,这就是我运行 GNOME 42.5 的 Linux Mint 21 。 如果你想在 Linux Mint 上安装 GNOME ,那么这篇指南非常适合你。 ### 在 Linux Mint 上安装GNOME 之前所要知道的事 -你真的应该有足够的理由来在 Mint 上安装 GNOME 。如果你只是为了尝鲜,可以在虚拟机中尝试。我使用 [在 VirtualBox 中安装的 Linux Mint][3] 来演示这篇教程。 +要在 Mint 上安装 GNOME,你务必需要有足够的理由。如果你只是为了尝鲜,可以在虚拟机中尝试。我使用 [在 VirtualBox 中安装的 Linux Mint][3] 来演示这篇教程。 -在发行版上安装一种桌面环境与直接使用来自发行版所提供的桌面环境相比,移除桌面环境部分会使其变成一件很复杂化的事。 +安装除发行版提供的桌面环境之外的其他桌面环境,移除桌面环境部分会使其变成一件很复杂的事。 -Cinnamon 使用一些 GNOME 元素。如果你决定稍后移除 GNOME ,这可能会影响到 Cinnamon 的一部分功能。 +Cinnamon 使用了一些 GNOME 元素。如果你决定稍后移除 GNOME ,这可能会影响到 Cinnamon 的一部分功能。 这可能会导致缺少实战经验用户的恐慌。当然,在 TTY 屏幕中重新安装 Cinnamon 桌面环境可能是一种可行的解决方案。 -最重要的一点是,如果你很容易惊慌地不知所措和不喜欢解决难题,那么你就不应该在你的主力计算机上做这些 ‘试验’ 。 +最重要的一点是,如果你很容易惊慌地不知所措和不喜欢解决难题,那么你就不应该在你的主力计算机上做这些 “试验” 。 抛开这些顾虑,让我们看看在 Linux Mint 上获取 GNOME 的简单过程。 ### 在 Linux Mint 上安装 GNOME 桌面环境 -在这里,你有两个选项。1、你可以使用包含所有的 GNOME 实用程序的完整的 GNOME 桌面,2、你也可以使用包含极少数软件包的 GNOME 精简版本、 +在这里,你有两个选项:1、你可以使用包含所有的 GNOME 实用程序的完整的 GNOME 桌面,2、你也可以使用包含极少数软件包的 GNOME 精简版本。 我都将讲解一下。 -为 **安装精简版本的 GNOME** ,你需要安装一个名称为 `vanilla-GNOME` 的软件包,使用下面给定的命令: +为 **安装精简版本的 GNOME** ,你需要安装一个名称为 `vanilla-gnome-desktop` 的软件包,使用下面给定的命令: ``` sudo apt install vanilla-gnome-desktop @@ -60,29 +62,29 @@ sudo apt install gnome ![choose display manager][4] -`gdm3` 是 GNOME 桌面的显示管理器,而 Linux Mint 使用 `lightdm` 作为默认的显示管理器,这两种显示器都可以正常工作,但是,我建议你使用 gdm3 来获取完整的 GNOME 体验。 +`gdm3` 是 GNOME 桌面的显示管理器,而 Linux Mint 使用 `lightdm` 作为默认的显示管理器,这两种显示器都可以正常工作,但是,我建议你使用 `gdm3` 来获取完整的 GNOME 体验。 #### 切换到 GNOME -在完成后,注销并按一次 enter 按键,在这里,你将看到一个小齿轮图标。从这里选择 GNOME : +在完成后,注销并按一次回车键,在这里,你将看到一个小齿轮图标。从这里选择 “GNOME” : ![choose gnome while logging in][5] 现在,你拥有以 Linux Mint 为基础的 GNOME 桌面环境! -#### 额外提示:如何应用整体风格一致的主题 +#### 额外提示:如何应用整体风格一致的主题 你可以继续使用 Cinnamon 桌面的主题,但是它们大多不能如前工作,因此,我建议使用 GNOME 桌面的主题(例如 Adwaita )来保持桌面环境的一致性。 -对我而言,其默认的字体没有一点效果。并且,我更喜欢 Fedora 提供的一些字体。因此,从系统菜单打开 GNOME 调整GNOME tweaks 窗口,并作出如下更改: +对我而言,其默认的字体没有一点效果。并且,我更喜欢 Fedora 提供的一些字体。因此,从系统菜单打开 GNOME 调整GNOME tweaks,并作出如下更改: ![change fonts in ubuntu to have vanilla gnome experience][6] -这里是我使用的一些东西: +这里是我使用的一些设置: -- **Cantarell Regular (11)** 用于界面和文档文本。 -- **Noto Sans Mono Regular (13)** 用于等宽字体文本。 -- **Cantarell Bold (11)** 用于窗口标题。 +- `Cantarell Regular (11)` 用于界面和文档文本。 +- `Noto Sans Mono Regular (13)` 用于等宽字体文本。 +- `Cantarell Bold (11)` 用于窗口标题。 它们的结果是,比默认的 Ubuntu 字体方案要好得多。 @@ -101,7 +103,7 @@ via: https://itsfoss.com/install-gnome-linux-mint/ 作者:[Sagar Sharma][a] 选题:[lkxed][b] 译者:[robsean](https://github.com/robseans) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -114,3 +116,4 @@ via: https://itsfoss.com/install-gnome-linux-mint/ [5]: https://itsfoss.com/wp-content/uploads/2022/11/choose-gnome-while-logging-in.png [6]: https://itsfoss.com/wp-content/uploads/2022/11/change-fonts-in-ubuntu-to-have-vanilla-gnome-experience.png [7]: https://itsfoss.com/install-switch-themes-gnome-shell/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/15/104944fkv32vbys5x1hiv9.jpg \ No newline at end of file From c4e3906856be7866a4e4ed27964d4886ff77673e Mon Sep 17 00:00:00 2001 From: CanYellow Date: Thu, 15 Dec 2022 12:22:29 +0800 Subject: [PATCH 754/925] =?UTF-8?q?Update=2020221202.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=208=20ideas=20for=20measuring=20you?= =?UTF-8?q?r=20open=20source=20software=20usage.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ 8 ideas for measuring your open source software usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md index 892fce0de0..6c4a9eec17 100644 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" [#]: author: "Georg Link https://opensource.com/users/georglink" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "CanYellow" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From a12b71f4a9b23ff753d029da58944ca5ea6efd04 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Thu, 15 Dec 2022 12:26:09 +0800 Subject: [PATCH 755/925] =?UTF-8?q?Update=2020221202.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=208=20ideas=20for=20measuring=20you?= =?UTF-8?q?r=20open=20source=20software=20usage.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ 8 ideas for measuring your open source software usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md index 6c4a9eec17..892fce0de0 100644 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" [#]: author: "Georg Link https://opensource.com/users/georglink" [#]: collector: "lkxed" -[#]: translator: "CanYellow" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 422144d4f431c3a30560b470b3b39fab42d1482e Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Thu, 15 Dec 2022 19:36:24 +0800 Subject: [PATCH 756/925] translated --- ... 5 Best Linux Phones to Watch Out for in 2023.md | 226 ------------------ ... 5 Best Linux Phones to Watch Out for in 2023.md | 223 +++++++++++++++++ 2 files changed, 223 insertions(+), 226 deletions(-) delete mode 100644 sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md create mode 100644 translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md diff --git a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md deleted file mode 100644 index d91fa7bea4..0000000000 --- a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md +++ /dev/null @@ -1,226 +0,0 @@ -[#]: subject: "5 Best Linux Phones to Watch Out for in 2023" -[#]: via: "https://www.debugpoint.com/best-linux-phones/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -5 Best Linux Phones to Watch Out for in 2023 -====== - -**Here’s a list of the best Linux Phones which may become more mainstream in 2023 with their features and price.** - -Android and iOS smartphones are the most popular ones around the world. However, many of you look for something more “open” and better at privacy. If you use Android, you forfeit your privacy. Apple’s iOS is a little better on that – but again – it’s a “walled garden”. - -That’s why Linux phones are becoming popular nowadays because they contain many options for developers and end users. Although various types of Linux phones are currently available, it still becomes confusing to choose the best one. Looking at the trends of 2022, here are some of the Linux Phones which may become more mainstream in 2023. - -### Things you should know about Linux Phones - -Before you read or even plan to buy one, there are a couple of things you should know about. Here are some of them: - -- The Linux phones use a modified version of mainstream Linux distribution with a mobile-friendly desktop environment. This is the same for most of the phones available today. -- You must manage your expectations if you plan to buy a phone and use it for your daily driver. Because the Linux phone operating systems, device features, and app ecosystem is still in the early stages, and it’s not close to the Android or iOS ecosystem, -- However, Linux phones with the operating system provide the best privacy feature, which might be the reason you can make a move. - -### Best Linux Phones - -#### Librem from Purism - -The Librem 5 – Purism is quite a famous brand in the Linux phone market. The Librem 5 model comes with PureOS, an OS designed for Linux Mobiles and not based on the android or iOS platform. It is a natively designed free and open-source OS. PureOS also supports convergence. That means you can plug your phone into a monitor via a USB hub and use it as a desktop OS. - -The phone has premium hardware and feels and focuses on security and privacy. However, this impressive smartphone comes with a little higher price tag of $1299. - -#### Key features & specification - -- Fully free and open-source Linux-based mobile operating system: PureOS -- Separate modem, Wi-Fi and Bluetooth chip -- Three dedicated hardware keys to enable and disable – internet, camera, Wi-Fi and Bluetooth -- Smart card reader -- SD card reader -- User-replaceable battery - -![Librem 5][1] - -| Specification | Description | -| :- | :- | -| **Screen** | 5.7″ (IPS TFT 720×1440) | -| **RAM** | 3 GB | -| **Storage** | 32 GB eMMC | -| **Battery** | 4500mAh | -| **CPU** | NXP i.MX 8M QUAD CORE Cortex-A53 with 64 bit ARM @max 1.5GHz | -| **GPU** | Vivante GC7000 Lite | -| **Screen** | 5.7Inches IPS TFT 720×1440 | -| **Camera** | 13 Mpx with LED Flash (Rear) and 8 Mpx (Front) | -| **USB** | USB Type C | - -[Official page for buying options of Librem 5][2] - -#### Pinephone - -Second on the list is Pinephone, perhaps the most complete and usable Linux phone in the market. Developed by Pine64, it has excellent features and supports multiple Linux ARM distributions for mobile phones. - -In addition, PinePhone comes in multiple versions, including a pro version, simultaneously. It is an excellent option for Linux phones as it is also cheaper. PinePhone focuses on the user’s privacy and extensibility and can be a good option if you want to start the first time with Linux phones. - -#### Key features & specification - -- Supports KDE Plasma mobile, Manjaro mobile, Sailfish OS, and Ubuntu touch -- It comes with five kill switches for LTE, Cameras, Wifi/BT, and Microphones -- Bootable microSD and 16GB/32GB eMMC -- USB Type C (Power, Data and Video Out) -- Six pogo pins allow custom hardware extensions such as a thermal camera, wireless charging, NFC, an extended battery case, or a keyboard case. -- 3.5 headphone jack -- Supports convergence to extend it as a PC -- Affordable price with starting $149 and $199 - -![Pinephone][3] - -| Specification | Description | -| :- | :- | -| **Screen** | 5.95 Inches, HD IPS capacitive touchscreen | -| **CPU** | Allwinner A64 ARM QUAD Core Cortex-A53 and 64bit | -| **GPU** | Mali-400 MP2 | -| **RAM** | Two Variants: 2GB and 3GB LPDDR3 SDRAM | -| **Storage** | Two Variants: 16GB and 32GB eMMC. | -| **Camera** | Single 5MP, 1/4″, LED Flash (Rear) and Single 2MP, f/2.8, 1/5″ (Front) | -| **Battery** | Li-ion (capacity 2800mAh) | -| **Audio Jack** | 3.5 mm | - -[Pinephone buying options][4] - -#### Pro 1 X – F(X)tec - -[Pro 1 X – F(X)tec][5] is a smartphone that offers various options for operating systems. And it’s arguably the more exciting product in this Linux phone list. - -You can use LineageOS, Android, Ubuntu Touch, etc., on the same phone. Moreover, an inbuilt slide-out keyboard makes it more unique and attractive. - -Developed by F(x)tec company in London, its new in the market and shows promise. However, it’s not yet out, with planned shipping on December 2022. Hence, you may need to wait a few days for a review. - -![Pro 1 X][6] - -#### Key features - -- First Linux-based smartphone startup with a sliding QUERTY keyboard -- Supports Ubuntu touch out of the box with an Android option -- Unlocked bootloader -- 3.5 headphone jack -- AMOLED display -- 128GB/6GB (storage and RAM) starting price $829 -- 256GB/8GB (storage and RAM) starting price $899 - -| Specification | Description | -| :- | :- | -| **CPU** | Snapdragon 662 Qualcomm | -| **GPU** | Adreno 610 Qualcomm | -| **RAM** | Two Variants: 6GB and 8GB LPDDR4 | -| **Storage** | 128GB (expandable up to 2TB) | -| **Screen** | 5.99″ with curved edge Corning® Gorilla® Glass 3 ( 2160 x 1080 FHD AMOLED Display) | -| **Camera** | 12MP Sony IMX363 (Rear) and 8MP (Front) | -| **Battery** | 3200 mAh | -| **Audio Jack** | 3.5 mm  | - -[pro 1 x buying options][5] - -#### Volla Phone - -[Volla Phone][7] can operate simultaneously with two operating systems: Ubuntu Touch and VollaOS. Moreover, VollaOS is a modified android that is google-free and simultaneously focuses on the user’s privacy. At the same time, Ubuntu Touch is a popular Linux phone distro. - -#### Key features & specifications - -- Free from Google and services -- No cloud dependency -- Encrypted device storage -- Modified Android OS: Volla OS -- Supports Ubuntu Touch, Manjaro, Sailfish OS -- USB C charging -- 3.5 headphone jack -- Fingerprint log in -- Offline maps - -![Volla Phone][8] - -| Specification | Description | -| :- | :- | -| **CPU** | MediaTek Helio P23 | -| **GPU** | ARM Mali-G71 MP2  | -| **Storage** | 64 GB, eMMC | -| **RAM** | 4 GB DDR3 RAM | -| **Screen** | 6.3Inches, IPS, 2340×1080 Pixels | -| **Camera** | 16MP with Flash (Rear) and 16MP (Front) | -| **Battery** | 4700 mAh | -| **USB** | Type C & 3.5mm Audio Jack | - -[Volla Phone buying options][9] - -#### Fairphone 4 - -It comes with PostmarketOS; [Fairphone 4][10] is another smartphone that has modular hardware. You can replace its battery effortlessly. Moreover, not just the battery, you can also replace its display, etc., just with a screwdriver.   - -Fairphone is another Linux phone which comes with modular hardware. It supports PostmarketOS and uses a modified version of Android: FairPhone OS. The primary selling point of this device is its modularity, where you can replace any part of the mobile phone. That includes the display, battery and other components of this device. - -#### Specifications - -| Specification | Description | -| :- | :- | -| **CPU** | Octa-Core Kryo 570 | -| **RAM** | Two variants: 6GB and 8GB | -| **Storage** | Two variants: 128GB or 256GB | -| **GPU** | Adreno 619 | -| **Screen** | 6.3 inch Full HD+ IPS | -| **Camera** | Dual 48MP (Rear) and 25MP (Front) | -| **Battery** | 3905 mAh Li-ion | -| **Chipset** | Qualcomm SM7225 Snapdragon 750G | - -[FairPhone buying options][11] - -#### Are there any mainstream Android phones that support Linux OS? - -If you don’t want to buy an off-the-shelf mobile phone as listed above, then you can continue using Linux mobile OS in older branded phones because Android is a modified Linux Kernel-based. Hence these devices should work with Ubuntu Touch or PostmarketOS. - -- Google Pixel 3a/3a XL -- Sony Xperia X (F5121 & F5122) -- Google Nexus 5 -- OnePlus One - -- Supported by Ubuntu Touch OS ([full list][12]) - -- Xiaomi Redmi 2 -- Xiaomi Mi Note 2 -- OnePlus GT -- OnePlus 6 - -- Supported by PostmarketOS ([full list][13]) - -### Closing notes - -So, that’s about the best Linux phones available in the market today and will continue in 2023. You can learn more about the above devices from the official website. However, I believe there will be more adoption of Linux phones in the coming days as Privacy becomes a myth every day. - -It’s true that to compete with Android and iOS, the device or OS is not sufficient. What is important is the standard, global availability for buying, low entry-level pricing in emerging markets and investment in the app ecosystem. A streamlined vision is required in the phone ecosystem to win. Without it, Linux phones will become more fragmented, as in desktops. The device makers and major FOSS players need to work together to make it successful. - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/best-linux-phones/ - -作者:[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/12/Librem-5-image2.jpg -[2]: https://puri.sm/products/librem-5/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pinephone.jpg -[4]: https://pine64.com/product-category/pinephone -[5]: https://www.fxtec.com/pro1x -[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pro-1-X.jpg -[7]: https://volla.online/de/index.html -[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/Volla-Phone.jpg -[9]: https://volla.online/de/shop/ -[10]: https://shop.fairphone.com/en/buy-fairphone-4 -[11]: https://shop.fairphone.com/ -[12]: https://devices.ubuntu-touch.io/ -[13]: https://wiki.postmarketos.org/wiki/Devices diff --git a/translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md new file mode 100644 index 0000000000..e83a6dd39a --- /dev/null +++ b/translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md @@ -0,0 +1,223 @@ +[#]: subject: "5 Best Linux Phones to Watch Out for in 2023" +[#]: via: "https://www.debugpoint.com/best-linux-phones/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +2023 年值得期待的 5 个最好的 Linux 手机 +====== + +>以下是一份**可能在 2023 年成为手机界主流的最好的 Linux 手机榜单**,其中还例举了各个 Linux 手机的**特点和价格**。 + +安卓和 iOS 智能手机是世界上最流行的手机。然而,还有许多人都想要更"开放"、且**在隐私方面做得更好的手机**。如果你使用安卓手机,那么你就是放弃了你的隐私。在个人隐私保护方面,苹果的 iOS 手机表现得要好一点,但它也仅提供了有限的隐私保护。 + +这就是现在 Linux 手机变得很流行的原因,因为它们为开发者和终端用户提供了许多选择。虽然,各种类型的 Linux 手机都已经上市,但是要选择最好的 Linux 手机仍然十分困难。从 2022 年的趋势来看,以下是一些可能在 2023 年成为主流的 Linux 手机。 + +### 关于 Linux 手机,你需要知道的事情 + +当你浏览或者计划购买一部 Linux 手机之前,你应该先了解以下关于 Linux 手机的事情: + +- Linux 手机使用的是主流 Linux 发行版的修改版,它有一个适合手机的桌面环境。这对今天的大多数手机(例如安卓、苹果 iOS)来说,也是类似的。 +- 如果你打算买一部 Linux 手机,并将其作为你日常所使用的手机的话,请不要太期待这个 Linux 手机。因为 Linux 手机的操作系统、功能和应用生态系统仍处于早期发展阶段,远远比不上与安卓或 iOS 手机。 +- 然而,Linux 手机的操作系统提供了最好的隐私功能,这会成为你想要出手买一部 Linux 手机的原因。 + +### 最好的 Linux 手机 + +#### 1、Librem🥇 + +**Purism** 公司是 Linux 手机市场上一个相当著名的品牌。Purism 公司推出的 **Librem 5 Linux** 智能手机支持 **PureOS**。PureOS 是一个专为 Linux 手机设计的操作系统,不基于安卓或 iOS 系统;并且它是一个开源的操作系统;它还支持 融合 convergence ,这意味着你可以通过 USB 集线器将手机插入电脑显示器,并将其作为一个桌面操作系统使用🆒。 + +这款手机拥有优质的硬件和手感,并还十分注重安全和隐私。但是,这款令人印象深刻的智能手机价格有点贵,售价为 1299 美元💔。 + +#### Librem 5 Linux 的主要特点和规格 + +- 完全免费和开源的,基于 Linux 的移动操作系统:PureOS +- 拥有独立的调制解调器、Wi-Fi 和蓝牙芯片 +- 拥有 3 个专门的硬件键,来启用和禁用互联网、相机、Wi-Fi 和蓝牙 +- 拥有智能卡读卡器 +- 拥有 SD 卡读卡器 +- 电池可更换 + +![Librem 5][1] + +| 规格 | 描述 | +| :- | :- | +| **屏幕** | 5.7 英寸(IPS TFT 720×1440) | +| **运行内存 RAM** | 3 GB | +| **内存** | 32 GB eMMC | +| **电池容量** | 4500 mAh | +| **CPU** | NXP i.MX 8M QUAD CORE Cortex-A53(四核),64 位 ARM,最高主频为 1.5GHz | +| **GPU** | Vivante GC7000 Lite | +| **屏幕尺寸、材质、分辨率** | 5.7 英寸,IPS TFT,720×1440 像素 | +| **摄像头** | 带 LED 闪光灯的 1300 万像素(后置)摄像头和 800 万像素(前置)摄像头 | +| **USB 接口** | Type C 接口 | + +有点兴趣?你可以进一步浏览 [Librem 5 的购买官网][2]。 + +#### 2、Pinephone🥈 + +Linux 手机榜单的第 2 名是 **Pinephone**。Pinephone 也许是市场上最完善、最实用的 Linux 手机了。它由 **Pine64** 公司开发,具有出色的功能,并是支持多种 Linux ARM 的移动发行版。 + +此外,PinePhone 同时有很多个版本,其中包括专业版本。PinePhone 的价格比较便宜,并且十分注重用户的隐私和可扩展性,如果你是第一次使用 Linux 手机,PinePhone 将会是一个不错的选择😌。 + +#### Pinephone 的主要特点和规格 + +- 支持的操作系统有 KDE Plasma mobile、Manjaro mobile、Sailfish OS 和 Ubuntu touch。 +- 配备启用和禁用 LTE、摄像头、Wifi/BT 和麦克风的 5 个开关 +- 可启动的 microSD 和 16GB/32GB eMMC 的内存空间 +- Type C 接口(可用于电源、数据和视频输出) +- 拥有 6 个 Pogo 引脚,允许自定义硬件扩展,如热像仪、无线充电、NFC、扩展电池盒或键盘盒。 +- 拥有 3.5 毫米耳机插孔 +- 支持融合,可将其插到一台电脑上 +- 价格实惠,2 种型号的售价分别为 149 美元和 199 美元起 + +![Pinephone][3] + +| 规格 | 描述 | +| :- | :- | +| **屏幕** | 5.95 英寸,高清 IPS 电容式触摸屏 | +| **CPU** | Allwinner A64 ARM QUAD Core Cortex-A53(四核),64 位 | +| **GPU** | Mali-400 MP2 | +| **运行内存 RAM** | 2 种型号:2GB 和 3GB LPDDR3 SDRAM | +| **内存** | 2 种型号:16GB and 32GB eMMC. | +| **摄像头** | 500 万像素、1/4英寸、LED 闪光灯(后置)摄像头和 200 万像素、1/5英寸(前置)摄像头 | +| **电池** | 锂离子电池(容量为 2800 mAh) | +| **音频插孔** | 3.5 毫米 | + +想要入手你的第一部 Linux 手机?请进一步浏览 [Pinephone 的购买官网][4] 吧。 + +#### 3、Pro 1 X – F(X)tec🥉 + +[**Pro 1 X** – F(X)tec][5] 是一款提供各种操作系统选择的智能手机,因此它是 Linux 手机榜单中十分令人激动的一项产品。 + +Pro 1 X **支持各种操作系统**,例如 LineageOS、安卓、Ubuntu Touch 等。此外,一个**内置的滑出式键盘**使它看起来更加独特且十分有吸引力。 + +Pro 1 X 由伦敦的 **F(x)tec** 公司开发。它是 Linux 手机市场上新出的产品,很有前景。然而,这个手机还没有上市,计划在 2022 年 12 月开始发货。因此,你可能需要等待几天,才能看到别人对这部手机的评价。 + +![Pro 1 X][6] + +#### Pro 1 X 的主要特点和规格 + +- 首款基于 Linux 的、有内置滑出式键盘的智能手机 +- 支持 Ubuntu touch 操作系统,并有安卓选项 +- 解锁的启动程序 +- 拥有 3.5 毫米耳机插孔 +- 拥有 AMOLED 显示屏 +- 128 GB 内存/6 GB 运行内存:售价为 829 美元起 +- 256 GB 内存/8 GB 运行内存:售价为 899 美元起 + +| 规格 | 描述 | +| :- | :- | +| **CPU** | Snapdragon 662 Qualcomm | +| **GPU** | Adreno 610 Qualcomm | +| **运行内存 RAM** | 2 种型号:6GB 和 8GB LPDDR4 | +| **内存** | 128 GB(可扩展至 2 TB) | +| **屏幕** | 5.99英寸,弧形边缘,Corning® Gorilla® Glass 3(分辨率为 2160 x 1080 像素的 AMOLED 显示屏) | +| **摄像头** | 1200 万像素 Sony IMX363(后置)摄像头和800万像素(前置)摄像头 | +| **电池容量** | 3200 mAh | +| **音频插孔** | 3.5 毫米 | + +它的内置滑出式键盘有没有吸引到你呢?去 [pro 1 x 的购买官网][5] 看看吧。 + +#### 4、Volla Phone + +[Volla Phone][7] 可以同时运行**两个操作系统:Ubuntu Touch 和 VollaOS**。 + +VollaOS 是一个安卓操作系统的修改版,没有谷歌,同时也很注重用户的隐私;Ubuntu Touch 是一个流行的 Linux 手机发行版。 + +#### Volla Phone 的主要特点和规格 + +- 没有谷歌及其服务 +- 不依赖云计算 +- 加密的设备存储 +- 使用安卓操作系统的修改版:Volla OS +- 支持的操作系统有 Ubuntu Touch,Manjaro,Sailfish OS +- 拥有 USB C 充电口 +- 拥有 3.5 毫米耳机插孔 +- 可以用指纹解锁 +- 拥有离线地图 + +![Volla Phone][8] + +| 规格 | 描述 | +| :- | :- | +| **CPU** | MediaTek Helio P23 | +| **GPU** | ARM Mali-G71 MP2  | +| **内存** | 64 GB,eMMC | +| **运行内存 RAM** | 4 GB DDR3 RAM | +| **屏幕尺寸、材质、分辨率** | 6.3 英寸,IPS,2340×1080 像素 | +| **摄像头** | 1600万像素带闪光灯的(后置)摄像头和1600万像素(前置)摄像头 | +| **电池容量** | 4700 mAh | +| **USB 接口** | Type C 接口和 3.5 毫米音频插孔 | + +这个手机看起来也很不错呢,不妨到 [Volla 的购买官网][9] 看看吧。 + +#### 5、Fairphone 4 + +[Fairphone 4][10] 是另一款具有模块化硬件的 Linux 智能手机。它支持 PostmarketOS 操作系统,并使用安卓操作系统的修改版本:FairPhone OS。这个手机的主要卖点是它的 模块化 modularity ,你可以替换手机的任何模块:你可以毫不费力地更换它的电池🔋;此外,不仅仅是更换电池,你还可以简单地用螺丝刀来更换它的显示屏等部件。 + +#### Fairphone 4 的规格 + +| 规格 | 描述 | +| :- | :- | +| **CPU** | Octa-Core Kryo 570(八核) | +| **运行内存 RAM** | 2 种型号:6GB 和 8GB | +| **内存** | 2 种型号:128GB 和 256GB | +| **GPU** | Adreno 619 | +| **屏幕** | 6.3 英寸,全高清,IPS | +| **摄像头** | 2 个 4800 万像素(后置)摄像头和 2500 万像素(前置)摄像头 | +| **电池** | 锂离子电池(容量为 3905 mAh)| +| **芯片组** | Qualcomm SM7225 Snapdragon 750G | + +进一步可浏览 [FairPhone 的购买官网][11]。 + +#### 是否有支持 Linux 操作系统的主流安卓手机呢? + +如果你不想购买上述现成的 Linux 手机,那么你也可以在**安卓手机**上使用 Linux 移动操作系统,因为安卓是基于 Linux 内核上修改的。因此,这些手机应该也能使用 Ubuntu Touch 或 PostmarketOS 操作系统。 + +- Google Pixel 3a/3a XL +- Sony Xperia X (F5121 & F5122) +- Google Nexus 5 +- OnePlus One +- 支持 Ubuntu Touch OS 操作系统的[完整列表][12] +- Xiaomi Redmi 2 +- Xiaomi Mi Note 2 +- OnePlus GT +- OnePlus 6 +- 支持 PostmarketOS 操作系统的[完整列表][13] + +### 结语 + +以上就是关于如今市场上最好的 Linux 手机的全部内容了。你可以从这些手机的官方网站上,了解更多信息。因为手机的隐私保护在当下变得越来越重要了,我相信在未来会有越来越多的人使用 Linux 手机。 + +诚然,Linux 手机本身的功能及其操作系统比不上安卓和苹果 iOS 手机。但是,对于 Linux 手机来说,更重要的是它的标准的设立、全球购买的可行性、在这一新兴市场的低入门价格以及对 Linux 手机应用生态系统的大力投资。在 Linux 手机的生态系统中需要更简化的界面,没有简单的界面,Linux 手机将变得更加零散,就像台式机一样。Linux 手机的制造商还需要和自由及开源软件(FOSS)参与者一起合作,最终才能使 Linux 手机广受欢迎。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-linux-phones/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者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/12/Librem-5-image2.jpg +[2]: https://puri.sm/products/librem-5/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pinephone.jpg +[4]: https://pine64.com/product-category/pinephone +[5]: https://www.fxtec.com/pro1x +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pro-1-X.jpg +[7]: https://volla.online/de/index.html +[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/Volla-Phone.jpg +[9]: https://volla.online/de/shop/ +[10]: https://shop.fairphone.com/en/buy-fairphone-4 +[11]: https://shop.fairphone.com/ +[12]: https://devices.ubuntu-touch.io/ +[13]: https://wiki.postmarketos.org/wiki/Devices From 9dabf995363d2a9170f17bfa9e8f3dcd74268274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 15 Dec 2022 19:56:23 +0800 Subject: [PATCH 757/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221215.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20Switch=20from=20Debian=20Stable=20to=20Testing.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ How to Switch from Debian Stable to Testing.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 sources/tech/20221215.0 ⭐️⭐️ How to Switch from Debian Stable to Testing.md diff --git a/sources/tech/20221215.0 ⭐️⭐️ How to Switch from Debian Stable to Testing.md b/sources/tech/20221215.0 ⭐️⭐️ How to Switch from Debian Stable to Testing.md new file mode 100644 index 0000000000..3f0d190572 --- /dev/null +++ b/sources/tech/20221215.0 ⭐️⭐️ How to Switch from Debian Stable to Testing.md @@ -0,0 +1,159 @@ +[#]: subject: "How to Switch from Debian Stable to Testing" +[#]: via: "https://itsfoss.com/switch-debian-stable-testing/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Switch from Debian Stable to Testing +====== + +If you are looking for the most stable Linux distribution, sure, Debian is the right choice. + +Especially if you are planning to use it on servers. + +But, on the desktop side, things are a bit different. I mean, you are given packages that are at least a year old and support for new-age hardware is even worse. + +So what do you do in those cases, Well, you can use Debian testing! + +But before jumping to the explanation part, let’s briefly understand Debian testing. + +### What is Debian Testing? + +Debian offers you 3 variants of Debian: + +- Debian stable (what you get by default from their homepage). +- Debian testing (has **newer packages** and breaks less often than Debian unstable). +- Debian unstable (has the most recent packages and is **considered the most fragile of all**). + +So Debian testing can be considered a sweet spot between stability and fresh packages. + +I’ve been playing around with Debian testing for some time and haven’t faced any issues. + +In fact, many Debian users prefer the testing variant over the stable version. Despite the name testing, it is pretty usable. + +But still, **I would recommend you to experiment with this on VM,** try using it with your primary tools and if things go well, you can apply those changes in the main system. + +### Switch from Debian stable to Debian testing + +**_Warning: You can not downgrade from Debian testing to Debian stable, as installer scripts and installation tools are only designed to replace the older version with the new one._** + +Also, I would recommend [using timeshift to create a backup][1] before applying the shown steps on your main machine. + +First, update the existing packages using the given command: + +``` +sudo apt update && sudo apt upgrade -y +``` + +Next, make a copy of original `sources.list` file: + +``` +sudo cp /etc/apt/sources.list sources.list.backup +``` + +Now, let’s start with the first step. + +#### Step 1: Edit sources.list file + +There are two ways of editing `sources.list` file. Either you can manually alter the current release name with `testing` or you can [use the sed command][2] to get your job done. + +And I’m going with a 2nd one to make the whole process easier. You just have to use the given command, and it will replace `bullseye` with `testing` for you: + +``` +sudo sed -i 's/bullseye/testing/g' /etc/apt/sources.list +``` + +Now, open your terminal and use the given command to open `sources.list` files: + +``` +sudo nano /etc/apt/sources.list +``` + +And comment out the lines having `security.debian.org` and anything that ends with `-updates` as shown below: + +![comment out security sources][3] + +If you are using nano as I do, you can press `Alt + /` to jump to the end of the line. And then you have to add the following line: + +``` +deb http://security.debian.org testing-security main +``` + +![2. add line to keep track of testing in debian][4] + +And [save the changes and exit from the nano][5] text editor. + +#### Step 2: Update the Repository and install new packages + +Now, update the repository index, and it will show you a massive update pending: + +``` +sudo apt update +``` + +![update repository in linux][6] + +Now, you can use the given command, and it will get you the most recent packages: + +``` +sudo apt upgrade +``` + +Sit back and relax as it is going to take a while. + +Once done, it will present you with the list of changes made as you switched from Debian stable to testing: + +![packages that are updated when switched to debian testing][7] + +You can read if you want or you can **just press q** to proceed further. + +Now, it will show you the message that some of the libraries installed on your system needs to restart. Press the **TAB** key, and it will select the **OK** option, and then press **Enter:** + +![libraries needs to be restarted after update][8] + +Next, it will ask you whether you want to restart services during the package upgrade. Here you have a choice. As I’m doing this for desktop usage only, I will go with `YES`: + +![restart services during package upgrades without asking?][9] + +Once done, you can reboot your system and then use the following command to have full effect from the changes you’ve just made: + +``` +sudo apt full-upgrade +``` + +Now, reboot your system, and you’ll have the most recent packages. Such as **I was running GNOME 43** when I got into the system: + +![running gnome 43 in debian][10] + +### Wrapping Up + +In this tutorial, I explained how you could switch from Debian stable to Debian testing. I hope this will be helpful to you. + +And if you face any issues or have any queries, let me know in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/switch-debian-stable-testing/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/backup-restore-linux-timeshift/ +[2]: https://linuxhandbook.com/sed-command-basics/ +[3]: https://itsfoss.com/wp-content/uploads/2022/11/comment-out-security-sources.gif +[4]: https://itsfoss.com/wp-content/uploads/2022/11/2.-add-line-to-keep-track-of-testing-in-debian.png +[5]: https://linuxhandbook.com/nano-save-exit/ +[6]: https://itsfoss.com/wp-content/uploads/2022/11/update-repository-in-linux.png +[7]: https://itsfoss.com/wp-content/uploads/2022/11/packages-that-are-updated-when-switched-to-debian-testing.png +[8]: https://itsfoss.com/wp-content/uploads/2022/11/libraries-needs-to-be-restarted-after-update.png +[9]: https://itsfoss.com/wp-content/uploads/2022/11/restart-services-during-package-upgrades-without-asking.png +[10]: https://itsfoss.com/wp-content/uploads/2022/11/running-gnome-43-in-debian.png From 60b3add05bc8ca84f0e0a79b824f6810bd4d1e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 15 Dec 2022 19:57:44 +0800 Subject: [PATCH 758/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221215.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wh?= =?UTF-8?q?y=20Drupal=20is=20the=20future=20of=20content=20strategy.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Why Drupal is the future of content strategy.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sources/tech/20221215.1 ⭐️⭐️ Why Drupal is the future of content strategy.md diff --git a/sources/tech/20221215.1 ⭐️⭐️ Why Drupal is the future of content strategy.md b/sources/tech/20221215.1 ⭐️⭐️ Why Drupal is the future of content strategy.md new file mode 100644 index 0000000000..572d40c963 --- /dev/null +++ b/sources/tech/20221215.1 ⭐️⭐️ Why Drupal is the future of content strategy.md @@ -0,0 +1,90 @@ +[#]: subject: "Why Drupal is the future of content strategy" +[#]: via: "https://opensource.com/article/22/12/drupal-content-strategy" +[#]: author: "Suzanne Dergacheva https://opensource.com/users/pixelite" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Why Drupal is the future of content strategy +====== + +As a long-time advocate for open source and a contributor to Drupal, I spend a lot of time thinking about how organizations can leverage the platform. I've been thinking about Drupal's position in the larger digital ecosystem and how it compares to the other options on the market. And how Drupal can lean more on its strengths when planning out the strategy for a new project. + +### How Drupal fits into the digital landscape + +In 2022, putting a site online can be as fast as the time it takes to make a coffee. This is made possible because websites have many similar features and there's usually no need to build one from scratch. When I started my career, frameworks like Ruby on Rails were appealing because of their flexibility. But I quickly learned that the lack of standard solutions for common things like multilingual content, media management, and workflows, meant that each project required a huge investment in custom development. + +On the other hand, web builders that have emerged over the last ten years, like Wix and Squarespace offer the dream of "drag-and-drop" website construction and customizable templates. But in reality, their flexibility is very surface-level. They don't offer enough flexibility to build a solid content model, create an experience, or provide the level of content compliance that large organizations need. + +This is where Drupal stands out, providing both powerful functionality out-of-the-box, and the tools to build out custom functionality on top of that content. + +### Drupal, the content management system + +When I started using Drupal 15 years ago, it was described as a content management system. And it is, as it gives content editors the power to log in and manage content, rather than relying on a webmaster or a web developer to do it. + +But there was also the promise that site builders could update not just the content, but the content model. Site builders could extend Drupal using configuration instead of writing code. This set it apart from the frameworks that were out at the time. From years of teaching people Drupal, I can tell you that there's a certain amount of joy and empowerment that people get when they realize how much they can do through the Drupal admin UI. + +At its core, this is still Drupal's strength. You can control not just the content, but how content is organized. The fact that taxonomy and localization are baked into Drupal's content model, gives a huge advantage over other systems that have a more limited concept of content. + +### Drupal, the platform + +Shortly after adopting Drupal as our agency's technology of choice, I started calling it a platform. As an ambitious 20-something, I was keen to build more than nice-looking content-rich websites. The ambition was to create more powerful tools to organize the flow of information. This includes integrating Drupal with other systems to build functionality and workflows around your content. You can also create content synchronizations between a CRM and Drupal. Finally, you can search interfaces that allow you to search diverse content sources and filter content in new ways. + +The fact that Drupal is so adaptable to these architectures distinguishes it immediately from other CMSs. When talking to large organizations, teams of developers or IT leaders see the benefit of using a technology that is so flexible and adaptable to functional needs. + +### Drupal, the digital experience platform + +While these attributes are still very compelling, Drupal is now referred to as a digital experience platform (DXP). Its main difference from the proprietary DXPs of the world is that it's open. It doesn't ship with a stack of integrated technologies but rather lets you decide what your stack will be. Whether it's for marketing integrations or multi-channel experiences, you can decide how content feeds into and out of Drupal. This flexibility is one of Drupal's strengths. But it can be a challenge when pitching Drupal against other DXPs that come with a complete marketing toolset. + +Marketing folks often look for a packaged solution. And while an agency can package Drupal with a stack of tools, it's hard for Drupal to market this type of ready-to-go solution. + +### Drupal's strength as a content strategy platform + +So how does Drupal position itself when talking to marketers? Drupal's core strength is still its flexible content architecture. This means that it's an ideal platform for implementing a content strategy and content governance plan. These are two things that plenty of organizations are missing. They are also the two reasons for marketers to adopt a platform like Drupal. + +### Better content strategy with Drupal + +While Drupal can already be adapted to the content strategy of any organization, it doesn't mean that every Drupal website has a strong content strategy. Drupal implementers have to proactively make choices that prioritize the needs of content and content editors. This means doing things like: + +- Organizing content around user needs, not organizational structure +- Structuring content to be reusable, adaptable, personalized, translatable +- Integrating content with digital services by making content available via API +- Setting up tools so that content compliance is checked systematically + +Meanwhile, beyond the website, organizations need to use best practices to prioritize their content strategy practice. This means: + +- Empowering communicators and treating content editors as first-class users +- Sharing best practices for web publishing across the organization +- Creating a clear, actionable content governance plan +- Using tools like the digital asset management (DAM) tool that fosters content governance +- Creating a smooth flow of content and feedback between content experts and users + +With new expectations of platforms to handle personalization and faster cycles for re-branding or implementing a completely new marketing strategy, it's more important than ever for your website to be a tool to help your content strategy. If you're looking for ways to orient your practice around a strong content strategy, here are some places to start: + +- Get content editors involved in the process when launching a new web project +- Build [documentation][1] that's driven by content needs, not just technology. Use real content examples in your documentation and talk about the "why" of the content. +- Prioritize ongoing content governance rather than just relying on big projects to revamp your content every 3-5 years +- Invest in cleaning up legacy content instead of migrating content as-is when you do invest in a website redesign +- Invest in the content editor experience, something that Drupal facilitates and continues to invest in, but still takes active effort to do for each project + +To sum up, Drupal is already a CMS and a DXP. But this is beside the point. There is a need to leverage Drupal's capabilities towards creating a strong content strategy to really get the most out of the platform. + +_This article is based on the author's talk at DrupalCon Portland: [Future of content management: using Drupal as a content strategy platform][2]._ + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/drupal-content-strategy + +作者:[Suzanne Dergacheva][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/pixelite +[b]: https://github.com/lkxed +[1]: https://opensource.com/tags/documentation +[2]: https://www.youtube.com/watch?v=iexCIUuMWDU From 1495bbf6d77a0038389d94c1edf63ace90f112e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 15 Dec 2022 20:03:04 +0800 Subject: [PATCH 759/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221215.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Im?= =?UTF-8?q?prove=20your=20documentation=20with=20JavaScript.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ Improve your documentation with JavaScript.md | 236 ++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md diff --git a/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md b/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md new file mode 100644 index 0000000000..921b12bf7a --- /dev/null +++ b/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md @@ -0,0 +1,236 @@ +[#]: subject: "Improve your documentation with JavaScript" +[#]: via: "https://opensource.com/article/22/12/dynamic-documentation-javascript" +[#]: author: "Jim Hall https://opensource.com/users/jim-hall" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Improve your documentation with JavaScript +====== + +Open source software projects often have a very diverse user group. Some users might be very adept at using the system and need very little documentation. For these power users, documentation might only need to be reminders and hints, and can include more technical information such as commands to run at the shell. But other users may be beginners. These users need more help in setting up the system and learning how to use it. + +Writing documentation that suits both user groups can be daunting. The website's documentation needs to somehow balance "detailed technical information" with "providing more overview and guidance." This is a difficult balance to find. If your documentation can't meet both user groups, consider a third option — dynamic documentation. + +Explore how to add a little [JavaScript][1] to a web page so the user can choose to display just the information they want to see. + +### Structure your content + +You can use the example where documentation needs to suit both expert and novice users. In the simplest case, you can use a made-up music player called AwesomeProject. + +You can write a short installation document in HTML that provides instructions for both experts and novices by using the class feature in HTML. For example, you can define a paragraph intended for experts by using: + +``` +

+``` + +This assigns both the expert class and the reader class. You can create a parallel set of instructions for novices using: + +``` +

+``` + +The complete HTML file includes both paragraphs for novice readers and experts: + +``` + + + + + + +How to install the software + + + + +

How to install the software

+ +

Thanks for installing AwesomeProject! With AwesomeProject, +you can manage your music collection like a wizard.

+ +

But first, we need to install it:

+ +

You can install AwesomeProject from +source. Download the tar file, extract it, then run: +./configure ; make ; make install

+ +

AwesomeProject is available in +most Linux distributions. Check your graphical package manager and search for AwesomeProject to install it.

+ + + + +``` + +This sample HTML document doesn't have a stylesheet associated with it, so viewing this in a web browser shows both paragraphs: + +![Image of html in black text.][2] + +We can apply some basic styling to the document to highlight any element with the reader, expert, or novice classes. To make the different text classes easier to differentiate, let's set the reader class to an off-white background color, expert to a dark red text color, and novice to a dark blue text color: + +``` + + + + + + +How to install the software + + + + + + + +

How to install the software

+``` + +These styles help the two sections stand out when you view the page in a web browser. Both paragraphs with the installation instructions have an off-white background color because they both have the reader class. The first paragraph uses dark red text, as defined by the expert class. The second installation paragraph is in dark blue text, from the novice class: + +![Image of html in red and black text.][3] + +### Add JavaScript controls + +With these classes applied, you can add a short JavaScript function that shows just one of the content blocks. One way to write this function is to first set `display:none` to all of the elements with the reader class. This hides the content so it won't display on the page. Then the function should set `display:block` to each of the elements with the class you want to display: + +``` + +``` + +To use this JavaScript in the HTML document, you can attach the function to a button. Since the `readerview`function takes an audience as its parameter, you can call the function with the audience class that you want to view, either novice or expert: + +``` + + + +How to install the software + + + + + + + +

How to install the software

+ + + +

Thanks for installing AwesomeProject! With AwesomeProject, +you can manage your music collection like a wizard.

+ +

But first, we need to install it:

+

You can install AwesomeProject from +source. Download the tar file, extract it, then run +./configure ; make ; make install

+ +

AwesomeProject is available in +most Linux distributions. Check your graphical package +manager and search for AwesomeProject to install it.

+ + + +``` + +With these controls in place, the web page now allows the user to select the text they want to see: + +![Image of window that allows you to select between novice and expert text.][4] + +Clicking either button will show just the text the user wants to read. For example, if you click the “view novice text” button, then you'll see just the blue paragraph: + +![Image showing blue text when you press the novice button.][5] + +Clicking the “view expert text” button hides the novice text and shows only the expert text in red: + +![Image of red text after the expert button is clicked.][6] + +### Extend this to your documentation + +If your project requires you to write multiple how-to documents for different audiences, consider using this method to publish once and read twice. Writing a single document for all your users makes it easy for everyone to find and share the documentation for your project. And you won't have to maintain parallel documentation that varies in just the details. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/dynamic-documentation-javascript + +作者:[Jim Hall][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/jim-hall +[b]: https://github.com/lkxed +[1]: https://opensource.com/downloads/learn-javascript +[2]: https://opensource.com/sites/default/files/2022-12/publishonec.textblack.png +[3]: https://opensource.com/sites/default/files/2022-12/publishone.red_.blue_.png +[4]: https://opensource.com/sites/default/files/2022-12/publishone.novicexpert.png +[5]: https://opensource.com/sites/default/files/2022-12/publishone.blue_.png +[6]: https://opensource.com/sites/default/files/2022-12/publishone.red_.png From 34c7a0e3912dfc8e10a8999313e48a4eed1e9bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 15 Dec 2022 20:04:08 +0800 Subject: [PATCH 760/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221215.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20En?= =?UTF-8?q?joy=20two-panel=20file=20management=20on=20Linux=20with=20far2l?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...y two-panel file management on Linux with far2l.md | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 sources/tech/20221215.3 ⭐️⭐️ Enjoy two-panel file management on Linux with far2l.md diff --git a/sources/tech/20221215.3 ⭐️⭐️ Enjoy two-panel file management on Linux with far2l.md b/sources/tech/20221215.3 ⭐️⭐️ Enjoy two-panel file management on Linux with far2l.md new file mode 100644 index 0000000000..53340252a5 --- /dev/null +++ b/sources/tech/20221215.3 ⭐️⭐️ Enjoy two-panel file management on Linux with far2l.md @@ -0,0 +1,148 @@ +[#]: subject: "Enjoy two-panel file management on Linux with far2l" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-far2l" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Enjoy two-panel file management on Linux with far2l +====== + +Far2l is a port of the Windows text-based file manager **Far**. And to be clear, that's a lower-case **L** (as in "Linux") not a number **1**. It runs in the terminal and is designed around a plug-in structure, enabling compatibility with SSH, WebDAV, NFS, and more. You can compile and run far2l on Linux, Mac, and BSD, or Far on Windows. + +### Install far2l + +Far2l is currently in beta, so you're unlikely to find it in your Linux distribution's software repository. However, you can [compile it from source][1] by downloading cloning its [Git repository][2]: + +``` +$ git clone --depth 1 https://github.com/elfmz/far2l.git +``` + +You can browse through the source code to see all of its different components. The main source files are in `utils/src`: + +``` +SharedResource.cpp +StackSerializer.cpp +StringConfig.cpp +StrPrintf.cpp +TestPath.cpp +Threaded.cpp +ThreadedWorkQueue.cpp +TimeUtils.cpp +TTYRawMode.cpp +utils.cpp +WideMB.cpp +ZombieControl.cpp +``` + +The file `ZombieControl.cpp` works to [mitigate a zombie apocalypse][3] (at least, in terms of processes), the file `ThreadedWorkQueue.cpp` helps speed processes along by using threading. Far2l isn't just built for extensibility, it's built responsibly! + +Assuming you've already prepared your system for compiling code, as described in the [compiling from source][1] article, you must also install some development libraries required by far2l. On Fedora, CentOS, OpenMandriva, and Mageia, the minimal list is: + +- wxGTK3-devel +- spdlog-devel +- xerces-c-devel +- uchardet-devel (your repository may not have this one, but there's a workaround) + +On Debian, the minimal list is: + +- libwxgtk3.0-gtk3-dev +- libuchardet-dev +- libspdlog-dev +- libxerces-c-dev + +Use [CMake][4] to prepare the makefiles: + +``` +$ mkdir build +$ cd !$ +$ cmake .. -DUSEUCD=no +``` + +The `-DUSECD=no` option is required only if you don't have the development libraries for `chardet` installed. If you do, then you can omit that option. + +Finally, compile the code and install far2l to a temporary location: + +``` +$ make -j$(nproc --all) +$ mkdir ~/far2l +$ make install DESTDIR=~/far2l +``` + +If you prefer to install it to your system instead of to a temporary directory, then omit the `DESTDIR=~/far2l` option. + +To launch far2l, invoke the binary stored in the `bin` subdirectory of your install path. For instance: + +``` +$ ~/far2l/local/bin/far2l +``` + +### Using far2l + +When you first launch far2l, it creates a configuration directory in `~/.config` and prompts you to choose what font you'd like to use. On my system, 16 pt font size was the default, and anything less than that was impossible to read. I used the open source Fantasque Mono Regular as my font, but any monospace font ought to work. + +Far2l is a two-panel file manager, meaning that the default view has a place to display two separate directories. At launch, both directories happen to be your home directory. To maximize the amount of screen space used for listing files, far2l uses two columns in each panel, and you can use the **Left** and **Right** arrows to change from one column to the other. + +In the right column, you can also use the **Right** arrow to move "down" the list of files by one screen. In the left column, use the **Left** arrow to move "up" the list of files by one screen. + +![Image of ​the far2l file manager.][5] + +This navigation takes some getting used to, especially if you're used to terminal file managers that only use the **Right** arrow to descend into a directory. However, once you get used to far2l's navigation, you're likely to appreciate the added speed you gain from this simple pagination. + +### Open a file or folder + +To open a folder, select a folder in your file list and press the **Return** key. This causes the active panel to change to a view of that directory. The inactive panel doesn't change, so it's not uncommon for far2l to always be showing two different directories at the same time. That's a feature of the two-panel file manager design, although it can take some getting used to if you're not in the habit of splitting windows. + +After you've moved into a directory, you can move back into its parent folder by selecting the double dots (`..`) at the top of the file listing and pressing **Return**. + +To open a file, select a folder in your file list and press the **Return** key. The file opens according to your desktop's mimetype preferences. + +### Panel and window navigation + +To move from one panel to another, press the **Tab** key. + +The fun thing about far2l is that its file listing is actually a layer over the top of your terminal. To hide the file listing temporarily, and to reveal it once it's gone, press **Ctrl+O** (that's the letter `O` not the digit zero). + +You can also adjust how much of your terminal the file panels take up. Press **Ctrl+Up** and **Ctrl+Down** to adjust the vertical size of the file panels. + +Make no mistake, though, you're not just suspending far2l when you access the terminal underneath. This isn't your usual terminal, it's a far2l terminal that interacts with the file manager and adds a few features to your standard terminal experience. For example, the [`find` command][6] gains graphical auto-completion. + +![Image of ​far2l responsive terminal.][7] + +### Copying and moving files + +All the usual file management functions are available within far2l are available with function keys. These are listed along the bottom of the far2l window. There are lots of options for some of the actions, which is either over-complex or really really powerful, depending on your preference. + +![Image of far21 move options.][8] + +### Exiting far2l + +To close far2l, type `exit far` into the command prompt at the bottom of the far2l window. + +### Far out + +Far2l is a dynamic and responsive text-based file manager. If you're a fan of classic two-panel file managers, then you'll feel at home with far2l. Far2l provides an interesting and novel interpretation of a terminal, and if you don't try far2l for its two-panel file management, you should at least try it for its terminal. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-far2l + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/11/compiling-code +[2]: https://github.com/elfmz/far2l +[3]: https://www.redhat.com/sysadmin/killing-zombies-linux-style +[4]: https://opensource.com/article/21/5/cmake +[5]: https://opensource.com/sites/default/files/2022-10/far2l.filemanager.png +[6]: https://www.redhat.com/sysadmin/linux-find-command +[7]: https://opensource.com/sites/default/files/2022-10/far2l-popup.png +[8]: https://opensource.com/sites/default/files/2022-10/far2l-move-options.png From 88ea9c2f21354a1be55f7e1a16cb060fff5935e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 15 Dec 2022 20:04:38 +0800 Subject: [PATCH 761/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221215.4=20=E2=AD=90=EF=B8=8F=20Pulsar=20A=20Communi?= =?UTF-8?q?ty-Led=20Open=20Source=20Code=20Editor=20to=20Continue=20the=20?= =?UTF-8?q?Legacy=20of=20Atom.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Code Editor to Continue the Legacy of Atom.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md diff --git a/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md b/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md new file mode 100644 index 0000000000..cfbb33c029 --- /dev/null +++ b/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md @@ -0,0 +1,82 @@ +[#]: subject: "Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom" +[#]: via: "https://news.itsfoss.com/pulsar-editor/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom +====== + +Pulsar aims to be a replacement for Atom users, and could challenge Visual Studio code as its development progresses further. + +![Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom][1] + +It is no surprise that Microsoft decided to kill the Atom text editor to favor Visual Studio Code. + +If you did not know, you could take a glance through our older coverage: + +While you may have had better options, Atom was an impressive tool when it was popular. + +**A community build for it is already available**; however, there seems to be a new version (**Pulsar**) that aims to bring feature parity with the original Atom and introduce modern features and updated architecture. + +As per its documentation, the original team that worked on Atom-Community is now involved with creating Pulsar. The reason why they made a separate fork is because of different goals for the projects. + +**Pulsar** wants to modernize everything to present a successor to Atom. + +> 💡 Pulsar is a new project, as a new fork to Atom, with dev/beta releases available to test. + +### Pulsar Editor: What's to see here? + +![pulsar editor][2] + +Of course, the user interface is much of the same. Considering Pulsar hasn't had a stable release yet, the branding could sometimes seem all over the place. + +However, the essentials seem to be there with the documentation, packages, and features like the ability to install packages from Git repositories. + +The key feature highlights for Pulsar, as per the official website, include: + +- **Cross-platform support (Linux, macOS, and Windows)** +- **Built-in package manager** +- **Smart autocompletion** +- **File system browser** +- **Multiple pane user interfaces** +- **Find and replace feature** + +At the time of writing this, automatic updates for Pulsar are not available. You will be able to install newer versions through the official website. + +![pulsar editor settings][3] + +You can customize the editor, change keybindings, manage packages, apply themes, and configure your experience with all the available options. + +As of now, it is too soon to say if Pulsar will become something better than what the Atom community version offers. However, it is something that we can keep an eye on. + +### Download and Try Pulsar + +As mentioned earlier, Pulsar is in its early development stage. So, you can find binaries for Linux distributions and AppImage file that you can try on any distro. + +In my test, it **did not work for Linux Mint**, but it worked fine with **Ubuntu 22.04 LTS**. + +You can head to its [official download page][4] to get the package required for your system and test it out. + +[Pulsar Editor][4] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/pulsar-editor/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/pulsar-hackable-text-editor.png +[2]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor.png +[3]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor-settings.png +[4]: https://pulsar-edit.dev/download.html#releases From b9f4dff71a6b8aafd815d71ed068c4beb7103141 Mon Sep 17 00:00:00 2001 From: Songling Gu <1563156662@qq.com> Date: Fri, 16 Dec 2022 00:41:49 +0800 Subject: [PATCH 762/925] =?UTF-8?q?Create=2020221126.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Create=20a=20holiday=20light=20di?= =?UTF-8?q?splay=20with=20your=20Raspberry=20Pi=20and=20ping=20pong=20ball?= =?UTF-8?q?s.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...play with your Raspberry Pi and ping pong balls.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md diff --git a/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md new file mode 100644 index 0000000000..303c5388ae --- /dev/null +++ b/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md @@ -0,0 +1,129 @@ +[#]: subject: "Create a holiday light display with your Raspberry Pi and ping pong balls" +[#]: via: "https://opensource.com/article/22/11/raspberry-pi-holiday-light-display" +[#]: author: "Brian McCafferty https://opensource.com/users/bdm" +[#]: collector: "lkxed" +[#]: translator: "Return7g" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +利用树莓派和乒乓球制作一个假日彩灯 +====== + +我喜欢圣诞装饰品和灯饰,因此很长一段时间以来我一直想做一个可编程的 LED 项目。最近,我制作了一个由 LED 灯、乒乓球和树莓派 Zero 组成的灯阵列。这个项目相对简单并且具有教学价值,因此我认为它非常值得分享。 + +整个彩灯由我设计,但其中一些灵感也来自 YouTube。你可以在我的 [Git 存储库][1] 中找到源代码和构建说明。 + +### 购物清单 + +- [树莓派 Zero][2] +- [树莓派保护壳][3] +- 5V 2A 的电源线 +- 展架 +- 255 个乒乓球 +- 热熔胶枪和若干热熔胶棒 +- 烙铁 +- 焊锡丝 +- 22 AWG 0.35mm 实芯线 +- 10 米 WS2812(B) LED灯带(每米 30 像素) +- 万用表 +- 钢丝钳 +- 剥线钳 + + +### 设计树莓派的灯光效果 + +这个设计是由我展框的大小决定的。我在全球速卖通买到了每米 30 像素的灯带,它可以轻松地切成 0.5m 的长度,这样我就有了 15 个 LED。 乒乓球的直径是 40 毫米,所以我测量并放置了 40 毫米的线,每 40 毫米部分的中间都有 LED 灯条,这就产生了 17 行。 因此我的灯光阵列是 15×17。你可以根据实际情况来调整尺寸。 + +为了给灯带和树莓派供电,我在电路板底部设置了数据线和电源线。我的 LED 灯不需要很多电,所以我使用树莓派 Zero 的 5V 输出 GPIO 为它们供电。当我以 50% 的亮度运行时,这个亮度已经足以在白天和晚上透过我的窗户看到。 + +### 布线 + +我从电路板的底部以之字形开始布线,这使得焊接非常容易,因为每行的末尾不必返回到每行的开头。 + +我的线路大致像这样(为清楚起见,这里进行了简化,实际上它一共有 17 行): + +``` +<---------------\ +                | +/---------------/ +| +\---------------< # 这里连接树莓派 +``` + +### 使用树莓派搭建显示屏 + +当设计和布线的工作完成后就可以开始搭建显示屏了。 + +我在展板上测量并绘制了线路。我的灯带背面有胶带,所以我只需要取下背衬并将其贴在展板上。我检查了每个灯带的位置和数据线的方向以确保灯带可以按照树莓派的指令正确运作。 + +连接好所有灯带后,我剪下三段长度相同的电线,并将每个灯带末端的电源线、数据线和接地线连接到其上方。 + +![Connect each light strip at the end of each line.][4] + +在线路连接完成后,我检查了每条灯带之间的电源线和地线之间的连续性,以确保其连通性。我还检查了是否存在错误的桥接,所以我验证了电源线和地线之间的连续性。我还进行了一些测试以确保所有灯都正常点亮(参阅[测试代码][5]。) + +完成上述工作后,我开始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然后剪一个小洞让 LED 灯穿进去。我每米使用 30 个像素的 LED 灯,所以每个 LED 之间有大约 30 毫米的空隙。 + +在 LED 灯上滴上热熔胶,然后在 LED 上放了一个乒乓球并按住大约五秒钟,就粘好了一个乒乓球。粘贴下一个乒乓球时我只需要挨着上一个乒乓球就能让所有乒乓球都变得整齐了 + +![It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.][6] + +我继续为余下的乒乓球进行焊接。尽管这个过程中有几个乒乓球被压碎了,但最终还是顺利完成了制作。 + +![255 LEDs and 255 ping pong balls in an array.][7] + +### 测试代码 + +测试代码需要确保所有部件都能正常工作,为此我使用了[Adafruit 指南][8],它以红、绿和蓝点亮每个 LED,然后依次进行循环。我在测试时使用它来确保我连接无误并且焊接正常。 + +在此之后,我在电子表格中设计了一个网格,将每个像素映射到一个网格位置。由于我的像素编号呈之字形排列,因此很难跟踪每个 LED(例如 A1 为 256,B1 为 226)。重新映射网格位置能使得我在构建图像时更容易。 + +在所有准备工作完成之后,我就可以在纸上和电子表格中设计图像,然后编码。于是我开始添加一些动画(使用循环并将像素变为一种颜色,然后变为另一种颜色)。 + +最终的结果还算顺利。 + +![A Christmas gift in LED.][9] + +![Reindeer painted with light.][10] + +![An LED snowflake.][11] + +### 全年可用的树莓派彩灯 + +我不确定这是否已经完全完成了。自从把它摆放到橱窗里,几乎每个晚上我都会添加一些新的图像和动画。我已经在考虑除夕夜的时候要做成什么样了。它不会像圣诞装饰品一起在圣诞节后被放进储藏室。 我只需要在上面显示其它图案,就能使它成为一个全年可用的彩灯! 我的一个朋友推荐了像素马里奥,这听起来是个好主意! + +我的代码仍然需要完善。 例如,我做了一些滚动文本,但当我为文本的每个位置重新绘制时却花了很多时间。我想我可以用循环做一些事情,或者图像库可以帮助更轻松地滚动字母,并使添加文本更容易,而不是在每一步打开和关闭每个像素。 + +这里有一张照片记录了我制作的全过程[LED 乒乓墙][12]。 + +可以在此处观看它的运行视频:[XMas 灯光展示][13]。 + +这个彩灯最终的效果我非常满意。以后我也会尝试更多利用 LED 彩灯完成的项目。我也鼓励大家亲自动手制作一个这样的彩灯,它会比你想象中更简单。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display + +作者:[Brian McCafferty][a] +选题:[lkxed][b] +译者:[Return7g](https://github.com/Return7g) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/bdm +[b]: https://github.com/lkxed +[1]: https://github.com/bmccafferty/ping-pong-led-wall +[2]: https://shop.pimoroni.com/products/raspberry-pi-zero-wh-with-pre-soldered-header +[3]: https://shop.pimoroni.com/products/pibow-zero-w +[4]: https://opensource.com/sites/default/files/2022-11/IMG_20201126_115520.jpeg +[5]: https://opensource.com#the-code +[6]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_101409.webp +[7]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_160500.webp +[8]: https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage +[9]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_181931.webp +[10]: https://opensource.com/sites/default/files/2022-11/IMG_20201202_215902.webp +[11]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_215314.webp +[12]: https://projects.bdm.scot/Xmas%20LED%20Wall%202020/ +[13]: https://youtu.be/zc0501GzpMw From 26ee69a5f9b85849db67a04eb8b735be3df9a603 Mon Sep 17 00:00:00 2001 From: Songling Gu <1563156662@qq.com> Date: Fri, 16 Dec 2022 00:43:06 +0800 Subject: [PATCH 763/925] =?UTF-8?q?Delete=2020221126.2=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=20Create=20a=20holiday=20light=20di?= =?UTF-8?q?splay=20with=20your=20Raspberry=20Pi=20and=20ping=20pong=20ball?= =?UTF-8?q?s.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...play with your Raspberry Pi and ping pong balls.md | 130 ------------------ 1 file changed, 130 deletions(-) delete mode 100644 sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md diff --git a/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md deleted file mode 100644 index c1e4f1b306..0000000000 --- a/sources/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md +++ /dev/null @@ -1,130 +0,0 @@ -[#]: subject: "Create a holiday light display with your Raspberry Pi and ping pong balls" -[#]: via: "https://opensource.com/article/22/11/raspberry-pi-holiday-light-display" -[#]: author: "Brian McCafferty https://opensource.com/users/bdm" -[#]: collector: "lkxed" -[#]: translator: "Return7g" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Create a holiday light display with your Raspberry Pi and ping pong balls -====== - -I love Christmas decorations and lights, and I'd been wanting to do an programmable LED project for a long time. Recently, I built a light array made of LED lights, ping pong balls, and a Raspberry Pi Zero. I thought it was worth sharing, because it ended up being relatively easy but also educational. - -It's mostly my own design, with some inspiration from YouTube videos. You can find the source code and build instructions in my [Git repository][1]. - -### Shopping list - -- [Raspberry Pi Zero][2] -- [Pibow Case][3] -- 5v 2A USB power supply -- Poster frame -- 255 ping pong balls -- Hot glue gun and LOTS of hot glue sticks -- Soldering iron -- Solder -- 22 AWG 0.35mm solid core wiring -- 10 meters of WS2812(B) LED strip lights (30 pixels per meter) -- Multimeter -- Wire cutters -- Wire strippers - -### Design the Raspberry Pi light display - -My design was driven by the size of the poster frame I happened to have available. I got 30 pixel per meter tape from Ali Express, which cut nicely into 0.5m sections, so that gave me 15 LEDs across. Ping pong balls are 40mm, so I measured and placed the lines 40mm apart, with the LED Strip in the middle of each 40mm section. This gave me 17 lines down in total. My array was therefore 15×17. If you try this yourself, yours can be a different size. - -To get power to the array and the Raspberry Pi, I placed the open connections for both data and power at the bottom of the board. I didn't have that many LEDs needing power, so I was able to use the 5v out GPIO from the Raspberry Pi Zero to power them. I run them at 50% brightness, which is easily bright enough to see in the day and at night through my window. - -### Wiring - -In my design, I started at the bottom of the board and wired up in an S-curve. This made soldering easier because loops at the end of each row didn't have to return all the way back to the start of each line. The WS2812 data lines do require you to wire the data the correct way: power can be fed from either side of the strip, but data must be fed from the side with the arrows pointing away. - -My wiring looks like this (this is abbreviated for clarity, in real life it's 17 lines deep): - -``` -<---------------\ -                | -/---------------/ -| -\---------------< # Pi connected here -``` - -### Build the display with your Raspberry Pi - -Once the design and wiring plan was sorted, it was time to get started on the build. - -I measured and drew my lines in pencil on the poster backboard. The WS2812 strips I got came with sticky tape on the back, so I just removed the backing and attached that directly to the backboard. I was sure to position each strip so that the data arrows went one way, then back the other, to ensure that the lights could be daisy-chained correctly for the Pi's instructions. - -Once all light strips were attached, I cut three similar lengths of wire and connected the 5v, data, and ground lines from the end of each light section to the one above it. - -![Connect each light strip at the end of each line.][4] - -After completing each row, I checked continuity between the 5v and ground lines between each strip to ensure my joins were correct. I also checked that I had not accidentally bridged any connections, so I verified that there was no continuity between the 5v and ground lines (in other words, a 5v wire on one line didn't bridge to the ground on the next line.) I also ran some tests to ensure everything was lighting up correctly (see [the code][5] section for my strand tests.) - -Once this was complete, I started to cut holes in the ping pong balls by stabbing scissors into the bottom of them, and cutting a small hole for the LED to shine into. There was no exact science to this, and each one was different, but the effect really worked. I was working with 30 pixels per meter, so my lighting had about 30mm between each LED. A ping pong ball is 40mm across, but I wasn't about to start soldering each LED individually! First of all, I'm not that good at soldering (as my photos show), and anyway, I thought "Well, they're ping pong balls. I can just squash them together!" - -And that's what I did. - -I placed a hot glue blob around each LED and then placed a ping pong ball onto the LED, held it for about five seconds, and moved on to the next one. I held onto the previous ping pong ball as I slid the next one in, pushing it against the first before "folding" it into its neighbor. The effect worked really well. I was happy with what it was looking like straight away. It also had the nice bonus of hiding my bad soldering job ;) - -![It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.][6] - -I continued doing this for 255 LEDs and ping pong balls. There were a few crushed ping pong balls in the process, but in the end, I got there. - -![255 LEDs and 255 ping pong balls in an array.][7] - -### Test the code - -For the test code to ensure that everything was working, I used this [Adafruit guide][8] which lights each LED in red, green, and blue, and then does a rainbow cycle. I used this when I was building to ensure my connections were correct and that everything was soldered correctly. - -After that, I designed a grid in a spreadsheet to map each pixel to a grid position. This helped to make building the images easier. Since my pixel numbers run in a zig-zag pattern, it would have been hard to keep track of each LED (e.g. LED A1 was 256 and B1 was 226).  - -Once this was all set, it was time to design some images on paper and in the spreadsheet. Then it was time to code! It got a bit addictive and I started adding some animation (using loops and turning pixels onto one color and then another color).  - -The end result was everything I'd hoped it would be. - -![A Christmas gift in LED.][9] - -![Reindeer painted with light.][10] - -![An LED snowflake.][11] - -### A Raspberry Pi light display all year - -I am not sure this will ever be truly finished. Nearly every night since it's been up in the window, I've added some new images and animations. I'm already thinking about what to do for New Year's Eve. I also won't be putting this back in storage with my Christmas decorations in January. I just need to think of other things to draw on it to make it a year-round project! A friend of mine suggested a pixel Mario and I love that idea! - -My code also needs a little work. For example, I do some scrolling text, but I redraw the whole board for each position of the text, so it took quite a bit of time to do. I think I can do something with loops, or perhaps the image library can help scroll the letters easier, and make it easier to add text rather than turning each pixel on and off at every step. - -I've got a photo record of my progress from start to finish: [LED Ping Pong Wall][12]. - -You can also see a video of it in action here: [XMas light display][13]. - -I'm really pleased with how this turned out, and I think it looks amazing. I'm very excited to try some other LED projects in the future. I encourage you to try a light array of your own even as your first project. It's easier than it looks! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display - -作者:[Brian McCafferty][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/bdm -[b]: https://github.com/lkxed -[1]: https://github.com/bmccafferty/ping-pong-led-wall -[2]: https://shop.pimoroni.com/products/raspberry-pi-zero-wh-with-pre-soldered-header -[3]: https://shop.pimoroni.com/products/pibow-zero-w -[4]: https://opensource.com/sites/default/files/2022-11/IMG_20201126_115520.jpeg -[5]: https://opensource.com#the-code -[6]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_101409.webp -[7]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_160500.webp -[8]: https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage -[9]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_181931.webp -[10]: https://opensource.com/sites/default/files/2022-11/IMG_20201202_215902.webp -[11]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_215314.webp -[12]: https://projects.bdm.scot/Xmas%20LED%20Wall%202020/ -[13]: https://youtu.be/zc0501GzpMw From a8daea810cc76cfb794ef7087c91db928ad72263 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 16 Dec 2022 08:36:01 +0800 Subject: [PATCH 764/925] translated --- ... ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 104 ------------------ ... ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 104 ++++++++++++++++++ 2 files changed, 104 insertions(+), 104 deletions(-) delete mode 100644 sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md create mode 100644 translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md diff --git a/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md deleted file mode 100644 index fe68240171..0000000000 --- a/sources/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md +++ /dev/null @@ -1,104 +0,0 @@ -[#]: subject: "Linux Mint Upgrade Tool: Usage Guide" -[#]: via: "https://www.debugpoint.com/mint-upgrade-tool/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux Mint Upgrade Tool: Usage Guide -====== - -**Here’s how you can upgrade to new Linux Mint versions using the Mint upgrade tool, i.e. mintupgrade GUI with actual upgrade process screenshots.** - -If you are looking for **detailed upgrade** steps to the recently released **Linux Mint 21 Vanessa**, read this guide 👉 [upgrade-linux-mint-21-from-20-3][1] - -### Linux Mint Upgrade Tool - -The Linux Mint team [announced][2] a few months back, that they built a new utility to upgrade the Linux Mint’s significant versions. It’s called the “mintupgrade2”. Development is complete, and It is currently under the support and planning for upgrading to the major versions—for example, Linux Mint 20 to 21 and not the minor version upgrades. - -Although you can upgrade the versions using the standard apt commands, the Mint team believes significant version upgrades are tricky. It would be difficult for the new users to perform a seamless upgrade because it involves the terminal and a set of complex steps with commands. - -Moreover, the GUI is a wrapper with additional features to the mintupgrade program, which brings a set of pre-system checks and upgrade processes with a one-click Fix. - -In addition, the mintupgrade checks basic checks, whether you are connected to power, the system is up to date, disk space availability and many more features. - -To show you how it looks and works, we set up a testbed with LMDE 4 and give it a go. - -But before that, here’s a quick set of features: - -- Entirely GUI-driven upgrade process -- Multi-language support -- Pre-upgrade checks: system backup, power, disk space, list of removed packages -- Configurable -- Alert you about the orphaned packages from the prior version -- It gives you the option to fix issues - -### How it works - -When we ran the mint upgrade utility via the command `mintupgrade`, the GUI, the friendly welcome screen gives you an excellent starting point and starts the upgrade process. And then, it begins with a series of checks on its own. - -![Starting the upgrade process][3] - -In addition to that, when it finds some problem in your system, it stops and gives you sufficient details about it. Once you click on Fix, it can resume the process again. - -That’s not all; it can resume the upgrade process if interrupted due to network or internet or any other problem. - -The utility found the following errors in our test system during our test and fixed them with just one click. - -![Apt Cache check][4] - -![Mint Upgrade detects that system snapshots not present][5] - -![Check for Orphan Packages][6] - -![Status before upgrade][7] - -![Mint Upgrade can detect the packages require downgrade][8] - -Lastly, we successfully upgraded a test system from LMDE 4 to LMDE 5. - -![Upgrade Complete][9] - -#### How to get this upgrade utility - -The installation of the utility is easy using the commands below. However, if you are running the latest version of Linux Mint 21, it should already be installed and try by running mintupgrade from the terminal. - -``` -sudo apt update -``` - -``` -sudo apt install mintupgrade -``` - -### Closing Notes - -Finally, I think it’s one of the best utilities by the Linux Mint team. As you can see above, it handled many errors on its own. All I did was click the “Fix” button. And the utility is smart enough to understand all the failure points and take care of the remediations. - -[GitHub and source code of mintupgrade][10] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/mint-upgrade-tool/ - -作者:[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/upgrade-linux-mint-21-from-20-3/ -[2]: https://www.debugpoint.com/2022/04/linux-mint-21-announcement/ -[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/Starting-the-upgrade-process.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/Apt-Cache-check.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-detects-that-system-snapshots-not-present.jpg -[6]: https://www.debugpoint.com/wp-content/uploads/2022/04/Check-for-Orphan-Packages.jpg -[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Status-before-upgrade.jpg -[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-can-detect-the-packages-require-downgrade.jpg -[9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Upgrade-Complete.jpg -[10]: https://github.com/linuxmint/mintupgrade diff --git a/translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md new file mode 100644 index 0000000000..dbfa0952d0 --- /dev/null +++ b/translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md @@ -0,0 +1,104 @@ +[#]: subject: "Linux Mint Upgrade Tool: Usage Guide" +[#]: via: "https://www.debugpoint.com/mint-upgrade-tool/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Mint 升级工具:使用指南 +====== + +**以下是如何使用 Mint 升级工具升级到新的 Linux Mint 版本,即带有实际升级过程截图的 mintupgrade GUI。** + +如果你正在寻找最近发布的 **Linux Mint 21 Vanessa** 的**详细升级**步骤,请阅读本指南👉[从 Linux Mint 20.3 升级到 21][1] + +### Linux Mint 升级工具 + +Linux Mint 团队 [宣布][2]在几个月前,他们构建了一个新的程序来升级 Linux Mint 的重要版本。它被称为 “mintupgrade2”。开发已经完成,目前正在支持和计划升级到主要版本,例如 Linux Mint 20 到 21,而不是小版本升级。 + +尽管你可以使用标准的 apt 命令升级版本,但 Mint 团队认为重大版本升级是棘手的。新用户很难进行无缝升级,因为它涉及终端和一系列复杂的命令步骤。 + +此外,GUI 是一个封装器,具有 mintupgrade 程序的附加功能,它通过一键修复带来了一组系统前检查和升级过程。 + +此外,mintupgrade 会进行基本检查,你是否连接到电源、系统是否是最新的、磁盘空间可用性等。 + +为了向你展示它的外观和工作情况,我们安装了一台 LMDE 4 测试机测试。 + +但在此之前,这里有一组功能: + +- 完全由 GUI 驱动的升级过程 +- 多语言支持 +- 升级前检查:系统备份、电源、磁盘空间、已删除包列表 +- 可配置 +- 提醒你有关先前版本中的孤立包 +- 它为你提供了解决问题的选项 + +### 它如何运作 + +当我们通过命令 `mintupgrade` 运行 mint 升级程序时,GUI 友好的欢迎屏幕为你提供了一个很好的起点并开始升级过程。然后,它开始自己进行一系列检查。 + +![开始升级过程][3] + +除此之外,当它在你的系统中发现问题时,它会停止并为你提供足够的详细信息。单击“修复”后,它可以再次恢复该过程。 + +这不是全部。如果由于网络或互联网或任何其他问题而中断,它可以恢复升级过程。 + +这个程序在我们的测试过程中在我们的测试系统中发现了以下错误,并且只需单击一下即可修复它们。 + +![Apt 缓存检查][4] + +![Mint Upgrade 检测到系统快照不存在][5] + +![检查孤立包][6] + +![升级前状态][7] + +![Mint Upgrade 可以检测需要降级的包][8] + +最后,我们成功地将测试系统从 LMDE 4 升级到 LMDE 5。 + +![升级完成][9] + +#### 如何获取此升级程序 + +使用以下命令可以轻松安装该程序。但是,如果你正在运行最新版本的 Linux Mint 21,它应该已经安装并尝试从终端运行 mintupgrade。 + +``` +sudo apt update +``` + +``` +sudo apt install mintupgrade +``` + +### 结束语 + +最后,我认为它是 Linux Mint 团队最好的程序之一。正如你在上面看到的,它自己处理了许多错误。我所做的只是单击“修复”按钮。该程序足够智能,可以了解所有故障点并采取补救措施。 + +[GitHub 和 mintupgrade 源码][10] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/mint-upgrade-tool/ + +作者:[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/upgrade-linux-mint-21-from-20-3/ +[2]: https://www.debugpoint.com/2022/04/linux-mint-21-announcement/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/04/Starting-the-upgrade-process.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/04/Apt-Cache-check.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-detects-that-system-snapshots-not-present.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/04/Check-for-Orphan-Packages.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/04/Status-before-upgrade.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-can-detect-the-packages-require-downgrade.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Upgrade-Complete.jpg +[10]: https://github.com/linuxmint/mintupgrade From 69d71eb44716b16c08d3f174cfa3705b9819a498 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 16 Dec 2022 08:40:48 +0800 Subject: [PATCH 765/925] translating --- ...13.6 ⭐️⭐️ Try this Linux web browser as your file manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md index 622adb597e..0d959b6e95 100644 --- a/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md +++ b/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 249d06c2537e77336544864ab73dca71c3dc48d7 Mon Sep 17 00:00:00 2001 From: duoluoxiaosheng <554765662@qq.com> Date: Fri, 16 Dec 2022 09:24:55 +0800 Subject: [PATCH 766/925] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7]I?= =?UTF-8?q?mprove=20your=20documentation=20with=20JavaScript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21215.2 ⭐️⭐️ Improve your documentation with JavaScript.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md b/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md index 921b12bf7a..04434f2ebe 100644 --- a/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md +++ b/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/dynamic-documentation-javascript" [#]: author: "Jim Hall https://opensource.com/users/jim-hall" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "duoluoxiaosheng" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -221,7 +221,7 @@ via: https://opensource.com/article/22/12/dynamic-documentation-javascript 作者:[Jim Hall][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[译者ID](https://github.com/duoluoxiaosehng) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From e192948e962722e36f74672e1772880e89768974 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 16 Dec 2022 09:27:09 +0800 Subject: [PATCH 767/925] RP @cool-summer-021 https://linux.cn/article-15352-1.html --- ...221004 Learn the OSI model in 5 minutes.md | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) rename {translated/tech => published}/20221004 Learn the OSI model in 5 minutes.md (72%) diff --git a/translated/tech/20221004 Learn the OSI model in 5 minutes.md b/published/20221004 Learn the OSI model in 5 minutes.md similarity index 72% rename from translated/tech/20221004 Learn the OSI model in 5 minutes.md rename to published/20221004 Learn the OSI model in 5 minutes.md index cd2b6d735a..dc05565ee5 100644 --- a/translated/tech/20221004 Learn the OSI model in 5 minutes.md +++ b/published/20221004 Learn the OSI model in 5 minutes.md @@ -3,29 +3,32 @@ [#]: author: "Anamika https://opensource.com/users/anamika" [#]: collector: "lkxed" [#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15352-1.html" 5 分钟内了解 OSI 模型 ====== -理解OSI框架的基本概念,掌握计算机系统通信机制 -开放系统互联(OSI)模型是一个定义计算机、服务器和用户如何在一个系统内通信的标准。它是第一个网络通信标准模型,在20世纪80年代早期,所有主流的计算机和通信公司都采用了这个标准。 +![][0] -OSI 模型提供了一种通用语言,用于描述网络,以及在离散的块或层中考虑相关的问题。 +> 理解 OSI 框架的基本概念,掌握计算机系统通信机制。 -### OSI模型的各个层 +开放系统互联Open Systems Interconnection(OSI)模型是一个定义计算机、服务器和用户如何在一个系统内通信的标准。它是第一个网络通信标准模型,在上世纪 80 年代早期,所有主流的计算机和通信公司都采用了这个标准。 + +OSI 模型提供了一种用于描述网络的通用语言,并以离散的块或层的方式来描述。 + +### OSI 模型的各个层 该模型描述了计算机系统通过网络进行通信的七个层。 -1. [应用层][2] -2. [表现层][3] -3. [会话层][4] -4. [传输层][5] -5. [网络层][6] -6. [数据链路层][7] -7. [物理层][8] +- 7 应用层 +- 6 表示层 +- 5 会话层 +- 4 传输层 +- 3 网络层 +- 2 数据链路层 +- 1 物理层 每个层都有自己的工作方式和一系列跟其他层不同的协议。本文将逐个剖析这些层级。 @@ -33,15 +36,15 @@ OSI 模型提供了一种通用语言,用于描述网络,以及在离散的 应用层是在软件中实现的。它是与应用程序交互的层级。 -考虑发送消息的例子。发送消息的程序与应用层进行交互,并发送消息。接着,应用层向 OSI 模型的下一个层级(即表现层)发送消息。 +用发送消息作为例子。发送消息的程序与应用层进行交互,并发送消息。接着,应用层向 OSI 模型的下一个层级(即表示层)发送消息。 -### 表现层 +### 表示层 -来自应用层的数据被转发到表现层。表现层接收到文字、字符、字母、数字等形式的数据,并把它们转换为机器可识读的二进制格式数据。这个过程叫做编译。 +来自应用层的数据被转发到表示层。表示层接收到文字、字符、字母、数字等形式的数据,并把它们转换为机器可识读的二进制格式数据。这个过程叫做编译。 -在此阶段,ASCII(美国信息交换标准码) 字符被转换为扩充的二进制编码的十进制交换码(EBCDIC)。转换后的数据在继续传输前,也会进行编码和加密过程,使用SSL协议进行加密和解密。 +在此阶段,ASCII(美国信息交换标准码)字符被转换为扩充的二进制编码的十进制交换码(EBCDIC)。转换后的数据在继续传输前,也会进行编码和加密过程,使用 SSL 协议进行加密和解密。 -表现层的作用是抽象化,它假设下面的层级会处理它们收到的数据。它也负责压缩数据。数据的压缩可能是有损的,也有可能是无损的,这取决于很多因素,不属于本文的讨论范围。 +表示层的作用是抽象化,它假设下面的层级会处理它们收到的数据。它也负责压缩数据。数据的压缩可能是有损的,也有可能是无损的,这取决于很多因素,这不属于本文的讨论范围。 ### 会话层 @@ -51,9 +54,9 @@ OSI 模型提供了一种通用语言,用于描述网络,以及在离散的 ### 传输层 -传输层的作用是管理数据传输和其自身的关于数据如何传输的一些协议。从会话层传到这里的数据被分为更小的数据单元,这些数据单元称为片段。这个过程叫做“分割”。每个片段包含来源端口号、目标端口号和一个序列号。端口号用来识别发送数据的应用程序。注意,数据以块的形式传输。序列号用于把这些片段按正确的顺序排列。 +传输层的作用是管理数据传输和其自身的关于数据如何传输的一些协议。从会话层传到这里的数据被分为更小的数据单元,这些数据单元称为片段。这个过程叫做“分段”。每个片段包含来源端口号、目标端口号和一个序列号。端口号用来识别发送数据的应用程序。注意,数据以块的形式传输。序列号用于把这些片段按正确的顺序排列。 -传输层负责控制流量或在给定的时间内传输的数据量。它也负责错误的管理,比如数据丢失、损坏等情况。它利用一种错误探测值,通常叫做校验和。传输层对每个数据片段加上校验和,就可以检查所发送的数据是否被正确接收。然后数据传输到网络层。 +传输层负责控制流量或在给定的时间内传输的数据量。它也负责错误控制,比如数据丢失、损坏等情况。它利用一种错误检测值,通常叫做校验和。传输层对每个数据片段加上校验和,就可以检查所发送的数据是否被正确接收。然后数据传输到网络层。 ### 网络层 @@ -84,7 +87,7 @@ via: https://opensource.com/article/22/10/osi-model-network-communications 作者:[Anamika][a] 选题:[lkxed][b] 译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -98,3 +101,4 @@ via: https://opensource.com/article/22/10/osi-model-network-communications [6]: https://opensource.com/article/22/10/osi-model-network-communications#network-layer [7]: https://opensource.com/article/22/10/osi-model-network-communications#data-link-layer [8]: https://opensource.com/article/22/10/osi-model-network-communications#physical-layer +[0]: https://img.linux.net.cn/data/attachment/album/202212/16/092612etn6gwaecb91bweg.jpg \ No newline at end of file From 27bf29e75471277c6ec0f0a1d4d217470e6c3888 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 16 Dec 2022 11:02:50 +0800 Subject: [PATCH 768/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @yzuowei 翻译的非常认真!很好。 --- ...️ Introducing Rust calls to C library functions.md | 67 ++++++++++--------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md index c318bfa2dd..824dd7b0e8 100644 --- a/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md +++ b/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md @@ -3,26 +3,30 @@ [#]: author: "Marty Kalin https://opensource.com/users/mkalindepauledu" [#]: collector: "lkxed" [#]: translator: "yzuowei" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -介绍从 Rust 调用 C 库函数 +从 Rust 调用 C 库函数 ====== -为什么要从 Rust 调用 C 函数?简短的回答就是软件库。冗长的答案则触及到 C 在众多编程语言中的地位,特别是相对 Rust 而言。C,C++,还有 Rust 都是系统语言,这意味着程序员会访问机器层面的数据类型与操作。在这三个系统语言中,C 依然占据主导地位。现代操作系统的内核大致用 C 来写,其余部分依靠汇编语言来补充。在标准系统函数库中,输入与输出、数字处理、加密计算、安全、网络、国际化、字符串处理、内存管理,还用更多,都大体用 C 来写。这些函数库所代表的是一个庞大的基础架构,支撑着用其他语言写出来的应用。Rust 发展至今也有着可观的函数库,但是 C 的函数库——自1970年代就已存在,迄今还在蓬勃发展——是一个无法被忽视的资源。最后一点是, C 依然还是编程语言中的 [lingua franca][1]:大部分语言都与 C 交流,透过 C,语言互相交流。 +![][0] + +> Rust FFI 和 bindgen 工具是为 Rust 调用 C 库而设计的。Rust 很容易与 C 语言对话,从而与任何其它可以与 C 语言对话的语言对话。 + +为什么要从 Rust 调用 C 函数?简短的答案就是软件库。冗长的答案则触及到 C 在众多编程语言中的地位,特别是相对 Rust 而言。C、C++,还有 Rust 都是系统语言,这意味着程序员可以访问机器层面的数据类型与操作。在这三个系统语言中,C 依然占据主导地位。现代操作系统的内核主要是用 C 来写的,其余部分依靠汇编语言补充。在标准系统函数库中,输入与输出、数字处理、加密计算、安全、网络、国际化、字符串处理、内存管理等等,大多都是用 C 来写的。这些函数库所代表的是一个庞大的基础设施,支撑着用其他语言写出来的应用。Rust 发展至今也有着可观的函数库,但是 C 的函数库 —— 自 1970 年代就已存在,迄今还在蓬勃发展 —— 是一种无法被忽视的资源。最后一点是,C 依然还是编程语言中的 [通用语][1]:大部分语言都可以与 C 交流,透过 C,语言之间可以互相交流。 ### 两个概念证明的例子 -Rust 支持 FFI (外部函数接口)用以调用 C 函数。任何 FFI 所需要面临的问题是调用方语言是否包括了被调用语言的数据类型。例如,`ctypes` 是 Python 调用 C 的 FFI,但是 Python 并没有包括 C 所支持的无符号整数类型。结果就是,`ctypes` 必须寻求解决方案。 +Rust 支持 FFI(外部函数接口Foreign Function Interface)用以调用 C 函数。任何 FFI 所需要面临的问题是调用方语言是否涵盖了被调用语言的数据类型。例如,`ctypes` 是 Python 调用 C 的 FFI,但是 Python 并没有包括 C 所支持的无符号整数类型。结果就是,`ctypes` 必须寻求解决方案。 -与之相对的是,Rust 包含了所有 C 中的原始(即,机器层面)类型。比如说,Rust 中的 `i32` 类对应 C 中的 `int` 类。C 特别声明了 `char` 类必须是一个字节大小,而其他类型,比如 `int`,必须至少是这个大小(LCTT 译注:原文处有评论指出 `int` 大小依照 C 标准应至少为2字节);然而如今所有合理的 C 编译器都支持四字节的 `int`,以及八字节的 `double`(Rust 中则是 `f64` 类),以此类推。 +相比之下,Rust 包含了所有 C 中的原始(即,机器层面)类型。比如说,Rust 中的 `i32` 类对应 C 中的 `int` 类。C 特别声明了 `char` 类必须是一个字节大小,而其他类型,比如 `int`,必须至少是这个大小(LCTT 译注:原文处有评论指出 `int` 大小依照 C 标准应至少为 2 字节);然而如今所有合理的 C 编译器都支持四字节的 `int`,以及八字节的 `double`(Rust 中则是 `f64` 类),以此类推。 -面向 C 的 FFI 所面临的另一个挑战是:FFI 是否能够处理 C 的裸指针,包括指向被看作是字符串的数组指针。C 没有字符串类型,它通过结合字符组和一个不会被打印的终止符来实现字符串,大名鼎鼎的_空终止符_。与之相对,Rust 有两个字符串类型:`String` 和 `&str` (字符串切片)。问题是,Rust FFI 是否能将 C 字符串转化成 Rust 字符串——答案是_肯定的_。 +针对 C 的 FFI 所面临的另一个挑战是:FFI 是否能够处理 C 的裸指针,包括指向被看作是字符串的数组指针。C 没有字符串类型,它通过结合字符组和一个非打印终止符(大名鼎鼎的 _空终止符_)来实现字符串。相比之下,Rust 有两个字符串类型:`String` 和 `&str` (字符串切片)。问题是,Rust FFI 是否能将 C 字符串转化成 Rust 字符串——答案是 _肯定的_。 -出于对效率的追求,结构体指针在 C 中也很常见。一个 C 结构体在作为一个函数的参数或者返回值的时候,其默认行为是传递值(即,一个字节一个字节的复制)。C 结构体,如同它在 Rust 中的对应部分一样,可以包含数组和嵌套其他结构体,所以其大小是不定的。结构体在两种语言中的最佳用法是传递或返回引用,也就是说,传递或返回结构体的地址而不是结构体本身的复制。Rust 再一次成功处理了 C 的结构体指针,其在 C 函数库中十分普遍。 +出于对效率的追求,结构体指针在 C 中也很常见。一个 C 结构体在作为一个函数的参数或者返回值的时候,其默认行为是传递值(即,逐字节复制)。C 结构体,如同它在 Rust 中的对应部分一样,可以包含数组和嵌套其他结构体,所以其大小是不定的。结构体在两种语言中的最佳用法是传递或返回引用,也就是说,传递或返回结构体的地址而不是结构体本身的副本。Rust FFI 再一次成功处理了 C 的结构体指针,其在 C 函数库中十分普遍。 -第一段代码案例专注于调用相对简单的 C 库函数,比如 `abs`(绝对值)和 `sqrt`(平方根)。这些函数使用非指针标量参数并返回一个非指针标量值。第二段代码案例则涉及了字符串和结构体指针,在这里会介绍工具 [bindgen][2],其通过 C 接口(头)文件生成 Rust 代码,比如 `math.h` 以及 `time.h`。C 头文件声明了 C 函数的调用语法并定义了会被调用的结构体。两段代码都能在[我的主页上][3]找到。 +第一段代码案例专注于调用相对简单的 C 库函数,比如 `abs`(绝对值)和 `sqrt`(平方根)。这些函数使用非指针标量参数并返回一个非指针标量值。第二段代码案例则涉及了字符串和结构体指针,在这里会介绍工具 [bindgen][2],其通过 C 接口(头文件)生成 Rust 代码,比如 `math.h` 以及 `time.h`。C 头文件声明了 C 函数的调用语法,并定义了会被调用的结构体。两段代码都能在 [我的主页上][3] 找到。 ### 调用相对简单的 C 函数 @@ -56,9 +60,9 @@ fn main() { } ``` -顶部的两个 `use` 声明是 Rust 的数据类型 `c_int` 和 `c_double`,对应 C 类型里的 `int` 和 `double`。Rust 标准模块 `std::os::raw` 定义了十四个类似的类型以确保跟 C 的兼容性。模块 `std::ffi` 中有十四个同样的类型定义以及对字符串的支持。 +顶部的两个 `use` 声明是 Rust 的数据类型 `c_int` 和 `c_double`,对应 C 类型里的 `int` 和 `double`。Rust 标准模块 `std::os::raw` 定义了 14 个类似的类型以确保跟 C 的兼容性。模块 `std::ffi` 中有 14 个同样的类型定义,以及对字符串的支持。 -位于 `main` 函数上的 `extern "C"` 区域声明了三个 C 库函数,这些函数会在 `main` 函数内被调用。每次调用都使用了标准的 C 函数名,但每次调用都必须发生在一个 `unsafe` 区域内。正如每个新接触 Rust 的程序员所发现的那样,Rust 编译器极度强制内存安全。其他语言(特别是 C 和 C++)作不出相同的保证。`unsafe` 区域其实是说:Rust 对外部调用中可能存在的不安全行为不负责。 +位于 `main` 函数上的 `extern "C"` 区域声明了 3 个 C 库函数,这些函数会在 `main` 函数内被调用。每次调用都使用了标准的 C 函数名,但每次调用都必须发生在一个 `unsafe` 区域内。正如每个新接触 Rust 的程序员所发现的那样,Rust 编译器极度强制内存安全。其他语言(特别是 C 和 C++)作不出相同的保证。`unsafe` 区域其实是说:Rust 对外部调用中可能存在的不安全行为不负责。 第一个程序输出为: @@ -69,13 +73,13 @@ fn main() { -3.14的平方根是: NaN. ``` -输出的最后一行的 `NaN` 表示不是数字 (Not a Number):C 库函数 `sqrt` 期待一个非负值作为参数,这使得参数-3.14生成了 `NaN` 作为返回值。 +输出的最后一行的 `NaN` 表示不是数字Not a Number:C 库函数 `sqrt` 期待一个非负值作为参数,这使得参数 `-3.14` 生成了 `NaN` 作为返回值。 ### 调用涉及指针的 C 函数 -C 库函数为了提高效率经常在安全、网络、字符串处理、内存管理,以及其他领域中使用指针。例如,库函数 `asctime`(时间作为 ASCII 字符串)期待一个结构体指针作为其参数。Rust 调用类似 `asctime` 的 C 函数就会比调用 `sqrt` 要更加棘手一些,后者既没有牵扯到指针,也不涉及到结构体。 +C 库函数为了提高效率,经常在安全、网络、字符串处理、内存管理,以及其他领域中使用指针。例如,库函数 `asctime`(ASCII 字符串形式的时间)期待一个结构体指针作为其参数。Rust 调用类似 `asctime` 的 C 函数就会比调用 `sqrt` 要更加棘手一些,后者既没有牵扯到指针,也不涉及到结构体。 -函数 `asctime` 调用的 C 结构体类型为 `struct tm`。一个指向此结构体的指针会作为参数被传递给库函数 `mktime`(时间作为值)。此结构体会将时间拆分成诸如年、月、小时之类的单位。此结构体的字段 (fields) 类型为 `time_t`,是 `int`(32位)和 `long`(64位)的异名。两个库函数将这些破碎的时间碎片组合成了一个单一值:`asctime` 返回一个字符串用以表达时间,而 `mktime` 返回一个 `time_t` 值表示自 [_epoch_][4],即系统时钟和时间戳被决定的那一刻,以来所经历的秒数。典型的 epoch 设置为1900年或1970年,1月1日,0时0分0秒。 +函数 `asctime` 调用的 C 结构体类型为 `struct tm`。一个指向此结构体的指针会作为参数被传递给库函数 `mktime`(时间作为值)。此结构体会将时间拆分成诸如年、月、小时之类的单位。此结构体的字段field类型为 `time_t`,是 `int`(32位)和 `long`(64 位)的别名。两个库函数将这些破碎的时间片段组合成了一个单一值:`asctime` 返回一个以字符串表示的时间,而 `mktime` 返回一个 `time_t` 值表示自 “[纪元][4]Epoch 以来所经历的秒数,这是一个系统的时钟和时间戳的相对时间。典型的纪元设置为 1900 年或 1970 年,1 月 1 日 0 时 0 分 0 秒。(LCTT 校注:Unix、Linux 乃至于如今所有主要的计算机和网络的时间纪元均采用 1970 年为起点。) 以下的 C 程序调用了 `asctime` 和 `mktime`,并使用了其他库函数 `strftime` 来将 `mktime` 的返回值转化成一个格式化的字符串。这个程序可被视作 Rust 对应版本的预热: @@ -93,8 +97,8 @@ int main () { sometime.tm_hour = 1; sometime.tm_mday = 1; sometime.tm_mon = 1; - sometime.tm_year = 1; - sometime.tm_hour = 1; /*LCTT 译注:这里作者多敲了一行*/ + sometime.tm_year = 1; /*LCTT 校注:注意,相对于 1900 年的年数*/ + sometime.tm_hour = 1; sometime.tm_wday = 1; sometime.tm_yday = 1; @@ -102,11 +106,11 @@ int main () { utc = mktime(&sometime); if( utc < 0 ) { - fprintf(stderr, "错误: mktime 无法生成时间\n"); + fprintf(stderr, "错误: mktime 无法生成时间\n"); } else { - printf("返回的整数值: %d\n", utc); - strftime(buffer, sizeof(buffer), "%c", &sometime); - printf("更加可读的版本: %s\n", buffer); + printf("返回的整数值: %d\n", utc); + strftime(buffer, sizeof(buffer), "%c", &sometime); + printf("更加可读的版本: %s\n", buffer); } return 0; @@ -121,19 +125,19 @@ int main () { 更加可读的版本: Fri Feb  1 01:01:01 1901 ``` -(LCTT 译注:如果你尝试在自己电脑上运行这段代码,然后得到了一行关于 `mktime` 的错误信息,然后又在网上随便找了个在线 C 编译器,复制代码然后得到了跟这里的结果有区别但是没有错误的结果,不要慌,我的电脑上也是这样的。导致本地机器上 `mktime` 失败的原因是作者没有设置 `tm_isdst`,这个是用来标记夏令时的 flag。[`tm_isdst` 大于零则夏令时生效中,等于零则不生效,小于零标记未知][5]。加入 `sometime.tm_isdst = 0` 或 `= -1` 后应该就能得到跟在线编译器大致一样的结果。不同的地方在于结果第一行我得到的是 `Mon Feb ...`,这个与作者代码中 `sometime.tm_wday = 1` 对应,这里因该是作者写错了;第二行我和作者和网上得到的数字都不一样,这大概是合理的,因为这与机器的 epoch 有关;第三行我跟作者的结果是一样的,1901年2月1日也确实是周五,这是因为 [`mktime` 其实会修正时间参数中不合理的地方][6]。至于夏令时具体是如何影响 `mktime` 这个问题,我能查到的只有 `mktime` 的计算受时区影响,更底层的原因我也不知道了。) +(LCTT 译注:如果你尝试在自己电脑上运行这段代码,然后得到了一行关于 `mktime` 的错误信息,然后又在网上随便找了个在线 C 编译器,复制代码然后得到了跟这里的结果有区别但是没有错误的结果,不要慌,我的电脑上也是这样的。导致本地机器上 `mktime` 失败的原因是作者没有设置 `tm_isdst`,这个是用来标记夏令时的标志。[`tm_isdst` 大于零则夏令时生效中,等于零则不生效,小于零标记未知][5]。加入 `sometime.tm_isdst = 0` 或 `= -1` 后应该就能得到跟在线编译器大致一样的结果。不同的地方在于结果第一行我得到的是 `Mon Feb ...`,这个与作者代码中 `sometime.tm_wday = 1` 对应,这里应该是作者**写错了**;第二行我和作者和网上得到的数字都不一样,这大概是合理的,因为这与机器的纪元有关;第三行我跟作者的结果是一样的,1901 年 2 月 1 日也确实是周五,这是因为 [`mktime` 其实会修正时间参数中不合理的地方][6]。至于夏令时具体是如何影响 `mktime` 这个问题,我能查到的只有 `mktime` 的计算受时区影响,更底层的原因我也不知道了。) 总的来说,Rust 在调用库函数 `asctime` 和 `mktime` 时,必须处理以下两个问题: - 将裸指针作为唯一参数传递给每个库函数。 - 把从 `asctime` 返回的 C 字符串转化为 Rust 字符串。 -### Rust 调用 `asctime` 和 `mktime` +### Rust 调用 asctime 和 mktime 工具 `bindgen` 会根据类似 `math.h` 和 `time.h` 之类的 C 头文件生成 Rust 支持的代码。下面这个简化版的 `time.h` 就可以用来做例子,简化版与原版主要有两个不同: -- 内置类型 `int` 被用来取代异名类型 `time_t`。工具 bindgen 可以处理 `time_t` 类但是会生成一些烦人的警告,因为 `time_t` 不符合 Rust 的命名规范:`time_t` 以下划线区分 `time` 和 `t`;Rust 更偏好驼峰式命名方法,比如 `TimeT`。 -- 出于同样的原因,这里选择 `StructTM` 作为 `struct tm` 的异名。 +- 内置类型 `int` 被用来取代别名类型 `time_t`。工具 bindgen 可以处理 `time_t` 类,但是会生成一些烦人的警告,因为 `time_t` 不符合 Rust 的命名规范:`time_t` 以下划线区分 `time` 和 `t`;Rust 更偏好驼峰式命名方法,比如 `TimeT`。 +- 出于同样的原因,这里选择 `StructTM` 作为 `struct tm` 的别名。 以下是一份简化版的头文件,`mktime` 和 `asctime` 在文件底部: @@ -154,7 +158,7 @@ extern int mktime(StructTM*); extern char* asctime(StructTM*); ``` -`bindgen` 安装好后,`%` 作为命令行提示,`mytime.h` 作为以上提到的头文件,以下命令可以生成所需的 Rust 代码并将其保存到文件 `mytime.rs`: +`bindgen` 安装好后,`mytime.h` 作为以上提到的头文件,以下命令(`%` 是命令行提示符)可以生成所需的 Rust 代码并将其保存到文件 `mytime.rs`: ``` % bindgen mytime.h > mytime.rs @@ -201,9 +205,9 @@ fn bindgen_test_layout_tm() { ... ``` -Rust 结构体 `struct tm`,跟原本在 C 中的一样,包含了九个4字节的整型字段。这些字段名称在 C 和 Rust 中是一样的。`extern "C"` 区域声明了库函数 `astime` 和 `mktime` 分别需要只一个参数,一个指向可变实例 `extern "C"` 的裸指针。(库函数可能会通过指针改变作为参数传递的结构体。) +Rust 结构体 `struct tm`,跟原本在 C 中的一样,包含了 9 个 4 字节的整型字段。这些字段名称在 C 和 Rust 中是一样的。`extern "C"` 区域声明了库函数 `astime` 和 `mktime` 分别需要只一个参数,一个指向可变实例 `StructTM` 的裸指针。(库函数可能会通过指针改变作为参数传递的结构体。) -`#[test]` 属性下的其余代码是用来测试 Rust 版的时间结构体的布局。通过命令 `cargo test` 可以进行这些测试。一个 C 不会声明的问题是编译器应该如何对结构体中的字段进行布局。比如说,C 的 `struct tm` 以字段 `tm_sec` 开头用以表示秒;但是 C 不需要编译版本遵循这个排序。不管怎样,Rust 测试应该会成功而 Rust 对库函数的调用也应如预期般工作。 +`#[test]` 属性下的其余代码是用来测试 Rust 版的时间结构体的布局。通过命令 `cargo test` 可以进行这些测试。问题在于,C 没有规定编译器应该如何对结构体中的字段进行布局。比如说,C 的 `struct tm` 以字段 `tm_sec` 开头用以表示秒;但是 C 不需要编译版本遵循这个排序。不管怎样,Rust 测试应该会成功,而 Rust 对库函数的调用也应如预期般工作。 ### 设置好第二个案例并开始运行 @@ -251,9 +255,9 @@ Ok( 2120218157 ``` -对 C 函数 `asctime` 和 `mktime` 的调用必须再一次被放在 `unsafe` 区域内,因为 Rust 编译器无法对这些外部函数的潜在内存安全风险负责。此处声明一下,`asctime` 和 `mktime` 并没有安全风险。调用的两个函数的参数是裸指针 `ptr`,其指向结构体 `sometime` (在栈 (stack) 中)的地址。 +对 C 函数 `asctime` 和 `mktime` 的调用必须再一次被放在 `unsafe` 区域内,因为 Rust 编译器无法对这些外部函数的潜在内存安全风险负责。此处声明一下,`asctime` 和 `mktime` 并没有安全风险。调用的两个函数的参数是裸指针 `ptr`,其指向结构体 `sometime` (在stack中)的地址。 -`asctime` 是两个函数中调用起来更棘手的那个,因为这个函数返回的是一个指向 C `char` 的指针,如果函数返回 `Mon` 那么指针就指向 `M`。但是 Rust 编译器并不知道 C 字符串 (`char` 的空终止数组)的储存位置。是内存里的静态空间?还是堆 (heap)?`asctime` 函数内用来储存时间的文字表达的数组实际上是在内存的静态空间里。无论如何,C 到 Rust 字符串转化需要两个步骤来避免编译错误: +`asctime` 是两个函数中调用起来更棘手的那个,因为这个函数返回的是一个指向 C `char` 的指针,如果函数返回 `Mon` 那么指针就指向 `M`。但是 Rust 编译器并不知道 C 字符串 (`char` 的空终止数组)的储存位置。是内存里的静态空间?还是heap?`asctime` 函数内用来储存时间的文字表达的数组实际上是在内存的静态空间里。无论如何,C 到 Rust 字符串转化需要两个步骤来避免编译错误: - 调用 `Cstr::from_ptr(char_ptr)` 来将 C 字符串转化为 Rust 字符串并返回一个引用储存在变量 `c_str` 中。 - 对 `c_str.to_str()` 的调用确保了 `c_str` 是所有者。 @@ -262,9 +266,9 @@ Rust 代码不会增加从 `mktime` 返回的整型值的易读性,这一部 ### 使用 FFI 和 bindgen 调用 C -Rust FFI 和工具 `bindgen` 都能够出色地协助 Rust 调用 C 库,无论是标准库还是第三方库。Rust 轻松地与 C 交流,并透过 C 与其他语言交流。对于调用像 `sqrt` 一样简单的库函数,Rust FFI 表现直截了当,这是因为 Rust 的原始数据类型覆盖了它们在 C 中的对应部分。 +Rust FFI 和工具 `bindgen` 都能够出色地协助 Rust 调用 C 库,无论是标准库还是第三方库。Rust 可以轻松地与 C 交流,并透过 C 与其他语言交流。对于调用像 `sqrt` 一样简单的库函数,Rust FFI 表现直截了当,这是因为 Rust 的原始数据类型覆盖了它们在 C 中的对应部分。 -对于更为复杂的交流——特别是 Rust 调用像 `asctime` 和 `mktime` 一样,会涉及到结构体和指针的 C 库函数——工具 `bindgen` 是优秀的帮手。这个工具会生成支持代码以及所需要的测试。当然,Rust 编译器无法假设 C 代码对内存安全的考虑会符合 Rust 的标准;因此,Rust 必须在 `unsafe` 区域内调用 C。 +对于更为复杂的交流 —— 特别是 Rust 调用像 `asctime` 和 `mktime` 一样,会涉及到结构体和指针的 C 库函数 —— `bindgen` 工具是优秀的帮手。这个工具会生成支持代码以及所需要的测试。当然,Rust 编译器无法假设 C 代码对内存安全的考虑会符合 Rust 的标准;因此,Rust 必须在 `unsafe` 区域内调用 C。 -------------------------------------------------------------------------------- @@ -273,7 +277,7 @@ via: https://opensource.com/article/22/11/rust-calls-c-library-functions 作者:[Marty Kalin][a] 选题:[lkxed][b] 译者:[yzuowei](https://github.com/yzuowei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -285,3 +289,4 @@ via: https://opensource.com/article/22/11/rust-calls-c-library-functions [4]: https://baike.baidu.com/item/UNIX时间/8932323 [5]: https://cplusplus.com/reference/ctime/tm/ [6]: https://cplusplus.com/reference/ctime/mktime/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/16/110147q4kk0qoqe0e3m6bb.jpg \ No newline at end of file From 3431b3e80fadb0ca6a53b7ba27d665ba4b67a38b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 16 Dec 2022 11:03:19 +0800 Subject: [PATCH 769/925] P @yzuowei https://linux.cn/article-15353-1.html --- ....2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md (99%) diff --git a/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/published/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md similarity index 99% rename from translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md rename to published/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md index 824dd7b0e8..f0f6e2de35 100644 --- a/translated/tech/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md +++ b/published/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "yzuowei" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15353-1.html" 从 Rust 调用 C 库函数 ====== From b7b0a4db99e3e73dbbd9e6a659a98d4278a0722b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 16 Dec 2022 23:08:48 +0800 Subject: [PATCH 770/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221215.5=20=E2=AD=90=EF=B8=8F=20XFCE=204.18=20Releas?= =?UTF-8?q?e=20Looks=20Impressive!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ⭐️ XFCE 4.18 Release Looks Impressive!.md | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md diff --git a/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md b/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md new file mode 100644 index 0000000000..0fa893a4df --- /dev/null +++ b/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md @@ -0,0 +1,138 @@ +[#]: subject: "XFCE 4.18 Release Looks Impressive!" +[#]: via: "https://news.itsfoss.com/xfce-4-18-release/" +[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +XFCE 4.18 Release Looks Impressive! +====== + +Xfce 4.18 is here with interesting feature additions and subtle changes. + +![XFCE 4.18 Release Looks Impressive!][1] + +Xfce is one of the best desktop environments out there. It is popular for its simplicity and is a lightweight option. + +Unlike other desktop environments, you do not see regular feature additions to Xfce. So, it is always exciting to wait for an upgrade. + +Xfce 4.18 is the latest release with some useful feature additions and other technical improvements. Let me highlight the same. + +### Xfce 4.18: What's New? + +![Xfce 4.18 with its new default wallpaper][2] + +Although this is not a complete list of changes, some of the more noticeable ones include: + +- **File manager improvements** +- **Desktop and panel changes** +- **More settings for you to tinker with** +- **New Wallpapers** + +#### File Manager Improvements + +![Xfce 4.18 file manager with split view][3] + +Thunar, the default file manager for XFCE, has received quite a few changes with this release. A favorite of many Linux users, Thunar has a clean and intuitive user interface, making it easy for people of all skill levels. + +With this release, this useful tool has received several new features. For instance: + +- **The new search icon in the toolbar allows users to search for files and folders quickly** +- **You can now add a split view** +- **Enable a standalone image preview** + +There's also an interesting addition that helps you **highlight files** to quickly spot them. You can set a foreground and background color, and reset it if you want it gone. + +![xfce 4.18 file highlight][4] + +You can access this feature from the properties option of a file. + +There are a few other additions to Thunar file manager, including: + +- **A new tab for customizing keyboard shortcuts** +- **New bookmark menu** + +#### Refined Settings and Desktop Changes + +Xfce desktop remains much of the same. You should not expect a different user experience out of the box. + +There are no major visual overhauls but subtle refinements and feature improvements. + +For instance, you can find new abilities with the calendar widget. Display settings offer more options even if you do not have multiple displays connected. + +XFCE panel got some changes as well. + +![xfce 4.18 panel settings][5] + +These include adjusting the height in terms of pixels instead of percentages and a new "**keep panel above windows**" option. This allows windows to extend underneath the panel instead of being cut off at the top. + +Not to mention, the clock applet can now have its font family, font size, and layout customized. + +![xfce 4.18 clock][6] + +#### New Wallpapers + +Of course, we also get some new wallpapers; you've already seen the new default at the beginning of this article. + +![xfce 4.18 new wallpaper collection][7] + +If you are curious, you can check out various other submissions for the [wallpaper contest][8]. Maybe you will find something that others didn't like. + +![xfce 4.18 new wallpaper collection][9] + +These are the second and third-best choices planned to be added to the background collection. + +#### Other Changes + +Alongside those previously mentioned, a few more changes are also introduced with this release. + +- **Initial Wayland support, which allows Xfce to run on the Wayland display server.** +- **GTK4 updates, which provide improved performance and stability.** +- **A few minor updates to some core apps, including improvements to the Xfdesktop, Xfwm4, and Xfce4-panel applications.** + +For a complete list of changes, you can refer to the [official blog post][10]. + +### Getting XFCE 4.18 + +You can install it for rolling-release distributions like Arch Linux through the repositories. For other distributions, you may have to wait for an official update if you do not want to experiment with things yourself. + +For a quick try, you can install Xubuntu 23.04 daily builds to get your hands on the features. + +If you are using any other Linux distributions that do not provide quick desktop environment updates for stability purposes, you can try installing it manually if you know what you are doing. + +[Download Xfce 4.18][11] + +### Final Thoughts + +Xfce 4.18 is a significant update to the Xfce desktop environment, with many new features and improvements. + +The updates to the Thunar file manager are particularly noteworthy, as they provide users with more control and customization options. The initial Wayland support and GTK4 updates will improve performance and stability. + +Overall, Xfce 4.18 is a welcome update that will improve the user experience for Xfce users. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/xfce-4-18-release/ + +作者:[Jacob Crume][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/jacob/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/xfce-4-18-release.png +[2]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-hero.jpg +[3]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-manager.jpg +[4]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-highlight.jpg +[5]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-panel.jpg +[6]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-clock-settings.jpg +[7]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallaper.jpg +[8]: https://gitlab.xfce.org/artwork/public/-/issues/1#note_58300 +[9]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallpapers.jpg +[10]: https://alexxcons.github.io/blogpost_8.html +[11]: https://www.xfce.org/ From 2df5e1752505455e66d08530bac77d07c42585b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 16 Dec 2022 23:23:21 +0800 Subject: [PATCH 771/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221216.1=20=E2=AD=90=EF=B8=8F=20Harmonoid=20A=20Beau?= =?UTF-8?q?tiful=20Cross-Platform=20Music=20Player=20With=20Essential=20Fe?= =?UTF-8?q?atures.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...atform Music Player With Essential Features.md | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md diff --git a/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md new file mode 100644 index 0000000000..9b02d56dcc --- /dev/null +++ b/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md @@ -0,0 +1,107 @@ +[#]: subject: "Harmonoid: A Beautiful Cross-Platform Music Player With Essential Features" +[#]: via: "https://itsfoss.com/harmonoid/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Harmonoid: A Beautiful Cross-Platform Music Player With Essential Features +====== + +Fortunately, there’s no shortage of [good open-source music players for Linux][1]. We have covered a variety of options in the past. + +Here, I highlight a music player that is free to use, open-source, and available for multiple platforms, including **Linux, Windows, and Android**. + +### Harmonoid: Intuitive User Experience With Material Design + +![harmonoid player][2] + +Harmonoid is written in Dart programming language. It utilizes [libmpv][3] and [mpv][4] for its media playback capabilities on desktop platforms. + +It provides an excellent user interface to work with. And does not use electron.js. So, if you hate Electron, this is something you can try. + +Usually, you see apps feature material design UI on Android. If you did not know, Material is Google’s open-source design system. + +![harmonoid player info][5] + +Not a lot of creators use it for desktop applications. For a change, Harmonoid features a material design user experience that can be snappy and intuitive simultaneously. + +This lets Harmonoid present a unique user experience to Linux users. The animations feel smooth and easy to navigate and offer plenty of valuable features to help manage your music library. + +![harmonoid url][6] + +If you want a music player with a good UI and feature set, I recommend trying Harmonoid. + +**Recommended Read**: [Best Music Players for Linux Users][1] + +### Features of Harmonoid + +![harmonoid player options][7] + +[Harmonoid][8] may look like a simple music player, but it comes packed with some of the most valuable features. They include: + +- **Sing along feature where it finds lyrics, or you can manually add them** +- **Edit song details, including artist, year, genre, track number, album, and title** +- Easy sorting and ordering of your music list +- A quick search feature to find what you are looking for +- Caches metadata to offer a fast experience every time you load it +- Good integration support with Windows and Linux +- Discord rich presence support to show your music along with artwork and play buttons +- Adjust the speed, volume, and pitch of the music +- Raw metadata reader to read tags of any file or song in your library +- Playback is powered by MPV +- .LRC file compatibility +- **Online URL (YouTube) and radio stream supported** +- Cross-platform +- Multiple artist support +- Dark/light mode + +In addition to these, several subtle abilities go a long way, like **gapless playback and context menu integration, and it is a lightweight application** in general. + +Harmonoid should fit perfectly for users who want to play music or want to organize their collection simultaneously. I would say that it offers the best of both worlds. + +![harmonoid settings][9] + +### Install Harmonoid on Linux + +You can grab the **.deb/.rpm** package from its [download page][10] and install it on Ubuntu-based distros or Fedora. + +Additionally, you need to install mpv and libmpv using the following command (for Ubuntu): + +``` +sudo apt install mpv lipmpv-dev +``` + +Ensuring to install these packages will let you handle all kinds of files for playback with Harmonoid. + +You can also find Harmonoid on [AUR][11] for Arch-based distributions. To explore more about the player, head to its [GitHub page][12] and the [official website][8]. + +_Have you tried Harmonoid to play and organize music on your Linux system? What’s your favorite music player for Linux? Let me know your thoughts in the comments down below._ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/harmonoid/ + +作者:[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/best-music-players-linux/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player.png +[3]: https://github.com/mpv-player/mpv/tree/master/libmpv +[4]: https://mpv.io +[5]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-info.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-url.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-options.png +[8]: https://harmonoid.com +[9]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-settings.png +[10]: https://harmonoid.com/downloads +[11]: https://aur.archlinux.org/packages/harmonoid-bin +[12]: https://github.com/harmonoid/harmonoid From 7d595ec1cd2e42388646a032e5cf47c8bbbfb4af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 16 Dec 2022 23:24:04 +0800 Subject: [PATCH 772/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221216.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20reasons=20to=20love=20Linux=20GNOME=20Files.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ 5 reasons to love Linux GNOME Files.md | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 sources/tech/20221216.2 ⭐️⭐️ 5 reasons to love Linux GNOME Files.md diff --git a/sources/tech/20221216.2 ⭐️⭐️ 5 reasons to love Linux GNOME Files.md b/sources/tech/20221216.2 ⭐️⭐️ 5 reasons to love Linux GNOME Files.md new file mode 100644 index 0000000000..fda0ea984f --- /dev/null +++ b/sources/tech/20221216.2 ⭐️⭐️ 5 reasons to love Linux GNOME Files.md @@ -0,0 +1,96 @@ +[#]: subject: "5 reasons to love Linux GNOME Files" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-gnome" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 reasons to love Linux GNOME Files +====== + +The GNOME desktop is a common default desktop for most Linux distributions and, as with most operating systems, you manage your data on GNOME with software called a file manager. GNOME promotes a simple and clear naming scheme for its applications, and so its file manager is called, simply, Files. Its intuitive interface is simple enough that you forget what operating system you're using altogether. You're just using a computer, managing files in the most obvious way. GNOME Files is a shining example of thoughtful, human-centric design, and it's an integral part of modern computing. These are my top five favorite things about GNOME Files, and why I love using it. + +### 1. Intuitive design + +![THe GNOME Files file manager is an intuitive and friendly application.][1] + +As long as you've managed files on a computer before, you basically already know how to use GNOME Files. Sure, everybody loves innovation, and everybody loves seeing new ideas that make the computer world a little more exciting. However, there's a time and a place for everything, and frankly sometimes the familiar just feels better. Good file management is like breathing. It's something you do without thinking about what you're doing. When it becomes difficult for any reason, it's disruptive and uncomfortable. + +GNOME Files doesn't have any surprises in store for you, at least not the kind that make you stop what you thought you were doing in order to recalculate and start again. And my favorite aspect of the "do it the way you think you should do it" design of GNOME Files is that there isn't only one way to accomplish a task. One thing I've learned from teaching people how to do things on computers is that everyone seems to have a slightly different workflow for even the simplest of tasks, so it's a relief that GNOME Files accounts for that. + +When you need to move a file, do you open a second window so you can drag and drop between the two? Or do you right-click and Cut the file and then navigate to the destination and Paste the file? Or do you drag the file onto a button or folder icon, blazing a trail through directories as they open for you? In GNOME Files, the "standard" assumptions usually apply (insofar as there are standard assumptions.) + +### 2. Space saver + +If you manage a lot of files for a lot of the time you're at your computer, you're probably familiar with just how much screen real estate a file manager can take up. Many file managers have lots of buttons across several toolbars, a menu bar, and a status bar, such that just one file manager window takes up a good portion of your screen. To make matters worse, many users prefer to open several folders, each in its own window, which takes even more space. + +GNOME Files tends to optimize space. What takes up three separate toolbars in other file managers is in a single toolbar in GNOME Files, and that toolbar is what would traditionally be the window title bar. In the top bar, there's a forward and back button, file path information, a view settings button, and a drop-down menu with access to common functions. + +![The GNOME Files toolbar has just the essential buttons, and in a compact space.][2] + +### 3. Other locations + +Not all operating systems or file managers make it so you can interact with your network as naturally as you can interact with your own computer. Linux has a long tradition of viewing the network as just another computer, and in fact, the name "GNOME" was an acronym for "GNU Network Object Model Environment." + +In GNOME Files, it's trivial to open a folder on a computer you're not sitting in front of. Whether it's a server in a data center or just your office desktop while you're relaxing in your lounge with a laptop, the **Other Locations** bookmark in the GNOME Files side panel allows you to access files as if they were on your hard drive. + +![It's easy to connect to remote systems through GNOME Files.][3] + +To use it, you enter the file sharing protocol you want to use, along with the username and IP address of the computer you want to access. The `ssh://` protocol is most common between Linux or Unix machines, while `smb://` is useful for an environment with [Windows machines][4], and `dav://` is useful for applications running on the Internet. Assuming the target computer is accessible over the protocol you're using, and that its [firewall is set correctly][5] to permit you to pass through it, you can interact with a remote system as naturally as though they were on your local machine. + +### 4. Preferences + +Most file managers have configuration options, and to be fair GNOME Files actually doesn't give you very many choices compared to others. However, the options that it does offer are, like the modes of working it offers its users, the "standard" ones. I'm misusing the word "standard" intentionally: There is no standard, and what feels standard to one person is niche to someone else. But if you like what you're experiencing with GNOME Files under normal circumstances, and you feel that you're its intended audience, then the configuration options it offers are in line with the experience it promotes. For example: + +- Sort folders before files +- Expand folders in _list view_ +- Show the **Create link** option in the contextual menu +- Show the **Delete Permanently** option in the contextual menu +- Adjust visible information beneath a filename in _icon view_ + +That's nearly all the options you're given, and in a way it's surface-level choices. But that's GNOME Files. If you want something with more options, there are several very good alternatives that may better fit your style of work. If you're looking for a file manager that just covers the most common use cases, then try GNOME Files. + +### 5. It's full of stars + +I love the concept of metadata, and I generally hate the way it's _not_ implemented. Metadata has the potential to be hugely useful in a pragmatic way, but it's usually relegated to specialized metadata editing applications, hidden from view and out of reach. GNOME Files humbly contributes to improving this situation with one simple feature: The gold star. + +In GNOME Files, you can star any file or folder. It's a bit of metadata so simple that it's almost silly to call it metadata, but in my experience, it makes a world of difference. Instead of desperately running [find][6] command to filter files by recent changes, or re-sorting a folder by modification time, or using [grep][7] to find that one string I just know is in an important file, I can star the files that are important to me. + +Making plans for the zombie apocalypse all day? Star it so you can find it tomorrow when you resume your important work. After it's over and the brain-eaters have been dealt with, un-star the folder and resume normal operation. It's simple. Maybe too simple for some. But I'm a heavy star-user, and it saves me several methods of searching and instead reduces "what was I working on?" to the click of a single button. + +### Install GNOME Files + +If you've downloaded a mainstream Linux distribution, then chances are good that you already have GNOME and GNOME Files installed. However, not all distributions default to GNOME, and even those that do often have different desktops available for download. The development name of GNOME Files is `nautilus`, so to find out whether you have GNOME Files installed, open a terminal and type `nautilus &` and then press **Return**. If you see this error, you don't have GNOME Files available: + +``` +bash: nautilus: command not found... +``` + +To install GNOME Files, you must install the GNOME desktop. If you're happy with your current desktop, though, that's probably not what you want to do. Instead, consider trying [PCManFM][8] or [Thunar][9]. + +If you're interested in GNOME, though, this is a great reason to try it. You can probably install GNOME from your distribution's repository or software center. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-gnome + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-10/gnome-files.webp +[2]: https://opensource.com/sites/default/files/2022-10/gnome-files-toolbar.webp +[3]: https://opensource.com/sites/default/files/2022-10/gnome-files-connect.webp +[4]: https://opensource.com/article/21/4/share-files-linux-windows +[5]: https://www.redhat.com/sysadmin/secure-linux-network-firewall-cmd +[6]: https://opensource.com/article/21/9/linux-find-command +[7]: https://www.redhat.com/sysadmin/how-to-use-grep +[8]: http://linnk-to-pcmanfm-article +[9]: http://link-to-article From 8845ceb9c345aa23eb5ecddb345c10aa44b0ab84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 16 Dec 2022 23:24:28 +0800 Subject: [PATCH 773/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221216.3=20=E2=AD=90=EF=B8=8F=20Better=20Late=20Than?= =?UTF-8?q?=20Never!=20GNOME's=20File=20Picker=20Adds=20Thumbnail=20View?= =?UTF-8?q?=20After=2018=20Years.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Picker Adds Thumbnail View After 18 Years.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md diff --git a/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md b/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md new file mode 100644 index 0000000000..2917f3aed7 --- /dev/null +++ b/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md @@ -0,0 +1,94 @@ +[#]: subject: "Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years" +[#]: via: "https://news.itsfoss.com/gnome-file-picker/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years +====== + +A long-lost request, and a much-needed one, finally made its way through! + +![Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years][1] + +Nowadays, the user interface of a program is extremely important; even the simplest of interactions can make or break the user's experience. + +The GNOME file picker lacked a proper thumbnail preview for viewing files, instead relying on a plain list view. This may have been unintuitive for many. + +The lack of this feature was also the topic of many memes and debates over the years. + +But now, finally, after 18 long years since the original [feature request][2] was put out, GNOME is set to receive support for a proper thumbnail view. + +Let's look at this upcoming change to GNOME's file picker. + +#### Recommended Read 📖 + +### Feature to Arrive With GNOME 44 + +![gnome file thumbnail view][3] + +As demonstrated by this early build screenshot provided by GNOME developer [Matthias Clasen][4]. The file picker on GNOME is going to feature a thumbnail view. + +This is how it looks like with GNOME 43 on board: + +![file picker with gnome 43][5] + +**How to access it?:** It is a grid view for the file picker on GNOME that shows the thumbnail previews of files and folders. + +It will now be easy to differentiate items in the file manager; no more opening a file to see what it contains! + +![gnome file thumbnail view selector][6] + +When this feature arrives, you can enable it by clicking on the new view toggle button at the top right. + +**What Changed?:** 18 years for a simple feature addition is a long time. Numerous technical reasons made the implementation of this an arduous task. + +But I am glad that it is finally here. 😃 + +One of the reasons that made this possible was the recent deprecations and modernization work carried out in the GTK code base. + +> 💡 GTK is the toolkit that is at the core of all things GNOME. + +And, those changes resulted in [GtkListView][7] and [GtkGridView][8] using the same data models to make this feature work. + +**When to expect?:** The historical [merge request][9] has already been accepted and is paving the way for its introduction to GNOME. + +You can expect this to arrive with GNOME 44 sometime in 2023. + +I'm looking forward to that! 😁 + +We would be covering it as part of GNOME 44's feature offerings. So, stay tuned to our coverage for that! + +_Don't forget to follow us on [Mastodon][10] and [Twitter][11]! Feel free to share your thoughts on this in the comments below._ + +Notion – One workspace. Every team.We’re more than a doc. Or a table. Customize Notion to work the way you do.![][12]Notion![][13] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/gnome-file-picker/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/gtk-file-chooser-gets-thumbnail-preview-support.png +[2]: https://bugzilla.gnome.org/show_bug.cgi?id=141154 +[3]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail.png +[4]: https://twitter.com/matthias_clasen +[5]: https://news.itsfoss.com/content/images/2022/12/file-picker-now.png +[6]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail-2.png +[7]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklistview.c +[8]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkgridview.c +[9]: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5163 +[10]: https://mastodon.social/@itsfoss +[11]: https://twitter.com/itsfoss2 +[12]: https://notion.grsm.io/front-static/logo-ios.png +[13]: https://www.notion.so/front-static/meta/default.png From 3b78945d148766da42f1a372e3fc1c64675f50e7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 00:06:32 +0800 Subject: [PATCH 774/925] ALL @wxy https://linux.cn/article-15355-1.html --- ... ⭐️ XFCE 4.18 Release Looks Impressive!.md | 138 ++++++++++++++++++ ... ⭐️ XFCE 4.18 Release Looks Impressive!.md | 138 ------------------ 2 files changed, 138 insertions(+), 138 deletions(-) create mode 100644 published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md delete mode 100644 sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md diff --git a/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md b/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md new file mode 100644 index 0000000000..5519a26495 --- /dev/null +++ b/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md @@ -0,0 +1,138 @@ +[#]: subject: "XFCE 4.18 Release Looks Impressive!" +[#]: via: "https://news.itsfoss.com/xfce-4-18-release/" +[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15355-1.html" + +Xfce 4.18 版本发布:令人印象深刻 +====== + +> Xfce 4.18 已发布,添加了一些有趣的功能和细微的变化。 + +![Xfce 4.18 版本看起来令人印象深刻!][1] + +Xfce 是目前最好的桌面环境之一。它因其简单性而受欢迎,是一个轻量级的选择。 + +不像其他桌面环境,你不会看到 Xfce 定期的添加功能。所以,等待升级总是令人兴奋的。 + +Xfce 4.18 是最新的版本,它增加了一些有用的功能和其他技术改进。让我重点介绍一下。 + +### Xfce 4.18 的新变化 + +![Xfce 4.18 有新的默认墙纸][2] + +虽然这不是一个完整的变化列表,但其中一些比较明显的变化包括: + +- 文件管理器的改进。 +- 桌面和面板的变化。 +- 更多的设置。 +- 新的墙纸。 + +#### 文件管理器的改进 + +![Xfce 4.18 文件管理器的分割视图][3] + +Xfce 的默认文件管理器 Thunar 在这个版本中得到了相当多的改变。作为许多 Linux 用户的最爱,Thunar 有一个干净直观的用户界面,使其对不同技能水平的人都很简单易用。 + +在这个版本中,这个有用的工具获得了几个新功能。比如说: + +- 工具条上新的搜索图标使用户能够快速搜索文件和文件夹。 +- 你现在可以添加一个分割视图。 +- 启用独立的图像预览。 + +还有一个有趣的新增功能,可以帮助你**高亮文件**,以便快速发现它们。你可以设置一个前景和背景颜色,如果你不想要这个功能,也可以重置。 + +![xfce 4.18 文件高亮][4] + +你可以从文件的属性选项中访问这个功能。 + +Thunar 文件管理器还增加了一些其他功能,包括: + +- 一个用于定制键盘快捷键的新标签。 +- 新的书签菜单。 + +#### 精致的设置和桌面变化 + +Xfce 桌面的大部分都保持不变。你不应该期待开箱后有不同的用户体验。 + +虽然没有重大的视觉改造,但有细微的完善和功能改进。 + +例如,你可以发现日历小部件的新能力。显示设置提供了更多选项,即使你没有连接多个显示器。 + +Xfce 面板也有一些变化。 + +![Xfce 4.18 面板设置][5] + +这些变化包括用像素而不是百分比来调整高度,以及一个新的 “保持面板在窗口上方” 选项。这使得窗口可以在面板下面延伸,而不是在顶部被切断。 + +更不用说,时钟小程序现在可以自定义其字体类、字体大小和布局。 + +![Xfce 4.18 时钟][6] + +#### 新壁纸 + +当然,我们也得到了一些新的壁纸;你已经在本文的开头看到了新的默认壁纸。 + +![Xfce 4.18 新壁纸集][7] + +如果你很好奇,你可以看看其他为 [墙纸竞赛][8] 提交的各种作品。也许你会发现别人不喜欢的东西。 + +![Xfce 4.18 新壁纸集锦][9] + +这些是计划添加到背景集的其它候选作品。 + +#### 其他变化 + +除了之前提到的那些,这个版本还引入了一些其他变化。 + +- 初步的 Wayland 支持,它允许 Xfce 在 Wayland 显示服务器上运行。 +- GTK4 的更新,提供了更好的性能和稳定性。 +- 一些核心应用程序的小更新,包括对 Xfdesktop、Xfwm4 和 Xfce4-panel 应用程序的改进。 + +关于完整的变化列表,你可以参考 [官方博客文章][10]。 + +### 获得 Xfce 4.18 + +你可以通过软件库为滚动发布的发行版(如 Arch Linux)安装它。对于其他发行版,如果你不想自己做实验,你可能必须等待官方的更新。 + +要想快速尝试,你可以安装 Xubuntu 23.04 日常构建版来获得这些功能。 + +如果你使用的是其他为了稳定起见而不提供快速桌面环境更新的 Linux 发行版,如果你知道自己在做什么,你可以尝试手动安装。 + +> **[下载 Xfce 4.18][11]** + +### 总结 + +Xfce 4.18 是 Xfce 桌面环境的一次重大更新,有许多新的功能和改进。 + +Thunar 文件管理器的更新尤其值得注意,因为它们为用户提供了更多的控制和定制选项。初步的 Wayland 支持和 GTK4 更新将提高性能和稳定性。 + +总的来说,Xfce 4.18是一个受欢迎的更新,将改善 Xfce 用户的用户体验。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/xfce-4-18-release/ + +作者:[Jacob Crume][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/jacob/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/xfce-4-18-release.png +[2]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-hero.jpg +[3]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-manager.jpg +[4]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-highlight.jpg +[5]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-panel.jpg +[6]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-clock-settings.jpg +[7]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallaper.jpg +[8]: https://gitlab.xfce.org/artwork/public/-/issues/1#note_58300 +[9]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallpapers.jpg +[10]: https://alexxcons.github.io/blogpost_8.html +[11]: https://www.xfce.org/ diff --git a/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md b/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md deleted file mode 100644 index 0fa893a4df..0000000000 --- a/sources/news/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md +++ /dev/null @@ -1,138 +0,0 @@ -[#]: subject: "XFCE 4.18 Release Looks Impressive!" -[#]: via: "https://news.itsfoss.com/xfce-4-18-release/" -[#]: author: "Jacob Crume https://news.itsfoss.com/author/jacob/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -XFCE 4.18 Release Looks Impressive! -====== - -Xfce 4.18 is here with interesting feature additions and subtle changes. - -![XFCE 4.18 Release Looks Impressive!][1] - -Xfce is one of the best desktop environments out there. It is popular for its simplicity and is a lightweight option. - -Unlike other desktop environments, you do not see regular feature additions to Xfce. So, it is always exciting to wait for an upgrade. - -Xfce 4.18 is the latest release with some useful feature additions and other technical improvements. Let me highlight the same. - -### Xfce 4.18: What's New? - -![Xfce 4.18 with its new default wallpaper][2] - -Although this is not a complete list of changes, some of the more noticeable ones include: - -- **File manager improvements** -- **Desktop and panel changes** -- **More settings for you to tinker with** -- **New Wallpapers** - -#### File Manager Improvements - -![Xfce 4.18 file manager with split view][3] - -Thunar, the default file manager for XFCE, has received quite a few changes with this release. A favorite of many Linux users, Thunar has a clean and intuitive user interface, making it easy for people of all skill levels. - -With this release, this useful tool has received several new features. For instance: - -- **The new search icon in the toolbar allows users to search for files and folders quickly** -- **You can now add a split view** -- **Enable a standalone image preview** - -There's also an interesting addition that helps you **highlight files** to quickly spot them. You can set a foreground and background color, and reset it if you want it gone. - -![xfce 4.18 file highlight][4] - -You can access this feature from the properties option of a file. - -There are a few other additions to Thunar file manager, including: - -- **A new tab for customizing keyboard shortcuts** -- **New bookmark menu** - -#### Refined Settings and Desktop Changes - -Xfce desktop remains much of the same. You should not expect a different user experience out of the box. - -There are no major visual overhauls but subtle refinements and feature improvements. - -For instance, you can find new abilities with the calendar widget. Display settings offer more options even if you do not have multiple displays connected. - -XFCE panel got some changes as well. - -![xfce 4.18 panel settings][5] - -These include adjusting the height in terms of pixels instead of percentages and a new "**keep panel above windows**" option. This allows windows to extend underneath the panel instead of being cut off at the top. - -Not to mention, the clock applet can now have its font family, font size, and layout customized. - -![xfce 4.18 clock][6] - -#### New Wallpapers - -Of course, we also get some new wallpapers; you've already seen the new default at the beginning of this article. - -![xfce 4.18 new wallpaper collection][7] - -If you are curious, you can check out various other submissions for the [wallpaper contest][8]. Maybe you will find something that others didn't like. - -![xfce 4.18 new wallpaper collection][9] - -These are the second and third-best choices planned to be added to the background collection. - -#### Other Changes - -Alongside those previously mentioned, a few more changes are also introduced with this release. - -- **Initial Wayland support, which allows Xfce to run on the Wayland display server.** -- **GTK4 updates, which provide improved performance and stability.** -- **A few minor updates to some core apps, including improvements to the Xfdesktop, Xfwm4, and Xfce4-panel applications.** - -For a complete list of changes, you can refer to the [official blog post][10]. - -### Getting XFCE 4.18 - -You can install it for rolling-release distributions like Arch Linux through the repositories. For other distributions, you may have to wait for an official update if you do not want to experiment with things yourself. - -For a quick try, you can install Xubuntu 23.04 daily builds to get your hands on the features. - -If you are using any other Linux distributions that do not provide quick desktop environment updates for stability purposes, you can try installing it manually if you know what you are doing. - -[Download Xfce 4.18][11] - -### Final Thoughts - -Xfce 4.18 is a significant update to the Xfce desktop environment, with many new features and improvements. - -The updates to the Thunar file manager are particularly noteworthy, as they provide users with more control and customization options. The initial Wayland support and GTK4 updates will improve performance and stability. - -Overall, Xfce 4.18 is a welcome update that will improve the user experience for Xfce users. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/xfce-4-18-release/ - -作者:[Jacob Crume][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/jacob/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/xfce-4-18-release.png -[2]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-hero.jpg -[3]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-manager.jpg -[4]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-file-highlight.jpg -[5]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-panel.jpg -[6]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-clock-settings.jpg -[7]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallaper.jpg -[8]: https://gitlab.xfce.org/artwork/public/-/issues/1#note_58300 -[9]: https://news.itsfoss.com/content/images/2022/12/xfce-4-18-new-wallpapers.jpg -[10]: https://alexxcons.github.io/blogpost_8.html -[11]: https://www.xfce.org/ From c2d083e5875d489df09c9f7eabc95ac5b2befe01 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 00:10:58 +0800 Subject: [PATCH 775/925] R --- .../20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md b/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md index 5519a26495..73a9c460db 100644 --- a/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md +++ b/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md @@ -22,14 +22,14 @@ Xfce 4.18 是最新的版本,它增加了一些有用的功能和其他技术 ### Xfce 4.18 的新变化 -![Xfce 4.18 有新的默认墙纸][2] +![Xfce 4.18 有新的默认壁纸][2] 虽然这不是一个完整的变化列表,但其中一些比较明显的变化包括: - 文件管理器的改进。 - 桌面和面板的变化。 - 更多的设置。 -- 新的墙纸。 +- 新的壁纸。 #### 文件管理器的改进 @@ -78,7 +78,7 @@ Xfce 面板也有一些变化。 ![Xfce 4.18 新壁纸集][7] -如果你很好奇,你可以看看其他为 [墙纸竞赛][8] 提交的各种作品。也许你会发现别人不喜欢的东西。 +如果你很好奇,你可以看看其他为 [壁纸竞赛][8] 提交的各种作品。也许你会发现别人不喜欢的东西。 ![Xfce 4.18 新壁纸集锦][9] From 85004fc10c7d4bff4c8d3623f8eb7ebed161f7b9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 10:07:45 +0800 Subject: [PATCH 776/925] =?UTF-8?q?=20=E8=B6=85=E6=9C=9F=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index 29e1dbb48d..2858b33b75 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" -[#]: translator: "MjSeven" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From e3e99c1b25edbe51a7e0e6114597b2d6f42ea8fe Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 10:10:00 +0800 Subject: [PATCH 777/925] =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...acy-Preserving Ads Make a Debut on Brave Search.md | 96 ---------------- ...nux Mint 21.1 beta is now available for testing.md | 90 --------------- ...le Open-Source Alternative to Slack and Discord.md | 99 ---------------- ...icon GPU Driver is Now Available in Asahi Linux.md | 91 --------------- ...n Gets a Boost With Vivaldi Browser Integration.md | 90 --------------- ...2.4 is out with 100+ improvements and fixes.md | 69 ------------ ...ade your video creation with Kdenlive 22.12.md | 88 --------------- ...sic on the web with new WebMIDI API support.md | 73 ------------ ...live 22.12 Release Adds Useful New Features.md | 106 ------------------ 9 files changed, 802 deletions(-) delete mode 100644 sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md delete mode 100644 sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md delete mode 100644 sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md delete mode 100644 sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md delete mode 100644 sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md delete mode 100644 sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md delete mode 100644 sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md delete mode 100644 sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md delete mode 100644 sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md diff --git a/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md b/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md deleted file mode 100644 index 2d0561c3c3..0000000000 --- a/sources/news/20221202.2 ⭐️⭐️ Privacy-Preserving Ads Make a Debut on Brave Search.md +++ /dev/null @@ -1,96 +0,0 @@ -[#]: subject: "Privacy-Preserving Ads Make a Debut on Brave Search" -[#]: via: "https://news.itsfoss.com/brave-search-ads/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Privacy-Preserving Ads Make a Debut on Brave Search -====== - -Brave Search is testing privacy-preserving ads. But, the Brave browser does not seem to block them by default. - -![Privacy-Preserving Ads Make a Debut on Brave Search][1] - -Brave Search is an independent search engine that claims not to track its users and provides a safe and secure search experience. - -It aims to be a privacy-friendly alternative to the extensive tech services from Microsoft and Google. - -With a [recent announcement][2], they introduced a new feature to Brave Search. The search will now show '_privacy-preserving_' ads as part of a global beta program. - -What does this mean? Allow me to explain. - -### Privacy-Preserving Ads: Meaning? - -![brave search privacy preserving ads][3] - -Brave is planning to run ads on their search platform; they claim that these ads are anonymous, are marked, and follow its commitment of putting users first. - -These ads are said to be clearly labeled and are integrated into Brave Search. - -To display relevant advertisements, Brave Search will only use your **search query, country, and device type**. - -So, in theory, this should stop them from keeping a profile of your searches. - -They also add that: - -> Brave Search ads protect users’ data and anonymity, while supporting their access to independent and transparent search as a true alternative to Big Tech search engines. - -This has been released as a beta test globally, where Brave Search users will be shown text-based ads in search results. - -Users who opted for Brave Private Ads (for _Brave Rewards_) and are using the latest version of Brave won't be shown search ads since these are not yet eligible for BAT earnings. - -Additionally, they offer a '**Search Premium**' subscription for an ad-free search experience, which costs **$3 per month**. - -With this subscription, you get a completely ad-free search experience while also supporting Brave. - -### Is This a Step in the Right Direction? - -Even though Brave Search is based on an **open-source search project**[Tailcat][4], they have no plans to make it open-source. - -So, Brave Search already has a red flag 🚩 for many privacy enthusiasts who prefer open-source solutions for their transparency. - -**Will privacy-preserving ads make a difference, just like Brave Search's original claims for its search engine?** - -Well, I certainly hope so. Why? **Because we need more competitors to Google**. And something is better than nothing. - -Even without open-source code, we will have to sit back and see what kind of transparency they provide in their advertisement testing soon. - -Though, the implementation of Brave's privacy-preserving ads has got a few users upset. - -A [comment][5] made by a Reddit user on the official Subreddit of Brave Browser mentions: - -> Putting in an exception for your own ads is in exceptionally bad taste. All the marketing fluff around "independent, private search" is not an excuse. - -Brave Browser seems to be **not blocking Brave search ads** with its in-built ad-blocker (Brave Shields). - -On that, a member of the Brave support team clarified: - -> Shields at this time does not block 1st part, non tracking ads by default anyway (with the exception of setting to Aggressive, I believe) so it's actually just following the standard we've already set. - -So, you can block the Brave search ads with the privacy protection settings set to aggressive, I believe? - -However, not everyone prefers the aggressive blocker. So, let us see how things turn out for Brave search ad experimentation. - -💭 **Thoughts? Feel free to share them in the comments section.** - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/brave-search-ads/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/brave-privacy-preserving-ads.png -[2]: https://brave.com/private-search-ads/ -[3]: https://news.itsfoss.com/content/images/2022/12/Brave_Search_Ads.jpg -[4]: https://www.tailcat.com -[5]: https://www.reddit.com/r/brave_browser/comments/z9t171/comment/iyjledp/?utm_source=share&utm_medium=web2x&context=3 diff --git a/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md b/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md deleted file mode 100644 index 871161bbc8..0000000000 --- a/sources/news/20221205.0 ⭐️⭐️ Linux Mint 21.1 beta is now available for testing.md +++ /dev/null @@ -1,90 +0,0 @@ -[#]: subject: "Linux Mint 21.1 beta is now available for testing" -[#]: via: "https://debugpointnews.com/linux-mint-21-1-beta/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux Mint 21.1 beta is now available for testing -====== - -![][1] - -**Check out the new features of Linux Mint 21.1 beta, which is now slowly available for download in mirrors. The official announcement is awaited.** - -![Linux Mint 21.1 beta Cinnamon desktop][2] - -Linux Mint 21.1 is the first point release of the 21 series and will be released before Christmas this year. Codenamed “Vera”, which was [announced a few weeks back][3], is now available for beta testing. - -The beta testing is expected to continue for at least a week before the final release. Since it is the first point, the feature list is not at that higher end. But some significant updates are arriving in the final release. - -### Linux Mint 21.1 beta & new features - -One of the biggest updates to the Driver Manager in this release is the ability to run the app with your user account without requiring a password to launch it. This is a major convenience, as it means you don’t have to enter a password every time you want to use the Driver Manager. In addition, when you remove a driver, the app now purges it from the system completely, ensuring that no trace of the driver remains on your computer. - -Another key update to the Driver Manager is the ability to detect USB installation media and help you mount them. This is particularly useful if you’re installing software or drivers from a USB drive, as it makes the process much easier and more streamlined. - -In addition to these updates, the Mint team has also included a feature for verifying the checksum of ISO files. This is an important part of any installation process, as it ensures that your ISO file is legitimate and hasn’t been tampered with. While other [utilities][4] are available for verifying ISO checksums, including command line tools, it’s nice to see this feature included in the default desktop environment. - -Another change in this release is the default desktop view, which is expected to be updated. The default icons for the Computer, Home, Trash, and Network are now hidden from view, as the Computer icon is already included in the Panel, and the other icons are not used as frequently. - -Other noteworthy updates in this release include the inclusion of Timeshift backports for prior releases (such as Mint 20.x) and an updated version of Blueman. Overall, this is a solid point release that includes several useful updates and bug fixes. - -![New default icon set and bibata cursor][5] - -Finally, you may notice the “green” icon sets and the cursor is different in the Cinnamon flavour. Linux Mint 21.1 brings the “Mint-y-Aqua” theme and the stunning “Bibata-modern” cursor theme to pair with it. Both of them look awesome together, giving a much-needed fresh vibe. - -### Summary of changes - -- First point release of Linux Mint 21, based on Ubuntu 22.04.1 release -- Linux Kernel 5.15 LTS -- Cinnamon 5.6.4 desktop -- Xfce 4.16 desktop -- MATE 1.26 desktop -- Friendly driver manager -- Cleaner default desktop view with fewer icons -- Default theme changes to “Mint-Y-Aqua” from the green-based icons -- New cursor theme: Bibata (one of the best cursor theme in Linux) -- A bunch of stunning wallpapers -- And an array of bug fixes - -### Download and bug reporting for beta - -While the team is preparing for the official announcement, the ISO images are slowly becoming available to the public. As always, being a beta release, it may have bugs. So use it with caution. - -If you are running Linux Mint 21.0, don’t upgrade it yet. Wait for the final release. - -Still, if you want to try it on a virtual machine, download the Cinnamon, Xfce and MATE flavours of this beta release from the torrent links below. - -- [linuxmint-21.1-cinnamon-64bit-beta.iso.torrent][6] -- [linuxmint-21.1-mate-64bit-beta.iso.torrent][7] -- [linuxmint-21.1-xfce-64bit-beta.iso.torrent][8] - -I will update the changelog here once it is available. And finally, report any issues or bugs at the dedicated [21.1 beta bug tracking page][9]. - -Cheers. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/linux-mint-21-1-beta/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/21-1-beta-head.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Linux-Mint-21.1-beta-Cinnamon-desktop.jpg -[3]: https://debugpointnews.com/linux-mint-21-1-announcement/ -[4]: https://www.debugpoint.com/collision/ -[5]: https://debugpointnews.com/wp-content/uploads/2022/12/New-default-icon-set-and-bibata-cursor.jpg -[6]: https://linuxmint.com/torrents/linuxmint-21.1-cinnamon-64bit-beta.iso.torrent -[7]: https://linuxmint.com/torrents/linuxmint-21.1-mate-64bit-beta.iso.torrent -[8]: https://linuxmint.com/torrents/linuxmint-21.1-xfce-64bit-beta.iso.torrent -[9]: https://github.com/linuxmint/mint21.1-beta/issues diff --git a/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md b/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md deleted file mode 100644 index e0478f7f27..0000000000 --- a/sources/news/20221205.1 ⭐️⭐️ Linen is a Google-Searchable Open-Source Alternative to Slack and Discord.md +++ /dev/null @@ -1,99 +0,0 @@ -[#]: subject: "Linen is a Google-Searchable Open-Source Alternative to Slack and Discord" -[#]: via: "https://news.itsfoss.com/linen/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linen is a Google-Searchable Open-Source Alternative to Slack and Discord -====== - -An interesting open-source alternative to Slack and Discord. - -![Linen is a Google-Searchable Open-Source Alternative to Slack and Discord][1] - -Linen is an interesting open-source project brewing up. - -It aims to be an **open alternative to Slack and Discord**, focusing on making communities more accessible and helping reduce the support burden. - -It could be worth adding it as an open-source Slack alternative, but it is in its **early stages of development** when publishing this. - -**_What's different with Linen, exactly?_** - -- **Open Source** -- **Unlimited history retention** -- **Communities are Google searchable** -- **Supports sync from Slack and Discord** -- **Eliminate the need to join Slack/Discord for information** - -### Community-Focused Slack Alternative - -[Linen][2] pitches itself as an open-source app for communities rather than primarily targeting teams for collaboration/communication. - -![linen ui][3] - -In contrast, Slack is primarily for team discussions and collaboration. You cannot share the conversation through a URL or find the discussions indexed on search engines like Google. - -But with Linen, you can **find a URL for every conversation** that can be shared with anyone to view/join the conversation. - -![linen message url][4] - -Here's something for the test: [https://linen.dev/s/itsfoss/t/5099789/topic][5] - -**You can also find this conversation listed on Google** (it may take time to find it exactly). - -For example, suppose we are a community of an open-source project where we discuss an issue or a solution; listing it on Google enables more users to find out about it. - -Here's an example of a conversation listed on Google that could help me if I was exploring solutions to fix my code issues with Kotlin: - -![linen google search][6] - -As a developer/user, I could view the conversation, get my answer, and move on without troubling anyone else in the community with a repeat question. - -**Sounds lovely, right? Linen helps you enhance community support.** - -Sure, you can use it for your team communication as well. But, it is a more appropriate solution to create an open community chat network. - -Currently, it does not provide the feature to create a private community for the public. They only use it for internal team discussions, per their [GitHub page][7]. - -![][8] - -### How To Get Started? - -Linen does not support self-hosting at the moment. But, their roadmap on [GitHub][9] indicates that it has been planned for the near future. - -So, you can [sign up for a free account][10] using the official cloud instance or opt for the business/premium edition to use custom domain/branding benefits for your team. - -You can **import your Slack/Discord conversations for free**. - -> 💡 The free community edition is hosted under Linen.dev where you rely on community support. Opt for its premium edition to get priority support. - -Linen may not be for everyone, but it sounds like a useful idea for many communities and teams. - -_💬 What do you think about it? Let me know in the comments below._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linen/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/11/linen-slack-discord-alternative.png -[2]: https://www.linen.dev -[3]: https://news.itsfoss.com/content/images/2022/11/linen-example.png -[4]: https://news.itsfoss.com/content/images/2022/11/linen-conversation-url.png -[5]: https://linen.dev/s/itsfoss/t/5099789/topic -[6]: https://news.itsfoss.com/content/images/2022/11/linen-google-seo.png -[7]: https://github.com/linen-dev/linen.dev -[8]: https://news.itsfoss.com/content/images/2022/11/linen-settings.png -[9]: https://github.com/Linen-dev/linen.dev -[10]: https://www.linen.dev/signup diff --git a/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md b/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md deleted file mode 100644 index 8e115ba0d8..0000000000 --- a/sources/news/20221208.5 ⭐️⭐️ Apple Silicon GPU Driver is Now Available in Asahi Linux.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: "Apple Silicon GPU Driver is Now Available in Asahi Linux" -[#]: via: "https://news.itsfoss.com/apple-gpu-driver-asahi-linux/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Apple Silicon GPU Driver is Now Available in Asahi Linux -====== - -We finally have a GPU driver for Apple M silicon systems on Asahi Linux. - -![Apple Silicon GPU Driver is Now Available in Asahi Linux][1] - -Asahi Linux aims to be a port of Linux for Apple Silicon Macs; work started on it back in 2020, right after the launch of Apple's M1 chips at the WWDC event. - -A small team is behind all the development behind Asahi Linux and reverse engineering stuff; they have been quite busy since the last time we looked at their work. - -Previously, they worked on improving support for Apple SoCs such as the M1, M1 Pro, and M1 Max. They provided varying levels of support for devices that used these chips. - -It still is a work in progress, but promising results in 2022. - -They have now taken it further by providing initial support for Apple Silicon GPUs by releasing drivers (in _alpha_). - -That sounds great! 😃 - -Let me take you through the gist of it. - -### Hardware Acceleration With Desktop Environments and Old Games - -![asahi linux running quake3][2] - -Introduced as an alpha-stage GPU driver, it can run desktop environments and a few games smoothly. - -**The implementation:** The driver features a work-in-progress implementation of OpenGL 2.1 and OpenGL ES 2.0 for current Apple M-series systems. - -They also mention that: - -> These drivers have not yet passed the OpenGL (ES) conformance tests. There will be bugs! - -So, you can expect plenty of hiccups along the way should you choose to run applications using these drivers. - -**How it works now?:** In its current form, the driver can run desktop environments like GNOME and KDE Plasma with hardware acceleration. - -Even older games like [Quake3][3] and [Neverball][4] can run quite well, with these and the desktop environments running at a solid **60 fps at 4k resolution**. - -Many users may also notice that quite a few apps don't work with this driver right away. On that, the developers mention: - -> Since the driver is still in development, there are lots of known issues and we’re still working hard on improving conformance test results. Please don’t open new bugs for random apps not working! It’s still the early days and we know there’s a lot of work to do. - -**What does the future hold?:** The developers have said that while OpenGL (ES) 2 suffices for some applications, newer applications will require new features such as multiple render targets, multisampling, and transform feedback. - -All of this can be achieved with OpenGL (ES) 3, and work on that has already started. But, it will need a lot of developmental effort to get ready. - -They have also hinted at support for Vulkan in the future, although it is a long time in the making. - -Here's what they tell about it: - -> We’re working on it! Although we’re only shipping OpenGL right now, we’re designing with Vulkan in mind. Most of the work we’re putting toward OpenGL will be reused for Vulkan. We estimated that we could ship working OpenGL 2 drivers much sooner than a working Vulkan 1.0 driver, and we wanted to get hardware accelerated desktops into your hands as soon as possible. - -When a Reddit user [asked][5] about **120 Hz support for MacBook Pro**, one of the maintainers had this to say: - -> 120Hz is disabled because it still is capped at 60Hz if we do nothing and was having other weird issues. It's still unclear exactly how VRR works on macOS, we need to figure that out first. - -It seems like Asahi Linux has a lot of room to grow, and improvements like this to GPU drivers on a new Silicon system should finally open up new opportunities in terms of performance. - -Linux users have been asking for something like this for a long time, and it is now closer to becoming a reality than ever before. - -If you are feeling adventurous and want to try the new GPU driver, you can try installing it on your Asahi Linux system. Refer to the [official announcement][6] for instructions to experiment with it. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/apple-gpu-driver-asahi-linux/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/apple-gpu-asahi-linux.png -[2]: https://news.itsfoss.com/content/images/2022/12/AsahiLinux_Quake3.jpg -[3]: https://ioquake3.org -[4]: https://neverball.org -[5]: https://www.reddit.com/r/AsahiLinux/comments/zeucpz/comment/iza3wwv/?utm_source=share&utm_medium=web2x&context=3 -[6]: https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/ diff --git a/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md b/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md deleted file mode 100644 index 63cc15a25f..0000000000 --- a/sources/news/20221208.6 ⭐️⭐️ Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration.md +++ /dev/null @@ -1,90 +0,0 @@ -[#]: subject: "Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration" -[#]: via: "https://news.itsfoss.com/vivaldi-mastodon-integration/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration -====== - -Vivaldi's making an effort to have more users join Mastodon with its new update. That's nice to see! - -![Mastodon's Adoption Gets a Boost With Vivaldi Browser Integration][1] - -Vivaldi browser is one of the best web browsers for Linux (Windows, macOS, and mobile platforms). - -I know it is not an open-source pick, but it gets all the lead with its tab management, customizability, and productivity features. And it treats me better than Firefox nowadays (Mozilla, we still need you to do better)🙄 - -**Note:**_Vivaldi is **not open-source**. Most of it is based on Chromium, for which you can find the [source code][2]._ - -If you did not know, Vivaldi recently built a Mastodon instance (**Vivaldi Social**) to encourage people to use open-source and decentralized social media platforms. - -It is one of the best Mastodon instances you can join: - -To take this further, **Vivaldi 5.6 update** has integrated access to its Mastodon instance from within its web browser. - -> 🐘 Hey! We are on [Mastodon][3] for a while; follow **us if you haven't already**! 😄 - -### Access Mastodon From Web Panels - -Web panels on Vivaldi make it a breeze to multitask. You can keep browsing or working on what you want and still access additional services in a single click. - -Here's what it looks like: - -![mastodon on vivaldi][4] - -I can access Vivaldi's Mastodon instance quickly. - -Of course, you can add your custom web panel for any Mastodon instance you like. - -![vivaldi web panel addition][5] - -However, I believe out-of-the-box integration should encourage Vivaldi users to try Mastodon if they haven't yet. - -In the official announcement, Vivaldi also explains it properly for its users: - -> [Vivaldi Social][6] came into existence as we love the idea of distributed social networks based on open standards. We want to offer better alternatives to people to communicate in an algorithm-free environment with no surveillance capitalism, devoid of tracking or data profiling.The Mastodon server platform communicates through the [Activity Pub][7] standard, a decentralized social networking and messaging protocol recommended by the [World Wide Web Consortium (W3C)][8]. Any platform or application that implements ActivityPub becomes a part of a massive social network. This big social network is also called the [Fediverse][9] (“federated” + “universe”). - -Before anyone gets their pitchfork ready, I want Vivaldi to be 100% open-source, but we also want more companies in the mainstream to adopt and encourage the use of open-source tech. - -And I think Vivaldi has got an excellent approach to that. - -So, this integration should ultimately let every Vivaldi (or Linux user) use Mastodon more than often. - -In addition to this change, Vivaldi 5.6 release involves a couple of improvements that include: - -- A new search engine (You.com) -- Panels joining editable toolbars -- Revamped settings page -- Pin tab stacks (_this is exciting!_) - -You can update the browser to get the latest version or download Vivaldi 5.6 on its official website. - -[Download Vivaldi 5.6][10] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/vivaldi-mastodon-integration/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/mastodon-integration-in-vivaldi-browser-1.png -[2]: https://vivaldi.com/source/ -[3]: https://mastodon.social/web/@itsfoss -[4]: https://news.itsfoss.com/content/images/2022/12/mastodon-vivaldi.jpg -[5]: https://news.itsfoss.com/content/images/2022/12/add-custom-panel.jpg -[6]: https://vivaldi.com/blog/news/vivaldi-social-a-new-mastodon-instance/ -[7]: https://en.wikipedia.org/wiki/ActivityPub -[8]: https://www.w3.org/ -[9]: https://en.wikipedia.org/wiki/Fediverse -[10]: https://vivaldi.com/download/ diff --git a/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md b/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md deleted file mode 100644 index 85f90890c8..0000000000 --- a/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md +++ /dev/null @@ -1,69 +0,0 @@ -[#]: subject: "FreeBSD 12.4 is out with 100+ improvements and fixes" -[#]: via: "https://debugpointnews.com/freebsd-12-4/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -FreeBSD 12.4 is out with 100+ improvements and fixes -====== - -![][1] - -**FreeBSD 12.4 was released a few days back with several updates and improvements. Here’s a release roundup.** - -FreeBSD is a UNIX-like operating system based on [U.C. Berkley’s BSD-Lite version][2]. It is primarily used for core infra systems, routers, networking devices, and possibly running in millions of devices. FreeBSD bundles thousands of packages from desktop apps to core modules, making it easier to build your system running this awesome operating system. - -### FreeBSD 12.4 Release: Key updates - -FreeBSD 12.4 is the 5th release of the current 12 stable series and coming up after a year’s package updates, improvements and bug fixes. - -Key changes in the release include the OpenSSL version being updated to 1.1.1q, whereas OpenSSH is bumped up to 9.1p1. The LLVM toolchain suite was also upgraded to 13.0.0. Other key version upgrades include `ena` kernel driver 2.6.1, `file` 5.43, `libarchieve` 3.6.0 and `dma` 2022-01-27. - -![FreeBSD 12.4 with Xfce desktop][3] - -Furthermore, this release now allows multiple cores to process traffic to improve performance by `if_repair` driver. Also, the `tcpdump` command now allows users to set several rules which will be exposed as part of the `pflog` header. - -On top of that, the `telnetd` daemon is deprecated in this version which should be noted for network professionals. - -The total number of changes and fixes exceeds 100+, which you can read in detail in the [change log][4]. - -### Download and Upgrade - -If you are running FreeBSD 12.3 version, you can upgrade your system by issuing the following commands: - -``` -freebsd-update -r 12.4-RELEASE upgrade -``` - -``` -freebsd-update install -``` - -For a fresh download, you can get the ISO image from the following page. - -[Download FreeBSD 12.4-RELEASE][5] - -Via [announcements][6] & [change log][4]. - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/freebsd-12-4/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/bsd-generic-head.jpg -[2]: https://www.debugpoint.com/unix-history/ -[3]: https://debugpointnews.com/wp-content/uploads/2022/12/FreeBSD-12.4-with-Xfce-desktop.jpg -[4]: https://www.freebsd.org/releases/12.4R/relnotes/ -[5]: https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.4/ -[6]: https://www.freebsd.org/releases/12.4R/announce/ diff --git a/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md b/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md deleted file mode 100644 index c7477abc73..0000000000 --- a/sources/news/20221213.2 ⭐️ Get ready to upgrade your video creation with Kdenlive 22.12.md +++ /dev/null @@ -1,88 +0,0 @@ -[#]: subject: "Get ready to upgrade your video creation with Kdenlive 22.12" -[#]: via: "https://debugpointnews.com/kdenlive-22-12/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Get ready to upgrade your video creation with Kdenlive 22.12 -====== - -![][1] - -**Kdenlive 22.12: the free and open-source video editor scores another sizable update.** - -The best free and [open-source video editor][2] – Kdenlive 22.12, released with new filters, UI improvements, user-requested features and bug fixes. This release improves Kdenlive on top of its [already existing features][3] and gives you a platform to create professional-quality videos. - -Here’s what’s new. - -![Kdenlive 22.12 Running in Linux Mint][4] - -### Kdenlive 22.12: New Features - -A new “Timelines Guides” dock now lists all the timeline markers in your video project. Click on the timeline video clip to view the markers in this new dock. This is an imp[rovement in the marker features introduced in the past release. - -In addition to that, three new audio graph filters were introduced. They are audio level visualization filter, spectrum filter and waveform filter. These can be used in keyframe animations for more granular controls. Talking about keyframes, you can now use the standard CTRL+C and CTRL+V to copy/paste keyframes. - -Furthermore, if you are working in a complex timeline, you can now remove all the spaces between clips with two new options – remove spaces after playhead and all after playhead. - -![Two new UI improvements on timeline][5] - -Kdenlive also started work to move to Qt6 from Qt5 build for the upcoming releases. A continuous integration build pipeline is added for Qt6 to check the current build. However, the current version is not yet complete per the transition timeline. However, it is expected that Kdenline will be built with Qt6 as stable by mid of 2023. - -On top of the above changes, here are some key updates on this release: - -- More custom colour codes for categories -- Improved marker management with edit, add/remove multiple markers and import/export. -- Kdenlive now sends the content of the timeline to Glaxnimate (version >= 0.5.1), which then shows it as background. -- Set maximum cache with custom data storage size -- Option to hide the menu bar, replacing it with a hamburger menu -- The settings panel is cleaned up with better visibility and removed obsolete entries -- Work underway for Qt6 and KDE Frameworks 6 migration -- Improved Track composition - -### Download and upgrade - -If you are already running Kdenlive via the official distro repo, you should get this update within a couple of days. Simply update your system to get this version. - -Those of you running the Flatpak version, run the following command to get the update. - -``` -flatpak update org.kde.kdenlive -``` - -For fresh download and installation, visit the following page. - -[Download Kdenlive][6] - -If you prefer Flatpak, you can install this version from Flathub using the following command, after [setting up your system as Flatpak][7]. - -``` -flatpak install flathub org.kde.kdenlive -``` - -Via [release announcement][8] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/kdenlive-22-12/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/kdenlive-head.jpg -[2]: https://www.debugpoint.com/best-free-video-editors-linux-ubuntu/ -[3]: https://www.debugpoint.com/kdenlive-features/ -[4]: https://debugpointnews.com/wp-content/uploads/2022/12/Kdenlive-22.12-Running-in-Linux-Mint.jpg -[5]: https://debugpointnews.com/wp-content/uploads/2022/12/Two-new-UI-improvements-on-timeline.jpg -[6]: https://kdenlive.org/en/download/ -[7]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ -[8]: https://kdenlive.org/en/2022/12/kdenlive-22-12-released/ diff --git a/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md b/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md deleted file mode 100644 index b099cd8b00..0000000000 --- a/sources/news/20221213.7 ⭐️ Firefox 108 unlocks the power of music on the web with new WebMIDI API support.md +++ /dev/null @@ -1,73 +0,0 @@ -[#]: subject: "Firefox 108 unlocks the power of music on the web with new WebMIDI API support" -[#]: via: "https://debugpointnews.com/firefox-108/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Firefox 108 unlocks the power of music on the web with new WebMIDI API support -====== - -![][1] - -**Firefox 108 is now available to download, bringing the following new features.** - -The final Firefox release of this year is here – Firefox 108, closing an eventful year of this free and open-source web browser from Mozilla. - -![Firefox 108 Running in Ubuntu][2] - -### Firefox 108: Best new features - -If you are a music enthusiast, then some good news for you. Firefox now supports the [WebMIDI API][3] inside your browser with proper access controls. When you try to access MIDI devices via Firefox, then you get a prompt for installing a “[site permission add-on][4]” to enable this API. - -In addition, Firefox 108 enabled import maps by default, which means web pages can now control the behaviour of JavaScript imports more easily. And if you use Firefox, you’ll be happy to hear that it now supports proper colour correction for images tagged with ICCv4 profiles. - -Furthermore, developers added a handy keyboard shortcut – press SHIFT+ESC to open the Process Manager and quickly identify any processes using too many resources. And on Windows 11, Firefox added efficiency mode for processes used in background tabs to help save on resources. - -Elsewhere, your browser’s bookmark toolbar gets an option “Only show on New Tab” state, which now works correctly for blank new tabs. Also improved in this release is the handling of non-ASCII characters while exporting PDF forms from web pages. - -If you are a web developer, Firefox 108 also arrives with a handful of Math function updates which are summarised alongside other vital changes: - -- The `source` element supports `height` & `width` attributes when it is a child of a `picture` element. -- Trigonometric functions are now enabled with the `layout.css.trig.enabled` preference set to true by default. This allows the use of sin(), cos(), tan(), asin(), acos(), atan(), and atan2() functions -- CSS `calc-constant`type is implemented to allow for well-known constants such as pi and e within math functions -- Container query length units are now supported via the the `layout.css.container-queries.enabled` preference, which is set to false by default - -### Download and update - -For Linux distributions, if you used Firefox via your distribution’s official repository, then you should get this update within a couple of days from today. - -However, you can also download the compressed version of this release from the below page. For other download options, do visit our [Firefox download guide][5]. - -[Download Firefox 108][6] - -Happy browsing! - -- [Official release notes][7] -- [Beta108 release notes][8] -- [Developer release notes][9] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/firefox-108/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/04/firefox-head.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Firefox-108-Running-in-Ubuntu.jpg -[3]: https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API -[4]: https://support.mozilla.org/en-US/kb/site-permission-addons -[5]: https://www.debugpoint.com/download-firefox/ -[6]: https://ftp.mozilla.org/pub/firefox/releases/108.0/ -[7]: https://www.mozilla.org/en-US/firefox/108.0/releasenotes/ -[8]: https://www.mozilla.org/en-US/firefox/108.0beta/releasenotes/ -[9]: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/108 diff --git a/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md b/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md deleted file mode 100644 index 7954cc1ae8..0000000000 --- a/sources/news/20221213.8 ⭐️ Kdenlive 22.12 Release Adds Useful New Features.md +++ /dev/null @@ -1,106 +0,0 @@ -[#]: subject: "Kdenlive 22.12 Release Adds Useful New Features" -[#]: via: "https://news.itsfoss.com/kdenlive-22-12-released/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Kdenlive 22.12 Release Adds Useful New Features -====== - -Kdenlive 22.12 upgrade is here with nice enhancements across the board. - -![Kdenlive 22.12 Release Adds Useful New Features][1] - -Kdenlive is an open-source cross-platform video editing software built by the KDE community, which has been around since 2003. - -Built using Qt and KDE Frameworks, it has been the editor of choice for many users out there. - -Recently, the latest upgrade to it i.e Kdenlive 22.12 has been made available, let me take you through the release. - -### 🆕 Kdenlive 22.12: What's New? - -![kdenlive 22.12][2] - -Kdenlive 22.12 features numerous improvements, with over 350 commits made. It brings in many new features, bug fixes, and prepares the code base for future releases. - -Let me take you through some of the notable improvements with this release. - -#### Revamped Guide and Marker System - -![kdenlive 22.12 guides dock][3] - -The guide and marker system on Kdenlive has received a major overhaul, with the key changes being: - -- All marker and guide features are now made available in the new 'Guides' dock. -- The 'Guides' dock also lets you easily seek, search, sort, and filter through the various markers and guides. It also allows for navigation with keyboard. -- You can now create many categories to suit your needs, compared to the nine categories limit previously. -- It is now also possible to edit, add, or remove multiple markers at a time, and the import/export of markers has been improved. - -#### Improved Glaxnimate Integration - -![kdenlive 22.12 glaxnimate integration][4] - -Kdenlive already had support for Glaxnimate with its previous release, but now the developers have taken it a step further. - -The editor now lets you send the content of your Kdenlive timeline to [Glaxnimate][5] (version >= 0.5.1), which will then show up in the background. - -> 💡 Glaxnimate is an open-source 2D vector drawing and animation program. - -This allows you to create animations that play together with your videos in a much easier fashion than was possible before. - -#### Various UX Improvements - -Kdenlive includes a variety of usability improvements, such as: - -- A new hamburger menu in the toolbar that can be used instead of the menu bar. -- 'What's This?' Text has been added in several places to show what a specific element does. -- You can now define a maximum size for the cached data stored by Kdenlive in the environment settings. -- The 'Settings' page has received a cleanup, and now features a reordered list of all the important options. - -#### Keyframeable Audio Graph Filters - -Existing audio graph filters like the audio level visualization filter, audio spectrum filter and audio wave form filter are now keyframeable with Kdenlive 22.12. - -They also fixed several effects that were affected due to syntax errors in the XML code and added automated tests to the build system to avoid such an issue in the future. - -#### 🛠️ Other Changes - -Besides the changes listed above, here are some of the other notable ones: - -- Improved track composition. -- PipeWire as SDL output. -- The Color Picker has been fixed on Wayland. -- Pixabay as the new video provider. -- Improved search performance. - -If you want to dive deep into the release notes, refer to the [official announcement][6]. - -### 📥 Download Kdenlive 22.12 - -For Linux, the latest release is available as an AppImage, on Flathub, and as an Ubuntu PPA. - -Head over to the [official website][7] to download those. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/kdenlive-22-12-released/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/kdenlive-22-12-release.png -[2]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12.png -[3]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12_Guides_Dock.png -[4]: https://news.itsfoss.com/content/images/2022/12/Kdenlive_22.12_Glaxnimate.png -[5]: https://glaxnimate.mattbas.org -[6]: https://kdenlive.org/en/2022/12/kdenlive-22-12-released/ -[7]: https://kdenlive.org/en/download/ From b4a28c12d84908820e70611782d0a8450ac52e69 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 11:24:46 +0800 Subject: [PATCH 778/925] ALL @wxy https://linux.cn/article-15356-1.html --- ... Code Editor to Continue the Legacy of Atom.md | 85 +++++++++++++++++++ ... Code Editor to Continue the Legacy of Atom.md | 82 ------------------ 2 files changed, 85 insertions(+), 82 deletions(-) create mode 100644 published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md delete mode 100644 sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md diff --git a/published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md b/published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md new file mode 100644 index 0000000000..008fd59109 --- /dev/null +++ b/published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md @@ -0,0 +1,85 @@ +[#]: subject: "Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom" +[#]: via: "https://news.itsfoss.com/pulsar-editor/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15356-1.html" + +Pulsar:一个由社区主导的以继承 Atom 的开源代码编辑器 +====== + +> Pulsar 的目标是成为 Atom 的替代品,随着其开发的进一步深入,将挑战 Visual Studio Code。 + +![Pulsar:一个由社区领导的开源代码编辑器,以延续 Atom 遗志][1] + +微软决定杀死 Atom 文本编辑器,以支持 Visual Studio Code,这并不奇怪。 + +如果你不知道,你可以看一下我们以前的报道: + +> [为了支持微软 VS Code,微软的 GitHub 正在扼杀 GitHub 的 Atom 编辑器][5] + +虽然你可能有了更好的选择,但曾经流行的 Atom 是一个令人印象深刻的工具。 + +**它有一个可用的社区构建版**;然而,还有一个新的版本(**Pulsar**),旨在实现与原始 Atom 对等的功能,并引入现代功能和更新架构。 + +根据它的文档,原来开发 Atom 社区版的团队现在参与创建了 Pulsar。他们之所以做一个独立的复刻版本,是因为项目的目标不同。 + +**Pulsar** 希望将一切现代化,以成为 Atom 的继承者。 + +> 💡 Pulsar 是一个新项目,作为 Atom 的新复刻,有开发/测试版本可供测试。 + +### Pulsar 编辑器看起来怎么样? + +![Pulsar 编辑器][2] + +当然,用户界面也是大同小异。考虑到 Pulsar 还没有一个稳定的版本,看起来有时会显得有些混淆。 + +然而,文档、软件包以及从 Git 仓库安装软件包的能力等基本要素看起来都已具备。 + +根据官方网站的介绍,Pulsar 的主要功能亮点包括: + +- 跨平台支持(Linux、macOS 和 Windows) +- 内置的软件包管理器 +- 智能自动补全 +- 文件系统浏览器 +- 多窗格的用户界面 +- 查找和替换功能 + +在写这篇文章时,Pulsar 还不能自动更新。你可以通过官方网站安装较新的版本。 + +![Pulsar 编辑器设置][3] + +你可以自定义编辑器、改变键盘绑定、管理软件包、应用主题,并通过所有可用选项配置你的体验。 + +到目前为止,要说 Pulsar 是否会比 Atom 社区版更好还为时过早。然而,这是我们可以关注的事情。 + +### 下载并试用 Pulsar + +如前所述,Pulsar 正处于早期开发阶段。因此,你可以找到用于 Linux 发行版的二进制文件和 AppImage 文件,你可以在任何发行版上试用。 + +在我的测试中,它 **在 Linux Mint 不能正常运行**,但在 **Ubuntu 22.04 LTS** 上工作良好。 + +你可以到它的 [官方下载页面][4] 去获取你的系统所需的软件包,并进行测试。 + +> **[Pulsar 编辑器][4]** + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/pulsar-editor/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/pulsar-hackable-text-editor.png +[2]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor.png +[3]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor-settings.png +[4]: https://pulsar-edit.dev/download.html#releases +[5]: https://news.itsfoss.com/atom-being-discontinued/ \ No newline at end of file diff --git a/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md b/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md deleted file mode 100644 index cfbb33c029..0000000000 --- a/sources/news/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md +++ /dev/null @@ -1,82 +0,0 @@ -[#]: subject: "Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom" -[#]: via: "https://news.itsfoss.com/pulsar-editor/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom -====== - -Pulsar aims to be a replacement for Atom users, and could challenge Visual Studio code as its development progresses further. - -![Pulsar: A Community-Led Open Source Code Editor to Continue the Legacy of Atom][1] - -It is no surprise that Microsoft decided to kill the Atom text editor to favor Visual Studio Code. - -If you did not know, you could take a glance through our older coverage: - -While you may have had better options, Atom was an impressive tool when it was popular. - -**A community build for it is already available**; however, there seems to be a new version (**Pulsar**) that aims to bring feature parity with the original Atom and introduce modern features and updated architecture. - -As per its documentation, the original team that worked on Atom-Community is now involved with creating Pulsar. The reason why they made a separate fork is because of different goals for the projects. - -**Pulsar** wants to modernize everything to present a successor to Atom. - -> 💡 Pulsar is a new project, as a new fork to Atom, with dev/beta releases available to test. - -### Pulsar Editor: What's to see here? - -![pulsar editor][2] - -Of course, the user interface is much of the same. Considering Pulsar hasn't had a stable release yet, the branding could sometimes seem all over the place. - -However, the essentials seem to be there with the documentation, packages, and features like the ability to install packages from Git repositories. - -The key feature highlights for Pulsar, as per the official website, include: - -- **Cross-platform support (Linux, macOS, and Windows)** -- **Built-in package manager** -- **Smart autocompletion** -- **File system browser** -- **Multiple pane user interfaces** -- **Find and replace feature** - -At the time of writing this, automatic updates for Pulsar are not available. You will be able to install newer versions through the official website. - -![pulsar editor settings][3] - -You can customize the editor, change keybindings, manage packages, apply themes, and configure your experience with all the available options. - -As of now, it is too soon to say if Pulsar will become something better than what the Atom community version offers. However, it is something that we can keep an eye on. - -### Download and Try Pulsar - -As mentioned earlier, Pulsar is in its early development stage. So, you can find binaries for Linux distributions and AppImage file that you can try on any distro. - -In my test, it **did not work for Linux Mint**, but it worked fine with **Ubuntu 22.04 LTS**. - -You can head to its [official download page][4] to get the package required for your system and test it out. - -[Pulsar Editor][4] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/pulsar-editor/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/pulsar-hackable-text-editor.png -[2]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor.png -[3]: https://news.itsfoss.com/content/images/2022/12/pulsar-editor-settings.png -[4]: https://pulsar-edit.dev/download.html#releases From 6e1abf151841a223f1effad44635e40002943387 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 12:18:52 +0800 Subject: [PATCH 779/925] RP @geekpi https://linux.cn/article-15357-1.html --- ...️⭐️ Try this Java file manager on Linux.md | 68 +++++++++++++++++++ ...️⭐️ Try this Java file manager on Linux.md | 64 ----------------- 2 files changed, 68 insertions(+), 64 deletions(-) create mode 100644 published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md delete mode 100644 translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md diff --git a/published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md new file mode 100644 index 0000000000..c32fe8144e --- /dev/null +++ b/published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md @@ -0,0 +1,68 @@ +[#]: subject: "Try this Java file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15357-1.html" + +在 Linux 上试试这个 Java 文件管理器 +====== + +![][0] + +> JFileProcessor 作为一个 Linux 文件管理器,在设计和功能上都采取了极简理念。 + +计算机是一个奇特的文件柜,里面装满了虚拟文件夹和文件,等待着被引用、交叉引用、编辑、更新、保存、复制、移动、重命名和归类。在本文中,我将介绍一下 Linux 系统的文件管理器。 + +在 昇阳微系统Sun Microsystem 时代的末期,出现了一种叫做 Java 桌面系统Java Desktop System 的东西,奇怪的是它 _不是_ 用 Java 编写的。相反,它是(根据当时的 sun.com 上的描述)“对集成和优化的桌面软件的明智选择,大部分基于开源代码和开放标准”。它基于 GNOME,带有办公套件、电子邮件和日历应用、即时消息和“Java 技术”。我发现自己在思考用 Java 创建桌面需要什么。客观地说,桌面实际上并不包括那么多东西。一般的共识似乎是桌面由面板、系统托盘、应用菜单和文件管理器组成。 + +想象一个实际的 Java 桌面是一个有趣的思维练习。虽然不足以以此为目标启动一个开源项目,但足以在网络上快速搜索必要的组件。事实证明,有人用 Java 编写并维护了一个文件管理器。 + +### JFileProcessor + +我找到的 Java 文件管理器叫做 JFileProcessor,简称 JFP。它不仅是用 Java 编写的,更具体是说是用 [Groovy][1](一种流行的 Java 脚本语言)进行的一项迷人的实践。 + +![Image of the JfileProcessor folders.][2] + +作为文件管理器,JFileProcessor 在设计和功能上都采用了极简方式。它允许你查看、打开、移动、复制、剪切或删除本地系统和远程系统上的文件。它不是特别定制化的,它没有如拆分面板或可移动面板等额外功能。除了管理文件外,它没什么别的中心主题。JFileProcessor 在某种程度上令人耳目一新,因为它很简单。这是一个文件管理器,仅此而已。有时这就是你在文件管理器中想要的全部。 + +我之前写过关于 [设置 Java Swing 主题][3] 的方式,从技术上讲,该技术可以应用于这个开源应用。但是,我认为这个应用的部分魅力在于 OpenSolaris 称之为 “Blueprint” 的主题。这是 Java 的怀旧外观,我喜欢以其原生 GUI 外观运行它,作为对我的 OpenSolaris(现为 OpenIndiana)笔记本电脑的回忆。 + +### 用户体验 + +除了设计,真正重要的是用户体验。JFileProcessor 只有三个你日常使用的按钮:向上、后退和前进。它们未绑定到键盘快捷键,因此你必须单击按钮才能导航(或使用 `Tab` 键选择按钮)。在使用图形应用时,我经常使用键盘快捷键,所以当我尝试浏览我的系统时,这大大减慢了我的速度。但是,有时我实际上只是懒洋洋地浏览文件,因此 JFileProcessor 完全按照我的需要工作。 + +JFileProcessor 也有一个搜索组件。只要你设置合理的起始文件夹,搜索就会快速而智能,同时允许使用通配符和正则模式搜索。例如,当我搜索特定的电子书或漫画档案或游戏规则手册时,或者当我粗略地知道该目录包含一个项目但懒得一直点击到目的地址。在子目录中快速搜索,必然会得到明显的结果,然后双击打开文件,不管我设置了什么 XDG 偏好(Evince 用于 PDF,Foliate 用于电子书,等等)。 + +右键单击任何文件或目录会弹出上下文菜单。它具有你期望的大部分常见任务:复制、剪切、粘贴、删除、重命名、新建。它也有一些不错的额外功能。 + +![Right-click context menu in JFileProcessor][4] + +例如,你可以只将文件名复制到剪贴板或保存文件路径。你还可以运行一些脚本,包括用于批量重命名文件的脚本、用于对选定文件运行命令的脚本、用于创建 ZIP 或 TAR 存档的脚本等等。当然,编码器有多种选择,包括在当前位置打开终端和打开新的编码窗口。 + +### 安装 + +我是 Java 的忠实粉丝。它是一种清晰的语言,具有合理的分隔符和对跨平台兼容性的坚定立场。我喜欢它作为一种语言,我喜欢看到程序员用它创造的东西。 + +JFileProcessor 的名字很贴切。这是一种处理文件的有效方法,从某种意义上说,JFileProcessor 为你提供了一个简单的窗口来查看系统上的文件数据,并允许你以图形方式与它们进行交互,就像你可能在终端中与它们交互一样。它不是我用过的最高效的文件管理器,也不是功能最多的一个。然而,这是一个令人愉快的应用,为你提供了文件管理所需的基本工具,其相对较小的代码库使你可以在下午阅读一些精彩的内容。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-jfileprocessor + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/12/groovy +[2]: https://opensource.com/sites/default/files/2022-09/jfileprocessor.webp +[3]: https://opensource.com/article/22/3/beautify-java-applications +[4]: https://opensource.com/sites/default/files/2022-09/jfileprocessor-menu.webp +[0]: https://img.linux.net.cn/data/attachment/album/202212/17/121727uuepuz1q3qhgippd.jpg \ No newline at end of file diff --git a/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md deleted file mode 100644 index 8ef1bb47c1..0000000000 --- a/translated/tech/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md +++ /dev/null @@ -1,64 +0,0 @@ -[#]: subject: "Try this Java file manager on Linux" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-jfileprocessor" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -在 Linux 上试试这个 Java 文件管理器 -====== - -计算机是奇特的文件柜,里面装满了等待引用、交叉引用、编辑、更新、保存、复制、移动、重命名和组织的虚拟文件夹和文件。在本文中,我将介绍一下 Linux 系统的文件管理器。 - -在 Sun Microsystem 时代的末期,出现了一种叫做 Java 桌面系统的东西,奇怪的是它_不是_用 Java 编写的。相反,它是(根据当时的 sun.com 上的描述)“对集成和优化的桌面软件的明智选择,大部分基于开源代码和开放标准”。它基于 GNOME,带有办公套件、电子邮件和日历应用、即时消息和“Java 技术”。我发现自己在思考用 Java 创建桌面需要什么。客观地说,桌面实际上并没有那么多。一般的共识似乎是桌面由面板、系统托盘、应用菜单和文件管理器组成。 - -想象一个实际的 Java 桌面是一个有趣的思维练习。不足以以此为目标启动一个开源项目,但足以在网络上快速搜索必要的组件。事实证明,有人用 Java 编写并维护了一个文件管理器。 - -### JFileProcessor - -我找到的 Java 文件管理器叫做 JFileProcessor,简称 JFP。这不仅在 Java 中,而且在 [Groovy][1](一种流行的 Java 脚本语言)中都是一项迷人的练习。 - -![Image of the JfileProcessor folders.][2] - -作为文件管理器,JFileProcessor 在设计和功能上都采用了最小化的方法。它允许你查看、打开、移动、复制、剪切或删除本地系统和远程系统上的文件。它不是特别定制化的,它没有额外的功能,如拆分面板或可移动面板。除了管理文件外,它不围绕任何中心主题构建。JFileProcessor 在某种程度上令人耳目一新,因为它很简单。这是一个文件管理器,仅此而已。有时这就是你在文件管理器中想要的全部。 - -我之前写过关于[设置 Java Swing 主题][3]的方式,从技术上讲,该技术是这个开源应用的一个选项。但是,我认为这个应用的部分魅力在于 OpenSolaris 称之为 “Blueprint” 的主题。这是 Java 的怀旧外观,我喜欢以其原生 GUI 外观运行它,作为对我的 OpenSolaris(现为 OpenIndiana)笔记本电脑的回忆。 - - -### 用户体验 - -除了设计,真正重要的是用户体验。JFileProcessor 只有三个你日常使用的按钮:向上、后退和前进。它们未绑定到键盘快捷键,因此你必须单击按钮才能导航(或使用 **Tab** 键选择按钮)。在使用图形应用时,我经常使用键盘快捷键,所以当我尝试浏览我的系统时,这大大减慢了我的速度。但是,有时我实际上只是懒洋洋地浏览文件,因此 JFileProcessor 完全按照我的需要工作。 - -JFileProcessor 也有一个搜索组件。只要你设置合理的起始文件夹,搜索就会快速而智能,同时允许适用 glob 和正则模式搜索。例如,当我搜索特定的电子书或漫画档案或游戏规则手册时,或者任何时候我粗略地知道该目录包含一个项目但懒得一直点击到目的地址。在子目录中快速搜索,必然会得到明显的结果,然后双击打开文件,不管我设置了什么XDG偏好(Evince用于PDF,Foliate用于电子书,等等)。 - -右键单击任何文件或目录会弹出上下文菜单。它具有你期望的大部分常见任务:复制、剪切、粘贴、删除、重命名、新建。它也有一些不错的额外功能。 - -![Right-click context menu in JFileProcessor][4] - -例如,你可以只将文件名复制到剪贴板或保存文件路径。你还可以运行一些脚本,包括用于批量重命名文件的脚本、用于对选定文件运行命令的脚本、用于创建 ZIP 或 TAR 存档的脚本等等。当然,编码器有多种选择,包括在当前位置打开终端和打开新的编码窗口。 - -### 安装 - -我是 Java 的忠实粉丝。它是一种清晰的语言,具有合理的分隔符和对跨平台兼容性的坚定立场。我喜欢它作为一种语言,我喜欢看到程序员用它创造的东西。 - -JFileProcessor 的名字很贴切。这是一种处理文件的有效方法,从某种意义上说,JFileProcessor 为你提供了一个简单的窗口来查看系统上的文件数据,并允许你以图形方式与它们进行交互,就像你可能在终端中与它们交互一样。它不是我用过的最高效的文件管理器,也不是功能最多的一个。然而,这是一个令人愉快的应用,为你提供了文件管理所需的基本工具,其相对较小的代码库使你可以在下午阅读一些精彩的内容。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-jfileprocessor - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/20/12/groovy -[2]: https://opensource.com/sites/default/files/2022-09/jfileprocessor.webp -[3]: https://opensource.com/article/22/3/beautify-java-applications -[4]: https://opensource.com/sites/default/files/2022-09/jfileprocessor-menu.webp From 93a0adef15e184330263dc30dea7345b9e3e1cf6 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Sat, 17 Dec 2022 16:35:05 +0800 Subject: [PATCH 780/925] Third Translation --- ...️ Write documentation like you develop code.md | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md index 1aea7321f7..9c373f96bd 100644 --- a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md +++ b/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md @@ -7,51 +7,52 @@ [#]: publisher: " " [#]: url: " " -Write documentation like you develop code +像代码开发一样撰写文档 ====== -Don't want documentation to be an afterthought? Try a new approach. +不想让书写滞后于你的思考?或许你该尝试一下全新的写作方式。 -Many engineers and craftspeople are particular about their tools. To do a job well, you need the best tools and the skills to use them. The best tools in software development can be very powerful when applied to other kinds of digital creation. The [Docs as Code][1] approach is a great example. Docs as Code entails writing documentation using the same tools and workflows used for developing code. Proponents of Docs as Code report that this method leads to better documentation while easing the workload of the people who write it. +很多工程师与手工艺者都对他们使用的工具有特别的要求。为了顺利的完成工作,你需要最好的工具和使用它们的技巧。软件开发中最好的工具在应用到其他的数字创作领域中也可以是很强大的。[Docs as Code][1] (译注:代码化文档)的方式就是很好的例子。Doc as Code 意味者使用与代码开发相同的工具与工作流来撰写文档。Doc as Code 的支持者认为这样的方式可以在降低作者的工作符负荷的同时保证更好的文档结构。 -### Text formats and source control +### 文本格式与源文件控制 -The most significant adjustment when moving from a more traditional documentation platform to the Docs as Code approach is that the content is stored in a text-based markup format. This change makes all the tools for text-based materials available for generating documentation. Whether you choose [DocBook][2], [Markdown][3], or another markup language, the transition from using just one tool to using a standard format and a variety of tools is a big change. +从传统的写作平台切换到 Docs as Code 方式时,最主要的调整是写作内容保存在基于文本的标记格式中。这一转变使得基于纯文本材料的工具都适用于文档写作。当你选择 [DocBook][2], [Markdown][3] 或者其他的标记语言时,从只使用一种工具到使用一种标准格式配合多种工具是一种巨大的转变。 -Finding tools that support your workflow is really important. Many developers use their [coding editors][4] when working on Docs as Code projects. Since they are already advanced-level users with that tool, it works well for them. Finding tooling that fits the other professionals on the team, such as technical writers, editors, information architects, and documentation product owners, may take more effort. A few options to consider: +找到支持你的工作流程的工具是非常重要的。在 Docs as Code 项目中,很多开发者使用他们的 [代码编辑器][4]。考虑到他们已经是这些工具的高阶用户,一切都很顺利。而找到适合团队里适合其他专业从业者,比如技术撰稿、编辑、信息架构师和文档产品责任人,的工具可能需要一番努力。这里有一些选项可兹参考: -- One of the many [good markdown editors][5] available -- Coding editors with good preview tools, which make them approachable for non-coders -- The web interfaces of popular Git hosting services, especially for occasional contributors +- 各种[优秀的 Markdown 编辑器][5]之一是可行的 +- 附带良好的预览工具的代码编辑器可能更适合非程序员 +- 流行的 Git 托管服务的网页界面尤其适用于偶尔有需要的贡献者 -Once content is safely in a markup format, the project can use source control such as [Git][6], an open source tool with many more features than most documentation platforms can claim: +一旦内容以标记语言的格式安全保存就可以使用版本控制进行管理,比如 [Git][6]。Git 相比大多数文档平台具有更多的功能: -- A clear and detailed version history of who changed what and when. If you have good commit message culture, you may even be able to learn why the change was made. -- Easy parallel change processes. Working in branches in Git means everyone can make all the changes they want to and combine them at the end. -- Advanced collaboration and review tooling. All the source-control platforms are designed to review each change in detail and have as much discussion as needed until everyone is confident that the change can go ahead. -- Automated quality checks such as spellchecking and link checking. This saves time and catches errors that might otherwise be missed. +- 清晰详细的文档版本历史:谁在什么时候改变了什么。 +- 简明的并行修改过程支持。在 Git 中使用分支工作意味着任何人可以做出他们想要的任何改变并在最后合并所做的更改。 +- 高级的协作与审查工具。所有的源代码管理平台都设计支持评审每一条细节变更并在足够的讨论后使每个人都确信改变可以继续的流程。 +- 自动质量检查,比如拼写检查和链接检查。这不仅节省了时间,而且可以发现以前无法发现的错误。 -Source control has many benefits. Just keep in mind that if you're new to source control, it has a learning curve. There are some excellent [learning resources][7] and [articles for writers][8] that can help. You can also let your curious documentarians find the learning materials that work for them rather than asking your engineers to teach them. (Ask me how I learned this—the hard way of course!) +源代码管理有很多优点。但要记住,如果你准备入门源代码管理,它有一定的学习曲线。这是一些有助于入门的优秀的[学习资源][7]和[作者文章][8]。你也可以让具有好奇心的文档作者自行寻找对他们有用的学习材料,而不是请你的工程师来培训他们。(探寻他人的学习历程是最困难的学习方式) -### Pull requests and review cycles +### 拉取请求和评审循环 -All source-control platforms are designed around the concept of pull requests, sometimes also called merge requests. Someone, or some team, puts together a set of changes and then requests that the changes are pulled into the main project. In many ways, working with many changes at once is easier in documentation than in code. Changing one article in one place in documentation has fewer side effects than when you change code and find that there were several other sections depending on it. -The most powerful collaboration tool is the [diff][9], which shows the difference between old and new versions in a way that's easy to follow. There are many versions of this tool available to make the comparison view easier to look at: side-by-side, inline, or even as rendered markdown rather than just text. Each team member can use the tool or tools that work best for them. For example, the web view is commonly used to look at a small change, but for something bigger I would want to look at it locally using `vimdiff` or [Meld][10]. +所有的源代码管理平台都围绕拉取请求这一概念设计,这有时也称为合并请求。有时候,某些团队先将一系列改变整合到一起然后向主项目发起要求修改被拉取的请求。不过从许多方面来说,在文档中一次处理多个变更比在代码中更容易。改变文档中某处的一篇文章比之更改代码并找出有哪些地方依赖它具有更小的副作用。 -Review comments can be added to the change as a whole or to individual lines in the proposed change. Some projects adopt a maximum line length, called a hard wrap, or start each sentence on a new line to make it easier to attach comments to specific parts of a block of text. Further changes and comments can be added until the review process is complete and the change is accepted. Since the pull requests are shown in a queue on the repository for the project, this is a good way to show what's in progress and what needs review attention. The tools make it easy for reviewers to add their thoughts. In particular, if you are working with technical audiences it can be easier to get reviews from these folks via the tools they use daily. +最强大的协作工具是 [diff][9],它可以通过一个易于察觉的方式展示旧版本与新版本之间的差异。该工具有多种不同的版本来使得比较视图更易于查看:双栏模式、行内模式,甚至是渲染后的 Markdown 模式。团队中的每一个成员都可以选择最适合他们的版本。举例而言,网页视图通常用于查看细微变更,而对于更大的变更,我习惯于使用 `vimdiff` 或 [Meld][10] 在本地浏览。 -### Continuous integration and deployment +检查的注释可以整体提交到变更中,也可以提交到指定变更中的个别行中。一些项目限制了行的最大长度,即硬换行,或者一行一句,以使得向文本的特定的部分添加注释更加容易。进一步的变更与注释可以在检查完成接受变更时添加。由于拉取请求在项目仓库以队列形式展示,这是很好的方式来展示目前正在进行的任务以及需要进行检查操作的任务。diff 工具使得评审人员更方便地加入他们的思考。尤其是你在与技术受众工作时,你可以通过他们日常使用的工具获得来自他们的评论。 -Having the source of your documentation available in plain text has many benefits, such as making it easy to find every occurrence of something that needs changing and using existing tools such as [wc][11], [grep][12], or `tree` to work with potentially large document sets. When you combine this with a source-control platform, even more existing tools become available, and they're all open source. +### 持续集成与部署 -One big workflow improvement is the ability to have continuous deployment in place. This simply means that when a pull request is merged into the main project, the project is immediately and automatically deployed. If the change is good enough to be accepted into the project, it is also good enough to be live on the documentation site, helping your readers. Typically, continuous deployment is set up with either a separate automation server, such as [Jenkins][13], or [Git Hooks][14]. Either way, the text-based markup is combined with the Docs as Code platform (usually a static site generator such as [Hugo][15] or [Sphinx][16]) to produce the documentation website, which is then deployed. +以纯文本形式拥有你的文档的源代码有很多益处,你可以轻易找到每次需要修改的位置,你可以使用现有的诸如 [wc][11]、[grep][12]或 `tree` 之类的工具在潜在的大型文档集中工作。当你将这些与源代码管理平台结合起来之后,你可能获得更多的可用工具,并且它们都是开源的。 -The same automation can be used before deployment to add some excellent checks to the pull requests before they are merged. On a coding project, it's common to run code linters, tests, and other quality checks that a machine can do itself. Documentation projects can get the same treatment, with tools like [Vale][17] to do prose linting and check for correct heading styles, spellings, and so on. It's also useful to add other tools here, such as a link checker to make sure all the links go somewhere valid. +另一个工作流程上的巨大提升是持续部署的能力。简单来说,这意味着,每当一个拉取请求被合并到主项目中,项目可以直接自动化部署到位。如果变更好到足以接收进项目中,他同时可以在文档页面中实时更新,从而帮助到你的读者。典型情况下,持续部署是配置在任意一台分离的自动化服务器上的,比如 [Jenkins][13] 或者 [Git Hooks][14]。不论哪种方式,基于文本的标记语言与 Doc as Code 平台(通常是静态网页生成器,比如 [Hugo][15] 或 [Sphinx][16])结合来生成文档网站,然后自动部署。 -### Code tools for docs workflows +在部署之前,同样的自动化流程可以被用于对将要合并的拉取请求进行检查。在一个编程项目中,通过计算机自行进行代码检查、代码测试和其他的质量检查已经习以为常。通过类似 [Vale][17] 之类的工具进行文本检查、文档项目也可以同样对待,你也可以添加其他的工具,比如添加一个链接检查器来确保文中所有的链接都是有效的。 -The tools known and loved by engineers are very good tools, but they are useful for all sorts of other projects too. For documentation, they contribute valuable efficiency, especially when you need your documentation to be moving at the same speed as your development teams. All the tools discussed here are open source, so you can try them for yourself, deploy them for a huge global team, or anything in between. May your docs process be as smooth as any code process. +### 用于文档流程的代码工具 + +被工程师们熟知并喜爱的工具都是非常好的工具,它们同时也可以用于其他类型的项目中。在文档项目中,它们提升了宝贵的效率,尤其是当你希望你的文档与你的团队同步推进的时候。上面讨论到的所有工具都是开源的,你可以亲自尝试,为大型全球团队部署他们,亦或者介于两者之间,最终使你的成文过程和编程过程一样顺畅。 -------------------------------------------------------------------------------- @@ -59,7 +60,7 @@ via: https://opensource.com/article/22/10/docs-as-code 作者:[Lorna Mitchell][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[CanYellow](https://github.com/CanYellow) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From dee4803e9dee1a51c3b4c52f9169264b4f66ee76 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Sat, 17 Dec 2022 16:46:37 +0800 Subject: [PATCH 781/925] move --- .../20221028.1 ⭐️⭐️ Write documentation like you develop code.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md (100%) diff --git a/sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md similarity index 100% rename from sources/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md rename to translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md From 625e73fa8cc8be0a5c5f84bcd506be0d198ef234 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 22:16:56 +0800 Subject: [PATCH 782/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow 总体翻译不错,有些地方你的理解可能有误。 --- ....5 ⭐️⭐️ Our open source startup journey.md | 65 +++++++++---------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md index c71c2778e3..228d530700 100644 --- a/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -3,94 +3,87 @@ [#]: author: "Navaneeth PK https://opensource.com/users/navaneeth" [#]: collector: "lkxed" [#]: translator: "CanYellow" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -开始我们的开源之旅 +我们的开源创业之旅 ====== -[ToolJet][1] 是一款开源的低代码量的用于快速构建和部署内部工具的框架。它的基础代码完全基于 JavaScript 和 TypeScript 。 +![][0] -ToolJet于2021年由一名开发者启动开发,并于2021年6月推出公测版本,一炮而红。此后, ToolJet 成立了基金会。目前,已经有一个20人的开发团队。 +> 以下是开源项目 ToolJet 是如何在一年的时间里取得 13000 颗星标和 200 个贡献者的故事。 + +[ToolJet][1] 是一款开源的低代码框架,用于快速构建和部署内部工具。它的代码库完全由 JavaScript 和 TypeScript 组成。 + +2021 年 4 月,一名开发者独自开始了 ToolJet 的开发,并于 2021 年 6 月推出公测版本,一炮而红。此后,ToolJet 成立了基金会。目前,我们已经有一个 20 人的开发团队。 ### 为什么选择开源 -在开发 ToolJet 之前,我曾担任一些企业客户端的顾问。许多客户端都庞大到在其中维护构建了大量的内部工具,更不用说来自销售人员、支持人员以及运营人员的对于内部工具的持续的漏洞修复与添加更多功能的要求了。开发团队一直在寻找能够用于内部应用开发的工具。 +在开发 ToolJet 之前,我曾担任一些企业客户的顾问。这些客户中的许多都庞大到足以维护构建几十个内部工具。尽管来自销售人员、支持人员以及运营人员不断要求对内部工具添加更多功能和修复错误,但开发团队却很难有精力来开发内部工具。 -我尝试过多个平台来构建和维护内部工具。大部分平台都是昂贵的,而且有时候并不能满足我们的需求,我们不得不修改平台工具的代码,而且大多数的平台工具都不支持本地托管。 +我尝试使用过多个平台来构建和维护内部工具。这些工具大多非常昂贵,而且经常不符合要求。我们需要进行修改,而且大多数工具不支持内部托管。 -作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在超出一个数据源的任务上的工作比较困难。于是我意识到市场上需要一种可以构建用户界面并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。 +作为一名 Ruby 开发者,我最初使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两款工具都是极好的,只是将它们应用在使用多个数据源的任务上比较困难。于是我意识到市场上需要一种可以构建用户界面,并能够连接多个数据源的框架。我相信任何为开发者制作的工具都应当是开源的。开发者日常使用的大部分工具与框架都源自世界各地人们的公开协作。 ### 第一次提交 -制作像 ToolJet 这样的工具需要全身心的投入,通过出售我的一个业余项目,我获得了5-6个月的空闲,于是我立即着手将在我脑海里酝酿了两年的想法付诸现实。 +制作像 ToolJet 这样的工具需要全身心的投入,通过出售我的一个业余项目,我获得了五六个月的空闲,于是我立即着手将在我脑海里酝酿了两年的想法付诸现实。 -2021年4月1日,我完成了 ToolJet 的第一次提交(使用 rails new 命令)。 +2021 年 4 月 1 日,我完成了 ToolJet 的第一次提交(使用 `rails new` 命令)。 稍等!我刚刚说 ToolJet 的代码是完全基于 JavaScript 的?请接着往下看。 -TD ### 构建完成并推销给投资者 -4、5月间,我一直坐在电脑屏幕前编写代码和向种子轮的投资者推销我的工具。 +4、5 月间,我一直坐在电脑屏幕前编写代码和向种子轮的投资者推销我的工具。 -我的工作还包括创建拖放式应用程序构建器,撰写所有的文档以保证有在主流平台上设置 ToolJet 的文档,创建项目网站,制作发布时所需的海报以及博客文章等等。这一过程进展顺利,没有遇到大的挑战。当时, ToolJet 的前端使用的是 React ,而后端则用的是 Ruby on Rails 。 +我的工作还包括创建拖放式应用程序构建器,撰写所有的文档以保证有在主流平台上设置 ToolJet 的文档,创建项目网站,制作发布时所需的海报以及博客文章等等。这一过程进展顺利,没有遇到大的挑战。当时,ToolJet 的前端使用的是 React ,而后端则用的是 Ruby on Rails 。 -编程工作进行得很顺利,然而投资者推广工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约40封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我回了电话。 +编程工作进行得很顺利,然而向投资者推广的工作进行得并不顺利。我向专注于初创时期投资的风投和天使投资人发送了大约 40 封电子邮件,都石沉大海。大部分邮件都被忽略了,不过也有一些公司向我说明了拒绝的原因,另外一些则给我回了电话。 大部分的电话内容都是一样的:我无法说服他们接受开源商业模式。 ### 工具发布 -6月7日是发布日。我们首先在 ProductHunt (译者注: [ProductHunt][11] 是一个新品发布平台)上发布.六个小时后,只有70名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这里是原始的[发布帖][2]。 +6 月 7 日是发布日。我们首先在 ProductHunt(LCTT 译注:[ProductHunt][11] 是一个新品发布平台)上发布。六个小时后,只有 70 名用户注册。但是我们有成为当天第一名产品的趋势(最终在那一周的产品中排名第三)。这里是原始的 [发布帖][2]。 -下午6点左右,我又在 [HackerNews][3]上发帖,一个小时内,这个帖子便升至榜首。大量的访问者注册并给我的版本库点亮星标,我对此很高兴。大量的访问者和用户报告了软件和文档中的漏洞。距离在 HackNews 上发帖八个小时之后,超过1000名 GitHub 用户给 ToolJet 的 GitHub 版本库点亮星标,并且有了数百个 ToolJet 云端的注册请求。上升趋势一直持续到三天后,ToolJet 版本库总计得到了2400个星标。 +下午 6 点左右,我又在 [HackerNews][3] 上发帖,一个小时内,这个帖子便升至榜首。大量的访问者注册并给我的版本库点亮星标,我对此很高兴。许多访问者和用户报告了软件和文档中的错误。距离在 HackNews 上发帖八个小时之后,超过 1000 名 GitHub 用户给 ToolJet 的 GitHub 版本库点亮了星标,并且有数百人注册了 ToolJet 云。上升趋势一直持续到三天后,ToolJet 版本库总计得到了 2400 个星标。 ![ToolJet repo stats on GitHub][4] -图片来源: - -ToolJet GitHub StarTrack (Navaneeth PK, CC BY-SA 4.0) - ### 获得资助 -ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们也有其他的选择,但从没有认真考虑过这些它们。这些选择包括: +ToolJet 项目在 GitHub 上的吸引力足以被风投(VC)世界注意到。发布之后的日子被各种来电挤满了。我们也有其他的选择,但从没有认真考虑过这些它们。这些选择包括: -- Bootstrapping:在项目初期,难以获得付费用户,而我此前也没有足够的存款来支撑整个项目。 +- 引导性融资:在项目初期,难以获得付费用户,而我此前也没有足够的储蓄来支撑整个项目。 +- 作为业余项目:在开发小型项目上这是可以的,但我不认为这在 ToolJet 的开发上行得通,毕竟在 ToolJet 平台能够为客户所用之前,我们需要创建大量的集成和 UI 控件。作为一个业余项目,要实现这些可能需要花费数月甚至数年时间。 -- 作为业余项目构建:在开发小型项目上这是可以的,但我不认为这在 ToolJet 的开发上行得通,毕竟在 ToolJet 平台能够为客户所用之前我们需要创建大量的集成和 UI 控件。作为一个业余项目,要实现这些可能需要花费数月甚至数年时间。 +我知道如果将 ToolJet 作为一个业余项目来开发,我可能需要花几个月的时间才能达到我期望的程度。而我希望通过扩大团队加速项目的成熟。鉴于该项目的吸引力,引入风险投资(VC)的资助是显而易见的选择。 -我知道如果将 ToolJet 作为一个业余项目来开发,我可能需要花几个月的时间才能达到我期望的程度。而我希望通过扩大团队加速项目的成熟。鉴于该项目的吸引力,引入风险投资(VC)的资助是显而易见的选择。 - -好消息是在 HackNews 上发布之后的两周内我们成功募集了[155万美元的资金][5]。 +好消息是在 HackNews 上发布之后的两周内我们成功募集了 [155 万美元的资金][5]。 ### 在开源中积累很重要 -发布后不久,我们发现许多人希望为 ToolJet 项目做贡献,但是他们几乎都是 JavaScript 开发者。我们也意识到像 ToolJet 这样的项目在未来会有成百上千的数据接口,只有基于插件的架构才行得通。我们于2021年8月决定从 Ruby 迁移到 TypeScript 上来。即使这花费了一个月的时间和巨大的努力,这仍然是我们在 ToolJet 项目上作出的最正确的决定。今天,我们有一个由我们的[插件开发套件][6]支持的可扩展的基于插件的架构。我们获得了来自超过200名开发者的贡献。关于这次迁移的文章参见[这篇博客][7]和[另一篇博客][8] +发布后不久,我们发现许多人希望为 ToolJet 项目做贡献,但是他们几乎都是 JavaScript 开发者。我们也意识到像 ToolJet 这样的项目在未来会有成百上千的数据接口,只有基于插件的架构才行得通。我们于 2021 年 8 月决定从 Ruby 迁移到 TypeScript 上来。即使这花费了一个月的时间和巨大的努力,这仍然是我们在 ToolJet 项目上作出的最正确的决定。今天,我们有一个由我们的 [插件开发套件][6] 支持的可扩展的基于插件的架构。我们获得了来自超过 200 名开发者的贡献。关于这次迁移的文章参见 [这篇博客][7] 和 [另一篇博客][8]。 ### 发布 v1.0 版本 -自8月份以后,很多用户已经在生产环境中使用 ToolJet ,该平台并没有出现过任何稳定性或扩展性的问题。我们准备在发布 v1.0 版本之前完成开发人员平台的功能。开发人员平台允许任何 JavaScript 开发者构建和发布 ToolJet 插件。这样开发人员就可以为 ToolJet 开发数据接口。把集成测试的时间算上,创建一个 ToolJet 接口的时间也只需要30分钟。 +自 8 月份以后,很多用户已经在生产环境中使用 ToolJet ,该平台并没有出现过任何稳定性或扩展性的问题。我们准备在发布 v1.0 版本之前完成开发人员平台的功能。开发人员平台允许任何 JavaScript 开发者构建和发布 ToolJet 插件。这样开发人员就可以为 ToolJet 开发数据接口。把集成测试的时间算上,创建一个 ToolJet 接口的时间也只需要30分钟。 ### 创建持续成长的社区 ![ToolJet star history][9] -图片来源: - -ToolJet Star History (Navaneeth PK, CC BY-SA 4.0) - 我们没有在销售上投入资金,我们的大部分精力都放在了传播 ToolJet 的消息、撰写我们的经验教训以及维持开发社区的活跃上。我们有一个关注社区里问题的三人团队。 - ### 商业模式 -如果没有[商业产品][10]来支付账单 ToolJet 无法成为一项可持续的业务。我们构建了 ToolJet 的客户必须付费的企业版本。ToolJet 的免费的社区版本没有任何使用限制,企业版中的额外功能都只与大型团队有关。我们现在的客户已经有超大型公司。我们有足够的银行存款来打造更好的 ToolJet ,因此我们目前正聚焦于产品提升上。 +如果没有 [商业产品][10] 来支付账单,ToolJet 就无法成为一项可持续的业务。我们构建了 ToolJet 的客户付费的企业版本。ToolJet 的免费的社区版本没有任何使用限制,企业版中的额外功能都只与大型团队有关。我们现在的客户已经有超大型公司。我们有足够的银行存款来打造更好的 ToolJet ,因此我们目前正聚焦于产品提升上。 ### 接下来做什么 -我们在消费者反馈的帮助以及开源社区的贡献下经常性发布更好的 ToolJet 版本。很多主要的优化、大量的数据接口以及 UI 组件正在开发进程中。为了实现我们成为能够连接大量数据源并构建更复杂的用户界面的开源框架的初心,我们比以往行动得更加迅速。 +我们在开源社区的不断反馈和贡献的帮助下,我们可以经常性发布更好的 ToolJet 版本。很多主要的优化、大量的数据接口以及 UI 组件正在开发进程中。我们正以前所未有的速度朝着我们的最初目标前进,即成为一个可以连接到数百个数据源和构建最复杂的用户界面的开源框架。 -------------------------------------------------------------------------------- @@ -99,7 +92,7 @@ via: https://opensource.com/article/22/10/tooljet-open-source-journey 作者:[Navaneeth PK][a] 选题:[lkxed][b] 译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -115,5 +108,5 @@ via: https://opensource.com/article/22/10/tooljet-open-source-journey [8]: https://blog.tooljet.com/how-we-migrated-tooljet-server-from-ruby-to-node-js [9]: https://opensource.com/sites/default/files/2022-10/tooljet-star-history.png [10]: https://opensource.com/article/19/11/product-vs-project - [11]: https://www.producthunt.com/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/17/221548rbp2t6z8ah3h031s.jpg \ No newline at end of file From d45b839c803e8a281ed3e7b23481fd5f26cdd26f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 17 Dec 2022 22:17:45 +0800 Subject: [PATCH 783/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow https://linux.cn/article-15359-1.html 恭喜你升级为二星贡献者! --- .../20221019.5 ⭐️⭐️ Our open source startup journey.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/talk => published}/20221019.5 ⭐️⭐️ Our open source startup journey.md (99%) diff --git a/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md b/published/20221019.5 ⭐️⭐️ Our open source startup journey.md similarity index 99% rename from translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md rename to published/20221019.5 ⭐️⭐️ Our open source startup journey.md index 228d530700..b8180b32c2 100644 --- a/translated/talk/20221019.5 ⭐️⭐️ Our open source startup journey.md +++ b/published/20221019.5 ⭐️⭐️ Our open source startup journey.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "CanYellow" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15359-1.html" 我们的开源创业之旅 ====== From 198a5ea3c3f86b0c7a58f47f11a60dad1371009b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 18 Dec 2022 14:59:55 +0800 Subject: [PATCH 784/925] R @geekpi --- ...ow to Access UEFI Settings in Linux Systems.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md index 779ee8e4ee..b18ba3bf7f 100644 --- a/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md +++ b/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -3,30 +3,30 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " 如何在 Linux 系统中访问 UEFI 设置 ====== -想要在固件级别检查启动顺序或电源设置? **你可以在系统启动时按 F2、F10 或 Del 按键访问 UEFI 设置**。 +想要在固件级别检查启动顺序或电源设置? **你可以在系统启动时按 `F2`、`F10` 或 `Del` 按键访问 UEFI 设置**。 这种方法的问题是你可能不知道确切的键,并且必须警惕在正确的时间按下这些键。 ![Mr. Bean][1a] -如果你不想像上面 Gif 中的憨豆先生,你可以从 Linux 中的 [Grub bootloader][1] 也没访问 UEFI 设置。 +如果你不想像上面 Gif 中的憨豆先生,你可以从 Linux 中的 [Grub 引导加载器][1] 页面访问 UEFI 设置。 ![uefi firmware settings grub linux][2] 当你打开 Linux 系统时,你会看到这个页面。Fedora 和 Ubuntu 等大多数 Linux 发行版都使用 Grub,它们允许你像这样从 Grub 页面访问 UEFI 设置。 -如果你没有看到此页面或你的发行版不使用 Grub 怎么办? 仍然有一些方法可以从 Linux 中访问 UEFI 设置。 +如果你没有看到此页面,或你的发行版不使用 Grub 怎么办? 仍然有一些方法可以从 Linux 中访问 UEFI 设置。 -在你了解如何操作之前,请[确保你的系统使用 UEFI][3]。 +在你了解如何操作之前,请 [确保你的系统使用的是 UEFI][3]。 -**_另一件重要的事情。你的系统将重启进入 UEFI 设置。_** _你无法从操作系统中访问和修改固件设置。_ +另一件重要的事情。你的系统重启才能进入 UEFI 设置。你无法从操作系统中访问和修改固件设置。 ### 从 Linux 启动到 UEFI 设置 @@ -51,13 +51,13 @@ systemctl reboot --firmware-setup - `reboot`:顾名思义,它将重启你的系统。 - `--firmware-setup`: 当此选项与 `reboot` 一起使用时,它会指示系统固件启动进入固件设置界面。 -就是这样! 一个命令,你将进入 UEFI 设置。我知道 Windows 允许[从 Windows 中启动进入 UEFI 固件设置][6]。很高兴在 Linux 中看到类似的东西。 +就是这样! 一个命令,你将进入 UEFI 设置。我知道 Windows 允许 [从 Windows 中启动进入 UEFI 固件设置][6]。很高兴在 Linux 中看到类似的东西。 #### 创建桌面快捷方式以启动到 UEFI 设置(可选) -如果你经常发现自己启动进入 UEFI 设置并且不记得所有命令,你可以通过创建桌面快捷方式让你的生活更轻松。这将使你可以通过单击桌面图标启动到 UEFI。 +如果你经常发现自己启动进入 UEFI 设置,并且不记得所有命令,你可以通过创建桌面快捷方式让你的生活更轻松。这将使你可以通过单击桌面图标启动到 UEFI。 -_**现在,对于大多数 Linux 用户来说,这是不必要的,也不是必需的。只有当你觉得有必要时才去做。该方法需要[在命令行中编辑文件][7]。**_ +不过,对于大多数 Linux 用户来说,这是不必要的,也不是必需的。只有当你觉得有必要时才去做。该方法需要 [在命令行中编辑文件][7]。 首先,使用给定的命令为 UEFI 设置创建桌面快捷方式文件: @@ -86,11 +86,11 @@ Categories=System;Settings; ![boot into uefi firmware from system menu][10] -完成了! 一种进入 UEFI 设置的巧妙方法。 +完成了!一种进入 UEFI 设置的巧妙方法。 ### 总结 -访问启动设置的经典方法对某些人来说可能有点不方便。grub 页面可能不会显示旧版本的 UEFI 选项。 +访问启动设置的经典方法对某些人来说可能有点不方便。Grub 页面可能不会显示旧版本的 UEFI 选项。 这就是 systemd 方法的亮点所在。当我的系统崩溃并且我的功能键没有响应时,我发现这种方法是救命稻草,这是启动到 UEFI 所必需的(我当时就是这么想的!)。 @@ -103,7 +103,7 @@ via: https://itsfoss.com/access-uefi-from-linux/ 作者:[Sagar Sharma][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/) 荣誉推出 From a38cfd353d98ca35b44de3f11949437587d68e72 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 18 Dec 2022 16:45:58 +0800 Subject: [PATCH 785/925] R @chai001125 --- ...️ 7 pro tips for using the GDB step command.md | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md index ea398cd4a0..8073fbf1c6 100644 --- a/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md +++ b/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md @@ -7,10 +7,12 @@ [#]: publisher: " " [#]: url: " " -GDB 进入函数内部的 7 个命令 +GDB 的 7 个单步调试命令 ====== ->**调试器**是一个可以运行你的代码并检查问题的软件。[GNU Debugger][1](GBD)是最流行的调试器之一,在这篇文章中,我研究了 **GDB 进入函数内部的几个命令**,包含了 **`step` 命令**和其他几个**常见的 GDB 命令**。`step` 是一个被广泛使用的命令,但它有一些人们不太了解的地方,可能会使得他们十分困惑。此外,还有一些方法可以**在不使用 `step` 命令的情况下进入一个函数**,比如使用不太知名的 `advance` 命令。 +> 即使是复杂的函数,也有几种方法可以单步调试,所以下次在排除代码故障时,可以尝试一下这些 GDB 技术。 + +**调试器** 是一个可以运行你的代码并检查问题的软件。[GNU Debugger][1](GBD)是最流行的调试器之一,在这篇文章中,我研究了 GDB 的 `step` 命令和其他几种常见情况的相关命令。`step` 是一个被广泛使用的命令,但它有一些人们不太了解的地方,可能会使得他们十分困惑。此外,还有一些方法可以**在不使用 `step` 命令的情况下进入一个函数**,比如使用不太知名的 `advance` 命令。 ### 1、无调试符号 @@ -19,6 +21,7 @@ GDB 进入函数内部的 7 个命令 ``` #include + int num() { return 2; } @@ -27,13 +30,14 @@ void bar(int i) { printf("i = %d\n", i); } + int main() { bar(num()); return 0; } ``` -如果你在没有 调试符号 debugging sysbols 的情况下进行编译(即在使用 `gcc` 编译程序时上,没有写 `-g` 选项),然后在 `bar` 上设置一个断点,然后尝试在这个函数内使用 `step`,来单步执行语句。GDB 会给出一个 没有行号信息 no line number information 的错误信息。 +如果你在没有 调试符号 debugging sysbols 的情况下进行编译(LCTT 译注:即在使用 `gcc` 编译程序时没有写 `-g` 选项),然后在 `bar` 上设置一个断点,然后尝试在这个函数内使用 `step` 来单步执行语句。GDB 会给出一个 没有行号信息 no line number information 的错误信息。 ``` gcc exmp.c -o exmp @@ -50,9 +54,9 @@ i = 2 0x0000000000401168 in main () ``` -### 2、`stepi` 命令 +### 2、stepi 命令 -但是你仍然可以在没有行号信息的函数内部单步执行语句,但要使用 `stepi` 命令来代替 `step`。`stepi` 一次只执行一条指令。当使用 GDB 的 `stepi` 命令时,先做 `display/i $pc` 通常很有用,这会在每一步之后**显示** **程序计数器的值** program counter value 和**相应的** **机器指令** machine instruction : +但是你仍然可以在没有行号信息的函数内部单步执行语句,但要使用 `stepi` 命令来代替 `step`。`stepi` 一次只执行一条指令。当使用 GDB 的 `stepi` 命令时,先做 `display/i $pc` 通常很有用,这会在每一步之后**显示** 程序计数器 program counter 的值和**相应的** 机器指令 machine instruction : ``` (gdb) b bar @@ -84,7 +88,7 @@ $1 = 2 ### 3、复杂的函数调用 -在带调试符号的 `-g` 选项,重新编译示例程序后,你可以用 `main` 中的行号,在 `bar` 上设置断点,然后再单步执行 `bar` 函数的语句: +在带调试符号的 `-g` 选项,重新编译示例程序后,你可以使用行号在 `main` 中 `bar` 调用上设置断点,然后再单步执行 `bar` 函数的语句: ``` gcc -g exmp.c -o exmp @@ -105,7 +109,7 @@ num () at exmp.c:4 4 return 2; ``` -函数调用的参数需要在实际的函数调用之前进行处理,`bar()` 函数调用了 `num()` 函数,所以 `num()` 会在 `bar()` 被调用之前执行。但是,通过 GDB 调试,你怎么才能如愿以偿地进入 `bar()` 函数呢?你可以使用 `finish` 命令,并再次使用 `step` 命令。 +函数调用的参数需要在实际的函数调用之前进行处理,`bar()` 函数的参数是 `num()` 函数,所以 `num()` 会在 `bar()` 被调用之前执行。但是,通过 GDB 调试,你怎么才能如愿以偿地进入 `bar()` 函数呢?你可以使用 `finish` 命令,并再次使用 `step` 命令。 ``` (gdb) finish @@ -118,11 +122,10 @@ bar (i=2) at exmp.c:9 9 printf("i = %d\n", i); ``` -### 4、`Tbreak` 命令 +### 4、tbreak 命令 `tbreak` 命令会设置一个**临时断点**。如果你不想设置永久断点,那么这个命令是很有用的。举个例子🌰,你想进入一个复杂的函数调用,例如 `f(g(h()), i(j()), ...)`,在这种情况下,你需要一个很长的 `step/finish/step` 序列,才能到达 `f` 函数。如果你设置一个临时断点,然后再使用 `continue` 命令,这样就不需要以上的序列了。为了证明这一点,你需要像以前一样将断点设置在 `main` 的 `bar` 调用上。然后在 `bar` 上设置临时断点。当到达该临时断点后,临时断点会被自动删除。 - ``` (gdb) r Starting program: /home/ahajkova/exmp @@ -132,7 +135,7 @@ Breakpoint 1, main () at exmp.c:14 Temporary breakpoint 2 at 0x40113c: file exmp.c, line 9. ``` -在调用 `bar` 的时候遇到断点,并在 `bar` 上设置临时断点后,你只需要使用`continue` 继续运行直到 `bar` 结束。 +在调用 `bar` 的时候遇到断点,并在 `bar` 上设置临时断点后,你只需要使用 `continue` 继续运行直到 `bar` 结束。 ``` (gdb) continue @@ -141,9 +144,9 @@ Temporary breakpoint 2, bar (i=2) at exmp.c:9 9 printf("i = %d\n", i); ``` -### 5、`disable` 命令 +### 5、disable 命令 -类似地,你也可以在 `bar` 上设置一个正常的断点,然后执行 `continue`,然后在不再需要第二个断点时,使用`disable` 命令禁用这个断点,这样也能达到与 `tbreak` 相同的效果。 +类似地,你也可以在 `bar` 上设置一个正常的断点,然后执行 `continue`,然后在不再需要第二个断点时,使用 `disable` 命令禁用这个断点,这样也能达到与 `tbreak` 相同的效果。 ``` (gdb) b exmp.c:14 @@ -161,7 +164,7 @@ Breakpoint 2, bar (i=2) at exmp.c:9 (gdb) disable 2 ``` -正如你所看到的,`info breakpoints` 命令在 `Enb` 下显示为 `n`,这意味着这个断点已被禁用。但你也能在再次需要这个断点时,再启用它。 +正如你所看到的,`info breakpoints` 命令在 `Enb` 列下显示为 `n`,这意味着这个断点已被禁用。但你也能在再次需要这个断点时,再启用它。 ``` (gdb) info breakpoints @@ -179,7 +182,7 @@ breakpoint already hit 1 time breakpoint already hit 1 time ``` -### 6、`Advance` 命令运行程序到指定的位置 +### 6、advance 命令运行程序到指定的位置 另一个进入函数内部的方法是 `advance` 命令。你可以简单地用 `advance bar`,来代替 `tbreak bar ; continue`。这一命令会将程序继续运行到指定的位置。 @@ -196,7 +199,7 @@ bar (i=2) at exmp.c:9 9 printf("i = %d\n", i); ``` -### 7、`skip` 命令 +### 7、skip 命令 进入 `bar` 函数的另一种方式是使用 `skip num` 命令: @@ -222,7 +225,7 @@ Num Enb Glob File RE Function 1 y n n num ``` -如果不再需要 `skip`,可以禁用(稍后重新启用)或完全删除它。你可以添加另一个 `skip`,并禁用第一个 `skip`,然后全部删除。要禁用某个 `skip`,必须指定其编号(例如,`skip disable 1`),如果没有指定,则会禁用所有的 `skip`。启用或删除 `skip` 的工作原理相同: +如果不再需要 `skip`,可以禁用(并稍后重新启用)或完全删除它。你可以添加另一个 `skip`,并禁用第一个 `skip`,然后全部删除。要禁用某个 `skip`,必须指定其编号(例如,`skip disable 1`),如果没有指定,则会禁用所有的 `skip`。启用或删除 `skip` 的工作原理相同: ``` (gdb) skip bar @@ -236,9 +239,9 @@ Num Enb Glob File RE Function Not skipping any files or functions. ``` -### GDB 的 `step` 命令 +### GDB 的 step 命令 -使用 GDB 的 `step` 命令是调试程序的一个有用工具。即使是复杂的函数,也有几种方法可以进入这些函数,所以下次你在排除代码问题的时候,可以尝试一下这些 GDB 技术。 +使用 GDB 的 `step` 命令是调试程序的一个有用工具。即使是复杂的函数,也有几种方法可以单步调试这些函数,所以下次你在排除代码问题的时候,可以尝试一下这些 GDB 技术。 -------------------------------------------------------------------------------- @@ -247,7 +250,7 @@ via: https://opensource.com/article/22/12/gdb-step-command 作者:[Alexandra][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 29941767a1fe0a75c04cea1ca3438225c00b533c Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Sun, 18 Dec 2022 17:06:04 +0800 Subject: [PATCH 786/925] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87=20?= =?UTF-8?q?(#28261)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 Promises Much More than Faster Speeds.md | 95 ------------------- ...6 Promises Much More than Faster Speeds.md | 95 +++++++++++++++++++ 2 files changed, 95 insertions(+), 95 deletions(-) delete mode 100644 sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md create mode 100644 translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md diff --git a/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md deleted file mode 100644 index fd7b08a93e..0000000000 --- a/sources/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "WiFi 6 Promises Much More than Faster Speeds" -[#]: via: "https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/" -[#]: author: "Sharon Katta https://www.opensourceforu.com/author/sharon-katta/" -[#]: collector: "lkxed" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -WiFi 6 Promises Much More than Faster Speeds -====== -WiFi 6 increases the network connectivity, and has been developed to ensure the trillions of devices connected in the near future continue to work seamlessly and efficiently. Though it was certified in 2019, it faced a few challenges in testing due to the pandemic. This article gives an overview of this technology. - -![WiFi-6][1] - -The next-generation standard in WiFi technology, termed ‘WiFi 6’, is also known as ‘AX WiFi’ or ‘802.11ax’. Developed to meet the exponential increase in demand for devices in the world, it can be used for virtual reality (VR) and smart home devices as well. It is an improvement on the current 802.11ac WiFi standard and meets current challenges in terms of capacity, efficiency, coverage and performance. - -![Figure 1: WiFi 6][2] - -Researched in 2014, this standard was invented in 2018 and launched by the IEEE High Efficiency WLAN Study Group (HEW SG). It began certifications in late 2019, with Samsung’s Galaxy Note 10 and Ruckus R750 employing this technology. Specified to operate between the 1GHz and 6GHz bands, WiFi 6 focuses mainly between the 2.4GHz and 5GHz frequencies. - -In an average household today, nine devices are connected to WiFi. WiFi 6 aims at improving the network rather than boosting the speed for individual devices. - -### Features of WiFi 6 - -**Multi-user, multi-input, multi-output (MU-MIMO):** This communication between routers and multiple devices concurrently. It supports four simultaneous data streams, added to which one user can have a considerable bandwidth of incoming data from a smart router, both on the 2.4GHz and 5GHz frequencies. -**1024-QAM:** This helps WiFi 6 encode more bits per packet. There is a 25 per cent increase in throughput. Not only does it improve efficiency in high-traffic situations, it also maximises data rates. This is a huge advantage for modern enterprise applications. -**Orthogonal frequency-division multiplexing (OFDM):** This allows four times as many subcarriers and increases speed by 11 per cent. The expanded signal allows for greater simultaneous packet delivery across users. Hence, the wait time between packets and latency is reduced. -*Increased channel width:* The 160MHz channel communication is added to the 80MHz band, thus doubling the channel width. This allows routers to handle more users and provide larger streams per user. -*Target wake time (TWT):* This feature is unique to WiFi 6. It allows each device to independently negotiate wake time for transmission and reception. This helps to increase total sleep time and maximise battery life. TWT enables many additional networking options, especially for IoT devices. -*Improved security:* All WiFi 6 devices will need to include Wi-Fi Protected Access 3 (WPA3). This will lead to encryption of unauthenticated traffic, robust password protection against brute-force dictionary attacks, and superior data reliability for sensitive information with 192-bit encryption. -*Beamforming:* With eight support antennas, beamforming helps to improve data rates, and the range is extended by directing signals towards specific clients at once. It offers a backup for rapidly moving devices that may face issues with MU-MIMO. Beamforming also helps to control transmissions from antennas that cause signals to interfere on purpose. The signal can then be redirected to a new direction. - -### Devices that support WiFi 6 - -Until recently, WiFi 5 was the standard used for routers, repeaters, mesh networks and many WiFi clients. WiFi 6 was launched in 2019. There will be some compatibility issues for the earlier devices that supported WiFi 5 — they will be able to utilise the WiFi 6 network but not be able to receive support for the same. - -WiFi 6 routers are backward-compatible, and it is better to make sure that the network is ready for that. - -WiFi 6 enables lower battery consumption, making it a great choice for any environment, including the Internet of Things (IoT). It reduces unnecessary data activity, and tells devices when to put their data to sleep and when to be active. As a result, unnecessary data activity is reduced, and performance and battery life are maximised. - -The Samsung Galaxy Note 10 and Ruckus R750 were the world’s first smartphone and access point certified to support Wi-Fi 6, with the latest generation of the Apple iPhone following suit. The Wi-Fi Alliance has set up its certification programme, and new wireless products hitting the market are expected to start applying for compliance certification. The devices listed below are already WiFi 6 enabled: - -* iPhone 11 and after -* Samsung Galaxy S10, S20, Note 10, and Note 20 -* Apple computers with M1 processors -* Smart TVs - -> To take advantage of the improvements in the 802.11ax standard fully, both hardware and software functionalities have to be built on this WiFi technology. - -### Hardware testing - -To unlock the full potential of the latest devices, a WiFi 6 router is needed to run the network. This was an expensive affair a few years ago, but now we have a number of options even for mesh systems, gaming routers, range extenders, and more. The best purchase can be made only when hands-on testing is done. Beating all its competitors, the current king in terms of speed for WiFi 6 routers is TP-Link Archer AX6000. This router was able to transmit data wirelessly at a rate of 1523 Mbps up to a distance of 1.5 metres (5 feet). - -One important thing to remember here is that these routers do not magically increase speeds. The theoretical maximum of achieving 9.6 Gbps is unlikely. This high theoretical speed can be split up across a whole network of devices. - -WiFi 6 emphasises quality connectivity in areas where connected devices are densely populated. It does not increase the speed of each device exponentially but ensures these operate at an optimum level. - -Only the combination of a faster plan from the Internet service providers (ISPs) along with the WiFi 6 router, can fulfil its true potential. The real challenge is for the ISPs, as they need new fibre rollouts to capitalise on this next-gen technology. An important question is: when faster ISP speeds come, will the existing hardware become redundant? - -### Applications of WiFi 6 - -**Large public venues (LPVs):** Stadiums and convention centres are a few of the common areas where thousands of devices connect to WiFi at the same time. WiFi 6 can help to improve attendee experiences, increase customer interactions, and create value-added services like viewing instant replays or ordering food from one’s seat at an event. WiFi 6 allows LPV owners to create new business opportunities. -**Transport hubs:** Public transport stations are also an area where people attempt to connect to the network simultaneously. OFDMA and BSS colouring in WiFi 6 provide the necessary tools needed to overcome this challenge. -**IoT and smart city deployments:** Power efficiencies in WiFi 6 enable IoT devices to go into sleep mode and turn on their transmitters at predefined intervals to prolong field time without much maintenance. -**Education:** Libraries, auditoriums, and lecture halls at college and university campuses have the highest density of WiFi users during the day, and almost no one at night. WiFi 6 is a perfect choice in this situation. - -### The challenges - -WiFi 6 does not promise an increase in speed, but is an upgrade designed to make sure the speeds of our devices within a given range/area doesn’t slow down a few years down the road. There are three major challenges it faces though, which are often overlooked. -Improving the functionality of unsupported devices: Even though WiFi 6 is backward- compatible, justice to it can only be done when this technology is used to the maximum. This means devices need to be upgraded each time. - -Speed and performance outside the internal network: WiFi 6 can provide excellent connectivity for services like cloud file shares. However, the assets and resources of ISPs can affect speed and performance. - -*Coverage issues:* Transmission and bandwidths are capped according to the regulations prevalent in each country. Hence, the coverage of WiFi 6 may be restricted to ensure this cap is met. - -In spite of these challenges, companies like Aruba, Asus, AT&T, Boingo, Broadcom, Cisco, Comcast, CommScope, Cypress, Extreme Networks, Intel, Netgear, Orange, Qualcomm, TP-Link and Xiaomi are all focusing on the potential WiFi 6 has. - -(LCTT 译注:选题删除了原文中的相关产品推荐部分。) - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/ - -作者:[Sharon Katta][a] -选题:[lkxed][b] -译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/sharon-katta/ -[b]: https://github.com/lkxed -[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6.jpg -[2]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6-1.jpg diff --git a/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md new file mode 100644 index 0000000000..210c958523 --- /dev/null +++ b/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md @@ -0,0 +1,95 @@ +[#]: subject: "WiFi 6 Promises Much More than Faster Speeds" +[#]: via: "https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/" +[#]: author: "Sharon Katta https://www.opensourceforu.com/author/sharon-katta/" +[#]: collector: "lkxed" +[#]: translator: "cool-summer-021" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +WiFi 6 带来的不仅是高速 +====== +WiFi 6 提高了网络连通性,它在不久的将来有望为数万亿台设备组网,并且能够不间断而高效地工作。它虽然在2019年就取得了官方认证,但由于疫情原因,它的测试工作面临不少挑战。本文旨在对这项技术进行概述。 + +![WiFi-6][1] + +WiFi 技术的下一代标准,称为 ‘WiFi 6’,也可以称为 ‘AX WiFi’ 或 ‘802.11ax’。它是为满足指数级增长的设备组网需求而产生的,因此也可以用于 VR 和智能家居。它是现有的 802.11ac WiFi 标准的升级版,可以应对现有技术在容量、效率、覆盖范围和性能方面遇到的挑战。 + +![Figure 1: WiFi 6][2] + +这项技术是在 2014 年进行研发,完成于2018年,由 IEEE 高性能无线网络研究组发布。产品认证于 2019 年后期进行,此时 Samsung Galaxy Note 10 和 Ruckus R750 使用了这种技术。WiFi 6 运行于 1GHz 和 6GHz 波段,主要的频率为 2.4GHz-5GHz。 + +如今,每个家庭平均有九台设备需要连接 Wifi。WiFi 6 主要致力于改善网络质量,而不是提升某些设备的速度。 + +### WiFi 6的特点 + +**多用户、多输入、多输出(MU-MIMO):** 路由器和多台设备可以同时通信。支持即时数据流,用户可以从智能路由器接收的输入数据的带宽很大,在频率为 2.4GHz-5GHz 时都是可行的。 +**1024-QAM:** 这令 WiFi 6 的每个数据包能编码的字节数更多,吞吐量增加了 25%。它不仅提高了大业务量情况下的通信效率,也最大限度增加了传输速率。这在现代企业应用系统领域有很大的优势。 +**正交频分复用(OFDM):** 支持四倍的负载波,速度也提高了 11%。扩展的信号支持用户进行更大的即时数据包传输。所以数据包之间的等待时间和延迟就减少了。 +*增加的信道宽度:* 80MHz的波段加入了160MHz的信道通信,信道宽度增加了一倍。因此,路由器可以容纳更多用户,为每个用户提供更大的数据流。 +*目标唤醒时间(TWT):* 这是 WiFi 6 特有的。它支持每台设备协商发送和接收的唤醒时间。它可以增加总体处于睡眠状态的时间,令电池寿命最大化。它还支持许多额外的网络选项,特别是对 IoT 设备的支持。 +*提升安全性:* 一切支持 WiFi 6 的设备都需要包含 WPA3 协议。它可以对未经验证的通信进行加密,针对暴力字典攻击提供强大的密码保护,以及对敏感信息进行 192 位的加密,提升数据的可靠性。 +*波束赋形:* 借助八根天线,波束赋形能提高传输速率,通信范围也因直接定向到某个客户端而扩大。它对快速移动的、可能面临多用户、多输入、多输出的设备起到了支撑作用。波束赋形也有利于控制那些蓄意发出干扰信号的天线的传输。然后信号会被重新定向到新的目标。 + +### 支持 WiFi 6的设备 + +到目前为止,路由器、中继器、网状网络和多数 WiFi 使用者还是以 WiFi 5 为标准。WiFi 6 是 2019 年推出的。一些支持 WiFi 5 的早期设备存在一些兼容性问题——它们可以使用 WiFi 6 的网络,但得不到相应的支持服务。 + +WiFi 6 的路由器是向后兼容的。应该确保网络已经为此做好了准备。 + +WiFi 6 实现了较低的电量消耗,在任何场景(包括 IoT)下,都是个不错的选择。它减少了不必要的数据流动,还会通知设备何时将数据激活或令其睡眠。所以不必要的数据流动减少了,性能和电池寿命也提高了。 + +Samsung Galaxy Note 10 和 Ruckus R750 是全球第一款经认证支持 WiFi 6 的智能手机和接入设备,Apple iPhone 最新款也紧随其后。WiFi 联盟建、确立了认证方案,正如人们预期的那样,等待入市的那些新款无线产品也开始申请认证了。下列设备已支持 WiFi 6: + +* iPhone 11 和之后的型号 +* Samsung Galaxy S10, S20, Note 10 和 Note 20 +* 配置 M1 处理器的苹果电脑 +* 智能电视 + +> 为了全面享受到 802.11ax 标准带来的改进,硬件和软件的功能都需要基于这种 WiFi 技术进行升级。 + +### 硬件测试 + +为了充分挖掘最新款设备的潜力,需要一台 WiFi 6 路由器来运行网络。几年前,这么做的成本很高,但现在我们有多种选项,甚至可以使用网格系统,游戏路由器,范围扩展器等等。只有在进行实际测试时,才可以购买最划算的设备。如今,在速度方面,TP-Link Archer AX6000 是最快的,它击败了所有的竞争者。这款路由器可以以 1523 Mbps 的速率无线传输数据,有效传输距离为 1.5米(5英尺)。 + +很重要的一点,请务必记住,这些路由器提速,并不是在变魔术。理论上的最大速率9.6 Gbps是实现不了的。这种理论上的最大速率,实际上也会被多台设备分摊掉。 + +WiFi 6 侧重于在连接设备密集的地方提供高质量的连接。它不会令单台设备的速率指数级增长,但会使相关的操作处于理想水平。 + +只有各大互联网服务提供商(ISP)的加速计划组合起来,加上 WiFi 6 路由器,才能体现它的真正潜力。真正的挑战是那些 ISP 承受的,因为它们需要铺设新型的光纤来利用这种下一代技术。存在一个重要的问题:当ISP 的通信速率变得更快,现有的硬件会变得多余吗? + +### WiFi 6 的应用 + +**大型公共场所(LPVs):** 体育馆和会议室是上千台设备同时联网的公共场所。WiFi 6 能改善参会者体验,增强消费者互动,还能提供附加服务,比如即时回放,订购餐食等。它还支持 LPV 业主开拓新的商业机会。 +**交通枢纽:** 公共交通站点也是人们需要同时联网的场所。OFDMA 和 BSS 这类明显具有 WiFi 6 色彩的技术为解决这种问题提供了必要的工具。 +**物联网和智慧城市建设:** WiFi 6 的效率令物联网设备可以进入休眠模式,并且可以以预定的间隔信号开启信号传送器,以便在无需过多维护的情况下增加现场作业时间。 +**教育机构:** 大学校园内的图书馆、礼堂和报告厅内的日间 WiFi 使用密度也是最高的,夜晚几乎没有人。WiFi 6 是这类场景的完美选项。 + +### 面临的挑战 + +WiFi 6 不一定使速度更快,但它能确保在一定范围内的设备速率不会在未来几年变慢。虽然它面临三重挑战,但这些问题常常被忽视。 +需要对不支持的设备进行升级:即使 Wifi 6 向后兼容,但只能在最大限度使用这种技术时才能做得合理。这意味着每次都要更新设备。 + +内部网络以外的速度和性能:WiFi 6 能为诸如云文件共享之类服务提供极好的连接性。然而,ISP 的相关资源也会影响速度和性能。 + +*覆盖范围问题:* 在各个国家,传输信号和带宽都是由法律规定上限的。因此,为了符合法律规定的上限,WiFi 6 的覆盖范围也是受限的。 + +尽管存在这些挑战,一些企业,像Aruba, Asus, AT&T, Boingo, Broadcom, 思科, Comcast, CommScope, Cypress, Extreme Networks, 英特尔, Netgear, Orange, Qualcomm, TP-Link 和小米,都在关注 WiFi 6 更多的可能性。 + +(LCTT 译注:选题删除了原文中的相关产品推荐部分。) + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/ + +作者:[Sharon Katta][a] +选题:[lkxed][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/sharon-katta/ +[b]: https://github.com/lkxed +[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6.jpg +[2]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6-1.jpg From 122ae9951b963a70e2b6c3a6b36c4baa1485f501 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Sun, 18 Dec 2022 19:52:18 +0800 Subject: [PATCH 787/925] Translating --- ...6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index 2858b33b75..29e1dbb48d 100644 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MjSeven" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3ab08c034f1c55d53016e2354ad2137e027f1a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 18 Dec 2022 23:18:12 +0800 Subject: [PATCH 788/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221218.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Us?= =?UTF-8?q?e=20my=20Groovy=20color=20wheel=20calculator.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Use my Groovy color wheel calculator.md | 384 ++++++++++++++++++ 1 file changed, 384 insertions(+) create mode 100644 sources/tech/20221218.0 ⭐️⭐️ Use my Groovy color wheel calculator.md diff --git a/sources/tech/20221218.0 ⭐️⭐️ Use my Groovy color wheel calculator.md b/sources/tech/20221218.0 ⭐️⭐️ Use my Groovy color wheel calculator.md new file mode 100644 index 0000000000..8b00c4240f --- /dev/null +++ b/sources/tech/20221218.0 ⭐️⭐️ Use my Groovy color wheel calculator.md @@ -0,0 +1,384 @@ +[#]: subject: "Use my Groovy color wheel calculator" +[#]: via: "https://opensource.com/article/22/12/groovy-color-wheel" +[#]: author: "Chris Hermansen https://opensource.com/users/clhermansen" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use my Groovy color wheel calculator +====== + +Every so often, I find myself needing to calculate complementary colors. For example, I might be making a line graph in a web app or bar graphs for a report. When this happens, I want to use complementary colors to have the maximum "visual difference" between the lines or bars. + +Online calculators can be useful in calculating two or maybe three complementary colors, but sometimes I need a lot more–for instance, maybe 10 or 15. + +Many online resources explain how to do this and offer formulas, but I think it's high time for a Groovy color calculator. So please follow along. First, you might need to install Java and Groovy. + +### Install Java and Groovy + +Groovy is based on Java and requires a Java installation as well. Both a recent/decent version of Java and Groovy might be in your Linux distribution's repositories. Or you can install Groovy by following the instructions on the above link. + +A nice alternative for Linux users is [SDKMan][1], which can get multiple versions of Java, Groovy, and many other related tools. For this article, I'm using SDK's releases of: + +- Java: version 11.0.12-open of OpenJDK 11 +- Groovy: version 3.0.8 + +### Using a color wheel + +Before you start coding, look at a real color wheel. If you open [GIMP (the GNU Image Manipulation Program)][2] and look on the upper left-hand part of the screen, you'll see the controls to set the foreground and background colors, circled in red on the image below: + +![Controls to set foreground and background colors][3] + +If you click on the upper left square (the foreground color), a window will open that looks like this: + +![Set foreground color][4] + +If it doesn't quite look like that, click on the fourth from the left button on the top left row, which looks like a circle with a triangle inscribed in it. + +The ring around the triangle represents a nearly continuous range of colors. In the image above, starting from the triangle pointer (the black line that interrupts the circle on the left), the colors shade from blue into cyan into green, yellow, orange, red, magenta, violet, and back to blue. This is the color wheel. If you pick two colors opposite each other on that wheel, you will have two complementary colors. If you choose 17 colors evenly spaced around that wheel, you'll have 17 colors that are as distinct as possible. + +Make sure you have selected the **HSV** button in the top right of the window, then look at the sliders marked H, S, and V, respectively. These are **h**ue, **s**aturation, and **v**alue. When choosing contrasting colors, the hue is the interesting parameter. + +Its value runs from zero to 360 degrees; in the image above, it's 192.9 degrees. + +You can use this color wheel to calculate the complementary color to another manually–just add 180 to your color's value, giving you 372.9. Next, subtract 360, leaving 17.9 degrees. Type that 17.9 into the **H** box, replacing the 192.9, and poof, you have its complementary color: + +![Change foreground color][5] + +If you inspect the text box labeled **HTML notation** you'll see that the color you started with was **#0080a3,** and its complement is **#a33100**. Look at the fields marked **Current** and **Old** to see the two colors complementing each other. + +There is a most excellent and detailed [article on Wikipedia explaining HSL (hue, saturation, and lightness) and HSV (hue, saturation, and value) color models][6] and how to convert between them and the RGB standard most of us know. + +I'll automate this in Groovy. Because you might want to use this in various ways, create a **Color** class that provides constructors to create an instance of Color and then several methods to query the color of the instance in HSV and RGB. + +Here's the **Color** class, with an explanation following: + +``` +     1  /** +     2   *  This class based on the color transformation calculations +     3   *  in https://en.wikipedia.org/wiki/HSL_and_HSV +     4   * +     5   *  Once an instance of Color is created, it can be transformed +     6   *  between RGB triplets and HSV triplets and converted to and +     7   *  from hex codes. +     8   */ +        +     9  public class Color { +        +    10      /** +    11       * May as well keep the color as both RGB and HSL triplets +    12       * Keep each component as double to avoid as many rounding +    13       * errors as possible. +    14       */ +        +    15      private final Map rgb // keys 'r','g','b'; values 0-1,0-1,0-1 double +    16      private final Map hsv // keys 'h','s','v'; values 0-360,0-1,0-1 double +        +    17      /** +    18       * If constructor provided a single int, treat it as a 24-bit RGB representation +    19       * Throw exception if not a reasonable unsigned 24 bit value +    20       */ +        +    21      public Color(int color) { +    22          if (color < 0 || color > 0xffffff) { +    23              throw new IllegalArgumentException('color value must be between 0x000000 and 0xffffff') +    24          } else { +    25              this.rgb = [r: ((color & 0xff0000) >> 16) / 255d, g: ((color & 0x00ff00) >> 8) / 255d, b: (color & 0x0000ff) / 255d] +    26              this.hsv = rgb2hsv(this.rgb) +    27          } +    28      } +        +    29      /** +    30       * If constructor provided a Map, treat it as: +    31       * - RGB if map keys are 'r','g','b' +    32       *   - Integer and in range 0-255 ⇒ scale +    33       *   - Double and in range 0-1 ⇒ use as is +    34       * - HSV if map keys are 'h','s','v' +    35       *   - Integer and in range 0-360,0-100,0-100 ⇒ scale +    36       *   - Double and in range 0-360,0-1,0-1 ⇒ use as is +    37       * Throw exception if not according to above +    38       */ +        +    39      public Color(Map triplet) { +    40          def keySet = triplet.keySet() +    41          def types = triplet.values().collect { it.class } +    42          if (keySet == ['r','g','b'] as Set) { +    43              def minV = triplet.min { it.value }.value +    44              def maxV = triplet.max { it.value }.value +    45              if (types == [Integer,Integer,Integer] && 0 <= minV && maxV <= 255) { +    46                  this.rgb = [r: triplet.r / 255d, g: triplet.g / 255d, b: triplet.b / 255d] +    47                  this.hsv = rgb2hsv(this.rgb) +    48              } else if (types == [Double,Double,Double] && 0d <= minV && maxV <= 1d) { +    49                  this.rgb = triplet +    50                  this.hsv = rgb2hsv(this.rgb) +    51              } else { +    52                  throw new IllegalArgumentException('rgb triplet must have integer values between (0,0,0) and (255,255,255) or double values between (0,0,0) and (1,1,1)') +    53              } +    54          } else if (keySet == ['h','s','v'] as Set) { +    55              if (types == [Integer,Integer,Integer] && 0 <= triplet.h && triplet.h <= 360 +    56              && 0 <= triplet.s && triplet.s <= 100 && 0 <= triplet.v && triplet.v <= 100) { +    57                  this.hsv = [h: triplet.h as Double, s: triplet.s / 100d, v: triplet.v / 100d] +    58                  this.rgb = hsv2rgb(this.hsv) +    59              } else if (types == [Double,Double,Double] && 0d <= triplet.h && triplet.h <= 360d +    60              && 0d <= triplet.s && triplet.s <= 1d && 0d <= triplet.v && triplet.v <= 1d) { +    61                  this.hsv = triplet +    62                  this.rgb = hsv2rgb(this.hsv) +    63              } else { +    64                  throw new IllegalArgumentException('hsv triplet must have integer values between (0,0,0) and (360,100,100) or double values between (0,0,0) and (360,1,1)') +    65              } +    66          } else { +    67              throw new IllegalArgumentException('triplet must be a map with keys r,g,b or h,s,v') +    68          } +    69      } +        +    70      /** +    71       * Get the color representation as a 24 bit integer which can be +    72       * rendered in hex in the familiar HTML form. +    73       */ +        +    74      public int getHex() { +    75          (Math.round(this.rgb.r * 255d) << 16) + +    76          (Math.round(this.rgb.g * 255d) << 8) + +    77          Math.round(this.rgb.b * 255d) +    78      } +        +    79      /** +    80       * Get the color representation as a map with keys r,g,b +    81       * and the corresponding double values in the range 0-1 +    82       */ +        +    83      public Map getRgb() { +    84          this.rgb +    85      } +        +    86      /** +    87       * Get the color representation as a map with keys r,g,b +    88       * and the corresponding int values in the range 0-255 +    89       */ +        +    90      public Map getRgbI() { +    91          this.rgb.collectEntries {k, v -> [(k): Math.round(v*255d)]} +    92      } +        +    93      /** +    94       * Get the color representation as a map with keys h,s,v +    95       * and the corresponding double values in the ranges 0-360,0-1,0-1 +    96       */ +        +    97      public Map getHsv() { +    98          this.hsv +    99      } +        +   100      /** +   101       * Get the color representation as a map with keys h,s,v +   102       * and the corresponding int values in the ranges 0-360,0-100,0-100 +   103       */ +        +   104      public Map getHsvI() { +   105          [h: Math.round(this.hsv.h), s: Math.round(this.hsv.s*100d), v: Math.round(this.hsv.v*100d)] +   106      } +        +   107      /** +   108       * Internal routine to convert an RGB triple to an HSV triple +   109       * Follows the Wikipedia section https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma +   110       * (almost) - note that the algorithm given there does not adjust H for G < B +   111       */ +        +   112      private static def rgb2hsv(Map rgbTriplet) { +   113          def max = rgbTriplet.max { it.value } +   114          def min = rgbTriplet.min { it.value } +   115          double c = max.value - min.value +   116          if (c) { +   117              double h +   118              switch (max.key) { +   119              case 'r': h = ((60d * (rgbTriplet.g - rgbTriplet.b) / c) + 360d) % 360d; break +   120              case 'g': h = ((60d * (rgbTriplet.b - rgbTriplet.r) / c) + 120d) % 360d; break +   121              case 'b': h = ((60d * (rgbTriplet.r - rgbTriplet.g) / c) + 240d) % 360d; break +   122              } +   123              double v = max.value // hexcone model +   124              double s = max.value ? c / max.value : 0d +   125              [h: h, s: s, v: v] +   126          } else { +   127              [h: 0d, s: 0d, v: 0d] +   128          } +   129      } +        +   130      /** +   131       * Internal routine to convert an HSV triple to an RGB triple +   132       * Follows the Wikipedia section https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB +   133       */ +        +   134      private static def hsv2rgb(Map hsvTriplet) { +   135          double c = hsvTriplet.v * hsvTriplet.s +   136          double hp = hsvTriplet.h / 60d +   137          double x = c * (1d - Math.abs(hp % 2d - 1d)) +   138          double m = hsvTriplet.v - c +   139          if (hp < 1d)      [r: c  + m, g: x  + m, b: 0d + m] +   140          else if (hp < 2d) [r: x  + m, g: c  + m, b: 0d + m] +   141          else if (hp < 3d) [r: 0d + m, g: c  + m, b: x  + m] +   142          else if (hp < 4d) [r: 0d + m, g: x  + m, b: c  + m] +   143          else if (hp < 5d) [r: x  + m, g: 0d + m, b: c  + m] +   144          else if (hp < 6d) [r: c  + m, g: 0d + m, b: x  + m] +   145      } +        +   146  } +``` + +The **Color** class definition, which begins on line 9 and ends on line 146, looks a lot like a Java class definition (at first glance, anyway) that would do the same thing. But this is Groovy, so you have no imports up at the beginning, just comments. Plus, the details illustrate some more Groovyness. + +Line 15 creates the private final variable **rgb** that contains the color value supplied to the class constructor. You'll keep this value as **Map** with keys `r`, `g`, and `b` to access the RGB values. Keep the values as double values between 0 and 1 so that 0 would indicate a hexadecimal value of **#00** or an integer value of 0 and 1 would mean a hexadecimal value of **#ff** or an integer value of 255. Use double to avoid accumulating rounding errors when converting inside the class. + +Similarly, line 16 creates the private final variable **hsv** that contains the same color value but in HSV format–also a **Map**, but with keys `h`, `s`, and `v` to access the HSV values, which will be kept as double values between 0 and 360 (hue) and 0 and 1 (saturation and value). + +Lines 21-28 define a **Color** constructor to be called when passing in an int argument. For example, you might use this as: + +``` +def blue = new Color(0x0000ff) +``` + +- On lines 22-23, check to make sure the argument passed to the constructor is in the allowable range for a 24-bit integer RGB constructor, and throw an exception if not. +- On line 25, initialize the **rgb** private variable as the desired RGB Map, using bit shifts and dividing each by a double value 255 to scale the numbers between 0 and 1. +- On line 26, convert the RGB triplet to HSV and assign it to the **hsv** private variable. + +Lines 39-69 define another **Color** constructor to be called when passing in either an RGB or HSV triple as a **Map**. You might use this as: + +``` +def green = new Color([r: 0, g: 255, b: 0]) +``` + +or + +``` +def cyan = new Color([h: 180, s: 100, v: 100]) +``` + +Or similarly with double values scaled between 0 and 1 instead of integers between 0 and 255 in the RGB case and between 0 and 360, 0 and 1, and 0 and 1 for hue, saturation, and value, respectively. + +This constructor looks complicated, and in a way, it is. It checks the **keySet()** of the map argument to decide whether it denotes an RGB or HSV tuple. It checks the class of the values passed in to determine whether the values are to be interpreted as integers or double values and, therefore, whether they are scaled into 0-1 (or 0-360 for hue). + +Arguments that can't be sorted out using this checking are deemed incorrect, and an exception is thrown. + +Worth noting is the handy streamlining provided by Groovy: + +``` +def types = triplet.values().collect { it.class } +``` + +This uses the **values()** method on the map to get the values as a **List** and then the **collect()** method on that **List** to get the class of each value so that they can later be checked against **[Integer,Integer,Integer]** or **[Double,Double,Double]** to ensure that arguments meet expectations. + +Here is another useful streamlining provided by Groovy: + +``` +def minV = triplet.min { it.value }.value +``` + +The **min()** method is defined on **Map**; it iterates over the **Map** and returns the **MapEntry**—a (key, value) pair—having the minimum value encountered. The **.value** on the end selects the value field from that **MapEntry**, which gives something to check against later to determine whether the values need to be normalized. + +Both rely on the Groovy Closure, similar to a Java lambda–a kind of anonymous procedure defined where it is called. For example, **collect()** takes a single **Closure** argument and passes it to each **MapEntry** encountered, known as the parameter within the closure body. Also, the various implementations of the Groovy Collection interface, including here **Map**, define the **collect()** and **min()** methods that iterate over the elements of the **Collection** and call the **Closure** argument. Finally, the syntax of Groovy supports compact and low-ceremony invocations of these various features. + +Lines 70-106 define five "getters" that return the color used to create the instance in one of five formats: + +- **getHex()** returns an int corresponding to a 24-bit HTML RGB color. +- **getRgb()** returns a **Map** with keys `r`, `g`, `b` and corresponding double values in the range 0-1. +- **getRgbI()** returns a **Map** with keys `r`, `g`, `b` and corresponding int values in the range 0-255. +- **getHsv()** returns a **Map** with keys `h`, `s`, `v` and corresponding double values in the range 0-360, 0-1 and 0-1, respectively. +- **getHsvI()** returns a **Map** with keys `h`, `s`, `v` and corresponding int values in the range 0-360, 0-100 and 0-100, respectively. + +Lines 112-129 define a static private (internal) method **rgb2hsv()** that converts an RGB triplet to an HSV triplet. This follows the algorithm described in the Wikipedia article [section on Hue and chroma][7], except that the algorithm there yields negative hue values when the green value is less than the blue value, so the version is modified slightly. This code isn't particularly Groovy other than using the **max()** and **min()****Map** methods and returning a **Map** instance declaratively without a return statement. + +This method is used by the two getter methods to return the **Color** instance value in the correct form. Since it doesn't refer to any instance fields, it is static. + +Similarly, lines 134-145 define another private (internal) method **hsv2rgb()**, that converts an HSV triplet to an RGB triplet, following the algorithm described in the Wikipedia article [section on HSV to RGB conversion][8]. The constructor uses this method to convert HSV triple arguments into RGB triples. Since it doesn't refer to any instance fields, it is static. + +That's it. Here's an example of how to use this class: + +``` +     1  def favBlue = new Color(0x0080a3) +        +     2  def favBlueRgb = favBlue.rgb +     3  def favBlueHsv = favBlue.hsv +        +     4  println "favBlue hex = ${sprintf('0x%06x',favBlue.hex)}" +     5  println "favBlue rgbt = ${favBlue.rgb}" +     6  println "favBlue hsvt = ${favBlue.hsv}" +        +     7  int spokeCount = 8 +     8  double dd = 360d / spokeCount +     9  double d = favBlue.hsv.h +    10  for (int spoke = 0; spoke < spokeCount; spoke++) { +    11      def color = new Color(h: d, s: favBlue.hsv.s, v: favBlue.hsv.v) +    12      println "spoke $spoke $d° hsv ${color.hsv}" +    13      println "    hex ${sprintf('0x%06x',color.hex)} hsvI ${color.hsvI} rgbI ${color.rgbI}" +    14      d = (d + dd) % 360d +    15  } +``` + +As my starting value, I've chosen the lighter blue from the [opensource.com][9] header **#0080a3**, and I'm printing a set of seven more colors that give maximum separation from the original blue. I call each position going around the color wheel a spoke and compute its position in degrees in the variable **d**, which is incremented each time through the loop by the number of degrees **dd** between each spoke. + +As long as `Color.groovy` and this test script are in the same directory, you can compile and run them as follows: + +``` +$ groovy test1Color.groovy +favBlue hex = 0x0080a3 +favBlue rgbt = [r:0.0, g:0.5019607843137255, b:0.6392156862745098] +favBlue hsvt = [h:192.88343558282207, s:1.0, v:0.6392156862745098] +spoke 0 192.88343558282207° hsv [h:192.88343558282207, s:1.0, v:0.6392156862745098] +    hex 0x0080a3 hsvI [h:193, s:100, v:64] rgbI [r:0, g:128, b:163] +spoke 1 237.88343558282207° hsv [h:237.88343558282207, s:1.0, v:0.6392156862745098] +    hex 0x0006a3 hsvI [h:238, s:100, v:64] rgbI [r:0, g:6, b:163] +spoke 2 282.8834355828221° hsv [h:282.8834355828221, s:1.0, v:0.6392156862745098] +    hex 0x7500a3 hsvI [h:283, s:100, v:64] rgbI [r:117, g:0, b:163] +spoke 3 327.8834355828221° hsv [h:327.8834355828221, s:1.0, v:0.6392156862745098] +    hex 0xa30057 hsvI [h:328, s:100, v:64] rgbI [r:163, g:0, b:87] +spoke 4 12.883435582822074° hsv [h:12.883435582822074, s:1.0, v:0.6392156862745098] +    hex 0xa32300 hsvI [h:13, s:100, v:64] rgbI [r:163, g:35, b:0] +spoke 5 57.883435582822074° hsv [h:57.883435582822074, s:1.0, v:0.6392156862745098] +    hex 0xa39d00 hsvI [h:58, s:100, v:64] rgbI [r:163, g:157, b:0] +spoke 6 102.88343558282207° hsv [h:102.88343558282207, s:1.0, v:0.6392156862745098] +    hex 0x2fa300 hsvI [h:103, s:100, v:64] rgbI [r:47, g:163, b:0] +spoke 7 147.88343558282207° hsv [h:147.88343558282207, s:1.0, v:0.6392156862745098] +    hex 0x00a34c hsvI [h:148, s:100, v:64] rgbI [r:0, g:163, b:76] +``` + +You can see the degree position of the spokes reflected in the HSV triple. I've also printed the hex RGB value and the int version of the RGB and HSV triples. + +I could have built this in Java. Had I done so, I probably would have created separate **RgbTriple** and **HsvTriple** helper classes because Java doesn't provide the declarative syntax for **Map**. That would have made finding the min and max values more verbose. So, as usual, the Java would have been more lengthy without improving readability. There would have been three constructors, though, which might be a more straightforward proposition. + +I could have used 0-1 for the hue as I did for saturation and value, but somehow I like 0-360 better. + +Finally, I could have added–and I may still do so one day–other conversions, such as HSL. + +### Wrap up + +Color wheels are useful in many situations and building one in Groovy is a great exercise to learn both how the wheel works and the, well, grooviness of Groovy. Take your time; the code above is long. However, you can build your own practical color calculator and learn a lot along the way. + +#### Groovy resources + +The Apache Groovy language site provides [a good tutorial-level overview][10] of working with Collection, particularly Map classes. This documentation is quite concise and easy to follow, at least partly because the facility it is documenting has been designed to be itself concise and easy to use! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/groovy-color-wheel + +作者:[Chris Hermansen][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/clhermansen +[b]: https://github.com/lkxed +[1]: https://sdkman.io/ +[2]: https://www.gimp.org/ +[3]: https://opensource.com/sites/default/files/2022-12/1controls.png +[4]: https://opensource.com/sites/default/files/2022-12/2foregroundcolor.png +[5]: https://opensource.com/sites/default/files/2022-12/3changeforegroundcolor_0.png +[6]: https://en.wikipedia.org/wiki/HSL_and_HSV +[7]: https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma +[8]: https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB +[9]: https://opensource.com/ +[10]: https://groovy-lang.org/databases.html + From 919954f94f57c00b5c3f98ceae4af2e6a776ba33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sun, 18 Dec 2022 23:18:44 +0800 Subject: [PATCH 789/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221218.1=20=E2=AD=90=EF=B8=8F=20Try=20this=20Python-?= =?UTF-8?q?based=20file=20manager=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Try this Python-based file manager on Linux.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md diff --git a/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md new file mode 100644 index 0000000000..e68b102a96 --- /dev/null +++ b/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md @@ -0,0 +1,108 @@ +[#]: subject: "Try this Python-based file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Try this Python-based file manager on Linux +====== + +Dragonfly Navigator is a general-purpose file manager written in Python and Qt. It's easy to install, easy to use, and a great example of what Python can do. + +Python is a popular language for several reasons, but I think one of its primary strengths is that it's equally useful to beginner-level programmers and to experienced coders. There's something exciting about a language you can take from [drawing basic geometric shapes][1] to [scraping the web][2] to programming a zombie apocalypse [video game][3], or writing desktop applications you can use every day. And that's what Dragonfly Navigator is: a desktop utility that everyone can use. + +### Installing Dragonfly Navigator + +To install Dragonfly Navigator, first download the source code from its [Git repository][4]. If you're on Debian Linux or similar, download the `.deb` file. If you're using Fedora, CentOS, Mageia, OpenMandriva, or similar, then download the `.tar.gz` file. + +Dragonfly Navigator has a few dependencies. Because you aren't installing it through your package manager, it's up to you to resolve those. There are just two, so use your package manager (`dnf` or `apt`) to find and install them: + +- PyQt5, also called `python-qt5` +- Python PIL, also called `pillow` + +### Launching Dragonfly Navigator + +To launch Dragonfly Navigator, either install the `.deb` file (on Debian-based systems) or unarchive the `.tar.gz` file: + +``` +$ tar xvf dragonfly*gz +``` + +On Debian-based systems, Dragonfly Navigator appears in your application menu. ON other systems, you must launch it manually unless you [manually install it][5]. + +For now, I'm not installing it, so I launch it manually: + +``` +$ cd dragonfly +$ ./dragonfly +``` + +![Dragonfly Navigator is a two-panel file manager][6] + +### Dual pane + +Dragonfly Navigator is a two-panel file manager, meaning that it's always showing you two directories. At launch, both directories happen to be your home directory. You can browse through files and folders in either panel. They function exactly the same, and it only matters which panel you're "in" when you start copying or moving files. + +### Open a directory + +To open a directory, double-click it. By default, the directory opens in that same pane. If you want to utilize the two-panel layout, though, hold down the **Ctrl** key as you double-click to display its contents in the other panel. + +### Open a file + +To open a file, double-click or right-click on it. + +Yes, you can right-click a file to open it. That takes some getting used to, if you're used to a right-click bringing up a contextual menu. There is no contextual menu in Dragonfly Navigator, though, and you might be surprised at how much time you feel like you're saving yourself when you reduce the very common action of opening a file to just one click. It may seem silly now, but trust me you'll grow to cherish it. + +### Quick preview + +Some files are available for a quick preview so you don't have to open them in any particular application. To preview a file, hover your mouse over it and press the **Alt** key on your keyboard. A preview appears in the opposite panel. + +![The second panel of Dragonfly Navigator can be used as a preview pane.][7] + +### Copying and moving files + +To copy or move a file from one directory to another (or a directory to a directory), there are a few steps. + +- In one panel, navigate to the destination directory. This is the location you want to copy a file _to_. +- In the other panel, select the file you want to copy. +- Click the **Copy** button in the middle strip of Dragonfly Navigator. + +For moving a file, follow the same steps but click the **Move** button instead. + +If you're not used to a dual-panel file manager, this feels unfamiliar at first. But if you think about it, there are several steps required to copy a file in your usual file manager (find the file, open another window, drag-and-drop, and so on.) After you do it a few times, it becomes second nature. + +### Selecting files + +Normally, you click a file or folder to make it your active selection. That's probably no different than your current file manager, or at least to some file manager you've used in the past. + +To select multiple items in a range, click one file, and then hold the **Shift** key and click another file. All items between the two files you clicked are also selected. + +To select multiple arbitrary files, hold the **Ctrl** key and click on the files you want selected. + +### The power of Qt and Python + +The Qt toolkit is a powerful programming utility, and Python is capable of creating great applications with it. I've only covered the basics of Dragonfly Navigator in this article, so download it, read the docs, click around, explore it, and maybe you'll have found a fun new file manager. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/17/10/python-101#turtle +[2]: https://opensource.com/article/20/5/web-scraping-python +[3]: https://opensource.com/downloads/python-gaming-ebook +[4]: https://github.com/suncore/dflynav/releases +[5]: https://opensource.com/article/18/1/how-install-apps-linux +[6]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator.webp +[7]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator-preview.webp From 2b4955e3253e1270c369be6543c7e614418fd59a Mon Sep 17 00:00:00 2001 From: CanYellow Date: Mon, 19 Dec 2022 08:24:21 +0800 Subject: [PATCH 790/925] Forth Translation Request --- ...210103 How open principles will impact the future of work.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210103 How open principles will impact the future of work.md b/sources/tech/20210103 How open principles will impact the future of work.md index 9217b08384..c7ecf68511 100644 --- a/sources/tech/20210103 How open principles will impact the future of work.md +++ b/sources/tech/20210103 How open principles will impact the future of work.md @@ -1,5 +1,5 @@ [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (CanYellow) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From f6b365089bc9028a7a59978662951463673d4328 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 19 Dec 2022 08:36:23 +0800 Subject: [PATCH 791/925] translated --- ...your Linux PC with the PCManFM file manager.md | 78 ------------------- ...your Linux PC with the PCManFM file manager.md | 78 +++++++++++++++++++ 2 files changed, 78 insertions(+), 78 deletions(-) delete mode 100644 sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md create mode 100644 translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md diff --git a/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md deleted file mode 100644 index f97b3107bb..0000000000 --- a/sources/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md +++ /dev/null @@ -1,78 +0,0 @@ -[#]: subject: "Simplify your Linux PC with the PCManFM file manager" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-pcmanfm" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Simplify your Linux PC with the PCManFM file manager -====== - -The PCMan File Manager, or PCManFM for short, is a fast and lightweight file manager that's full of features. It was developed for the [LXDE][1] desktop environment, but is a stand-alone application and can be used with the desktop or window manager of your choice. - -### Install PCManFM - -On Linux, you can probably find PCManFM in your software repository. For instance, on Fedora, Mageia, and similar: - -``` -$ sudo dnf install pcmanfm -``` - -On Debian, Elementary, and similar: - -``` -$ sudo apt install pcmanfm -``` - -![Image of the PCMan file manager.][2] - -PCManFM doesn't have to replace your desktop's file manager, but some distributions assume that when you install a "third party" file manager, you want it to take precedence over the default. Depending on the desktop you're using, there are different ways of setting your default file manager. Usually, it's in **System Settings** under **Default Applications**. - -If your desktop environment or window manager has no interface to select your default applications, you can set your preference in the `~/.local/share/applications/mimeapps.list` file. To designate a file manager as default, place it at the top of the `[Default Applications]` section, first specifying the file type and then the name of the application file (as it appears in `/usr/share/applications`) you want to use to open it: - -``` -inode/directory=myfilemanager.desktop; -``` - -### PCManFM - -If you're a fan of GNOME 2 or the Mate project's [Caja file manager][3], then PCManFM is a great alternative to consider. PCManFM is a lot like Caja in design, but it's not bound to the desktop in the way Caja is, so it's available even on the latest GNOME desktop. - -The default layout of PCManFM has a helpful toolbar near the top of the window, a side panel providing quick access to common directories and drives, and a status bar with details about your current selection. You can hide or show any of these elements using the **View** menu. - -### Tabs and panels - -PCManFM also uses tabs. If you've never used a tabbed file manager before, then think of a web browser and how it uses tabs to let you open multiple web pages in just one window. PCManFM can similarly open several directories in the same window. - -To transfer a file or folder from one tab to another, just drag the file's icon to the tab and hover. After a nominal delay, PCManFM brings the target tab to the front so you can continue your drag-and-drop operation. It takes some getting used to if you're not used to interacting with tabs in a file manager, but it doesn't take long, and it's a very powerful feature for decluttering your workspace. - -Another nice feature of the PCManFM interface is its ability to split a window into two panels. Each panel is effectively a tab, but each one only takes up half of the window. - -![Image of dual panels in PCMan.png][4] - -This makes dragging from one to the other just as easy and natural as dragging a file into a folder. I find it useful for comparing the contents of folders, too. - -### File management with PCMan - -PCManFM is a great little file manager with all the basic features you need on an everyday basis. It's a natural replacement for a file manager you might find too complicated, as well as a great option on [old computers][5] that might struggle with a file manager that's constantly drawing thumbnails and refreshing and generating animations. PCMan focuses on the core task of a file manager: managing files. Try it out on your Linux PC. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-pcmanfm - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/19/12/lxqt-lxde-linux-desktop -[2]: https://opensource.com/sites/default/files/2022-10/pcmanfilemanager.png -[3]: https://opensource.com/article/22/12/linux-file-manager-caja -[4]: https://opensource.com/sites/default/files/2022-10/%E2%80%8BDual.panel_.in%20PCManFM.png -[5]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity diff --git a/translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md new file mode 100644 index 0000000000..760c9511e0 --- /dev/null +++ b/translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md @@ -0,0 +1,78 @@ +[#]: subject: "Simplify your Linux PC with the PCManFM file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-pcmanfm" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 PCManFM 文件管理器简化你的 Linux PC +====== + +PCMan 文件管理器,或简称 PCManFM,是一个功能齐全的快速轻量级文件管理器。它是为 [LXDE][1] 桌面环境开发的,但它是一个独立的应用,可以与你选择的桌面或窗口管理器一起使用。 + +### 安装 PCManFM + +在 Linux 上,你可能可以在软件仓库中找到 PCManFM。例如,在 Fedora、Mageia 和类似软件上: + +``` +$ sudo dnf install pcmanfm +``` + +在 Debian、Elementary 和类似系统上: + +``` +$ sudo apt install pcmanfm +``` + +![Image of the PCMan file manager.][2] + +PCManFM 不必替换你的桌面文件管理器,但某些发行版假定当你安装“第三方”文件管理器时,你希望它优先于默认设置。根据你使用的桌面,有不同的方法来设置默认文件管理器。通常,它位于**默认应用**下的**系统设置**中。 + +如果你的桌面环境或窗口管理器没有选择默认应用的界面,你可以在 `~/.local/share/applications/mimeapps.list` 文件中设置你的首选项。要将文件管理器指定为默认,请将其放在 `[Default Applications]` 部分的顶部,首先指定文件类型,然后指定你像用于打开的应用文件的名称(在 `/usr/share/applications` 下): + +``` +inode/directory=myfilemanager.desktop; +``` + +### PCManFM + +如果您是 GNOME 2 或 Mate 项目的 [Caja 文件管理器][3]的粉丝,那么 PCManFM 是一个不错的选择。PCManFM 在设计上很像 Caja,但它不像 Caja 那样绑定到桌面,所以它甚至可以在最新的 GNOME 桌面上使用。 + +PCManFM 的默认布局在窗口顶部附近有一个有用的工具栏,一个提供对常用目录和驱动器的快速访问的侧面板,以及一个包含有关你当前选择的详细信息的状态栏。你可以使用**视图**菜单隐藏或显示这些元素中的任何一个。 + +### 选项卡和面板 + +PCManFM 也使用选项卡。如果你以前从未使用过选项卡式文件管理器,那么想想 Web 浏览器以及它如何使用选项卡让你在一个窗口中打开多个网页。PCManFM 可以类似地在同一窗口中打开多个目录。 + +要将文件或文件夹从一个选项卡传输到另一个选项卡,只需将文件的图标拖动到选项卡并悬停即可。少许延迟后,PCManFM 将目标选项卡置于最前面,以便你可以继续进行拖放操作。如果你不习惯与文件管理器中的选项卡进行交互,则需要一些时间来适应,但这不会花很长时间,而且它是整理工作区的一项非常强大的功能。 + +PCManFM 界面的另一个不错的功能是它能够将一个窗口分成两个面板。每个面板实际上都是一个选项卡,但每个面板只占窗口的一半。 + +![Image of dual panels in PCMan.png][4] + +这使得从一个面板拖到另一个面板就像将文件拖到文件夹中一样简单自然。我发现它对于比较文件夹的内容也很有用。 + +### 使用 PCMan 进行文件管理 + +PCManFM 是一款很棒的小型文件管理器,具有你日常所需的所有基本功能。它是你可能会觉得过于复杂的文件管理器的自然替代品,也是[旧计算机][5]上的一个很好的选择,这些电脑可能对不断绘制缩略图、刷新和生成动画的文件管理器感到挣扎。PCMan 专注于文件管理器的核心任务:管理文件。在你的 Linux 电脑上试试吧。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-pcmanfm + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/lxqt-lxde-linux-desktop +[2]: https://opensource.com/sites/default/files/2022-10/pcmanfilemanager.png +[3]: https://opensource.com/article/22/12/linux-file-manager-caja +[4]: https://opensource.com/sites/default/files/2022-10/%E2%80%8BDual.panel_.in%20PCManFM.png +[5]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity From 2fb704182e0dfce1a9c823f1d37ec3599600981f Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 19 Dec 2022 08:42:04 +0800 Subject: [PATCH 792/925] translating --- ...Beautiful Cross-Platform Music Player With Essential Features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md index 9b02d56dcc..ddb9a321c0 100644 --- a/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md +++ b/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/harmonoid/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ea1ff36bc791891e2ea4cdcccd195bb2940ad049 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 19 Dec 2022 09:26:13 +0800 Subject: [PATCH 793/925] P @geekpi https://linux.cn/article-15361-1.html --- ....2 ⭐️ How to Access UEFI Settings in Linux Systems.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) rename {translated/tech => published}/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md (95%) diff --git a/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/published/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md similarity index 95% rename from translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md rename to published/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md index b18ba3bf7f..e1dadbc783 100644 --- a/translated/tech/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md +++ b/published/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md @@ -4,12 +4,14 @@ [#]: collector: "lkxed" [#]: translator: "geekpi" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15361-1.html" 如何在 Linux 系统中访问 UEFI 设置 ====== +![][0] + 想要在固件级别检查启动顺序或电源设置? **你可以在系统启动时按 `F2`、`F10` 或 `Del` 按键访问 UEFI 设置**。 这种方法的问题是你可能不知道确切的键,并且必须警惕在正确的时间按下这些键。 @@ -109,7 +111,7 @@ via: https://itsfoss.com/access-uefi-from-linux/ [a]: https://itsfoss.com/author/sagar/ [b]: https://github.com/lkxed -[1a]: https://external-preview.redd.it/dxmsKYDmzgfb1thu3EFI8Ni-DNfprNX8W8xDtff4QWU.gif?format=mp4&s=c31204644ac6a2a348133986714ff97cf3c4a48a +[1a]: https://img.linux.net.cn/data/attachment/album/202212/19/092256nkeoyuou6h3ykud6.gif [1]: https://itsfoss.com/what-is-grub/ [2]: https://itsfoss.com/wp-content/uploads/2022/12/uefi-firmware-settings-grub-linux.webp [3]: https://itsfoss.com/check-uefi-or-bios/ @@ -120,3 +122,4 @@ via: https://itsfoss.com/access-uefi-from-linux/ [8]: https://itsfoss.com/wp-content/uploads/2022/12/create-a-desktop-shortcut-to-boot-into-uefi-settings.png [9]: https://linuxhandbook.com/nano-save-exit/ [10]: https://itsfoss.com/wp-content/uploads/2022/12/boot-into-uefi-firmware-from-system-menu.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/19/092450oi0c0c7cp4ng2nem.jpg \ No newline at end of file From e550733f7b923ed02b2d491dbe24dfe70697e940 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 19 Dec 2022 09:39:23 +0800 Subject: [PATCH 794/925] P @chai001125 https://linux.cn/article-15362-1.html --- ...8.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) rename {translated/tech => published}/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md (97%) diff --git a/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/published/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md similarity index 97% rename from translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md rename to published/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md index 8073fbf1c6..d864f7db50 100644 --- a/translated/tech/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md +++ b/published/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md @@ -3,13 +3,15 @@ [#]: author: "Alexandra https://opensource.com/users/ahajkova" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15362-1.html" GDB 的 7 个单步调试命令 ====== +![][0] + > 即使是复杂的函数,也有几种方法可以单步调试,所以下次在排除代码故障时,可以尝试一下这些 GDB 技术。 **调试器** 是一个可以运行你的代码并检查问题的软件。[GNU Debugger][1](GBD)是最流行的调试器之一,在这篇文章中,我研究了 GDB 的 `step` 命令和其他几种常见情况的相关命令。`step` 是一个被广泛使用的命令,但它有一些人们不太了解的地方,可能会使得他们十分困惑。此外,还有一些方法可以**在不使用 `step` 命令的情况下进入一个函数**,比如使用不太知名的 `advance` 命令。 @@ -257,3 +259,4 @@ via: https://opensource.com/article/22/12/gdb-step-command [a]: https://opensource.com/users/ahajkova [b]: https://github.com/lkxed [1]: https://opensource.com/article/21/3/debug-code-gdb +[0]: https://img.linux.net.cn/data/attachment/album/202212/19/093831nrjrmozx1mixmgii.jpg \ No newline at end of file From 5cd21731c167c06dc4ef4617a2c495bf1487aeb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 19 Dec 2022 18:31:14 +0800 Subject: [PATCH 795/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221219.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Us?= =?UTF-8?q?e=20Rexx=20for=20scripting=20in=202023.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...9.0 ⭐️⭐️ Use Rexx for scripting in 2023.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 sources/tech/20221219.0 ⭐️⭐️ Use Rexx for scripting in 2023.md diff --git a/sources/tech/20221219.0 ⭐️⭐️ Use Rexx for scripting in 2023.md b/sources/tech/20221219.0 ⭐️⭐️ Use Rexx for scripting in 2023.md new file mode 100644 index 0000000000..6ede79a4bf --- /dev/null +++ b/sources/tech/20221219.0 ⭐️⭐️ Use Rexx for scripting in 2023.md @@ -0,0 +1,169 @@ +[#]: subject: "Use Rexx for scripting in 2023" +[#]: via: "https://opensource.com/article/22/12/rexx-scripting" +[#]: author: "Howard Fosdick https://opensource.com/users/howtech" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use Rexx for scripting in 2023 +====== + +In a [previous article][1], I showed how the Rexx scripting language is both powerful and easy to use. It uses specific techniques to reconcile these two goals that are often considered in conflict. + +This article walks you through two example Rexx scripts so you can get a feel for the language. Rexx purports to be highly capable yet easy to work with. + +### An example of a Rexx script + +The [LISP programming language][2] is famous for its overuse of parentheses. It can be a real challenge for programmers to ensure they're all matched up correctly. + +This short script reads a line of LISP code from the user and determines whether the parentheses in the input are properly matched. If the parentheses aren't properly balanced, the program displays a syntax error. + +Below are three sample interactions with the program. In the first, the LISP code I entered was correctly typed. But the next two contain mismatched parentheses that the Rexx script identifies: + +``` +Enter a line to analyze: +(SECOND (LAMBDA (LIS) (FIRST (CDR LIS)) )) +Parentheses are balanced + +Enter a line to analyze: +((EQSTR (CAR LIS1) (CAR LIS2)) +Syntax error: too many left parens, not balanced + +Enter a line to analyze: +(EQSTR (CAR LIS1) CAR LIS2)) +Syntax error: right paren before or without left paren +``` + +Here's the Rexx program: + +``` +counter = 0 /* counts parentheses */ + +say 'Enter a line to analyze:' /* prompts user for input */ +pull input_string /* reads line of user input */ + +length_of_string = length(input_string) + +/* process each character of the input line, one at a time */ + +do j = 1 to length_of_string while counter >= 0 + + character = substr(input_string,j,1) + if character = '(' then counter = counter + 1 + if character = ')' then counter = counter - 1 + +end + +/* display the appropriate message to the user */ + +if counter = 0 then + say 'Parentheses are balanced' +else if counter < 0 then + say 'Syntax error: right paren before or without left paren' +else + say 'Syntax error: too many left parens, not balanced' +``` + +First, the program prompts the user to enter a line of input with the `say` instruction. Then it reads it with a `pull` instruction. + +`The say` and `pull`  instructions are used for conversational input/output, or direct interaction with users. Rexx also supports character-oriented and line- or record- oriented I/O. + +Next, the script uses the `length` function to place the length of the input line into the variable `length_of_string`. + +The `do` loop processes each character from the input line, one at a time. It increments the `counter` each time it encounters a left parenthesis, and decrements it each time it recognizes a right parenthesis. + +If the `counter` ends up as zero after processing the entire input line, the program knows that any parentheses in the input line match up correctly. If the `counter` is not 0 after processing, the input line has mismatched parentheses. + +The final `if` statements display the proper message to the user. One could code these `if` statements in any number of styles, as per individual preference. (The main requirement is that whenever multiple statements are coded within a branch, they must be enclosed in a `do...end` group.) + +This program shows that Rexx is free-form and case-insensitive. It does not rely on reserved words, so you're free to use common words like `counter` or `character` to represent variables. + +The one key requirement Rexx does impose is that any function must immediately be followed by a left parenthesis. Examples in the program are the `length` and `substr` functions. Put a space between a function name and its following parenthesis, and Rexx won't recognize the function. + +Outside of a few minimal requirements like these, Rexx requires very little from the programmer in terms of syntax, special characters, or restrictive coding rules. + +Rexx programs look and read like pseudo-code. This makes them relatively easy to read and work with. + +### A real-world example of a Rexx script + +Here's a program from the real world: + +Les Koehler, a Rexx user, had a legacy accounting program that matched accounting records on hand against those that a vendor sent to him daily. The legacy program ran for several hours every day to process 25,000 records. It employed a sequential "walk the list" technique to match one set of records against the other. + +Les replaced the legacy program with a Rexx script. The Rexx script performs matching by using associative arrays: + +``` +/* Create an associative array reflecting */ +/* the values in the first list of names */ +/* by Les Koehler */ + +flag. = 0 /* Create array, set all items to 0 */ +do a = 1 to list_a.0 /* Process all existing records */ + aa = strip(list_a.a) /* Strip preceding/trailing blanks */ + flag.aa = 1 /* Mark each record with a 1 */ +end + +/* Try to match names in the second list */ +/* against those in the associative array */ + +m = 0 /* M counts number of missing names */ +do b = 1 to list_b.0 /* Look for matching name from LIST_B */ + bb = strip(list_b.b) /* Put LIST_B name into variable BB */ + if \ flag.bb then do /* If name isn't in FLAG array */ + m = m+1 /* add 1 to count of missing names */ + missing.m = bb /* add missing name to MISSING array */ + end +end + +missing.0 = m /* Save the count of unmatched names */ +``` + +Les was able to reduce processing time from several hours down to a matter of seconds. + +The first line of code (`flag. = 0`) creates a new array called `flag` and initializes every element in that array to `0`. + +The array `list_a` contains all the existing accounting records. Its first element (`list_a.0`) by convention contains the number of elements in the array. + +So the first `do` loop processes all elements in the array of existing records (`list_a`) and marks each of them as existing in the `flag` array. The statement `flag.aa = 1` marks the content-addressable item in the `flag` array as present. + +The second `do` loop peddles through each item in the set of new records, contained in the array called `list_b`. + +The `if` statement checks whether an item from the second array of records is marked present in the `flag` array. If not, the program increments the number of items present in the new list of accounting records that do not exist in the old list of records. And it puts the missing item into the `missing` array: `missing.m = bb`. + +The final statement (`missing.0 = m`) simply updates the number of items in the `missing` array, by convention stored in array position 0. + +### Rexx improvements + +Why is this Rexx program so fast compared to the legacy code it replaces? First, the associative arrays allow direct lookup of a new record against the old records. Direct access is much faster than the sequential "walk-the-list" technique it replaced. + +Secondly, all the array elements reside in memory. Once the files of the old and new accounting records have been initialized into the Rexx arrays, no further disk I/O is needed. Disk I/O is always orders of magnitude slower than memory access. + +A Rexx array expands as much as memory allows. This script takes advantage of modern computers with seemingly endless amounts of RAM, and frees the programmer from managing memory. + +### Conclusion + +I hope these two simple programs have shown how easy Rexx is to read, write, and maintain. Rexx is designed to put the burden of programming on the machine instead of the programmer. Yet the language still has plenty of power, due to the design techniques I've described in this series of articles. + +For free Rexx downloads, tools, tutorials, and more, visit [RexxInfo.org][3]. You can join the [Rexx Language Association][4] for free. + +_This article is dedicated to the memory of Les Koehler, who was active with Rexx and the Rexx community since their very earliest days._ + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/rexx-scripting + +作者:[Howard Fosdick][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/howtech +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/rexx-scripting-language +[2]: https://opensource.com/article/21/5/learn-lisp +[3]: http://www.RexxInfo.org +[4]: http://www.RexxLA.org From 158232818de9b5ad0ec95a65edf6aa31681bb96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 19 Dec 2022 18:32:44 +0800 Subject: [PATCH 796/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221219.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20I=20use=20my=20old=20camera=20as=20a=20webcam=20with=20Linu?= =?UTF-8?q?x.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How I use my old camera as a webcam with Linux.md | 260 ++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 sources/tech/20221219.1 ⭐️⭐️ How I use my old camera as a webcam with Linux.md diff --git a/sources/tech/20221219.1 ⭐️⭐️ How I use my old camera as a webcam with Linux.md b/sources/tech/20221219.1 ⭐️⭐️ How I use my old camera as a webcam with Linux.md new file mode 100644 index 0000000000..51a20186e9 --- /dev/null +++ b/sources/tech/20221219.1 ⭐️⭐️ How I use my old camera as a webcam with Linux.md @@ -0,0 +1,260 @@ +[#]: subject: "How I use my old camera as a webcam with Linux" +[#]: via: "https://opensource.com/article/22/12/old-camera-webcam-linux" +[#]: author: "Tom Oliver https://opensource.com/users/tomoliver" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How I use my old camera as a webcam with Linux +====== + +This year after largely abandoning my MacBook in favor of a NixOS machine, I started getting requests to "turn my camera on" when video calling people. This was a problem because I didn't have a webcam. I thought about buying one, but then I realized I had a perfectly good Canon EOS Rebel XS DSLR from 2008 lying around on my shelf. This camera has a mini-USB port, so naturally, I pondered: Did a DSLR, mini-USB port, and a desktop PC mean I could have a webcam? + +There's just one problem. My Canon EOS Rebel XS isn't capable of recording video. It can take some nice pictures, but that's about it. So that's the end of that. + +Or is it? + +There happens to be some amazing open source software called [gphoto2][1]. Once installed, it allows you to control various supported cameras from your computer and it takes photos and videos. + +### Supported cameras + +First, find out whether yours is supported: + +``` +$ gphoto2 --list-cameras +``` + +### Capture an image + +You can take a picture with it: + +``` +$ gphoto2 --capture-image-and-download +``` + +The shutter activates, and the image is saved to your current working directory. + +### Capture video + +I sensed the potential here, so despite the aforementioned lack of video functionality on my camera, I decided to try `gphoto2 --capture-movie`. Somehow, although my camera does not support video natively, gphoto2 still manages to spit out an MJPEG file! + +On my camera, I need to put it in "live-view" mode before gphoto2 records video. This consists of setting the camera to portrait mode and then pressing the **Set** button so that the viewfinder is off and the camera screen displays an image. Unfortunately, though, this isn't enough to be able to use it as a webcam. It still needs to get assigned a video device, such as `/dev/video0`. + +### Install ffmpeg and v4l2loopback + +Not surprisingly, there's an open source solution to this problem. First, use your package manager to install `gphoto2`, `ffmpeg`, and `mpv`. For example, on Fedora, CentOS, Mageia, and similar: + +``` +$ sudo dnf install gphoto2 ffmpeg mpv +``` + +On Debian, Linux Mint, and similar: + +``` +$ sudo apt install gphoto2 ffmpeg mpv +``` + +I use NixOS, so here's my configuration: + +``` +# configuration.nix +... +environment.systemPackages = with pkgs; [ +  ffmpeg +  gphoto2 +  mpv +... +``` + +Creating a virtual video device requires the `v4l2loopback` Linux kernel module. At the time of this writing, that capability is not included in the mainline kernel, so you must download and compile it yourself: + +``` +$ git clone https://github.com/umlaeute/v4l2loopback +$ cd v4l2loopback +$ make +$ sudo make install +$ sudo depmod -a +``` + +If you're using NixOS like me, you can just add the extra module package in `configuration.nix`: + +``` +[...] +boot.extraModulePackages = with config.boot.kernelPackages; +[ v4l2loopback.out ]; +boot.kernelModules = [ +  "v4l2loopback" +]; +boot.extraModprobeConfig = '' +  options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" +''; +[...] +``` + +On NixOS, run `sudo nixos-rebuild switch` and then reboot. + +### Create a video device + +Assuming your computer currently has no `/dev/video` device, you can create one on demand thanks to the `v4l2loopback`. + +Run this command to send data from `gphoto2` to `ffmpeg`, using a device such as `/dev/video0` device: + +``` +$ gphoto2 --stdout --capture-movie | + ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0 +``` + +You get output like this: + +``` +ffmpeg version 4.4.1 Copyright (c) 2000-2021 the FFmpeg developers +  built with gcc 11.3.0 (GCC) +  configuration: --disable-static ... +  libavutil      56. 70.100 / 56. 70.100 +  libavcodec     58.134.100 / 58.134.100 +  libavformat    58. 76.100 / 58. 76.100 +  libavdevice    58. 13.100 / 58. 13.100 +  libavfilter     7.110.100 /  7.110.100 +  libavresample   4.  0.  0 /  4.  0.  0 +  libswscale      5.  9.100 /  5.  9.100 +  libswresample   3.  9.100 /  3.  9.100 +  libpostproc    55.  9.100 / 55.  9.100 +Capturing preview frames as movie to 'stdout'. Press Ctrl-C to abort.[mjpeg @ 0x1dd0380] Format mjpeg detected only with low score of 25, misdetection possible! +Input #0, mjpeg, from 'pipe:': +  Duration: N/A, bitrate: N/A +  Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 768x512 ... +Stream mapping: +  Stream #0:0 -> #0:0 (mjpeg (native) -> rawvideo (native))[swscaler @ 0x1e27340] deprecated pixel format used, make sure you did set range correctly +Output #0, video4linux2,v4l2, to '/dev/video0': +  Metadata: +    encoder         : Lavf58.76.100 +  Stream #0:0: Video: rawvideo (I420 / 0x30323449) ... +    Metadata: +      encoder         : Lavc58.134.100 rawvideoframe=  289 fps= 23 q=-0.0 size=N/A time=00:00:11.56 bitrate=N/A speed=0.907x +``` + +To see the video feed from your webcam, use `mpv`: + +``` +$ mpv av://v4l2:/dev/video0 --profile=low-latency --untimed +``` + +![Streaming a live feed from the webcam][2] + +### Start your webcam automatically + +It's a bit annoying to execute a command every time you want to use your webcam. Luckily, you can run this command automatically at startup. I implement it as a `systemd` service: + +``` +# configuration.nix +... +  systemd.services.webcam = { +    enable = true; +    script = '' +      ${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie | +        ${pkgs.ffmpeg}/bin/ffmpeg -i - \ +            -vcodec rawvideo -pix_fmt yuv420p -f v4l2  /dev/video0 +    ''; +wantedBy = [ "multi-user.target" ]; +  }; +... +``` + +On NixOS, run `sudo nixos-rebuild switch` and then reboot your computer. Your webcam is on and active. + +To check for any problems, you can use `systemctl status webcam`. This tells you the last time the service was run and provides a log of its previous output. It's useful for debugging. + +### Iterating to make it better + +It's tempting to stop here. However, considering the current global crises, it may be pertinent to wonder whether it's necessary to have a webcam on all the time. It strikes me as sub-optimal for two reasons: + +- It's a waste of electricity. +- There are privacy concerns associated with this kind of thing. + +My camera has a lens cap, so to be honest, the second point doesn't really bother me. I can always put the lens cap on when I'm not using the webcam. However, leaving a big power-hungry DSLR camera on all day (not to mention the CPU overhead required for decoding the video) isn't doing anything for my electricity bill. + +The ideal scenario: + +- I leave my camera plugged in to my computer all the time but switched off. +- When I want to use the webcam, I switch on the camera with its power button. +- My computer detects the camera and starts the systemd service. +- After finishing with the webcam, I switch it off again. + +To achieve this, you need to use a custom [udev rule][3]. + +A udev rule tells your computer to perform a certain task when it discovers that a device has become available. This could be an external hard drive or even a non-USB device. In this case, you need it to [recognize the camera through its USB connection][4]. + +First, specify what command to run when the udev rule is triggered. You can do that as a shell script (`systemctl restart webcam` should work). I run NixOS, so I just create a derivation (a Nix package) that restarts the systemd service: + +``` +# start-webcam.nix +with import { }; +writeShellScriptBin "start-webcam" '' +  systemctl restart webcam +  # debugging example +  # echo "hello" &> /home/tom/myfile.txt +  # If myfile.txt gets created then we know the udev rule has triggered properly'' +``` + +Next, actually define the udev rule. Find the device and vendor ID of the camera. Do this by using the `lsusb` command. That command is likely already installed on your distribution, but I don't use it often, so I just install it as needed using `nix-shell`: + +``` +$ nix-shell -p usbutils +``` + +Whether you already have it on your computer or you've just installed it, run `lsusb`: + +``` +$ lsusb +Bus 002 Device 008: ID 04a9:317b Canon, Inc. Canon Digital Camera[...] +``` + +In this output, the vendor ID is 04a9 and the device ID is 317b. That's enough to create the udev rule: + +``` +ACTION=="add", SUBSYSTEM=="usb", +ATTR{idVendor}=="04a9", +ATTR{idProduct}=="317b", +RUN+="/usr/local/bin/start-webcam.sh" +``` + +Alternatively, if you're using NixOS: + +``` +# configuration.nix[...]let +  startWebcam = import ./start-webcam.nix;[...] +services.udev.extraRules = '' +  ACTION=="add",  \ +  SUBSYSTEM=="usb", \ +  ATTR{idVendor}=="04a9", \ +  ATTR{idProduct}=="317b",  \ +  RUN+="${startWebcam}/bin/start-webcam"'';[...] +``` + +Finally, remove the **wantedBy = ["multi-user.target"];** line in your `start-webcam` systemd service. (If you leave it, then the service starts automatically when you next reboot, whether the camera is switched on or not.) + +### Reuse old technology + +I hope this article has made you think twice before chucking some of your old tech. Linux can breathe life back into technology, whether it's your [computer][5] or something simple like a digital camera or some other peripheral. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/old-camera-webcam-linux + +作者:[Tom Oliver][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/tomoliver +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/7/gphoto2-linux +[2]: https://opensource.com/sites/default/files/2022-12/streaming-webcam.png +[3]: https://opensource.com/article/18/11/udev +[4]: https://opensource.com/article/22/1/cameras-usb-ports-obs +[5]: https://opensource.com/article/22/4/how-linux-saves-earth + From 09280994a2ccc586af3854360351c95b1c86fb7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Mon, 19 Dec 2022 18:36:34 +0800 Subject: [PATCH 797/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221219.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Di?= =?UTF-8?q?scover=20the=20power=20of=20the=20Linux=20SpaceFM=20file=20mana?= =?UTF-8?q?ger.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ver the power of the Linux SpaceFM file manager.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 sources/tech/20221219.2 ⭐️⭐️ Discover the power of the Linux SpaceFM file manager.md diff --git a/sources/tech/20221219.2 ⭐️⭐️ Discover the power of the Linux SpaceFM file manager.md b/sources/tech/20221219.2 ⭐️⭐️ Discover the power of the Linux SpaceFM file manager.md new file mode 100644 index 0000000000..d12b5b3c11 --- /dev/null +++ b/sources/tech/20221219.2 ⭐️⭐️ Discover the power of the Linux SpaceFM file manager.md @@ -0,0 +1,93 @@ +[#]: subject: "Discover the power of the Linux SpaceFM file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-spacefm" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Discover the power of the Linux SpaceFM file manager +====== + +SpaceFM is a tabbed file manager for Linux using the GTK toolkit, so it fits right in on desktops like [GNOME][1], [Mate][2], [Cinnamon][3], and others. SpaceFM also features a built-in device manager system, so it's particularly good for window managers, like [Fluxbox][4] or [fvwm][5], which typically don't include a graphical device manager. If you're happy with the file managers on Linux, but you want to try one that's a little bit different in design, SpaceFM is worth a look. + +### Install SpaceFM + +On Linux, you're likely to find **SpaceFM** in your distribution's software repository. On Fedora, Mageia, OpenMandriva, and similar: + +``` +$ sudo dnf install spacefm +``` + +On Debian and Debian-based systems: + +``` +$ sudo apt install spacefm +``` + +### Panels + +I don't know why SpaceFM is called SpaceFM, but it could be because it makes a concerted effort to let you use every bit of space in its window for something useful. By default, SpaceFM is actually pretty simple, standard-issue file manager. It has a single panel listing your files, a toolbar, and a menu bar. + +![SpaceFM is typical in design. At first.][6] + +All the "usual" rules apply. + +- **Double-click** to open a directory or to open a file in its default application. +- **Right-click** for a contextual menu providing lots of standard options (copy, paste, rename, view properties, create a new folder, and so on). + +The way SpaceFM sets itself apart, though, is its panel system. SpaceFM displays one panel by default. That's the big file window listing your files. But it can have up to four panel views, plus a few bonus panels for some specific tasks. + +### Opening a new panel + +Instead of seeing one directory in your file manager, you can see two. To bring up another directory in its own pane, press **Ctrl+2** or go to the **View** menu and select **Panel 2**. Alternatively, click the second green dot icon from the left in the menu panel. + +With two panels, you can move files from one directory to another without opening a new file manager window, or you can browse two directories to compare their contents. + +But why settle for two panels? Maybe you'd rather see _three_ directories at once. To bring up a third directory in a dedicated pane, press **Ctrl+3** or go to the **View** menu and select **Panel 3**. Alternatively, click the third green dot icon from the left in the menu panel. This panel appears at the bottom of the SpaceFM window. + +With three panels open, you can move files between several directories, or sort files from a common "dumping ground" (like your Desktop or Downloads folder) into specific directories. + +Of course, once you've tried three panels you'll probably find yourself itching for a fourth. To open a fourth directory in its own pane, press **Ctrl+4** or go to the **View** menu and select **Panel 4**. Alternatively, click the fourth green dot icon from the left in the menu panel. This one opens next to Panel 3, splitting your SpaceFM window into even quarters. + +![SpaceFM can have up to four panels.][7] + +What about a _fifth_ panel? Well, actually SpaceFM stops at four panels. If you really do want a fifth panel, you have to open a new SpaceFM window. However, there are still more panels, used for information other than file listings, to explore. + +### Special panels + +The **View** menu reveals that in addition to file panels, there are additionally task-specific panels you can choose to display. This includes: + +- **Task manager**: Lists ongoing file manager processes. This isn't a general-purpose task manager, so to set nice values or detect a zombie apocalypse of undead PIDs, [htop or top][8] is still your utility of choice. +- **Bookmarks**: Links to common folders, such as Desktop, Documents, Downloads, and any location you want to keep handy. +- **Devices**: USB thumb drives and remote file systems. +- **File tree**: A view of your file system in order of directory inheritance. + +These panels open on the left side of SpaceFM, but they do stack. You can have bookmarks, devices, tasks, and a file tree open at once, although it helps to have a very tall SpaceFM window. + +### Make space for SpaceFM + +SpaceFM is a configurable multi-tasking file manager. It maximizes the information you can build into a single window, and it lets you decide what's important, and when. This article has focused on the panels of SpaceFM because those are, at least in my view, the most unique aspect of the application. However, there's a lot more to SpaceFM, including plugins, preferences, a design mode, keyboard shortcuts, and customization. This isn't a small application, even though it is a lightweight one. Spend some time with SpaceFM, because you never know what you'll discover. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-spacefm + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/19/12/gnome-linux-desktop +[2]: https://opensource.com/article/19/12/mate-linux-desktop +[3]: https://opensource.com/article/19/12/cinnamon-linux-desktop +[4]: https://opensource.com/article/19/12/fluxbox-linux-desktop +[5]: https://opensource.com/article/19/12/fvwm-linux-desktop +[6]: https://opensource.com/sites/default/files/2022-10/spacefm.webp +[7]: https://opensource.com/sites/default/files/2022-10/spacefm-panels.webp +[8]: https://opensource.com/life/16/2/open-source-tools-system-monitoring From 6c1b4f6a7cd68d5f86f55c5820bb4831c16a9026 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Mon, 19 Dec 2022 21:53:45 +0800 Subject: [PATCH 798/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How To Securely Transfer Files With SCP In Linux.md | 537 ----------------- ... How To Securely Transfer Files With SCP In Linux.md | 539 ++++++++++++++++++ 2 files changed, 539 insertions(+), 537 deletions(-) delete mode 100644 sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md create mode 100644 translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md diff --git a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md deleted file mode 100644 index 29e1dbb48d..0000000000 --- a/sources/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ /dev/null @@ -1,537 +0,0 @@ -[#]: subject: "How To Securely Transfer Files With SCP In Linux" -[#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" -[#]: author: "sk https://ostechnix.com/author/sk/" -[#]: collector: "lkxed" -[#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How To Securely Transfer Files With SCP In Linux -====== - -File transfer over a network can be done in various ways and using different protocols. The most commonly used protocols for **copying files remotely** are **Rsync**, **SCP** and **SFTP**. In this guide, we will look at **what is SCP** and how to **securely transfer files between local and remote computers with SCP** in Linux and Unix-like operating systems. - -### What is SCP? - -SCP, stands for **Secure Copy**, is a command line program to copy files and directories between a local and a remote system or between two remote systems in a secure way in Linux and Unix-like operating systems. - -Using `scp` command, you can securely copy a file or a directory, - -- from your local system to a remote system, -- from a remote system to your local system, -- between remote systems from your local system. - -When transferring data with the scp command, the files and directories are both encrypted. So even if your network is compromised, the perpetrators can't get any meaningful data. - -SCP is a component of the openSSH program and it uses the SSH protocol to securely transfer files. OpenSSH comes pre-installed with almost all modern Linux and Unix distributions, so don't bother installing it. - -#### A word of caution: - -According to the **official announcement** from the openSSH developers, - -> The **scp protocol is outdated**, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead. -> -> Link - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] - -However, the majority of the users still prefer SCP over other protocols. Because, SCP handles remote-to-remote file transfers more efficiently than its counterparts such as SFTP and Rsync. - -And also, SCP works exactly like `cp` command, while `rsync` changes its behavior based on whether the source directory has a **trailing slash** or not. Take a look at the following commands: - -- `rsync source destination/` - would copy the source into the destination folder. -- `rsync source/ destination/` - would copy the contents of the source folder into the destination folder. - -So you must always double check if you've put the trailing slash in the path. - -I personally use **[Rsync][2]** for copying large size files between two hosts and SCP for copying single files over a network. - -### SCP Command Syntax - -The general syntax for SCP command is given below: - -``` -scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target -``` - -Depending upon the file transfer path, the syntax will differ. Here I have included some example syntax format. - -Copy a file from your local system to a remote system: - -``` -scp SourceFile User@RemoteHost:RemotePath -``` - -Similarly, to copy a directory from your local system to a remote system, use `-r` flag: - -``` -scp -r SourceDirectory User@RemoteHost:RemotePath -``` - -Copy multiple files to a remote system: - -``` -scp SourceFile1 SourceFile2 User@RemoteHost:RemotePath -``` - -Copy a file from remote system to your local system: - -``` -scp User@RemoteHost:RemoteFilePath DestinationFile -``` - -Copy a directory from remote system to local system: - -``` -scp -r User@RemoteHost:RemoteDirectoryPath DestinationDirectory -``` - -Copy a file from one remote system to another remote system from your local system: - -``` -scp User@RemoteHost1:RemoteFile1 User@RemoteHost2:RemotePath -``` - -Please note that when you copy files between two remote systems, the traffic will not pass through the local system. The operation takes place directly between two remote systems. You can, however, pass the traffic from the system on which you run scp command using `-3` option. - -Copy a directory from one remote system to another remote system from your local system: - -``` -scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath -``` - -### SCP Command Options - -The most commonly used options of SCP command are: - -- **`-C`** : Enable compression. Here, C stands for Compression. When you use this option, the data transfer speed will be faster, because the data is compressed. SCP will automatically enable the compression at the source system and decompression at the destination system. -- **`-c `** : c stands for cipher. By default, SCP uses **'AES-128'** encryption method for encrypting data. You can change the encryption method using `-c` option. -- **`-i `** : i stands for Identity file or Private key. As you already know, there are password-based and key-based authentication used in SSH. If you want to use key-based authentication while transferring files, you can use the -i option to specify the Identity file or Private key. -- **`-l limit`** : l stands for limit bandwidth. Using this option, you can set the maximum bandwidth used for transferring data. The limit should be specified in **`Kbit/s`**. -- **`-F `** : Some times, you may need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `-F` option. -- **`-P port`** - P stands for Port. Please note that it is uppercase P. By default, SSH uses port number 22. You might have changed the port number in the destination host for security reasons. In that case, you should explicitly mention the new port number using `-P` option. -- **`-p`** : if you want to preserve modification times, access times, and modes from the original file, you need to use -p option while copying files. Please note that it is lowercase p. -- **`-r`** : Recursively copy entire directories. -- **`-B`** : B stands for batch mode. It is used for selecting batch mode while transferring files. It prevents asking for passwords or passphrases. -- **`-S program`** : Name of the program to use for the encrypted connection. -- **`-v`** : v stands for verbose. When using the `-v` option, the command will print the progress in your Terminal screen. So, you will see the what exactly is going on when the files are being transferred. It is useful in debugging connection, authentication, and configuration problems. - -SCP has so many options. You can check the man pages of SCP command to learn about other options. Let us see some **useful scp command examples**. - -### Important Notes to Remember before You Begin - -- The `scp` command relies on `ssh` for secure file transfer. So you must have either a **ssh key** or **password** to authenticate to the remote systems. -- To be able to transfer files, you must have **read permission on the source files** and **write permission on the destination** location. -- The `scp` command will not check the destination location before writing. Any files in the destination with the same name will be **overwritten without notification**. -- To be able to distinguish between local and remote locations, use a **colon** (**`:`**). -- When transferring large files, it is recommended to start the task inside a **[Screen][3]** or **[Tmux][4]** session. - -### Transfer Files With SCP in Linux - -As I already mentioned, we can use `scp` command to copy a file or a directory from a local system to a remote system and vice versa and copy files and folders between one remote computer to another remote computer. - -#### 1 Copy Files with SCP from Local System to Remote System - -To copy a file from a local system to a remote system using `scp` command, run: - -``` -$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -**Sample Output:** - -``` -ostechnix@192.168.1.40's password: -File1.txt 100% 104 814.0KB/s 00:00 -``` - -Let us break down the above command and see what each option does. - -- `**File1.txt**` - The source file to be copied to the destination. -- `**ostechnix**` - The username of the remote system. -- `**192.168.1.40**` - The IP address of the remote system. -- `**/home/ostechnix/**` - The destination directory in the remote system. This is the absolute path where we want to transfer the source file i.e. `File.txt`. - -You can also copy the file and rename it as well. The following command transfers the **`File1.txt`** to the destination and saves the file with different name **`myfile.txt`**. - -``` -$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/myfile.txt -``` - -![Copy Files From Local System To Remote System][5] - -Copy Files from Local System to Remote System - -#### 2. Copy Multiple Files with SCP from Local System to Remote System - -To transfer multiple files from a local system to a remote system with `scp` command, run: - -``` -$ scp File1.txt File2.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -**Sample Output:** - -``` -ostechnix@192.168.1.40's password: -File1.txt 100% 104 689.4KB/s 00:00 -File2.txt 100% 496 6.3MB/s 00:00 -``` - -![Copy Multiple Files from Local System to Remote System][6] - -Copy Multiple Files from Local System to Remote System - -Here, - -- `**File1.txt**` and **`File2.txt`** - The name of the sources that will be copied to the specified destination. -- `**ostechnix@192.168.1.40**` - The username and IP address of the remote system. -- `**/home/ostechnix**` - The destination path where we want to put the copied files. - -If the files have same extension, you can use the following alternative commands to achieve the same goal. - -``` -$ scp {File1,File2}.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -Or, - -``` -$ scp *.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 3. Recursively Copy Directories with SCP from Local System to Remote System - -To recursively copy an entire directory including the sub-directories and its contents from your local system to a remote system, use **`-r`** flag like below. - -``` -$ scp -r Documents/ ostechnix@192.168.1.40:/home/ostechnix/ -``` - -![Copy a Directory from Local System to Remote System][7] - -Copy a Directory from Local System to Remote System - -The above command will copy the entire directory **'`Documents`'** including its contents to the destination system. - -Here, - -- **`-r`** : Copy files and directories recursively including the sub-directories and its contents. -- **`Documents`** : The name of the source directory that we want to copy to the destination. -- `**ostechnix@192.168.1.40**` : The username and IP address of the remote system. -- `**/home/ostechnix**` : The destination path where we want to put the copied directory. - -#### 4. Transfer Files with SCP from Remote System to Local System - -Remember we copied `FIle1.txt` to the remote system from our local system. Let us copy it back to the local system. - -To copy a file from a remote system to your local system with `scp`, run: - -``` -$ scp ostechnix@192.168.1.40:/home/ostechnix/File1.txt Downloads/ -``` - -Here, - -- `**ostechnix@192.168.1.40**` : The username and IP address of the remote system. -- **`/home/ostechnix/File.txt`** : The absolute path of file that we want to copy to the local system. -- **`Downloads`** - The location where to save the copied file. - -![Transfer Files from Remote System to Local System][8] - -Transfer Files from Remote System to Local System - -#### 5. Transfer Multiple Files using SCP from Remote System to Local System - -To copy multiple files from a remote system to your local system, mention the absolute path of the files that you want to copy **within the curly braces** as shown below. - -``` -$ scp ostechnix@192.168.1.40:/home/ostechnix/\{File1.txt,File2.txt\} Downloads/ -``` - -![Transfer Multiple Files from Remote System to Local System][9] - -Transfer Multiple Files from Remote System to Local System - -The above command will copy the `File1.txt` and `File2.txt` from the `/home/ostechnix/` directory of the remote system to the `Downloads` directory of the local system. - -Please note that there is **no spaces after the commas within the curly braces**. - -#### 6. Recursively Copy Directories from Remote System to Local System - -To copy an entire directory including the sub-directories and its contents recursively from a remote computer to your local system using `scp`, use **`-r`** flag. - -``` -$ scp -r ostechnix@192.168.1.40:/home/ostechnix/Documents Downloads/ -``` - -The above command will copy the entire **`Documents`** from the remote system to the **`Downloads`** directory in your local system. - -#### 7. Copy Files using SCP between Two Remote Computers - -To copy files directly from one remote system to another remote system with `scp`, run: - -``` -$ scp senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ -``` - -You will be asked to enter the password of the both remote systems. - -Here, - -- **`senthil@192.168.1.40`** - The username and IP address of the remote system from the file is currently located. -- **`/home/senthil/File1.txt`** - The name the file1 that is being copied and its location. -- `**kumar@192.168.1.20**` - The username and IP address of the remote system where we want to copy the file. -- **`/home/kumar`** - The location where to save the copied file on the remote system. - -The above command will copy the `/home/senthil/File1.txt` from the remote host `192.168.1.40` to `/home/kumar/` directory on the remote host `192.168.1.20`. - -In this method, the data will be transferred directly from one remote system to another remote system. If you want to route the traffic through the machine on which the command is run, use `**-3**` flag like below. - -``` -$ scp -3 senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ -``` - -#### 8. Enable Compression while Copying Files with SCP - -So far we have transferred files without compressing them. Now we will enable compression while transferring files using **`-C`** flag. - -``` -$ scp -C File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -The `-C` flag will enable compression of data at the source and automatically decompress the data at destination side. - -By enabling compression, you can increase the file copy or transfer speed significantly. - -#### 9. Limit Bandwidth while Transferring Files using SCP - -We can limit the bandwidth while copying files with SCP using `-l` flag. Please note that the maximum bandwidth is specified in Kbits/s. 1 byte=8 bits. So if you want to limit bandwidth to 200 KB/s, the value for `-l` would be **1600** (200*8). - -``` -$ scp -l 1600 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -This is useful when transferring large files to prevent SCP from throttling the bandwidth. - -#### 10. Use Different Port while Copying Files using SCP - -As a system admin, you might **[have changed the default port of your SSH protocol][10]** on the remote servers for security reasons. In such cases, you can specify the port number with `-P` flag when transferring files. Please note that this is **uppercase P**. - -``` -$ scp -P 2022 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 11. Use Different Cipher while Copying Files with SCP - -By default, SCP uses **'`AES-128`'** for encrypting files. If you want to use different cipher, use **`-c`** flag followed by the cipher name. - -For example, if you want to use **'`3des-cbc`'** cipher, the command would be like below: - -``` -$ scp -c 3des-cbc File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -To view the list of supported ciphers, run: - -``` -$ ssh -Q cipher localhost | paste -d, -s - -``` - -**Sample Output:** - -``` -3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com -``` - -#### 12. Copying Files with SCP in Verbose Mode - -if you want to know what's going on behind the scenes while copying files with scp, you can use `**-v**` flag. When transferring files with SCP in Verbose mode, the step by step process of the SCP command execution will be displayed in the terminal. This comes in handy when troubleshooting times. - -``` -$ scp -v File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -You will see a whole lot of output when sending files in Verbose mode as shown in the following output. - -![Copying Files with SCP in Verbose Mode][11] - -Copying Files with SCP in Verbose Mode - -#### 13. Transferring Files with SCP in Quiet Mode - -We can transfer files in quiet mode with **`-q`** flag. When sharing files in quiet mode, it will not show the copy progress, warning or diagnostic message in the output. - -``` -$ scp -q File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 14. Preserve File Attributes when Transferring Files with SCP - -To preserve file attributes such as file modification times, access times, and modes when copying files with SCP, use **`-p`** flag. Please note that this is **lowercase p**. - -``` -$ scp -p File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 15. Use Identity File when Copying Files with SCP - -SSH supports both password-based and key-based authentication. Key-based authentication is most widely used authentication method in Linux environments. - -If you want to use key-based authentication while transferring files, use the **`-i`** option to specify the Identity file or Private key. - -``` -$ scp -i my_private_key.pem File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 16. Use Different ssh_config File when Transferring Files with SCP - -There are situations where you need to use different networks to connect to your Linux systems. Or you may be behind a proxy server. In such situations, you can use different `ssh_config` file using `**-F**` option. - -``` -$ scp -F /home/ostechnix/my_ssh_config File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -#### 17. Copy files with SCP using IPv4 or IPv6 - -We can force SCP to only use IPv4 or IPv6 addresses when copying files. This can be achieved by adding **`-4`** for IPv4 networks and **`-6`** for IPv6 networks. - -``` -$ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ -``` - -### Frequently Asked Questions - -#### Question 1: What is SCP? - -**Answer:** SCP is a command line program to securely transfer files and directories from a local system to a remote system and vice versa, or between two remote systems directly. - -#### Question 2: How to copy a file from the local computer to remote computer using SCP? - -To copy a file from your local system to a remote system, the command would be: - -``` -scp SourceFile.txt User@RemoteHost:/some/remote/directory -``` - -#### Question 3: How to copy recursively copy files and directories? - -To recursively copy a directory including the sub-directories, use `-r` flag. - -``` -scp -r /some/local/directory User@RemoteHost:/some/remote/directory -``` - -#### Question 4: Can I transfer multiple files using SCP? - -Yes, you can. Just mention the source file names with space separated. - -Copy multiple files from local to remote: - -``` -scp file1.txt file2.txt file3.txt User@RemoteHost:/some/remote/directory -scp {file1,file2,file3}.txt User@RemoteHost:/some/remote/directory -scp *.txt User@RemoteHost:/some/remote/directory -``` - -Copy multiple files from remote to local: - -``` -scp User@RemoteHost:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} /some/local/directory -``` - -Copy multiple files from remote to remote: - -``` -$ scp User@RemoteHost1:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} User@RemoteHost2:/some/remote/directory/ -``` - -#### Question 5: How to transfer all files in a directory? - -To transfer all files in a directory, switch to that directory: - -``` -cd dir_name -``` - -``` -scp *.txt User@RemoteHost:/some/remote/directory -``` - -#### Question 6: Can I compress files? - -Yes, you can. Use **`-C`** to compress files. The files are compressed at source and decompress at destination automatically. - -``` -scp -C /some/large/file User@RemoteHost:/some/remote/directory -``` - -#### Question 7: Can I preserve file attributes? - -To preserve file attributes such as modification times, access times, and modes from the original file, use `-p` flag. - -``` -scp -p file.txt User@RemoteHost:/some/remote/directory -``` - -#### Question 8: Can I use different port? - -Yes. SCP allows you to use different port with `-P` flag. - -``` -scp -P 2022 file.txt User@RemoteHost:/some/remote/directory -``` - -#### Question 9: Can I use different cipher? - -Yes, you can. Use -c flag to use different cipher. - -``` -scp -c 3des-cbc User@RemoteHost:/some/remote/directory -``` - -#### Question 10: How do I list the supported ciphers by SSH? - -To view the list of supported ciphers by SSH and SCP, use the following command - -``` -ssh -Q cipher localhost | paste -d, -s - -``` - -#### Question 11: Is SCP really secure? - -Yes, it is completely secure to use. SCP uses the same SSH mechanism used by openSSH. The data in transit is encrypted at the source side and decrypted at destination. - -#### Question 12: Can I transfer files from a Windows system to a Linux system? - -Yes, you can. Use either **PSCP** program to transfer files from windows platform to Linux platform. You can also use **WinSCP**. - -### Conclusion - -In this comprehensive guide, we learned what is SCP, and how to **securely transfer files with SCP** in Linux. We provided **17 SCP command examples**. We also looked at the commonly asked questions about SCP. - -Whether you're a Linux Admin, or a Developer or a Regular user, you will have to copy files to and from a remote system at some point. Knowing how to **use SCP to securely copy files** will be definitely useful. - --------------------------------------------------------------------------------- - -via: https://ostechnix.com/securely-transfer-files-with-scp-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://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html -[2]: https://ostechnix.com/linux-rsync-command-examples-for-beginners/ -[3]: https://ostechnix.com/screen-command-examples-to-manage-multiple-terminal-sessions/ -[4]: https://ostechnix.com/tmux-command-examples-to-manage-multiple-terminal-sessions/ -[5]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Files-from-Local-System-to-Remote-System.png -[6]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Multiple-Files-from-Local-System-to-Remote-System.png -[7]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Directory-from-Local-System-to-Remote-System.png -[8]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Files-from-Remote-System-to-Local-System.png -[9]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Multiple-Files-from-Remote-System-to-Local-System.png -[10]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ -[11]: https://ostechnix.com/wp-content/uploads/2022/11/Copying-Files-with-SCP-in-Verbose-Mode.png diff --git a/translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md new file mode 100644 index 0000000000..b450a31ef7 --- /dev/null +++ b/translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -0,0 +1,539 @@ +[#]: subject: "How To Securely Transfer Files With SCP In Linux" +[#]: via: "https://ostechnix.com/securely-transfer-files-with-scp-in-linux/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: "MjSeven" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中使用 SCP 安全地传输文件 +====== + +在网络上文件传输可以通过各种不同的方式和协议来完成。**远程复制文件**最常用的协议是 **Rsync**、**SCP** 和 **SFTP**。在本文中,我们将了解**什么是 SCP** 以及如何在 Linux 和类 Unix 操作系统中**使用 SCP 在本地和远程计算机之间安全地传输文件**。 + +### 什么是 SCP? + +SCP,代表**安全复制**,它是一个命令行程序,在 Linux 和类 Unix 操作系统中以安全的方式在本地和远程系统之间,或在两个远程系统之间复制文件和目录。 + +使用 `scp` 命令,你可以安全地复制文件或目录: + +- 从本地到远程系统 +- 从远程系统到本地 +- 在两个远程系统之间 + +使用 scp 命令传输数据时,文件和目录都是加密的。因此,即使网络被破坏,犯罪者也无法获得任何有意义的数据。 + +SCP 是 openSSH 程序的一个组件,它使用 SSH 协议安全地传输文件。几乎所有现代 Linux 和 Unix 发行版都预装了 OpenSSH,所以不必费心安装它。 + +#### 提醒一句: + +根据 openSSH 开发人员的**官方公告**: + +> **scp 协议已经过时了**,它不灵活且不易修复。我们建议使用更现代的协议,如 sftp 和 rsync 来代替。 +> +> 参考 - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] + +但是,大多数用户仍然更喜欢 SCP 协议。因为,SCP 处理远程文件传输比同行 SFTP 和 Rsync 更快。 + +另外,SCP 的工作原理与 `cp` 命令完全相同,而 `rsync` 则会判断源目录是否有**结尾斜杠**而出现不同的行为。看一看下面的命令: + +- `rsync source destination/` - 将 source 目录复制到 destination 文件夹内。 +- `rsync source/ destination/` - 将 source 目录的内容复制到 destination 文件夹中。 + +所以,你必须反复检查是否在路径中添加了斜杠。 + +我个人使用 **[Rsync][2]** 在两台主机之间复制大文件,使用 SCP 在网络上复制单个文件。 + +### SCP 命令语法 + +SCP 的通用语法如下: + +```bash +scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target +``` + +根据文件传输路径的不同,语法也会有所不同。这里我罗列了一些语法格式示例。 + +从本地复制一个文件到远程系统: + +``` +scp SourceFile User@RemoteHost:RemotePath +``` + +类似的,从本地系统复制一个目录到远程系统,使用 `-r` 参数: + +``` +scp -r SourceDirectory User@RemoteHost:RemotePath +``` + +复制多个文件到远程系统: + +``` +scp SourceFile1 SourceFile2 User@RemoteHost:RemotePath +``` + +远程系统复制文件到本地: + +``` +scp User@RemoteHost:RemoteFilePath DestinationFile +``` + +远程系统复制目录到本地: + +``` +scp -r User@RemoteHost:RemoteDirectoryPath DestinationDirectory +``` + +在本地将文件在两个远程系统之间复制: + +``` +scp User@RemoteHost1:RemoteFile1 User@RemoteHost2:RemotePath +``` + +注意,当你在两个远程系统之间复制文件时,流量不会通过本地系统。操作直接在两个远程系统之间进行。但是,你可以使用 `-3` 参数传递运行 scp 命令的系统的流量。 + +本地将目录从一个远程系统复制到另一个远程系统: + +``` +scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath +``` + +### SCP 命令参数 + +SCP 命令最常用的参数有: + +- **`-C`** : 启用压缩。C 代表压缩。使用此参数时,数据传输速度会更快,因为数据是压缩的。SCP 将自动在源系统上压缩,并在目标系统上解压缩。 +- **`-c `** : c 代表加密。默认情况下,SCP 使用 **AES-128** 加密方法对数据进行加密。你可以使用 `-c` 参数更改加密方法。 +- **`-i `** : i 代表身份文件或私钥。如你所知,SSH 中使用基于密码或密钥的身份验证。如果希望在传输文件时使用基于密钥的身份验证,可以使用 -i 参数指定身份文件或私钥。 +- **`-l limit`** : l 代表极限带宽。通过此参数,可以设置传输数据的最大带宽。它的单位是 **`Kbit/s`**。 +- **`-F `** : 有时你可能需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器,这种情况下,你可以使用 `-F` 参数使用不同的 `ssh_config` 文件。 +- **`-P port`** - P 代表端口。注意,这是大写的 P。默认情况下,SSH 使用端口 22。但出于安全原因,你可能已经更改了目标主机中的端口号。这种情况下,你应该使用 `-P` 参数显示指定新端口号。 +- **`-p`** : 如果希望保留原始文件的修改时间、访问时间和模式,你需要使用 -p 参数。注意是小写 p。 +- **`-r`** : 递归复制整个目录。 +- **`-B`** : B 代表批处理模式。它用于在传输文件时选择批处理模式。可以防止询问密码。 +- **`-S program`** : 用于加密连接的程序名称。 +- **`-v`** : v 代表详细。当使用 `-v` 参数时,命令将会在终端屏幕上打印进度。你会看到文件传输时到底发生了什么。它在调试连接、身份验证和配置问题时非常有用。 + +SCP 有很多参数,你可以查看它的手册页来了解其他参数。让我们看一些**有用的 scp 命令示例**。 + +### 开始前要记住的重要事项 + +- `scp` 命令依赖于 `ssh` 进行安全的文件传输。因此,你必须有一个 **ssh 密钥**或**密码**才能向远程系统进行身份验证。 +- 为了能传输文件,你必须对**源文件有读权限**,对**目标位置有写权限**。 +- `scp` 命令在写入前不会检查目标位置。目标位置中具有相同名称的任何文件都将被**覆盖而不通知**。 +- 为了能够区分本地和远程位置,使用**冒号**(`:`)。 +- 传输大文件时,建议在 **[Screen][3]** 或 **[Tmux][4]** 会话内启动任务。 + +### 在 Linux 中使用 SCP 传输文件 + +正如我所说,我们可以使用 `scp` 命令将文件或目录从本地复制到远程系统,反之亦然,或者在两台远程系统之间复制文件或目录。 + +### 1. 使用 SCP 从本地系统复制文件到远程系统 + +使用 `scp` 命令将文件从本地复制到远程系统,运行: + +``` +$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +**示例输出:** + +``` +ostechnix@192.168.1.40's password: +File1.txt 100% 104 814.0KB/s 00:00 +``` + +让我们分析一下上面的命令,看看每个参数都做了什么。 + +- **`File1.txt`** - 源文件 +- **`ostechnix`** - 远程系统的用户名 +- **`192.168.1.40`** - 远程系统的 IP 地址 +- **`/home/ostechnix/`** - 远程系统中的目标目录。这是我们想要传输源文件的绝对路径,如 `File.txt`。 + +你还可以修改目标文件的名称。下面的命令将 `File1.txt` 传输到目的地,保存为 `myfile.txt`。 + +``` +$ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/myfile.txt +``` + +![将文件从本地复制到远程系统][5] + +将文件从本地复制到远程系统 + +#### 2. 使用 SCP 从本地系统复制多个文件到远程系统 + +使用 `scp` 命令将多个文件从本地系统传输到远程系统,运行: + +```bash +$ scp File1.txt File2.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +**示例输出:** + +``` +ostechnix@192.168.1.40's password: +File1.txt 100% 104 689.4KB/s 00:00 +File2.txt 100% 496 6.3MB/s 00:00 +``` + +![从本地复制多个文件到远程系统][6] + +从本地复制多个文件到远程系统 + +这里: + +- **`File1.txt`** 和 **`File2.txt`** - 源文件名 +- **`ostechnix@192.168.1.40`** - 远程系统的用户名和 IP 地址 +- **`/home/ostechnix`** - 目标文件的路径 + +如果文件具有相同的扩展名,你可以使用以下替代命令来实现相同的目标。 + +``` +$ scp {File1,File2}.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +或者, + +``` +$ scp *.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 3. 使用 SCP 从本地到远程系统递归复制目录 + +递归地将整个目录(包括子目录及其内容)从本地复制到远程系统,使用 **`-r`** 参数。 + +```bash +$ scp -r Documents/ ostechnix@192.168.1.40:/home/ostechnix/ +``` + +![从本地复制目录到远程系统][7] + +从本地复制目录到远程系统 + +上述命令将整个 **`Documents`** 目录包括其内容复制到目标系统。 + +其中, + +- `-r` : 递归复制文件和目录,包括子目录及其内容 +- `Documents` : 源目录名称 +- **`ostechnix@192.168.1.40`** : 远程系统的用户名和 IP 地址 +- **`/home/ostechnix`** : 目标目录的路径 + +#### 4. 用 SCP 将文件从远程系统传输到本地 + +还记得我们从本地系统复制了 `File1.txt` 到远程系统,让我们把它复制回本地。 + +使用 `scp` 命令从远程系统复制文件到本地,运行: + +``` +$ scp ostechnix@192.168.1.40:/home/ostechnix/File1.txt Downloads/ +``` + +其中 + +- **`ostechnix@192.168.1.40`** : 远程系统的用户名和 IP 地址 +- `/home/ostechnix/File.txt` : 远程系统文件的绝对路径 +- `Downloads` - 本地保存复制文件的位置 + +![从远程系统传输文件到本地][8] + +从远程系统传输文件到本地 + +#### 5. 使用 SCP 将多个文件从远程系统传输到本地 + +将多个文件从远程系统复制到本地,在**花括号内**注明文件的绝对路径,如下所示: + +``` +$ scp ostechnix@192.168.1.40:/home/ostechnix/\{File1.txt,File2.txt\} Downloads/ +``` + +![将多个文件从远程系统传输到本地][9] + +将多个文件从远程系统传输到本地 + +上述命令将从远程系统的 `/home/ostechnix/` 目录中复制 `File1.txt` 和 `File2.txt` 到本地的 `Downloads` 目录中。 + +注意,**花括号内的逗号后面没有空格**。 + +#### 6. 从远程系统递归复制目录到本地 + +使用 `scp` 从远程系统递归复制整个目录(包括子目录及其内容)到本地系统,使用 **`-r`** 参数。 + +``` +$ scp -r ostechnix@192.168.1.40:/home/ostechnix/Documents Downloads/ +``` + +上述命令将从远程系统将整个 **`Documents`** 目录复制到本地的 **`Downloads`** 目录。 + +#### 7. 使用 SCP 在两台远程计算机之间复制文件 + +使用 `scp` 命令将文件从一个远程系统直接复制到另一个远程系统,运行: + +``` +$ scp senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ +``` + +它会要求你输入两个远程系统的密码: + +其中, + +- `senthil@192.168.1.40` - 文件源端远程系统的用户名和 IP 地址 +- `/home/senthil/File1.txt` - 复制的文件名及其位置 +- **`kumar@192.168.1.20`** - 复制文件到目标端的用户名和 IP 地址 +- `/home/kumar` - 在目标端上保存复制文件的位置 + +上述命令将从远程主机 `192.168.1.40` 复制 `/home/senthil/File1.txt` 到 `192.168.1.20` 上的 `/home/kumar/` 目录。 + +在这种方法中,数据将直接从一个远程系统传输到另一个远程系统。如果你想通过本地机器路由流量,使用 **`-3`** 参数,如下所示: + +``` +$ scp -3 senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ +``` + +#### 8. 使用 SCP 复制文件时启用压缩 + +到目前为止,我们在没有压缩的情况下传输了文件。现在我们将使用 **`-C`** 参数在传输文件时启用压缩。 + +``` +$ scp -C File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +`-C` 参数将在源端启用压缩,并在目标端自动解压数据。 + +通过启用压缩,可以显著提高文件复制或传输速度。 + +#### 9. 使用 SCP 传输文件时限制带宽 + +我们可以使用 `-l` 参数限制带宽。注意,最大带宽单位为 Kbits/s。1 字节 = 8 bit。因此,如果你想将带宽限制在 200KB/s,`-l` 的值将是 **1600**(200*8)。 + +``` +$ scp -l 1600 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +这在传输大文件时非常有用,可以防止 SCP 限制带宽。 + +#### 10. 使用 SCP 复制文件时使用不同端口 + +作为系统管理员,出于安全原因,你可能在远程服务器上[**更改了 SSH 协议的默认端口**][10]。这种情况下,你可以在传输文件时使用 `-P` 参数指定端口号。注意:**大写的 P**。 + +``` +$ scp -P 2022 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 11. 使用 SCP 复制文件时使用不同的加密方法 + +默认情况下,SCP 使用 **`AES-128`** 对文件进行加密。如果你想使用不同的加密方法,使用 **`c`** 参数。 + +例如,如果你想使用 **3des-cbc** 加密方法,命令如下所示: + +``` +$ scp -c 3des-cbc File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +要查看支持的密码列表,执行: + +``` +$ ssh -Q cipher localhost | paste -d, -s - +``` + +**示例输出:** + +``` +3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com +``` + +#### 12. 在详细模式下使用 SCP 复制文件 + +如果你想知道使用 scp 复制文件时幕后发生了什么,你可以使用 **`-v`** 参数。使用详细模式传输文件时,终端上会显示执行 SCP 命令执行的每一步过程。这在故障排除时很方便。 + +``` +$ scp -v File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +在详细模式下发送文件时,你将看到大量输出,如下所示: + +![在 Verbose 模式下使用 SCP 复制文件][11] + +在详细模式下使用 SCP 复制文件 + +#### 13. 在安静模式下使用 SCP 传输文件 + +我们可以使用 **`-q`** 参数在安静模式下传输文件。在安静模式下共享文件时,不会在输出中显示进度、警告或诊断信息。 + +``` +$ scp -q File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 14. 使用 SCP 传输文件时保留文件属性 + +使用 **`-p`** 参数可以保留文件修改时间、访问时间和模式等文件属性。注意,这是**小写的 p**。 + +``` +$ scp -p File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 15. 使用 SCP 复制文件时使用身份文件 + +SSH 同时支持基于密码和密钥的身份验证。密钥是 Linux 环境中使用最广泛的身份验证方法。 + +如果你想在传输文件时使用基于密钥的身份验证,使用 **`-i`** 参数指定身份文件或私钥。 + +``` +$ scp -i my_private_key.pem File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 16. 使用不同的 ssh 配置文件 + +在某些情况下,你需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器。这在情况下,你可以配合 **`-F`** 参数使用不同的 `ssh_config` 文件。 + +``` +$ scp -F /home/ostechnix/my_ssh_config File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +#### 17. 使用 IPv4 或 IPv6 复制文件 + +在复制文件时,我们可以强制 SCP 只使用 IPv4 或 IPv6 地址。IPv4 网络添加 **`-4`** 参数,IPv6 网络添加 **`-6`** 参数可以实现这一点。 + +``` +$ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ +``` + +### 常见问题 + +#### 问题 1:什么是 SCP? + +**回答:** SCP 是一个命令行程序,旨在将文件和目录从本地系统安全地传输到远程系统,反之亦然,或者直接在两个远程系统之间传输。 + +#### 问题 2: 如何使用 SCP 将文件从本地复制到远程计算机? + +将文件从本地复制到远程系统,命令如下: + +``` +scp SourceFile.txt User@RemoteHost:/some/remote/directory +``` + +#### 问题 3:如何递归复制文件和目录? + +递归复制包含子目录的目录,使用 `-r` 参数: + +``` +scp -r /some/local/directory User@RemoteHost:/some/remote/directory +``` + +#### 问题 4:使用 SCP 可以传输多个文件吗? + +当然,只要用空格分隔源文件名即可。 + +从本地复制多个文件到远程: + +``` +scp file1.txt file2.txt file3.txt User@RemoteHost:/some/remote/directory +scp {file1,file2,file3}.txt User@RemoteHost:/some/remote/directory +scp *.txt User@RemoteHost:/some/remote/directory +``` + +从远程复制多个文件到本地: + +``` +scp User@RemoteHost:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} /some/local/directory +``` + +从一个远程系统复制多个文件到另一个远程系统: + +``` +$ scp User@RemoteHost1:/some/remote/directory/\{file1.txt,file2.txt,file3.txt\} User@RemoteHost2:/some/remote/directory/ +``` + +#### 问题 5:如何传输目录下的所有文件? + +传输整个目录,首先进入该目录: + +``` +cd dir_name +``` + +然后, + +``` +scp *.txt User@RemoteHost:/some/remote/directory +``` + +#### 问题 6:可以压缩文件吗? + +当然。使用 **`-C`** 压缩文件。文件会在源端压缩,在目标端自动解压缩。 + +``` +scp -C /some/large/file User@RemoteHost:/some/remote/directory +``` + +#### 问题 7:可以保留文件属性吗? + +保留原始文件的修改时间、访问时间和模式等文件属性,使用 **`-p`** 参数。 + +``` +scp -p file.txt User@RemoteHost:/some/remote/directory +``` + +#### 问题 8: 可以使用其他端口吗? + +当然。SCP 配合 **`-P`** 参数允许你使用其他端口。 + +``` +scp -P 2022 file.txt User@RemoteHost:/some/remote/directory +``` + +#### 问题 9: 可以使用不同的加密方法吗? + +当然。使用 **`-c`** 参数。 + +``` +scp -c 3des-cbc User@RemoteHost:/some/remote/directory +``` + +#### 问题 10: 如何列出 SSH 支持的加密方法? + +使用以下命令查看 SSH 和 SCP 支持的加密方法列表: + +``` +ssh -Q cipher localhost | paste -d, -s - +``` + +#### 问题 11:SCP 真的安全吗? + +当然,它用起来是完全安全的。SCP 和 openSSH 使用相同的 SSH 机制。传输的数据在源端加密,目标端解密。 + +#### 问题 12:可以从 Windows 系统传输文件到 Linux 吗? + +当然。使用 **PSCP** 程序将文件从 windows 传输到 Linux 平台,你也可以使用 **WinSCP**。 + +### 总结 + +在这篇全面指南中,我们了解了什么是 SCP,以及如何在 Linux 中使用 **SCP 安全地传输文件**,其中包括 **17 个 SCP 命令示例**,另外还回答了关于 SCP 的常见问题。 + +无论你是 Linux 管理人员、开发人员还是普通用户,你都会面临某个时候将文件复制到远程系统或从远程系统复制文件的情况,知道如何**使用 SCP 安全地复制文件**将是非常有用的。 + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/securely-transfer-files-with-scp-in-linux/ + +作者:[sk][a] +选题:[lkxed][b] +译者:[MjSeven](https://github.com/MjSeven) +校对:[校对者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://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html +[2]: https://ostechnix.com/linux-rsync-command-examples-for-beginners/ +[3]: https://ostechnix.com/screen-command-examples-to-manage-multiple-terminal-sessions/ +[4]: https://ostechnix.com/tmux-command-examples-to-manage-multiple-terminal-sessions/ +[5]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Files-from-Local-System-to-Remote-System.png +[6]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Multiple-Files-from-Local-System-to-Remote-System.png +[7]: https://ostechnix.com/wp-content/uploads/2022/11/Copy-Directory-from-Local-System-to-Remote-System.png +[8]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Files-from-Remote-System-to-Local-System.png +[9]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Multiple-Files-from-Remote-System-to-Local-System.png +[10]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ +[11]: https://ostechnix.com/wp-content/uploads/2022/11/Copying-Files-with-SCP-in-Verbose-Mode.png From d87856982277770a41cdb6ebb2e0ab0898aaffda Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 19 Dec 2022 21:59:00 +0800 Subject: [PATCH 799/925] RP @CanYellow https://linux.cn/article-15364-1.html --- ...️ Write documentation like you develop code.md | 88 +++++++++++++++++++ ...️ Write documentation like you develop code.md | 86 ------------------ 2 files changed, 88 insertions(+), 86 deletions(-) create mode 100644 published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md delete mode 100644 translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md diff --git a/published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md new file mode 100644 index 0000000000..95f0e82e50 --- /dev/null +++ b/published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md @@ -0,0 +1,88 @@ +[#]: subject: "Write documentation like you develop code" +[#]: via: "https://opensource.com/article/22/10/docs-as-code" +[#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" +[#]: collector: "lkxed" +[#]: translator: "CanYellow" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15364-1.html" + +像书写代码一样撰写文档 +====== + +![][0] + +> 不想让文档成为事后的想法?或许你该尝试一下全新的写作方式。 + +很多工程师与手工艺者都对他们使用的工具有特别的要求。为了顺利的完成工作,你需要最好的工具和使用它们的技巧。软件开发中最好的工具在应用到其他的数字创作领域中也可以是很强大的。[文档即代码][1]Docs as Code 的方式就是很好的例子。“文档即代码”意味着使用与代码开发相同的工具和工作流来撰写文档。文档即代码的支持者认为,这样的方式可以在降低写作者的工作量的同时,也带来了更好的文档。 + +### 文本格式与源文件控制 + +从传统的写作平台切换到文档即代码方式时,最主要的调整是将写作内容保存在基于文本的标记格式中。这一转变使得基于纯文本的工具都适用于文档写作。无论你选择 [DocBook][2]、[Markdown][3] 或者其他的标记语言,从只使用一种工具到使用一种标准格式配合多种工具是一种巨大的转变。 + +找到支持你的工作流程的工具是非常重要的。很多开发者在文档即代码项目中使用他们的 [代码编辑器][4]。因为他们已经是这些工具的高阶用户,一切都很顺利。而找到适合团队里其他专业人员,比如技术撰稿、编辑、信息架构师和文档产品责任人的工具可能需要一番努力。这里有一些选项可供参考: + +- 各种 [优秀的 Markdown 编辑器][5] 之一 +- 附带良好的预览工具的代码编辑器可能更适合非程序员 +- 流行的 Git 托管服务的网页界面尤其适用于偶尔有需要的贡献者 + +一旦内容以标记语言的格式安全地保存,就可以使用 [Git][6] 这样的版本控制进行管理。Git 相比大多数文档平台具有更多的功能: + +- 清晰详细的文档版本历史:谁在什么时候改变了什么。如果你有良好的提交信息惯例,你甚至可以了解到为什么会有这样的变更。 +- 简明的并行修改过程。在 Git 中使用分支工作意味着任何人可以做出他们想要的任何改变,并在最后合并所做的变更。 +- 先进的协作与审查工具。所有的源代码管理平台都被设计成支持详细审查每一个变更,并根据需要进行讨论,使每个人都确信这个变更可以继续进行。 +- 自动质量检查,比如拼写检查和链接检查。这不仅节省了时间,而且可以发现可能遗漏的错误。 + +源代码管理有很多优点。但要记住,如果你准备入门源代码管理,它有一定的学习曲线。这是一些有助于撰写者入门的优秀的 [学习资源][7] 和 [文章][8]。你也可以让具有好奇心的文档撰写者自行寻找对他们有用的学习材料,而不是请你的工程师来培训他们。(问我是怎么学会的? —— 当然是通过艰苦的方式!) + +### 拉取请求和评审循环 + +所有的源代码管理平台都围绕 拉取请求Pull Request 这一概念设计的,这有时也称为 合并请求Merge Request:有时候,某个人或某个团队先将一系列改变整合到一起,然后请求把这些修改拉到主项目中。不过从许多方面来说,在文档中一次处理多个变更比在代码中更容易。改变一篇文章中的某个地方,比更改代码并发现有其它几个地方依赖它,副作用更小。 + +最强大的协作工具是 [diff][9],它可以通过一个易于理解的方式展示旧版本与新版本之间的差异。该工具有许多不同的版本,可以使比较视图更易于查看:双栏模式、行内模式,甚至是渲染过的 Markdown 模式。团队中的每一个成员都可以选择最适合他们的工具。举例而言,网页视图通常用于查看细微变更,而对于更大的变更,我习惯于使用 `vimdiff` 或 [Meld][10] 在本地浏览。 + +评审意见可以被添加到整个修改中,也可以添加到拟议的变更的个别行中。一些项目限制了行的最大长度,即硬换行,或者一行一句,以使得向文本的特定的部分添加注释更加容易。可以添加进一步的修改与评论,直到审查过程结束,修改被接受。由于拉取请求在项目仓库以队列形式展示,这是一种很好的方式,可以展示目前正在进行的任务以及需要进行检查操作的任务。`diff` 工具使得评审人员更方便地添加他们的思考。尤其是你在与技术受众工作时,你可以通过他们日常使用的工具获得来自他们的评论。 + +### 持续集成与部署 + +以纯文本形式提供你的文档的源代码有很多益处,你可以轻易找到每一个需要修改的位置,你可以使用现有的诸如 [wc][11]、[grep][12] 或 `tree` 之类的工具,来处理潜在的大型文档集。当你将这些与源代码管理平台结合起来之后,你可能获得更多的可用工具,并且它们都是开源的。 + +另一个工作流程上的巨大提升是持续部署的能力。简单来说,这意味着,每当一个拉取请求被合并到主项目中,项目可以直接自动化部署到位。如果这个变更足够好,就可以放进项目中,它也足够好到可以在放到文档网站上帮助你的读者。典型情况下,持续部署是配置在一台单独的自动化服务器上的,比如 [Jenkins][13] 或者 [Git 钩子][14]。不论哪种方式,基于文本的标记语言与文档即代码平台(通常是静态网页生成器,比如 [Hugo][15] 或 [Sphinx][16])结合来生成文档网站,然后自动部署。 + +在部署之前,同样的自动化流程可以被用于对将要合并的拉取请求进行检查。在一个编程项目中,通过计算机自行进行代码检查、代码测试和其他的质量检查已经习以为常。通过类似 [Vale][17] 之类的工具可以对文本进行检查,文档项目也可以同样对待。你也可以添加其他的工具,比如添加一个链接检查器来确保文中所有的链接都是有效的。 + +### 用于文档流程的代码工具 + +被工程师们熟知并喜爱的工具都是非常好的工具,它们同时也可以用于其他类型的项目中。对于文档而言,它们提升了宝贵的效率,尤其是当你希望你的文档与你的团队同步推进的时候。上面讨论到的所有工具都是开源的,你可以亲自尝试,也可以为大型全球团队,亦或者介于两者之间的团队,部署它们。愿你的成文过程和编程过程一样顺畅。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/docs-as-code + +作者:[Lorna Mitchell][a] +选题:[lkxed][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/lornajane +[b]: https://github.com/lkxed +[1]: https://www.writethedocs.org/guide/docs-as-code +[2]: https://opensource.com/article/17/9/docbook +[3]: http://commonmark.org +[4]: https://opensource.com/article/20/12/eclipse +[5]: https://opensource.com/article/21/10/markdown-editors +[6]: https://opensource.com/downloads/cheat-sheet-git +[7]: https://opensource.com/article/18/1/step-step-guide-git +[8]: https://opensource.com/article/19/4/write-git +[9]: https://opensource.com/article/21/11/linux-diff-patch +[10]: https://opensource.com/article/20/3/meld +[11]: https://www.redhat.com/sysadmin/linux-wc-command?intcmp=7013a000002qLH8AAM +[12]: https://opensource.com/downloads/grep-cheat-sheet +[13]: https://www.jenkins.io +[14]: https://www.redhat.com/sysadmin/git-hooks +[15]: https://opensource.com/article/18/3/start-blog-30-minutes-hugo +[16]: https://opensource.com/article/19/11/document-python-sphinx +[17]: https://vale.sh +[0]: https://img.linux.net.cn/data/attachment/album/202212/19/215600m3bzhqlu23lskssl.jpg \ No newline at end of file diff --git a/translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md deleted file mode 100644 index 9c373f96bd..0000000000 --- a/translated/talk/20221028.1 ⭐️⭐️ Write documentation like you develop code.md +++ /dev/null @@ -1,86 +0,0 @@ -[#]: subject: "Write documentation like you develop code" -[#]: via: "https://opensource.com/article/22/10/docs-as-code" -[#]: author: "Lorna Mitchell https://opensource.com/users/lornajane" -[#]: collector: "lkxed" -[#]: translator: "CanYellow" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -像代码开发一样撰写文档 -====== - -不想让书写滞后于你的思考?或许你该尝试一下全新的写作方式。 - -很多工程师与手工艺者都对他们使用的工具有特别的要求。为了顺利的完成工作,你需要最好的工具和使用它们的技巧。软件开发中最好的工具在应用到其他的数字创作领域中也可以是很强大的。[Docs as Code][1] (译注:代码化文档)的方式就是很好的例子。Doc as Code 意味者使用与代码开发相同的工具与工作流来撰写文档。Doc as Code 的支持者认为这样的方式可以在降低作者的工作符负荷的同时保证更好的文档结构。 - -### 文本格式与源文件控制 - -从传统的写作平台切换到 Docs as Code 方式时,最主要的调整是写作内容保存在基于文本的标记格式中。这一转变使得基于纯文本材料的工具都适用于文档写作。当你选择 [DocBook][2], [Markdown][3] 或者其他的标记语言时,从只使用一种工具到使用一种标准格式配合多种工具是一种巨大的转变。 - -找到支持你的工作流程的工具是非常重要的。在 Docs as Code 项目中,很多开发者使用他们的 [代码编辑器][4]。考虑到他们已经是这些工具的高阶用户,一切都很顺利。而找到适合团队里适合其他专业从业者,比如技术撰稿、编辑、信息架构师和文档产品责任人,的工具可能需要一番努力。这里有一些选项可兹参考: - -- 各种[优秀的 Markdown 编辑器][5]之一是可行的 -- 附带良好的预览工具的代码编辑器可能更适合非程序员 -- 流行的 Git 托管服务的网页界面尤其适用于偶尔有需要的贡献者 - -一旦内容以标记语言的格式安全保存就可以使用版本控制进行管理,比如 [Git][6]。Git 相比大多数文档平台具有更多的功能: - -- 清晰详细的文档版本历史:谁在什么时候改变了什么。 -- 简明的并行修改过程支持。在 Git 中使用分支工作意味着任何人可以做出他们想要的任何改变并在最后合并所做的更改。 -- 高级的协作与审查工具。所有的源代码管理平台都设计支持评审每一条细节变更并在足够的讨论后使每个人都确信改变可以继续的流程。 -- 自动质量检查,比如拼写检查和链接检查。这不仅节省了时间,而且可以发现以前无法发现的错误。 - -源代码管理有很多优点。但要记住,如果你准备入门源代码管理,它有一定的学习曲线。这是一些有助于入门的优秀的[学习资源][7]和[作者文章][8]。你也可以让具有好奇心的文档作者自行寻找对他们有用的学习材料,而不是请你的工程师来培训他们。(探寻他人的学习历程是最困难的学习方式) - -### 拉取请求和评审循环 - - -所有的源代码管理平台都围绕拉取请求这一概念设计,这有时也称为合并请求。有时候,某些团队先将一系列改变整合到一起然后向主项目发起要求修改被拉取的请求。不过从许多方面来说,在文档中一次处理多个变更比在代码中更容易。改变文档中某处的一篇文章比之更改代码并找出有哪些地方依赖它具有更小的副作用。 - -最强大的协作工具是 [diff][9],它可以通过一个易于察觉的方式展示旧版本与新版本之间的差异。该工具有多种不同的版本来使得比较视图更易于查看:双栏模式、行内模式,甚至是渲染后的 Markdown 模式。团队中的每一个成员都可以选择最适合他们的版本。举例而言,网页视图通常用于查看细微变更,而对于更大的变更,我习惯于使用 `vimdiff` 或 [Meld][10] 在本地浏览。 - -检查的注释可以整体提交到变更中,也可以提交到指定变更中的个别行中。一些项目限制了行的最大长度,即硬换行,或者一行一句,以使得向文本的特定的部分添加注释更加容易。进一步的变更与注释可以在检查完成接受变更时添加。由于拉取请求在项目仓库以队列形式展示,这是很好的方式来展示目前正在进行的任务以及需要进行检查操作的任务。diff 工具使得评审人员更方便地加入他们的思考。尤其是你在与技术受众工作时,你可以通过他们日常使用的工具获得来自他们的评论。 - -### 持续集成与部署 - -以纯文本形式拥有你的文档的源代码有很多益处,你可以轻易找到每次需要修改的位置,你可以使用现有的诸如 [wc][11]、[grep][12]或 `tree` 之类的工具在潜在的大型文档集中工作。当你将这些与源代码管理平台结合起来之后,你可能获得更多的可用工具,并且它们都是开源的。 - -另一个工作流程上的巨大提升是持续部署的能力。简单来说,这意味着,每当一个拉取请求被合并到主项目中,项目可以直接自动化部署到位。如果变更好到足以接收进项目中,他同时可以在文档页面中实时更新,从而帮助到你的读者。典型情况下,持续部署是配置在任意一台分离的自动化服务器上的,比如 [Jenkins][13] 或者 [Git Hooks][14]。不论哪种方式,基于文本的标记语言与 Doc as Code 平台(通常是静态网页生成器,比如 [Hugo][15] 或 [Sphinx][16])结合来生成文档网站,然后自动部署。 - -在部署之前,同样的自动化流程可以被用于对将要合并的拉取请求进行检查。在一个编程项目中,通过计算机自行进行代码检查、代码测试和其他的质量检查已经习以为常。通过类似 [Vale][17] 之类的工具进行文本检查、文档项目也可以同样对待,你也可以添加其他的工具,比如添加一个链接检查器来确保文中所有的链接都是有效的。 - -### 用于文档流程的代码工具 - -被工程师们熟知并喜爱的工具都是非常好的工具,它们同时也可以用于其他类型的项目中。在文档项目中,它们提升了宝贵的效率,尤其是当你希望你的文档与你的团队同步推进的时候。上面讨论到的所有工具都是开源的,你可以亲自尝试,为大型全球团队部署他们,亦或者介于两者之间,最终使你的成文过程和编程过程一样顺畅。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/10/docs-as-code - -作者:[Lorna Mitchell][a] -选题:[lkxed][b] -译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/lornajane -[b]: https://github.com/lkxed -[1]: https://www.writethedocs.org/guide/docs-as-code -[2]: https://opensource.com/article/17/9/docbook -[3]: http://commonmark.org -[4]: https://opensource.com/article/20/12/eclipse -[5]: https://opensource.com/article/21/10/markdown-editors -[6]: https://opensource.com/downloads/cheat-sheet-git -[7]: https://opensource.com/article/18/1/step-step-guide-git -[8]: https://opensource.com/article/19/4/write-git -[9]: https://opensource.com/article/21/11/linux-diff-patch -[10]: https://opensource.com/article/20/3/meld -[11]: https://www.redhat.com/sysadmin/linux-wc-command?intcmp=7013a000002qLH8AAM -[12]: https://opensource.com/downloads/grep-cheat-sheet -[13]: https://www.jenkins.io -[14]: https://www.redhat.com/sysadmin/git-hooks -[15]: https://opensource.com/article/18/3/start-blog-30-minutes-hugo -[16]: https://opensource.com/article/19/11/document-python-sphinx -[17]: https://vale.sh From 6ace7e47b3d67d2a93d5f7102daf444613e95e23 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Mon, 19 Dec 2022 22:21:32 +0800 Subject: [PATCH 800/925] Translating --- ...20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md b/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md index 14355235cb..f5b8157ba3 100644 --- a/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md +++ b/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/extend-c-python" [#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MjSeven" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From bae6ed30668b27cf808de729ca8b2aa02107496d Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 20 Dec 2022 08:31:10 +0800 Subject: [PATCH 801/925] translated --- ...Try this Linux web browser as your file manager.md | 96 ------------------- ...Try this Linux web browser as your file manager.md | 96 +++++++++++++++++++ 2 files changed, 96 insertions(+), 96 deletions(-) delete mode 100644 sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md create mode 100644 translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md diff --git a/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md deleted file mode 100644 index 0d959b6e95..0000000000 --- a/sources/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md +++ /dev/null @@ -1,96 +0,0 @@ -[#]: subject: "Try this Linux web browser as your file manager" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Try this Linux web browser as your file manager -====== - -Konqueror is a file manager and web browser for the KDE Plasma Desktop. In many ways, Konqueror defined "network transparency," as it applied to a personal desktop. With Konqueror, you can browse remote network files (including the Internet itself, which really is just a collection of remote files viewed through a fancy lens) just as easily as browsing your local files. Sometimes there was some configuration and setup required, depending on what kind of file share you needed to access. But ultimately, the goal of having instant access to all the data you had permission to view was a reality with Konqueror in ways no other file manager had achieved. And at its peak, the open source web engine it developed (KHTML) was adopted by both Apple and Google, and lives on today as the core library of modern web browsing and, technically, Electron app development. - -Today, the KDE Plasma Desktop lists Konqueror as a web browser. Officially, file management has shifted over to [Dolphin][1], but Konqueror is still capable of doing the job. For the full and classic Konqueror experience, you should try the Plasma Desktop 3.x fork [TDE][2], but in this article I use Konqueror in KDE Plasma Desktop version 5. - -### Install Konqueror - -If you're running KDE Plasma Desktop already, you may already have Konqueror installed. If not, you can install it from your distribution's software repository. On Fedora, CentOS, Mageia, OpenMandriva, and similar: - -``` -$ sudo dnf install -y konqueror konqueror-plugins -``` - -On Debian, Linux Mint, Elementary, and similar: - -``` -$ sudo apt install -y konqueror konqueror-plugins -``` - -![Image of ​Konqueror's file manager.][3] - -### Configure Konqueror as a file manager - -The most convenient feature of Konqueror is that it's a web browser in addition to being a file manager. Or at least, that's theoretically its most convenient feature. If you're not using Konqueror as a web browser, then you may not want the URL field or the search engine field at the top of every file manager window. - -As with most KDE applications, Konqueror is highly configurable. You can reposition and add and remove toolbars, add or remove buttons, and so on. - -To adjust what toolbars are displayed, launch Konqueror and go to the **Settings** menu and select **Toolbars Shown**. The **Main** toolbar is probably all you really need for file management. It's the toolbar with navigation buttons on it. However, you may not even need that, as long as you're happy to navigate with keyboard shortcuts or using the **Go** menu. - -Keyboard navigation in Konqueror is the same as in Dolphin: - -- **Alt+Left arrow**: Back one step -- **Alt+Up arrow**: Move to parent directory -- **Alt+Home**: Go to home directory - -### Side panel - -To get a side panel with a listing of common folders, press **F9** or select **Show Sidebar** from the **Settings** menu. This adds a button bar along the left side of the Konqueror window. Click the **Home** icon to display a file tree of your home directory. - -![Image of ​Konqueror with a sidebar.][4] - -As the button bar suggests, this side panel can serve many purposes. Instead of your home directory, you can display bookmarked locations, a history of recent locations you've visited, remote filesystems, and more. - -### Applications - -Some people are used to an application menu. It's efficient and quick, and always in the same place. Other people prefer to launch applications from the terminal. - -There's yet another way to view application launchers, though. Konqueror's **Go** menu allows you go to a meta location called **Applications**, which lists application launchers, by category, as files in a file manager. - -![Image of ​applications in Konqueror.][5] - -You can see this in Dolphin, too, by manually typing **applications:** in the location field, but of the two it's Konqueror that provides a menu option to go there directly. - -### Network folders - -Similarly, Konqueror also provides a menu selection to go to network folders. The greatest network folder of them all is the Internet, but **Network Folders** is the meta location for network protocols other than HTTP. Most remote locations require some setup because they usually require authentication to access. Most of them can be configured through **System Settings**, including file systems accessible over Bluetooth, SMB or CIFS, MTP devices, Fish (file system over SSH), and even Google Drive. - -### Split view - -You can split the Konqueror window into panes, allowing you to see two folders at once without opening two windows. There are two split options: a vertical split with one pane on the left and the other on the right, or a horizontal split with one pane above the other. - -To split the Konqueror window, go to the **Window** menu and select either **Split View Left/Right** or **Spit View Top/Bottom**. Each pane is independent of the other, so you can navigate around in one pane, and then drag and drop files from one to the other. - -### Conquering your file system - -Konqueror isn't _just_ a file manager, and I don't think the developers of the Plasma Desktop expect you to use it as your primary file manager. There's even an option in the **File** menu to open a location in **Dolphin**, which indicates that Konqueror is a web browser with a file manager component. But that file manager component is a nice feature to have when you need it. And if you're not a fan of all the features Dolphin offers, Konqueror could be a suitable alternative. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-konqueror - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/12/linux-file-manager-dolphin -[2]: https://opensource.com/article/19/12/linux-trinity-desktop-environment-tde -[3]: https://opensource.com/sites/default/files/2022-10/konqueror-filemanager.png -[4]: https://opensource.com/sites/default/files/2022-10/konqueror-sidebar.png -[5]: https://opensource.com/sites/default/files/2022-10/konqueror-applications.png diff --git a/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md new file mode 100644 index 0000000000..5ff7fe755a --- /dev/null +++ b/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md @@ -0,0 +1,96 @@ +[#]: subject: "Try this Linux web browser as your file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +试试这个 Linux 网络浏览器作为你的文件管理器 +====== + +Konqueror 是 KDE Plasma 桌面的文件管理器和 Web 浏览器。在许多方面,Konqueror 定义了“网络透明度”,因为它适用于个人桌面。使用 Konqueror,你可以像浏览本地文件一样轻松地浏览远程网络文件(包括 Internet 本身,它实际上只是通过花哨的镜头查看的远程文件的集合)。有时需要进行一些配置和设置,具体取决于你需要访问的文件共享类型。但最终,通过 Konqueror 实现了即时访问你有权查看的所有数据的目标,这是其他文件管理器无法实现的。在其巅峰时期,它开发的开源网络引擎 (KHTML) 被苹果和谷歌采用,并作为现代网络浏览和 Electron 应用开发的核心库延续至今。 + +今天,KDE Plasma 桌面将 Konqueror 作为网络浏览器。文件管理已正式转移到 [Dolphin][1],但 Konqueror 仍然能够完成这项工作。要获得完整和经典的 Konqueror 体验,你应该尝试 Plasma Desktop 3.x fork [TDE][2],但在本文中,我在 KDE Plasma Desktop 版本 5 中使用 Konqueror。 + +### 安装 Konqueror + +如果你已经在运行 KDE Plasma Desktop,你可能已经安装了 Konqueror。如果没有,你可以从发行版软件仓库中安装它。在 Fedora、CentOS、Mageia、OpenMandriva 和类似软件上: + +``` +$ sudo dnf install -y konqueror konqueror-plugins +``` + +在 Debian、Linux Mint、Elementary 和类似软件上: + +``` +$ sudo apt install -y konqueror konqueror-plugins +``` + +![Image of Konqueror's file manager.][3] + +### 将 Konqueror 配置为文件管理器 + +Konqueror 最方便的功能是它除了是一个文件管理器之外,还是一个网络浏览器。至少,这在理论上是它最方便的功能。如果那你没有将 Konqueror 用作 Web 浏览器,那么你可能不希望每个文件管理器窗口顶部都有 URL 区域或搜索引擎区域。 + +与大多数 KDE 应用一样,Konqueror 是高度可配置的。你可以重新定位并添加和删除工具栏、添加或删除按钮等。 + +要调整显示的工具栏,请启动 Konqueror 并转到**设置** 菜单并选择**显示的工具栏**。**主**工具栏可能是你真正需要的文件管理工具栏。它是带有导航按钮的工具栏。但是,你甚至可能不需要它,只要你乐于使用键盘快捷键或使用 **Go** 菜单进行导航即可。 + +Konqueror 中的键盘导航与 Dolphin 中的相同: + +- **Alt+向左箭头**:后退一步 +- **Alt+向上箭头**:移动到父目录 +- **Alt+Home**:转到主目录 + +### 侧边栏 + +要获得包含常用文件夹列表的侧边栏,请按 **F9** 或从**设置**菜单中选择**显示边栏**。这会在 Konqueror 窗口的左侧添加一个按钮栏。单击 **Home** 图标以显示你的主目录的文件树。 + +![Image of Konqueror with a sidebar.][4] + +正如按钮栏所暗示的那样,此侧边栏可用于多种用途。你可以显示书签位置,你最近访问过的位置的历史,远程文件系统等。 + +### 应用 + +有些人习惯于应用菜单。它高效快捷,并且始终在同一个地方。其他人更喜欢从终端启动应用。 + +不过,还有另一种查看应用启动器的方法。Konqueror 的 **Go** 菜单允许你转到名为 **Applications** 的元位置,它按类别列出了应用程序启动器,就像文件管理器中的文件一样。 + +![Image of applications in Konqueror.][5] + +你也可以在 Dolphin 中看到这个,方法是在位置区域中手动输入 **applications:**,但在这两者中,Konqueror 提供了一个菜单选项,可以直接进入该位置。 + +### 网络文件夹 + +类似地,Konqueror 还提供了一个菜单选择进入网络文件夹。其中最好的网络文件夹是 Internet,但**网络文件夹**是 HTTP 以外的网络协议的元位置。大多数远程位置需要一些设置,因为它们通常需要身份验证才能访问。它们中的大多数都可以通过**系统设置**进行配置,包括可通过蓝牙、SMB 或 CIFS、MTP 设备、Fish(通过 SSH 的文件系统)访问的文件系统,甚至是 Google Drive。 + +### 拆分视图 + +你可以将 Konqueror 窗口拆分为多个窗格,这样你就可以同时查看两个文件夹而无需打开两个窗口。有两种拆分选项:垂直拆分,一个窗格在左侧,另一个窗格在右侧,或者水平拆分,一个窗格在另一个窗格之上。 + +要分割 Konqueror 窗口,进入**窗口**菜单,选择**分割视图左/右**或**分割视图上/下**。每个窗格都是独立的,所以你可以在一个窗格中浏览,然后把文件从一个窗格拖到另一个窗格。 + +### 征服你的文件系统 + +Konqueror 不_仅仅_是一个文件管理器,我认为 Plasma 桌面的开发者并不期望你把它作为你的主要文件管理器。在**文件**菜单中甚至有一个选项可以在 **Dolphin** 中打开一个位置,这表明 Konqueror 是一个带有文件管理器组件的网络浏览器。但是,当你需要时,这个文件管理器组件是一个不错的功能。如果你不喜欢 Dolphin 提供的所有功能,Konqueror 可能是一个合适的替代品。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-konqueror + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/12/linux-file-manager-dolphin +[2]: https://opensource.com/article/19/12/linux-trinity-desktop-environment-tde +[3]: https://opensource.com/sites/default/files/2022-10/konqueror-filemanager.png +[4]: https://opensource.com/sites/default/files/2022-10/konqueror-sidebar.png +[5]: https://opensource.com/sites/default/files/2022-10/konqueror-applications.png From 06d450cd8cd6ee34e925157860bcc2d61e716417 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 20 Dec 2022 08:33:14 +0800 Subject: [PATCH 802/925] translating --- ...20221218.1 ⭐️ Try this Python-based file manager on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md index e68b102a96..6a349bd658 100644 --- a/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md +++ b/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 7a8163efa147acd5244570ea5737e87550b3e076 Mon Sep 17 00:00:00 2001 From: duoluoxiaosheng <554765662@qq.com> Date: Tue, 20 Dec 2022 08:52:28 +0800 Subject: [PATCH 803/925] Translate20221216 (#7) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 12191625 * Update and rename sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md to translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md --- ...️ Improve your documentation with JavaScript.md | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) rename {sources => translated}/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md (51%) diff --git a/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md b/translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md similarity index 51% rename from sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md rename to translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md index 04434f2ebe..66c50a8515 100644 --- a/sources/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md +++ b/translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md @@ -7,32 +7,33 @@ [#]: publisher: " " [#]: url: " " -Improve your documentation with JavaScript + +使用 JavaScript 增强您的文档 ====== -Open source software projects often have a very diverse user group. Some users might be very adept at using the system and need very little documentation. For these power users, documentation might only need to be reminders and hints, and can include more technical information such as commands to run at the shell. But other users may be beginners. These users need more help in setting up the system and learning how to use it. +开源软件项目通常拥有非常多样化的用户人群。有些用户非常擅长使用该系统,并且只需要很少的文档。对于这些实力派的用户。文档只需要提供必要的提示,并且可以包含更多的技术信息,比如说在 shell 中运行的命令行。有些用户可能只是初学者。这些用户需要更多的帮助来设置系统并学习如何使用它。 -Writing documentation that suits both user groups can be daunting. The website's documentation needs to somehow balance "detailed technical information" with "providing more overview and guidance." This is a difficult balance to find. If your documentation can't meet both user groups, consider a third option — dynamic documentation. +写一个同时适合这两个用户群体的文档是令人生畏的。网站文档需要在 “提供详细的技术信息” 和 “提供更多的概述和指导” 之间寻求一个平衡。这是一个很难找到的平衡。如果你的文档不能同时满足这两个用户人群,那么考虑一下另外一个选择 —— 动态文档。 -Explore how to add a little [JavaScript][1] to a web page so the user can choose to display just the information they want to see. +探索在网页中添加一点 [JavaScript][1] 使用户可以选择自己想看的内容。 -### Structure your content +### 构建您的内容 -You can use the example where documentation needs to suit both expert and novice users. In the simplest case, you can use a made-up music player called AwesomeProject. +你可以把例程添加的你的文档中需要同时满足 专家expert初学者novice 的地方。在这个例程中,你可以使用一个叫做 AwesmeProject 的虚构的音乐播放器。 -You can write a short installation document in HTML that provides instructions for both experts and novices by using the class feature in HTML. For example, you can define a paragraph intended for experts by using: +你可以用 HTML 编写一个简短的安装文档,通过 HTML 的 class 功能同时为专家和初学者提供操作指南。例如,你可以用下面的代码来为专家定义一个段落: ```

``` -This assigns both the expert class and the reader class. You can create a parallel set of instructions for novices using: +这就同时指派了专家类 和读者类。 你可以用下面的代码来为初学者创建一个相同的段落。 ```

``` -The complete HTML file includes both paragraphs for novice readers and experts: +完整的 HTML 文件同时包含初学者的段落和专家的段落。 ``` @@ -65,11 +66,11 @@ most Linux distributions. Check your graphical package manager and search for Aw ``` -This sample HTML document doesn't have a stylesheet associated with it, so viewing this in a web browser shows both paragraphs: +例子中的 HTML 文档没有与之关联的样式表,所以浏览器中会显示所有的段落。 ![Image of html in black text.][2] -We can apply some basic styling to the document to highlight any element with the reader, expert, or novice classes. To make the different text classes easier to differentiate, let's set the reader class to an off-white background color, expert to a dark red text color, and novice to a dark blue text color: +我们可在文档中添加一些简单的样式来为 读者reader专家expert 或者 初学者novice 突出任何元素。为了使不同的文本更容易区分,让我们把读者类的背景颜色设置成米白色,专家类的字体颜色设置为深红色,初学者的字体颜色则设置为深蓝色。 ``` @@ -103,13 +104,13 @@ color: darkblue;

How to install the software

``` -These styles help the two sections stand out when you view the page in a web browser. Both paragraphs with the installation instructions have an off-white background color because they both have the reader class. The first paragraph uses dark red text, as defined by the expert class. The second installation paragraph is in dark blue text, from the novice class: +当你在浏览器中查看这个网页时,这些样式有助于这两个段落的突出。安装指导的所有段落都有一个米白色背景,因为他们都有 读者reader 这个类。第一个段落的字体是深红色的,这是由 专家expert 这个类定义的。第二个段落的字体是深蓝色的,则是由 初学者novice 这个类定义的。 ![Image of html in red and black text.][3] -### Add JavaScript controls +### 添加 JavaScript 控件 -With these classes applied, you can add a short JavaScript function that shows just one of the content blocks. One way to write this function is to first set `display:none` to all of the elements with the reader class. This hides the content so it won't display on the page. Then the function should set `display:block` to each of the elements with the class you want to display: +这些类的应用,使你可以添加一些简单的 JavaScript 函数,只显示其中一个内容块。一个方法是,首先给所有的读者类元素设置 `display:none` 。这会将内容隐藏,使其不会在页面上显示。然后,用函数将你想显示的类元素设置为 `display:block` : ``` ``` -To use this JavaScript in the HTML document, you can attach the function to a button. Since the `readerview`function takes an audience as its parameter, you can call the function with the audience class that you want to view, either novice or expert: +要在 HTML 文档中使用这个 JavaScript,你可以吧这个功能附加到一个按钮上。由于 `readerview` 函数需要一个听众audience(这应该是相对那个虚拟音乐播放器来说的)作为参数,你可以使用你想查看的听众类别来调用这个函数,可以是读者reader专家expert 或者 初学者novice 。 ``` @@ -199,21 +200,21 @@ manager and search for AwesomeProject to install it.

``` -With these controls in place, the web page now allows the user to select the text they want to see: +有了这些设置,用户可以在网页上选择他们想看的文本。 ![Image of window that allows you to select between novice and expert text.][4] -Clicking either button will show just the text the user wants to read. For example, if you click the “view novice text” button, then you'll see just the blue paragraph: +点击任何一个按钮都将只显示用户想要阅读的文本。例如,如果你点击了 “阅读初学者内容view novice text” 按钮,你就只会看到蓝色段落。 ![Image showing blue text when you press the novice button.][5] -Clicking the “view expert text” button hides the novice text and shows only the expert text in red: +点击 “阅读专家内容view expert text” 按钮,就会隐藏初学者文本,只显示红色的专家文本。 ![Image of red text after the expert button is clicked.][6] -### Extend this to your documentation +### 将此扩展到你的文档 -If your project requires you to write multiple how-to documents for different audiences, consider using this method to publish once and read twice. Writing a single document for all your users makes it easy for everyone to find and share the documentation for your project. And you won't have to maintain parallel documentation that varies in just the details. +如果你的项目需要你为不同的听众编写多个操作文档,你可以考虑使用这种方法,一次发布,多次阅读。为所有的用户编写一个文档,是每个人都能很容易的发现和分享你项目的文档。而你也不必同时维护尽在细节上有所不同的多个文档。 -------------------------------------------------------------------------------- @@ -221,7 +222,7 @@ via: https://opensource.com/article/22/12/dynamic-documentation-javascript 作者:[Jim Hall][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/duoluoxiaosehng) +译者:[duoluoxiaosheng](https://github.com/duoluoxiaosehng) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From eaa1a96fdf48213a085fc77b76d6f174a036c2b3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 20 Dec 2022 10:05:55 +0800 Subject: [PATCH 804/925] RP @Return7g https://linux.cn/article-15365-1.html --- ...play with your Raspberry Pi and ping pong balls.md | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) rename {translated/tech => published}/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md (64%) diff --git a/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/published/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md similarity index 64% rename from translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md rename to published/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md index 303c5388ae..bb08ef8d4b 100644 --- a/translated/tech/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md +++ b/published/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md @@ -3,16 +3,20 @@ [#]: author: "Brian McCafferty https://opensource.com/users/bdm" [#]: collector: "lkxed" [#]: translator: "Return7g" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15365-1.html" 利用树莓派和乒乓球制作一个假日彩灯 ====== +![][0] + +> 这个树莓派教程用于制作一个可编程的 LED 灯光显示器,非常适合各种技能水平的人。 + 我喜欢圣诞装饰品和灯饰,因此很长一段时间以来我一直想做一个可编程的 LED 项目。最近,我制作了一个由 LED 灯、乒乓球和树莓派 Zero 组成的灯阵列。这个项目相对简单并且具有教学价值,因此我认为它非常值得分享。 -整个彩灯由我设计,但其中一些灵感也来自 YouTube。你可以在我的 [Git 存储库][1] 中找到源代码和构建说明。 +整个彩灯由我设计,但其中一些灵感也来自 YouTube。你可以在我的 [Git 存储库][1] 中找到源代码和制作说明。 ### 购物清单 @@ -25,15 +29,14 @@ - 烙铁 - 焊锡丝 - 22 AWG 0.35mm 实芯线 -- 10 米 WS2812(B) LED灯带(每米 30 像素) +- 10 米 WS2812(B) LED 灯带(每米 30 像素) - 万用表 - 钢丝钳 - 剥线钳 - ### 设计树莓派的灯光效果 -这个设计是由我展框的大小决定的。我在全球速卖通买到了每米 30 像素的灯带,它可以轻松地切成 0.5m 的长度,这样我就有了 15 个 LED。 乒乓球的直径是 40 毫米,所以我测量并放置了 40 毫米的线,每 40 毫米部分的中间都有 LED 灯条,这就产生了 17 行。 因此我的灯光阵列是 15×17。你可以根据实际情况来调整尺寸。 +这个设计是根据我展框的大小决定的。我在全球速卖通买到了每米 30 像素的灯带,它可以轻松地切成 0.5 米的长度,每条有 15 个 LED 灯。乒乓球的直径是 40 毫米,所以我测量并隔开 40 毫米划了线,LED 灯条放在每隔 40 毫米的中间部分,这就产生了 17 条线。因此我的灯光阵列是 15×17。你可以根据实际情况来调整尺寸。 为了给灯带和树莓派供电,我在电路板底部设置了数据线和电源线。我的 LED 灯不需要很多电,所以我使用树莓派 Zero 的 5V 输出 GPIO 为它们供电。当我以 50% 的亮度运行时,这个亮度已经足以在白天和晚上透过我的窗户看到。 @@ -51,21 +54,23 @@ \---------------< # 这里连接树莓派 ``` -### 使用树莓派搭建显示屏 +### 使用树莓派制作显示屏 -当设计和布线的工作完成后就可以开始搭建显示屏了。 +当设计和布线的工作完成后就可以开始制作显示屏了。 -我在展板上测量并绘制了线路。我的灯带背面有胶带,所以我只需要取下背衬并将其贴在展板上。我检查了每个灯带的位置和数据线的方向以确保灯带可以按照树莓派的指令正确运作。 +我在展板上测量并绘制了线路。我的灯带背面有胶带,所以我只需要取下背衬并将其贴在展板上。我检查了每个灯带的位置和数据线的方向,以确保灯带可以按照树莓派的指令正确串联起来。 连接好所有灯带后,我剪下三段长度相同的电线,并将每个灯带末端的电源线、数据线和接地线连接到其上方。 ![Connect each light strip at the end of each line.][4] -在线路连接完成后,我检查了每条灯带之间的电源线和地线之间的连续性,以确保其连通性。我还检查了是否存在错误的桥接,所以我验证了电源线和地线之间的连续性。我还进行了一些测试以确保所有灯都正常点亮(参阅[测试代码][5]。) +在线路连接完成后,我检查了每条灯带之间的电源线和地线之间的连接,以确保其连通性。我还检查了是否存在错误的桥接,所以我验证了电源线和地线之间的连接。我还进行了一些测试以确保所有灯都正常点亮(链路测试参阅 [测试代码][5])。 -完成上述工作后,我开始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然后剪一个小洞让 LED 灯穿进去。我每米使用 30 个像素的 LED 灯,所以每个 LED 之间有大约 30 毫米的空隙。 +完成上述工作后,我开始在乒乓球上剪洞,用剪刀刺入乒乓球的底部,然后剪一个小洞让 LED 灯穿进去。手工不太行,每个球都不太一样,但效果真的很好。我使用的每米 30 个像素的 LED 灯,所以每个 LED 之间有大约 30 毫米的空隙。一个乒乓球是 40 毫米宽,但我不打算开始单独焊接每一个 LED!我想,这是很重要的。首先,我并不擅长焊接(正如我的照片所显示的),而且无论如何,我想“好吧,它们是乒乓球。我可以把它们压在一起!” -在 LED 灯上滴上热熔胶,然后在 LED 上放了一个乒乓球并按住大约五秒钟,就粘好了一个乒乓球。粘贴下一个乒乓球时我只需要挨着上一个乒乓球就能让所有乒乓球都变得整齐了 +我是这样做的: + +在 LED 灯上滴上热熔胶,然后在 LED 上放了一个乒乓球并按住大约五秒钟,就粘好了一个乒乓球。粘贴下一个乒乓球时我只需要挤着上一个乒乓球,就能让所有乒乓球都变得整齐了。我对它的外观很满意。它还有一个很好的好处,就是掩盖了我糟糕的焊接工作;) ![It's a tight fit, but the 40mm ping pong balls fit in a 30mm space just fine.][6] @@ -75,7 +80,7 @@ ### 测试代码 -测试代码需要确保所有部件都能正常工作,为此我使用了[Adafruit 指南][8],它以红、绿和蓝点亮每个 LED,然后依次进行循环。我在测试时使用它来确保我连接无误并且焊接正常。 +测试代码需要确保所有部件都能正常工作,为此我使用了这个 [Adafruit 指南][8],它以红、绿和蓝点亮每个 LED,然后依次进行循环。我在测试时使用它来确保我连接无误并且焊接正常。 在此之后,我在电子表格中设计了一个网格,将每个像素映射到一个网格位置。由于我的像素编号呈之字形排列,因此很难跟踪每个 LED(例如 A1 为 256,B1 为 226)。重新映射网格位置能使得我在构建图像时更容易。 @@ -89,13 +94,13 @@ ![An LED snowflake.][11] -### 全年可用的树莓派彩灯 +### 能玩一年的树莓派彩灯 -我不确定这是否已经完全完成了。自从把它摆放到橱窗里,几乎每个晚上我都会添加一些新的图像和动画。我已经在考虑除夕夜的时候要做成什么样了。它不会像圣诞装饰品一起在圣诞节后被放进储藏室。 我只需要在上面显示其它图案,就能使它成为一个全年可用的彩灯! 我的一个朋友推荐了像素马里奥,这听起来是个好主意! +我不确定这是否已经完全完成了。自从把它摆放到橱窗里,几乎每个晚上我都会添加一些新的图像和动画。我已经在考虑除夕夜的时候要做成什么样了。它不会像圣诞装饰品一起在圣诞节后被放进储藏室。我只需要在上面显示其它图案,就能使它成为一个能玩一年的彩灯!我的一个朋友推荐了像素版马里奥,这听起来是个好主意! -我的代码仍然需要完善。 例如,我做了一些滚动文本,但当我为文本的每个位置重新绘制时却花了很多时间。我想我可以用循环做一些事情,或者图像库可以帮助更轻松地滚动字母,并使添加文本更容易,而不是在每一步打开和关闭每个像素。 +我的代码仍然需要完善。例如,我做了一些滚动文本,但当我为文本的每个位置重新绘制时却花了很多时间。我想我可以用循环做一些事情,或者图像库可以帮助更轻松地滚动字母,并使添加文本更容易,而不是在每一步打开和关闭每个像素。 -这里有一张照片记录了我制作的全过程[LED 乒乓墙][12]。 +这里有一张照片记录了我制作的全过程:[LED 乒乓墙][12]。 可以在此处观看它的运行视频:[XMas 灯光展示][13]。 @@ -108,7 +113,7 @@ via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display 作者:[Brian McCafferty][a] 选题:[lkxed][b] 译者:[Return7g](https://github.com/Return7g) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -127,3 +132,4 @@ via: https://opensource.com/article/22/11/raspberry-pi-holiday-light-display [11]: https://opensource.com/sites/default/files/2022-11/IMG_20201127_215314.webp [12]: https://projects.bdm.scot/Xmas%20LED%20Wall%202020/ [13]: https://youtu.be/zc0501GzpMw +[0]: https://img.linux.net.cn/data/attachment/album/202212/20/095754r7q0z001lvx6p600.jpg \ No newline at end of file From a2c61c63b8fd6eb1652068c934e5c03e2f80e7bb Mon Sep 17 00:00:00 2001 From: toknow-gh Date: Wed, 21 Dec 2022 11:34:03 +0800 Subject: [PATCH 805/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20210917 Open source game achievements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210917 Open source game achievements.md b/sources/tech/20210917 Open source game achievements.md index 663e6387a2..c8ae732235 100644 --- a/sources/tech/20210917 Open source game achievements.md +++ b/sources/tech/20210917 Open source game achievements.md @@ -2,7 +2,7 @@ [#]: via: "https://fedoramagazine.org/open-source-game-achievements/" [#]: author: "Dennis Payne https://fedoramagazine.org/author/dulsi/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "toknow-gh" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ee66b0f93131eb6f7e7e6bbfcde68ae8203a5795 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 21 Dec 2022 16:18:01 +0800 Subject: [PATCH 806/925] RP @geekpi https://linux.cn/article-15368-1.html --- ...e Images With ‘Converter’ GUI Tool in Linux.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) rename {translated/tech => published}/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md (68%) diff --git a/translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/published/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md similarity index 68% rename from translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md rename to published/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md index 292044c8e9..eab96f22e5 100644 --- a/translated/tech/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md +++ b/published/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md @@ -3,20 +3,22 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15368-1.html" 在 Linux 中使用 “Converter” GUI 工具转换和操作图像 ====== -你可以随时在您的系统上[安装 ImageMagick][1] 来转换图像,但并不是每个人都喜欢使用终端来转换和操作图像。 +![][0] + +你可以随时在你的系统上 [安装 ImageMagick][1] 来转换图像,但并不是每个人都喜欢使用终端来转换和操作图像。 那么,如果你有一个 GUI 应用作为前端来帮助解决这个问题呢? **Converter** 就是这样的工具。 它是 ImageMagick 的前端。所以你不需要使用命令来转换和操作图像。 -请注意,大多数 Ubuntu 系统通常都预装了 ImageMagick。如果你的系统上还没有安装,你可以随时参考我们的[安装指南][1]。 +请注意,大多数 Ubuntu 系统通常都预装了 ImageMagick。如果你的系统上还没有安装,你可以随时参考我们的 [安装指南][1]。 ### Converter:ImageMagick 的图形前端 @@ -26,9 +28,9 @@ 我不想键入命令来快速转换图像。因此,我更喜欢使我能够更快地做事的图形工具。 -[Converter][3] 是一个开源图形前端,可以让你做到这点。它是一个 GTK4+libadwaita 应用。 +[Converter][3] 是一个开源图形前端,可以让你做到这点。它是一个 GTK4 + libadwaita 应用。 -你可以将图像转换为各种文件格式,包括 **png、webp、jpeg、heif、heic 和 bmp**。可以肯定地说,你获得了对最流行的图像文件格式的支持。所以,它应该会派上用场。 +你可以将图像转换为各种文件格式,包括 png、webp、jpeg、heif、heic 和 bmp。可以肯定地说,你获得了对最流行的图像文件格式的支持。所以,它应该会派上用场。 ![file format converter][4] @@ -36,29 +38,27 @@ ![customize converter][5] -你还可以调整图像的质量、大小和背景颜色。要访问这些选项,请在转换图像之前单击用户界面中的“**更多选项**”。 +你还可以调整图像的质量、大小和背景颜色。要访问这些选项,请在转换图像之前单击用户界面中的“更多选项More Options”。 ![converter more options][6] -可以使用百分比、精确像素或比率自定义图像大小。对于精确操作,更改尺寸应该有所帮助。 +可以使用百分比、精确像素或比率自定义图像大小。对于精确操作,更改尺寸可能更有用。如果你希望图像缩放到一定程度,百分比或比例功能应该可以帮助你做到这一点。你还可以选择为图像添加滤镜。 -如果你希望图像缩放到一定程度,百分比或比例功能应该可以帮助你做到这一点。你还可以选择为图像添加滤镜。 +总体而言,你可以获得使用 Converter 调整大小、转换和优化图像质量的基本功能。 -总体而言,您可以获得使用 Converter 调整大小、转换和优化图像质量的基本功能。 - -你还可以[调整 Nautilus][7] 以获得[右键单击上下文菜单中的调整大小选项][8]。它不会像这个工具那样通用。 +你还可以 [调整 Nautilus][7] 以获得 [右键单击上下文菜单中的调整大小选项][8]。但它不像这个工具那样通用。 ### 在 Linux 上安装 Converter Converter 在 [Flathub][9] 上以 Flatpak 的形式提供,可以安装在你选择的任何 Linux 发行版上。 -遗憾的是,你无法在 Linux 系统上安装任何二进制包。因此,你可能需要参考我们的 [Flatpak 指南][10]来安装它。 +遗憾的是,你无法在 Linux 系统上安装任何二进制包。因此,你可能需要参考我们的 [Flatpak 指南][10] 来安装它。 ``` flatpak install flathub io.gitlab.adhami3310.Converter ``` -你可以在其 [GitLab 页面][3]上探索更多相关信息。 +你可以在其 [GitLab 页面][3] 上探索更多相关信息。 _你对我们接下来要重点介绍的此类有趣工具有什么建议吗? 让我们在评论中知道。_ @@ -69,7 +69,7 @@ via: https://itsfoss.com/converter-tool/ 作者:[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/) 荣誉推出 @@ -85,3 +85,4 @@ via: https://itsfoss.com/converter-tool/ [8]: https://itsfoss.com/resize-images-with-right-click/ [9]: https://flathub.org/apps/details/io.gitlab.adhami3310.Converter [10]: https://itsfoss.com/flatpak-guide/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/21/161705qzvydyyd8v8y3cyh.jpg \ No newline at end of file From 83c2a2f216c6c705b707b7c1b1dc627eadbed9c2 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 21 Dec 2022 16:56:16 +0800 Subject: [PATCH 807/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @cool-summer-021 https://linux.cn/article-15369-1.html 翻译的很好,文字流畅准确。 --- ...6 Promises Much More than Faster Speeds.md | 96 +++++++++++++++++++ ...6 Promises Much More than Faster Speeds.md | 95 ------------------ 2 files changed, 96 insertions(+), 95 deletions(-) create mode 100644 published/20220608 WiFi 6 Promises Much More than Faster Speeds.md delete mode 100644 translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md diff --git a/published/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/published/20220608 WiFi 6 Promises Much More than Faster Speeds.md new file mode 100644 index 0000000000..959a4170f6 --- /dev/null +++ b/published/20220608 WiFi 6 Promises Much More than Faster Speeds.md @@ -0,0 +1,96 @@ +[#]: subject: "WiFi 6 Promises Much More than Faster Speeds" +[#]: via: "https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/" +[#]: author: "Sharon Katta https://www.opensourceforu.com/author/sharon-katta/" +[#]: collector: "lkxed" +[#]: translator: "cool-summer-021" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15369-1.html" + +WiFi 6 带来的不仅是高速 +====== + +> WiFi 6 提高了网络连通性,它在不久的将来有望为数万亿台设备组网,并且能够不间断而高效地工作。它虽然在 2019 年就取得了官方认证,但由于疫情原因,它的测试工作面临不少挑战。本文旨在对这项技术进行概述。 + +![WiFi-6][1] + +WiFi 技术的下一代标准,称为 “WiFi 6”,也可以称为 “AX WiFi” 或 “802.11ax”。它是为满足指数级增长的设备组网需求而产生的,因此也可以用于 VR 和智能家居。它是现有的 802.11ac WiFi 标准的升级版,可以应对现有技术在容量、效率、覆盖范围和性能方面遇到的挑战。 + +![Figure 1: WiFi 6][2] + +这项技术是在 2014 年进行研发,完成于 2018 年,由 IEEE 高性能无线网络研究组(HEW SG)发布。产品认证于 2019 年后期进行,此时三星 Galaxy Note 10 和 Ruckus R750 使用了这种技术。WiFi 6 运行于 1GHz 和 6GHz 波段,主要的频率为 2.4GHz-5GHz。 + +如今,每个家庭平均有九台设备需要连接 WiFi。WiFi 6 主要致力于改善网络质量,而不是提升某些设备的速度。 + +### WiFi 6的特点 + +- **多用户、多输入、多输出(MU-MIMO):** 路由器和多台设备可以同时通信。在 2.4GHz 和 5GHz 频率上,它支持四个同步的数据流,当这些数据流添加到一个用户时,可以从智能路由器接收到相当大的输入数据的带宽。 +- **1024-QAM:** 这令 WiFi 6 的每个数据包能编码的字节数更多,吞吐量增加了 25%。它不仅提高了大业务量情况下的通信效率,也最大限度增加了传输速率。这在现代企业应用系统领域有很大的优势。 +- **正交频分复用(OFDM):** 支持四倍的副载波,速度也提高了 11%。扩展的信号支持用户同时进行更多数据包传输。所以数据包之间的等待时间和延迟就减少了。 +- **增加的信道宽度:** 80MHz 的波段加入了 160MHz 的信道通信,信道宽度增加了一倍。因此,路由器可以容纳更多用户,为每个用户提供更大的数据流。 +- **目标唤醒时间(TWT):** 这是 WiFi 6 特有的。它支持每台设备独立协商发送和接收的唤醒时间。它可以增加总体睡眠时间,令电池寿命最大化。它还支持许多额外的网络选项,特别是对 IoT 设备的支持。 +- **提升安全性:** 一切支持 WiFi 6 的设备都需要包含 WPA3 协议。它可以对未经验证的通信进行加密,针对暴力字典攻击提供了强大的密码保护,以及对敏感信息进行 192 位的加密,提升数据的可靠性。 +- **波束赋形:** 借助八根天线,波束赋形能提高传输速率,通信范围也因直接定向到某个客户端而扩大。它对快速移动的、可能面临多用户、多输入、多输出的设备起到了支撑作用。波束赋形也有利于控制那些蓄意发出干扰信号的天线的传输。然后信号会被重新定向到新的目标。 + +### 支持 WiFi 6 的设备 + +到目前为止,路由器、中继器、网状网络和多数 WiFi 使用者还是以 WiFi 5 为标准。WiFi 6 是 2019 年推出的。一些支持 WiFi 5 的早期设备存在一些兼容性问题 —— 它们可以使用 WiFi 6 的网络,但得不到相应的支持服务。 + +WiFi 6 的路由器是向后兼容的。应该确保网络已经为此做好了准备。 + +WiFi 6 实现了较低的电量消耗,在任何场景(包括 IoT)下,都是个不错的选择。它减少了不必要的数据流动,还会通知设备何时将数据激活或令其睡眠。所以不必要的数据流动减少了,性能和电池寿命也提高了。 + +三星 Galaxy Note 10 和 Ruckus R750 是全球第一款经认证支持 WiFi 6 的智能手机和接入设备,苹果的最新款 iPhone 也紧随其后。WiFi 联盟已经确立了认证方案,正如人们预期的那样,等待入市的那些新款无线产品也开始申请认证了。下列设备已支持 WiFi 6: + +* iPhone 11 和之后的型号 +* 三星 Galaxy S10、S20、Note 10 和 Note 20 +* 配置 M1 处理器的苹果电脑 +* 智能电视 + +> 为了全面享受到 802.11ax 标准带来的改进,硬件和软件的功能都需要基于这种 WiFi 技术进行升级。 + +### 硬件测试 + +为了充分挖掘最新款设备的潜力,需要一台 WiFi 6 路由器来运行网络。几年前,这么做的成本很高,但现在我们有多种选择,甚至可以使用网格系统、游戏路由器、范围扩展器等等。只有在进行实际测试时,才可以购买最划算的设备。如今,在速度方面,TP-Link Archer AX6000 是最快的,它击败了所有的竞争者。这款路由器可以以 1523 Mbps 的速率无线传输数据,有效传输距离为 1.5米(5 英尺)。 + +很重要的一点,请务必记住,这些路由器提速,并不是在变魔术。理论上的最大速率 9.6 Gbps是实现不了的。这种理论上的最大速率,实际上也会被多台设备分摊掉。 + +WiFi 6 侧重于在连接设备密集的地方提供高质量的连接。它不会令单台设备的速率指数级增长,但会使相关的设备运行处于理想水平。 + +只有各大互联网服务提供商(ISP)的加速计划与 WiFi 6 路由器结合起来,才能体现它的真正潜力。真正的挑战是那些 ISP 承受的,因为它们需要铺设新型的光纤来利用这种下一代技术。存在一个重要的问题:当ISP 的通信速率变得更快,现有的硬件会变得多余吗? + +### WiFi 6 的应用 + +- **大型公共场所(LPV):** 体育馆和会议中心是上千台设备同时联网的公共场所。WiFi 6 能改善参会者体验,增强消费者互动,还能提供附加服务,比如即时回放,订购餐食等。它还支持 LPV 业主开拓新的商业机会。 +- **交通枢纽:** 公共交通站点也是人们需要同时联网的场所。OFDMA 和 BSS 这类明显具有 WiFi 6 色彩的技术为解决这种问题提供了必要的工具。 +- **物联网和智慧城市建设:** WiFi 6 的能效令物联网设备可以进入休眠模式,并且可以在预定的间隔内开启信号发射器,以便在无需过多维护的情况下增加现场作业时间。 +- **教育机构:** 大学校园内的图书馆、礼堂和报告厅内的日间 WiFi 使用密度是最高的,夜晚几乎没有人。WiFi 6 是这类场景的完美选项。 + +(LCTT 译注:相关产品推荐部分节略。) + +### 面临的挑战 + +WiFi 6 不一定使速度更快,但它能确保在一定范围内的设备速率不会在未来几年变慢。虽然它面临三重挑战,但这些问题常常被忽视。 + +- 需要对不支持的设备进行升级:即使 Wifi 6 向后兼容,但只能在最大限度使用这种技术时才能做得合理。这意味着每次都要更新设备。 +- 内部网络以外的速度和性能:WiFi 6 能为诸如云文件共享之类服务提供极好的连接性。然而,ISP 的相关资源也会影响速度和性能。 +- 覆盖范围问题:在各个国家,传输信号和带宽都是由法律规定上限的。因此,为了符合法律规定的上限,WiFi 6 的覆盖范围也是受限的。 + +尽管存在这些挑战,一些企业,像 Aruba、华硕、AT&T、Boingo、博通、思科、Comcast、CommScope、Cypress、Extreme Networks、英特尔、Netgear、Orange、高通、TP-Link 和小米,都在关注 WiFi 6 更多的可能性。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/ + +作者:[Sharon Katta][a] +选题:[lkxed][b] +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/sharon-katta/ +[b]: https://github.com/lkxed +[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6.jpg +[2]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6-1.jpg +[0]: https://img.linux.net.cn/data/attachment/album/202212/21/165355hi20ky6mchmj0h38.jpg \ No newline at end of file diff --git a/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md deleted file mode 100644 index 210c958523..0000000000 --- a/translated/tech/20220608 WiFi 6 Promises Much More than Faster Speeds.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "WiFi 6 Promises Much More than Faster Speeds" -[#]: via: "https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/" -[#]: author: "Sharon Katta https://www.opensourceforu.com/author/sharon-katta/" -[#]: collector: "lkxed" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -WiFi 6 带来的不仅是高速 -====== -WiFi 6 提高了网络连通性,它在不久的将来有望为数万亿台设备组网,并且能够不间断而高效地工作。它虽然在2019年就取得了官方认证,但由于疫情原因,它的测试工作面临不少挑战。本文旨在对这项技术进行概述。 - -![WiFi-6][1] - -WiFi 技术的下一代标准,称为 ‘WiFi 6’,也可以称为 ‘AX WiFi’ 或 ‘802.11ax’。它是为满足指数级增长的设备组网需求而产生的,因此也可以用于 VR 和智能家居。它是现有的 802.11ac WiFi 标准的升级版,可以应对现有技术在容量、效率、覆盖范围和性能方面遇到的挑战。 - -![Figure 1: WiFi 6][2] - -这项技术是在 2014 年进行研发,完成于2018年,由 IEEE 高性能无线网络研究组发布。产品认证于 2019 年后期进行,此时 Samsung Galaxy Note 10 和 Ruckus R750 使用了这种技术。WiFi 6 运行于 1GHz 和 6GHz 波段,主要的频率为 2.4GHz-5GHz。 - -如今,每个家庭平均有九台设备需要连接 Wifi。WiFi 6 主要致力于改善网络质量,而不是提升某些设备的速度。 - -### WiFi 6的特点 - -**多用户、多输入、多输出(MU-MIMO):** 路由器和多台设备可以同时通信。支持即时数据流,用户可以从智能路由器接收的输入数据的带宽很大,在频率为 2.4GHz-5GHz 时都是可行的。 -**1024-QAM:** 这令 WiFi 6 的每个数据包能编码的字节数更多,吞吐量增加了 25%。它不仅提高了大业务量情况下的通信效率,也最大限度增加了传输速率。这在现代企业应用系统领域有很大的优势。 -**正交频分复用(OFDM):** 支持四倍的负载波,速度也提高了 11%。扩展的信号支持用户进行更大的即时数据包传输。所以数据包之间的等待时间和延迟就减少了。 -*增加的信道宽度:* 80MHz的波段加入了160MHz的信道通信,信道宽度增加了一倍。因此,路由器可以容纳更多用户,为每个用户提供更大的数据流。 -*目标唤醒时间(TWT):* 这是 WiFi 6 特有的。它支持每台设备协商发送和接收的唤醒时间。它可以增加总体处于睡眠状态的时间,令电池寿命最大化。它还支持许多额外的网络选项,特别是对 IoT 设备的支持。 -*提升安全性:* 一切支持 WiFi 6 的设备都需要包含 WPA3 协议。它可以对未经验证的通信进行加密,针对暴力字典攻击提供强大的密码保护,以及对敏感信息进行 192 位的加密,提升数据的可靠性。 -*波束赋形:* 借助八根天线,波束赋形能提高传输速率,通信范围也因直接定向到某个客户端而扩大。它对快速移动的、可能面临多用户、多输入、多输出的设备起到了支撑作用。波束赋形也有利于控制那些蓄意发出干扰信号的天线的传输。然后信号会被重新定向到新的目标。 - -### 支持 WiFi 6的设备 - -到目前为止,路由器、中继器、网状网络和多数 WiFi 使用者还是以 WiFi 5 为标准。WiFi 6 是 2019 年推出的。一些支持 WiFi 5 的早期设备存在一些兼容性问题——它们可以使用 WiFi 6 的网络,但得不到相应的支持服务。 - -WiFi 6 的路由器是向后兼容的。应该确保网络已经为此做好了准备。 - -WiFi 6 实现了较低的电量消耗,在任何场景(包括 IoT)下,都是个不错的选择。它减少了不必要的数据流动,还会通知设备何时将数据激活或令其睡眠。所以不必要的数据流动减少了,性能和电池寿命也提高了。 - -Samsung Galaxy Note 10 和 Ruckus R750 是全球第一款经认证支持 WiFi 6 的智能手机和接入设备,Apple iPhone 最新款也紧随其后。WiFi 联盟建、确立了认证方案,正如人们预期的那样,等待入市的那些新款无线产品也开始申请认证了。下列设备已支持 WiFi 6: - -* iPhone 11 和之后的型号 -* Samsung Galaxy S10, S20, Note 10 和 Note 20 -* 配置 M1 处理器的苹果电脑 -* 智能电视 - -> 为了全面享受到 802.11ax 标准带来的改进,硬件和软件的功能都需要基于这种 WiFi 技术进行升级。 - -### 硬件测试 - -为了充分挖掘最新款设备的潜力,需要一台 WiFi 6 路由器来运行网络。几年前,这么做的成本很高,但现在我们有多种选项,甚至可以使用网格系统,游戏路由器,范围扩展器等等。只有在进行实际测试时,才可以购买最划算的设备。如今,在速度方面,TP-Link Archer AX6000 是最快的,它击败了所有的竞争者。这款路由器可以以 1523 Mbps 的速率无线传输数据,有效传输距离为 1.5米(5英尺)。 - -很重要的一点,请务必记住,这些路由器提速,并不是在变魔术。理论上的最大速率9.6 Gbps是实现不了的。这种理论上的最大速率,实际上也会被多台设备分摊掉。 - -WiFi 6 侧重于在连接设备密集的地方提供高质量的连接。它不会令单台设备的速率指数级增长,但会使相关的操作处于理想水平。 - -只有各大互联网服务提供商(ISP)的加速计划组合起来,加上 WiFi 6 路由器,才能体现它的真正潜力。真正的挑战是那些 ISP 承受的,因为它们需要铺设新型的光纤来利用这种下一代技术。存在一个重要的问题:当ISP 的通信速率变得更快,现有的硬件会变得多余吗? - -### WiFi 6 的应用 - -**大型公共场所(LPVs):** 体育馆和会议室是上千台设备同时联网的公共场所。WiFi 6 能改善参会者体验,增强消费者互动,还能提供附加服务,比如即时回放,订购餐食等。它还支持 LPV 业主开拓新的商业机会。 -**交通枢纽:** 公共交通站点也是人们需要同时联网的场所。OFDMA 和 BSS 这类明显具有 WiFi 6 色彩的技术为解决这种问题提供了必要的工具。 -**物联网和智慧城市建设:** WiFi 6 的效率令物联网设备可以进入休眠模式,并且可以以预定的间隔信号开启信号传送器,以便在无需过多维护的情况下增加现场作业时间。 -**教育机构:** 大学校园内的图书馆、礼堂和报告厅内的日间 WiFi 使用密度也是最高的,夜晚几乎没有人。WiFi 6 是这类场景的完美选项。 - -### 面临的挑战 - -WiFi 6 不一定使速度更快,但它能确保在一定范围内的设备速率不会在未来几年变慢。虽然它面临三重挑战,但这些问题常常被忽视。 -需要对不支持的设备进行升级:即使 Wifi 6 向后兼容,但只能在最大限度使用这种技术时才能做得合理。这意味着每次都要更新设备。 - -内部网络以外的速度和性能:WiFi 6 能为诸如云文件共享之类服务提供极好的连接性。然而,ISP 的相关资源也会影响速度和性能。 - -*覆盖范围问题:* 在各个国家,传输信号和带宽都是由法律规定上限的。因此,为了符合法律规定的上限,WiFi 6 的覆盖范围也是受限的。 - -尽管存在这些挑战,一些企业,像Aruba, Asus, AT&T, Boingo, Broadcom, 思科, Comcast, CommScope, Cypress, Extreme Networks, 英特尔, Netgear, Orange, Qualcomm, TP-Link 和小米,都在关注 WiFi 6 更多的可能性。 - -(LCTT 译注:选题删除了原文中的相关产品推荐部分。) - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/06/wifi-6-promises-much-more-than-faster-speeds/ - -作者:[Sharon Katta][a] -选题:[lkxed][b] -译者:[cool-summer-021](https://github.com/cool-summer-021) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/sharon-katta/ -[b]: https://github.com/lkxed -[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6.jpg -[2]: https://www.opensourceforu.com/wp-content/uploads/2022/05/WiFi-6-1.jpg From c9a02f4fcd686f669d6d58147b5f4aa1c17b8998 Mon Sep 17 00:00:00 2001 From: fuyanjie Date: Wed, 21 Dec 2022 19:53:44 +0800 Subject: [PATCH 808/925] translated --- ...in Ubuntu and other Linux Distributions.md | 187 ------------------ ...in Ubuntu and other Linux Distributions.md | 186 +++++++++++++++++ 2 files changed, 186 insertions(+), 187 deletions(-) delete mode 100644 sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md create mode 100644 translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md diff --git a/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md b/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md deleted file mode 100644 index ac6e8dca33..0000000000 --- a/sources/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md +++ /dev/null @@ -1,187 +0,0 @@ -[#]: subject: "How to Record Streaming Audio in Ubuntu and other Linux Distributions" -[#]: via: "https://itsfoss.com/record-streaming-audio/" -[#]: author: "Abhishek Prakash https://itsfoss.com/" -[#]: collector: "lkxed" -[#]: translator: "FYJNEVERFOLLOWS" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Record Streaming Audio in Ubuntu and other Linux Distributions -====== -How to record audio in Ubuntu and other Linux distributions? - -If you want to record a voice over through the microphone of your computer, you can use GNOME Sound recorder or Audacity. - -Using GNOME Sound Recorder is easy but it lacks features. Audacity could be overwhelming initially but it has plenty of features for professional level recording. However, I am not going into that detail in this tutorial. - -GNOME Sound Recorder works with the microphone. There is another tool called Audio recorder and you can use it to record streaming music (from Sptify, YouTube, internet radio, Skype and most other sources) apart from microphone input. - -To summarize, I’ll show you the steps: - -* To record sound using GNOME Sound Recorder -* To record streaming audio using Audio Recorder - -### Using Sound Recorder to record audio from the microphone - -GNOME desktop environment has a good variety of useful applications. Sound Recorder is one of them. - -You can install the [Sound Recorder][1] from the Ubuntu Software Center. - -![Sound Recorder can be installed from the Ubuntu Software Center][2] - -Or, you can use this command in the terminal to install it: - -``` -sudo apt install gnome-sound-recorder -``` - -Once installed, you can find it in the system menu and start from there. - -![GNOME Sound Recorder][3] - -Before you start using it, you should ensure that you have the correct input source chosen in the system settings. GNOME Sound Recorder - -![Ensure that you have chosen correct input in system settings][4] - -Once you open the Sound Recorder application, it will show an interface like the one below. - -![Hit the Record button to start audio recording][5] - -Hit on the record button and it starts recording audio instantly. While recording, you get options to pause, stop or discord the recording. - -![Options while recording audio][6] - -Your recordings are saved and available from the application interface itself. Click on the saved recordings to highlight it. - -You can replay the recordings or delete it. You can choose to save it to another location by clicking the save/download button. You may also rename the recordings using the edit button. - -![Saved recordings][7] - -That’s quite convenient, right? You can choose to record in MP3, FLAC and a couple of more formats. - -#### Removing GNOME Sound Recorder - -Don’t like it or find it lacking in terms of features? - -You can remove GNOME Sound Recorder from the Ubuntu Software Center or use the following command: - -``` -sudo apt remove gnome-sound-recorder -``` - -The application of GNOME Sound recorder is limited. It only records from the microphone and this is not what you would want in certain situations. - -Imagin you want to record a Skype call or something which is playing in an application or web browser? The nifty Audio Recorder helps in such cases. - -### Using Audio Recorder to record streaming audio - -You can watch this video to see how to use Audio Recorder. It’s a bit old but the steps are the same. - -![A Video from YouTube][8] - -[Subscribe to our YouTube channel for more Linux videos][9] - -You can use the [official PPA][10] to install Audio Recorder in Ubuntu and Linux Mint. Use the following commands in the terminal (Ctrl+Alt+T) one by one: - -``` -sudo apt-add-repository ppa:audio-recorder/ppa -sudo apt update -sudo apt install audio-recorder -``` - -Alternatively, you can download the source code from [launchpad][11]. Once installed, you can start the application from the Activity Overview: - -![Audio Recorder][12] - -#### Record all kinds of sound from various sources - -Audio Recorder records all kinds of sounds your computer makes. - -It records audio played through your system’s soundcard, microphones, browsers, webcams and more. - -In other words, it records even if your system sneezes (given that you want to record it). It allows you to select the recording device such as webcam, microphone, Skype, etc. - -To record the streaming music, select the appropriate source. For example, if you are playing streaming radio in Rhythmbox, then select Rythmbox. - -![Audio-Recorder Audio Settings][13] - -#### Record at your convenience - -Audio Recorder also gives you the option of setting timer. You can start, stop or pause recording at a given clock time or at a pre-defined interval. You can also set the limit on the recorded file size. - -Moreover, you can pause (and stop) when there is no audio (or very low sound) and resume it when sound comes back. - -All you have to do is to edit the text in the Timer panel. Comment out the “rules” you don’t want to apply and edit the ones per your requirement. - -![Audio-recorder Timer Settings][14] - -It provides additional settings like auto start at login, show tray icon and other record settings. - -![Audio-recorder Additional Settings][15] - -#### Save the recorded music file in various file formats - -Another gem. You can save the recorded file in your favourite file format. Supported file formats are OGG audio, Flac, MP3, SPX and WAV. I prefer MP3 for my recordings. - -The **recorded files are stored in ~/Audio** i.e., in the Audio folder inside your home directory. - -![Audio-recorder Audio Formats][16] - -#### How good is Audio Recorder? - -I used Audio Recorder in Ubuntu to [record the music played on YouTube][17]. I saved a 2-minute video in MP3 format that took 934 KB of space. But I must say I was not expecting the recorded sound quality to be so good. Honestly, I could not distinguish it from the original YouTube song. - -#### Removing Audio Recorder - -If you don’t find Audio Recorder to your liking, you can remove it using the following commands: - -``` -sudo apt remove audio-recorder -``` - -It will be a good idea to [remove the PPA as well][18]: - -``` -sudo apt-add-repository -r ppa:audio-recorder/ppa -``` - -### Conclusion - -There are probably several other tools for audio recording in Linux. Like GNOME, other desktop environments may also have sound recording apps. I know Deepin has one for sure. - -GNOME Sound Recorder is a decent tool for recording sound from your microphone. For recording sound from various sources, Audio Recorder is a good choice. - -I hope it helps with your audio recording needs. Let me know if you have any suggestions. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/record-streaming-audio/ - -作者:[Abhishek Prakash][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/ -[b]: https://github.com/lkxed -[1]: https://wiki.gnome.org/Apps/SoundRecorder -[2]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder-ubuntu.png -[3]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder.png -[4]: https://itsfoss.com/wp-content/uploads/2022/08/microphone-settings-ubuntu.png -[5]: https://itsfoss.com/wp-content/uploads/2022/08/using-sound-recorder-linux.png -[6]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recording-with-sound-recorder.png -[7]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder-interface.png -[8]: https://youtu.be/o7Ia2QGeB7Q -[9]: https://www.youtube.com/c/itsfoss?sub_confirmation=1 -[10]: https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa -[11]: https://launchpad.net/audio-recorder -[12]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-in-overview.png -[13]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-audio-settings.png -[14]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-timer-settings.png -[15]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-additional-settings.png -[16]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-audio-formats.png -[17]: https://itsfoss.com/youtube-dl-audio-only/ -[18]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ diff --git a/translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md b/translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md new file mode 100644 index 0000000000..7287e7da5c --- /dev/null +++ b/translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md @@ -0,0 +1,186 @@ +[#]: subject: "How to Record Streaming Audio in Ubuntu and other Linux Distributions" +[#]: via: "https://itsfoss.com/record-streaming-audio/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: "FYJNEVERFOLLOWS" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Ubuntu 和其他 Linux 发行版中录制流音频 +====== +如何在 Ubuntu 和其他 Linux 发行版中录制音频? + +如果你想通过计算机的麦克风录制语音,可以使用 `GNOME Sound Recorder` 或 `Audacity`。 + +使用 `GNOME Sound Recorder` 很简单,但它缺乏功能。`Audacity` 最初可能会让人无法抗拒,但它有很多专业级录音的功能。然而,在本教程中,我不会详细讨论这个问题。 + +`GNOME Sound Recorder` 能与麦克风配合使用。还有一个叫做 `Audio recorder` 的工具,除了麦克风输入,你可以使用它来录制流媒体音乐(来自 Sptify、YouTube、互联网广播、Skype 和其他大多数来源)。 + +总而言之,我将向你展示以下步骤: + +* 使用 `GNOME Sound Recorder` 录制声音 +* 使用 `Audio Recorder` 录制流音频 + +### 使用 `Sound Recorder` 从麦克风录制音频 + +`GNOME` 桌面环境有很多有用的应用程序。Sound Recorder 就是其中之一。 + +你可以从 `Ubuntu` 软件中心安装 [Sound Recorder][1]。 + +![Sound Recorder can be installed from the Ubuntu Software Center][2] + +或者,你可以在终端中使用此命令来安装它: + +``` +sudo apt install gnome-sound-recorder +``` + +安装后,你可以在系统菜单中找到它并从那里开始。 + +![GNOME Sound Recorder][3] + +在开始使用它之前,应确保在系统设置中选择了正确的输入源 + +![Ensure that you have chosen correct input in system settings][4] + +一打开 `Sound Recorder`,它将显示如下界面。 + +![Hit the Record button to start audio recording][5] + +点击录制按钮,它立即开始录制音频。录制时,你可以选择暂停、停止或取消录制。 + +![Options while recording audio][6] + +你的录音将保存并可从应用程序界面本身获得。单击保存的录音以突出显示。 + +你可以回放或删除录音。你可以通过单击保存/下载按钮选择将其保存到其他位置。你也可以使用编辑按钮重命名录音。 + +![Saved recordings][7] + +这很方便,对吧?你可以选择以 `MP3`、`FLAC` 和多种格式录制。 + +#### 删除 GNOME Sound Recorder + +不喜欢它或发现它缺乏功能? + +你可以从 `Ubuntu` 软件中心删除 `GNOME Sound Recorder` 或使用以下命令: + +``` +sudo apt remove gnome-sound-recorder +``` + +`GNOME Sound Recorder` 的应用受到限制。它只从麦克风录制,在某些情况下这不是你想要的。 + +想象一下你想录制 Skype 通话或在应用程序或网络浏览器中播放的内容?在这种情况下,漂亮的 `Audio Recorder` 会有所帮助。 + +### 使用 Audio Recorder 来录制流音频 + +你可以观看以下视频以了解如何使用 `Audio Recorder`。它有点旧,但步骤是一样的。 + +![A Video from YouTube][8] + +[Subscribe to our YouTube channel for more Linux videos][9] +你可以使用 [官方 PPA][10] 在 Ubuntu 和 LinuxMint 中安装 `Audio Recorder`。在终端中依次使用以下命令(`Ctrl+Alt+T`): + +``` +sudo apt-add-repository ppa:audio-recorder/ppa +sudo apt update +sudo apt install audio-recorder +``` + +或者,你可以从[启动台][11]下载源代码。安装后,你可以从“活动概述”里启动应用程序: + +![Audio Recorder][12] + +#### 记录不同来源的各种声音 + +`Audio Recorder` 记录计算机产生的各种声音。 + +它记录通过系统声卡、麦克风、浏览器、网络摄像头等播放的音频。 + +换句话说,即使你的系统打喷嚏,它也会记录(如果你想记录的话)。它允许你选择录制设备,如网络摄像头、麦克风、Skype等。 + +要录制流媒体音乐,请选择适当的源。例如,如果你正在Rhythmbox 中播放流媒体广播,请选择 Rythbox。 + +![Audio-Recorder Audio Settings][13] + +#### 在你方便的时候录制 + +`Audio Recorder` 还提供了设置计时器的选项。你可以在给定的时钟时间或预定义的间隔开始、停止或暂停录制。你还可以设置录制文件大小的限制。 + +此外,你可以在没有音频(或声音很低)时暂停(和停止),并在声音恢复时继续。 + +你所要做的就是编辑计时器面板中的文本。注释掉你不想应用的“规则”,并根据你的要求编辑这些规则。 + +![Audio-recorder Timer Settings][14] + +它提供了其他设置,如登录时自动启动、显示托盘图标和其他记录设置。 + +![Audio-recorder Additional Settings][15] + +#### 以各种文件格式保存录制的音乐文件 + +另一个宝藏。你可以将录制的文件保存为你喜爱的文件格式。支持的文件格式有 OGG 音频、Flac、MP3、SPX 和 WAV。我录音时更喜欢用 MP3 格式。 + +**录制的文件存储在 `~/Audio`** 中,即主目录中的 `Audio` 文件夹中。 + +![Audio-recorder Audio Formats][16] + +#### `Audio Recorder` 有多好? + +我在 Ubuntu 中使用 `Audio Recorder` [录制YouTube上播放的音乐][17]。我用 MP3 格式保存了一段 2 分钟的视频,占用了 934 KB 的空间。但我必须说,我没想到录制的音质会这么好。老实说,我无法将它与 YouTube 上的原始歌曲区分开来。 + +#### 删除 `Audio Recorder` + +如果你不喜欢 `Audio Recorder`,可以使用以下命令将其删除: + +``` +sudo apt remove audio-recorder +``` + +[同时删除 PPA][18] 是个好主意: + +``` +sudo apt-add-repository -r ppa:audio-recorder/ppa +``` + +### 结论 + +Linux 中可能还有其他几种用于音频录制的工具。像 `GNOME` 一样,其他桌面环境也可能有录音应用程序。我知道 `Deepin` 肯定有一个。 + +`GNOME Sound Recorder` 是一个不错的工具,用于从麦克风录制声音。对于录制各种来源的声音,`Audio Recorder` 是一个不错的选择。 + +我希望这篇文章能满足你的录音需求。如果你有什么建议,请告诉我。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/record-streaming-audio/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/FYJNEVERFOLLOWS) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://wiki.gnome.org/Apps/SoundRecorder +[2]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder-ubuntu.png +[3]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder.png +[4]: https://itsfoss.com/wp-content/uploads/2022/08/microphone-settings-ubuntu.png +[5]: https://itsfoss.com/wp-content/uploads/2022/08/using-sound-recorder-linux.png +[6]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recording-with-sound-recorder.png +[7]: https://itsfoss.com/wp-content/uploads/2022/08/sound-recorder-interface.png +[8]: https://youtu.be/o7Ia2QGeB7Q +[9]: https://www.youtube.com/c/itsfoss?sub_confirmation=1 +[10]: https://launchpad.net/~audio-recorder/+archive/ubuntu/ppa +[11]: https://launchpad.net/audio-recorder +[12]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-in-overview.png +[13]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-audio-settings.png +[14]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-timer-settings.png +[15]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-additional-settings.png +[16]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-audio-formats.png +[17]: https://itsfoss.com/youtube-dl-audio-only/ +[18]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ From 645336b1366b52a16ba43de6642204a30895f2d6 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 22 Dec 2022 15:03:30 +0800 Subject: [PATCH 809/925] RP @chai001125 https://linux.cn/article-15371-1.html --- ... 5 Best Linux Phones to Watch Out for in 2023.md | 86 ++++++++++--------- 1 file changed, 46 insertions(+), 40 deletions(-) rename {translated/tech => published}/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md (72%) diff --git a/translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/published/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md similarity index 72% rename from translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md rename to published/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md index e83a6dd39a..7673c4a30d 100644 --- a/translated/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md +++ b/published/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md @@ -3,18 +3,20 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15371-1.html" -2023 年值得期待的 5 个最好的 Linux 手机 +2023 年值得期待的 5 款最佳 Linux 手机 ====== ->以下是一份**可能在 2023 年成为手机界主流的最好的 Linux 手机榜单**,其中还例举了各个 Linux 手机的**特点和价格**。 +![][0] -安卓和 iOS 智能手机是世界上最流行的手机。然而,还有许多人都想要更"开放"、且**在隐私方面做得更好的手机**。如果你使用安卓手机,那么你就是放弃了你的隐私。在个人隐私保护方面,苹果的 iOS 手机表现得要好一点,但它也仅提供了有限的隐私保护。 +> 以下是一份可能在 2023 年成为主流的最佳 Linux 手机榜单,并介绍了各个 Linux 手机的特点和价格。 -这就是现在 Linux 手机变得很流行的原因,因为它们为开发者和终端用户提供了许多选择。虽然,各种类型的 Linux 手机都已经上市,但是要选择最好的 Linux 手机仍然十分困难。从 2022 年的趋势来看,以下是一些可能在 2023 年成为主流的 Linux 手机。 +安卓和 iOS 智能手机是世界上最流行的手机。然而,还有许多人都想要更“开放”、且**在隐私方面做得更好的手机**。如果你使用安卓手机,那么你就是放弃了你的隐私。在个人隐私保护方面,苹果的 iOS 手机表现得要好一点,但它也仅提供了有限的隐私保护。 + +这就是现在 Linux 手机变得很流行的原因,因为它们为开发者和终端用户提供了许多选择。虽然目前有各种类型的 Linux 手机,但是要选择最好的 Linux 手机仍然令人困惑。从 2022 年的趋势来看,以下是一些可能在 2023 年成为主流的 Linux 手机。 ### 关于 Linux 手机,你需要知道的事情 @@ -28,13 +30,13 @@ #### 1、Librem🥇 -**Purism** 公司是 Linux 手机市场上一个相当著名的品牌。Purism 公司推出的 **Librem 5 Linux** 智能手机支持 **PureOS**。PureOS 是一个专为 Linux 手机设计的操作系统,不基于安卓或 iOS 系统;并且它是一个开源的操作系统;它还支持 融合 convergence ,这意味着你可以通过 USB 集线器将手机插入电脑显示器,并将其作为一个桌面操作系统使用🆒。 +**Purism** 公司是 Linux 手机市场上一个相当著名的品牌。Purism 公司推出的 **Librem 5 Linux** 智能手机支持 **PureOS**。PureOS 是一个专为 Linux 手机设计的操作系统,不基于安卓或 iOS 系统,它是一个原生设计的自由开源的操作系统;它还支持 融合 convergence ,这意味着你可以通过 USB 集线器将手机插入电脑显示器,并将其作为一个桌面操作系统使用🆒。 -这款手机拥有优质的硬件和手感,并还十分注重安全和隐私。但是,这款令人印象深刻的智能手机价格有点贵,售价为 1299 美元💔。 +这款手机拥有优质的硬件和手感,还十分注重安全和隐私。但是,这款令人印象深刻的智能手机价格有点贵,售价为 1299 美元💔。 -#### Librem 5 Linux 的主要特点和规格 +Librem 5 Linux 的主要特点和规格: -- 完全免费和开源的,基于 Linux 的移动操作系统:PureOS +- 完全的自由开源,基于 Linux 的移动操作系统:PureOS - 拥有独立的调制解调器、Wi-Fi 和蓝牙芯片 - 拥有 3 个专门的硬件键,来启用和禁用互联网、相机、Wi-Fi 和蓝牙 - 拥有智能卡读卡器 @@ -45,13 +47,13 @@ | 规格 | 描述 | | :- | :- | -| **屏幕** | 5.7 英寸(IPS TFT 720×1440) | -| **运行内存 RAM** | 3 GB | -| **内存** | 32 GB eMMC | +| **屏幕** | 5.7 英寸(IPS TFT 720×1440) | +| **内存** | 3 GB | +| **存储** | 32 GB eMMC | | **电池容量** | 4500 mAh | | **CPU** | NXP i.MX 8M QUAD CORE Cortex-A53(四核),64 位 ARM,最高主频为 1.5GHz | | **GPU** | Vivante GC7000 Lite | -| **屏幕尺寸、材质、分辨率** | 5.7 英寸,IPS TFT,720×1440 像素 | +| **屏幕** | 5.7 英寸,IPS TFT,720×1440 像素 | | **摄像头** | 带 LED 闪光灯的 1300 万像素(后置)摄像头和 800 万像素(前置)摄像头 | | **USB 接口** | Type C 接口 | @@ -63,12 +65,12 @@ Linux 手机榜单的第 2 名是 **Pinephone**。Pinephone 也许是市场上 此外,PinePhone 同时有很多个版本,其中包括专业版本。PinePhone 的价格比较便宜,并且十分注重用户的隐私和可扩展性,如果你是第一次使用 Linux 手机,PinePhone 将会是一个不错的选择😌。 -#### Pinephone 的主要特点和规格 +Pinephone 的主要特点和规格: - 支持的操作系统有 KDE Plasma mobile、Manjaro mobile、Sailfish OS 和 Ubuntu touch。 - 配备启用和禁用 LTE、摄像头、Wifi/BT 和麦克风的 5 个开关 - 可启动的 microSD 和 16GB/32GB eMMC 的内存空间 -- Type C 接口(可用于电源、数据和视频输出) +- Type C 接口(可用于电源、数据和视频输出) - 拥有 6 个 Pogo 引脚,允许自定义硬件扩展,如热像仪、无线充电、NFC、扩展电池盒或键盘盒。 - 拥有 3.5 毫米耳机插孔 - 支持融合,可将其插到一台电脑上 @@ -81,8 +83,8 @@ Linux 手机榜单的第 2 名是 **Pinephone**。Pinephone 也许是市场上 | **屏幕** | 5.95 英寸,高清 IPS 电容式触摸屏 | | **CPU** | Allwinner A64 ARM QUAD Core Cortex-A53(四核),64 位 | | **GPU** | Mali-400 MP2 | -| **运行内存 RAM** | 2 种型号:2GB 和 3GB LPDDR3 SDRAM | -| **内存** | 2 种型号:16GB and 32GB eMMC. | +| **内存** | 2 种型号:2GB 和 3GB LPDDR3 SDRAM | +| **存储** | 2 种型号:16GB and 32GB eMMC | | **摄像头** | 500 万像素、1/4英寸、LED 闪光灯(后置)摄像头和 200 万像素、1/5英寸(前置)摄像头 | | **电池** | 锂离子电池(容量为 2800 mAh) | | **音频插孔** | 3.5 毫米 | @@ -99,38 +101,38 @@ Pro 1 X 由伦敦的 **F(x)tec** 公司开发。它是 Linux 手机市场上新 ![Pro 1 X][6] -#### Pro 1 X 的主要特点和规格 +Pro 1 X 的主要特点和规格: -- 首款基于 Linux 的、有内置滑出式键盘的智能手机 +- 首款基于 Linux 的、有内置滑出式的 QUERTY 键盘的智能手机 - 支持 Ubuntu touch 操作系统,并有安卓选项 -- 解锁的启动程序 +- 已解锁的启动程序 - 拥有 3.5 毫米耳机插孔 - 拥有 AMOLED 显示屏 -- 128 GB 内存/6 GB 运行内存:售价为 829 美元起 -- 256 GB 内存/8 GB 运行内存:售价为 899 美元起 +- 128 GB 存储/6 GB 内存:售价为 829 美元起 +- 256 GB 存储/8 GB 内存:售价为 899 美元起 | 规格 | 描述 | | :- | :- | | **CPU** | Snapdragon 662 Qualcomm | | **GPU** | Adreno 610 Qualcomm | -| **运行内存 RAM** | 2 种型号:6GB 和 8GB LPDDR4 | -| **内存** | 128 GB(可扩展至 2 TB) | +| **内存** | 2 种型号:6GB 和 8GB LPDDR4 | +| **存储** | 128 GB(可扩展至 2 TB) | | **屏幕** | 5.99英寸,弧形边缘,Corning® Gorilla® Glass 3(分辨率为 2160 x 1080 像素的 AMOLED 显示屏) | | **摄像头** | 1200 万像素 Sony IMX363(后置)摄像头和800万像素(前置)摄像头 | | **电池容量** | 3200 mAh | | **音频插孔** | 3.5 毫米 | -它的内置滑出式键盘有没有吸引到你呢?去 [pro 1 x 的购买官网][5] 看看吧。 +它的内置滑出式键盘是否吸引了你?去 [pro 1 x 的购买官网][5] 看看吧。 #### 4、Volla Phone [Volla Phone][7] 可以同时运行**两个操作系统:Ubuntu Touch 和 VollaOS**。 -VollaOS 是一个安卓操作系统的修改版,没有谷歌,同时也很注重用户的隐私;Ubuntu Touch 是一个流行的 Linux 手机发行版。 +VollaOS 是一个安卓操作系统的修改版,没有谷歌专有的部分,同时也很注重用户的隐私;Ubuntu Touch 是一个流行的 Linux 手机发行版。 -#### Volla Phone 的主要特点和规格 +Volla Phone 的主要特点和规格: -- 没有谷歌及其服务 +- 没有谷歌专有部分及其服务 - 不依赖云计算 - 加密的设备存储 - 使用安卓操作系统的修改版:Volla OS @@ -146,9 +148,9 @@ VollaOS 是一个安卓操作系统的修改版,没有谷歌,同时也很注 | :- | :- | | **CPU** | MediaTek Helio P23 | | **GPU** | ARM Mali-G71 MP2  | -| **内存** | 64 GB,eMMC | -| **运行内存 RAM** | 4 GB DDR3 RAM | -| **屏幕尺寸、材质、分辨率** | 6.3 英寸,IPS,2340×1080 像素 | +| **内存** | 4 GB DDR3 RAM | +| **存储** | 64 GB,eMMC | +| **屏幕** | 6.3 英寸,IPS,2340×1080 像素 | | **摄像头** | 1600万像素带闪光灯的(后置)摄像头和1600万像素(前置)摄像头 | | **电池容量** | 4700 mAh | | **USB 接口** | Type C 接口和 3.5 毫米音频插孔 | @@ -159,13 +161,15 @@ VollaOS 是一个安卓操作系统的修改版,没有谷歌,同时也很注 [Fairphone 4][10] 是另一款具有模块化硬件的 Linux 智能手机。它支持 PostmarketOS 操作系统,并使用安卓操作系统的修改版本:FairPhone OS。这个手机的主要卖点是它的 模块化 modularity ,你可以替换手机的任何模块:你可以毫不费力地更换它的电池🔋;此外,不仅仅是更换电池,你还可以简单地用螺丝刀来更换它的显示屏等部件。 -#### Fairphone 4 的规格 +![][14] + +Fairphone 4 的规格: | 规格 | 描述 | | :- | :- | | **CPU** | Octa-Core Kryo 570(八核) | -| **运行内存 RAM** | 2 种型号:6GB 和 8GB | -| **内存** | 2 种型号:128GB 和 256GB | +| **内存** | 2 种型号:6GB 和 8GB | +| **存储** | 2 种型号:128GB 和 256GB | | **GPU** | Adreno 619 | | **屏幕** | 6.3 英寸,全高清,IPS | | **摄像头** | 2 个 4800 万像素(后置)摄像头和 2500 万像素(前置)摄像头 | @@ -182,16 +186,16 @@ VollaOS 是一个安卓操作系统的修改版,没有谷歌,同时也很注 - Sony Xperia X (F5121 & F5122) - Google Nexus 5 - OnePlus One -- 支持 Ubuntu Touch OS 操作系统的[完整列表][12] +- 支持 Ubuntu Touch OS 操作系统的 [完整列表][12] - Xiaomi Redmi 2 - Xiaomi Mi Note 2 - OnePlus GT - OnePlus 6 -- 支持 PostmarketOS 操作系统的[完整列表][13] +- 支持 PostmarketOS 操作系统的 [完整列表][13] ### 结语 -以上就是关于如今市场上最好的 Linux 手机的全部内容了。你可以从这些手机的官方网站上,了解更多信息。因为手机的隐私保护在当下变得越来越重要了,我相信在未来会有越来越多的人使用 Linux 手机。 +以上就是关于如今市场上最好的 Linux 手机的全部内容了。你可以从这些手机的官方网站上了解更多信息。因为手机的隐私保护在当下变得越来越重要了,我相信在未来会有越来越多的人使用 Linux 手机。 诚然,Linux 手机本身的功能及其操作系统比不上安卓和苹果 iOS 手机。但是,对于 Linux 手机来说,更重要的是它的标准的设立、全球购买的可行性、在这一新兴市场的低入门价格以及对 Linux 手机应用生态系统的大力投资。在 Linux 手机的生态系统中需要更简化的界面,没有简单的界面,Linux 手机将变得更加零散,就像台式机一样。Linux 手机的制造商还需要和自由及开源软件(FOSS)参与者一起合作,最终才能使 Linux 手机广受欢迎。 @@ -202,7 +206,7 @@ via: https://www.debugpoint.com/best-linux-phones/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[chai001125](https://github.com/chai001125) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -221,3 +225,5 @@ via: https://www.debugpoint.com/best-linux-phones/ [11]: https://shop.fairphone.com/ [12]: https://devices.ubuntu-touch.io/ [13]: https://wiki.postmarketos.org/wiki/Devices +[0]: https://img.linux.net.cn/data/attachment/album/202212/22/145904l88upudto8u7y3ui.jpg +[14]: https://img.linux.net.cn/data/attachment/album/202212/22/150220zuowaoguya3azajw.jpg \ No newline at end of file From d225b166970845019fdff0719e984c87d66abe52 Mon Sep 17 00:00:00 2001 From: CanYellow Date: Thu, 22 Dec 2022 15:08:03 +0800 Subject: [PATCH 810/925] translated (#28285) * t1 * tranlatng * translating * translated * translated * Delete test.md --- ...inciples will impact the future of work.md | 93 ------------------ ...inciples will impact the future of work.md | 97 +++++++++++++++++++ 2 files changed, 97 insertions(+), 93 deletions(-) delete mode 100644 sources/tech/20210103 How open principles will impact the future of work.md create mode 100644 translated/tech/20210103 How open principles will impact the future of work.md diff --git a/sources/tech/20210103 How open principles will impact the future of work.md b/sources/tech/20210103 How open principles will impact the future of work.md deleted file mode 100644 index c7ecf68511..0000000000 --- a/sources/tech/20210103 How open principles will impact the future of work.md +++ /dev/null @@ -1,93 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (CanYellow) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (How open principles will impact the future of work) -[#]: via: (https://opensource.com/open-organization/21/1/open-is-future-of-work) -[#]: author: (Ron McFarland https://opensource.com/users/ron-mcfarland) - -How open principles will impact the future of work -====== -In many ways, the nature of our work defines us. So how do we prepare -for a future when the nature of work will change dramatically? -![Working on a team, busy worklife][1] - -If we define "work" as any contribution that receives any kind of reward, then work is—and always has been—one of the major factors that define who we are. It is a major aspect of our lives. Throughout our work (whatever that may be for us), we meet friends, identify sources of intellectual stimulation and emotional fulfillment, grow, and feel at our most creative and innovative. To our families, friends, communities and societies, work is extremely important. We should not take work—or its role in our lives—lightly or for granted. - -So if the [nature of work is going to change][2] in the future, it might mean that something key to our very sense of _self_ is going to change. And we should plan for those changes very seriously. - -Consider the transformation of work throughout the Industrial Revolution (between the 1700s and 1800s). It drove many people from rural farm work into factories in the cities, fundamentally altering their lifestyles. It required new, more specialized skills (rather than the kind of artisanship common in rural economies). As we examine our own personal work environments in the decades to come, we'll see a potential reversal of the trends we saw during the Industrial era: from hierarchy and interchangeable general skills and activities to the reinstatement of horizontal collaboration and more specialized mastery (back to artisanship). - -This time, though, these changes come on a global scale rather than a local one, and the speed of change is far more accelerated. - -And in this new work environment, [open organization principles][3] will play a vital role. - -In this series, I'll review [_The Shift_, a book by Professor Lynda Gratton][4]—a book that, while written in 2014 from data assembled in 2010, still rings true today (and will in the future, too). In this book, Gratton projects how work will change around 2025 and 2050. This is vital information, as it will help us make sound choices when preparing for and developing our careers moving forward. - -Gratton explains predominant forces influencing the future of work in this timeframe. In this article series, I'll summarize them—and explain how open organization principles are involved in each. - -### Five factors influencing the future of work - -Driving the Industrial Revolution were inventions that used coal and steam power. Today, [Gratton][5] says, five subtle forces are causing a similar "shift": - - 1. increased global activities - 2. rapid advances in technology - 3. human longevity and demographics - 4. societal and family structural changes - 5. the need for a low-carbon economy - - - -In short: Computers will become faster. Materials will become stronger. Medicines will cure more diseases allowing longer human life. To varying degrees, these will all impact on how we work in the future. Here are a few notes on each. - -#### 1\. Globalization - -In a previous article, "[Globalization: A history of openness][6]," I discussed multiple forces and factors related to globalization, one of them being trade. Between 1950 and 2010 the volume of global trade has increased by 60 times, while at the same time transportation costs have fallen. And at the same time, developing countries are seeing not only increased trade but new innovations. I also discussed globalization in early history as part of my article "[Open organizations through the ages][7]." And I explored the importance of global governance—both now and into the future—in my article ["What would a global open organization look like?"][8] According to Gratton, globalization will have an undeniable and unavoidable impact on the future work. - -If the nature of work is going to change in the future, it might mean that something key to our very sense of self is going to change. And we should plan for those changes very seriously. - -#### 2\. Technology - -The cost of computing has been coming down at an alarming rate. And it will continue to decrease. This will help connect billions of people that have been mostly left out of the greater global economy until now. They will start to both enter the workforce and become more influential consumers. At the same time, computers and advanced automation [will replace jobs performed by humans][9] in the future. This all will influence work shifts in the future. - -#### 3\. Demographics and longevity - -Gratton also notes the impacts that various generations will have on the future of work, particularly in the United States. Younger generations will play a major role in the future, as their attitudes are different from earlier generations. Moreover, birth rates in various global regions will have an impact on prosperity. There will be more migration, as some regions' populations will decline while others increase. They will move to what Professor Gratton calls "creative clusters." And finally, Gratton argues, the life expectancy globally will change. By 2025, 10% of the world's population will be over the age of 65. These people will more than likely want to continue to work for sustained income, continued mental stimulation, physical activity, connection to others, and a source of meaning and purpose in their lives. Also, consider that many children today will more than likely live longer than 100 years. If they retired at 65 years old, they would have 35 years to do very little. With that thought in mind, having several career changes and being active in volunteer and community service programs in the future will expand greatly. - -#### 4\. Society - -In addition to the generational changes, Gratton notes several important social changes, too. There will be changing roles of women in the workplace, she says. People will have more choices to form the life they want than ever before. And with increased productivity per person, there will be more average free time available than ever before, she writes. - -#### 5\. Energy resources - -I've talked about the expansion of resource-saving industries in a presentation I've given on "[The Resource Industrial Revolution][10]." Gratton adds valuable points to this conversation. Climate change, she notes, will gradually become a major issue, which will reduce transportation and consumption. In particular, global water supply will not be able to keep pace with demand. Water desalination projects will expand greatly (possibly powered by [Generation IV][11] distributed small modular nuclear power plants (SMR's) now being developed). Environmental catastrophes will displace people and migration will create displaced communities throughout the globe. More energy-efficient ways of living will be discovered and introduced. This will influence future jobs. - -### Preparing for the future - -These five forces will prompt fundamental changes to the way we work in the future, Gratton argues. But we need to begin preparing for that future now. In the next article of this series, I'll explain Gratton's outlook and a few scenarios for grappling with a rapidly changing future. How could a person look at those changes as career opportunities? On the other hand, what would happen if a person simply _ignored_ those changes to come? I'll review Gratton's thoughts on those questions. Also, I'll also explain how open principles can form the heart of necessary changes. - --------------------------------------------------------------------------------- - -via: https://opensource.com/open-organization/21/1/open-is-future-of-work - -作者:[Ron McFarland][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ron-mcfarland -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=6YtME4Hj (Working on a team, busy worklife) -[2]: https://opensource.com/open-organization/18/7/transformation-beyond-digital-2 -[3]: https://theopenorganization.org/definition/ -[4]: http://lyndagratton.com/books/the-shift/ -[5]: https://en.wikipedia.org/wiki/Lynda_Gratton -[6]: https://opensource.com/open-organization/20/7/globalization-history-open -[7]: https://opensource.com/open-organization/20/8/global-history-collaboration -[8]: https://opensource.com/open-organization/20/9/global-open-organization -[9]: https://opensource.com/open-organization/19/9/claiming-human-age-of-AI -[10]: https://www.slideshare.net/RonMcFarland1/the-starting-of-the-third-industrial-revolution -[11]: https://en.wikipedia.org/wiki/Generation_IV_reactor diff --git a/translated/tech/20210103 How open principles will impact the future of work.md b/translated/tech/20210103 How open principles will impact the future of work.md new file mode 100644 index 0000000000..363bc6886a --- /dev/null +++ b/translated/tech/20210103 How open principles will impact the future of work.md @@ -0,0 +1,97 @@ +[#]: collector: (lujun9972) +[#]: translator: (CanYellow) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) +[#]: subject: (How open principles will impact the future of work) +[#]: via: (https://opensource.com/open-organization/21/1/open-is-future-of-work) +[#]: author: (Ron McFarland https://opensource.com/users/ron-mcfarland) + +开放原则将如何影响未来工作 +====== +我们的工作性质在很多方面塑造了我们自己。未来工作的性质将发生巨大变化,我们又该做何准备呢? + +![团队合作,忙碌的工作生活][1] + +如果我们将“工作”定位为获得某种回报的任何形式的付出,那么工作是并且一直是决定我们是谁的主要因素之一。工作是我们生活的一个重要方面。在工作中(不论这对我们意味着什么),我们结识朋友,我们获得智力激励和情感满足的源泉,我们得到成长,我们感受自身无穷的创造性。对于我们的家人、朋友、社区和社会而言,工作极其重要,我们不应轻视工作的重要性亦或视其为理所当然。 + +因此如果未来[工作的性质将发生变化][2],这可能意味着恰恰是我们 _自我认知_ 中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 + +考察自第一次工业革命(18、19世纪)以来的工作转变,很多人从从事农业劳动转为进入城市工厂工作,这从根本上改变了他们的生活方式。新的工作方式需要全新的更专业的工作技能而不再是农村经济中常见的手艺。接下来的几十年里,当我们检视我们的个人工作环境时,我们可能会发现工业时代以来的这一趋势可能发生逆转:从层级制度、可代替的通用技术与活动重新转变为横向协作与对专业知识的熟练掌握的更高要求(回到手工艺时代)。 + +这个时代与这些转变的到来将是全球性的而非区域性的,转变的速度已经大大加快了。 + +在这一新的工作环境中,[开放组织原则][3]将扮演关键性的角色。 + +本系列中,我将回顾 [Lynda Gratton 教授的作品,_转变_][4] (中译本:转变:未来社会工作岗位需求变化及应对策略,ISBN:9787121152894),本书成书于2014年(译注,本书原版有 [2011版][T1] 与 [2014版][T2] ),书中数据于2010年收集,但今天仍然适用(将来也一样)。本书中,Gratton教授指出了工作将在2025到2050年间如何变化。这是关键信息,因为它有助于我们在准备和发展我们的职业生涯时作出正确的选择。 + +Gratton教授阐释了在上述时间段内影响未来工作的主要因素。本系列中,我们将对它们做一个总结并解释开放组织原则如何融入它们之中。 + + +### 影响未来工作的五个因素 + +煤碳与蒸汽动力的发明推动了第一次工业革命。[Gratton教授][5]说,今天五种微妙的力量导致了类似的转变: + + 1. 日益增长的全球化活动 + 2. 技术的快速进步 + 3. 人类寿命与人口数量 + 4. 社会与家庭结构变化 + 5. 低碳经济的需求 + +简而言之,计算机更快了,材料更强了,药物能治疗更多的疾病使得人类的寿命更长。这些都在不同程度上影响了我们未来的工作方式。以下针对上述每一点的一些笔记。 + +#### 1\. 全球化 + + +在以前的文章 [《全球化:开放的历史》][6] 中,我讨论了全球化的多种动力与影响因素,其中之一就是贸易。从1950年到2010年的60年间,全球贸易的体量增加了60倍,与此同时运输成本降低了,发展中国家不仅看到了贸易增长,而且看到了新的创新。我还在我的另一篇文章 [《历史变迁中的开放组织》][7]中讨论了历史早期的全球化。我另外在我的文章[《全球性的开放组织是怎么样的》][8]中探讨了从现在到未来全球治理的重要性。如Gratton教授所言,全球化在未来工作中将发挥不可否认与不可避免的影响。 + +如果未来工作的性质将发生变化,这可能意味着恰恰是我们自我认知中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 + +#### 2\. 技术 + +计算成本一直在以惊人的速度下降,它还将继续下降。这有助于连接到目前为止仍然大部分被隔离在更大的全球经济之外的数十亿人。他们将开始进入劳动力市场并成为更有影响力的消费者。与此同时,计算机与高级自动化在未来将[取代人类工作][9],这都将影响未来的工作转变。 + +#### 3\.人口数量与寿命 + +Gratton教授还记录了不同世代的人对未来工作的影响,尤其是在美国。年轻一代在未来将扮演主要角色,他们的态度将不同于上一代。此外,全球不同地区的出生率将影响经济繁荣。由于一些地区的人口降低而另一些的将会增加,将会出现更多的移民。他们将移民至Gratton教授谓之“创新集群”的地方。最后,Gratton教授认为全球预期寿命将会变化。截至2025年,世界人口的10%都将超过65岁,这些人口将更可能希望继续工作,为了得到持续的收入、精神刺激、身体活动,与他人的联系以及生活的意义与目的的源泉。考虑到今天的很多儿童都更可能拥有超过100岁的寿命,如果他们在65岁退休,他们余下的至少35年里将做不了太多事情。基于这样的考虑,在未来职业道路的多次转换以及在社区与志愿服务项目中的积极参与将会大大拓展。 + +#### 4\. 社会 + +常规的变化之外,Gratton教授还描述了一些社会变化。她说,未来女性在工作上的角色将会变化,人们将比以往拥有更多的选择来塑造他们希望的生活;随着个人劳动生产率的提升,平均空闲时间将比以往更多。 + +#### 5\. 能源 + +我在[资源工业革命][10]上的一篇演讲中讨论了资源节约型工业的扩张。格拉特教授为该对话补充一些有价值的观点。她认为气候变化将逐渐成为主要议题,并导致运输与消费的降低。尤其是世界范围内的水资源供给将无法跟上用水需求。海水淡化项目将大幅扩张(可能由正在开发的[第四代][11]分布式小型模块化核电站提供动力)。环境灾难将使人们背井离乡,并在世界范围内形成移民社区。更多能效高的生活方式将会被发现和引入,这将影响未来工作。 + + +### 为未来提前准备 + +上述五种力量将推动未来工作方式发生根本性的改变,Gratton教授认为我们现在就需要开始为这样的未来提前做准备。本系列的下一篇文章中,我将介绍Gratton教授对未来的展望以及应对快速变化的未来的一些情境。个人如何将这些变化视作职业机会?另一方面,如果简单地选择对即将到来的变化 _视而不见_ 又会发生什么?我将回顾Gratton教授在这些问题上的思考。同样的,我也将解释开放原则如何形成必经的变革的核心。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/open-organization/21/1/open-is-future-of-work + +作者:[Ron McFarland][a] +选题:[lujun9972][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ron-mcfarland +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=6YtME4Hj (Working on a team, busy worklife) +[2]: https://opensource.com/open-organization/18/7/transformation-beyond-digital-2 +[3]: https://theopenorganization.org/definition/ +[4]: http://lyndagratton.com/books/the-shift/ +[5]: https://en.wikipedia.org/wiki/Lynda_Gratton +[6]: https://opensource.com/open-organization/20/7/globalization-history-open +[7]: https://opensource.com/open-organization/20/8/global-history-collaboration +[8]: https://opensource.com/open-organization/20/9/global-open-organization +[9]: https://opensource.com/open-organization/19/9/claiming-human-age-of-AI +[10]: https://www.slideshare.net/RonMcFarland1/the-starting-of-the-third-industrial-revolution +[11]: https://en.wikipedia.org/wiki/Generation_IV_reactor + +[T1]: https://isbnsearch.org/isbn/9780007427956 +[T2]: https://isbnsearch.org/isbn/9780007525850 From b2dae94bd6652d4131fb254ee290d17cf9bffd17 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 22 Dec 2022 15:29:12 +0800 Subject: [PATCH 811/925] RP @geekpi https://linux.cn/article-15372-1.html --- ... ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) rename {translated/tech => published}/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md (66%) diff --git a/translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/published/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md similarity index 66% rename from translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md rename to published/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md index dbfa0952d0..23a4212934 100644 --- a/translated/tech/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md +++ b/published/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md @@ -3,47 +3,51 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15372-1.html" -Linux Mint 升级工具:使用指南 +Linux Mint 升级工具使用指南 ====== -**以下是如何使用 Mint 升级工具升级到新的 Linux Mint 版本,即带有实际升级过程截图的 mintupgrade GUI。** +![][0] -如果你正在寻找最近发布的 **Linux Mint 21 Vanessa** 的**详细升级**步骤,请阅读本指南👉[从 Linux Mint 20.3 升级到 21][1] +> 以下是如何使用 Mint 升级工具升级到新的 Linux Mint 版本,即带有实际升级过程截图的 mintupgrade GUI。 + +如果你正在寻找最近发布的 **Linux Mint 21 Vanessa** 的**详细升级**步骤,请阅读本指南👉 + +> **[从 Linux Mint 20.3 升级到 21][1]** ### Linux Mint 升级工具 -Linux Mint 团队 [宣布][2]在几个月前,他们构建了一个新的程序来升级 Linux Mint 的重要版本。它被称为 “mintupgrade2”。开发已经完成,目前正在支持和计划升级到主要版本,例如 Linux Mint 20 到 21,而不是小版本升级。 +Linux Mint 团队 [宣布][2] 在几个月前,他们构建了一个新的程序来升级 Linux Mint 的主要版本。它被称为 “mintupgrade2”。现在开发已经完成,目前正在支持和计划升级到主要版本,例如 Linux Mint 20 到 21,而不是小版本升级。 -尽管你可以使用标准的 apt 命令升级版本,但 Mint 团队认为重大版本升级是棘手的。新用户很难进行无缝升级,因为它涉及终端和一系列复杂的命令步骤。 +尽管你可以使用标准的 `apt` 命令升级版本,但 Mint 团队认为重大版本升级是棘手的。新用户很难进行无缝升级,因为它涉及终端和一系列复杂的命令步骤。 -此外,GUI 是一个封装器,具有 mintupgrade 程序的附加功能,它通过一键修复带来了一组系统前检查和升级过程。 +此外,该图形界面是一个封装器,为 `mintupgrade` 程序带来了更多功能,它带来了一组系统前检查和带有一键修复的升级过程。 -此外,mintupgrade 会进行基本检查,你是否连接到电源、系统是否是最新的、磁盘空间可用性等。 +此外,`mintupgrade` 会进行基本检查,比如你是否连接到电源、系统是否是最新的、磁盘空间可用性等。 为了向你展示它的外观和工作情况,我们安装了一台 LMDE 4 测试机测试。 -但在此之前,这里有一组功能: +但在此之前,看一下它的功能集: - 完全由 GUI 驱动的升级过程 - 多语言支持 - 升级前检查:系统备份、电源、磁盘空间、已删除包列表 - 可配置 -- 提醒你有关先前版本中的孤立包 +- 提醒你有关先前版本中的孤儿包 - 它为你提供了解决问题的选项 ### 它如何运作 -当我们通过命令 `mintupgrade` 运行 mint 升级程序时,GUI 友好的欢迎屏幕为你提供了一个很好的起点并开始升级过程。然后,它开始自己进行一系列检查。 +当我们通过命令 `mintupgrade` 运行 Mint 升级程序时,GUI 友好的欢迎屏幕为你提供了一个很好的起点并开始升级过程。然后,它开始自己进行一系列检查。 ![开始升级过程][3] -除此之外,当它在你的系统中发现问题时,它会停止并为你提供足够的详细信息。单击“修复”后,它可以再次恢复该过程。 +除此之外,当它在你的系统中发现问题时,它会停止并为你提供足够的详细信息。单击“修复Fix”后,它可以再次恢复该过程。 -这不是全部。如果由于网络或互联网或任何其他问题而中断,它可以恢复升级过程。 +不止如此,如果由于网络或互联网或任何其他问题而中断,它可以恢复升级过程。 这个程序在我们的测试过程中在我们的测试系统中发现了以下错误,并且只需单击一下即可修复它们。 @@ -77,7 +81,7 @@ sudo apt install mintupgrade 最后,我认为它是 Linux Mint 团队最好的程序之一。正如你在上面看到的,它自己处理了许多错误。我所做的只是单击“修复”按钮。该程序足够智能,可以了解所有故障点并采取补救措施。 -[GitHub 和 mintupgrade 源码][10] +> **[GitHub 上的 mintupgrade 源码][10]** -------------------------------------------------------------------------------- @@ -102,3 +106,4 @@ via: https://www.debugpoint.com/mint-upgrade-tool/ [8]: https://www.debugpoint.com/wp-content/uploads/2022/04/Mint-Upgrade-can-detect-the-packages-require-downgrade.jpg [9]: https://www.debugpoint.com/wp-content/uploads/2022/04/Upgrade-Complete.jpg [10]: https://github.com/linuxmint/mintupgrade +[0]: https://img.linux.net.cn/data/attachment/album/202212/22/152601upz4gujhajauj5rj.jpg \ No newline at end of file From ab4f4b9f2892fda7d9f7773d6e37249a69d4b551 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Thu, 22 Dec 2022 17:15:53 +0800 Subject: [PATCH 812/925] null --- ...s for measuring your open source software usage.md | 4 +- test.md | 142 ++++++++++++++++++ 2 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 test.md diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md index 892fce0de0..3f35f490bd 100644 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -42,7 +42,7 @@ You may also be interested in downloads of the source code because downstream pr Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. -**[ Related read [5 metrics to track in your open source community][2] ]** +**[ Related read [5 metrics to track in your open source community][2] ]** In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. @@ -139,4 +139,4 @@ via: https://opensource.com/article/22/12/open-source-usage-metrics [a]: https://opensource.com/users/georglink [b]: https://github.com/lkxed [1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics +[2]: https://opensource.com/article/22/11/community-metrics \ No newline at end of file diff --git a/test.md b/test.md new file mode 100644 index 0000000000..892fce0de0 --- /dev/null +++ b/test.md @@ -0,0 +1,142 @@ +[#]: subject: "8 ideas for measuring your open source software usage" +[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" +[#]: author: "Georg Link https://opensource.com/users/georglink" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +8 ideas for measuring your open source software usage +====== + +Those of us who support open source project communities are often asked about usage metrics — a lot. The goal of these metrics is usually to demonstrate the software's importance as measured by its user base and awareness. We typically want to know: how many people use the software, how many installations are there, and how many lives are being touched. + +To make a long story short: We cannot answer these questions directly. + +Sorry to disappoint you if you were hoping for a definitive solution. No one has the perfect answers to questions about usage metrics. At least, no precise answers. + +The good news is that there are approximations and alternative metrics that can satisfy your thirst for knowledge about the software's usage, at least partially. This article explores these alternatives including their benefits and shortcomings. + +### Downloads + +When you visit websites that offer software, you can often see how many times the software has been downloaded. An example that comes to mind is Firefox, which used to have a download counter. It was an impressive number and gave the impression that Firefox was a popular browser—which it was for a while. + +However, individual behavior can directly impact the accuracy of this number. For example, when a person wipes their machine regularly, each rebuild incurs a separate download. To account for this reality, there needs to be a way to subtract a few dozen (maybe hundreds) downloads from the number because of that one person. + +Not only can downloads overestimate usage, but they can also underestimate usage. For instance, a system administrator may download a new version of Firefox once to a flash drive and then install it on hundreds of devices. + +Download metrics are easy to collect because you can log each download request on the server. The problem is that you don't know what happens to the software after it is downloaded. Was the person able to use the software as anticipated? Or did the person run into issues and abandon the software? + +For open source projects, you can consider a variety of download metrics, such as the number of binaries downloaded from: + +- the project website +- package managers such as npm, PyPi, and Maven +- code repositories like GitHub, GitLab, and Gitee + +You may also be interested in downloads of the source code because downstream projects are most likely to use this format (also read [How to measure the impact of your open source project][1]). Relevant download metrics include: + +- The number of clones (source code downloads) from code repositories like GitHub, GitLab, and Gitee +- The number of archives (tar, zip) downloaded from the website +- The number of source code downloads through package managers like npm, PyPi, and Maven + +Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. + +**[ Related read [5 metrics to track in your open source community][2] ]** + +In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. + +### Issues + +As an open source project, you probably have an issue tracker. When someone opens an issue, two common goals are to report a bug or request a feature. The issue author has likely used your software. As a user, they would have found a bug or identified the need for a new feature. + +Obviously, most users don't take the extra step to file an issue. Issue authors are dedicated users and we are thankful for them. Also, by opening an issue, they have become a non-code contributor. They may become a code contributor. A rule of thumb is that for every 10,000 users, you may get 100 who open an issue and one who contributes code. Depending on the type of user, these ratios may differ. + +With regard to metrics, you can count the number of issue authors as a lower-bound estimation for usage. Related metrics can include: + +- The number of issue authors +- The number of active issue authors (opened an issue in the last 6 months) +- The number of issue authors who also contribute code +- The number of issues opened +- The number of issue comments written + +### User mailing lists, forums, and Q&A sites + +Many open source projects have mailing lists for users, a forum, and presence on a Q&A site, such as Stack Overflow. Similar to issue authors, people who post there can be considered the tip of the iceberg of users. Metrics around how active a community is in these mailing lists, forums, and Q&A sites can also be used as a proxy for increasing or decreasing the user base. Related metrics can focus on the activity in these places, including: + +- The number of user mailing list subscribers +- The number of forum users +- The number of questions asked +- The number of answers provided +- The number of messages created + +### Call-home feature + +To get accurate counts of users, one idea is to have your software report back when it is in use. + +This can be creepy. Imagine a system administrator whose firewall reports an unexpected connection to your server. Not only could the report never reach you (it was blocked), but your software may be banned from future use. + +Responsible ways to have a call-home feature is an optional service to look for updates and let the user know to use the latest version. Another optional feature can focus on usage telemetry where you ask the user whether your software may, anonymously, report back how the software is used. When implemented thoughtfully, this approach can allow users to help improve the software by their style of using it. A user may have the opinion: "I often don't allow this usage information sharing but for some software I do because I hope the developers will make it better for me in the long term." + +### Stars and forks + +Stars and forks are features on social coding platforms like GitHub, GitLab, and Gitee. Users on these platforms can star a project. Why do they star projects? GitHub's documentation explains, "You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed." Starring is the equivalent of bookmarking and also provides a way to show appreciation to a repository maintainer. Stars have been used as an indicator of the popularity of a project. When a project has a big announcement that attracts considerable attention, the star count tends to increase. The star metric does not indicate the usage of the software. + +Forks on these social coding platforms are clones of a repository. Non-maintainers can make changes in their fork and submit them for review through a pull request. Forks are more a reflection of community size than stars. Developers may also fork a project to save a copy they can access even after the original repository has disappeared. Due to the use of forks in the contribution workflow, the metric is a good indicator for the developer community. Forks do not typically indicate usage by non-developers because non-developers usually do not create forks. + +### Social media + +Social media platforms provide gathering places for people with shared interests, including Facebook, Instagram, LinkedIn, Reddit, Twitter, and more. Using a social media strategy, open source projects can attract people with interest and affinity for their projects by setting up respective gathering spaces on these platforms. Through these social media channels, open source projects can share news and updates and highlight contributors and users. They can also be used to meet people who would not otherwise interact with your project. + +We are hesitant to suggest the following metrics because they have no clear connection to actual usage of your software and often require analysis for positive, negative, and neutral sentiment. People may be excited about your project for many different reasons and want to follow it without actually using it. However, like other metrics already discussed, showing that you are able to draw a crowd in social media spaces is an indicator of the interest in your project overall. Metrics for different social media platforms may include: + +- The number of followers or subscribers +- The number of messages +- The number of active message authors +- The number of likes, shares, reactions, and other interactions + +### Web analytics and documentation + +Website traffic is a useful metric as well. This metric is influenced more by your outreach and marketing activities than your number of users. However, we have an ace up our sleeve: our user documentation, tutorials, handbooks, and API documentation. We can see what topics on our website draw attention, including documentation. The number of visitors to the documentation would arguably increase with an increase in the number of discrete users of the software. We can therefore detect general interest in the project with visitors to the website and more specifically observe user trends by observing visitors to the documentation. Metrics may include: + +- The number of website visitors +- The number of documentation visitors +- The duration visitors spend on your website or in documentation + +### Events + +Event metrics are available if you are hosting events around your project. This is a great way to build community. How many people submit abstracts to speak at your events? How many people show up to your events? This can be interesting for both in-person and virtual events. Of course, how you advertise your event strongly influences how many people show up. Also, you may co-locate your event with a larger event where people travel anyway, and thus, are in town and can easily attend your event. As long as you use a consistent event strategy, you can make a case that a rise in speaker submissions and attendee registrations are indicative of increasing popularity and user base. + +You don't need to host your own event to collect insightful metrics. If you host talks about your project at open source events, you can measure how many people show up to your session focused on your project. At events like FOSDEM, some talks are specifically focused on updates or announcements of open source projects and the rooms are filled to the brim (like almost all sessions at FOSDEM). + +Metrics you might consider: + +- The number of attendees at your project-centric event +- The number of talks submitted to your project-centric event +- The number of attendees at your project-centric talks + +### Conclusion about approximating usage of open source software + +As we've illustrated, there are many metrics that can indicate trends around the usage of your software, and all are imperfect. In most cases, these metrics can be heavily influenced by individual behavior, system design, and noise. As such, we suggest that you never use any of these metrics in isolation, given the relative uncertainty of each one. But if you collect a set of metrics from a variety of sources, you should be able to detect trends in behavior and usage. If you have the means to compare the same set of metrics across multiple open source projects with commonalities—such as similar functionality, strong interdependencies, hosted under the same foundation, and other characteristics—you can improve your sense of behavioral baselines. + +Note that in this overview, we've also chosen to highlight metrics that evaluate direct usage. As most software depends on a variety of other software packages, we would be remiss if we did not mention that usage and behavior can also be heavily impacted by indirect usage as part of a dependency chain. As such, we recommend incorporating the count of upstream and downstream dependencies as another layer of context in your analysis. + +In closing, as the wielder of data and metrics, we encourage you to recognize the power and responsibility that you have for your stakeholders. Any metric that you publish has the potential to influence behavior. It is a best practice to always share your context—bases, sources, estimations, and other critical contextual information—as this will help others to interpret your results. + +We thank the CHAOSS Community for the insightful conversation at CHAOSScon EU 2022 in Dublin, Ireland that sparked the idea for this blog post and to the CHAOSS Community members who reviewed and helped improve this article. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-usage-metrics + +作者:[Georg Link][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/georglink +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/5/metrics-project-success +[2]: https://opensource.com/article/22/11/community-metrics From 1483af90870f3977b95d122bfcfea353e891fa0d Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Thu, 22 Dec 2022 17:16:58 +0800 Subject: [PATCH 813/925] translation request --- ...️⭐️ 8 ideas for measuring your open source software usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md index 3f35f490bd..7fa3882c42 100644 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" [#]: author: "Georg Link https://opensource.com/users/georglink" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "CanYellow" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3c685472d454870171a9a9211761054cbe87aab8 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Thu, 22 Dec 2022 13:35:53 +0800 Subject: [PATCH 814/925] translated --- ...️⭐️ 8 ideas for measuring your open source software usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md index 7fa3882c42..6c4a9eec17 100644 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -42,7 +42,7 @@ You may also be interested in downloads of the source code because downstream pr Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. -**[ Related read [5 metrics to track in your open source community][2] ]** +**[ Related read [5 metrics to track in your open source community][2] ]** In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. @@ -139,4 +139,4 @@ via: https://opensource.com/article/22/12/open-source-usage-metrics [a]: https://opensource.com/users/georglink [b]: https://github.com/lkxed [1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics \ No newline at end of file +[2]: https://opensource.com/article/22/11/community-metrics From 3e966ad571cae3f3988400f877a6f6f03f8f2033 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Thu, 22 Dec 2022 17:14:43 +0800 Subject: [PATCH 815/925] null --- test.md | 142 -------------------------------------------------------- 1 file changed, 142 deletions(-) delete mode 100644 test.md diff --git a/test.md b/test.md deleted file mode 100644 index 892fce0de0..0000000000 --- a/test.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "8 ideas for measuring your open source software usage" -[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" -[#]: author: "Georg Link https://opensource.com/users/georglink" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -8 ideas for measuring your open source software usage -====== - -Those of us who support open source project communities are often asked about usage metrics — a lot. The goal of these metrics is usually to demonstrate the software's importance as measured by its user base and awareness. We typically want to know: how many people use the software, how many installations are there, and how many lives are being touched. - -To make a long story short: We cannot answer these questions directly. - -Sorry to disappoint you if you were hoping for a definitive solution. No one has the perfect answers to questions about usage metrics. At least, no precise answers. - -The good news is that there are approximations and alternative metrics that can satisfy your thirst for knowledge about the software's usage, at least partially. This article explores these alternatives including their benefits and shortcomings. - -### Downloads - -When you visit websites that offer software, you can often see how many times the software has been downloaded. An example that comes to mind is Firefox, which used to have a download counter. It was an impressive number and gave the impression that Firefox was a popular browser—which it was for a while. - -However, individual behavior can directly impact the accuracy of this number. For example, when a person wipes their machine regularly, each rebuild incurs a separate download. To account for this reality, there needs to be a way to subtract a few dozen (maybe hundreds) downloads from the number because of that one person. - -Not only can downloads overestimate usage, but they can also underestimate usage. For instance, a system administrator may download a new version of Firefox once to a flash drive and then install it on hundreds of devices. - -Download metrics are easy to collect because you can log each download request on the server. The problem is that you don't know what happens to the software after it is downloaded. Was the person able to use the software as anticipated? Or did the person run into issues and abandon the software? - -For open source projects, you can consider a variety of download metrics, such as the number of binaries downloaded from: - -- the project website -- package managers such as npm, PyPi, and Maven -- code repositories like GitHub, GitLab, and Gitee - -You may also be interested in downloads of the source code because downstream projects are most likely to use this format (also read [How to measure the impact of your open source project][1]). Relevant download metrics include: - -- The number of clones (source code downloads) from code repositories like GitHub, GitLab, and Gitee -- The number of archives (tar, zip) downloaded from the website -- The number of source code downloads through package managers like npm, PyPi, and Maven - -Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. - -**[ Related read [5 metrics to track in your open source community][2] ]** - -In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. - -### Issues - -As an open source project, you probably have an issue tracker. When someone opens an issue, two common goals are to report a bug or request a feature. The issue author has likely used your software. As a user, they would have found a bug or identified the need for a new feature. - -Obviously, most users don't take the extra step to file an issue. Issue authors are dedicated users and we are thankful for them. Also, by opening an issue, they have become a non-code contributor. They may become a code contributor. A rule of thumb is that for every 10,000 users, you may get 100 who open an issue and one who contributes code. Depending on the type of user, these ratios may differ. - -With regard to metrics, you can count the number of issue authors as a lower-bound estimation for usage. Related metrics can include: - -- The number of issue authors -- The number of active issue authors (opened an issue in the last 6 months) -- The number of issue authors who also contribute code -- The number of issues opened -- The number of issue comments written - -### User mailing lists, forums, and Q&A sites - -Many open source projects have mailing lists for users, a forum, and presence on a Q&A site, such as Stack Overflow. Similar to issue authors, people who post there can be considered the tip of the iceberg of users. Metrics around how active a community is in these mailing lists, forums, and Q&A sites can also be used as a proxy for increasing or decreasing the user base. Related metrics can focus on the activity in these places, including: - -- The number of user mailing list subscribers -- The number of forum users -- The number of questions asked -- The number of answers provided -- The number of messages created - -### Call-home feature - -To get accurate counts of users, one idea is to have your software report back when it is in use. - -This can be creepy. Imagine a system administrator whose firewall reports an unexpected connection to your server. Not only could the report never reach you (it was blocked), but your software may be banned from future use. - -Responsible ways to have a call-home feature is an optional service to look for updates and let the user know to use the latest version. Another optional feature can focus on usage telemetry where you ask the user whether your software may, anonymously, report back how the software is used. When implemented thoughtfully, this approach can allow users to help improve the software by their style of using it. A user may have the opinion: "I often don't allow this usage information sharing but for some software I do because I hope the developers will make it better for me in the long term." - -### Stars and forks - -Stars and forks are features on social coding platforms like GitHub, GitLab, and Gitee. Users on these platforms can star a project. Why do they star projects? GitHub's documentation explains, "You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed." Starring is the equivalent of bookmarking and also provides a way to show appreciation to a repository maintainer. Stars have been used as an indicator of the popularity of a project. When a project has a big announcement that attracts considerable attention, the star count tends to increase. The star metric does not indicate the usage of the software. - -Forks on these social coding platforms are clones of a repository. Non-maintainers can make changes in their fork and submit them for review through a pull request. Forks are more a reflection of community size than stars. Developers may also fork a project to save a copy they can access even after the original repository has disappeared. Due to the use of forks in the contribution workflow, the metric is a good indicator for the developer community. Forks do not typically indicate usage by non-developers because non-developers usually do not create forks. - -### Social media - -Social media platforms provide gathering places for people with shared interests, including Facebook, Instagram, LinkedIn, Reddit, Twitter, and more. Using a social media strategy, open source projects can attract people with interest and affinity for their projects by setting up respective gathering spaces on these platforms. Through these social media channels, open source projects can share news and updates and highlight contributors and users. They can also be used to meet people who would not otherwise interact with your project. - -We are hesitant to suggest the following metrics because they have no clear connection to actual usage of your software and often require analysis for positive, negative, and neutral sentiment. People may be excited about your project for many different reasons and want to follow it without actually using it. However, like other metrics already discussed, showing that you are able to draw a crowd in social media spaces is an indicator of the interest in your project overall. Metrics for different social media platforms may include: - -- The number of followers or subscribers -- The number of messages -- The number of active message authors -- The number of likes, shares, reactions, and other interactions - -### Web analytics and documentation - -Website traffic is a useful metric as well. This metric is influenced more by your outreach and marketing activities than your number of users. However, we have an ace up our sleeve: our user documentation, tutorials, handbooks, and API documentation. We can see what topics on our website draw attention, including documentation. The number of visitors to the documentation would arguably increase with an increase in the number of discrete users of the software. We can therefore detect general interest in the project with visitors to the website and more specifically observe user trends by observing visitors to the documentation. Metrics may include: - -- The number of website visitors -- The number of documentation visitors -- The duration visitors spend on your website or in documentation - -### Events - -Event metrics are available if you are hosting events around your project. This is a great way to build community. How many people submit abstracts to speak at your events? How many people show up to your events? This can be interesting for both in-person and virtual events. Of course, how you advertise your event strongly influences how many people show up. Also, you may co-locate your event with a larger event where people travel anyway, and thus, are in town and can easily attend your event. As long as you use a consistent event strategy, you can make a case that a rise in speaker submissions and attendee registrations are indicative of increasing popularity and user base. - -You don't need to host your own event to collect insightful metrics. If you host talks about your project at open source events, you can measure how many people show up to your session focused on your project. At events like FOSDEM, some talks are specifically focused on updates or announcements of open source projects and the rooms are filled to the brim (like almost all sessions at FOSDEM). - -Metrics you might consider: - -- The number of attendees at your project-centric event -- The number of talks submitted to your project-centric event -- The number of attendees at your project-centric talks - -### Conclusion about approximating usage of open source software - -As we've illustrated, there are many metrics that can indicate trends around the usage of your software, and all are imperfect. In most cases, these metrics can be heavily influenced by individual behavior, system design, and noise. As such, we suggest that you never use any of these metrics in isolation, given the relative uncertainty of each one. But if you collect a set of metrics from a variety of sources, you should be able to detect trends in behavior and usage. If you have the means to compare the same set of metrics across multiple open source projects with commonalities—such as similar functionality, strong interdependencies, hosted under the same foundation, and other characteristics—you can improve your sense of behavioral baselines. - -Note that in this overview, we've also chosen to highlight metrics that evaluate direct usage. As most software depends on a variety of other software packages, we would be remiss if we did not mention that usage and behavior can also be heavily impacted by indirect usage as part of a dependency chain. As such, we recommend incorporating the count of upstream and downstream dependencies as another layer of context in your analysis. - -In closing, as the wielder of data and metrics, we encourage you to recognize the power and responsibility that you have for your stakeholders. Any metric that you publish has the potential to influence behavior. It is a best practice to always share your context—bases, sources, estimations, and other critical contextual information—as this will help others to interpret your results. - -We thank the CHAOSS Community for the insightful conversation at CHAOSScon EU 2022 in Dublin, Ireland that sparked the idea for this blog post and to the CHAOSS Community members who reviewed and helped improve this article. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-usage-metrics - -作者:[Georg Link][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/georglink -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics From baf3c7acfa927dde6fb6bc0a20b52a72a720af93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:46:30 +0800 Subject: [PATCH 816/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221219.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Fe?= =?UTF-8?q?dora=20Media=20Writer=20World-Class=20LIVE=20USB=20Creator=20[T?= =?UTF-8?q?utorial].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Writer World-Class LIVE USB Creator [Tutorial].md | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 sources/tech/20221219.3 ⭐️⭐️ Fedora Media Writer World-Class LIVE USB Creator [Tutorial].md diff --git a/sources/tech/20221219.3 ⭐️⭐️ Fedora Media Writer World-Class LIVE USB Creator [Tutorial].md b/sources/tech/20221219.3 ⭐️⭐️ Fedora Media Writer World-Class LIVE USB Creator [Tutorial].md new file mode 100644 index 0000000000..1446699a97 --- /dev/null +++ b/sources/tech/20221219.3 ⭐️⭐️ Fedora Media Writer World-Class LIVE USB Creator [Tutorial].md @@ -0,0 +1,136 @@ +[#]: subject: "Fedora Media Writer: World-Class LIVE USB Creator [Tutorial]" +[#]: via: "https://www.debugpoint.com/fedora-media-writer/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Fedora Media Writer: World-Class LIVE USB Creator [Tutorial] +====== + +**A tutorial on installing and using Fedora Media Writer to create LIVE USB from Linux & Windows.** + +![Fedora Media Writer][1] + +### Fedora Media Writer + +The community and Fedora Linux team develop and maintain the [Fedora Media Writer app][2]. This application writes any ISO image to your flash drive (USB stick). In addition, Fedora Media Writer also has features to download the ISO file directly from the Fedora Mirrors, provided you have a stable internet connection. + +Moreover, it gives you a list of options for download – such as Official Editions, Emerging Editions, Spins and Fedora Labs images. + +Not only that, but you can also use this nifty utility to write any other ISO images to your flash drive. It need not be the Fedora ISO always. + +Although there are other popular utilities available for creating LIVE USBs, such as [Etcher][3], Ventoy, and Rufus – you can still give this utility a try, considering the team develops it from mainstream Fedora Linux with contributors. + +So, in summary, here are quick feature highlights of Fedora Media Writer. + +#### Features Summary of Fedora Media Writer + +- Available for Linux, Windows and macOS +- Directly download + write the images to a USB flash drive +- Official Editions (Workstation, IoT, Server) download +- Emerging Editions (Silverblue, Kinoite) download +- Spins (KDE Plasma, Xfce, etc) +- Labs (Fedora Astronomy, Robotic and other flavours) +- Available as Flatpak for Linux Distros +- Also, can write any other ISO images (non-Fedora) to a USB stick. +- Ability to format USB stick, restore flash drive +- Based on Qt + +### How to Install + +#### Linux + +Fedora Media Writer is available as Flatpak for Linux Distributions. To install it in any Linux (such as Fedora, Ubuntu, or Linux Mint) – [set up Flatpak by following this guide][4]. + +Then, click on the below link to install. This will launch the official Software application of your Linux Distro (such as Discover, GNOME Software). After installation, you can launch it via Application Menu. + +[Install Fedora Media Writer as Flatpak][5] + +#### Windows + +If you are a Windows user and planning to migrate to Linux (or Fedora), it is a perfect tool. You need to download the exe installer from GitHub (link below) and follow the onscreen instruction for installation. + +[Latest Installer for Windows (exe)][6] + +After installation, you can launch it from Start Menu. + +For macOS, you can get the dmg file in the above link. + +### How to use Fedora Media Writer to Create LIVE USB in Linux + +The first screen gives you two main options. The automatic download option is for downloading the ISO images on the fly. And the second option is to write the already downloaded ISO files from your disk directly. + +If you have already plugged in the USB, you should see it as the third option. The third option is to format and delete all the data from your USB stick and restore it to its factory settings. + +Furthermore, you can use this utility for just formatting your USB flash drive as well. You do not need any command or anything fancy. A point to note is that this option is only visible when your USB stick has data. If it’s already formatted, the tool can detect it and won’t show you the option to restore it!! 😲 + +#### Automatic Download and Write + +![Fedora Media Writer - First Screen][7] + +The automatic Download option gives you the following screen to download any Fedora ISO you want from mirrors. This is useful for many because it eliminates the hassles of separately downloading ISO files, verifying checksum, etc. + +![The automatic download options gives you these options][8] + +After choosing the distribution, the final screen gives you the option for version (Fedora 36, 35, etc.) and architecture (x86, ARM, etc.). Also, you should see the USB destination. Click on Download and Write to start the process. + +![The final Write screen of Fedora Media Writer][9] + +#### Write an existing ISO file from the disk. + +When you choose the ‘select iso file’ option, you can select the file from your system. After that, select the destination USB drive and click Write to start the process. + +![Direct ISO write via Fedora Media Writer][10] + +![Writing is in progress][11] + +![Writing Complete][12] + +After the write operation is finished, you can see a confirmation message shown above. It took standard time to write a 3GB~ ISO during my test, around 3 to 4 minutes. + +### Using Fedora Media Writer to Create LIVE USB in Windows, macOS + +The steps are the same to use this utility in Windows and macOS, as shown above for Linux. You can easily find the shortcuts after installation and launch in the same way. + +![Running in Windows 11][13] + +### Closing Notes + +I hope this guide helps you use Fedora Media Writer for your day to day USB writing work. Also, the good thing about this utility is that you can use it for formatting/restoring your USB stick. You do not require GParted or GNOME Disks anymore. + +It’s such a terrific utility for Linux, Windows and macOS users. + +Cheers. + +[Next:How to Get Xfce 4.18 in Xubuntu 22.04 and 22.10][14] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/fedora-media-writer/ + +作者:[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/05/fmwhead2022.jpg +[2]: https://github.com/FedoraQt/MediaWriter +[3]: https://www.debugpoint.com/2021/01/etcher-bootable-usb-linux/ +[4]: https://flatpak.org/setup/ +[5]: https://dl.flathub.org/repo/appstream/org.fedoraproject.MediaWriter.flatpakref +[6]: https://github.com/FedoraQt/MediaWriter/releases/latest +[7]: https://www.debugpoint.com/wp-content/uploads/2022/05/Fedora-Media-Writer-First-Screen.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/05/The-automatic-download-options-gives-you-these-options.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/05/The-final-Write-screen-of-Fedora-Media-Writer.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/05/Direct-ISO-write-via-Fedora-Media-Writer.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/05/Writing-is-in-progress.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/05/Writing-Complete.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2022/05/Running-in-Windows-11.png +[14]: https://www.debugpoint.com/xfce-4-18-xubuntu-22-04/ From 25c49ea218f38feeb2340eb4efeca84a728209b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:48:21 +0800 Subject: [PATCH 817/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221220.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Wr?= =?UTF-8?q?iting=20a=20Macro=20in=20LibreOffice=20Calc=20Getting=20Started?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ing a Macro in LibreOffice Calc Getting Started.md | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 sources/tech/20221220.0 ⭐️⭐️ Writing a Macro in LibreOffice Calc Getting Started.md diff --git a/sources/tech/20221220.0 ⭐️⭐️ Writing a Macro in LibreOffice Calc Getting Started.md b/sources/tech/20221220.0 ⭐️⭐️ Writing a Macro in LibreOffice Calc Getting Started.md new file mode 100644 index 0000000000..9ae1c0d10f --- /dev/null +++ b/sources/tech/20221220.0 ⭐️⭐️ Writing a Macro in LibreOffice Calc Getting Started.md @@ -0,0 +1,144 @@ +[#]: subject: "Writing a Macro in LibreOffice Calc: Getting Started" +[#]: via: "https://www.debugpoint.com/writing-a-macro-in-libreoffice-calc-getting-started/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Writing a Macro in LibreOffice Calc: Getting Started +====== + +**Planning to automate stuff in LibreOffice? Start writing your first LibreOffice Calc macro using this guide.** + +LibreOffice provides a way to write your macro to automate various repetitive tasks in your office application. You can use Python or basic for your macro development. This tutorial focuses on writing a macro in LibreOffice with a ‘Hello World’ macro in the Basic programming language. + +### Write your first macro in LibreOffice Calc + +### Macro Objective + +We are going to create a macro that would put the string ‘Hello World’ in the first cell of LibreOffice calc, i.e. the cell of row 1 and col A. + +### Creating the Macro + +- Open LibreOffice Calc from `Applications => Office => LibreOffice Calc`. + +![LibreOffice_1][1] + +- Go to the option from the menu: `Tools ==> Macros ==> Organize Macros ==> LibreOffice Basic`. Below ‘LibreOffice basic macros’ window will open. + +![LibreOffice_2][2] + +- Give your desired name in the macro name box and click New. You can use any name you want. For this tutorial, I have used hello_world. + +![LibreOffice_3][3] + +- Once you have clicked the New button, the macro editor will open. Here are some things to note in this window. This is the place where you should be writing your code, debugging your code, etc. You can see the macro’s name became the function name of your basic macro. + +![LibreOffice_4][4] + +- Now, it’s time to code the first macro. Let’s declare two variables of type objects. + +``` +dim document as object dim dispatcher as object +``` + +- Let’s assign two values to the above variables. + +``` +document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") +``` + +`ThisComponent` refers to the current document. + +In LibreOffice, everything you do, e.g. type, colour, insert, is “watched” by a controller. The controller then dispatches the changes to the document frame, i.e. the main window area of the Calc. So the document variable refers to the main area of Calc. + +The `createUnoService` creates an instance of the `DispatchHelper` service. This service will help us to dispatch the tasks from the macro to the frame. Almost all LibreOffice macro tasks can be executed using the dispatcher. + +- Now we will declare an array of properties. Properties are always in a name/value pair. Thus the name contains the property name, and the value contains the value of that property. + +``` +dim args1(0) as new com.sun.star.beans.PropertyValue +``` + +Our objective is to put ‘Hello World’ in the first Cell. To point to the first cell A1 and put a text, we would use two properties – `ToPoint` and `StringName`. + +Once we set the properties, it’s time to call the dispatch to send these to the document. So call the `executeDispatch` event of the dispatcher using two commands: `.uno:GoToCell`, and `.uno:EnterString`. + +``` +dim args2(0) as new com.sun.star.beans.PropertyValueargs1(0).Name = "ToPoint" args1(0).Value = "$A$1" args2(0).Name = "StringName" args2(0).Value = "Hello World!" +``` + +These commands tell the frame what needs to be executed and also pass the entire property array with values. + +![LibreOffice_5][5] + +Now put a message box to notify when the execution is completed. + +### Running the Macro + +- It’s time to run the macro. To run the macro, press `F5` or click Run Macro from the toolbar (see above). +- After execution, the message box would pop up. If you go back and check the Calc spreadsheet, you should see ‘Hello World!’ written in the first Cell. + +![LibreOffice_6][6] + +![LibreOffice_7][7] + +### Complete Code + +``` +REM ***** BASIC ***** +sub hello_world + + dim document as object + dim dispatcher as object + + document = ThisComponent.CurrentController.Frame + dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") + + dim args1(0) as new com.sun.star.beans.PropertyValue + dim args2(0) as new com.sun.star.beans.PropertyValue + + args1(0).Name = "ToPoint" + args1(0).Value = "$A$1" + dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1()) + + args2(0).Name = "StringName" + args2(0).Value = "Hello World!" + dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2()) + + msgbox "Completed!" +end sub +``` + +### Looking for Something Else? + +If you are looking for more LibreOffice macro tutorials Or wants to learn more about it, please follow the below link for a complete Macro Tutorials Index: + +[Macro tutorial index][8] + +[Next:How to Find Out Ubuntu Version: 6 Methods][9] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/writing-a-macro-in-libreoffice-calc-getting-started/ + +作者:[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/2015/02/LibreOffice_1_p.png +[2]: https://www.debugpoint.com/wp-content/uploads/2015/02/LibreOffice_2_p.png +[3]: https://www.debugpoint.com/wp-content/uploads/2015/02/LibreOffice_3_p.png +[4]: https://www.debugpoint.com/wp-content/uploads/2015/02/LibreOffice_4_p.png +[5]: https://www.debugpoint.com/wp-content/uploads/2015/02/LibreOffice_5_p.png +[6]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_6.png +[7]: https://www.debugpoint.com/wp-content/uploads/2015/02/LibreOffice_7_p.png +[8]: http://www.debugpoint.com/libreoffice-basic-macro-tutorial-index/ +[9]: https://www.debugpoint.com/find-ubuntu-version/ From 139e5ccef834543cd4879670fb23157bc7adcd08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:49:18 +0800 Subject: [PATCH 818/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221220.1=20=E2=AD=90=EF=B8=8F=20How=20to=20Downgrade?= =?UTF-8?q?=20Flatpak=20Packages=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Downgrade Flatpak Packages in Linux.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md diff --git a/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md b/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md new file mode 100644 index 0000000000..1d664feba4 --- /dev/null +++ b/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md @@ -0,0 +1,115 @@ +[#]: subject: "How to Downgrade Flatpak Packages in Linux" +[#]: via: "https://itsfoss.com/downgrade-flatpak-packages/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Downgrade Flatpak Packages in Linux +====== + +Technically, minor or point release updates are released to solve issues. But things may get worse when some updates break your current workflow. + +Whether a Flatpak package or Snap, everything breaks at some point when there is an issue. Being a sandboxed packaging solution, it may not affect the entire system, but if you encounter a bug that makes your app experience worse, you may regret the update. + +For example, the previous update of [Black Box][1] was bundled with certain bugs, and I could not select text! Developers have solved this issue now, but until they did not, I downgraded that specific package to make things work. + +So, if you want to downgrade a specific app installed as a Flatpak, you can follow this guide. + +### Downgrade Flatpak packages in Linux + +**Disclaimer:** Unlike installing Flatpaks, you need **sudo** privileges to downgrade Flatpak packages. And if your user doesn’t have them, you can follow our detailed guide on [how to give sudo access to users][2]. + +**Recommended Read**: [How to Apply GTK Themes on Flatpak Applications][3] + +Here are the steps below: + +#### 1. Get the Application ID of the Package + +The first step is to find the Application ID of the package you want to downgrade. You can easily find it by listing the installed packages: + +``` +flatpak list --app +``` + +![find flatpak package id in linux][4] + +Note down the application ID of the package you want to downgrade. + +Here, I am going to downgrade the Black Box, so my application ID will be `com.raggesilver.BlackBox`. + +#### 2. List previous releases and get the commit code + +Once you get the application ID, you’d need to list the previous releases. + +You can easily do this by following the given command syntax: + +``` +flatpak remote-info --log flathub +``` + +![find previous releases in flatpak][5] + +Once you find the preferred previous release, copy the commit code as shown above. + +#### 3. Downgrade the Flatpack package + +Once you follow the first two steps, you should have the following: + +- Application ID of the package. +- Commit code of preferred older release. + +Now, you have to put them in the following command: + +``` +sudo flatpak update --commit= +``` + +As I’m downgrading Black Box to the previous release, I’ll be using the following command: + +``` +sudo flatpak update --commit=c4ef3f4be655cbe2559451a9ef5977ab28139c54bb5adbd7db812f3482bd0db5 com.raggesilver.BlackBox +``` + +![downgrade flatpak package in linux][6] + +And that’s it! + +To check whether you have successfully downgraded the package, you can list the packages that need to be updated (considering everything else is up-to-date). It should include the name of the package that you have recently downgraded: + +``` +flatpak update +``` + +![downgrade flatpak package][7] + +And as you can see, the Black Box is outdated and needs to be updated, meaning the package has been downgraded successfully! + +### Wrapping Up + +In this quick tutorial, I explained how you downgrade Flatpak packages, and I hope you find this helpful. + +And if you have any queries or suggestions, let me know in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/downgrade-flatpak-packages/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/blackbox-terminal/ +[2]: https://itsfoss.com/add-sudo-user-ubuntu/ +[3]: https://itsfoss.com/flatpak-app-apply-theme/ +[4]: https://itsfoss.com/wp-content/uploads/2022/12/find-flatpak-package-id-in-linux.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/find-previous-releases-in-flatpak-1.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package-in-linux.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package.png From 5a779e904f42d19070b6bfa3134dab2e34d47abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:54:34 +0800 Subject: [PATCH 819/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221220.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20I=20use=20Artipie,=20a=20PyPI=20repo.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0.2 ⭐️⭐️ How I use Artipie, a PyPI repo.md | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 sources/tech/20221220.2 ⭐️⭐️ How I use Artipie, a PyPI repo.md diff --git a/sources/tech/20221220.2 ⭐️⭐️ How I use Artipie, a PyPI repo.md b/sources/tech/20221220.2 ⭐️⭐️ How I use Artipie, a PyPI repo.md new file mode 100644 index 0000000000..e79f8ab4fa --- /dev/null +++ b/sources/tech/20221220.2 ⭐️⭐️ How I use Artipie, a PyPI repo.md @@ -0,0 +1,218 @@ +[#]: subject: "How I use Artipie, a PyPI repo" +[#]: via: "https://opensource.com/article/22/12/python-package-index-repository-artipie" +[#]: author: "Alena Gerasimova https://opensource.com/users/olena" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How I use Artipie, a PyPI repo +====== + +While developing with Python as a student, I found that I needed some private centralized storage. This was so I could store binary and text data files, as well as Python packages. I found the answer in [Artipie][1], an open source self-hosted software repository manager. + +At university, my colleagues and I conducted research and worked with a lot of data from experimental measurements. I used Python to process and visualize them. My university colleagues at the time were mathematicians and didn't have experience with software development techniques. They usually just passed data and code on a flash drive or over email. My efforts to introduce them to a versioning system like [Git][2] were unsuccessful. + +### Python repository + +Artipie supports the [PyPI][3] repository, making it compatible with both [twine][4] and [pip][5]. This means you can work with the Artipie Python repository exactly as you would when installing or publishing packages on the [PyPI][3] and [TestPyPI][6] repositories. + +To create your own Python repository, you can use the hosted instance of Artipie called [Artipie Central][7]. Once you sign in, you see a page with your repositories listed (which is empty to begin with) and a form to add a new repository. Choose a name for your new repository (for example, `mypython`), select "Python" as the repository type, and then click the **Add** button. + +Next, you see a page with repository settings in the [YAML][8] format: + +``` +--- +​repo: + type: pypi + storage: default + permissions: + olenagerasimova: + - upload + "*": + - download +``` + +The `type` mapping in the configuration sets the repository type. In this example, the Python repository is configured with the default Artipie Central storage. + +The `storage` mapping defines where all of the repository packages are stored. This can be any file system or S3 storage compatible location. Artipie Central has a preconfigured `default` storage that can be used for tests by anyone. + +The `permissions` mapping allows uploads for the user `olenagerasimova`, and allows anyone to download any package. + +To make sure this repository exists and works, open the [index page][9] in your browser. The packages list is displayed. If you've just created a new repository but have yet to upload a package, then the repository index page is blank. + +### Binary repository + +You can store any kind of file in Artipie. The storage type is called file or binary, and I use this as storage for experimental data. I use this as input for Python visualizations. A file repository can be created in Artipie Central the same way as a Python repository. You give it a name, choose the type **binary**, and then click the **Add** button. + +``` +--- +​repo: +  type: file +  storage: default +  permissions: +    olenagerasimova: +      - upload +      - download +    "*": +      - download +``` + +The settings are basically the same as for Python. Only the repository type differs. The binary repository, in this example, is called `data`. It contains three text files with some numbers: + +``` +​6 +3.5 +5 +4 +4.5 +3 +2.7 +5 +6 +3 +1.2 +3.2 +6 +``` + +The other two files take the same form (only the numbers are different.) To see the files yourself, open the links [one][10], [two][11], and [three][12] in your browser and download the files, or you can perform a GET request using `httpie`: + +``` +​httpie -a https://central.artipie.com/olenagerasimova/data/y1.dat > ./data/y1.da +``` + +These files were uploaded to the Artipie Central `data` repository with PUT requests: + +``` +​httpie -a olenagerasimova:*** PUT +https://central.artipie.com/olenagerasimova/data/y1.dat @data/y1.dat + +httpie -a olenagerasimova:*** PUT +https://central.artipie.com/olenagerasimova/data/y2.dat @data/y2.dat + +httpie -a olenagerasimova:*** PUT +https://central.artipie.com/olenagerasimova/data/y3.dat @data/y3.dat +``` + +As this binary repository API is very simple (HTTP `PUT` and `GET`requests), it's easy to write a piece of code in any language to upload and download the required files. + +### Python project + +The source code of an example Python project is available from my [GitHub repository][13]. The main idea of the example is to download three data files from Artipie Central, read the numbers into arrays, and use these arrays to draw a plot. Use pip to install the example package and run it: + +``` +​$ python3 -m pip install --index-url \ +https://central.artipie.com/olenagerasimova/pypi/ \ +pypiexample +$ python3 -m pypiexample +``` + +By setting the `--index-url` to the Artipie Central Python repository, pip downloads the packages from it rather than the PyPi repository that serves as the usual default. After running the commands, a polar plot with three curves, a visualization of the data files is displayed. + +To publish the package to the Artipie Central repository, build it with and use twine to upload it: + +``` +commandline +$ python setup.py sdist bdist_wheel + +$ twine upload --repository-url \ +https://central.artipie.com/olenagerasimova/pypi +-u olenagerasimova -p *** dist/* +``` + +That's how easy it is to set up a `files` repositories in Artipie Central, create a sample Python project, publish, and install it. You don't have to use Artipie Central, though. Artipie can be self-hosted, so you can run a repository on your own local network. + +### Run Artipie as a container + +Running Artipie as a container makes setup as easy as installing either Podman or Docker. Assuming you have one of these installed, open a terminal: + +``` +​$ podman run -it -p 8080:8080 -p 8086:8086 artipie/artipie:latest +​ +``` + +This starts a new container running the latest Artipie version. It also maps two ports. Your repositories are served on port 8080. The Artipie Rest API and Swagger documentation are provided on port 8086. A new image generates a default configuration, printing a list of running repositories, test credentials, and a link to the [Swagger][14] documentation to your console. + +You can also use the Artipie Rest API to see existing repositories: + +- Go to the Swagger documentation page at `http://localhost:8086/api/index-org.html`**.** +- In the **Select a definition** list, choose **Auth token** +- Generate and copy the authentication token for the user artipie with the password artipie +- Switch to the **Repositories** definition and click the **Authorize** button, and then paste in the token + +![Image of the Swagger documentation page,][15] + +Perform a GET request for `/api/v1/repository/list`. In response, you receive a JSON list with three default repositories: + +``` +​[ + "artipie/my-bin", + "artipie/my-docker", + "artipie/my-maven" +] +``` + +The Python repository isn't included in the default configuration. You can correct that by performing a PUT request to `/api/v1/repository/{user}/{repo}` from the  Swagger interface. In this case, `user` is the name of the default user (`artipie`) and `repo` is the name of the new repository. You can call your new Python repository `my-pypi`. Here's an example request body, containing a JSON object with the repository settings: + +``` +​{ + "repo": { + "type": "pypi", + "storage": "default", + "permissions": { + "*": [ + "download" + ], + "artipie": [ + "upload" + ] + } + } +} +``` + +All the JSON fields are the same as when you create a repository in the dashboard in YAML format. The type of our repository is `pypi`, the default storage is used, and anyone can download but only the user `artipie` can upload. + +Make a GET request to `/api/v1/repository/list` again to make sure your repository was created. Now, you have four repositories: + +``` +​[ + "artipie/my-bin", + "artipie/my-docker", + "artipie/my-maven", + "artipie/my-pypi" +] +``` + +You've created your own Artipie installation, containing several repositories! The Artipie image can run both on a personal computer or on a remote server inside a private network. You can use it to exchange packages within a company, group, or university. It's an easy way to set up your own software services, and it's not just for Python. Take some time to explore Artipie and see what it can make possible for you. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/python-package-index-repository-artipie + +作者:[Alena Gerasimova][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/olena +[b]: https://github.com/lkxed +[1]: https://github.com/artipie +[2]: https://opensource.com/tags/git +[3]: https://pypi.org/ +[4]: https://github.com/pypa/twine +[5]: https://pip.pypa.io/en/stable/ +[6]: https://test.pypi.org/ +[7]: https://central.artipie.com/signin +[8]: https://www.redhat.com/sysadmin/yaml-beginners +[9]: https://central.artipie.com/olenagerasimova/pypi +[10]: https://central.artipie.com/olenagerasimova/data/y1.dat +[11]: https://central.artipie.com/olenagerasimova/data/y2.dat +[12]: https://central.artipie.com/olenagerasimova/data/y3.dat +[13]: https://github.com/artipie/pypi-example +[14]: https://swagger.io/ +[15]: https://opensource.com/sites/default/files/2022-11/artipie-swagger.png From 455f737d8bd2c1191e524337d4934906603e3e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:55:07 +0800 Subject: [PATCH 820/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221220.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ex?= =?UTF-8?q?plore=20the=20features=20of=20the=20Linux=20Double=20Commander?= =?UTF-8?q?=20file=20manager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ures of the Linux Double Commander file manager.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 sources/tech/20221220.3 ⭐️⭐️ Explore the features of the Linux Double Commander file manager.md diff --git a/sources/tech/20221220.3 ⭐️⭐️ Explore the features of the Linux Double Commander file manager.md b/sources/tech/20221220.3 ⭐️⭐️ Explore the features of the Linux Double Commander file manager.md new file mode 100644 index 0000000000..94d236bf17 --- /dev/null +++ b/sources/tech/20221220.3 ⭐️⭐️ Explore the features of the Linux Double Commander file manager.md @@ -0,0 +1,99 @@ +[#]: subject: "Explore the features of the Linux Double Commander file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-double-commander" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Explore the features of the Linux Double Commander file manager +====== + +Double Commander is a graphical dual-pane file manager for Linux, in the tradition of [Midnight Commander][1] (`mc`). While Midnight Commander (like the DOS application **Norton Commander** before it) has its fans, its audience is limited by the fact that it only runs in a terminal window. Not everyone wants to use a "flat" interface embedded in a terminal to browse their file system, and so Double Commander provides a similar interface in a way that feels familiar to many desktop users. + +![Image of Double Commander's 2 panel view.][2] + +### Install Double Commander + +To install Double Commander, visit its [website][3] and download [a package][4]. It's not packaged for a specific Linux distribution, so just download an archive for your CPU architecture. + +If you only want to try it out, you can unarchive it and then launch it from your Downloads folder. + +To install it permanently, unarchive the package, move it into a location [in your path][5], and then symlink `doublecmd` to the executable in the source directory: + +``` +$ tar xvf doublecmd*tar.xz +$ mv doublecmd ~/.local/bin/doublecmd-X.Y.Z +$ ln -s ~/.local/bin/doublecmd-X.Y.Z/doublecmd ~~/.local/bin/doublecmd +``` + +### How to start Double Commander + +To start Double Commander, use the command `doublecmd`. + +Alternatively, you can add an entry for Double Commander in your application menu. First, create the file `~/.local/share/applications/doublecmd.desktop` and enter this text into it: + +``` +[Desktop Entry]Encoding=UTF-8Name=doublecmdGenericName=Double CommanderComment=doublecmdExec=../bin/doublecmdIcon=/usr/share/icons//Adwaita/scalable/apps/system-file-manager-symbolic.svgTerminal=falseType=ApplicationCategories=System;FileTools;Utility;Core;GTK;FileManager; +``` + +Now Double Commander appears in your desktop application menu. Note that this does not make Double Commander your default file manager. It only adds it as an application you can launch when you want to. + +### Two panels + +Dual-panel file management is a tradition within a subset of file managers, and to some users it's a little unsettling. If you think about it, though, most file management tasks involve a _source_ location and a _destination_ location. You might be used to a workflow that goes something like this: + +- Open a file manager and find a file you want to move. +- Open another file manager window and navigate to the folder you want to move the file into. +- Drag and drop the file from one window to the other. + +You might use a variation of this involving, for instance, a right-click to copy combined with some navigation and another right-click to paste. Either way, the ingredients are the same. You locate the source, you locate the destination, and then you make the transfer. + +Given that common factor, it makes sense that a file manager like Double Command has a persistent view of the source location and the destination location. At the very least, it saves you from having to open another window. + +### Double Commander interface + +Once you get used to the idea of two concurrent views in your file system, there are a lot more features to discover in Double Commander. + +- **Menu bar**: At the top of the window is a menu bar. That's pretty standard conceptually, but the menu entries are probably unlike any menu bar you've seen before: **File**, **Mark**, **Commands**, **Network**, **Tabs**, and more. These are task-specific menus, which is great because you can ignore an entire submenu you don't use. +- **Toolbar**: Under the menu bar, there are buttons for common tasks such as opening a terminal, copying a file, synchronizing two directories, and more. +- **Locations**: The location bar is situated just under the toolbar. It lists devices and file system locations, including your boot partition, optical media drive, virtual shared locations, the root directory, your home directory (listed as `~`), and more. +- **File list**: Most of the Double Commander window is occupied by the dual panel view of your file system. +- **Command**: My favorite feature of Double Commander is the single command field below the file list pane. This allows you to enter an arbitrary command to run within the active pane. This is great for the odd command you need to run in a directory that _no_ file manager expects you to run, and so no file manager has a function for. It's the brute force method of the plugin model: Provide a command line and let users run what they need to run whenever they need to run it. +- **Functions**: Along the very bottom of the Double Commander window, as with Midnight Commander, there's a list of common functions, each assigned to a Function key on your keyboard. + +### Using Double Commander + +Using Double Commander is a lot like using any file manager, except that Double Commander is focused on groups of actions. For instance, the **File** menu isn't an obligatory entry with just **New Window** and **New Tab**, it's full of useful functions, like creating a symlink or hard link, changing attributes, comparing contents, bulk renaming, splitting and combining files, and more. Double Commander is direct. It gets straight to the point, serving as a stand-in for all the commands you'd normally run in a terminal. + +### Graphical command interface + +More than any other file manager I've seen, Double Commander feels like it's meant to be a graphical interface for commands. You can map almost everything in its interface to a command or series of commands you're used to running in a terminal. + +Of course, the question then is whether you need a graphical command line. Why not just run the commands in a terminal? Interestingly, I had the opportunity to witness the value of this recently. There are times, as a support person for other computer users, when trying to get a user to navigate the terminal can be overwhelming. This is particularly true when your user is texting on an app on their mobile phone, and you're giving them commands to type into a terminal on their desktop. This introduces several opportunities for mistakes, and what was meant to be "the fast way" of doing something ends up taking an hour. + +It's counter-intuitive to a terminal user, and it's not even always true, but there are times when a graphical interface really is easier to give instructions for. Picture it: A zombie apocalypse rages outside your compound, and the file permissions of a vital file need to be changed in order to activate the firewall. "Open a terminal and type chmod a+x /usr/local/bin/foo…​no, that's `ch` as in _change_, `mod` as in _mode_ but without the _e_…​no, and then a space. Not between the `ch` and the `mod`, just after the `mod`. And then a space. It's `chmod` and _then_ a space. Not the word _space_, just press the spacebar. It's the really long key under your thumb…​" + +Or you could just say this: "Click on the file, now with that selected, go to the File menu up at the top and click on Change Attributes…​" + +Double Command's central feature is in its powerful features disguised as a non-threatening graphical file manager. Download and try it out for yourself. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-double-commander + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/12/linux-file-manager-midnight-commander +[2]: https://opensource.com/sites/default/files/2022-10/doublecmd-2panelview.png +[3]: https://doublecmd.sourceforge.io/ +[4]: https://github.com/doublecmd/doublecmd/releases +[5]: https://opensource.com/article/17/6/set-path-linux From 36b7b3c3e33edb68aaeff01cf03d2babfd917ba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:55:33 +0800 Subject: [PATCH 821/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221220.4=20=E2=AD=90=EF=B8=8F=20EndeavourOS=20'Cassi?= =?UTF-8?q?ni'=20Releases=20With=20New=20Features=20and=20Linux=20Kernel?= =?UTF-8?q?=206.0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ases With New Features and Linux Kernel 6.0.md | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 sources/news/20221220.4 ⭐️ EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0.md diff --git a/sources/news/20221220.4 ⭐️ EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0.md b/sources/news/20221220.4 ⭐️ EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0.md new file mode 100644 index 0000000000..c42c37b80c --- /dev/null +++ b/sources/news/20221220.4 ⭐️ EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0.md @@ -0,0 +1,133 @@ +[#]: subject: "EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0" +[#]: via: "https://news.itsfoss.com/endeavouros-cassini/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0 +====== + +EndeavourOS's latest update has arrived! + +![EndeavourOS 'Cassini' Releases With New Features and Linux Kernel 6.0][1] + +EndeavourOS is a popular Arch-based Linux distribution that aims to make the Arch experience easy. + +Code-named 'Cassini', it signifies a new phase in EndeavourOS's development that aims to make the OS better than its previous iterations. + +Similar to a [previous release][2], this release is also named after one of NASA's [projects][3]. + +Let's see what makes this release so unique. + +Unlocator Smart DNSRemove geographic blocks from streaming services using Unlocator Smart DNS. Simple to use and with a full free trial included.![][4]Unlocator![][5] + +### 🆕 EndeavourOS 'Cassini': What's New? + +![endeavouros cassini][6] + +The 'Cassini' release packs plenty of improvements, some of the noteworthy highlights include: + +- **Improved ARM Support** +- **Linux Kernel 6.0** +- **Various User Interface Updates** +- **Updated Software Packages** + +#### Improved ARM Support + +![endeavouros cassini arm][7] + +EndeavourOS now features support for the [Pinebook Pro][8]. + +This was made possible by including the new 'linux-eos-arm' kernel that comes with the 'amdgpu' driver for supporting generic ARM devices. + +The developers also added that: + +> We’ve leveraged existing work and PKGBUIDs of both Manjaro ARM and archlinuxarm-pbp projects to create our Pinebook Pro images and would like to thank them for their continuing work in supporting PineBook Pro for Arch Linux ARM platform. + +Furthermore, EndeavourOS also has enhanced support for ARM devices like the [Phytiuim D2000][9], [Raspberry Pi][10], and [Odroid N2+][11]. + +#### 🎨 Various User Interface Updates + +![endeavouros cassini budgie][12] + +With this release, EndeavourOS has received quite a few user interface tweaks; some of the highlights include: + +- The 'Discover' icon was replaced with a 'Konsole' icon on KDE Plasma. +- [Qogir theme][13] is being used for icons in Cinnamon and Budgie. +- In the case of GNOME, the wallpaper follows night and day theme like the Console. +- The default wallpaper is now set by the 'settings' package instead of 'welcome'. +- A load of cleanup work for Calamares. + +#### Linux Kernel 6.0 + +EndeavourOS 'Cassini' features Linux Kernel 6.0.12.arch1-1, which enables it to have enhanced support for [OpenRISC][14] and [LoongArch][15] architectures. + +Alongside that, there is a noticeable uplift in performance for AMD EPYC, Ryzen Threadripper, and Intel Xeon Ice Lake chips. + +You can go through our coverage for more details: + +#### Updated Software Packages + +This release also features a lot of updated software, including: + +- Calamares 3.3.0-alpha3 +- Firefox 108.0.1-1 +- Mesa 22.3.1-1 +- Xorg-Server 21.1.5-1 +- nvidia-dkms 525.60.11-1 +- Grub 2:2.06.r403.g7259d55ff-1 + +#### 🛠️ Other Changes + +There were also a few other changes that I want to mention, such as: + +- [dracut][16] has replaced [mkinitcpio][17] to handle the installation process. +- You can now choose not to install a bootloader. +- You have two bootloader options to pick from, [systemd-boot][18] and [Grub][19]. +- The Grub submenu is now enabled by default. +- gedit and GNOME terminal have been replaced by [gnome-text-editor][20] and [GNOME Console][21]. + +### 📥 Download EndeavourOS Cassini + +You can find the latest release on the [official website][22] from one of the available mirrors. + +_💬 What do you think of this release? Was it worth the wait?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/endeavouros-cassini/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/endeavour-os-cassini-release.png +[2]: https://news.itsfoss.com/endeavouros-artemis-release/ +[3]: https://solarsystem.nasa.gov/missions/cassini/overview/ +[4]: https://unlocator.com/favicon.ico +[5]: https://unlocator.com/wp-content/uploads/2019/05/unlocatoricon.jpg +[6]: https://news.itsfoss.com/content/images/2022/12/EndeavourOS-Cassini.jpg +[7]: https://news.itsfoss.com/content/images/2022/12/EndeavourOS-Cassini_ARM.png +[8]: https://itsfoss.com/pinebook-pro/ +[9]: https://phytium.com.cn/en/article/721 +[10]: https://www.raspberrypi.org +[11]: https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/ +[12]: https://news.itsfoss.com/content/images/2022/12/EndeavourOS-Cassini_2-1.jpg +[13]: https://github.com/vinceliuice/Qogir-theme +[14]: https://openrisc.io +[15]: https://en.wikipedia.org/wiki/Loongson +[16]: https://dracut.wiki.kernel.org/index.php/Main_Page +[17]: https://wiki.archlinux.org/title/mkinitcpio +[18]: https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/ +[19]: https://www.gnu.org/software/grub/ +[20]: https://itsfoss.com/gnome-text-editor/ +[21]: https://gitlab.gnome.org/GNOME/console +[22]: https://endeavouros.com/latest-release/ From e5c153029d8677ccf8bc8ae089746b4327c26479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:56:37 +0800 Subject: [PATCH 822/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221220.5=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Li?= =?UTF-8?q?nux=20Mint=2021.1=20Arrives=20with=20a=20Ton=20of=20Visual=20Ch?= =?UTF-8?q?anges=20and=20Improvements.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s with a Ton of Visual Changes and Improvements.md | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md diff --git a/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md b/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md new file mode 100644 index 0000000000..965f20f5cb --- /dev/null +++ b/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md @@ -0,0 +1,152 @@ +[#]: subject: "Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements" +[#]: via: "https://news.itsfoss.com/linux-mint-21-1-release/" +[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements +====== + +Linux Mint 21.1 comes with a new default theme and several other refinements. + +![Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements][1] + +Linux Mint 21 has received its first update as **Linux Mint 21.1 "Vera."** If you want to learn about Linux Mint 21 "Venessa," our official review should get you up to speed: + +This release is similar to the usual point releases. However, it includes various changes to the look, feel, and features that could look subtle but will affect the user experience. + +Let's take a look at the major highlights. We focus on Linux Mint's Cinnamon edition. + +### Linux Mint 21.1 Vera: What's New? + +The release will continue to use the **Linux 5.15 LTS** kernel under the hood, based on **Ubuntu 22.04 LTS**. + +![][2] + +#### 👀 A Refreshed User Interface + +When you first boot into the desktop, you should quickly notice the new look of the cursor. It features the new Bibata theme by default. + +![linux mint's new cursor icon][3] + +The cursor icon theme inventory has new options like Yaru, Breeze, and GoogleDot along with the traditional DMZ theme. + +![][4] + +Users will also find a unique set of app icon themes to choose from in addition to the traditional Mint-X, Mint-Y, and Mint-Legacy themes. This includes Papirus, Breeze, Numix, and Yaru. + +![linux mint aqua theme][5] + +Another interesting thing you may notice is the default accent color isn't the traditional green anymore, and that's because the **desktop theme is now switched to Aqua**. The accent color library offers more vibrant colors and gives the desktop a clean and attractive look. + +For those who want the legacy look back, there exists a "**Mint-Y-Legacy**" option in the theme options. + +Moreover, the **Computer, Home, Networks, and Trash icons** previously visible on the desktop are removed by default and can be accessed in the file manager. The Home folder icon is displayed on the panel instead. If you want to return the old arrangement, you can do so by heading to the **system****preferences**. + +#### ✨ Enhanced Drive Manager + +The Drive Manager no longer requests a password when you launch it since it runs in user mode. + +![linux mint driver manager offline][6] + +There are dedicated screens for offline connectivity and when a live USB is detected. You should also find the mounting of the live USB smoother than before. + +![usb screen drive manager linux mint][7] + +There have been a couple of fixes to it as well. + +Packagekit now purges removed drivers and packages. This solves a commonly known issue where users want to switch between different versions of the NVIDIA driver. + +Additionally, Debconf has been patched to address an issue for NVIDIA drivers when Secure Boot was enabled. + +#### 👨‍💻 Flatpak Integration and Software Manager Improvements + +It is nice to see that both the **Software Manager** and **Update Manager** have received support for Flatpaks. + +The procedure for installing and updating Flatpak applications is not very different and should be a breeze. + +![][8] + +For instance, the Software Manager has been updated to help differentiate which version of an app, Flatpak, or system the user is looking at. There's also a drop-down box for switching between the system and Flatpak versions of an app. + +Uninstalling Flatpak applications and shortcuts doesn't require a password anymore. The same applies when multiple operations are being performed. + +#### 🔨 Improvements for XApps + +Users can now configure the login screen's cursor size and theme. Previously, these settings were set globally. + +On the other hand, Warpinator gets better security while the WebApp Manager features additional settings when editing Web Apps, including private browsing and a navigation bar. + +#### ⭐ New ISO Verification Tool + +In most cases, one wants to verify the integrity of a downloaded ISO image. + +Thus to make things easier, you can do this by right-clicking on the ISO image and selecting "**Verify**." This opens up the ISO Verification tool, where you can fill in the necessary details for the verification process. + +![][9] + +A cool thing to note is that the URLs to the SHA256sum and GPG files are filled in automatically for Linux Mint and Ubuntu ISO images. + +#### 🎨 Cinnamon 5.6 Desktop + +Linux Mint's flagship desktop environment has received minor visual updates and changes. + +On the desktop's panel, you will notice a thin separator between the home menu and the applications. Like Windows, a new corner bar applet has been added to the right-most corner, configurable, and supports innovative actions. + +![][10] + +Coming to the visuals, Nemo - the default file manager - has undergone a few changes. + +- When selecting one or more items, only the name remains highlighted, while the icon doesn't. +- The dates are now displayed in monospace fonts. +- The path bar has also received some improvements. + +You can effortlessly access the Display Settings as its shortcut has been added to the desktop's context menu. + +### 🛠️ Other Improvements + +The other two desktop environments have been updated to **MATE 1.26 and XFCE 4.16**, respectively. + +The artwork collection has also been expanded to include several cool wallpapers. + +While we've only covered key highlights of this release, you can go through the [official changelog][11] for more details. + +### Getting Linux Mint 21.1 + +Existing Mint users should be notified and can easily upgrade to Mint 21.1 through the update manager. + +Those looking for a fresh installation of Linux Mint can get the ISO from the [official download page][12]. + +[Linux Mint 21.1][12] + +You can also [get torrent links][13] if you have slow or inconsistent internet. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-mint-21-1-release/ + +作者:[Rishabh Moharir][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/rishabh/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-mint-21-1-release.png +[2]: https://news.itsfoss.com/content/images/2022/12/Home.png +[3]: https://news.itsfoss.com/content/images/2022/12/bibata.png +[4]: https://news.itsfoss.com/content/images/2022/12/Themes.png +[5]: https://news.itsfoss.com/content/images/2022/12/linux-mint-new-look.png +[6]: https://news.itsfoss.com/content/images/2022/12/Drivemanager1.png +[7]: https://news.itsfoss.com/content/images/2022/12/DriverManager2.png +[8]: https://news.itsfoss.com/content/images/2022/12/Software_Manager.png +[9]: https://news.itsfoss.com/content/images/2022/12/ISOVerify.png +[10]: https://news.itsfoss.com/content/images/2022/12/Folder.png +[11]: https://www.linuxmint.com/rel_vera_cinnamon_whatsnew.php +[12]: https://www.linuxmint.com/download.php +[13]: https://linuxmint.com/torrents/ From 654497b12c57049237e9425fe76a60e9eba9acbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:57:12 +0800 Subject: [PATCH 823/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221221.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20En?= =?UTF-8?q?deavourOS=20Your=20Search=20for=20Perfect=20Arch=20Distro=20End?= =?UTF-8?q?s=20Here.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...S Your Search for Perfect Arch Distro Ends Here.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 sources/tech/20221221.0 ⭐️⭐️ EndeavourOS Your Search for Perfect Arch Distro Ends Here.md diff --git a/sources/tech/20221221.0 ⭐️⭐️ EndeavourOS Your Search for Perfect Arch Distro Ends Here.md b/sources/tech/20221221.0 ⭐️⭐️ EndeavourOS Your Search for Perfect Arch Distro Ends Here.md new file mode 100644 index 0000000000..dddfcdca15 --- /dev/null +++ b/sources/tech/20221221.0 ⭐️⭐️ EndeavourOS Your Search for Perfect Arch Distro Ends Here.md @@ -0,0 +1,134 @@ +[#]: subject: "EndeavourOS: Your Search for Perfect Arch Distro Ends Here" +[#]: via: "https://www.debugpoint.com/endeavouros-review/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +EndeavourOS: Your Search for Perfect Arch Distro Ends Here +====== + +**We review the recent release of EndeavourOS “Cassini” and the distro overall.** + +Hundreds of Linux distributions pop up every year by individuals and small teams. They are mostly the direct derivatives of Debian, Ubuntu, Fedora or Arch Linux – with a few customizations. And no wonder majority of them die every year due to a lack of contributions, vision and persistence. + +Three years back, a small team of contributors started EndeavourOS to continue the discontinued Antergos project. And since then, it has become popular because of its simplicity of installation, user experience and features. + +![EndeavourOS with Xfce desktop][1] + +### EndeavourOS Review + +A lot went into developing the distribution, which is quite evident if you have ever tried it out. The motto of this distro is to be a “general purpose” Arch Linux distribution for the masses, discarding the Arch Linux installation fear for new users and the superiority of using Arch. + +If you ever tried EndeavourOS, you must have “felt” how “easy” things are to perform on a desktop for the end user, being an Arch distro. + +#### Installation and desktop options to choose from + +The installation is made super easy with the “one and only” Calamares installer. On top of that EndeavourOS team gave extra caution to provide you with most of the options during the installation steps. For example, the LIVE medium boots up directly without user intervention. And it launches the welcome screen. The welcome screen greets you with all the necessary options to install it in your system. + +![EndeavourOS Welcome Screen][2] + +By default, the ISO provides a lightweight Xfce desktop. However, EndeavourOS also provides you with all the desktop environments and window managers (the major ones – see below). And they are all tested to work fine. If you are connected to the internet during installation – you can install these via the Calamares installer. That means you do not need to reinstall them after the base Xfce setup. + +Furthermore, if you are a power user and want just a basic Arch Linux to install without any desktop – then that’s also possible. Just use the “No desktop” option during installation! + +Although Arch Linux recently created an automated script archinstall to make the installation easier, still faster and easier to get a base Arch Install via the EndeavourOS ISO. + +![EndeavourOS installer showing no desktop and other options][3] + +Furthermore, you have the option to choose between three options: GRUB, systemd-boot or “no bootloader” – this is one of the highlight features of the EndeavourOS “Cassini” release. In addition, you can also choose the packages you want to install (online mode only). For example, you might need a basic system to start with. Or, you might want to install some apps related to video/audio or development work. All of these you can select in this version. + +The installation is smooth and finished by detecting the other operating systems in my test machine. In this “Cassini” release, the team also swapped the mkinitcpio with [dracut][4] for better performance and less failure on boot-related issues. + +#### Flagship “Xfce” flavoured desktop experience + +After the first login, you are again greeted with the Welcome app with a list of items which you can do “after install”. A very thoughtful addition from the devs. This includes initial tasks of changing wallpaper, updating Arch mirrors, installing NVIDIA drivers, and more. Many Linux distributions bring a Welcome app, but this app is a complete package, IMO. + +![After install items in Welcome app][5] + +The default look is the best-customized Xfce desktop you can get. It has been customized to be presented as a well-looking distro, far from what default Xfce actually brings in. This includes the GRUB menu, login screen and desktop. + +The main Xfce menu is configured with more items, and the terminal is a little transparent and uses the Qogir icon theme. All of these changes are complemented with stunning wallpapers and Arc-Darker default Xfce theme. + +![EndeavourOS Cassini Desktop with Xfce 4.18][6] + +#### Performance + +The performance of Arch Linux is always better, despite the desktop environment. It always feels faster because it doesn’t bring bloated within. On top of that, the [Xfce desktop 4.18][7] brings in additional performance optimization in the “Cassini” release, which you can feel while browsing through the desktop. + +At idle, it uses around 700MB of memory and CPU at an average of 4%. This is the baseline. The resource usage may increase based on the number of apps you open. In my earlier reviews of EndeavourOS, the performance is always similar. + +Not only that, it uses only 4GB of disk space for the default Xfce installation. However, you may need to install additional heavy software such as LibreOffice, GIMP, or KDenlive, which would take more disk space. + +![EndeavourOS performance Cassini][8] + +#### How easy is it to perform day-to-day tasks in EndeavourOS + +One of the great features of EndeavourOS is some of the python-based GUI tools which make your life easy in Arch Linux. For example, you get notifications for updates from Arch and EndeavourOS repo, one-click software installation from AUR, and update mirrors and your system with one single click. You do not need to run any commands from the terminal. This is a big help for new users of Arch Linux. + +![One click installation of software][9] + +![Package cleaner and update manager][10] + +#### A unique way of handling the rolling release towards stability + +Arch Linux being a rolling release distro, tend to break things. For example, some systems may break during the monthly Kernel refresh of the Arch main repo. Due to its popularity and the developers’ proactiveness, you get notifications and a workaround related to the problem if things break. + +The recent GRUB issue in Arch Linux, which caused massive boot problems for users, is really [handled well][11] by the EndeavourOS team through proper communication to the users with a workaround. + +Hence, you are not really lost if you end up with an unstable system. + +In addition, the pacman configuration is customized with EndeavourOS-selected mirrors to ensure your experience is flawless. + +#### Official support for open-source hardware and ARM + +In this EndeavourOS “Cassini” release, the official support for Pinebook Pro laptops arrives. The team worked on top of Manjaro packages with the Pine64 team to provide exclusive Arch packages for you so that the laptop works out of the box. In addition, EndeavourOS ARM images are also available to download for Raspberry Pi 4. + +#### Community help + +One of the greatest benefits of EndeavourOS is community help – which is instant! This is mostly for its dedicated [Telegram channel][12], where you get responses to your any EndeavourOS problems within minutes. I have been to the channel, and the mods/contributors are friendly and helpful. + +Furthermore, you can also get help from the official forum and other social channels. + +### Wrapping Up + +While closing this EndeavourOS review of the [“Cassini” release,][13] I would say it’s one of the best-built distros and well-organized. The developers and the team have a clear roadmap to build a general-purpose Arch Linux distro. Also, the vision is clear with the ARM and Pinebook Pro supports and other initiatives. + +To summarise, a perfect distro for everyone who wants a longer-running, stable system in Arch Linux. + +You can download EndeavourOS from the [official website][14]. + +Cheers. + +[Next:Linux Mint Upgrade Tool: Usage Guide][15] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/endeavouros-review/ + +作者:[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/12/Xubuntu-22.04-with-Xfce-4.18-Desktop-2.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/EndeavourOS-Welcome-Screen.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/EndeavourOS-installer-showing-22no-desktop22-and-other-options.jpg +[4]: https://wiki.archlinux.org/title/Dracut +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/After-install-items-in-Welcome-app.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/EndeavourOS-22Cassini22-Desktop-with-Xfce-4.18.jpg +[7]: https://www.debugpoint.com/xfce-4-18-features/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/EndeavourOS-performance-22Cassini22.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/12/One-click-installation-of-software.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/12/Package-cleaner-and-update-manager.jpg +[11]: https://endeavouros.com/news/full-transparency-on-the-grub-issue/ +[12]: https://endeavouros.com/community/ +[13]: https://endeavouros.com/news/cassini-packed-with-new-features-is-here/ +[14]: https://endeavouros.com/download/ +[15]: https://www.debugpoint.com/mint-upgrade-tool/ From a7687fef3cd680f378d0f51c47c17349e7270fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:58:06 +0800 Subject: [PATCH 824/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221220.6=20=E2=AD=90=EF=B8=8F=20How=20to=20Update=20?= =?UTF-8?q?Pi-hole=20Easily.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21220.6 ⭐️ How to Update Pi-hole Easily.md | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 sources/tech/20221220.6 ⭐️ How to Update Pi-hole Easily.md diff --git a/sources/tech/20221220.6 ⭐️ How to Update Pi-hole Easily.md b/sources/tech/20221220.6 ⭐️ How to Update Pi-hole Easily.md new file mode 100644 index 0000000000..a667eec761 --- /dev/null +++ b/sources/tech/20221220.6 ⭐️ How to Update Pi-hole Easily.md @@ -0,0 +1,177 @@ +[#]: subject: "How to Update Pi-hole Easily" +[#]: via: "https://itsfoss.com/update-pi-hole/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Update Pi-hole Easily +====== + +Pi-hole is one of the most effective ad-blockers available for you to use. You can install it on your router or a dedicated system and get an ad-free experience for all the devices connected through it. + +In an earlier article, I discussed the [steps for installing Pi-hole][1]. But you must update it regularly to win the cat-and-mouse game between ad blockers and ad providers (Google, Facebook, etc). Another aspect is to patch a security vulnerability that might affect you negatively. + +The update method depends on the installation method. To recall, I discussed two methods: + +- **Method 1**: The existing Pi-hole installation was conducted using a script. The script was `curl -sSL https://install.pi-hole.net | bash` (or something similar). +- **Method 2**: You installed Pi-hole using either Podman or Docker as a container. + +I will cover how to update Pi-hole with both of these methods. + +### Method 1: Updating Pi-hole that was installed by a script + +You will not believe how easy this is. All you have to do is run the following command in your terminal! + +``` +pihole -up +``` + +Of course, you have to run this command on the device where you have installed Pi-hole. In other words, you may have to [SSH into your Raspberry Pi][2] or router to run the above-mentioned command. + +Doing so will update Pi-hole. Below is the output of running the `pihole -up` command on my computer: + +``` +$ pihole -up + [✓] Update local cache of available packages + [i] Existing PHP installation detected : PHP version 8.1.2-1ubuntu2.8 + [✓] Checking for git + [✓] Checking for iproute2 + [✓] Checking for dialog + [✓] Checking for ca-certificates + + [i] Checking for updates... + [i] Pi-hole Core: up to date + [i] Web Interface: up to date + [i] FTL: up to date + + [✓] Everything is up to date! +``` + +💡Though I haven’t encountered this myself, it is still a possibility that Pi-hole might require updates for _other_ packages (like PHP) be installed. So try and run the update command that is applicable for your package manager on a regular basis. Keeping other packages up-to-date is _just as important_ ;) + +#### Optional: Automate Pi-hole update with cron job + +This says that everything is up to date. But how can a normal person remember to keep everything up to date? Fret not! We can create a cron job to automatically update Pi-hole every day. + +But before we edit the cron job, let us find the absolute path of the `pihole` command. This can be done either using the `which` command or the `command` command. You only need to run either one of the two commands listed below: + +``` +command -v pihole +which pihole +``` + +Executing either of the commands listed above will give you the absolute path to the `pihole` command. In my case, the absolute path for the `pihole` command is `/usr/local/bin/pihole`. + +Next, we will edit the [cron job][3]. To edit cron jobs, type the following command in your terminal (please do **NOT** use `sudo`): + +``` +crontab -e +``` + +Doing so will open a file in either the `nano` editor or the `vim` editor. Next, _append_ the following lines to the currently opened file: + +``` +0 1 * * * /usr/local/bin/pihole -up +``` + +All you need to do now is to save and exit the editor. + +What we just did was that we made updating Pi-hole an automatic task. This will automatically run the `pihole up` command at 01:00 hours, every day. + +### Method 2: Update Pi-hole that was installed via Podman or Docker + +If you installed Pi-hole using either Podman or Docker, all you can do initially is to pull the image. + +⚠️ If you used a `docker-compose.yml` file to create your container, please have it handy because we need to delete the current container and create a new one. (No data or configuration will be changed if volumes are backed up properly or if bind mounts were used.) + +#### Step 1: Check if a newer image is available + +To check for updates, you can run either of the following commands based on what you use: + +``` +# command for Podman users +podman pull docker.io/pihole/pihole:latest + +# command for Docker users +docker pull docker.io/pihole/pihole:latest +``` + +If there is a newer version of the image, it will be fetched. If a newer version is not available, nothing extra will happen and you should try again later. + +#### Step 2: Stop and remove the container + +If a new image was downloaded, we can proceed further. Our next step should be to restart the container. To know which container to restart, we can check the output of the `docker ps` or `podman ps` command. + +``` +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +73528d5ca4e8 docker.io/pihole/pihole:latest 14 hours ago Up 14 hours ago 53/tcp pihole-aditi +``` + +This shows that I have a container named `pihole-aditi`. Let’s stop and remove this container. This can be done with the following commands: + +``` +# command for Podman users +podman stop pihole-aditi +docker rm pihole-aditi + +# command for Docker users +docker stop pihole-aditi +docker rm pihole-aditi +``` + +#### Step 4: Create a new container + +I hope you took my warning seriously and have your `docker-compose.yml` file handy ;) + +Let’s re-create a new container. You can re-create your container using the following command: + +``` +docker-compose up -d +``` + +Please verify that the Pi-hole container is up and running using either the `podman ps` command or the `docker ps` command. + +#### Step 5: Remove old image(s) + +Once the Pi-hole container starts up with the updated image, we can remove the old image and free up disk, space. + +To remove **all the _unused_ images**, use the following command: + +``` +# command for Podman users +podman image prune + +# command for Docker users +docker image prune +``` + +Upon running the above command, **all the _unused_** **images** will be removed. **Please take caution with this command.** + +Done! That was all that we needed to do to update our Pi-hole container. + +### Conclusion + +This article goes over the two methods of updating Pi-hole based on the installation method initially used. I have also discussed setting up auto-updates for Pi-hole which was installed using the official script. There is no such option for the container method, unfortunately. + +Do let me know if you face any issues. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/update-pi-hole/ + +作者:[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/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/setup-pi-hole/ +[2]: https://itsfoss.com/ssh-into-raspberry/ +[3]: https://itsfoss.com/cron-job/ From 2c316b7ee7ae9f1db2d3e838121c8406eae52e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:58:32 +0800 Subject: [PATCH 825/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221221.1=20=E2=AD=90=EF=B8=8F=20Debugging=20LibreOff?= =?UTF-8?q?ice=20Basic=20Macro=20using=20Breakpoint=20and=20Watch.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...fice Basic Macro using Breakpoint and Watch.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 sources/tech/20221221.1 ⭐️ Debugging LibreOffice Basic Macro using Breakpoint and Watch.md diff --git a/sources/tech/20221221.1 ⭐️ Debugging LibreOffice Basic Macro using Breakpoint and Watch.md b/sources/tech/20221221.1 ⭐️ Debugging LibreOffice Basic Macro using Breakpoint and Watch.md new file mode 100644 index 0000000000..89ec7eaf19 --- /dev/null +++ b/sources/tech/20221221.1 ⭐️ Debugging LibreOffice Basic Macro using Breakpoint and Watch.md @@ -0,0 +1,118 @@ +[#]: subject: "Debugging LibreOffice Basic Macro using Breakpoint and Watch" +[#]: via: "https://www.debugpoint.com/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Debugging LibreOffice Basic Macro using Breakpoint and Watch +====== + +**A simple guide for you to learn how to debug LibreOffice basic macro using breakpoint and watch.** + +While writing complex macros to automate various tasks in LibreOffice, you definitely encounter errors. Some run-time errors are self-explanatory. But some of them are very generic. To debug those, you need to carefully put breakpoints and step through the code to see where the problem is in your code. + +Hence this tutorial. These techniques apply to all the macros written in Calc, Writer or Impress. And should be applied to OpenOffice macros as well. + +### Debug a LibreOffice Macro written in Basic + +It’s easier to demonstrate this concept using an example. + +#### Define + +Let’s define three variables which we would use for our exercise. + +``` +dim i, j, cnt +``` + +Define a `for` loop, which would execute from 1 to 10. Inside the loop, increment two variables as below. This is just for just this demo; however, you can put any logic you want. + +``` +for cnt = 1 to 10 + i = i + 1 + j = i + 1 +next cnt +``` + +#### Adding Breakpoint + +Now, we want to put two breakpoints in the statement `"for cnt = 1 to 10"` and `"j = i + 1"`. When you put a breakpoint inside your program, it runs in debug mode and holds the execution at the breakpoint. + +To put a breakpoint in a LibreOffice Basic macro, put the cursor in the statement. And then, press `F9` or press the below button from the toolbar. + +![Breakpoint toolbar button in LibreOffice Macro editor][1] + +Once you do that, you will see a red circle on the left side of the statement, which means a breakpoint has been added _to that statement_. See the below image. In addition, you can add multiple breakpoints as per your needs. + +![After adding breakpoints][2] + +If you want to remove a breakpoint from a statement, press `F9` again in the statement, OR you can `double-click` the red circle. + +#### Adding Watch + +Now, we would add a ‘watch’ to the variable `"cnt"`. + +When the program executes in debug mode, the watch helps monitor a variable’s value between program steps. To add a watch on `"cnt"`variable, select the variable and press `F7` or click the glass icon in the toolbar. + +![Watch button in the toolbar in LibreOffice Macro editor][3] + +Once you do that, you will see the variable added to the watch list at the bottom of the editor. + +![Watch section appears at the bottom of the editor][4] + +#### Execute by Step + +We are all set with tools. + +Run the program by pressing `F5`. As we already added breakpoints, you would see the execution halts at the first breakpoint with a little **yellow arrow**. + +![Execution halts at the breakpoint][5] + +Now you have two options. + +Press `F5` again to continue the execution of the program, and it will halt again at the next breakpoint.Press `F8` (step execution), which would execute step by step, and you can see the ‘watched’ variable `'cnt'` value is changing as below. + +Lets press `F8`. You can see the yellow arrow comes to the next statement, and the compiler waits. Now the fun part, if you take a closer look at the watch window, you can see the `'cnt'`variable’s value is 1. + +![Variable contents during execution][6] + +So this way, you can debug, add breakpoints and add watch any LibreOffice or OpenOffice macro using its editor. + +Furthermore, you can add many watch variables as you want and debug your program for successful execution. + +### Closing Notes + +Although the above example is specific to LibreOffice macros, the same concept applies to programming and debugging in general. I hope this article helps you to understand the basics of debugging, step execution and watch in programming and macros in LibreOffice. + +### Looking for Something Else? + +If you are looking for something else in LibreOffice macro tutorials Or wants to learn more about it, please follow the below link for the complete Macro Tutorials Index: + +[Macro Tutorial Index][7] + +[Next:How to Save and Open Tabs from Last Session in Web Browser][8] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/ + +作者:[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/2014/09/LibreOffice_Debug_watch_BreakPoint_1.png +[2]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_2.png +[3]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_3.png +[4]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_4.png +[5]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_5.png +[6]: https://www.debugpoint.com/wp-content/uploads/2014/09/LibreOffice_Debug_watch_BreakPoint_6.png +[7]: http://www.debugpoint.com/libreoffice-basic-macro-tutorial-index/ +[8]: https://www.debugpoint.com/open-tabs-last-session-browser/ From 9601493ea574943bd085021220be42dd5bd0394a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:58:59 +0800 Subject: [PATCH 826/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221221.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ho?= =?UTF-8?q?w=20to=20migrate=20your=20code=20from=20PHP=207.4=20to=208.1.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to migrate your code from PHP 7.4 to 8.1.md | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 sources/tech/20221221.2 ⭐️⭐️ How to migrate your code from PHP 7.4 to 8.1.md diff --git a/sources/tech/20221221.2 ⭐️⭐️ How to migrate your code from PHP 7.4 to 8.1.md b/sources/tech/20221221.2 ⭐️⭐️ How to migrate your code from PHP 7.4 to 8.1.md new file mode 100644 index 0000000000..fe2f579bb3 --- /dev/null +++ b/sources/tech/20221221.2 ⭐️⭐️ How to migrate your code from PHP 7.4 to 8.1.md @@ -0,0 +1,160 @@ +[#]: subject: "How to migrate your code from PHP 7.4 to 8.1" +[#]: via: "https://opensource.com/article/22/12/migrate-php-code" +[#]: author: "Paul Gilzow https://opensource.com/users/gilzow" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to migrate your code from PHP 7.4 to 8.1 +====== + +The end-of-life (EOL) for [PHP 7.4][1] was Monday, November 28, 2022. If you’re like me, that date snuck up much faster than anticipated. While your PHP 7.4 code isn’t going to immediately stop working, you do need to begin making plans for the future of this codebase. + +### What are your options? + +You could continue to remain on PHP 7.4, but there are several benefits to updating. The biggest are security risk and support. As we move farther and farther away from the EOL date, attackers will turn their focus to PHP 7.4 knowing that any vulnerabilities they discover will go unpatched in the majority of systems. Staying on PHP 7.4 drastically increases the risk of your site being compromised in the future. In a similar vein, finding support for issues you encounter with PHP 7.4 will become increasingly more difficult. In addition, you will most likely begin to encounter compatibility issues with third-party code/packages as they update their code to be compatible with later versions and drop support for 7.4. You’ll also be missing out on significant speed and performance improvements [introduced in 8.0][2] and further [improved in 8.1][3]. But upgrading all that legacy code is daunting! + +### Where to start? + +Luckily, PHP provides an [official migration guide][4] from PHP 7.4 to 8.0 to get you started (and an [8.0 to 8.1 migration guide][5] as well). Be sure to read through the Backward Incompatible Changes and Deprecated Features sections. While these guides are incredibly handy, you may very well have tens of thousands of lines of code to check, some of which you may have inherited. Luckily there are some options to help pinpoint potential problem areas in the migration. + +#### PHPCodeSniffer + PHPCompatibility sniffs + +[PHPCodeSniffer][6] (PCS) is a package for syntax checking of PHP Code. It checks your code against a collection of defined rules (aka “sniffs”) referred to as “standards”. PHPCodeSniffer ships with a collection of standards you can use including PEAR, PSR1, PSR2, PSR12, Squiz, and Zend. Luckily, you can write your own collection of sniffs to define any set of rules you like. + +> PHPCompability has entered the chat + +[PHPCompatibility][7] “is a set of sniffs for PHP CodeSniffer that checks for PHP cross-version compatibility” allowing you to test your codebase for compatibility with different versions of PHP, including PHP 8.0 and 8.1. This means you can use PHPCodeSniffer to scan your codebase, applying the rules from PHPCompability to sniff out any incompatibilities with PHP 8.1 that might be present. + +### Before I continue… + +While PHP8.2 was released on [December 8, 2022][8], and I encourage you to begin looking over the [official 8.1 to 8.2 migration guide][9] and begin making plans to upgrade, most of the checkers I mention in this article have not completed full support for 8.2 at this time. For those reasons, I’ll be focusing on migrating the code to PHP8.1, and not 8.2. + +In the process of writing this article, I discovered PHPCompatiblity has a [known issue][10] when checking for compatibility with PHP 8.0/8.1 where it will report issues that should be **Errors** as **Warnings**. The only workaround for now is to use the `develop` branch for PHPCompatibility instead of `master`. While they state it is stable, please be aware that in this article, I’m using the non-stable branch. You may want to weigh the pros and cons of using the `develop` branch before implementing it anywhere else than in a local development environment. While I found PCS+PHPCompatibility to be the most straightforward and comprehensive solution for checking for incompatible code, if you do not want to use a non-stable version of PCS, see the section at the end of the article about alternative options. + +For the purposes of this article, I’ll be using the [1.4.6 version of SimpleSAMLphp][11] to test for incompatibilities. This is a six-year-old version of the code base. I do this not to pick on SimpleSAMLphp, but because I wanted something that would _definitely_ have some errors. As it turns out, all of the platform.sh code I tested, as well as my own code was already compatible with PHP8.1 and required no changes. + +### Get started + +To get started, first clone your codebase, and then create a new branch. You’ll now need to decide if you want to install the dependencies and run the scans on your local machine or in a local development environment using something like [DDEV][12], [Lando][13], or [Docksal][14]. In this demo, I’m using DDEV. I suggest using a local development environment vs running directly on your local machine because while it’s not required to use the version of PHP you want to test against, for the best results, it is recommended you do so. If you don’t have PHP installed, or don’t have the target version installed, a local development environment allows you to create an ephemeral environment with exactly what you need without changing your machine. + +After setting up your environment for PHP 8.1, at a terminal prompt (in my case, I’ve run `ddev start` and once the containers are available, shell into the web app using `ddev ssh`), you need to add these new packages so you use them to test with. I’ll be adding them with composer, however, there are [multiple][15][ways][16] to [install][17][them][18] if you would prefer to do so differently. If your codebase isn’t already using composer, you’ll need to do [composer init][19] before continuing. + +Because you'll be using the develop branch of PHPCompatibility there are a couple of extra steps to do that aren’t in the regular installation instructions. First is that the develop branch of PHPCompatibility requires an alpha version of `phpcsstandards/phpcsutils`. Because it is marked as alpha, you'll need to let composer know this one package is OK to install even though it is below your minimum stability requirements. + +`$ composer require --dev phpcsstandards/phpcsutils:"^1.0@dev"` + +Next, install PHPCompatibility targeting the `develop` branch + +`$ composer require --dev phpcompatibility/php-compatibility:dev-develop` + +The `develop` branch also installs `dealerdirect/phpcodesniffer-composer-installer` so you don’t need to add it manually or direct PCS to this new standard. + +To verify our new standards are installed, you'll have PCS display the standards it is aware of. + +``` +$ phpcs -i +The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz, Zend, PHPCompatibility, PHPCS23Utils and PHPCSUtils +``` + +Now that you know your standards are available, you can have PCS scan our code. To instruct PCS to use a specific standard, use the `--standard` option and tell it to use `PHPCompatibility`. However, you also need to tell PHPCompatibility which PHP version you want to test against. For that, use PCS’ `--runtime-set` option and pass it the key `testVersion` and value of `8.1`. + +Before you start the scan, the one issue remaining is that code you want to scan is in the root of the project (`.`) but the `vendor` directly is also in the project root. You don’t want the code in `vendor` scanned, as those aren’t packages you necessarily control. PCS allows you to tell it to not scan files/directories with the `--ignore` option. Finally, you want to see the progress as PCS parses the file so you'll pass in the `-p` option. + +Putting it all together: + +`$ phpcs -p . --standard=PHPCompatibility --runtime-set testVersion 8.1 --ignore=*/vendor/*` + +This kicks off PCS which will output its progress as it scans through your project’s code. `W` indicates **Warnings**, and `E` indicates **Errors**. At the end of the scan it will output: a full report with the file containing the issue, the line number where the issue occurs, whether the issue is a **Warning** or an **Error**, and the specific issue discovered. + +In general, **Errors** are things that will cause a fatal error in PHP 8.1 and will need to be fixed before you can migrate. **Warnings** can be things that have been deprecated in 8.0/8.1 but not yet removed or issues that PCS ran into while trying to parse the file. + +![asciicast][20] + +Given that the report might be long, and is output all at once into your terminal, there are [numerous options][21] for changing the information that is included in the report, as well as multiple reporting formats. + +As you begin to fix your code, you can rerun the report as many times as needed. However, at some point, you’ll need to test the code on an actual PHP8.1 environment with real data. If you’re using [Platform.sh][22], which is as easy as creating a branch, changing a single line in your configuration file, and pushing that branch to us. You can check out [this video][23] to see how easy it is! + +### There’s too much to fix! + +Now that you have a solid idea of what needs to be updated before you can migrate, you might be facing an incredible amount of work ahead of you. Luckily, you have some options to help you out. PCS ships with a code fixer called [PHP Code Beautifier and Fixer][24] (`phpcbf`). Running phpcbf is almost identical to running phpcs and most of the options are identical. The other option is [Rector][25]. Usage of these tools is beyond the scope of this article, but as with any automation, you’ll want to test and verify before promoting changes to production. + +### Alternative options + +If for any reason you don’t feel comfortable using a non-stable version of PCS, you do have other options for checking your code. + +#### Phan + +Phan is a static code analyzer for PHP. It offers multiple levels of analysis and allows for incrementally strengthening that analysis. + +“Static analysis needs to be introduced slowly if you want to avoid your team losing their minds.” + +Phan doesn’t target just compatibility with newer versions, it can highlight areas of code that will error in later versions. However, there are some caveats when using Phan for checking compatibility: + +- Slower than PCS+PHPCompatibility. +- Phan requires the [ast php extension][26] which is not available by default on Platform.sh (or in DDEV). You’ll need to install it in your local development environment and add it to your php.ini file. Alternatively, you can use the `--allow-polyfill-parser` option, but it is considerably slower. +- Phan’s default reporting output isn’t as easy to read as other options +- I came across an issue where if your code base sets a different `vendor` directory via composer’s `[config:vendor-dir](https://getcomposer.org/doc/06-config.md#vendor-dir)` option, it will error out stating it can’t find certain files in the `vendor` directory +- As mentioned, Phan analyzes much more than just PHP8.1 compatibility. While certainly a strength in other situations, if your goal is to migrate from 7.4 to 8.1 as quickly as possible, you will have to parse through errors that are unrelated to version compatibility. +- Requires you run it on the PHP version you want to target + +#### PHPStan + +Similar to Phan, PHPStan is a static code analyzer for PHP that promises to “find bugs without writing tests.” And a similar set of caveats apply: + +- Slower than either PCS or Phan +- Analyzes much more than just PHP8.1 compatibility so depending on your current codebase, you will have to possibly parse through a bunch of errors that are unrelated to version compatibility +- Requires you run it on the PHP version you want to target + +#### PHP Parallel Lint + +A very fast PHP linter that can lint your codebase for issues, but can also check for deprecations. While it is exceptionally fast, it is only a linter, and therefore can only surface deprecations that are thrown at compile time, not at runtime. In my example code, it only found 2 deprecations vs the 960 deprecations PCS uncovered. + +### Summary + +Code migrations, while never fun, are crucial to minimizing organizational risk. Platform.sh gives you the flexibility to test your code using the same data and configurations as your production site, but in a siloed environment. Combine this with the tools above, and you have everything you need for a strong, efficient code migration. + +_This article originally published on the [Platform.sh community site][27] and has been republished with permission._ + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/migrate-php-code + +作者:[Paul Gilzow][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/gilzow +[b]: https://github.com/lkxed +[1]: https://www.php.net/eol.php +[2]: https://platform.sh/blog/2020/php-80-feature-focus-just-in-time-compilation +[3]: https://platform.sh/blog/2021/php-81-lays-new-ground-at-platformsh +[4]: https://www.php.net/manual/en/migration80.php +[5]: https://www.php.net/manual/en/migration81.php +[6]: https://github.com/squizlabs/PHP_CodeSniffer +[7]: https://github.com/PHPCompatibility/PHPCompatibility +[8]: https://www.php.net/archive/2022.php#2022-12-08-1 +[9]: https://www.php.net/manual/en/migration82.php +[10]: https://github.com/PHPCompatibility/PHPCompatibility/issues/1344 +[11]: https://github.com/simplesamlphp/simplesamlphp/releases/tag/v1.14.6 +[12]: https://opensource.com/article/22/12/ddev +[13]: https://lando.dev/ +[14]: https://docksal.io/ +[15]: https://github.com/squizlabs/PHP_CodeSniffer#phive +[16]: https://github.com/squizlabs/PHP_CodeSniffer#git-clone +[17]: https://github.com/squizlabs/PHP_CodeSniffer#installation +[18]: https://github.com/PHPCompatibility/PHPCompatibility#installation-via-a-git-check-out-to-an-arbitrary-directory-method-2 +[19]: https://getcomposer.org/doc/03-cli.md#init +[20]: https://asciinema.org/a/MGKsC3RkNaWMcGtJGiyMHorWy.svg +[21]: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Reporting +[22]: https://platform.sh/ +[23]: https://www.youtube.com/watch?v=mAb8DO7Jp0Q +[24]: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically#using-the-php-code-beautifier-and-fixer +[25]: https://github.com/rectorphp/rector +[26]: https://github.com/nikic/php-ast +[27]: https://community.platform.sh/t/migrating-php-7-4-code-to-8-1-on-platform-sh/1156 From d214d51019b3acbcb6558836fa29579e3ca4ea98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 20:59:50 +0800 Subject: [PATCH 827/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221221.3=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Op?= =?UTF-8?q?en=20source=20solutions=20for=20EV=20charging.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Open source solutions for EV charging.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md diff --git a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md new file mode 100644 index 0000000000..249f89ff02 --- /dev/null +++ b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md @@ -0,0 +1,74 @@ +[#]: subject: "Open source solutions for EV charging" +[#]: via: "https://opensource.com/article/22/12/open-source-ev-charging" +[#]: author: "Joshua Pearce https://opensource.com/users/jmpearce" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Open source solutions for EV charging +====== + +Maybe you hate pumping gas in the cold (or heat), or you care about the environment. Maybe the latest gas prices and general inflation has you thinking more about stretching your money. Perhaps you simply think electric vehicles (EVs) look cool. No matter the reason, you're excited about your next vehicle being an EV and you're not alone! The EV market share is set to [expand to 30% by 2040][1]. The [US government provides a handy comparison tool][2] to show that the cost of ownership of an EV easily beats owning and operating fossil fuel vehicles. Despite this, EV charging costs can still hit you hard in your wallet. + +One of the most elegant ways to solve cost problems in general is to apply open source principles to accelerate innovation. Fortunately for you, this has been done in the EV charging area to find a way to get low-cost electricity and low-cost chargers. + +To control the costs of EV charging, first you need low-cost electricity. In the old days, that would mean going from oil to coal, which is not a step up. Today, as it turns out, [solar photovoltaic (PV)][3] devices that convert sunlight directly into electricity normally provide the lowest-cost electricity. Coal companies are going bankrupt because they can no longer compete with clean solar power. This is also why [solar power is seeing explosive growth all over the world][4]. Many homeowners are putting [solar panels on their roofs][5] or on ground mounts in the backyard to cover all of their home’s electric needs. But how can you charge your EV with solar energy if you have limited roof area or a small backyard? + +### Open source PV parking canopy + +One approach that major corporations are taking is to make a PV canopy over their parking lots. If you want to do this yourself, a new [study][6] provides a full mechanical and economic analysis of three novel open source PV canopy systems: + +- Use an exclusively wood, single-parking-spot spanning system +- Use a wood and aluminum double-parking-spot spanning system +- Use a wood and aluminum cantilevered system + +The designs are presented as 5-by-6 stall builds, but all three systems are scalable to any amount of parking spots required. This includes a 1-stall 6kW system to charge a single car at home (as shown below). All of the racks are rated for a 25-year expected lifetime to match the standard PV warranty. + +![Image of a single car PV canopy.][7] + +The open source PV canopies are all designed to withstand a brutal Canadian winter. They also follow Canada’s strict building codes. So if you live anywhere else, the system as designed should still work for you. The complete [designs][8]and bill of materials of the canopies are provided, along with basic instructions. They are released with an open source license that enables anyone to fabricate them following the spirit of the free book about DIY solar power collectors [_To Catch the Sun_][9]. + +The results of the previously mentioned [study][6] show that open source designs are much less expensive than proprietary products. Single-span systems provide cost savings of 82-85%, double-span systems save 43-50%, and cantilevered systems save 31-40%. + +Most importantly, the designs give you more than enough energy (if you have a normal commute) to cover your charging needs. In the first year of operation, PV canopies can provide 157% of the energy needed to charge the least efficient EV currently on the market. + +![Image of an OpenEVSE charging station.][10] + +### Open source EV chargers + +Another way to cut the cost of EV ownership is to install an open source EV charger. [OpenEVSE][11] is an Arduino-based charging station composed of [open source software][12] and hardware which can be made DIY-style. They are small, lightweight, and portable, so you can use them at home or on the road. + +OpenEVSE powers charging stations for many EV manufacturers all over the world. You can adapt it to fit your requirements. OpenEVSE is now quite mature and supports advanced features including adjustable current, temperature monitoring, and a real-time power display. You can buy the hardware pre-assembled and ready to go. If you want to save more money (and have more fun) buy a kit and build it yourself. + +![Image of the OpenEVSE kit.][13] + +I hope to see more designs of EV power solutions in the future. Keep your eyes open, roll up your sleeves for some DIY, and enjoy assembling your open source, solar-powered EV charging solutions! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-ev-charging + +作者:[Joshua Pearce][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/jmpearce +[b]: https://github.com/lkxed +[1]: https://about.bnef.com/electric-vehicle-outlook/ +[2]: https://fueleconomy.gov/feg/Find.do?action=sbsSelect +[3]: https://opensource.com/article/21/11/open-source-solar-power +[4]: https://www.alliedmarketresearch.com/photovoltaic-market +[5]: https://opensource.com/article/22/12/open-source-solar-power-home +[6]: https://doi.org/10.3390/technologies10060114 +[7]: https://opensource.com/sites/default/files/2022-12/Single%20car%20open%20source%20PV%20canopy.png +[8]: https://www.appropedia.org/Open-source_Photovoltaic_-_Electrical_Vehicle_Carport_Designs +[9]: https://tocatchthesun.com/ +[10]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20charging%20an%20electric%20car.png +[11]: https://openevse.com/index.html +[12]: https://github.com/OpenEVSE +[13]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20kit.png From 9b9f8a7b6d0a653c07a31614bf702e3f19986e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 21:00:20 +0800 Subject: [PATCH 828/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221221.4=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20My?= =?UTF-8?q?=204=20favorite=20features=20of=20the=204pane=20file=20manager?= =?UTF-8?q?=20on=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ite features of the 4pane file manager on Linux.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/tech/20221221.4 ⭐️⭐️ My 4 favorite features of the 4pane file manager on Linux.md diff --git a/sources/tech/20221221.4 ⭐️⭐️ My 4 favorite features of the 4pane file manager on Linux.md b/sources/tech/20221221.4 ⭐️⭐️ My 4 favorite features of the 4pane file manager on Linux.md new file mode 100644 index 0000000000..f64399c4eb --- /dev/null +++ b/sources/tech/20221221.4 ⭐️⭐️ My 4 favorite features of the 4pane file manager on Linux.md @@ -0,0 +1,100 @@ +[#]: subject: "My 4 favorite features of the 4pane file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-4pane" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +My 4 favorite features of the 4pane file manager on Linux +====== + +4Pane is a multi-pane file manager for Linux that allows for customized layout, and provides quick access to traditional desktop conveniences as well as common Linux tools. 4Pane aims for speed over visual effects, and places the way you want to work above all else. In honor of its name, I've got a list of my four favorite features of this fine file manager. + +### 1. Flexible interface + +![The 4Pane file manager is a fast multi-pane application for managing files.][1] + +The most prominent feature of the 4Pane window is the same as its name: there are four panes in the window by default. In a way, though, there's actually only two, or said another way, each of the two panes is divided into two columns. The column on the left is a directory tree of your current location (home, by default.) Files are never displayed in the left column. It's only a directory tree. + +The adjacent column displays the contents of the selected directory. When you double-click on a file, it opens in its default application. When you double-click on a directory, that directory is revealed in the left column and the right column displays its contents. + +This same model is duplicated in the other window pane. + +4Pane only has 4 panes by default, but it doesn't enforce that view. If you're overwhelmed by the four-pane view, click on the **View** menu and select **Unsplit panes**. This displays just one pane of two columns. It's a simplified view compared to what's possible, but it's a nice place to start while you're getting used to the column-style for browsing files. + +#### Splitting panes + +The advantage of a split view is that you don't have to open another window to drag and drop a file or folder from one location to another. This isn't the predominant model for file managers, but it's a popular subset. 4Pane is one of the few, in my experience, that recognizes that it's not always convenient to work laterally. If you prefer to have your second pane at the bottom of the window, go to the **View** menu and select **Split panes horizontally** (meaning that the _split_ is horizontal, so the panes are situated vertically to one another). + +![You can create horizontal splits in 4Pane.][2] + +### 2. Tooltip preview + +One of my favorite features of 4Pane is the tooltip preview. To activate this, click the photo icon in the top toolbar. With this active, all you have to do is roll your mouse over a file to see a preview of its contents in a tooltip. It may not be a feature you want active all the time. The tooltips can be distracting when you're just browsing files. However, if you're looking for something specific or if you're just not sure exactly what's in a directory, a quick wave of your mouse to get an overview of the contents of several files is satisfyingly efficient. + +### 3. Menu + +The menu bar of 4Pane isn't quite like most file manager menu bars you may be accustomed to. There's a menu dedicated to archiving actions, mounting devices, and popular Linux commands such as [grep][3] and [find][4]. + +For instance, in the **Archive** menu, you can choose to extract an archive or compressed file, create a new archive, add a file to an existing archive, compress a file, and more. I love [Ark][5] and similar utilities, but I also recognize how useful it is for a file manager to make those utilities unnecessary. Especially when you're on an [old computer][6], the fewer applications you have to launch, the better. + +Also impressive are the built-in front ends for `grep` and `find`. I'll admit that I probably won't use it often myself, but I never complain when a developer brings the power of Linux commands to users who aren't [yet] familiar with the terminal. + +![4Pane can run grep and locate commands to help you find your data.][7] + +The `locate` front end is probably the most useful of the bunch. It's fast and effective. There's just one field in the dialogue box, so it makes a file system search _fast_. + +For example, say you're searching for the file `Zombie-Apocalypse-Plan-B.txt` because Plan A fell through, but in the heat of the moment (what with zombies knocking down your door, and all) you can't remember where you saved it. Go to the **Tools** menu and select **locate**. Type `zombie` in the search field, click the `-i` box so that your system ignores capitalization, and click **OK**. This returns both `Zombie-Apocalypse-Plan-A.txt` and `Zombie-Apocalypse-Plan-B.txt`. + +Maybe that's good enough for you, or maybe you need a little more precision. In addition to `-i` for case insensitivity, you can click the `-r` option to leverage the power of [regex][8]. Type `zombie.B.` to narrow your search to a file starting with `zombie` and containing the letter `B` somewhere in the filename. + +Effective and fast. + +### 4. Undo + +Finally, my (other) very favorite feature of 4pane is the **Undo** button. When you right click on a file or folder and select **Delete**, the item is sent to a secret location (it's not actually secret, but it's out of sight and out of mind). The item isn't scrubbed from the hard drive until you close the 4pane window. Up until then, you can always click the **Undo** button in the top toolbar to reverse decisions you've come to regret. + +This is a separate action from sending a file to your system trash, so it _is_ meant to masquerade as an actual delete action. The difference is that it's a delayed delete. That may not suit you. Some users are disciplined enough to send files to the system trash, but others skip the trash. This feature is designed to protect you from yourself by delaying deletion until you close the window. I find it a reasonable and invaluable feature, and it's the one feature that I've already benefited from several times. + +### Install 4Pane on Linux + +If you're sold on 4Pane, or at least curious about it, then you should install it and try it out! On Linux, your distribution may package 4Pane in its software repository. If so, you can use your package manager to install. For example, on Fedora, Mageia, OpenMandriva, and similar: + +``` +$ sudo dnf install 4pane +``` + +On Debian and Debian-based systems: + +``` +$ sudo apt install 4pane +``` + +If your distribution doesn't carry 4Pane, you can download it from [4pane.co.uk][9]. + +Once installed, launch 4Pane from your application menu. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-4pane + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-10/4pane.webp +[2]: https://opensource.com/sites/default/files/2022-10/4pane-split-horizontally.webp +[3]: https://opensource.com/article/21/3/grep-cheat-sheet +[4]: https://opensource.com/article/18/4/how-use-find-linux +[5]: https://opensource.com/article/22/2/archives-files-linux-ark-kde +[6]: https://opensource.com/article/19/7/how-make-old-computer-useful-again +[7]: https://opensource.com/sites/default/files/2022-10/4pane-grep.webp +[8]: https://opensource.com/article/18/5/getting-started-regular-expressions +[9]: http://www.4pane.co.uk/ From 43d38cc91a20349d1b1a499316156126bedd2db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 21:01:31 +0800 Subject: [PATCH 829/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221222.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2011?= =?UTF-8?q?=20New=20Distros=20to=20look=20forward=20to=20in=202023.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️ 11 New Distros to look forward to in 2023.md | 258 ++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 sources/tech/20221222.0 ⭐️⭐️ 11 New Distros to look forward to in 2023.md diff --git a/sources/tech/20221222.0 ⭐️⭐️ 11 New Distros to look forward to in 2023.md b/sources/tech/20221222.0 ⭐️⭐️ 11 New Distros to look forward to in 2023.md new file mode 100644 index 0000000000..1999c6f859 --- /dev/null +++ b/sources/tech/20221222.0 ⭐️⭐️ 11 New Distros to look forward to in 2023.md @@ -0,0 +1,258 @@ +[#]: subject: "11 New Distros to look forward to in 2023" +[#]: via: "https://news.itsfoss.com/new-distros-2023/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +11 New Distros to look forward to in 2023 +====== + +What are you looking forward to in 2023? Try these distros! + +![11 New Distros to look forward to in 2023][1] + +It's time to say goodbye to 2022! 📆 + +There were many distro releases in 2022, some more extraordinary than others. + +With the trend shifting towards focusing more on the user experience and performance side of things, Linux distributions have significantly evolved over the past year. + +As for you, the end-user, you now have several options. You can try some [beginner-friendly options][2] or [distros for advanced users][3]. + +Here, I focus on new options that you can give a try. These distros may not necessarily replace the popular distributions available. But if you want to try something new and different, feel free to go through the list. + +So, what can you expect in 2023? 🤔 + +Well, to answer that. Allow me to take you on a distro journey! + +> 💡 New distributions may not be suitable for production use cases. Try these options if you have no issues taking a leap of faith to experiment. + +### 1. Vanilla OS + +![vanilla os][4] + +Vanilla OS is an Ubuntu-based distro that is the brainchild of Mirko Brombin, the creator of [Bottles][5]. + +It aims to provide a **clean, vanilla GNOME experience with on-demand immutability** and an exceptional first-time setup experience. + +You can check it out if you want something new and want to try out the on-demand immutability features that make Vanilla OS so unique. + +It is yet to receive a stable release (soon) and is set to receive many improvements in 2023. + +[Vanilla OS][6] + +### 2. XeroLinux + +![xeroxlinux][7] + +Steve a.k.a. TechXero, started [XeroLinux][8] as a passion project that was not meant to be a mainstream distro with all the bells and whistles. + +An **'eye-candy' version of Arch Linux** offers a pleasant out-of-the-box experience with a few exciting features. + +You can try this if you want a more accessible Arch Linux experience. + +**From January 2023**, XeroLinux will be switching to a monthly release schedule. So, you can expect plenty of updates in 2023! + +[XeroLinux][9] + +### 3. Crystal Linux + +![crystal linux][10] + +Crystal Linux is an upcoming Arch-based distro that wants to **provide an easy-to-use desktop experience coupled with modern Linux technologies**. + +In its current form, it may not be welcoming to newcomers, and people with experience using Linux are likelier to like it. + +So, for now, I would suggest users who are already familiar with Linux give Crystal Linux a try. + +I expect Crystal Linux to have a stable release sometime in 2023 with many features and improvements over the [beta version][11] that is available right now. + +[Crystal Linux][12] + +#### Recommended Read 📖 + +### 4. TUXEDO OS + +![tuxedo os][13] + +[TUXEDO OS][14] is an Ubuntu-based offering from TUXEDO Computers, a Linux-focused hardware manufacturer. + +It features the KDE Plasma desktop environment with extras like **TUXEDO Control Center** to fine-tune your hardware and **TUXEDO Tomte**, a configuration service for resolving driver/missing package issues. + +I suggest you try this if you want a **different KDE-powered experience**. + +Initially, it was only made available as a pre-installed operating system on TUXEDO laptops and computers. + +But later, it received a general use release back in September 2022 dubbed as 'TUXEDO OS 1'. It is set to receive plenty of updates in 2023. + +[TUXEDO OS][15] + +### 5. EuroLinux + +![euro linux][16] + +An RHEL-based distro with **enterprise perks** is what [EuroLinux][17] is. It provides stability and security in a solid package. + +Based on **RHEL 9**, it can provide seamless compatibility with other [RHEL-based server distros][18] such as Rocky Linux, CentOS, AlmaLinux, and more. + +It aims to lure in Windows and macOS users with a familiar user interface layout with its implementation of a translucent dock at the bottom of the screen. + +You should try this because the overall package is quite adequate and can cater to both Linux and Windows/macOS users. + +It is now available as stable release, with updates planned for 2023. + +[EuroLinux Desktop][19] + +### 6. Zinc + +![zinc][20] + +[Zinc][21] is an **Ubuntu-based distro** that has been tweaked to provide a unique experience. Existing Ubuntu users may be surprised to see what it has to offer. + +Based on the latest LTS release of **Xubuntu**, it uses the XFCE desktop environment with numerous improvements, such as integrated Linux AppImage support, deb-get package installer, BTRFS as the default file system, and more. + +This distro can be a viable alternative to replace your daily driver, provided it is set up correctly. + +It follows a stable release model, so you can expect significant updates in 2023! + +[Zinc][21] + +### 7. CachyOS + +![cachyos][22] + +[CachyOS][23] tries to make **Arch Linux a beginner-friendly affair** that anyone can use. It is popular because of its high level of customizability and also because it has the newest software. + +It aims to provide you with a fast and secure operating system that is easy to use. + +This OS is for users who want to experiment and try something new. + +CachyOS is a rolling-release distro, so you can expect it to receive a ton of updates in 2023. + +[CachyOS][23] + +### 8. risiOS + +![risios][24] + +In a sea of Arch and Ubuntu-based Linux distros, [risiOS][25] is a rare sight to see. + +Based on Fedora Linux, the project saw its beginnings in Seattle, USA. + +It uses the **GNOME desktop environment** to provide users with a highly customizable experience with a **customized ZSH version**. + +If you want to try a Fedora-based distro, this can be something new for you! + +risiOS gets a stable release with minor updates pushed in between. It has much more to give in 2023. + +[risiOS][25] + +### 9. Exodia OS + +![exodia os][26] + +Another Arch-based Linux distro!#$**? + +Yes. 🤭 Well, it looks like this year, we have had enough of Arch-based distros, which is not necessarily bad! + +Meet [Exodia OS][27], an Arch-based Linux distro that aims to be highly customizable for users in cybersecurity fields. + +Its feature set includes pre-installed **tools for all cybersecurity fields, TUI Apps, ElKowars wacky widgets (EWW), zsh, and more**. + +If you are a cybersecurity expert or an enthusiast, you can give this a try! + +They offer three releases for different use cases. You can expect them to keep pushing essential updates and feature additions in 2023. + +[Exodia OS][27] + +### 10. Kumandar Linux + +![kumander linux][28] + +At first glance, you would think that it is Windows 7, but if you look closer, you will find that it is [Kumandar Linux][29]. + +It is based on **Debian 11 and uses a customized version of XFCE**. + +The name stands for 'Commander' in English and pays homage to the developer's first computer, the [Commodore VIC20][30]. + +If you liked the Windows 7 experience but wanted the same thing on Linux. Then you can give this a try! + +Currently, only the early-release candidate has been released. But you can expect a stable release in 2023, hopefully! + +[Kumander][29] + +### 11. Ubuntu Unity + +![ubuntu unity][31] + +Declared as an official flavor of Ubuntu [earlier this year][32], Ubuntu Unity is a remix of Ubuntu. + +It features the **Unity desktop interface** used in Ubuntu from 2010-2017, which was dropped in favor of GNOME. + +The development has been in full swing, with the young lead developer pushing updates and feature additions. + +Users who want to try a different flavor of Ubuntu can give this a shot. It offers both LTS and non-LTS releases. + +[Ubuntu Unity][33] + +**So, wrapping up.** + +Even with this comprehensive list, I may have missed out on some. 🤔 + +But. + +Maybe a surprise release will take the headlines in 2023, or some existing distro will try something different. + +Until then. + +_💬 Do tell me what distribution you are excited about in 2023?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/new-distros-2023/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/distros-to-look-forward-in-2023.png +[2]: https://itsfoss.com/best-linux-beginners/ +[3]: https://itsfoss.com/advanced-linux-distros/ +[4]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-1.png +[5]: https://usebottles.com +[6]: https://vanillaos.org +[7]: https://news.itsfoss.com/content/images/2022/12/XeroLinux.jpg +[8]: https://itsfoss.com/xerolinux/ +[9]: https://xerolinux.xyz +[10]: https://news.itsfoss.com/content/images/2022/12/Crystal-Linux.jpg +[11]: https://git.getcryst.al/crystal +[12]: https://getcryst.al +[13]: https://news.itsfoss.com/content/images/2022/12/TuxedoOS.jpg +[14]: https://news.itsfoss.com/tuxedo-os/ +[15]: https://www.tuxedocomputers.com/en/TUXEDO-OS_1.tuxedo +[16]: https://news.itsfoss.com/content/images/2022/12/EuroLinux.jpg +[17]: https://news.itsfoss.com/eurolinux-desktop/ +[18]: https://itsfoss.com/rhel-based-server-distributions/ +[19]: https://en.euro-linux.com/eurolinux/desktop/ +[20]: https://news.itsfoss.com/content/images/2022/12/Zinc.png +[21]: https://teejeetech.com/tag/zinc/ +[22]: https://news.itsfoss.com/content/images/2022/12/CachyOS.jpg +[23]: https://cachyos.org +[24]: https://news.itsfoss.com/content/images/2022/12/risiOS.png +[25]: https://risi.io +[26]: https://news.itsfoss.com/content/images/2022/12/Exodia-OS.jpg +[27]: https://exodia-os.github.io/exodia-website/ +[28]: https://news.itsfoss.com/content/images/2022/12/Kumander-Linux.jpg +[29]: https://www.kumander.org +[30]: https://en.wikipedia.org/wiki/VIC-20 +[31]: https://news.itsfoss.com/content/images/2022/12/UbuntuUnity.jpg +[32]: https://news.itsfoss.com/unity-remix-official-flavor/ +[33]: https://ubuntuunity.org/ From e1705fe10e3f484217645c313ec2d50c4ff54364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 21:02:38 +0800 Subject: [PATCH 830/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221222.1=20=E2=AD=90=EF=B8=8F=20Tails=205.8=20Arrive?= =?UTF-8?q?s=20with=20Official=20Wayland=20Support.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...s 5.8 Arrives with Official Wayland Support.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sources/news/20221222.1 ⭐️ Tails 5.8 Arrives with Official Wayland Support.md diff --git a/sources/news/20221222.1 ⭐️ Tails 5.8 Arrives with Official Wayland Support.md b/sources/news/20221222.1 ⭐️ Tails 5.8 Arrives with Official Wayland Support.md new file mode 100644 index 0000000000..e55d86badd --- /dev/null +++ b/sources/news/20221222.1 ⭐️ Tails 5.8 Arrives with Official Wayland Support.md @@ -0,0 +1,74 @@ +[#]: subject: "Tails 5.8 Arrives with Official Wayland Support" +[#]: via: "https://debugpointnews.com/tails-5-8-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Tails 5.8 Arrives with Official Wayland Support +====== + +![][1] + +**A sizable update arrives in Tails 5.8, bringing Wayland support, newly redesigned persistence storage and more.** + +Tails, aka The Amnesic Incognito Live System, is a [privacy-focussed Linux Distribution][2] which uses the Tor network to protect you while browsing the web. Tails are based on Debian stable branch and come with many goodies such as an IRC client, Tor browser, email clients, and messengers to help you roam around on the web anonymously. + +![Tails 5.8 desktop][3] + +### What’s New in Tails 5.8 Release + +At a high level, Tails 5.8 includes significant redesigns of existing features, improved usability, and strengthened security. Also, bringing modern tech aligns with the changing times and needs of the hour. + +The persistence storage module gets a complete redesign in this release. In the new version of Persistent Storage, you no longer have to restart after creating a Persistent Storage or activating a new feature. You can also change the password for your Persistent Storage from within the application. Additionally, you can now create a Persistent Storage directly from the Welcome Screen if you don’t already have one. The Persistent Storage had not been updated much since its initial release in 2012 due to challenges in modifying and improving the code. + +The Tails team has also replaced the deprecated X.Org display system with Wayland. While you may not notice any visual changes, Wayland provides increased security for Tails by making it harder for a compromised application to compromise or misuse other applications. + +![Browse internet securely using Tails 5.8][4] + +For example, since Tails 4.8, the Unsafe Browser has been disabled by default due to a security vulnerability that could reveal your IP address and deanonymize you through the use of an invisible Unsafe Browser. Wayland addresses this vulnerability and makes it safe to enable the Unsafe Browser by default again. However, if desired, you can still disable the Unsafe Browser from the Welcome Screen. + +In addition to addressing security concerns, Wayland also introduces new features that were previously not supported in the Unsafe Browser, including sound, file uploads and downloads, alternative input methods for non-Latin languages such as Chinese, and accessibility features like the screen reader and virtual keyboard. + +The Tails team has also made it easier to enter new Tor bridges by allowing you to scan a QR code. You can obtain a QR code by sending an empty email to [bridges@torproject.org][5] from a Gmail or Riseup email address or by visiting [https://bridges.torproject.org/][6] and printing the QR code on paper. + +Furthermore, the entire Debian stable base is bumped up to the latest version, including pre-loaded apps. + +A complete changelog is available [here][7] if you want to dive deeper into the changes. + +### Download and upgrade + +If you are already running a prior version of the Tails 5.0 series, you should automatically get this update once you boot up Tails from the USB stick. + +In addition, if you want to install Tails 5.8 fresh, grab the ISO files from the below links: + +- [For USB sticks (USB image)][8] +- [For DVDs and virtual machines (ISO image)][9] + +Via [release announcement][10]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/tails-5-8-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/tails58head.jpg +[2]: https://www.debugpoint.com/privacy-linux-distributions-2022/ +[3]: https://debugpointnews.com/wp-content/uploads/2022/12/Tails-5.8-desktop.jpg +[4]: https://debugpointnews.com/wp-content/uploads/2022/12/Browse-internet-securely-using-Tails-5.8.jpg +[5]: https://debugpointnews.commailto:bridges@torproject.org +[6]: https://bridges.torproject.org/ +[7]: https://gitlab.tails.boum.org/tails/tails/-/blob/master/debian/changelog +[8]: https://tails.boum.org/install/download/index.en.html +[9]: https://tails.boum.org/install/download-iso/index.en.html +[10]: https://tails.boum.org/news/version_5.8/index.en.html From da5ae74dfea4460b76543403df98ad176ba7f4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 22 Dec 2022 21:03:06 +0800 Subject: [PATCH 831/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221222.2=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=203?= =?UTF-8?q?=20delightful=20features=20of=20the=20Linux=20QtFM=20file=20man?= =?UTF-8?q?ager.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ightful features of the Linux QtFM file manager.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md diff --git a/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md b/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md new file mode 100644 index 0000000000..3cdd80fb63 --- /dev/null +++ b/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md @@ -0,0 +1,91 @@ +[#]: subject: "3 delightful features of the Linux QtFM file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-qtfm" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +3 delightful features of the Linux QtFM file manager +====== + +QtFM is a simple file manager that aims to provide the basic features of file management through a fast and intuitive interface. It's available for Linux, BSD, and macOS. + +QtFM, as its name suggests, uses the Qt (canonically pronounced "cute") programming toolkit. I've worked with the Qt toolkit both in C++ and Python, and using it is always a pleasure. It's cross-platform, it's got multiple levels of useful abstraction so developers don't have to interact directly with vendor-specific SDKs, and it's highly configurable. From a user's perspective, it's a "natural" and fast experience, whether you're on the latest hardware or on an [old computer][1]. + +### Using QtFM + +There's not much to QtFM. It focuses on being exactly what its name claims: a file manager (FM) for Qt. The layout is what you probably expect from a file manager: a list of common places and devices on the left and a list of files on the right. + +![QtFM file manager][2] + +It's got just four menus. + +- **File**: Create a new file or folder, open a new tab or window, or exit the application. +- **Edit**: Copy, paste, move to trash, or create a new bookmark in the left panel. +- **View**: Toggle between the list and icon views, adjust the layout. +- **Help**: Licensing information, and links to online documentation. + +Interacting with QtFM is largely the same experience you're probably used to with any standard-issue file manager. You can click around to navigate, open files in its default application, drag-and-drop files and folders, copy and paste files and folders, launch applications, and whatever else you do when you're interacting with the contents of your computer. It's familiar, so there's basically no learning curve and no unpleasant surprises. + +There are, however, several pleasant surprises. Here are three of my favorites. + +### 1. Put a command into a contextual menu + +With QtFM, you can add any command you can run in a terminal to the right-click contextual menu. For instance, suppose you want an option to convert an image into the [webp format][3] to the right-click menu. There's no complex framework or scripting language to learn, you don't need to develop a plugin. You can do it in just 3 steps: + +- Go to the **Edit** menu and select **Settings** +- Click on the **Custom actions tab** +- Click the **Add** button and enter the command you want to run, using `%f` for the source file and `%n` for the new file + +![QtFM custom actions][4] + +The action now appears in your QtFM contextual menu. + +### 2. Flexible layout + +One of the built-in features of the Qt toolkit is that many of its components are ("widgets") detachable. QtFM takes advantage of this and allows you to unlock its layout from the **View** menu. Once unlocked, you can drag toolbars and side panels, anchoring them in new positions around your window. I was able to combine the menu bar, navigation toolbar, and the URI field into a unified panel, and I placed a file tree on the right side of the window for convenience. + +![QtFM unlocking the layout][5] + +This requires no special knowledge of application design or even configuration. You just unlock, drag and drop, and lock. + +### 3. Tabbed view + +Many Linux file managers offer tabs the same way as most web browsers do. It's a simple interface trick that lets you keep several locations handy. I don't know whether it actually saves time, but I always feel like it does. QtFM offers tabs, too, and there are two things I particularly enjoy about the way it implements them. + +First of all, the tabs are at the bottom of the window by default (you can change that in **Settings**.) Because I tend to read from left to right and top to bottom, I usually prefer to have "extra" information at the bottom and right ends of a window. Of course, what constitutes "extra" information varies from user to user, so I don't blame any developer for placing widgets and panels in places I wouldn't put widgets and panels. It's nice, though, when a developer accidentally agrees with my preferences. + +Secondly, the tabs are responsive. You can drag a file or folder from one tab into another just by hovering over your target tab. It feels as natural as dragging and dropping from one window to another. + +### Install QtFM + +On Linux, your distribution may package QtFM in its software repository. If so, you can use your package manager to install. For example, on Debian and Debian-based systems: + +``` +$ sudo apt install qtfm +``` + +If your distribution doesn't offer QtFM, you may find a package for it on its [website][6], or you can download the source code from its [Git repository][7]. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-qtfm + +作者:[Seth Kenlon][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/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity +[2]: https://opensource.com/sites/default/files/2022-12/qtfm.webp +[3]: https://opensource.com/article/20/4/webp-image-compression +[4]: https://opensource.com/sites/default/files/2022-12/qtfm-custom-action.webp +[5]: https://opensource.com/sites/default/files/2022-12/qtfm-layout-unlock.webp +[6]: https://qtfm.eu/ +[7]: https://github.com/rodlie/qtfm/ From a82ea4f2944cf8ddc894c65297f7f19cde687667 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 23 Dec 2022 09:48:30 +0800 Subject: [PATCH 832/925] RP @geekpi https://linux.cn/article-15374-1.html --- ...⭐️ Install open source solar power at home.md | 64 +++++++++++++++++++ ...⭐️ Install open source solar power at home.md | 61 ------------------ 2 files changed, 64 insertions(+), 61 deletions(-) create mode 100644 published/20221209.0 ⭐️⭐️ Install open source solar power at home.md delete mode 100644 translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md diff --git a/published/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/published/20221209.0 ⭐️⭐️ Install open source solar power at home.md new file mode 100644 index 0000000000..6a2cd140e4 --- /dev/null +++ b/published/20221209.0 ⭐️⭐️ Install open source solar power at home.md @@ -0,0 +1,64 @@ +[#]: subject: "Install open source solar power at home" +[#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" +[#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15374-1.html" + +在家里安装开源光伏支架 +====== + +![][0] + +> 看看这两个你可以为你的家庭建造的开源的光伏支架设计。 + +你可能已经考虑过用太阳能为你的家供电。将太阳光直接转化为电能的太阳能光伏电池板的成本已大幅下降,因此在任何地方都具有经济意义。这就是为什么大公司投入大量太阳能,甚至电力公司也开始安装大型太阳能发电场的原因,因为它的成本低于过时的化石燃料。像大多数房主一样,你想省钱并节省电费,但你可能对前期费用有点畏缩。为了大致了解成本,一个 5 千瓦系统,以 3 美元/瓦的价格为普通家庭供电,成本约为 15,000 美元,而更大的家庭可能需要 10 千瓦才能满足所有电力购买,成本为 30,000 美元。如果你想要电池,成本加倍(你不需要电池,因为大多数太阳能电池阵列连接到电网,但如果电网瘫痪,你的太阳能电池阵列也会瘫痪,直到它重新开启)。支付你未来几十年所有的电费是一种投资,即使你存了很多钱。 + +有一些好消息。首先,美国和加拿大都对太阳能实行了 30% 的税收抵免。此项优惠将价格降至约 2 美元/瓦。其次,[我们之前讨论][1] 过你可以获得一本免费书籍 《[捕捉阳光][2]》,它会引导你完成如何设计自己的系统(你仍然需要一个合格的电工和检查来把它连接到电网)。如果你有一点手艺,你可以将剩余成本削减约 50%。这些成本主要用于材料,包括太阳能电池板、布线、电子设备和支架。令人惊讶的是,对于小型太阳能系统(比如你家的太阳能系统)来说,太阳能电池板的成本下降得如此之低,以至于支架(支撑太阳能电池板的机械结构)的成本可能比面板还高! + +### 开源再次拯救 + +将开源开发范式应用于软件可以加快创新速度、改进产品并降低成本。开源硬件也是如此,甚至在光伏支架这个相对不为人知的领域也是如此。几乎所有的商业光伏支架都是由专有的奇特铝型材制成。它们会花很多钱。如果你有一些没有遮挡的后院,有一些开源的支架解决方案可以选择。 + +### 开源太阳能支架设计 + +第一个 DIY 太阳能支架设计符合以下标准:(1) 由当地可获得的可再生材料制成,(2) 25 年的使用寿命与太阳能保修相匹配,(3)能够由普通消费者制造,(4)能够符合加拿大结构建筑规范(如果你住在没有雪的地方,这有点矫枉过正,但是,嘿,你可能有其他极端天气需要应对,例如飓风),(5)低成本,(6)它是共享的,使用开源许可证。[开源的木质固定倾斜地面安装双面光伏支架设计][3] 在整个北美都适用。与商业专有支架相比,该支架系统可节省 49% 至 77%。然而,支架设计高度依赖于世界各地不同的木材成本。 + +在深入研究这个开源设计之前,请检查你当地的木材成本。 + +![Non-tilting solar rack plans][4] + +如果你更喜欢冒险,你可能会考虑第二种允许改变倾斜角度的设计。[第二项研究][5] 的结果表明,具有最佳可变季节性倾斜角的支架系统具有最佳的终身能量产生,与固定倾斜系统相比,产生的能量多 5.2%(或者,如果最大倾斜角限制为 60°,能量多 4.8%)。固定和可变木制支架系统的电力成本相似,仅为专有商业金属货架的 29%。可变倾斜支架提供了最低成本的选择,即使包括适度的劳动力成本,也可能为 [农业光伏][6] 等应用提供特定优势(即,你可以在面板下面种菜,对于莴苣等耐阴作物来说,能惊人地增加产量)。此设计已通过 [具有 CERN-OHL-S-2.0 许可证的 OSHWA][7] 的认证。 + +![Tilt-adjustable solar racks][8] + +所示的 2 个光伏模块架中的每一个大约有 1 千瓦。所以一所房子大约需要五个。这两篇论文都提供了完整的计算和分步建造说明。 + +正如拥有太阳能系统的任何人都会告诉你的那样,获得负电费是非常有益的。如果你的系统规模能满足你所有的负荷,并且住在该国的净计量地区,就会出现这种情况。请注意,电力公司不会向你付款;额度会一直延续到你在冬天使用它为止。 + +享受一点开源太阳能带来的乐趣! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-solar-power-home + +作者:[Joshua Pearce][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/joshuapearce +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/21/11/open-source-solar-power +[2]: https://tocatchthesun.com/ +[3]: https://doi.org/10.3390/designs6030041 +[4]: https://opensource.com/sites/default/files/2022-11/nontilt.png +[5]: https://doi.org/10.3390/designs6030054 +[6]: https://www.academia.edu/18406368/The_potential_of_agrivoltaic_systems +[7]: https://certification.oshwa.org/ca000013.html +[8]: https://opensource.com/sites/default/files/2022-11/tilt.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/23/094653pn7mn3j22ymwymuw.jpg \ No newline at end of file diff --git a/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md deleted file mode 100644 index c73b0ee49b..0000000000 --- a/translated/tech/20221209.0 ⭐️⭐️ Install open source solar power at home.md +++ /dev/null @@ -1,61 +0,0 @@ -[#]: subject: "Install open source solar power at home" -[#]: via: "https://opensource.com/article/22/12/open-source-solar-power-home" -[#]: author: "Joshua Pearce https://opensource.com/users/joshuapearce" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -在家里安装开源太阳能 -====== - -你可能已经考虑过用太阳能为您的家供电。将太阳光直接转化为电能的太阳能光伏电池板的成本已大幅下降,因此在任何地方都具有经济意义。这就是为什么大公司投入大量太阳能,甚至电力公司也开始安装大型太阳能发电场的原因,因为它的成本低于过时的化石燃料。像大多数房主一样,你想省钱并节省电费,但你可能对前期费用有点畏缩。为了大致了解成本,以 3 美元/瓦的价格为普通家庭供电的 5kW 系统的成本约为 15,000 美元,而更大的家庭可能需要 10kW 才能抵消所有电力购买,成本为 30,000 美元。如果你想要电池,成本加倍(你不需要电池,因为大多数太阳能电池阵列连接到电网,但如果电网瘫痪,你的太阳能电池阵列也会瘫痪,直到它重新开启)支付你未来几十年所有的电费是一种投资,即使你存了很多钱。 - -有一些好消息。首先,美国和加拿大都对太阳能实行了 30% 的税收抵免。此项优惠将价格降至约 2 美元/W。其次,[Opensource.com 之前讨论][1]过你可以获得一本免费书籍[_捕捉阳光_][2],它会引导你完成如何设计自己的系统(你仍然需要一个合格的电工和检查来把它连接到电网)。如果你有一点手艺,你可以将剩余成本削减约 50%。这些成本主要用于材料,包括太阳能电池板、布线、电子设备和支架。令人惊讶的是,对于小型太阳能系统(比如你家的太阳能系统)来说,太阳能电池板的成本下降得如此之低,以至于支架(支撑太阳能电池板的机械结构)的成本可能比面板还高! - -### 开源再次拯救 - -将开源开发范式应用于软件可以加快创新速度、改进产品并降低成本。开源硬件也是如此,甚至在光伏支架这个相对不为人知的领域也是如此。几乎所有的商业光伏支架都是由专有的奇特铝型材制成。它们会花很多钱。如果你有一些没有遮挡的后院,你有一些开源的支架解决方案可以选择。 - -### 开源太阳能支架设计 - -第一个 DIY 太阳能支架设计符合以下标准:(1) 由当地可获得的可再生材料制成,(2) 25 年的使用寿命与太阳能保修相匹配,(3) 能够由普通消费者制造,(4) 能够 符合加拿大结构建筑规范(如果你住在没有雪的地方,这有点矫枉过正,但是,嘿,你可能有其他极端天气需要应对,例如飓风),(5)低成本,(6)它是共享的 使用开源许可证。[开源的木质固定倾斜地面安装双面光伏支架设计][3]在整个北美都适用。与商业专有支架相比,该支架系统可节省 49% 至 77%。然而,支架设计高度依赖于世界各地不同的木材成本。 - -在深入研究这个开源设计之前,请检查你当地的木材成本。 - -![Non-tilting solar rack plans][4] - -如果你更喜欢冒险,你可能会考虑第二种允许改变倾斜角度的设计。[第二项研究][5]的结果表明,具有最佳可变季节性倾斜角的支架系统具有最佳的终身能量产生,与固定倾斜系统相比,产生的能量多 5.2%(或者,如果最大倾斜角限制为 60°,能量多 4.8%)。固定和可变木制支架系统的电力成本相似,仅为专有商业金属货架的 29%。可变倾斜支架提供了最低成本的选择,即使包括适度的劳动力成本,也可能为[农业光伏][6]等应用提供特定优势(即,你可以在面板下面种菜,对于莴苣等耐阴作物来说,能惊人地增加产量)。此设计已通过[具有 CERN-OHL-S-2.0 许可证的 OSHWA][7] 的认证。 - -图片 - -![Tilt-adjustable solar racks][8] - -所示的 2 个 PV 模块架中的每一个大约有 1kW。所以一所房子大约需要五个。这两篇论文都提供了完整的计算和分步建造说明。 - -正如拥有太阳能系统的任何人都会告诉你的那样,获得负电费是非常有益的。如果你的系统规模能满足你所有的负荷,并且住在该国的净计量地区,就会出现这种情况。请注意,电力公司不会向你付款; 额度会一直延续到你在冬天使用它为止。 - -享受一点开源太阳能带来的乐趣! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-solar-power-home - -作者:[Joshua Pearce][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/joshuapearce -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/21/11/open-source-solar-power -[2]: https://tocatchthesun.com/ -[3]: https://doi.org/10.3390/designs6030041 -[4]: https://opensource.com/sites/default/files/2022-11/nontilt.png -[5]: https://doi.org/10.3390/designs6030054 -[6]: https://www.academia.edu/18406368/The_potential_of_agrivoltaic_systems -[7]: https://certification.oshwa.org/ca000013.html -[8]: https://opensource.com/sites/default/files/2022-11/tilt.png From 2fef3e44535ea93aadb9b7d318831f822a196d85 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 23 Dec 2022 10:07:21 +0800 Subject: [PATCH 833/925] RP @duoluoxiaosheng https://linux.cn/article-15375-1.html --- ...️ Improve your documentation with JavaScript.md | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) rename {translated/tech => published}/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md (83%) diff --git a/translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md b/published/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md similarity index 83% rename from translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md rename to published/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md index 66c50a8515..b33db8f545 100644 --- a/translated/tech/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md +++ b/published/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md @@ -3,31 +3,36 @@ [#]: author: "Jim Hall https://opensource.com/users/jim-hall" [#]: collector: "lkxed" [#]: translator: "duoluoxiaosheng" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15375-1.html" - -使用 JavaScript 增强您的文档 +使用 JavaScript 增强你的文档 ====== -开源软件项目通常拥有非常多样化的用户人群。有些用户非常擅长使用该系统,并且只需要很少的文档。对于这些实力派的用户。文档只需要提供必要的提示,并且可以包含更多的技术信息,比如说在 shell 中运行的命令行。有些用户可能只是初学者。这些用户需要更多的帮助来设置系统并学习如何使用它。 +![][0] + +> 让你的开源项目文档充满活力,从而吸引各种经验水平的用户。 + +开源软件项目通常拥有非常多样化的用户人群。有些用户非常擅长使用该系统,并且只需要很少的文档。对于这些实力派用户,文档只需要提供必要的提示,并且可以包含更多的技术信息,比如说在 Shell 中运行的命令行。有些用户可能只是初学者。这些用户需要更多的帮助来设置系统并学习如何使用它。 写一个同时适合这两个用户群体的文档是令人生畏的。网站文档需要在 “提供详细的技术信息” 和 “提供更多的概述和指导” 之间寻求一个平衡。这是一个很难找到的平衡。如果你的文档不能同时满足这两个用户人群,那么考虑一下另外一个选择 —— 动态文档。 探索在网页中添加一点 [JavaScript][1] 使用户可以选择自己想看的内容。 -### 构建您的内容 +### 构建你的内容 -你可以把例程添加的你的文档中需要同时满足 专家expert初学者novice 的地方。在这个例程中,你可以使用一个叫做 AwesmeProject 的虚构的音乐播放器。 +你可以把例程添加的你的文档中需要同时满足 专家expert初学者novice 的地方。在这个例程中,我们可以使用一个虚构的名为 AwesmeProject 的音乐播放器。 -你可以用 HTML 编写一个简短的安装文档,通过 HTML 的 class 功能同时为专家和初学者提供操作指南。例如,你可以用下面的代码来为专家定义一个段落: +你可以用 HTML 编写一个简短的安装文档,通过 HTML 的 class 功能同时为专家和初学者提供操作指南。 + +例如,你可以用下面的代码来为专家定义一个段落: ```

``` -这就同时指派了专家类 和读者类。 你可以用下面的代码来为初学者创建一个相同的段落。 +这同时指派了 “专家类” 和 “读者类”。你可以用下面的代码来为初学者创建一个相同的段落。 ```

@@ -70,7 +75,7 @@ most Linux distributions. Check your graphical package manager and search for Aw ![Image of html in black text.][2] -我们可在文档中添加一些简单的样式来为 读者reader专家expert 或者 初学者novice 突出任何元素。为了使不同的文本更容易区分,让我们把读者类的背景颜色设置成米白色,专家类的字体颜色设置为深红色,初学者的字体颜色则设置为深蓝色。 +我们可在文档中添加一些简单的样式来为 读者reader专家expert 或者 初学者novice 突出任何元素。为了使不同的文本更容易区分,让我们把读者类的背景颜色设置成米白色,专家类的字体颜色设置为深红色,初学者的字体颜色则设置为深蓝色。 ``` @@ -104,7 +109,7 @@ color: darkblue;

How to install the software

``` -当你在浏览器中查看这个网页时,这些样式有助于这两个段落的突出。安装指导的所有段落都有一个米白色背景,因为他们都有 读者reader 这个类。第一个段落的字体是深红色的,这是由 专家expert 这个类定义的。第二个段落的字体是深蓝色的,则是由 初学者novice 这个类定义的。 +当你在浏览器中查看这个网页时,这些样式有助于突出这两个段落。安装指导的所有段落都有一个米白色背景,因为他们都有 读者reader 这个类。第一个段落的字体是深红色的,这是由 专家expert 这个类定义的。第二个段落的字体是深蓝色的,则是由 初学者novice 这个类定义的。 ![Image of html in red and black text.][3] @@ -223,7 +228,7 @@ via: https://opensource.com/article/22/12/dynamic-documentation-javascript 作者:[Jim Hall][a] 选题:[lkxed][b] 译者:[duoluoxiaosheng](https://github.com/duoluoxiaosehng) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -235,3 +240,4 @@ via: https://opensource.com/article/22/12/dynamic-documentation-javascript [4]: https://opensource.com/sites/default/files/2022-12/publishone.novicexpert.png [5]: https://opensource.com/sites/default/files/2022-12/publishone.blue_.png [6]: https://opensource.com/sites/default/files/2022-12/publishone.red_.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/23/100615quu385qf83bu3p35.jpg \ No newline at end of file From 33badf157254835c0f18ef4051f8eb9b7eed6ac5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 24 Dec 2022 15:23:52 +0800 Subject: [PATCH 834/925] RP @MjSeven https://linux.cn/article-15377-1.html --- ... How To Securely Transfer Files With SCP In Linux.md | 149 ++++++++---------- 1 file changed, 70 insertions(+), 79 deletions(-) rename {translated/tech => published}/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md (69%) diff --git a/translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md similarity index 69% rename from translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md rename to published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index b450a31ef7..ca5f6ac817 100644 --- a/translated/tech/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -3,18 +3,20 @@ [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" [#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15377-1.html" 如何在 Linux 中使用 SCP 安全地传输文件 ====== +![][0] + 在网络上文件传输可以通过各种不同的方式和协议来完成。**远程复制文件**最常用的协议是 **Rsync**、**SCP** 和 **SFTP**。在本文中,我们将了解**什么是 SCP** 以及如何在 Linux 和类 Unix 操作系统中**使用 SCP 在本地和远程计算机之间安全地传输文件**。 -### 什么是 SCP? +### 什么是 SCP? -SCP,代表**安全复制**,它是一个命令行程序,在 Linux 和类 Unix 操作系统中以安全的方式在本地和远程系统之间,或在两个远程系统之间复制文件和目录。 +SCP,代表 安全复制Secure Copy,它是一个命令行程序,在 Linux 和类 Unix 操作系统中以安全的方式在本地和远程系统之间,或在两个远程系统之间复制文件和目录。 使用 `scp` 命令,你可以安全地复制文件或目录: @@ -22,7 +24,7 @@ SCP,代表**安全复制**,它是一个命令行程序,在 Linux 和类 Un - 从远程系统到本地 - 在两个远程系统之间 -使用 scp 命令传输数据时,文件和目录都是加密的。因此,即使网络被破坏,犯罪者也无法获得任何有意义的数据。 +使用 `scp` 命令传输数据时,文件和目录都是加密的。因此,即使网络被破坏,作恶者也无法获得任何有意义的数据。 SCP 是 openSSH 程序的一个组件,它使用 SSH 协议安全地传输文件。几乎所有现代 Linux 和 Unix 发行版都预装了 OpenSSH,所以不必费心安装它。 @@ -30,7 +32,7 @@ SCP 是 openSSH 程序的一个组件,它使用 SSH 协议安全地传输文 根据 openSSH 开发人员的**官方公告**: -> **scp 协议已经过时了**,它不灵活且不易修复。我们建议使用更现代的协议,如 sftp 和 rsync 来代替。 +> **scp 协议已经过时了**,它不灵活且不易修复。我们建议使用更现代的协议,如 `sftp` 和 `rsync` 来代替。 > > 参考 - [https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-March/037672.html][1] @@ -38,8 +40,8 @@ SCP 是 openSSH 程序的一个组件,它使用 SSH 协议安全地传输文 另外,SCP 的工作原理与 `cp` 命令完全相同,而 `rsync` 则会判断源目录是否有**结尾斜杠**而出现不同的行为。看一看下面的命令: -- `rsync source destination/` - 将 source 目录复制到 destination 文件夹内。 -- `rsync source/ destination/` - 将 source 目录的内容复制到 destination 文件夹中。 +- `rsync source destination/` - 将 `source` 目录复制到 `destination` 文件夹内。 +- `rsync source/ destination/` - 将 `source` 目录的内容复制到 `destination` 文件夹中。 所以,你必须反复检查是否在路径中添加了斜杠。 @@ -49,7 +51,7 @@ SCP 是 openSSH 程序的一个组件,它使用 SSH 协议安全地传输文 SCP 的通用语法如下: -```bash +``` scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target ``` @@ -91,9 +93,9 @@ scp -r User@RemoteHost:RemoteDirectoryPath DestinationDirectory scp User@RemoteHost1:RemoteFile1 User@RemoteHost2:RemotePath ``` -注意,当你在两个远程系统之间复制文件时,流量不会通过本地系统。操作直接在两个远程系统之间进行。但是,你可以使用 `-3` 参数传递运行 scp 命令的系统的流量。 +注意,当你在两个远程系统之间复制文件时,流量不会通过本地系统。操作直接在两个远程系统之间进行。但是,你可以使用 `-3` 参数让流量经过你运行 `scp` 命令的系统。 -本地将目录从一个远程系统复制到另一个远程系统: +从你的本地系统将一个远程系统的目录复制到另一个远程系统: ``` scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath @@ -103,17 +105,17 @@ scp -r User@RemoteHost1:RemoteDirectory User@RemoteHost2:DestinationPath SCP 命令最常用的参数有: -- **`-C`** : 启用压缩。C 代表压缩。使用此参数时,数据传输速度会更快,因为数据是压缩的。SCP 将自动在源系统上压缩,并在目标系统上解压缩。 -- **`-c `** : c 代表加密。默认情况下,SCP 使用 **AES-128** 加密方法对数据进行加密。你可以使用 `-c` 参数更改加密方法。 -- **`-i `** : i 代表身份文件或私钥。如你所知,SSH 中使用基于密码或密钥的身份验证。如果希望在传输文件时使用基于密钥的身份验证,可以使用 -i 参数指定身份文件或私钥。 -- **`-l limit`** : l 代表极限带宽。通过此参数,可以设置传输数据的最大带宽。它的单位是 **`Kbit/s`**。 -- **`-F `** : 有时你可能需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器,这种情况下,你可以使用 `-F` 参数使用不同的 `ssh_config` 文件。 -- **`-P port`** - P 代表端口。注意,这是大写的 P。默认情况下,SSH 使用端口 22。但出于安全原因,你可能已经更改了目标主机中的端口号。这种情况下,你应该使用 `-P` 参数显示指定新端口号。 -- **`-p`** : 如果希望保留原始文件的修改时间、访问时间和模式,你需要使用 -p 参数。注意是小写 p。 -- **`-r`** : 递归复制整个目录。 -- **`-B`** : B 代表批处理模式。它用于在传输文件时选择批处理模式。可以防止询问密码。 -- **`-S program`** : 用于加密连接的程序名称。 -- **`-v`** : v 代表详细。当使用 `-v` 参数时,命令将会在终端屏幕上打印进度。你会看到文件传输时到底发生了什么。它在调试连接、身份验证和配置问题时非常有用。 +- `-C`:启用压缩。`C` 代表 压缩Compression。使用此参数时,数据传输速度会更快,因为数据是压缩的。SCP 将自动在源系统上压缩,并在目标系统上解压缩。 +- `-c `:`c` 代表 加密Cipher。默认情况下,SCP 使用 **AES-128** 加密方法对数据进行加密。你可以使用 `-c` 参数更改加密方法。 +- `-i `:`i` 代表 身份Identity 文件或私钥。如你所知,SSH 中使用基于密码或密钥的身份验证。如果希望在传输文件时使用基于密钥的身份验证,可以使用 `-i` 参数指定身份文件或私钥。 +- `-l limit`:`l` 代表 限制Limit 带宽。通过此参数,可以设置传输数据的最大带宽。它的单位是 `Kbit/s`。 +- `-F `:有时你可能需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器,这种情况下,你可以使用 `-F` 参数使用不同的 `ssh_config` 文件File。 +- `-P port`:`P` 代表 端口Port。注意,这是大写的 `P`。默认情况下,SSH 使用端口 22。但出于安全原因,你可能已经更改了目标主机中的端口号。这种情况下,你应该使用 `-P` 参数显示指定新端口号。 +- `-p`:如果希望 保留Preserve 原始文件的修改时间、访问时间和模式,你需要使用 `-p` 参数。注意是小写 `p`。 +- `-r`:递归Recursively 复制整个目录。 +- `-B`:`B` 代表 批处理Batch 模式。它用于在传输文件时选择批处理模式。可以防止询问密码。 +- `-S program`:用于加密连接的 程序Program 名称。 +- `-v`:`v` 代表 详细Verbose。当使用 `-v` 参数时,命令将会在终端屏幕上打印进度。你会看到文件传输时到底发生了什么。它在调试连接、身份验证和配置问题时非常有用。 SCP 有很多参数,你可以查看它的手册页来了解其他参数。让我们看一些**有用的 scp 命令示例**。 @@ -122,14 +124,14 @@ SCP 有很多参数,你可以查看它的手册页来了解其他参数。让 - `scp` 命令依赖于 `ssh` 进行安全的文件传输。因此,你必须有一个 **ssh 密钥**或**密码**才能向远程系统进行身份验证。 - 为了能传输文件,你必须对**源文件有读权限**,对**目标位置有写权限**。 - `scp` 命令在写入前不会检查目标位置。目标位置中具有相同名称的任何文件都将被**覆盖而不通知**。 -- 为了能够区分本地和远程位置,使用**冒号**(`:`)。 +- 为了能够区分本地和远程位置,使用**冒号**(`:`)。 - 传输大文件时,建议在 **[Screen][3]** 或 **[Tmux][4]** 会话内启动任务。 ### 在 Linux 中使用 SCP 传输文件 正如我所说,我们可以使用 `scp` 命令将文件或目录从本地复制到远程系统,反之亦然,或者在两台远程系统之间复制文件或目录。 -### 1. 使用 SCP 从本地系统复制文件到远程系统 +#### 1. 使用 SCP 从本地系统复制文件到远程系统 使用 `scp` 命令将文件从本地复制到远程系统,运行: @@ -137,7 +139,7 @@ SCP 有很多参数,你可以查看它的手册页来了解其他参数。让 $ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/ ``` -**示例输出:** +示例输出: ``` ostechnix@192.168.1.40's password: @@ -146,10 +148,10 @@ File1.txt 100% 104 814.0KB 让我们分析一下上面的命令,看看每个参数都做了什么。 -- **`File1.txt`** - 源文件 -- **`ostechnix`** - 远程系统的用户名 -- **`192.168.1.40`** - 远程系统的 IP 地址 -- **`/home/ostechnix/`** - 远程系统中的目标目录。这是我们想要传输源文件的绝对路径,如 `File.txt`。 +- `File1.txt` - 源文件 +- `ostechnix` - 远程系统的用户名 +- `192.168.1.40` - 远程系统的 IP 地址 +- `/home/ostechnix/` - 远程系统中的目标目录。这是我们想要传输源文件的绝对路径,如 `File.txt`。 你还可以修改目标文件的名称。下面的命令将 `File1.txt` 传输到目的地,保存为 `myfile.txt`。 @@ -159,17 +161,15 @@ $ scp File1.txt ostechnix@192.168.1.40:/home/ostechnix/myfile.txt ![将文件从本地复制到远程系统][5] -将文件从本地复制到远程系统 - #### 2. 使用 SCP 从本地系统复制多个文件到远程系统 使用 `scp` 命令将多个文件从本地系统传输到远程系统,运行: -```bash +``` $ scp File1.txt File2.txt ostechnix@192.168.1.40:/home/ostechnix/ ``` -**示例输出:** +示例输出: ``` ostechnix@192.168.1.40's password: @@ -179,13 +179,11 @@ File2.txt 100% 496 6.3MB ![从本地复制多个文件到远程系统][6] -从本地复制多个文件到远程系统 - 这里: -- **`File1.txt`** 和 **`File2.txt`** - 源文件名 -- **`ostechnix@192.168.1.40`** - 远程系统的用户名和 IP 地址 -- **`/home/ostechnix`** - 目标文件的路径 +- `File1.txt` 和 `File2.txt` - 源文件名 +- `ostechnix@192.168.1.40` - 远程系统的用户名和 IP 地址 +- `/home/ostechnix` - 目标文件的路径 如果文件具有相同的扩展名,你可以使用以下替代命令来实现相同的目标。 @@ -201,24 +199,22 @@ $ scp *.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 3. 使用 SCP 从本地到远程系统递归复制目录 -递归地将整个目录(包括子目录及其内容)从本地复制到远程系统,使用 **`-r`** 参数。 +递归地将整个目录(包括子目录及其内容)从本地复制到远程系统,使用 `-r` 参数。 -```bash +``` $ scp -r Documents/ ostechnix@192.168.1.40:/home/ostechnix/ ``` ![从本地复制目录到远程系统][7] -从本地复制目录到远程系统 - -上述命令将整个 **`Documents`** 目录包括其内容复制到目标系统。 +上述命令将整个 `Documents` 目录包括其内容复制到目标系统。 其中, -- `-r` : 递归复制文件和目录,包括子目录及其内容 -- `Documents` : 源目录名称 -- **`ostechnix@192.168.1.40`** : 远程系统的用户名和 IP 地址 -- **`/home/ostechnix`** : 目标目录的路径 +- `-r` - 递归复制文件和目录,包括子目录及其内容 +- `Documents` - 源目录名称 +- `ostechnix@192.168.1.40` - 远程系统的用户名和 IP 地址 +- `/home/ostechnix` - 目标目录的路径 #### 4. 用 SCP 将文件从远程系统传输到本地 @@ -232,14 +228,12 @@ $ scp ostechnix@192.168.1.40:/home/ostechnix/File1.txt Downloads/ 其中 -- **`ostechnix@192.168.1.40`** : 远程系统的用户名和 IP 地址 -- `/home/ostechnix/File.txt` : 远程系统文件的绝对路径 +- `ostechnix@192.168.1.40` - 远程系统的用户名和 IP 地址 +- `/home/ostechnix/File.txt` - 远程系统文件的绝对路径 - `Downloads` - 本地保存复制文件的位置 ![从远程系统传输文件到本地][8] -从远程系统传输文件到本地 - #### 5. 使用 SCP 将多个文件从远程系统传输到本地 将多个文件从远程系统复制到本地,在**花括号内**注明文件的绝对路径,如下所示: @@ -250,21 +244,19 @@ $ scp ostechnix@192.168.1.40:/home/ostechnix/\{File1.txt,File2.txt\} Downloads/ ![将多个文件从远程系统传输到本地][9] -将多个文件从远程系统传输到本地 - 上述命令将从远程系统的 `/home/ostechnix/` 目录中复制 `File1.txt` 和 `File2.txt` 到本地的 `Downloads` 目录中。 注意,**花括号内的逗号后面没有空格**。 #### 6. 从远程系统递归复制目录到本地 -使用 `scp` 从远程系统递归复制整个目录(包括子目录及其内容)到本地系统,使用 **`-r`** 参数。 +使用 `scp` 从远程系统递归复制整个目录(包括子目录及其内容)到本地系统,使用 `-r` 参数。 ``` $ scp -r ostechnix@192.168.1.40:/home/ostechnix/Documents Downloads/ ``` -上述命令将从远程系统将整个 **`Documents`** 目录复制到本地的 **`Downloads`** 目录。 +上述命令将从远程系统将整个 `Documents` 目录复制到本地的 `Downloads` 目录。 #### 7. 使用 SCP 在两台远程计算机之间复制文件 @@ -280,12 +272,12 @@ $ scp senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kuma - `senthil@192.168.1.40` - 文件源端远程系统的用户名和 IP 地址 - `/home/senthil/File1.txt` - 复制的文件名及其位置 -- **`kumar@192.168.1.20`** - 复制文件到目标端的用户名和 IP 地址 +- `kumar@192.168.1.20` - 复制文件到目标端的用户名和 IP 地址 - `/home/kumar` - 在目标端上保存复制文件的位置 上述命令将从远程主机 `192.168.1.40` 复制 `/home/senthil/File1.txt` 到 `192.168.1.20` 上的 `/home/kumar/` 目录。 -在这种方法中,数据将直接从一个远程系统传输到另一个远程系统。如果你想通过本地机器路由流量,使用 **`-3`** 参数,如下所示: +在这种方法中,数据将直接从一个远程系统传输到另一个远程系统。如果你想通过本地机器路由流量,使用 `-3` 参数,如下所示: ``` $ scp -3 senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/kumar/ @@ -293,7 +285,7 @@ $ scp -3 senthil@192.168.1.40:/home/senthil/File1.txt kumar@192.168.1.20:/home/k #### 8. 使用 SCP 复制文件时启用压缩 -到目前为止,我们在没有压缩的情况下传输了文件。现在我们将使用 **`-C`** 参数在传输文件时启用压缩。 +到目前为止,我们在没有压缩的情况下传输了文件。现在我们将使用 `-C` 参数在传输文件时启用压缩。 ``` $ scp -C File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -305,7 +297,7 @@ $ scp -C File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 9. 使用 SCP 传输文件时限制带宽 -我们可以使用 `-l` 参数限制带宽。注意,最大带宽单位为 Kbits/s。1 字节 = 8 bit。因此,如果你想将带宽限制在 200KB/s,`-l` 的值将是 **1600**(200*8)。 +我们可以使用 `-l` 参数限制带宽。注意,最大带宽单位为 Kbits/s。1 Byte = 8 bit。因此,如果你想将带宽限制在 200KB/s,`-l` 的值将是 **1600**(200*8)。 ``` $ scp -l 1600 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -315,7 +307,7 @@ $ scp -l 1600 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 10. 使用 SCP 复制文件时使用不同端口 -作为系统管理员,出于安全原因,你可能在远程服务器上[**更改了 SSH 协议的默认端口**][10]。这种情况下,你可以在传输文件时使用 `-P` 参数指定端口号。注意:**大写的 P**。 +作为系统管理员,出于安全原因,你可能在远程服务器上 [更改了 SSH 协议的默认端口][10]。这种情况下,你可以在传输文件时使用 `-P` 参数指定端口号。注意:大写的 `P`。 ``` $ scp -P 2022 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -323,7 +315,7 @@ $ scp -P 2022 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 11. 使用 SCP 复制文件时使用不同的加密方法 -默认情况下,SCP 使用 **`AES-128`** 对文件进行加密。如果你想使用不同的加密方法,使用 **`c`** 参数。 +默认情况下,SCP 使用 `AES-128` 对文件进行加密。如果你想使用不同的加密方法,使用 `c` 参数。 例如,如果你想使用 **3des-cbc** 加密方法,命令如下所示: @@ -337,7 +329,7 @@ $ scp -c 3des-cbc File1.txt ostechnix@192.168.1.40:/home/ostechnix/ $ ssh -Q cipher localhost | paste -d, -s - ``` -**示例输出:** +示例输出: ``` 3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com @@ -345,7 +337,7 @@ $ ssh -Q cipher localhost | paste -d, -s - #### 12. 在详细模式下使用 SCP 复制文件 -如果你想知道使用 scp 复制文件时幕后发生了什么,你可以使用 **`-v`** 参数。使用详细模式传输文件时,终端上会显示执行 SCP 命令执行的每一步过程。这在故障排除时很方便。 +如果你想知道使用 `scp` 复制文件时幕后发生了什么,你可以使用 `-v` 参数。使用详细模式传输文件时,终端上会显示执行 `scp` 命令执行的每一步过程。这在故障排除时很方便。 ``` $ scp -v File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -353,13 +345,11 @@ $ scp -v File1.txt ostechnix@192.168.1.40:/home/ostechnix/ 在详细模式下发送文件时,你将看到大量输出,如下所示: -![在 Verbose 模式下使用 SCP 复制文件][11] - -在详细模式下使用 SCP 复制文件 +![在详细模式下使用 SCP 复制文件][11] #### 13. 在安静模式下使用 SCP 传输文件 -我们可以使用 **`-q`** 参数在安静模式下传输文件。在安静模式下共享文件时,不会在输出中显示进度、警告或诊断信息。 +我们可以使用 `-q` 参数在安静模式下传输文件。在安静模式下共享文件时,不会在输出中显示进度、警告或诊断信息。 ``` $ scp -q File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -367,7 +357,7 @@ $ scp -q File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 14. 使用 SCP 传输文件时保留文件属性 -使用 **`-p`** 参数可以保留文件修改时间、访问时间和模式等文件属性。注意,这是**小写的 p**。 +使用 `-p` 参数可以保留文件修改时间、访问时间和模式等文件属性。注意,这是**小写的 p**。 ``` $ scp -p File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -377,7 +367,7 @@ $ scp -p File1.txt ostechnix@192.168.1.40:/home/ostechnix/ SSH 同时支持基于密码和密钥的身份验证。密钥是 Linux 环境中使用最广泛的身份验证方法。 -如果你想在传输文件时使用基于密钥的身份验证,使用 **`-i`** 参数指定身份文件或私钥。 +如果你想在传输文件时使用基于密钥的身份验证,使用 `-i` 参数指定身份文件或私钥。 ``` $ scp -i my_private_key.pem File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -385,7 +375,7 @@ $ scp -i my_private_key.pem File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 16. 使用不同的 ssh 配置文件 -在某些情况下,你需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器。这在情况下,你可以配合 **`-F`** 参数使用不同的 `ssh_config` 文件。 +在某些情况下,你需要使用不同的网络来连接到 Linux 系统,或你有一个代理服务器。这在情况下,你可以配合 `-F` 参数使用不同的 `ssh_config` 文件。 ``` $ scp -F /home/ostechnix/my_ssh_config File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -393,7 +383,7 @@ $ scp -F /home/ostechnix/my_ssh_config File1.txt ostechnix@192.168.1.40:/home/os #### 17. 使用 IPv4 或 IPv6 复制文件 -在复制文件时,我们可以强制 SCP 只使用 IPv4 或 IPv6 地址。IPv4 网络添加 **`-4`** 参数,IPv6 网络添加 **`-6`** 参数可以实现这一点。 +在复制文件时,我们可以强制 SCP 只使用 IPv4 或 IPv6 地址。IPv4 网络添加 `-4` 参数,IPv6 网络添加 `-6` 参数可以实现这一点。 ``` $ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ @@ -403,7 +393,7 @@ $ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 问题 1:什么是 SCP? -**回答:** SCP 是一个命令行程序,旨在将文件和目录从本地系统安全地传输到远程系统,反之亦然,或者直接在两个远程系统之间传输。 +**回答:SCP 是一个命令行程序,旨在将文件和目录从本地系统安全地传输到远程系统,反之亦然,或者直接在两个远程系统之间传输。 #### 问题 2: 如何使用 SCP 将文件从本地复制到远程计算机? @@ -461,7 +451,7 @@ scp *.txt User@RemoteHost:/some/remote/directory #### 问题 6:可以压缩文件吗? -当然。使用 **`-C`** 压缩文件。文件会在源端压缩,在目标端自动解压缩。 +当然。使用 `-C` 压缩文件。文件会在源端压缩,在目标端自动解压缩。 ``` scp -C /some/large/file User@RemoteHost:/some/remote/directory @@ -469,7 +459,7 @@ scp -C /some/large/file User@RemoteHost:/some/remote/directory #### 问题 7:可以保留文件属性吗? -保留原始文件的修改时间、访问时间和模式等文件属性,使用 **`-p`** 参数。 +保留原始文件的修改时间、访问时间和模式等文件属性,使用 `-p` 参数。 ``` scp -p file.txt User@RemoteHost:/some/remote/directory @@ -477,7 +467,7 @@ scp -p file.txt User@RemoteHost:/some/remote/directory #### 问题 8: 可以使用其他端口吗? -当然。SCP 配合 **`-P`** 参数允许你使用其他端口。 +当然。SCP 配合 `-P` 参数允许你使用其他端口。 ``` scp -P 2022 file.txt User@RemoteHost:/some/remote/directory @@ -485,7 +475,7 @@ scp -P 2022 file.txt User@RemoteHost:/some/remote/directory #### 问题 9: 可以使用不同的加密方法吗? -当然。使用 **`-c`** 参数。 +当然。使用 `-c` 参数。 ``` scp -c 3des-cbc User@RemoteHost:/some/remote/directory @@ -505,7 +495,7 @@ ssh -Q cipher localhost | paste -d, -s - #### 问题 12:可以从 Windows 系统传输文件到 Linux 吗? -当然。使用 **PSCP** 程序将文件从 windows 传输到 Linux 平台,你也可以使用 **WinSCP**。 +当然。使用 `PSCP` 程序将文件从 windows 传输到 Linux 平台,你也可以使用 `WinSCP`。 ### 总结 @@ -520,7 +510,7 @@ via: https://ostechnix.com/securely-transfer-files-with-scp-in-linux/ 作者:[sk][a] 选题:[lkxed][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -537,3 +527,4 @@ via: https://ostechnix.com/securely-transfer-files-with-scp-in-linux/ [9]: https://ostechnix.com/wp-content/uploads/2022/11/Transfer-Multiple-Files-from-Remote-System-to-Local-System.png [10]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ [11]: https://ostechnix.com/wp-content/uploads/2022/11/Copying-Files-with-SCP-in-Verbose-Mode.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/24/152224vy4glx9x39mtth9b.jpg \ No newline at end of file From 106ea7e63a340ff135eb3192121afdfdafd1bb8a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 24 Dec 2022 15:30:55 +0800 Subject: [PATCH 835/925] R --- ...6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md index ca5f6ac817..bc00a197f5 100644 --- a/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md +++ b/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md @@ -393,7 +393,7 @@ $ scp -6 File1.txt ostechnix@192.168.1.40:/home/ostechnix/ #### 问题 1:什么是 SCP? -**回答:SCP 是一个命令行程序,旨在将文件和目录从本地系统安全地传输到远程系统,反之亦然,或者直接在两个远程系统之间传输。 +SCP 是一个命令行程序,旨在将文件和目录从本地系统安全地传输到远程系统,反之亦然,或者直接在两个远程系统之间传输。 #### 问题 2: 如何使用 SCP 将文件从本地复制到远程计算机? From 3e58f67620e6e7b62d0746d8606ce66a1ee8ee51 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 24 Dec 2022 16:15:50 +0800 Subject: [PATCH 836/925] RP @geekpi https://linux.cn/article-15378-1.html --- ...your Linux PC with the PCManFM file manager.md | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) rename {translated/tech => published}/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md (65%) diff --git a/translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/published/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md similarity index 65% rename from translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md rename to published/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md index 760c9511e0..1c0ce3b0b9 100644 --- a/translated/tech/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md +++ b/published/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md @@ -3,13 +3,17 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15378-1.html" -使用 PCManFM 文件管理器简化你的 Linux PC +使用 PCManFM 文件管理器让你的 Linux PC 轻装上阵 ====== +![][0] + +> PCMan 文件管理器是一个让旧电脑感觉更有效率的好选择。 + PCMan 文件管理器,或简称 PCManFM,是一个功能齐全的快速轻量级文件管理器。它是为 [LXDE][1] 桌面环境开发的,但它是一个独立的应用,可以与你选择的桌面或窗口管理器一起使用。 ### 安装 PCManFM @@ -28,9 +32,9 @@ $ sudo apt install pcmanfm ![Image of the PCMan file manager.][2] -PCManFM 不必替换你的桌面文件管理器,但某些发行版假定当你安装“第三方”文件管理器时,你希望它优先于默认设置。根据你使用的桌面,有不同的方法来设置默认文件管理器。通常,它位于**默认应用**下的**系统设置**中。 +不必用 PCManFM 替换你的桌面文件管理器,但某些发行版认为当你安装“第三方”文件管理器时,你会希望它优先于默认的文件管理器。根据你使用的桌面,有不同的方法来设置默认文件管理器。通常,它位于 系统设置System Settings 下的 默认应用Default Applications 中。 -如果你的桌面环境或窗口管理器没有选择默认应用的界面,你可以在 `~/.local/share/applications/mimeapps.list` 文件中设置你的首选项。要将文件管理器指定为默认,请将其放在 `[Default Applications]` 部分的顶部,首先指定文件类型,然后指定你像用于打开的应用文件的名称(在 `/usr/share/applications` 下): +如果你的桌面环境或窗口管理器没有选择默认应用的界面,你可以在 `~/.local/share/applications/mimeapps.list` 文件中设置你的首选项。要将一个文件管理器指定为默认的,请将其放在 `[Default Applications]` 部分的顶部,首先指定文件类型,然后指定你想用于打开的应用文件的名称(在 `/usr/share/applications` 下): ``` inode/directory=myfilemanager.desktop; @@ -38,9 +42,9 @@ inode/directory=myfilemanager.desktop; ### PCManFM -如果您是 GNOME 2 或 Mate 项目的 [Caja 文件管理器][3]的粉丝,那么 PCManFM 是一个不错的选择。PCManFM 在设计上很像 Caja,但它不像 Caja 那样绑定到桌面,所以它甚至可以在最新的 GNOME 桌面上使用。 +如果你是 GNOME 2 或 Mate 项目的 [Caja 文件管理器][3] 的粉丝,那么 PCManFM 是一个不错的选择。PCManFM 在设计上很像 Caja,但它不像 Caja 那样绑定到桌面,所以它甚至可以在最新的 GNOME 桌面上使用。 -PCManFM 的默认布局在窗口顶部附近有一个有用的工具栏,一个提供对常用目录和驱动器的快速访问的侧面板,以及一个包含有关你当前选择的详细信息的状态栏。你可以使用**视图**菜单隐藏或显示这些元素中的任何一个。 +PCManFM 的默认布局在窗口顶部附近有一个有用的工具栏,一个提供对常用目录和驱动器的快速访问的侧面板,以及一个包含有关你当前选择的详细信息的状态栏。你可以使用 视图View 菜单隐藏或显示这些元素中的任何一个。 ### 选项卡和面板 @@ -56,7 +60,7 @@ PCManFM 界面的另一个不错的功能是它能够将一个窗口分成两个 ### 使用 PCMan 进行文件管理 -PCManFM 是一款很棒的小型文件管理器,具有你日常所需的所有基本功能。它是你可能会觉得过于复杂的文件管理器的自然替代品,也是[旧计算机][5]上的一个很好的选择,这些电脑可能对不断绘制缩略图、刷新和生成动画的文件管理器感到挣扎。PCMan 专注于文件管理器的核心任务:管理文件。在你的 Linux 电脑上试试吧。 +PCManFM 是一款很棒的小型文件管理器,具有你日常所需的所有基本功能。它是你可能会觉得过于复杂的文件管理器的自然替代品,也是 [老旧计算机][5] 上的一个很好的选择,这些电脑可能对不断绘制缩略图、刷新和生成动画的文件管理器举步维艰。PCMan 专注于文件管理器的核心任务:管理文件。在你的 Linux 电脑上试试吧。 -------------------------------------------------------------------------------- @@ -65,7 +69,7 @@ via: https://opensource.com/article/22/12/linux-file-manager-pcmanfm 作者:[Seth Kenlon][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/) 荣誉推出 @@ -76,3 +80,4 @@ via: https://opensource.com/article/22/12/linux-file-manager-pcmanfm [3]: https://opensource.com/article/22/12/linux-file-manager-caja [4]: https://opensource.com/sites/default/files/2022-10/%E2%80%8BDual.panel_.in%20PCManFM.png [5]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity +[0]: https://img.linux.net.cn/data/attachment/album/202212/24/161333mssnim76ssugskie.jpg \ No newline at end of file From 6f08d9239d6f447c26953e1a5e0cc49c61dd9aaa Mon Sep 17 00:00:00 2001 From: wangcharley Date: Sat, 24 Dec 2022 20:16:52 +0800 Subject: [PATCH 837/925] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20221221.3 ⭐️⭐️ Open source solutions for EV charging.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md index 249f89ff02..9521dc5b64 100644 --- a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md +++ b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/open-source-ev-charging" [#]: author: "Joshua Pearce https://opensource.com/users/jmpearce" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "duoluoxiaosheng" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -52,7 +52,7 @@ via: https://opensource.com/article/22/12/open-source-ev-charging 作者:[Joshua Pearce][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[duoluoxiaosheng](https://github.com/duoluoxiaosheng) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 17ebde2bd7f73ee541d022d49ad11e591faec7ff Mon Sep 17 00:00:00 2001 From: wangcharley Date: Sat, 24 Dec 2022 21:14:33 +0800 Subject: [PATCH 838/925] 202212242114 --- .../20221221.3 ⭐️⭐️ Open source solutions for EV charging.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md index 9521dc5b64..45bf829d5e 100644 --- a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md +++ b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md @@ -12,6 +12,8 @@ Open source solutions for EV charging Maybe you hate pumping gas in the cold (or heat), or you care about the environment. Maybe the latest gas prices and general inflation has you thinking more about stretching your money. Perhaps you simply think electric vehicles (EVs) look cool. No matter the reason, you're excited about your next vehicle being an EV and you're not alone! The EV market share is set to [expand to 30% by 2040][1]. The [US government provides a handy comparison tool][2] to show that the cost of ownership of an EV easily beats owning and operating fossil fuel vehicles. Despite this, EV charging costs can still hit you hard in your wallet. +你讨厌在寒冷或者酷热的时候加油,你关心环境问题。最新的油价和通货膨胀让你更多考虑挣钱的问题 + One of the most elegant ways to solve cost problems in general is to apply open source principles to accelerate innovation. Fortunately for you, this has been done in the EV charging area to find a way to get low-cost electricity and low-cost chargers. To control the costs of EV charging, first you need low-cost electricity. In the old days, that would mean going from oil to coal, which is not a step up. Today, as it turns out, [solar photovoltaic (PV)][3] devices that convert sunlight directly into electricity normally provide the lowest-cost electricity. Coal companies are going bankrupt because they can no longer compete with clean solar power. This is also why [solar power is seeing explosive growth all over the world][4]. Many homeowners are putting [solar panels on their roofs][5] or on ground mounts in the backyard to cover all of their home’s electric needs. But how can you charge your EV with solar energy if you have limited roof area or a small backyard? From e8aa3554bfa93af67c92b52244c45f393f3e65a0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 25 Dec 2022 11:41:50 +0800 Subject: [PATCH 839/925] =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Unfortunately, Komodo IDE is now Open Source!.md | 89 ------------------- ...2.12 (S15Pup) Arrives Based on Slackware 15.md | 82 ----------------- ... Open Source Marking the End of the Project.md | 73 --------------- 3 files changed, 244 deletions(-) delete mode 100644 sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md delete mode 100644 sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md delete mode 100644 sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md diff --git a/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md b/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md deleted file mode 100644 index 96da969f33..0000000000 --- a/sources/news/20221212.3 ⭐️⭐️ Unfortunately, Komodo IDE is now Open Source!.md +++ /dev/null @@ -1,89 +0,0 @@ -[#]: subject: "Unfortunately, Komodo IDE is now Open Source!" -[#]: via: "https://news.itsfoss.com/komodo-ide-open-source/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Unfortunately, Komodo IDE is now Open Source! -====== - -Komodo IDE is now open-source and not at a great time. Curious to take a peek at the source code? Learn more here. - -![Unfortunately, Komodo IDE is now Open Source!][1] - -Komodo IDE is a popular integrated development environment for dynamic programming languages that was introduced back in May 2000. - -Used by many programmers around the world, it has proved to be quite helpful over the years. - -Unfortunately, all good things end. - -This is the case with Komodo IDE, it has now been retired, and all development has ceased. - -But there's a silver lining to this 😃 - -The company behind it, called '[ActiveState][2]', has now made the code openly available for anyone to use and modify. - -> 💡 Similar to "Komodo Edit" application, which was made open-source in 2008. - -They have cited numerous factors for their decision, which I will explain. - -### So, Why Open-Source it Now? - -![komodo ide][3] - -ActiveState felt that it was becoming difficult to maintain Komodo IDE without encountering various compatibility issues on newer systems. - -**What were the contributing factors?:** There were many factors that led to this. Take, for instance, the frameworks on which Komodo was built, '_XUL and XULRunner_'; they were retired by Mozilla back in 2016. - -Then there was the amount of effort needed to make Komodo compatible with newer systems. They would have to completely rewrite Komodo using a newer framework they felt was not feasible. - -And the final nail in the coffin was the fact that there are already a lot of free code editors available on the market right now doing better. They feel that '_it’s not a good business to be in anymore_'. - -**What now?:** ActiveState have made the whole Komodo IDE codebase available on their [GitHub repo][4] without the revision history. - -They have provided 3.2 million lines of code that consist of various programming languages such as Python, JavaScript, XUL, HTML, C++, and more. - -Anyone can copy, change, and use the code as they see fit. - -The forums for Komodo will be kept open for a year from their [original announcement][5], as it contains a treasure trove of information relating to Komodo. - -They are also open to moving the content to a different platform if anyone is willing to take on the task of managing it. - -On this topic, one of the employees from the Komodo dev team, Carey Hoffman, had this to add: - -> The extensive existing help information in the forums can act as a significant knowledge base for users and continue to be a central place to ask questions of the community and receive answers. I’ll very likely be there periodically on my own time to help where I can, such as when people are trying to build Komodo at home, or having difficulty making any kind of code edits. - -### Community Gets a Chance - -This can come in pretty handy for the community in general, as people can now try their hand at creating something truly special out of the code for Komodo. - -A Reddit user, [yvrelna][6] mentions: - -> I never used Komodo, but it's great to hear that Komodo is now freed from its cage. Companies should do this more often. If they're unwilling to support a software anymore, they should just release it as open source.It would've been better if the software is open source to begin with of course, but there's really no reason for a company to retain their codebase closed if they have no interest in maintaining it.Only thing is that they should've done it sooner, when there are still enough people that still cares about the software to possibly pick it up to maintain it. - -Indeed, the user is not wrong here; companies should go the extra mile by making code for their deprecated software open so that the community has a chance to create something out of it or even maintain it for the long term. - -ActiveState seems to have understood this sentiment and has thanked its users by open-sourcing Komodo. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/komodo-ide-open-source/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/komodo-ide-goes-open-source.png -[2]: https://www.activestate.com/ -[3]: https://news.itsfoss.com/content/images/2022/12/Komodo_IDE.png -[4]: https://github.com/ActiveState/OpenKomodoIDE -[5]: https://www.activestate.com/blog/activestate-komodo-ide-now-open-source/ -[6]: https://www.reddit.com/user/yvrelna/ diff --git a/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md b/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md deleted file mode 100644 index 980ad2ec0a..0000000000 --- a/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md +++ /dev/null @@ -1,82 +0,0 @@ -[#]: subject: "Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15" -[#]: via: "https://debugpointnews.com/puppy-linux-22-12-s15pup/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15 -====== - -![][1] - -**A new Puppy Linux flavour (Puppy Linux 22.12 S15Pup) is now available based on Slackware 15.** - -Puppy Linux is a super lightweight distro which runs entirely on RAM and requires a very low memory footprint. It is almost loaded with all the necessary applications for everything you need. It is quite remarkable that the Puppy Linux team managed to package all these applications, which run in low memory and surprisingly within 400 MB of ISO size. There are many variants of Puppy Linux based on Ubuntu and other distros – thanks to the fantastic Puppy Builder Woof-CE. - -### Puppy Linux 22.12 (s15pup): What’s New - -The recent release of Puppy Linux 22.12 is based on the Slackware 15.0 components, which were released in February 2022. At its core, the JWM (Joe’s Window Manager) provides flexibility and good performance in Puppy Linux because it runs off the RAM. - -![Puppy Linux 22.12 based on Slackware 15][2] - -Based on Slackware, Puppy 22.12 comes with Linux Kernel LTS series 5.15 for the 64-bit. And the 5.10 for the 32-bit system. The desktop feel is the same as other Puppy flavours based on the JWM 2.4.3. The JWM is used in other distro-based Puppy flavours as well. - -In addition, FFmpeg is loaded with Mplayer for your media playing needs – if at all required in a LIVE system. Also, the “Light” web browser, based on Firefox, gives you easy and performant access to the internet. Alternative browser installation options are also present. - -Furthermore, Puppy Linux 22.12 s15pup pre-loads most of the LXDE apps and components for the overall lightweight experience, such as Lxrandr 0.3.2, Lxtask 0.1.10 and Lxterminal 0.4.0. - -ISO of this Slackware flavour is less than 400 MB in size, and, amazingly, all of the following applications are pre-loaded on it. Here’s a summary of the key packages in this version: - -| Abiword 3.0.1 | Gparted 1.3.1 | Parcellite 1.2.1 | -| Bash 5.1.016 | Grep 3.7 | Rox-filer 17w | -| Busybox 1.35.0 | Gtk+2 2.24.33 | Samba 4.12.15 | -| Cups 2.4.2 | Gtk+3 3.24.31 | Sed 4.8 | -| Curl 7.86.0 | Gtkdialog 0.8.5a | Sylpheed 3.7.0 | -| Dhcpcd 9.4.1 | Icu4c 69.1 | Syslinux 4.07 | -| Didiwiki 0.8 | Jwm 2.4.3 | Transmission 2.60 | -| Evince 2.32.0 | Lxrandr 0.3.2 | Util-linux 2.37.4 | -| Ffmpeg 4.4.3 | Lxtask 0.1.10 | Viewnior 1.7 | -| Gcc 11.2.0 | Lxterminal 0.4.0 | Xdelta 30.16 | -| Geany 1.35 | Mesa 21.3.5 | Xsane 0.999 | -| Ghostscript 9.55.0 | MPlayer 1.4 | -| Glib2 2.70.3 | Mtpaint 3.50.09 | -| Glibc 2.33 | Ncurses 6.3 | -| Gnumeric 1.10.17 | Openssl 1.1.1s | - -### Download - -Puppy Linux is one of those few distros which still provides a 32-bit installation file alongside 64-bit. You can download this version from the following links for the respective architectures. - -- [S15Pup 64-bit – based on Slackware 15.0][3] -- [S15Pup 32-bit – based on Slackware 15.0][4] -- [ScPup 64-bit – based on Slackware current][5] -- [ScPup 32-bit – based on Slackware current][6] - -If you are running it on a virtual machine, make sure to change the CPU architecture to 64-bit before installing it. - -_Via [release announcement][7] & [release notes][8]_ - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/puppy-linux-22-12-s15pup/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2022/12/pups15head.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Puppy-Linux-22.12-based-on-Slackware-15.jpg -[3]: https://sourceforge.net/projects/spup/files/S15Pup64/ -[4]: https://sourceforge.net/projects/spup/files/S15Pup32/ -[5]: https://sourceforge.net/projects/spup/files/ScPup64/ -[6]: https://sourceforge.net/projects/spup/files/ScPup/ -[7]: https://forum.puppylinux.com/viewtopic.php?t=7464&sid=5ee2c343a8dbc0babc476139d188c50f -[8]: http://distro.ibiblio.org/puppylinux/puppy-s15pup/release-S15Pup-22.12.htm diff --git a/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md b/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md deleted file mode 100644 index d18a3e8871..0000000000 --- a/sources/news/20221214.1 ⭐️ Microsoft Soundscape to Go Open Source Marking the End of the Project.md +++ /dev/null @@ -1,73 +0,0 @@ -[#]: subject: "Microsoft Soundscape to Go Open Source Marking the End of the Project" -[#]: via: "https://news.itsfoss.com/microsoft-soundscape-open-source/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Microsoft Soundscape to Go Open Source Marking the End of the Project -====== - -Microsoft makes an excellent decision to open-source its innovative audio app. - -![Microsoft Soundscape to Go Open Source Marking the End of the Project][1] - -The [Soundscape project][2] was a fascinating experimental research effort undertaken by Microsoft to use sound-based technology to help visually impaired people navigate their surroundings. - -Launched back in 2017, it used 3D audio cues and augmented reality to enhance a user's awareness by guiding them through places. - -Soon after, they also launched an iOS app to showcase their progress. - -The app could use the iPhone's sensors to read out points of interest as the user walked past something or even roads and intersections to help them figure out where they were. - -**Unfortunately,** with a [recent announcement][3], Microsoft has decided not to continue further with the development of this project and will be making the **code open-source**. - -### Microsoft Soundscape Source Code to be Available on GitHub - -![Microsoft Soundscape - an Illustrated Demonstration][4] - -**What Happened?:** Well, according to Microsoft, it's natural to either stop or transition a few projects as they evolve their research portfolio. - -With this move, Microsoft hopes the community will take over and benefit from the 'novel experiences' they helped develop. - -They also add that: - -> As Microsoft Research continues to expand into new accessibility innovation areas, we hope the open-source software release of the Soundscape code supports the community in further developing confidence and utility of spatial audio navigation experiences. - -You know, this move is quite similar to the one made by ActiveState recently, where they discontinued Komodo IDE and made the code open-source to say thank you to its users. - -**What's Next?:** Starting **January 3, 2023**, the source code for Soundscape will be made available on GitHub. Developers are free to use the code in any manner they see fit. - -Furthermore, the iOS app will also be discontinued, and existing users can use it until June 2023. - -They will also stop taking new feature requests and only focus on bug fixes and general maintenance of the iOS app until the time comes. - -As for the Microsoft Soundscape Authoring app, it will no longer be available after January 17, 2023. - -Microsoft has also clarified that its other offerings would remain unaffected. - -### Community-Driven Approach Wins - -As was the case with Komodo IDE, a community-driven approach can be of great help for deprecated software. - -Where the community can get together and create something truly unique while also helping the end users add value to their lives. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/microsoft-soundscape-open-source/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/microsoft-soundscape-goes-open-source.png -[2]: https://www.microsoft.com/en-us/research/product/soundscape/ -[3]: https://www.microsoft.com/en-us/research/blog/microsoft-soundscape-new-horizons-with-a-community-driven-approach/ -[4]: https://youtu.be/v5DXykmOdJ8 From 60425c91ec1adae0860d2b8a63e047914dd0148d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 25 Dec 2022 12:10:31 +0800 Subject: [PATCH 840/925] ALL @wxy https://linux.cn/article-15380-1.html --- ...e Picker Adds Thumbnail View After 18 Years.md | 88 +++++++++++++++++ ...e Picker Adds Thumbnail View After 18 Years.md | 94 ------------------- 2 files changed, 88 insertions(+), 94 deletions(-) create mode 100644 published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md delete mode 100644 sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md diff --git a/published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md b/published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md new file mode 100644 index 0000000000..945591e75c --- /dev/null +++ b/published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md @@ -0,0 +1,88 @@ +[#]: subject: "Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years" +[#]: via: "https://news.itsfoss.com/gnome-file-picker/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15380-1.html" + +虽迟但到!GNOME 的文件选取器在 18 年后增加了缩略图视图 +====== + +> 一个长期缺位、也是急需的功能请求,终于通过了! + +![][1] + +如今,程序的用户界面是非常重要的;即使是最简单的交互也能决定用户的体验。 + +GNOME 的文件选取器在查看文件时缺乏适当的缩略图预览,而是依赖于一个普通的列表视图。这对许多人来说可能是不直观的。 + +多年来,缺乏这一功能也成了许多段子和讨论的主题。 + +但是现在,在最初的 [功能请求][2] 提出 18 年之后,GNOME 终于可以支持一个合适的缩略图视图了。 + +让我们来看看这个即将到来的对 GNOME 文件选取器的改变。 + +### 该功能将随着 GNOME 44 到来 + +![GNOME 文件缩略图视图][3] + +正如这个由 GNOME 开发者 [Matthias Clasen][4] 提供的早期构建截图所展示的。GNOME 上的文件选取器将具有一个缩略图视图。 + +这就是它在 GNOME 43 上的样子: + +![GNOME 43 的文件选取器][5] + +**如何访问它?** 在 GNOME 上文件选取器的网格视图里,可以显示文件和文件夹的缩略图预览。 + +现在将很容易区分文件管理器中的项目;不再需要打开一个文件来查看它包含的内容了! + +![GNOME 文件缩略图视图选取器][6] + +当这个功能到来时,你可以通过点击右上方的新视图切换按钮来启用它。 + +**有什么变化?** 对于一个简单的功能添加来说,18 年是一个很长的时间。众多的技术原因使其实施成为一项艰巨的任务。 + +但我很高兴,它终于来了。😃 + +使之成为可能的原因之一是最近在 GTK 代码库中进行的废弃和现代化工作。 + +> 💡 GTK 是 GNOME 的一切的核心的工具箱。 + +而且,这些变化导致 [GtkListView][7] 和 [GtkGridView][8] 使用相同的数据模型来实现这个功能。 + +**预期何时?** 这个历史上的 [合并请求][9] 已经被接受,并为其引入 GNOME 铺平道路。 + +你可以期待它在 2023 年的某个时候与 GNOME 44 一起到来。 + +我很期待!😁 + +我们将把它作为 GNOME 44 功能提供的一部分来报道。所以,请继续关注我们的报道吧! + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/gnome-file-picker/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/gtk-file-chooser-gets-thumbnail-preview-support.png +[2]: https://bugzilla.gnome.org/show_bug.cgi?id=141154 +[3]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail.png +[4]: https://twitter.com/matthias_clasen +[5]: https://news.itsfoss.com/content/images/2022/12/file-picker-now.png +[6]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail-2.png +[7]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklistview.c +[8]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkgridview.c +[9]: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5163 +[10]: https://mastodon.social/@itsfoss +[11]: https://twitter.com/itsfoss2 +[12]: https://notion.grsm.io/front-static/logo-ios.png +[13]: https://www.notion.so/front-static/meta/default.png diff --git a/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md b/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md deleted file mode 100644 index 2917f3aed7..0000000000 --- a/sources/news/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md +++ /dev/null @@ -1,94 +0,0 @@ -[#]: subject: "Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years" -[#]: via: "https://news.itsfoss.com/gnome-file-picker/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years -====== - -A long-lost request, and a much-needed one, finally made its way through! - -![Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years][1] - -Nowadays, the user interface of a program is extremely important; even the simplest of interactions can make or break the user's experience. - -The GNOME file picker lacked a proper thumbnail preview for viewing files, instead relying on a plain list view. This may have been unintuitive for many. - -The lack of this feature was also the topic of many memes and debates over the years. - -But now, finally, after 18 long years since the original [feature request][2] was put out, GNOME is set to receive support for a proper thumbnail view. - -Let's look at this upcoming change to GNOME's file picker. - -#### Recommended Read 📖 - -### Feature to Arrive With GNOME 44 - -![gnome file thumbnail view][3] - -As demonstrated by this early build screenshot provided by GNOME developer [Matthias Clasen][4]. The file picker on GNOME is going to feature a thumbnail view. - -This is how it looks like with GNOME 43 on board: - -![file picker with gnome 43][5] - -**How to access it?:** It is a grid view for the file picker on GNOME that shows the thumbnail previews of files and folders. - -It will now be easy to differentiate items in the file manager; no more opening a file to see what it contains! - -![gnome file thumbnail view selector][6] - -When this feature arrives, you can enable it by clicking on the new view toggle button at the top right. - -**What Changed?:** 18 years for a simple feature addition is a long time. Numerous technical reasons made the implementation of this an arduous task. - -But I am glad that it is finally here. 😃 - -One of the reasons that made this possible was the recent deprecations and modernization work carried out in the GTK code base. - -> 💡 GTK is the toolkit that is at the core of all things GNOME. - -And, those changes resulted in [GtkListView][7] and [GtkGridView][8] using the same data models to make this feature work. - -**When to expect?:** The historical [merge request][9] has already been accepted and is paving the way for its introduction to GNOME. - -You can expect this to arrive with GNOME 44 sometime in 2023. - -I'm looking forward to that! 😁 - -We would be covering it as part of GNOME 44's feature offerings. So, stay tuned to our coverage for that! - -_Don't forget to follow us on [Mastodon][10] and [Twitter][11]! Feel free to share your thoughts on this in the comments below._ - -Notion – One workspace. Every team.We’re more than a doc. Or a table. Customize Notion to work the way you do.![][12]Notion![][13] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/gnome-file-picker/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/gtk-file-chooser-gets-thumbnail-preview-support.png -[2]: https://bugzilla.gnome.org/show_bug.cgi?id=141154 -[3]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail.png -[4]: https://twitter.com/matthias_clasen -[5]: https://news.itsfoss.com/content/images/2022/12/file-picker-now.png -[6]: https://news.itsfoss.com/content/images/2022/12/GNOME_File_Thumbnail-2.png -[7]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklistview.c -[8]: https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkgridview.c -[9]: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5163 -[10]: https://mastodon.social/@itsfoss -[11]: https://twitter.com/itsfoss2 -[12]: https://notion.grsm.io/front-static/logo-ios.png -[13]: https://www.notion.so/front-static/meta/default.png From 468881e48c4ab5cba1e733b6cfb244d9454f8451 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 25 Dec 2022 15:49:51 +0800 Subject: [PATCH 841/925] RP @FYJNEVERFOLLOWS https://linux.cn/article-15381-1.html --- ...in Ubuntu and other Linux Distributions.md | 85 +++++++++---------- 1 file changed, 42 insertions(+), 43 deletions(-) rename {translated/tech => published}/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md (59%) diff --git a/translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md b/published/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md similarity index 59% rename from translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md rename to published/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md index 7287e7da5c..4cd33a4e74 100644 --- a/translated/tech/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md +++ b/published/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md @@ -3,30 +3,33 @@ [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" [#]: translator: "FYJNEVERFOLLOWS" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15381-1.html" -如何在 Ubuntu 和其他 Linux 发行版中录制流音频 +如何在 Ubuntu 中录制流媒体音频 ====== -如何在 Ubuntu 和其他 Linux 发行版中录制音频? -如果你想通过计算机的麦克风录制语音,可以使用 `GNOME Sound Recorder` 或 `Audacity`。 +![][0] -使用 `GNOME Sound Recorder` 很简单,但它缺乏功能。`Audacity` 最初可能会让人无法抗拒,但它有很多专业级录音的功能。然而,在本教程中,我不会详细讨论这个问题。 +> 如何在 Ubuntu 和其他 Linux 发行版中录制音频? -`GNOME Sound Recorder` 能与麦克风配合使用。还有一个叫做 `Audio recorder` 的工具,除了麦克风输入,你可以使用它来录制流媒体音乐(来自 Sptify、YouTube、互联网广播、Skype 和其他大多数来源)。 +如果你想通过计算机的麦克风录制语音,可以使用 GNOME 录音机Sound Recorder 或 Audacity。 + +使用 GNOME 录音机很简单,但它功能不足。Audacity 最初可能会让人无从入手,但它有很多专业级录音的功能。不过,在本教程中,我不打算详细讨论这个问题。 + +GNOME 录音机能与麦克风配合使用。还有一个叫做 Audio recorder 的工具,除了麦克风输入,你可以使用它来录制流媒体音乐(来自 Sptify、YouTube、互联网广播、Skype 和其他大多数来源)。 总而言之,我将向你展示以下步骤: -* 使用 `GNOME Sound Recorder` 录制声音 -* 使用 `Audio Recorder` 录制流音频 +* 使用 GNOME 录音机录制声音 +* 使用 Audio Recorder 录制流音频 -### 使用 `Sound Recorder` 从麦克风录制音频 +### 使用 GNOME 录音机从麦克风录制音频 -`GNOME` 桌面环境有很多有用的应用程序。Sound Recorder 就是其中之一。 +GNOME 桌面环境有很多有用的应用程序,录音机就是其中之一。 -你可以从 `Ubuntu` 软件中心安装 [Sound Recorder][1]。 +你可以从 Ubuntu 软件中心安装 [录音机][1]。 ![Sound Recorder can be installed from the Ubuntu Software Center][2] @@ -36,52 +39,47 @@ sudo apt install gnome-sound-recorder ``` -安装后,你可以在系统菜单中找到它并从那里开始。 +安装后,你可以在系统菜单中找到它,并从那里启动它。 ![GNOME Sound Recorder][3] -在开始使用它之前,应确保在系统设置中选择了正确的输入源 +在开始使用它之前,应确保在系统设置中选择了正确的输入源: ![Ensure that you have chosen correct input in system settings][4] -一打开 `Sound Recorder`,它将显示如下界面。 +打开录音机,它将显示如下界面: ![Hit the Record button to start audio recording][5] -点击录制按钮,它立即开始录制音频。录制时,你可以选择暂停、停止或取消录制。 +点击“录制Record”按钮,它立即开始录制音频。录制时,你可以选择暂停、停止或取消录制。 ![Options while recording audio][6] 你的录音将保存并可从应用程序界面本身获得。单击保存的录音以突出显示。 -你可以回放或删除录音。你可以通过单击保存/下载按钮选择将其保存到其他位置。你也可以使用编辑按钮重命名录音。 +你可以回放或删除该录音。你可以通过单击“保存/下载”按钮选择将其保存到其他位置。你也可以使用“编辑”按钮重命名该录音。 ![Saved recordings][7] 这很方便,对吧?你可以选择以 `MP3`、`FLAC` 和多种格式录制。 -#### 删除 GNOME Sound Recorder +#### 删除 GNOME 录音机 不喜欢它或发现它缺乏功能? -你可以从 `Ubuntu` 软件中心删除 `GNOME Sound Recorder` 或使用以下命令: +你可以从 Ubuntu 软件中心删除 GNOME 录音机,或使用以下命令: ``` sudo apt remove gnome-sound-recorder ``` -`GNOME Sound Recorder` 的应用受到限制。它只从麦克风录制,在某些情况下这不是你想要的。 +GNOME 录音机应用功能有限,它只从麦克风录制,在某些情况下这不是你想要的。 -想象一下你想录制 Skype 通话或在应用程序或网络浏览器中播放的内容?在这种情况下,漂亮的 `Audio Recorder` 会有所帮助。 +想象一下你想录制 Skype 通话或在应用程序或网络浏览器中播放的内容?在这种情况下,漂亮的 Audio Recorder 会有所帮助。 -### 使用 Audio Recorder 来录制流音频 +### 使用 Audio Recorder 来录制流媒体音频 -你可以观看以下视频以了解如何使用 `Audio Recorder`。它有点旧,但步骤是一样的。 - -![A Video from YouTube][8] - -[Subscribe to our YouTube channel for more Linux videos][9] -你可以使用 [官方 PPA][10] 在 Ubuntu 和 LinuxMint 中安装 `Audio Recorder`。在终端中依次使用以下命令(`Ctrl+Alt+T`): +你可以使用 [官方 PPA][10] 在 Ubuntu 和 LinuxMint 中安装 `Audio Recorder`。在终端中依次使用以下命令: ``` sudo apt-add-repository ppa:audio-recorder/ppa @@ -89,25 +87,25 @@ sudo apt update sudo apt install audio-recorder ``` -或者,你可以从[启动台][11]下载源代码。安装后,你可以从“活动概述”里启动应用程序: +或者,你可以从 [启动台][11] 下载源代码。安装后,你可以从“活动概述Activity Overview”里启动应用程序: ![Audio Recorder][12] #### 记录不同来源的各种声音 -`Audio Recorder` 记录计算机产生的各种声音。 +Audio Recorder 记录计算机产生的各种声音。 它记录通过系统声卡、麦克风、浏览器、网络摄像头等播放的音频。 -换句话说,即使你的系统打喷嚏,它也会记录(如果你想记录的话)。它允许你选择录制设备,如网络摄像头、麦克风、Skype等。 +换句话说,即使你的系统打喷嚏,它也会记录(如果你想记录的话)。它允许你选择录制设备,如网络摄像头、麦克风、Skype 等。 -要录制流媒体音乐,请选择适当的源。例如,如果你正在Rhythmbox 中播放流媒体广播,请选择 Rythbox。 +要录制流媒体音乐,请选择适当的源。例如,如果你正在 Rhythmbox 中播放流媒体广播,请选择 Rythmbox。 ![Audio-Recorder Audio Settings][13] #### 在你方便的时候录制 -`Audio Recorder` 还提供了设置计时器的选项。你可以在给定的时钟时间或预定义的间隔开始、停止或暂停录制。你还可以设置录制文件大小的限制。 +Audio Recorder 还提供了设置计时器的选项。你可以在给定的时钟时间或预定义的间隔开始、停止或暂停录制。你还可以设置录制文件大小的限制。 此外,你可以在没有音频(或声音很低)时暂停(和停止),并在声音恢复时继续。 @@ -123,17 +121,17 @@ sudo apt install audio-recorder 另一个宝藏。你可以将录制的文件保存为你喜爱的文件格式。支持的文件格式有 OGG 音频、Flac、MP3、SPX 和 WAV。我录音时更喜欢用 MP3 格式。 -**录制的文件存储在 `~/Audio`** 中,即主目录中的 `Audio` 文件夹中。 +录制的文件存储在 `~/Audio` 中,即主目录中的“音频”文件夹中。 ![Audio-recorder Audio Formats][16] -#### `Audio Recorder` 有多好? +#### Audio Recorder 有多好? -我在 Ubuntu 中使用 `Audio Recorder` [录制YouTube上播放的音乐][17]。我用 MP3 格式保存了一段 2 分钟的视频,占用了 934 KB 的空间。但我必须说,我没想到录制的音质会这么好。老实说,我无法将它与 YouTube 上的原始歌曲区分开来。 +我在 Ubuntu 中使用 Audio Recorder [录制 YouTube 上播放的音乐][17]。我用 MP3 格式保存了一段 2 分钟的视频,占用了 934 KB 的空间。但我必须说,我没想到录制的音质会这么好。老实说,我无法将它与 YouTube 上的原始歌曲区分开来。 -#### 删除 `Audio Recorder` +#### 删除 Audio Recorder -如果你不喜欢 `Audio Recorder`,可以使用以下命令将其删除: +如果你不喜欢 Audio Recorder,可以使用以下命令将其删除: ``` sudo apt remove audio-recorder @@ -147,9 +145,9 @@ sudo apt-add-repository -r ppa:audio-recorder/ppa ### 结论 -Linux 中可能还有其他几种用于音频录制的工具。像 `GNOME` 一样,其他桌面环境也可能有录音应用程序。我知道 `Deepin` 肯定有一个。 +Linux 中可能还有其他几种用于音频录制的工具。像 GNOME 一样,其他桌面环境也可能有录音应用程序。我知道深度操作系统肯定有一个。 -`GNOME Sound Recorder` 是一个不错的工具,用于从麦克风录制声音。对于录制各种来源的声音,`Audio Recorder` 是一个不错的选择。 +GNOME 录音机是一个不错的工具,用于从麦克风录制声音。对于录制各种来源的声音,Audio Recorder 是一个不错的选择。 我希望这篇文章能满足你的录音需求。如果你有什么建议,请告诉我。 @@ -159,8 +157,8 @@ via: https://itsfoss.com/record-streaming-audio/ 作者:[Abhishek Prakash][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -184,3 +182,4 @@ via: https://itsfoss.com/record-streaming-audio/ [16]: https://itsfoss.com/wp-content/uploads/2022/08/audio-recorder-audio-formats.png [17]: https://itsfoss.com/youtube-dl-audio-only/ [18]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/25/154829ol11lp47i8o6222c.jpg \ No newline at end of file From aee51df69a91fb9956f7f2d4c9c13b23cf340c58 Mon Sep 17 00:00:00 2001 From: toknow-gh Date: Mon, 26 Dec 2022 00:18:28 +0800 Subject: [PATCH 842/925] Translated tech\20210917 Open source game achievements.md --- .../20210917 Open source game achievements.md | 82 ------------------- .../20210917 Open source game achievements.md | 82 +++++++++++++++++++ 2 files changed, 82 insertions(+), 82 deletions(-) delete mode 100644 sources/tech/20210917 Open source game achievements.md create mode 100644 translated/tech/20210917 Open source game achievements.md diff --git a/sources/tech/20210917 Open source game achievements.md b/sources/tech/20210917 Open source game achievements.md deleted file mode 100644 index c8ae732235..0000000000 --- a/sources/tech/20210917 Open source game achievements.md +++ /dev/null @@ -1,82 +0,0 @@ -[#]: subject: "Open source game achievements" -[#]: via: "https://fedoramagazine.org/open-source-game-achievements/" -[#]: author: "Dennis Payne https://fedoramagazine.org/author/dulsi/" -[#]: collector: "lujun9972" -[#]: translator: "toknow-gh" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Open source game achievements -====== - -![][1] - -Photo by [Michał Parzuchowski][2] on [Unsplash][3] - -Learn how Gamerzilla brings an achievement system to open source games and enables all developers to implement achievements separate from the game platform. - -Some open source games rival the quality of commercial games. While it is hard to match the quality of triple-a games, open source games compete effectively against the indie games. But, gamer expectations change over time. Early games included a high score. Achievements expanded over time to promote replay. For example, you may have completed a level but you didn’t find all the secrets or collect all the coins. The Xbox 360 introduced the first multi-game online achievement system. Since that introduction, many game platforms added an achievement system. - -Open source games are largely left out of the achievement systems. You can publish an open source game on Steam, but it costs money and they focus on working with companies not the free software community. Additionally, this locks players into a non-free platform. - -Commercial game developers are not well served either, since some players enjoy achievements and refuse to purchase from other stores due to the inability to share their accomplishments. This lock-in gives the power to the platform holder. Each platform has a different system forcing the developer to implement support and testing multiple times. Smaller platform are likely to be skipped entirely. Furthermore, the platform holder has access to the achievement data on all companies using their system which could be used for competitive advantage. - -### Architecture of Gamerzilla - -[Gamerzilla][4] is an open source game achievement system which attempts to correct this situation. The design considered both open source and commercial games. You can run your own Gamerzilla server, use one provided by a game store, or even distributions, or other groups could run them. Where you buy the game doesn’t matter. The achievement data uploads to your Gamerzilla server. - -Game achievements require two things, a game, and a Gamerzilla server. As game collections grow, however, that setup has a disadvantage. Each game needs to have credentials to upload to the Gamerzilla server. Many gamers turn to game launchers due to their large number of games and ability to synchronize with one or more stores. By adding Gamerzilla support to the launcher, the individual games no longer need to know your credentials. Session results will relay from the game launcher to the Gamerzilla server. - -At one time, freegamedev.net provided the Hubzilla social networking system. We created an addon allowing us to jump start Gamerzilla development. Unfortunately server upgrades broke the service so freegamedev.net stopped offering it. - -For Gamerzilla servers, two implementations exist. Maintaining Hubzilla is a complex task, so we developed a standalone Gamerzilla service using *.*Net and React. The API used by games remains the same so it doesn’t matter which implementation you connect to. - -Game launchers development and support often lags. To facilitate adding support, we created libgamerzilla. The library handles all the interaction between the game launcher, games, and the Gamerzilla server. Right now only _GameHub_ has an implementation with Gamerzilla support and merging into the project is pending. On Fedora Linux, libgamerzilla-server package serves as a temporary solution. It does not launch games but listens for achievements and relays them to your server. - -Game support continues growing. As with game launchers, developers use libgamerzilla to handle the Gamerzilla integration. The library, written in C, is in use in a variety of languages like Python and nim. Games which already have an achievement system typically take only a few days to add support. For other games ,collecting all the information to award the achievements occupies the bulk of the implementation time. - -### Setting up a server - -The easiest server to setup is the Hubzilla addon. That, however, requires a working Hubzilla site which is not the simplest thing to setup. The new .Net and React server can be setup relatively easily on Fedora Linux, although there are a lot of steps. The [readme][5] details all the steps. The long set of steps is, in part, due to the lack of a built release. This means you need to build the .Net and the React code. Once built, React code serves up directly in Apache. A new service runs the .Net piece. Apache proxies all requests to the Gamerzilla API for the new service. - -With the setup steps done, Gamerzilla runs but there are no users. There needs to be an easy way to create an administrator and register new users. Unfortunately this piece does not exist yet. At this time, users must be entered directly using the sqlite3 command line tool. The instructions are in the [readme][5]. Users can be publicly visible or not. The approval flag allows new users to not use the system immediately but web registration still needs to be implemented The user piece is designed with replacement in mind. It would not be hard to replace backend/Service/UserService.cs to integrate with an existing site. Gaming web sites could use this to offer Gamerzilla achievements to their users. - -Currently the backend uses a sqlite database. No performance testing has been done. We expect that larger installations may need to modify the system to use a more robust database system. - -### Testing the system - -There is no game launcher easily available at the moment. If you install libgamerzilla-server, you will have the command _gamerzillaserver_ available from the command line. The first time you run it, you enter your url and login information. Subsequent executions will simply read the information from the configuration file. There is currently no way to correct a mistake except deleting the file at _.local/share/ga_merzillaserver/server.cfg and running _gamerzillaserver_ again. - -Most games have no built releases with Gamerzilla support. [Pinball Disc Room on itch.io][6] does have support built in the Linux version. The web version has no achievements There are only two achievements in the game, one for surviving for ten seconds and the other for unlocking and using the tunnel. With a little practice you can get an achievement. You need to check your Gamerzila server as the game provides no visual notification of the achievement. - -Currently no game packaged in Fedora Linux supports Gamerzilla. SuperTuxKart merged support but is still awaiting a new release. Seahorse adventures and Shippy 1984 added achievements but new releases are not packaged yet. Some games with support, we maintain independently as the developers ignore pull requests or other attempt to contact them. - -### Future work - -Gamerzilla needs more games. A variety of games currently support the system. An addition occurs nearly every month. If you have a game you like, ask the developer to support Gamerzilla. If you are making a game and need help adding support, please let us now. - -Server development proceeds at a slow pace and we hope to have a functional registration system soon. After that we may setup a permanent hosting site. Right now you can see our [test server][7]. Some people expressed concern with the .Net backend. The API is not very complex and could be rewritten in Python fairly easily. - -The largest unknown remains game launchers. GameHub wants a generic achievement interface. We could try to work with them to get that implemented. Adding support to the itch.io app could increase interest in the system. Another possibility is to do away with the game launcher entirely. Perhaps adding something like the gamerzillaserver to Gnome might be possible. You would then configure your url and login information on a settings page. Any game launched could then record achievements. - --------------------------------------------------------------------------------- - -via: https://fedoramagazine.org/open-source-game-achievements/ - -作者:[Dennis Payne][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://fedoramagazine.org/author/dulsi/ -[b]: https://github.com/lujun9972 -[1]: https://fedoramagazine.org/wp-content/uploads/2021/09/game_acheivements-816x345.jpg -[2]: https://unsplash.com/@mparzuchowski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[3]: https://unsplash.com/s/photos/jenga?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText -[4]: http://identicalsoftware.com/gamerzilla/ -[5]: https://github.com/dulsi/gamerzilla.net#readme -[6]: https://dulsi.itch.io/pinball-disc-room -[7]: http://108.49.106.217/ diff --git a/translated/tech/20210917 Open source game achievements.md b/translated/tech/20210917 Open source game achievements.md new file mode 100644 index 0000000000..efd95d3dba --- /dev/null +++ b/translated/tech/20210917 Open source game achievements.md @@ -0,0 +1,82 @@ +[#]: subject: "Open source game achievements" +[#]: via: "https://fedoramagazine.org/open-source-game-achievements/" +[#]: author: "Dennis Payne https://fedoramagazine.org/author/dulsi/" +[#]: collector: "lujun9972" +[#]: translator: "toknow-gh" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Gamerzilla:一个开源游戏成就系统 +====== + +![][1] + +Photo by [Michał Parzuchowski][2] on [Unsplash][3] + +了解开源游戏成就系统 Gamerzilla。它使游戏开发者能够独立于游戏平台实现成就系统。 + +一些开源游戏的质量已经媲美商业游戏。尽管还难以比肩 3A 大作,开源游戏在独立游戏中已颇具竞争力。但是游戏玩家预期是随时间变化的。早期的游戏只有高分成就。不断增加的成就种类促使玩家反复重玩游戏。比如你可能达到了满级,却还没有找到所有隐藏物品或没有完成全物品收集。Xbox 360 推出了首个在线多游戏成就系统。随后其它游戏平台也纷纷推出了自己的成就系统。 + +开源游戏在很大程度被游戏平台的成就系统排除在外。你可以在 Stream 上发布自己的游戏,但这需要付费。游戏平台主要与公司合作,而不是与自由软件社区合作。这也进一步把玩家锁定在了非自由的游戏平台上。 + +商业游戏开发商也没有得到太多好处。由于不能共享成就,一些享受成就的玩家拒绝从其他商店购买游戏。这种锁定效应增强了游戏平台的话语权。由于各个游戏平台使用不同的系统,开发者不得不针对它们分别进行适配和测试。较小的游戏平台则可能完全被忽略掉。并且平台方能够访问到所有使用该平台的公司的成就数据,这些数据可以被用来扩大竞争优势。 + +### Gamerzilla 的架构 + +[Gamerzilla][4] 是一个致力于改善这种现状的开源游戏成就系统。Gamerzilla 在设计上同时考虑了开源游戏和商业游戏。你可以运行自己的 Gamerzilla 服务器,使用游戏商店提供的服务器,甚至 Linux 发行版中的服务器。服务器也可以由其他团体来运行。在哪里购买游戏不再重要。成就数据都会上传到你的 Gamerzilla 服务器上。 + +一个基本的成就系统需要两个要素:游戏和 Gamerzilla 服务器。然而随着游戏数量增长,这种设计会暴露出其缺点。每个游戏都需要证书才能上传数据到服务器。由于拥有大量的游戏资源,并且能够在不同游戏商店之间同步数据,游戏启动器成为了众多玩家的选择。通过让启动器支持 Gamerzilla,游戏本身就不再需要证书了。游戏结果直接从启动器上传到 Gamerzilla 服务器。 + +freegamedev.net 曾提供了社交网络系统 Hubzilla。我们基于此开发了一个插件来进行 Gamerzilla 的开发。不幸的是 Hubzilla 的一次升级导致了 freegamedev.net 的服务故障,因此 freegamedev.net 决定不再提供它了。 + +目前 Gamerzilla 服务器有两种实现。维护 Hubzilla 是一项复杂的工作,所以我们用 .Net 和 React 开发了一个独立的 Gamerzilla 服务器。游戏调用的 API 是相同的,所以不用关心连接的服务器是哪种实现。 + +游戏启动器的开发和支持工作通常是滞后的。为了方便启动器增加对 Gamerzilla 的支持,我们开发了 libgamerzilla。这个库负责处理启动器、游戏和 Gamerzilla 服务器之间的交互。目前只有 _GameHub_ 实现了一个支持 Gamerzilla 的版本,并将在近期整合到项目中。Fedora 上的 libgamerzilla-server 是一个临时解决方案。它不启动游戏,而是监听成就并把成就上传到服务器。 + +支持 Gamerzilla 的游戏在不断增长。与游戏启动器一样,开发者使用 libgamerzilla 来完成 Gamerzilla 的集成工作。这个库由 C 语言实现,已经被 Python 和 nim 等多种编程语言使用。对于那些已经有成就系统的游戏,只需要花几天时间就可以完成对 Gamerzilla 的支持。其他游戏想要支持 Gamerzilla,大部分时间将会花在收集信息和授予成就上。 + +### 架设服务器 + +架设服务器最容易的方式是使用 Hubzilla 插件。但是运行 Hubzilla 站点却不是一件轻松的事情。在 Fedora 上架设基于 .Net 和 React 的服务器相对来说要容易一些,尽管这仍然需要许多步骤。详细步骤请参考 [readme][5]。需要这么多步骤的一部分原因是目前没有预编译好的发布版本。这意味着你需要自己安装 .Net,动手构建 React 源码部分。构建完成之后,React 代码会直接运行在 Apache 中。.Net 后端则运行在单独的服务上。Apache 作为代理负责把所有 Gamerzilla API 请求转发给后端服务。 + +按上面的步骤操作,Gamerzilla 已经运行起来了,但是现在还没有用户。当然应该有一个简单的方式来创建管理员和注册新用户。但是该功能还没有完成。目前只能通过 sqlite3 命令行来录入用户信息。具体步骤请参考 [readme][5]。用户可以是公开可见的,也可以是隐藏的。批准标记可以让新用户不立刻使用该系统,但是网络注册是必须的。在设计时我们已经考虑了用户相关模块的可替换性。通过替换 backend/Service/UserService.cs 就可以与其他站点进行集成。游戏网站也可以通过这种方式来为用户提供 Gamerzilla 成就系统。 + +目前 Gamerzilla 的后端使用的是 sqlite 数据库。我们还没有对它进行过性能测试。我们预计较大型的应用安装需要改进系统以使用更鲁棒的数据库。 + +### 测试 + +目前要找一个支持 Gamerzilla 的游戏启动器太难了。如果你安装了 libgamerzilla-server,就可以在命令行中运行 _gamerzillaserver_ 命令。首次运行该命令时需要输入 url 和 登录信息。以后再运行时会直接从配置文件读取这些信息。目前更正错误的唯一方法是删除 _.local/share/gamerzillaserver/server.cfg_ 再重新运行 _gamerzillaserver_ 命令。 + +大多数游戏还没有支持 Gamerzilla 的发行版。[itch.io 上的 Pinball Disc Room][6],它的 Lniux 版本支持 Gamerzilla,但是它的网页版是没有成就的。这款游戏只有两个成就:一个是存活 10 秒钟,另一个是解锁并使用隧道。只需要稍加练习,你就能获得一个成就。由于这款游戏没有可视化的成就提示消息,你需要查看 Gamerzila 服务器才能确认成就。 + +目前打包到 Fedora 中的游戏都还不支持 Gamerzila。SuperTuxKart 已经整合了对 Gamerzila 的支持,正在等待发布新版本。 Seahorse adventures 和 Shippy 1984 添加了成就,但是新发布版本还没有打包。还有一部分游戏由我们独立完成了对 Gamerzila 的支持,但我们的拉取请求pull request或其它联系尝试还没有得到开发者的回应。 + +### 后续工作 + +Gamerzilla 需要更多游戏的支持。目前已经有很多游戏支持 Gamerzilla,并且正在以大约每月一个的速度增长。如果你有喜欢的游戏,可以请求开发方支持 Gamerzilla。如果你是游戏开发者,并且在支持 Gamerzilla 上需要技术支持,请联系我们。 + +服务器的开发工作在缓步开展中,我们希望不久之后就会有一个可用的注册系统。在那之后我们可能会建立一个永久托管站点。目前你可以看到我们的[测试服务器][7]。一些人对于使用 .Net 作为后端表示担忧。我们的 API 并不复杂,可以很容易用 Python 重写。 + +最大的不确定性来自游戏启动器方面。GameHub 希望有一个通过用的成就接口。未来我们可能会在这方面与他们开展合作。增加对 itch.io 应用的支持可以提升系统的关注度。另一种方案是完全抛开启动器。也许可以将 gamerzillaserver 添加到 Gnome 中。然后你就可以在一个设置页面里配置 url 和登录信息。这样任何启动的游戏都可以记录成就了。 + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/open-source-game-achievements/ + +作者:[Dennis Payne][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/toknow-gh) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/dulsi/ +[b]: https://github.com/lujun9972 +[1]: https://fedoramagazine.org/wp-content/uploads/2021/09/game_acheivements-816x345.jpg +[2]: https://unsplash.com/@mparzuchowski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[3]: https://unsplash.com/s/photos/jenga?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[4]: http://identicalsoftware.com/gamerzilla/ +[5]: https://github.com/dulsi/gamerzilla.net#readme +[6]: https://dulsi.itch.io/pinball-disc-room +[7]: http://108.49.106.217/ From 58c8eb1bde9e50422f12e1c2aa02dd3c12dff9cb Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 26 Dec 2022 10:03:47 +0800 Subject: [PATCH 843/925] translated --- ...atform Music Player With Essential Features.md | 107 ------------------ ...atform Music Player With Essential Features.md | 105 +++++++++++++++++ 2 files changed, 105 insertions(+), 107 deletions(-) delete mode 100644 sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md create mode 100644 translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md diff --git a/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md deleted file mode 100644 index ddb9a321c0..0000000000 --- a/sources/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md +++ /dev/null @@ -1,107 +0,0 @@ -[#]: subject: "Harmonoid: A Beautiful Cross-Platform Music Player With Essential Features" -[#]: via: "https://itsfoss.com/harmonoid/" -[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Harmonoid: A Beautiful Cross-Platform Music Player With Essential Features -====== - -Fortunately, there’s no shortage of [good open-source music players for Linux][1]. We have covered a variety of options in the past. - -Here, I highlight a music player that is free to use, open-source, and available for multiple platforms, including **Linux, Windows, and Android**. - -### Harmonoid: Intuitive User Experience With Material Design - -![harmonoid player][2] - -Harmonoid is written in Dart programming language. It utilizes [libmpv][3] and [mpv][4] for its media playback capabilities on desktop platforms. - -It provides an excellent user interface to work with. And does not use electron.js. So, if you hate Electron, this is something you can try. - -Usually, you see apps feature material design UI on Android. If you did not know, Material is Google’s open-source design system. - -![harmonoid player info][5] - -Not a lot of creators use it for desktop applications. For a change, Harmonoid features a material design user experience that can be snappy and intuitive simultaneously. - -This lets Harmonoid present a unique user experience to Linux users. The animations feel smooth and easy to navigate and offer plenty of valuable features to help manage your music library. - -![harmonoid url][6] - -If you want a music player with a good UI and feature set, I recommend trying Harmonoid. - -**Recommended Read**: [Best Music Players for Linux Users][1] - -### Features of Harmonoid - -![harmonoid player options][7] - -[Harmonoid][8] may look like a simple music player, but it comes packed with some of the most valuable features. They include: - -- **Sing along feature where it finds lyrics, or you can manually add them** -- **Edit song details, including artist, year, genre, track number, album, and title** -- Easy sorting and ordering of your music list -- A quick search feature to find what you are looking for -- Caches metadata to offer a fast experience every time you load it -- Good integration support with Windows and Linux -- Discord rich presence support to show your music along with artwork and play buttons -- Adjust the speed, volume, and pitch of the music -- Raw metadata reader to read tags of any file or song in your library -- Playback is powered by MPV -- .LRC file compatibility -- **Online URL (YouTube) and radio stream supported** -- Cross-platform -- Multiple artist support -- Dark/light mode - -In addition to these, several subtle abilities go a long way, like **gapless playback and context menu integration, and it is a lightweight application** in general. - -Harmonoid should fit perfectly for users who want to play music or want to organize their collection simultaneously. I would say that it offers the best of both worlds. - -![harmonoid settings][9] - -### Install Harmonoid on Linux - -You can grab the **.deb/.rpm** package from its [download page][10] and install it on Ubuntu-based distros or Fedora. - -Additionally, you need to install mpv and libmpv using the following command (for Ubuntu): - -``` -sudo apt install mpv lipmpv-dev -``` - -Ensuring to install these packages will let you handle all kinds of files for playback with Harmonoid. - -You can also find Harmonoid on [AUR][11] for Arch-based distributions. To explore more about the player, head to its [GitHub page][12] and the [official website][8]. - -_Have you tried Harmonoid to play and organize music on your Linux system? What’s your favorite music player for Linux? Let me know your thoughts in the comments down below._ - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/harmonoid/ - -作者:[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/best-music-players-linux/ -[2]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player.png -[3]: https://github.com/mpv-player/mpv/tree/master/libmpv -[4]: https://mpv.io -[5]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-info.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-url.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-options.png -[8]: https://harmonoid.com -[9]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-settings.png -[10]: https://harmonoid.com/downloads -[11]: https://aur.archlinux.org/packages/harmonoid-bin -[12]: https://github.com/harmonoid/harmonoid diff --git a/translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md new file mode 100644 index 0000000000..4c071ba0e5 --- /dev/null +++ b/translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md @@ -0,0 +1,105 @@ +[#]: subject: "Harmonoid: A Beautiful Cross-Platform Music Player With Essential Features" +[#]: via: "https://itsfoss.com/harmonoid/" +[#]: author: "Ankush Das https://itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Harmonoid:具有基本功能的漂亮跨平台音乐播放器 +====== + +幸运的是,[Linux 的优秀开源音乐播放器][1]并不缺乏。过去我们已经介绍了多种选择。 + +在这里,我重点介绍一款免费使用、开源且可用于多种平台(包括 **Linux、Windows 和 Android**)的音乐播放器。 + +### Harmonoid:Material Design 的直观用户体验 + +![harmonoid player][2] + +Harmonoid 是用 Dart 语言编写的。它利用 [libmpv][3] 和 [mpv][4] 在桌面平台上实现媒体播放功能。 + +它提供了一个优秀的用户界面。并且不使用 electron.js。所以,如果你讨厌 Electron,你可以试试这个。 + +通常,你会在 Android 上看到应用具有 Material Design UI。如果你不知道,Material 是 Google 的开源设计系统。 + +![harmonoid player info][5] + +没有多少创作者将它用于桌面应用。作为一种改变,Harmonoid 具有 Material Design 用户体验,可以同时做到快速和直观。 + +这让 Harmonoid 为 Linux 用户呈现了独特的用户体验。动画感觉流畅且易于导航,并提供大量有价值的功能来帮助管理你的音乐库。 + +![harmonoid url][6] + +如果你想要一个有良好 UI 和功能集的音乐播放器,我建议您尝试 Harmonoid。 + +### Harmonoid 的特点 + +![harmonoid player options][7] + +[Harmonoid][8] 可能看起来像一个简单的音乐播放器,但它包含了一些最有价值的功能。他们包括: + +- **在找到歌词的地方跟唱,或者你可以手动添加它们** +- **编辑歌曲详细信息,包括艺术家、年份、流派、曲目编号、专辑和标题** +- 轻松分类和排序你的音乐列表 +- 一个快速搜索功能来找到你要找的东西 +- 缓存元数据以在你每次加载时提供快速体验 +- 与 Windows 和 Linux 的良好集成支持 +- 支持Discord丰富的存在,以显示你的音乐以及艺术品和播放按钮 +- 调整音乐的速度、音量和音高 +- 原始元数据读取器可读取你库中任何文件或歌曲的标签 +- 播放由 MPV 提供 +- .LRC 文件兼容性 +- **支持在线 URL (YouTube) 和广播流** +- 跨平台 +- 多位艺术家支持 +- 深色/浅色模式 + +除了这些之外,还有一些小功能可以发挥很大的作用,例如**无缝播放和上下文菜单集成,并且它通常是一个轻量级应用**。 + +Harmonoid 应该非常适合想要同时播放音乐或整理收藏的用户。我会说它提供了两全其美的方法。 + +![harmonoid settings][9] + +### 在 Linux 上安装 Harmonoid + +你可以从其[下载页面][10]获取 **.deb/.rpm** 包并将其安装在基于 Ubuntu 的发行版或 Fedora 上。 + +此外,你需要使用以下命令安装 mpv 和 libmpv(对于 Ubuntu): + +``` +sudo apt install mpv lipmpv-dev +``` + +确保安装这些软件包可以让你用 Harmonoid 处理所有类型的文件进行播放。 + +你还可以在 [AUR][11] 上找到基于 Arch 的发行版的 Harmonoid。要探索有关该播放器的更多信息,请访问其 [GitHub 页面][12]和[官方网站][8]。 + +_你是否尝试过 Harmonoid 在你的 Linux 系统上播放和整理音乐? 你最喜欢的 Linux 音乐播放器是什么? 在下面的评论中让我知道你的想法。_ + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/harmonoid/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/best-music-players-linux/ +[2]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player.png +[3]: https://github.com/mpv-player/mpv/tree/master/libmpv +[4]: https://mpv.io +[5]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-info.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-url.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-options.png +[8]: https://harmonoid.com +[9]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-settings.png +[10]: https://harmonoid.com/downloads +[11]: https://aur.archlinux.org/packages/harmonoid-bin +[12]: https://github.com/harmonoid/harmonoid \ No newline at end of file From 27a10dfb246420aff85c8d2606a5457f39017f43 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 26 Dec 2022 10:16:48 +0800 Subject: [PATCH 844/925] translating --- ...⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md b/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md index 3cdd80fb63..d4a70a8ab2 100644 --- a/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md +++ b/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/12/linux-file-manager-qtfm" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From cd3d04d0c0a24e620a5004bb3a28bef8e3e61ee4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 26 Dec 2022 16:21:58 +0800 Subject: [PATCH 845/925] ALL @wxy https://linux.cn/article-15383-1.html --- ...s with a Ton of Visual Changes and Improvements.md | 156 ++++++++++++++++++ ...s with a Ton of Visual Changes and Improvements.md | 152 ----------------- 2 files changed, 156 insertions(+), 152 deletions(-) create mode 100644 published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md delete mode 100644 sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md diff --git a/published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md b/published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md new file mode 100644 index 0000000000..c9f1a84de3 --- /dev/null +++ b/published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md @@ -0,0 +1,156 @@ +[#]: subject: "Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements" +[#]: via: "https://news.itsfoss.com/linux-mint-21-1-release/" +[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15383-1.html" + +Linux Mint 21.1 发布:大量的视觉变化和改进 +====== + +> Linux Mint 21.1 带有一个新的默认主题和其他一些改进。 + +![][1] + +Linux Mint 21 已经收到了它的第一个更新,即 **Linux Mint 21.1 “Vera”**。 + +如果你想了解 Linux Mint 21 “Venessa”,我们的官方点评应该能让你尽快了解: + +> **[Linux Mint 21:最好的发行版变得更好了](https://itsfoss.com/linux-mint-21-review/)** + +这个版本与通常的小版本相似。它包括了对外观、感觉和功能的各种变化,这些变化可能看起来很细微,但会影响用户体验。 + +让我们来看看主要的亮点。我们关注的是 Linux Mint 的 Cinnamon 版。 + +### Linux Mint 21.1 Vera:有什么新内容? + +基于 **Ubuntu 22.04 LTS**,该版本的底层将继续使用 **Linux 5.15 LTS** 内核。 + +![][2] + +#### 👀 焕然一新的用户界面 + +当你第一次启动进入桌面时,你应该很快注意到光标的新外观。它默认采用了新的 Bibata 主题。 + +![][3] + +光标、图标主题列表增加了一些新的主题,如 Yaru、Breeze 和 GoogleDot,以及传统的 DMZ 主题。 + +![][4] + +除了传统的 Mint-X、Mint-Y 和 Mint-Legacy 主题外,用户还可以找到一组独特的应用图标主题,这包括 Papirus、Breeze、Numix 和 Yaru。 + +![][5] + +另一件你可能会注意到的有趣的事情,默认的强调色不再是传统的绿色,这是因为 **桌面主题现在换成了 Aqua**。强调色库提供了更多鲜艳的颜色,使桌面看起来更干净、更有吸引力。 + +对于那些希望恢复传统外观的人,你可以在主题中选择 “Mint-Y-Legacy”。 + +此外,以前在桌面上可见的 **电脑、主文件夹、网络和垃圾箱图标** 被默认删除,它们可以在文件管理器中访问。主文件夹的图标则显示在面板上。如果你想恢复以前的方式,你可以通过进入 系统首选项System Preferences 来恢复。 + +#### ✨ 增强的驱动器管理器 + +由于驱动器管理器在用户模式下运行,所以当你启动它时不再要求输入密码。 + +![][6] + +有专门的屏幕来显示离线连接和检测到 现场 USBLive USB 时的情况。你也应该发现挂载现场 USB 比以前更顺畅了。 + +![][7] + +对它也进行了一些修复。 + +Packagekit 现在可以清除已删除的驱动程序和软件包。这解决了一个众所周知的问题,即用户想要在不同版本的英伟达驱动之间进行切换。 + +此外,Debconf 也进行了修补,以解决启用安全启动时英伟达驱动程序的一个问题。 + +#### 👨‍💻 Flatpak 集成和软件管理器的改进 + +很高兴看到 软件管理器Software Manager更新管理器Update Manager 都支持 Flatpak 了。 + +安装和更新 Flatpak 应用程序的过程没有什么不同,应该是很容易的。 + +![][8] + +例如,软件管理器已被更新,以帮助区分用户正在查看的应用程序是哪个版本:Flatpak 版本还是系统版本。还有一个下拉框,用于在一个应用程序的系统版本和 Flatpak 版本之间切换。 + +卸载 Flatpak 应用程序和快捷方式不再需要密码了。在进行多项操作时也是如此。 + +#### 🔨 对 XApp 的改进 + +用户现在可以配置登录屏幕的光标大小和主题。以前,这些设置是全局设置。 + +另一方面,Warpinator 获得了更好的安全性,而 WebApp 管理器WebApp Manager 在编辑 WebApp 时具有额外的设置,包括私人浏览和导航栏。 + +#### ⭐ 新的 ISO 验证工具 + +在大多数情况下,人们想验证一个下载的 ISO 镜像的完整性。 + +因此,更简单方便的方法是,你可以通过右击 ISO 镜像,选择 “验证Verify”来完成。这就打开了 ISO 验证ISO Verification工具,你可以在那里填写必要的细节来进行验证。 + +![][9] + +值得注意的是,对于 Linux Mint 和 Ubuntu 的 ISO 镜像,SHA256sum 和 GPG 文件的 URL 是自动填写的。 + +#### 🎨 Cinnamon 5.6 桌面 + +Linux Mint 的旗舰桌面环境也有一些微小的视觉更新和变化。 + +在桌面的面板上,你会注意到主菜单和应用程序之间有一个细细的分隔线。像 Windows 一样,在最右边的角落里增加了一个新的角栏小程序,可配置,并支持创新的操作。 + +![][10] + +说到视觉效果,默认的文件管理器 Nemo 已经经历了一些变化: + +- 当选择一个或多个项目时,只有名称保持高亮,而图标则没有。 +- 日期现在以等宽字体显示。 +- 路径栏也得到了一些改进。 + +你可以毫不费力地访问 显示设置Display Settings,因为它的快捷方式已被添加到桌面的上下文菜单中。 + +### 🛠️ 其他改进措施 + +其他两个桌面环境已经分别更新到 **MATE 1.26** 和 **XFCE 4.16**。 + +美术作品集也得到了扩展,包括几张很酷的壁纸。 + +虽然我们只介绍了这个版本的主要亮点,但你可以通过 [官方更新日志][11] 了解更多细节。 + +### 获得 Linux Mint 21.1 + +现有的 Mint 用户应该得到通知,可以通过更新管理器轻松升级到 Mint 21.1。 + +那些想要重新安装 Linux Mint 的人可以从 [官方下载页面][12] 获得 ISO。 + +> **[Linux Mint 21.1][12]** + +如果你的网络较慢或不稳定,你也可以 [使用 Torrent 链接][13]。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-mint-21-1-release/ + +作者:[Rishabh Moharir][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/rishabh/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-mint-21-1-release.png +[2]: https://news.itsfoss.com/content/images/2022/12/Home.png +[3]: https://news.itsfoss.com/content/images/2022/12/bibata.png +[4]: https://news.itsfoss.com/content/images/2022/12/Themes.png +[5]: https://news.itsfoss.com/content/images/2022/12/linux-mint-new-look.png +[6]: https://news.itsfoss.com/content/images/2022/12/Drivemanager1.png +[7]: https://news.itsfoss.com/content/images/2022/12/DriverManager2.png +[8]: https://news.itsfoss.com/content/images/2022/12/Software_Manager.png +[9]: https://news.itsfoss.com/content/images/2022/12/ISOVerify.png +[10]: https://news.itsfoss.com/content/images/2022/12/Folder.png +[11]: https://www.linuxmint.com/rel_vera_cinnamon_whatsnew.php +[12]: https://www.linuxmint.com/download.php +[13]: https://linuxmint.com/torrents/ diff --git a/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md b/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md deleted file mode 100644 index 965f20f5cb..0000000000 --- a/sources/news/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md +++ /dev/null @@ -1,152 +0,0 @@ -[#]: subject: "Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements" -[#]: via: "https://news.itsfoss.com/linux-mint-21-1-release/" -[#]: author: "Rishabh Moharir https://news.itsfoss.com/author/rishabh/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements -====== - -Linux Mint 21.1 comes with a new default theme and several other refinements. - -![Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements][1] - -Linux Mint 21 has received its first update as **Linux Mint 21.1 "Vera."** If you want to learn about Linux Mint 21 "Venessa," our official review should get you up to speed: - -This release is similar to the usual point releases. However, it includes various changes to the look, feel, and features that could look subtle but will affect the user experience. - -Let's take a look at the major highlights. We focus on Linux Mint's Cinnamon edition. - -### Linux Mint 21.1 Vera: What's New? - -The release will continue to use the **Linux 5.15 LTS** kernel under the hood, based on **Ubuntu 22.04 LTS**. - -![][2] - -#### 👀 A Refreshed User Interface - -When you first boot into the desktop, you should quickly notice the new look of the cursor. It features the new Bibata theme by default. - -![linux mint's new cursor icon][3] - -The cursor icon theme inventory has new options like Yaru, Breeze, and GoogleDot along with the traditional DMZ theme. - -![][4] - -Users will also find a unique set of app icon themes to choose from in addition to the traditional Mint-X, Mint-Y, and Mint-Legacy themes. This includes Papirus, Breeze, Numix, and Yaru. - -![linux mint aqua theme][5] - -Another interesting thing you may notice is the default accent color isn't the traditional green anymore, and that's because the **desktop theme is now switched to Aqua**. The accent color library offers more vibrant colors and gives the desktop a clean and attractive look. - -For those who want the legacy look back, there exists a "**Mint-Y-Legacy**" option in the theme options. - -Moreover, the **Computer, Home, Networks, and Trash icons** previously visible on the desktop are removed by default and can be accessed in the file manager. The Home folder icon is displayed on the panel instead. If you want to return the old arrangement, you can do so by heading to the **system****preferences**. - -#### ✨ Enhanced Drive Manager - -The Drive Manager no longer requests a password when you launch it since it runs in user mode. - -![linux mint driver manager offline][6] - -There are dedicated screens for offline connectivity and when a live USB is detected. You should also find the mounting of the live USB smoother than before. - -![usb screen drive manager linux mint][7] - -There have been a couple of fixes to it as well. - -Packagekit now purges removed drivers and packages. This solves a commonly known issue where users want to switch between different versions of the NVIDIA driver. - -Additionally, Debconf has been patched to address an issue for NVIDIA drivers when Secure Boot was enabled. - -#### 👨‍💻 Flatpak Integration and Software Manager Improvements - -It is nice to see that both the **Software Manager** and **Update Manager** have received support for Flatpaks. - -The procedure for installing and updating Flatpak applications is not very different and should be a breeze. - -![][8] - -For instance, the Software Manager has been updated to help differentiate which version of an app, Flatpak, or system the user is looking at. There's also a drop-down box for switching between the system and Flatpak versions of an app. - -Uninstalling Flatpak applications and shortcuts doesn't require a password anymore. The same applies when multiple operations are being performed. - -#### 🔨 Improvements for XApps - -Users can now configure the login screen's cursor size and theme. Previously, these settings were set globally. - -On the other hand, Warpinator gets better security while the WebApp Manager features additional settings when editing Web Apps, including private browsing and a navigation bar. - -#### ⭐ New ISO Verification Tool - -In most cases, one wants to verify the integrity of a downloaded ISO image. - -Thus to make things easier, you can do this by right-clicking on the ISO image and selecting "**Verify**." This opens up the ISO Verification tool, where you can fill in the necessary details for the verification process. - -![][9] - -A cool thing to note is that the URLs to the SHA256sum and GPG files are filled in automatically for Linux Mint and Ubuntu ISO images. - -#### 🎨 Cinnamon 5.6 Desktop - -Linux Mint's flagship desktop environment has received minor visual updates and changes. - -On the desktop's panel, you will notice a thin separator between the home menu and the applications. Like Windows, a new corner bar applet has been added to the right-most corner, configurable, and supports innovative actions. - -![][10] - -Coming to the visuals, Nemo - the default file manager - has undergone a few changes. - -- When selecting one or more items, only the name remains highlighted, while the icon doesn't. -- The dates are now displayed in monospace fonts. -- The path bar has also received some improvements. - -You can effortlessly access the Display Settings as its shortcut has been added to the desktop's context menu. - -### 🛠️ Other Improvements - -The other two desktop environments have been updated to **MATE 1.26 and XFCE 4.16**, respectively. - -The artwork collection has also been expanded to include several cool wallpapers. - -While we've only covered key highlights of this release, you can go through the [official changelog][11] for more details. - -### Getting Linux Mint 21.1 - -Existing Mint users should be notified and can easily upgrade to Mint 21.1 through the update manager. - -Those looking for a fresh installation of Linux Mint can get the ISO from the [official download page][12]. - -[Linux Mint 21.1][12] - -You can also [get torrent links][13] if you have slow or inconsistent internet. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/linux-mint-21-1-release/ - -作者:[Rishabh Moharir][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/rishabh/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/linux-mint-21-1-release.png -[2]: https://news.itsfoss.com/content/images/2022/12/Home.png -[3]: https://news.itsfoss.com/content/images/2022/12/bibata.png -[4]: https://news.itsfoss.com/content/images/2022/12/Themes.png -[5]: https://news.itsfoss.com/content/images/2022/12/linux-mint-new-look.png -[6]: https://news.itsfoss.com/content/images/2022/12/Drivemanager1.png -[7]: https://news.itsfoss.com/content/images/2022/12/DriverManager2.png -[8]: https://news.itsfoss.com/content/images/2022/12/Software_Manager.png -[9]: https://news.itsfoss.com/content/images/2022/12/ISOVerify.png -[10]: https://news.itsfoss.com/content/images/2022/12/Folder.png -[11]: https://www.linuxmint.com/rel_vera_cinnamon_whatsnew.php -[12]: https://www.linuxmint.com/download.php -[13]: https://linuxmint.com/torrents/ From 7c88702098a2598d68e7449205d39d1ab2d753e6 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Mon, 26 Dec 2022 18:16:42 +0800 Subject: [PATCH 846/925] translating --- sources/tech/20220729 Learn Rust by debugging Rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220729 Learn Rust by debugging Rust.md b/sources/tech/20220729 Learn Rust by debugging Rust.md index 0abe7c217e..13c9c6f79f 100644 --- a/sources/tech/20220729 Learn Rust by debugging Rust.md +++ b/sources/tech/20220729 Learn Rust by debugging Rust.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/7/learn-rust-rustlings" [#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "yzuowei" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 2fb3cb6700bfd722e6dd7e7319ba358ecb5acdb0 Mon Sep 17 00:00:00 2001 From: toknow-gh Date: Mon, 26 Dec 2022 20:16:57 +0800 Subject: [PATCH 847/925] Translating talk\20200406 How to Use a Differential Analyzer (to Murder People).md --- ...406 How to Use a Differential Analyzer (to Murder People).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20200406 How to Use a Differential Analyzer (to Murder People).md b/sources/talk/20200406 How to Use a Differential Analyzer (to Murder People).md index 440d3fa159..33c7b47d73 100644 --- a/sources/talk/20200406 How to Use a Differential Analyzer (to Murder People).md +++ b/sources/talk/20200406 How to Use a Differential Analyzer (to Murder People).md @@ -2,7 +2,7 @@ [#]: via: "https://twobithistory.org/2020/04/06/differential-analyzer.html" [#]: author: "Two-Bit History https://twobithistory.org" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "toknow-gh" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From fab40efe8cc5df7e5d934350cc9779b1750aa04f Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 27 Dec 2022 09:43:48 +0800 Subject: [PATCH 848/925] translated --- ...Try this Python-based file manager on Linux.md | 108 ------------------ ...Try this Python-based file manager on Linux.md | 108 ++++++++++++++++++ 2 files changed, 108 insertions(+), 108 deletions(-) delete mode 100644 sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md create mode 100644 translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md diff --git a/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md deleted file mode 100644 index 6a349bd658..0000000000 --- a/sources/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md +++ /dev/null @@ -1,108 +0,0 @@ -[#]: subject: "Try this Python-based file manager on Linux" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Try this Python-based file manager on Linux -====== - -Dragonfly Navigator is a general-purpose file manager written in Python and Qt. It's easy to install, easy to use, and a great example of what Python can do. - -Python is a popular language for several reasons, but I think one of its primary strengths is that it's equally useful to beginner-level programmers and to experienced coders. There's something exciting about a language you can take from [drawing basic geometric shapes][1] to [scraping the web][2] to programming a zombie apocalypse [video game][3], or writing desktop applications you can use every day. And that's what Dragonfly Navigator is: a desktop utility that everyone can use. - -### Installing Dragonfly Navigator - -To install Dragonfly Navigator, first download the source code from its [Git repository][4]. If you're on Debian Linux or similar, download the `.deb` file. If you're using Fedora, CentOS, Mageia, OpenMandriva, or similar, then download the `.tar.gz` file. - -Dragonfly Navigator has a few dependencies. Because you aren't installing it through your package manager, it's up to you to resolve those. There are just two, so use your package manager (`dnf` or `apt`) to find and install them: - -- PyQt5, also called `python-qt5` -- Python PIL, also called `pillow` - -### Launching Dragonfly Navigator - -To launch Dragonfly Navigator, either install the `.deb` file (on Debian-based systems) or unarchive the `.tar.gz` file: - -``` -$ tar xvf dragonfly*gz -``` - -On Debian-based systems, Dragonfly Navigator appears in your application menu. ON other systems, you must launch it manually unless you [manually install it][5]. - -For now, I'm not installing it, so I launch it manually: - -``` -$ cd dragonfly -$ ./dragonfly -``` - -![Dragonfly Navigator is a two-panel file manager][6] - -### Dual pane - -Dragonfly Navigator is a two-panel file manager, meaning that it's always showing you two directories. At launch, both directories happen to be your home directory. You can browse through files and folders in either panel. They function exactly the same, and it only matters which panel you're "in" when you start copying or moving files. - -### Open a directory - -To open a directory, double-click it. By default, the directory opens in that same pane. If you want to utilize the two-panel layout, though, hold down the **Ctrl** key as you double-click to display its contents in the other panel. - -### Open a file - -To open a file, double-click or right-click on it. - -Yes, you can right-click a file to open it. That takes some getting used to, if you're used to a right-click bringing up a contextual menu. There is no contextual menu in Dragonfly Navigator, though, and you might be surprised at how much time you feel like you're saving yourself when you reduce the very common action of opening a file to just one click. It may seem silly now, but trust me you'll grow to cherish it. - -### Quick preview - -Some files are available for a quick preview so you don't have to open them in any particular application. To preview a file, hover your mouse over it and press the **Alt** key on your keyboard. A preview appears in the opposite panel. - -![The second panel of Dragonfly Navigator can be used as a preview pane.][7] - -### Copying and moving files - -To copy or move a file from one directory to another (or a directory to a directory), there are a few steps. - -- In one panel, navigate to the destination directory. This is the location you want to copy a file _to_. -- In the other panel, select the file you want to copy. -- Click the **Copy** button in the middle strip of Dragonfly Navigator. - -For moving a file, follow the same steps but click the **Move** button instead. - -If you're not used to a dual-panel file manager, this feels unfamiliar at first. But if you think about it, there are several steps required to copy a file in your usual file manager (find the file, open another window, drag-and-drop, and so on.) After you do it a few times, it becomes second nature. - -### Selecting files - -Normally, you click a file or folder to make it your active selection. That's probably no different than your current file manager, or at least to some file manager you've used in the past. - -To select multiple items in a range, click one file, and then hold the **Shift** key and click another file. All items between the two files you clicked are also selected. - -To select multiple arbitrary files, hold the **Ctrl** key and click on the files you want selected. - -### The power of Qt and Python - -The Qt toolkit is a powerful programming utility, and Python is capable of creating great applications with it. I've only covered the basics of Dragonfly Navigator in this article, so download it, read the docs, click around, explore it, and maybe you'll have found a fun new file manager. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/17/10/python-101#turtle -[2]: https://opensource.com/article/20/5/web-scraping-python -[3]: https://opensource.com/downloads/python-gaming-ebook -[4]: https://github.com/suncore/dflynav/releases -[5]: https://opensource.com/article/18/1/how-install-apps-linux -[6]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator.webp -[7]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator-preview.webp diff --git a/translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md new file mode 100644 index 0000000000..1751281710 --- /dev/null +++ b/translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md @@ -0,0 +1,108 @@ +[#]: subject: "Try this Python-based file manager on Linux" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +在 Linux 上试试这个基于 Python 的文件管理器 +====== + +Dragonfly Navigator 是用 Python 和 Qt 编写的通用文件管理器。它易于安装和使用,并且是 Python 可以做什么的一个很好的例子。 + +Python 是一种流行的语言有几个原因,但我认为它的主要优势之一是它对初级程序员和有经验的编码人员同样有用。你可以从一门语言中获得一些令人兴奋的东西,从[绘制基本几何形状][1]到[抓取网页][2]再到编写僵尸启示录[游戏][3],或者编写你每天都可以使用的桌面应用。这就是 Dragonfly Navigator:一个人人都可以使用的桌面程序。 + +### 安装 Dragonfly Navigator + +要安装 Dragonfly Navigator,首先从 [Git 仓库][4]下载源代码。如果你使用的是 Debian Linux 或类似软件,请下载 `.deb` 文件。如果你使用的是 Fedora、CentOS、Mageia、OpenMandriva 或类似软件,请下载 `.tar.gz` 文件。 + +Dragonfly Navigator 只有很少的依赖。因为你不是通过包管理器安装它,所以由你来解决这些问题。它只有两个依赖,所以使用你的包管理器(`dnf` 或 `apt`)找到并安装它们: + +- PyQt5,也称为 `python-qt5` +- Python PIL,也称为 `pillow` + +### 启动 Dragonfly Navigator + +要启动 Dragonfly Navigator,请安装 `.deb` 文件(在基于 Debian 的系统上)或解压缩 `.tar.gz` 文件: + +``` +$ tar xvf dragonfly*gz +``` + +在基于 Debian 的系统上,Dragonfly Navigator 出现在你的应用菜单中。在其他系统上,你必须手动启动它,除非你[手动安装][5]。 + +现在,我没有安装它,所以我手动启动它: + +``` +$ cd dragonfly +$ ./dragonfly +``` + +![Dragonfly Navigator is a two-panel file manager][6] + +### 双面板 + +Dragonfly Navigator 是一个双面板文件管理器,这意味着它总是向你显示两个目录。在启动时,这两个目录恰好是你的主目录。你可以在任一面板中浏览文件和文件夹。它们的功能完全相同,只有当你开始复制或移动文件时你“位于”哪个面板中才重要。 + +### 打开目录 + +要打开目录,请双击它。默认情况下,该目录在同一面板中打开。但是,如果你想使用双面板布局,请在双击时按住 **Ctrl** 键以在另一个面板中显示其内容。 + +### 打开文件 + +要打开文件,请双击或右键单击它。 + +是的,你可以右键单击文件将其打开。如果你习惯于右键单击调出上下文菜单,那么这需要一些时间来适应。不过,Dragonfly Navigator 中没有上下文菜单,你可能会惊讶地发现,当你将打开文件这一非常常见的操作减少到只需单击一次时,你会觉得自己节省了多少时间。现在可能看起来很傻,但相信我,你会逐渐珍惜它的。 + +### 快速预览 + +某些文件可用于快速预览,因此你不必在任何特定应用中打开它们。要预览文件,请将鼠标悬停在文件上,然后按键盘上的 **Alt** 键。预览出现在对面的面板中。 + +![The second panel of Dragonfly Navigator can be used as a preview pane.][7] + +### 复制和移动文件 + +要将文件从一个目录复制或移动到另一个目录(或从一个目录到另一个目录),有几个步骤。 + +- 在一个面板中,进入目标目录。这是你要将文件复制到的位置。 +- 在另一个面板中,选择要复制的文件。 +- 单击 Dragonfly Navigator 中间条中的**复制**按钮。 + +要移动文件,请按照相同的步骤操作,但要单击**移动**按钮。 + +如果你不习惯双面板文件管理器,一开始会觉得很陌生。但是你仔细想想,在你常用的文件管理器中复制一个文件需要几个步骤(找到文件,打开另一个窗口,拖放等等)。做几次之后,它 成为第二天性。 + +### 选择文件 + +通常,你单击一个文件或文件夹以使其成为你的活动选择。这可能与你当前的文件管理器没有什么不同,或者至少与你过去使用过的某些文件管理器没有什么不同。 + +要选择一个范围内的多个项目,请单击一个文件,然后按住 **Shift** 键并单击另一个文件。你单击的两个文件之间的所有项目也被选中。 + +要选择多个任意文件,请按住 **Ctrl** 键并单击要选择的文件。 + +### Qt 和 Python 的力量 + +Qt 工具包是一个强大的编程程序,Python 能够用它创建出色的应用。我在本文中只介绍了 Dragonfly Navigator 的基础知识,所以请下载它,阅读文档,点击并探索它,也许你会发现一个有趣的新文件管理器。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/17/10/python-101#turtle +[2]: https://opensource.com/article/20/5/web-scraping-python +[3]: https://opensource.com/downloads/python-gaming-ebook +[4]: https://github.com/suncore/dflynav/releases +[5]: https://opensource.com/article/18/1/how-install-apps-linux +[6]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator.webp +[7]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator-preview.webp From 87137531cd08b29423e0959e146ad424d6a77166 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 27 Dec 2022 09:48:00 +0800 Subject: [PATCH 849/925] translating --- .../20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md b/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md index 1d664feba4..4761597588 100644 --- a/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md +++ b/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/downgrade-flatpak-packages/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 830793c808b7c3125c3b045a6e8e1ac8aca9f14f Mon Sep 17 00:00:00 2001 From: Donkey Date: Tue, 27 Dec 2022 09:54:39 +0800 Subject: [PATCH 850/925] translating --- .../tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md b/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md index 02f5fa8a79..60d1e2dd9f 100644 --- a/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md +++ b/sources/tech/20221121.1 ⭐️⭐️ 7 Git tips for technical writers.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/11/git-tips-technical-writers" [#]: author: "Maximilian Kolb https://opensource.com/users/kolb" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Donkey-Hao" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -110,7 +110,7 @@ via: https://opensource.com/article/22/11/git-tips-technical-writers 作者:[Maximilian Kolb][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Donkey-Hao](https://github.com/Donkey-Hao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From a0f54db92238673b44793bf8cfe44f6ee6cad9fe Mon Sep 17 00:00:00 2001 From: duoluoxiaosheng <554765662@qq.com> Date: Tue, 27 Dec 2022 16:28:00 +0800 Subject: [PATCH 851/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?(#28322)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 12261703 * 120262209 * renamed: "sources/tech/20221221.3 \342\255\220\357\270\217\342\255\220\357\270\217 Open source solutions for EV charging.md" -> "translated/tech/20221221.3 \342\255\220\357\270\217\342\255\220\357\270\217 Open source solutions for EV charging.md" * modified: "translated/tech/20221221.3 \342\255\220\357\270\217\342\255\220\357\270\217 Open source solutions for EV charging.md" * 优化个别翻译 * 更新 Co-authored-by: wangcharley --- ...️⭐️ Open source solutions for EV charging.md | 76 ------------------- ...️⭐️ Open source solutions for EV charging.md | 76 +++++++++++++++++++ 2 files changed, 76 insertions(+), 76 deletions(-) delete mode 100644 sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md create mode 100644 translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md diff --git a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md deleted file mode 100644 index 45bf829d5e..0000000000 --- a/sources/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md +++ /dev/null @@ -1,76 +0,0 @@ -[#]: subject: "Open source solutions for EV charging" -[#]: via: "https://opensource.com/article/22/12/open-source-ev-charging" -[#]: author: "Joshua Pearce https://opensource.com/users/jmpearce" -[#]: collector: "lkxed" -[#]: translator: "duoluoxiaosheng" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Open source solutions for EV charging -====== - -Maybe you hate pumping gas in the cold (or heat), or you care about the environment. Maybe the latest gas prices and general inflation has you thinking more about stretching your money. Perhaps you simply think electric vehicles (EVs) look cool. No matter the reason, you're excited about your next vehicle being an EV and you're not alone! The EV market share is set to [expand to 30% by 2040][1]. The [US government provides a handy comparison tool][2] to show that the cost of ownership of an EV easily beats owning and operating fossil fuel vehicles. Despite this, EV charging costs can still hit you hard in your wallet. - -你讨厌在寒冷或者酷热的时候加油,你关心环境问题。最新的油价和通货膨胀让你更多考虑挣钱的问题 - -One of the most elegant ways to solve cost problems in general is to apply open source principles to accelerate innovation. Fortunately for you, this has been done in the EV charging area to find a way to get low-cost electricity and low-cost chargers. - -To control the costs of EV charging, first you need low-cost electricity. In the old days, that would mean going from oil to coal, which is not a step up. Today, as it turns out, [solar photovoltaic (PV)][3] devices that convert sunlight directly into electricity normally provide the lowest-cost electricity. Coal companies are going bankrupt because they can no longer compete with clean solar power. This is also why [solar power is seeing explosive growth all over the world][4]. Many homeowners are putting [solar panels on their roofs][5] or on ground mounts in the backyard to cover all of their home’s electric needs. But how can you charge your EV with solar energy if you have limited roof area or a small backyard? - -### Open source PV parking canopy - -One approach that major corporations are taking is to make a PV canopy over their parking lots. If you want to do this yourself, a new [study][6] provides a full mechanical and economic analysis of three novel open source PV canopy systems: - -- Use an exclusively wood, single-parking-spot spanning system -- Use a wood and aluminum double-parking-spot spanning system -- Use a wood and aluminum cantilevered system - -The designs are presented as 5-by-6 stall builds, but all three systems are scalable to any amount of parking spots required. This includes a 1-stall 6kW system to charge a single car at home (as shown below). All of the racks are rated for a 25-year expected lifetime to match the standard PV warranty. - -![Image of a single car PV canopy.][7] - -The open source PV canopies are all designed to withstand a brutal Canadian winter. They also follow Canada’s strict building codes. So if you live anywhere else, the system as designed should still work for you. The complete [designs][8]and bill of materials of the canopies are provided, along with basic instructions. They are released with an open source license that enables anyone to fabricate them following the spirit of the free book about DIY solar power collectors [_To Catch the Sun_][9]. - -The results of the previously mentioned [study][6] show that open source designs are much less expensive than proprietary products. Single-span systems provide cost savings of 82-85%, double-span systems save 43-50%, and cantilevered systems save 31-40%. - -Most importantly, the designs give you more than enough energy (if you have a normal commute) to cover your charging needs. In the first year of operation, PV canopies can provide 157% of the energy needed to charge the least efficient EV currently on the market. - -![Image of an OpenEVSE charging station.][10] - -### Open source EV chargers - -Another way to cut the cost of EV ownership is to install an open source EV charger. [OpenEVSE][11] is an Arduino-based charging station composed of [open source software][12] and hardware which can be made DIY-style. They are small, lightweight, and portable, so you can use them at home or on the road. - -OpenEVSE powers charging stations for many EV manufacturers all over the world. You can adapt it to fit your requirements. OpenEVSE is now quite mature and supports advanced features including adjustable current, temperature monitoring, and a real-time power display. You can buy the hardware pre-assembled and ready to go. If you want to save more money (and have more fun) buy a kit and build it yourself. - -![Image of the OpenEVSE kit.][13] - -I hope to see more designs of EV power solutions in the future. Keep your eyes open, roll up your sleeves for some DIY, and enjoy assembling your open source, solar-powered EV charging solutions! - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-ev-charging - -作者:[Joshua Pearce][a] -选题:[lkxed][b] -译者:[duoluoxiaosheng](https://github.com/duoluoxiaosheng) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/jmpearce -[b]: https://github.com/lkxed -[1]: https://about.bnef.com/electric-vehicle-outlook/ -[2]: https://fueleconomy.gov/feg/Find.do?action=sbsSelect -[3]: https://opensource.com/article/21/11/open-source-solar-power -[4]: https://www.alliedmarketresearch.com/photovoltaic-market -[5]: https://opensource.com/article/22/12/open-source-solar-power-home -[6]: https://doi.org/10.3390/technologies10060114 -[7]: https://opensource.com/sites/default/files/2022-12/Single%20car%20open%20source%20PV%20canopy.png -[8]: https://www.appropedia.org/Open-source_Photovoltaic_-_Electrical_Vehicle_Carport_Designs -[9]: https://tocatchthesun.com/ -[10]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20charging%20an%20electric%20car.png -[11]: https://openevse.com/index.html -[12]: https://github.com/OpenEVSE -[13]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20kit.png diff --git a/translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md new file mode 100644 index 0000000000..6121c46403 --- /dev/null +++ b/translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md @@ -0,0 +1,76 @@ +[#]: subject: "Open source solutions for EV charging" +[#]: via: "https://opensource.com/article/22/12/open-source-ev-charging" +[#]: author: "Joshua Pearce https://opensource.com/users/jmpearce" +[#]: collector: "lkxed" +[#]: translator: "duoluoxiaosheng" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +开源电动汽车充电解决方案 +====== + +也许你讨厌在寒冷或者酷热的时候加油,也许你关心环境问题。也许不断上涨的油价和通胀让你不得不考虑怎么更合理的安排开支。也许你只是认为电动汽车看起来很酷。不管什么原因,你都会因为即将拥有一辆电动汽车而感到激动,激动的不仅仅只有你。电动汽车的市场份额将在 [2040 年增长到 30%][1] 。[美国政府提供了一个简易的比较工具][2],用来展示维护一辆电动汽车的花费比维护一辆化石燃料汽车要少很多。尽管如此,电动汽车的充电费用仍然会给你的钱包带来沉重的负担。 + +通常,通过开源原则来加速创新是一种优雅的解决成本问题的方式。幸运的是,在电动汽车充电领域已经找到了一种获得低成本电力和充电桩的方法。 + +为了控制电动汽车充电的成本,首先,你需要低成本的电力。在过去,这意味着从石油倒退到煤炭。如今,能将太阳能直接转化为电能的 [光伏发电][3]solar photovolataic (PV) 设备提供的电力通常被认为成本是最低的。煤炭公司正在因为无法继续与清洁的太阳能竞争而破产。这也是[太阳能发电在世界各地都爆炸性增长][4]的原因。许多房主把[太阳能电池板放到他们的房顶][5]或者后院的支架上,以满足他们家庭的电力需求。但是,如果你的屋顶面积有限或者后院很小,你怎样才能使用太能能给你的电动汽车充电呢? + +### 开源光伏停车篷 + +大型企业正在采取的一个方法是在他们的停车场上建造一个光伏顶篷。如果你自己想做一个,一个新的[研究][6]提供了三种新型开源光伏顶篷系统全面的机械和经济方面的分析。 + +- 使用纯木材的单一停车位横跨系统 +- 使用木材和铝的双停车位横跨系统 +- 使用木材和铝的悬臂系统 + +这些设计是以 5 * 6 个停车位的样式呈现的,但是这三个系统都可以扩展到任何需要的停车位数量。包括一个 6kW 的家用单车充电系统(如下图)。所有的支架都有25年的预期寿命来配合标准的光伏保修。 + +![Image of a single car PV canopy.][7] + +这些开源光伏顶篷都是为了抵御加拿大残酷的冬天而设计的,它们遵循加拿大严格的建筑规范。所以,不管你住在其他任何地方,这些系统的设计都仍然可以为你工作。顶篷的[完整设计][8]以及材料清单,包括基本说明都有提供。它们以开放源码许可的方式发布,保证任何人都可以依照免费的关于 DIY 太阳能收集器的书籍 [《拥抱太阳》][9]_To Catch the Sun_制作它。 + +前面提到的[研究][6]结果显示,开源设计比专利产品的成本低很多。单跨系统可节省成本 82% 到 85%,双跨系统节省成本 43% 到 50%,悬臂系统节省 31% 到 40% 。 + +最重要的是,这些设计给你提供了足够多的能源(如果你只是正常通勤)来满足你的充电需求。在运行的第一年,光伏顶篷可以提供目前市场上效率最低的电动汽车充电所需电量的 157% 。 + +![Image of an OpenEVSE charging station.][10] + +### 开源电动汽车充电桩 + +减少电动车维护成本的另一个办法是安装一个开源的电动车充电桩。[OpenEVSE][11] 是一个基于 Arduino 的充电桩,由[开源软件][12]和硬件组成,可以以 DIY 的方式制作。它们体积小,重量轻,便于携带,你可以在家里或者旅途上使用它们。 + +OpenEVSE 为世界各地的许多电动车制造商提供充电站。你可以根据自己的需求调整它。OpenEVSE 已经相当成熟,支持许多先进的功能,包括可调电流,温度检测和实时功率显示。你可以购买预先组装好的硬件马上体验。如果你想体验更多的乐趣节省更多的钱,可以购买一套套件自己动手制作。 + +![Image of the OpenEVSE kit.][13] + +我希望未来可以看到更多关于电动汽车充电解决方案的设计.睁大眼睛,撸起袖子加油干,享受组装你的开源太阳能充电桩的乐趣。 + + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-ev-charging + +作者:[Joshua Pearce][a] +选题:[lkxed][b] +译者:[duoluoxiaosheng](https://github.com/duoluoxiaosheng) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/jmpearce +[b]: https://github.com/lkxed +[1]: https://about.bnef.com/electric-vehicle-outlook/ +[2]: https://fueleconomy.gov/feg/Find.do?action=sbsSelect +[3]: https://opensource.com/article/21/11/open-source-solar-power +[4]: https://www.alliedmarketresearch.com/photovoltaic-market +[5]: https://opensource.com/article/22/12/open-source-solar-power-home +[6]: https://doi.org/10.3390/technologies10060114 +[7]: https://opensource.com/sites/default/files/2022-12/Single%20car%20open%20source%20PV%20canopy.png +[8]: https://www.appropedia.org/Open-source_Photovoltaic_-_Electrical_Vehicle_Carport_Designs +[9]: https://tocatchthesun.com/ +[10]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20charging%20an%20electric%20car.png +[11]: https://openevse.com/index.html +[12]: https://github.com/OpenEVSE +[13]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20kit.png From 10a20d2eccd74385f9c552b16ed502e3d908908d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 27 Dec 2022 17:18:07 +0800 Subject: [PATCH 852/925] RP @duoluoxiaosheng https://linux.cn/article-15385-1.html --- ...️⭐️ Open source solutions for EV charging.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) rename {translated/tech => published}/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md (65%) diff --git a/translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/published/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md similarity index 65% rename from translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md rename to published/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md index 6121c46403..aa952da127 100644 --- a/translated/tech/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md +++ b/published/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md @@ -3,34 +3,38 @@ [#]: author: "Joshua Pearce https://opensource.com/users/jmpearce" [#]: collector: "lkxed" [#]: translator: "duoluoxiaosheng" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15385-1.html" 开源电动汽车充电解决方案 ====== +> 利用太阳能、硬件和开源来建立你自己的电动车充电站。 + +![][0] + 也许你讨厌在寒冷或者酷热的时候加油,也许你关心环境问题。也许不断上涨的油价和通胀让你不得不考虑怎么更合理的安排开支。也许你只是认为电动汽车看起来很酷。不管什么原因,你都会因为即将拥有一辆电动汽车而感到激动,激动的不仅仅只有你。电动汽车的市场份额将在 [2040 年增长到 30%][1] 。[美国政府提供了一个简易的比较工具][2],用来展示维护一辆电动汽车的花费比维护一辆化石燃料汽车要少很多。尽管如此,电动汽车的充电费用仍然会给你的钱包带来沉重的负担。 -通常,通过开源原则来加速创新是一种优雅的解决成本问题的方式。幸运的是,在电动汽车充电领域已经找到了一种获得低成本电力和充电桩的方法。 +通常,解决成本问题的最优雅的方法之一是应用开源原则来加速创新。幸运的是,在电动汽车充电领域已经找到了一种获得低成本电力和充电桩的方法。 -为了控制电动汽车充电的成本,首先,你需要低成本的电力。在过去,这意味着从石油倒退到煤炭。如今,能将太阳能直接转化为电能的 [光伏发电][3]solar photovolataic (PV) 设备提供的电力通常被认为成本是最低的。煤炭公司正在因为无法继续与清洁的太阳能竞争而破产。这也是[太阳能发电在世界各地都爆炸性增长][4]的原因。许多房主把[太阳能电池板放到他们的房顶][5]或者后院的支架上,以满足他们家庭的电力需求。但是,如果你的屋顶面积有限或者后院很小,你怎样才能使用太能能给你的电动汽车充电呢? +为了控制电动汽车充电的成本,首先,你需要低成本的电力。在过去,这意味着从石油倒退到煤炭。如今,能将太阳能直接转化为电能的 [光伏发电][3]solar photovolataic(PV) 设备提供的电力通常被认为成本是最低的。煤炭公司正在因为无法继续与清洁的太阳能竞争而破产。这也是 [太阳能发电在世界各地都爆炸性增长][4] 的原因。许多房主把 [太阳能电池板放到他们的房顶][5] 或者后院的支架上,以满足他们家庭的电力需求。但是,如果你的屋顶面积有限或者后院很小,你怎样才能使用太能能给你的电动汽车充电呢? ### 开源光伏停车篷 -大型企业正在采取的一个方法是在他们的停车场上建造一个光伏顶篷。如果你自己想做一个,一个新的[研究][6]提供了三种新型开源光伏顶篷系统全面的机械和经济方面的分析。 +大型企业正在采取的一个方法是在他们的停车场上建造一个光伏顶篷。如果你自己想做一个,一个新的 [研究][6] 提供了三种新型开源光伏顶篷系统全面的机械和经济方面的分析。 - 使用纯木材的单一停车位横跨系统 - 使用木材和铝的双停车位横跨系统 - 使用木材和铝的悬臂系统 -这些设计是以 5 * 6 个停车位的样式呈现的,但是这三个系统都可以扩展到任何需要的停车位数量。包括一个 6kW 的家用单车充电系统(如下图)。所有的支架都有25年的预期寿命来配合标准的光伏保修。 +这些设计是以 5 * 6 个停车位的样式呈现的,但是这三个系统都可以扩展到任何需要的停车位数量。包括一个 6 千瓦的家用单车充电系统(如下图)。所有的支架都有 25 年的预期寿命来配合标准的光伏保修。 ![Image of a single car PV canopy.][7] -这些开源光伏顶篷都是为了抵御加拿大残酷的冬天而设计的,它们遵循加拿大严格的建筑规范。所以,不管你住在其他任何地方,这些系统的设计都仍然可以为你工作。顶篷的[完整设计][8]以及材料清单,包括基本说明都有提供。它们以开放源码许可的方式发布,保证任何人都可以依照免费的关于 DIY 太阳能收集器的书籍 [《拥抱太阳》][9]_To Catch the Sun_制作它。 +这些开源光伏顶篷都是为了抵御加拿大残酷的冬天而设计的,它们遵循加拿大严格的建筑规范。所以,不管你住在其他任何地方,这些系统的设计都仍然可以为你工作。顶篷的 [完整设计][8] 以及材料清单,包括基本说明都有提供。它们以开源许可的方式发布,保证任何人都可以依照关于 DIY 太阳能收集器的免费书籍 《[拥抱太阳][9]To Catch the Sun》 制作它。 -前面提到的[研究][6]结果显示,开源设计比专利产品的成本低很多。单跨系统可节省成本 82% 到 85%,双跨系统节省成本 43% 到 50%,悬臂系统节省 31% 到 40% 。 +前面提到的 [研究][6] 结果显示,开源设计比专利产品的成本低很多。单跨系统可节省成本 82% 到 85%,双跨系统节省成本 43% 到 50%,悬臂系统节省 31% 到 40% 。 最重要的是,这些设计给你提供了足够多的能源(如果你只是正常通勤)来满足你的充电需求。在运行的第一年,光伏顶篷可以提供目前市场上效率最低的电动汽车充电所需电量的 157% 。 @@ -38,15 +42,13 @@ ### 开源电动汽车充电桩 -减少电动车维护成本的另一个办法是安装一个开源的电动车充电桩。[OpenEVSE][11] 是一个基于 Arduino 的充电桩,由[开源软件][12]和硬件组成,可以以 DIY 的方式制作。它们体积小,重量轻,便于携带,你可以在家里或者旅途上使用它们。 +减少电动车维护成本的另一个办法是安装一个开源的电动车充电桩。[OpenEVSE][11] 是一个基于 Arduino 的充电桩,由 [开源软件][12] 和硬件组成,可以以 DIY 的方式制作。它们体积小,重量轻,便于携带,你可以在家里或者旅途上使用它们。 OpenEVSE 为世界各地的许多电动车制造商提供充电站。你可以根据自己的需求调整它。OpenEVSE 已经相当成熟,支持许多先进的功能,包括可调电流,温度检测和实时功率显示。你可以购买预先组装好的硬件马上体验。如果你想体验更多的乐趣节省更多的钱,可以购买一套套件自己动手制作。 ![Image of the OpenEVSE kit.][13] -我希望未来可以看到更多关于电动汽车充电解决方案的设计.睁大眼睛,撸起袖子加油干,享受组装你的开源太阳能充电桩的乐趣。 - - +我希望未来可以看到更多关于电动汽车充电解决方案的设计。睁大眼睛,撸起袖子加油干,享受组装你的开源太阳能充电桩的乐趣。 -------------------------------------------------------------------------------- @@ -55,7 +57,7 @@ via: https://opensource.com/article/22/12/open-source-ev-charging 作者:[Joshua Pearce][a] 选题:[lkxed][b] 译者:[duoluoxiaosheng](https://github.com/duoluoxiaosheng) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -65,7 +67,7 @@ via: https://opensource.com/article/22/12/open-source-ev-charging [2]: https://fueleconomy.gov/feg/Find.do?action=sbsSelect [3]: https://opensource.com/article/21/11/open-source-solar-power [4]: https://www.alliedmarketresearch.com/photovoltaic-market -[5]: https://opensource.com/article/22/12/open-source-solar-power-home +[5]: https://linux.cn/article-15374-1.html [6]: https://doi.org/10.3390/technologies10060114 [7]: https://opensource.com/sites/default/files/2022-12/Single%20car%20open%20source%20PV%20canopy.png [8]: https://www.appropedia.org/Open-source_Photovoltaic_-_Electrical_Vehicle_Carport_Designs @@ -74,3 +76,4 @@ via: https://opensource.com/article/22/12/open-source-ev-charging [11]: https://openevse.com/index.html [12]: https://github.com/OpenEVSE [13]: https://opensource.com/sites/default/files/2022-12/OpenEVSE%20kit.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/27/171530ayuyongagafyxp5o.jpg \ No newline at end of file From 6340e230f0e16a215c4d92da22a2eeeea27c30f9 Mon Sep 17 00:00:00 2001 From: yzuowei Date: Tue, 27 Dec 2022 17:19:01 +0800 Subject: [PATCH 853/925] translated (#28323) --- .../20220729 Learn Rust by debugging Rust.md | 242 ------------------ .../20220729 Learn Rust by debugging Rust.md | 242 ++++++++++++++++++ 2 files changed, 242 insertions(+), 242 deletions(-) delete mode 100644 sources/tech/20220729 Learn Rust by debugging Rust.md create mode 100644 translated/tech/20220729 Learn Rust by debugging Rust.md diff --git a/sources/tech/20220729 Learn Rust by debugging Rust.md b/sources/tech/20220729 Learn Rust by debugging Rust.md deleted file mode 100644 index 13c9c6f79f..0000000000 --- a/sources/tech/20220729 Learn Rust by debugging Rust.md +++ /dev/null @@ -1,242 +0,0 @@ -[#]: subject: "Learn Rust by debugging Rust" -[#]: via: "https://opensource.com/article/22/7/learn-rust-rustlings" -[#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe" -[#]: collector: "lkxed" -[#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Learn Rust by debugging Rust -====== -Rustlings is an open source project by the Rust team that helps you learn Rust through the process of debugging. - -![Ferris the crab under the sea, unofficial logo for Rust programming language][1] - -Image by: Opensource.com - -In my previous [article about rustup][2], I showed you how to install the Rust toolchain. Well, what good is the toolchain if you won’t be using it to get more hands-on with Rust? Learning any language involves reading existing code and writing a lot of sample programs. That's a good way to become proficient in a language. However, there's a third way: debugging code. - -Learning through debugging involves trying to compile a pre-written (buggy) sample program, understanding the errors generated by the compiler, fixing the sample code, and then re-compiling it. Repeat that process until the code successfully compiles and runs. - -[Rustlings][3] is an open source project by the Rust team that helps you learn Rust through the process of debugging. It also provides you with a lot of hints along the way. If you're a beginner to Rust and have either started or completed reading the Rust book, then rustlings is the ideal next step. Rustlings helps you apply what you've learned from the book, and move to working on bigger projects. - -### Installing rustlings - -I'm using (and recommend) a Fedora machine to try rustlings, but any Linux distribution works. To install rustlings, you must download and run its install script. It's recommended that you do this as a normal user (not root) without any special privileges. - -Remember, for you to be able to use rustlings, you need the Rust toolchain available on your system. If you don't have that already, please refer to my [article on rustup][4]. - -Once you're ready, download the installation script: - -``` -$ curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh  > rustlings_install.sh -$ file rustlings_install.sh -rustlings_install.sh: Bourne-Again shell script, ASCII text executable -``` - -Inspect the script to learn what it does: - -``` -$ less rustlings_install.sh -``` - -And then run it to install: - -``` -$ bash rustlings_install.sh -[...] -Installing /home/tux/.cargo/bin/rustlings -Installed package `rustlings v4.8.0 (/home/tux/rustlings)` (executable `rustlings`) -All done! -``` - -Run 'rustlings' to get started. - -### Rustlings exercises - -The installation provides you with the `rustlings` command. Run it along with the `--help` flag to see what options are available. - -``` -$ rustlings --help -``` - -The installation script also clones the rustlings Git repository, and installs all the dependencies required to run the sample programs. You can view the sample programs within the exercises directory under `rustlings` : - -``` -$ cd rustlings -$ pwd -/home/tux/rustlings -$ ls -AUTHORS.md  Cargo.toml        CONTRIBUTING.md  info.toml install.sh README.md  target Cargo.lock  CHANGELOG.md  exercises install.ps1  LICENSE src tests -$ ls -m exercises/ -advanced_errors, clippy, collections, conversions, enums, error_handling, functions, generics, if, intro, macros, mod.rs, -modules, move_semantics, option, primitive_types, quiz1.rs, quiz2.rs, quiz3.rs, quiz4.rs, README.md, -standard_library_types, strings, structs, tests, threads, traits, variables -``` - -### List all exercises from the command line - -The `rustlings` command provides you with a `list` command which displays each sample program, its complete path, and the status (which defaults to **pending**.) - -``` -$ rustlings list -Name         Path                                 Status -intro1       exercises/intro/intro1.rs            Pending -intro2       exercises/intro/intro2.rs            Pending -variables1   exercises/variables/variables1.rs    Pending -variables2   exercises/variables/variables2.rs    Pending -variables3   exercises/variables/variables3.rs    Pending -[...] -``` - -Near the end of the output, you're given a progress report so you can track your work. - -``` -Progress: You completed 0 / 84 exercises (0.00 %). -``` - -### View sample programs - -The `rustings list` command shows you what programs are available, so at any time you can view the code of those programs by copying the complete paths into your terminal as an argument for the [cat][5] or [less][6] commands: - -``` -$ cat exercises/intro/intro1.rs -``` - -### Verify your programs - -Now you can start debugging programs. You can do that using the `verify` command. Notice that rustlings chooses the first program in the list (`intro1.rs` ), tries to compile it, and succeeds: - -``` -$ rustlings verify -Progress: [-----------------------------------] 0/84 -✅ Successfully ran exercises/intro/intro1.rs! - -You can keep working on this exercise, -or jump into the next one by removing the `I AM NOT DONE` comment: - - 6 |  // Execute the command `rustlings hint intro1` for a hint. - 7 |   - 8 |  // I AM NOT DONE - 9 | -``` - -As you can see from the output, even though the sample code compiles, there's work yet to be done. Each sample program has the following comment in its source file: - -``` -$ grep "NOT DONE" exercises/intro/intro1.rs -// I AM NOT DONE -``` - -Although the compilation of the first program worked fine, rustlings won't move to the next program until you remove the `I AM NOT DONE` comment. - -### Moving to the next exercise - -Once you have removed the comment from `intro1.rs`, you can move to the next exercise by running the `rustlings verify` command again. This time, you may notice that rustlings tries to compile the next program (`intro2.rs` ) in the series, but runs into an error. You're expected to debug that issue, fix it, and then move forward. This is a critical step, allowing you to understand why Rust says a program has bugs. - -``` -$ rustlings verify -Progress: [>------------------------] 1/84 -⚠️  Compiling of exercises/intro/intro2.rs failed! Please try again. Here's the output: -error: 1 positional argument in format string, but no arguments were given - --> exercises/intro/intro2.rs:8:21 -  | -8 |         println!("Hello {}!"); -  |                         ^^ - -error: aborting due to previous error -``` - -### Getting a hint - -Rustlings has a handy `hint` argument, which tells you exactly what's wrong with the sample program, and how to fix it. You can think of it as an add-on help option, in addition to what the compiler error message tells you. - -``` -$ rustlings hint intro2 -Add an argument after the format string. -``` - -Based on the above hint, fixing the program is easy. All you need to do is add an additional argument to the `println` statement. This diff should help you understand the changes: - -``` -< println!("Hello {}!", "world"); ---- -> println!("Hello {}!"); -``` - -Once you make that change, and removed the `NOT DONE` comment from the source code, you can run `rustlings verify` again to compile and run the code. - -``` -$ rustlings verify -Progress: [>-------------------------------------] 1/84 -✅ Successfully ran exercises/intro/intro2.rs! -``` - -### Track progress - -You aren't going to finish all of the exercises in a day, and it's easy to lose track of where you left off. You can run the `list` command to see the status of your work. - -``` -$ rustlings list -Name         Path                                  Status -intro1       exercises/intro/intro1.rs             Done   -intro2       exercises/intro/intro2.rs             Done   -variables1   exercises/variables/variables1.rs     Pending -variables2   exercises/variables/variables2.rs     Pending -variables3   exercises/variables/variables3.rs     Pending -[...] -``` - -### Run specific exercises - -If you don't want to start from the beginning and skip a few exercises, rustlings allows you to focus on specific exercises using the `rustlings run` command. This runs a specific program without requiring the previous lesson to be verified. For example: - -``` -$ rustlings run intro2 -Hello world! -✅ Successfully ran exercises/intro/intro2.rs -$ rustlings run variables1 -``` - -Typing exercise names can become tedious, but rustlings provides you with a handy `next` command so you can move to the next exercise in the series. - -``` -$ rustlings run next -``` - -### Alternative watch command - -If you don't want to keep typing `verify` after each modification you make, you can run the `watch` command in a terminal window, and then keep modifying the source code to fix issues. The `watch` command detects these modifications, and keeps re-compiling the program to see whether the issue has been fixed. - -``` -$ rustlings watch -``` - -### Learn by debugging - -The Rust compiler is known to provide very meaningful error messages, which helps you understand issues in your code. This usually leads to faster debugging. Rustlings is a great way to practice Rust, to get used to reading error messages, and understand the Rust language. Check out the recent features of Rustlings 5.0.0 on [GitHub][7]. - -**[[ Practice programming with Rust. Download our Rust cheat sheet. ]][8]** - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/7/learn-rust-rustlings - -作者:[Gaurav Kamathe][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/gkamathe -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/rust_programming_crab_sea.png -[2]: https://opensource.com/article/22/6/rust-toolchain-rustup -[3]: https://github.com/rust-lang/rustlings -[4]: https://opensource.com/article/22/6/rust-toolchain-rustup -[5]: https://opensource.com/article/19/2/getting-started-cat-command -[6]: https://opensource.com/article/18/4/using-less-view-text-files-command-line -[7]: https://github.com/rust-lang/rustlings/releases/tag/5.0.0 -[8]: https://opensource.com/downloads/rust-cheat-sheet diff --git a/translated/tech/20220729 Learn Rust by debugging Rust.md b/translated/tech/20220729 Learn Rust by debugging Rust.md new file mode 100644 index 0000000000..f725d789dc --- /dev/null +++ b/translated/tech/20220729 Learn Rust by debugging Rust.md @@ -0,0 +1,242 @@ +[#]: subject: "Learn Rust by debugging Rust" +[#]: via: "https://opensource.com/article/22/7/learn-rust-rustlings" +[#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe" +[#]: collector: "lkxed" +[#]: translator: "yzuowei" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +以调试 Rust 来学习 Rust +====== +Rustlings 是由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。 + +![Ferris the crab under the sea, unofficial logo for Rust programming language][1] + +图片来源:Opensource.com + +在我上一篇[关于 rustup 的文章][2]中,我向你们展示了如何安装 Rust 工具链。但是,如果不能上手操作一下 Rust 的话下载工具链又有什么用?学习任何语言都包括阅读现有的代码和写很多的示例程序。这是精通一门语言的好方法。然而,我们还可以走第三条路:调试代码。 + +通过调试来学习牵扯到尝试去编译一个已经写好的(满是漏洞的)示例程序,理解编译器生成的错误信息,修复示例代码,然后再重新编译。重复这个过程直到代码能够成功被编译并运行。 + +[Rustlings][3] 是一个由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。如果你是一名 Rust 初学者并且刚开始读或已经读完了 Rust 书,那么 rustlings 就是理想的下一步。Rustllings 帮助你将运用书中所学,并转向开发更大的项目。 + +### 安装 rustlings + +我使用(并推荐)Fedora 电脑来体验 rustlings,但是任何 Linux 发行版都可以。要安装 rustlings,你必须下载并运行它的安装脚本。通常建议你以不具备任何特别权限的普通用户(非 root 用户)来运行脚本。 + +记住,你需要 Rust 工具链来使用 rustlings。如果你还没有这些工具链,请参考我[关于 rustup 的文章][4]。 + +当你准备好时,下载这个安装脚本: + +``` +$ curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh  > rustlings_install.sh +$ file rustlings_install.sh +rustlings_install.sh: Bourne-Again shell script, ASCII text executable +``` + +阅读脚本以了解它会做什么: + +``` +$ less rustlings_install.sh +``` + +然后运行安装: + +``` +$ bash rustlings_install.sh +[...] +Installing /home/tux/.cargo/bin/rustlings +Installed package `rustlings v4.8.0 (/home/tux/rustlings)` (executable `rustlings`) +All done! +``` + +运行 'rustlings' 以开始。 + +### Rustlings 练习 + +你现在可以使用命令 `rustlings`。与旗标 `--help` 一起执行来查看可选的选项。 + +``` +$ rustlings --help +``` + +这个安装脚本也克隆了 rustlings 的 Git 仓库,并安装了运行示例程序所需的依赖。你可以在 `ruslings` 底下的 exercises 目录查阅这些示例程序。 + +``` +$ cd rustlings +$ pwd +/home/tux/rustlings +$ ls +AUTHORS.md  Cargo.toml        CONTRIBUTING.md  info.toml install.sh README.md  target Cargo.lock  CHANGELOG.md  exercises install.ps1  LICENSE src tests +$ ls -m exercises/ +advanced_errors, clippy, collections, conversions, enums, error_handling, functions, generics, if, intro, macros, mod.rs, +modules, move_semantics, option, primitive_types, quiz1.rs, quiz2.rs, quiz3.rs, quiz4.rs, README.md, +standard_library_types, strings, structs, tests, threads, traits, variables +``` + +### 从命令行列出所有练习 + +命令 `ruslings` 提供给你一个 `list` 命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 **pending**)。 + +``` +$ rustlings list +Name         Path                                 Status +intro1       exercises/intro/intro1.rs            Pending +intro2       exercises/intro/intro2.rs            Pending +variables1   exercises/variables/variables1.rs    Pending +variables2   exercises/variables/variables2.rs    Pending +variables3   exercises/variables/variables3.rs    Pending +[...] +``` + +在显示结尾处,你会有一个进度报告用来追踪进度。 + +``` +Progress: You completed 0 / 84 exercises (0.00 %). +``` + +### 查看示例程序 + +命令 `rustlings list` 向你展示了现有的程序,所以你可以在任何时候查看这些程序的代码,你只需要将完整路径复制到你的终端作为命令 [cat][5] 或者 [less][6] 的参数: + +``` +$ cat exercises/intro/intro1.rs +``` + +### 验证你的程序 + +现在你可以开始调试程序了。你可以使用命令 `verify` 来做这件事。注意 rustlings 选择了列表里的第一个程序 (`intro1.rs`) 并尝试去编译它,最后编译成功: + +``` +$ rustlings verify +Progress: [-----------------------------------] 0/84 +✅ Successfully ran exercises/intro/intro1.rs! + +You can keep working on this exercise, +or jump into the next one by removing the `I AM NOT DONE` comment: + + 6 |  // Execute the command `rustlings hint intro1` for a hint. + 7 |   + 8 |  // I AM NOT DONE + 9 | +``` + +正如你从结果中所见,尽管示例代码成功编译了,你依然需要做一些工作。每个示例程序的源文件中都带有以下注释: + +``` +$ grep "NOT DONE" exercises/intro/intro1.rs +// I AM NOT DONE +``` + +虽然第一个程序的编译没有问题,除非你去掉注释 `I AM NOT DONE`,rustlings 不会移到下一个程序。 + +### 来到下一个练习 + +一旦你从 `intro1.rs` 中去掉这些注释,你就可以通过再一次运行命令 `rustlings verify` 来到下一个练习。这一次,你会发现 rustlings 尝试去编译这个系列中的下一个程序(`intro2.rs`),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。 + +``` +$ rustlings verify +Progress: [>------------------------] 1/84 +⚠️  Compiling of exercises/intro/intro2.rs failed! Please try again. Here's the output: +error: 1 positional argument in format string, but no arguments were given + --> exercises/intro/intro2.rs:8:21 +  | +8 |         println!("Hello {}!"); +  |                         ^^ + +error: aborting due to previous error +``` + +### 来点提示 + +Rustlings 有一个非常好用的 `hint` 参数,这个参数会告诉你示例程序中哪里出错了,以及如何去修复它。你可以认为这是在编译错误信息基础之上,一个额外的帮助选项。 + +``` +$ rustlings hint intro2 +Add an argument after the format string. +``` + +基于以上提示,修复这个程序就很简单了。你只需要在语句 `println` 中加一个额外的参数。这个 diff 对比应该能帮你理解发生的变化: + +``` +< println!("Hello {}!", "world"); +--- +> println!("Hello {}!"); +``` + +一旦你做出了修改,并从源代码中去掉了注释 `NOT DONE`,你可以再一次运行 `rustlings verify` 来编译并运行代码。 + +``` +$ rustlings verify +Progress: [>-------------------------------------] 1/84 +✅ Successfully ran exercises/intro/intro2.rs! +``` + +### 追踪进度 + +你无法在一天之内做完所有的练习,忘记练到哪也很常见。你可以执行命令 `list` 来查看你的练习状态。 + +``` +$ rustlings list +Name         Path                                  Status +intro1       exercises/intro/intro1.rs             Done   +intro2       exercises/intro/intro2.rs             Done   +variables1   exercises/variables/variables1.rs     Pending +variables2   exercises/variables/variables2.rs     Pending +variables3   exercises/variables/variables3.rs     Pending +[...] +``` + +### 运行特定的练习 + +如果你不想从头开始并且想要跳过一些练习,rustlings 允许你使用命令 `rustlings run` 来专注特定的练习。如此可以运行指定的程序而不需要验证之前的课程。例如: + +``` +$ rustlings run intro2 +Hello world! +✅ Successfully ran exercises/intro/intro2.rs +$ rustlings run variables1 +``` + +敲入练习名字可能会变得乏味,但 rustlings 为你准备了便利的命令 `next` 用来移向系列中的下一个练习。 + +``` +$ rustlings run next +``` + +### 替代命令 watch + +如果你不想在每次修改后还要敲一次 `verify`,你可以在终端窗口中运行命令 `watch`,然后再继续修改源代码以解决问题。命令 `watch` 会检测到这些修改,然后重新编译以查看这些问题是否被解决。 + +``` +$ rustlings watch +``` + +### 通过调试学习 + +Rust 编译器以提供非常有意义的错误信息而被熟知,这些错误信息会帮助你理解在你代码中的问题。这通常意味着更快的调试。Rustlings 是练习 Rust,学会阅读错误信息,并理解 Rust 语言的优秀途径。来看看 [GitHub][7] 上 Rustlings 5.0.0 的最新功能吧。 + +**[[ 学习 Rust 编程,来下载我们的 Rust 速查表。 ]][8]** + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/7/learn-rust-rustlings + +作者:[Gaurav Kamathe][a] +选题:[lkxed][b] +译者:[yzuowei](https://github.com/yzuowei) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/gkamathe +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/rust_programming_crab_sea.png +[2]: https://opensource.com/article/22/6/rust-toolchain-rustup +[3]: https://github.com/rust-lang/rustlings +[4]: https://opensource.com/article/22/6/rust-toolchain-rustup +[5]: https://opensource.com/article/19/2/getting-started-cat-command +[6]: https://opensource.com/article/18/4/using-less-view-text-files-command-line +[7]: https://github.com/rust-lang/rustlings/releases/tag/5.0.0 +[8]: https://opensource.com/downloads/rust-cheat-sheet From 511bab16b1ca622d5b1f92185a9fec8a9f7b0274 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 27 Dec 2022 17:38:18 +0800 Subject: [PATCH 854/925] RP @geekpi https://linux.cn/article-15386-1.html --- ...atform Music Player With Essential Features.md | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) rename {translated/tech => published}/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md (64%) diff --git a/translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/published/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md similarity index 64% rename from translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md rename to published/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md index 4c071ba0e5..d7ac11e4c3 100644 --- a/translated/tech/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md +++ b/published/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md @@ -3,16 +3,18 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15386-1.html" -Harmonoid:具有基本功能的漂亮跨平台音乐播放器 +Harmonoid:基本够用的漂亮的跨平台音乐播放器 ====== -幸运的是,[Linux 的优秀开源音乐播放器][1]并不缺乏。过去我们已经介绍了多种选择。 +![][0] -在这里,我重点介绍一款免费使用、开源且可用于多种平台(包括 **Linux、Windows 和 Android**)的音乐播放器。 +幸运的是,[Linux 的优秀开源音乐播放器][1] 并不缺乏。过去我们已经介绍了多种选择。 + +在这里,我重点介绍一款免费使用(但不是自由开源软件),可用于多种平台(包括 Linux、Windows 和 Android)的音乐播放器。 ### Harmonoid:Material Design 的直观用户体验 @@ -22,7 +24,7 @@ Harmonoid 是用 Dart 语言编写的。它利用 [libmpv][3] 和 [mpv][4] 在 它提供了一个优秀的用户界面。并且不使用 electron.js。所以,如果你讨厌 Electron,你可以试试这个。 -通常,你会在 Android 上看到应用具有 Material Design UI。如果你不知道,Material 是 Google 的开源设计系统。 +通常,你会在 Android 上看到应用具有 Material Design UI。如果你不知道,Material 是谷歌的开源设计系统。 ![harmonoid player info][5] @@ -32,7 +34,7 @@ Harmonoid 是用 Dart 语言编写的。它利用 [libmpv][3] 和 [mpv][4] 在 ![harmonoid url][6] -如果你想要一个有良好 UI 和功能集的音乐播放器,我建议您尝试 Harmonoid。 +如果你想要一个有良好 UI 和功能集的音乐播放器,我建议你尝试一下 Harmonoid。 ### Harmonoid 的特点 @@ -40,18 +42,18 @@ Harmonoid 是用 Dart 语言编写的。它利用 [libmpv][3] 和 [mpv][4] 在 [Harmonoid][8] 可能看起来像一个简单的音乐播放器,但它包含了一些最有价值的功能。他们包括: -- **在找到歌词的地方跟唱,或者你可以手动添加它们** -- **编辑歌曲详细信息,包括艺术家、年份、流派、曲目编号、专辑和标题** +- 跟唱功能,你可以找到歌词,或者你可以手动添加它们 +- 编辑歌曲详细信息,包括艺术家、年份、流派、曲目编号、专辑和标题 - 轻松分类和排序你的音乐列表 - 一个快速搜索功能来找到你要找的东西 - 缓存元数据以在你每次加载时提供快速体验 - 与 Windows 和 Linux 的良好集成支持 -- 支持Discord丰富的存在,以显示你的音乐以及艺术品和播放按钮 +- 支持在 Discord 中展示,可以显示你的音乐以及插图和播放按钮 - 调整音乐的速度、音量和音高 - 原始元数据读取器可读取你库中任何文件或歌曲的标签 - 播放由 MPV 提供 - .LRC 文件兼容性 -- **支持在线 URL (YouTube) 和广播流** +- 支持在线 URL(YouTube)和广播流 - 跨平台 - 多位艺术家支持 - 深色/浅色模式 @@ -64,7 +66,7 @@ Harmonoid 应该非常适合想要同时播放音乐或整理收藏的用户。 ### 在 Linux 上安装 Harmonoid -你可以从其[下载页面][10]获取 **.deb/.rpm** 包并将其安装在基于 Ubuntu 的发行版或 Fedora 上。 +你可以从其 [下载页面][10] 获取 .deb/.rpm 包并将其安装在基于 Ubuntu 的发行版或 Fedora 上。 此外,你需要使用以下命令安装 mpv 和 libmpv(对于 Ubuntu): @@ -76,7 +78,7 @@ sudo apt install mpv lipmpv-dev 你还可以在 [AUR][11] 上找到基于 Arch 的发行版的 Harmonoid。要探索有关该播放器的更多信息,请访问其 [GitHub 页面][12]和[官方网站][8]。 -_你是否尝试过 Harmonoid 在你的 Linux 系统上播放和整理音乐? 你最喜欢的 Linux 音乐播放器是什么? 在下面的评论中让我知道你的想法。_ +你是否尝试过 Harmonoid 在你的 Linux 系统上播放和整理音乐? 你最喜欢的 Linux 音乐播放器是什么? 在下面的评论中让我知道你的想法。 -------------------------------------------------------------------------------- @@ -85,21 +87,22 @@ via: https://itsfoss.com/harmonoid/ 作者:[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/) 荣誉推出 [a]: https://itsfoss.com/author/ankush/ [b]: https://github.com/lkxed [1]: https://itsfoss.com/best-music-players-linux/ -[2]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player.png +[2]: https://itsfoss.com/content/images/wordpress/2022/12/harmonoid-player.png [3]: https://github.com/mpv-player/mpv/tree/master/libmpv [4]: https://mpv.io -[5]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-info.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-url.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-player-options.png +[5]: https://itsfoss.com/content/images/wordpress/2022/12/harmonoid-player-info.png +[6]: https://itsfoss.com/content/images/wordpress/2022/12/harmonoid-url.png +[7]: https://itsfoss.com/content/images/wordpress/2022/12/harmonoid-player-options.png [8]: https://harmonoid.com -[9]: https://itsfoss.com/wp-content/uploads/2022/12/harmonoid-settings.png +[9]: https://itsfoss.com/content/images/wordpress/2022/12/harmonoid-settings.png [10]: https://harmonoid.com/downloads [11]: https://aur.archlinux.org/packages/harmonoid-bin -[12]: https://github.com/harmonoid/harmonoid \ No newline at end of file +[12]: https://github.com/harmonoid/harmonoid +[0]: https://img.linux.net.cn/data/attachment/album/202212/27/173656kmq05d54llttls55.jpg \ No newline at end of file From 6a471cdeb9fe3969e84780e3205921f44dde302b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 28 Dec 2022 01:28:32 +0800 Subject: [PATCH 855/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221226.1=20=E2=AD=90=EF=B8=8F=20Manjaro=20Linux=2022?= =?UTF-8?q?.0=20Releases=20Featuring=20Xfce=204.18=20and=20Linux=20Kernel?= =?UTF-8?q?=206.1.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...es Featuring Xfce 4.18 and Linux Kernel 6.1.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md diff --git a/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md b/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md new file mode 100644 index 0000000000..545ff86782 --- /dev/null +++ b/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md @@ -0,0 +1,102 @@ +[#]: subject: "Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1" +[#]: via: "https://news.itsfoss.com/manjaro-22-0-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1 +====== + +Manjaro Linux 22.0 has landed with good upgrades! + +![Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1][1] + +Manjaro Linux is a rolling release distro based on Arch Linux that focuses on providing a user-friendly and accessible experience. + +Since the release of '[Ruah][2]' in June, Manjaro's development has continued and has paved the way for the latest release, which is called '_Sikaris_'. + +This is one of the last distro releases (among the popular options) for 2022; let's see what it offers. + +### Manjaro 22 'Sikaris': What's New? + +![manjaro linux sikaris][3] + +The 'Sikaris' release has brought in many improvements; some notable ones include: + +- **Desktop Environment Upgrades** +- **Linux Kernel 6.1** +- **Dynamic Wallpapers** +- **Various User Experience improvements** + +#### Desktop Environment Upgrades + +This release has seen numerous improvements to the three distinct editions of Manjaro Linux. Let me take you through them. + +**For Manjaro GNOME:** GNOME 43 is being used. It has a redesigned system status menu that lets you quickly switch between the commonly used settings. + +They also updated their 'Layouts Switcher' application to include various improvements and fixes. + +![manjaro linux sikaris gnome][4] + +Furthermore, you can create your dynamic wallpaper and use [Gradience][5] to customize your theme. + +**For Manjaro KDE:** The 'Sikaris' release features the latest Plasma 5.26 desktop environment that features many improvements, such as animated wallpapers, new widgets, and Plasma big screen improvements. + +![manjaro linux sikaris kde][6] + +They have also made additional tweaks that allow the wallpaper to change according to the system's theme. + +In addition, the Dolphin file manager now has a new feature called '_Selection Mode_', that lets you select multiple files or folders. + +**For Manjaro Xfce:** Powered by Xfce 4.18, this edition receives the new file highlighting and recursive search features in the Thunar file manager. + +Probably the first distro to include the [newly released Xfce 4.18][7] out of the box. + +The panel has also been updated to allow maximized apps to fill the area behind the panel, and the panel length is now calculated in pixels rather than percentages. + +![manjaro linux sikaris xfce][8] + +Additionally, the Control Center now groups all the desktop modules for managing the system into one easy-to-use window. + +These features should improve your overall experience! 😃 + +#### Linux Kernel 6.1 + +Manjaro 22 'Sikaris' uses the various enhancements offered by [Linux Kernel 6.1][9]. + +Those include experimental support for Rust, initial support for Intel's upcoming Meteor Lake chips, improved ARM SoC support, and more. + +### Download Manjaro 22 + +Manjaro 22 'Sikaris' is available for both X86_64 and ARM systems, head over to the official [downloads page][10] to get access. + +[Download Manjaro 22][10] + +**For existing users,** you can just run '_sudo pacman -Syu_' in the command line to get this release of Manjaro Linux. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/manjaro-22-0-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/manjaro-22-0-release.png +[2]: https://news.itsfoss.com/manjaro-21-3-0-release/ +[3]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE_2.png +[4]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_GNOME.png +[5]: https://github.com/GradienceTeam/Gradience +[6]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE.png +[7]: https://news.itsfoss.com/xfce-4-18-release/ +[8]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_XFCE.png +[9]: https://news.itsfoss.com/linux-kernel-6-1-release/ +[10]: https://manjaro.org/download/ From ea421020d30452bc6144b2523642c6d13385f3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 28 Dec 2022 01:30:04 +0800 Subject: [PATCH 856/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221227.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=205?= =?UTF-8?q?=20Upcoming=20Code=20Editors=20that=20May=20Challenge=20the=20S?= =?UTF-8?q?upremacy=20of=20Visual=20Studio=20Code.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...y Challenge the Supremacy of Visual Studio Code.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md diff --git a/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md new file mode 100644 index 0000000000..35e43090f4 --- /dev/null +++ b/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md @@ -0,0 +1,123 @@ +[#]: subject: "5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code" +[#]: via: "https://news.itsfoss.com/upcoming-code-editors/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code +====== + +Interesting code editors that might replace Visual Studio Code for you in 2023! + +![5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code][1] + +Well, 2022 is coming to an end. + +We featured new remarkable code editors being released for Linux, starting from [Lite XL][2], to options like [Pulsar][3] and more. + +So, to commemorate that, I have compiled this list of upcoming code editors for Linux that have a strong chance of challenging the supremacy of [Visual Studio Code][4]. + +Let me take you through it. + +### 1. Pulsar + +![pulsar][5] + +[Pulsar][6] is a community-led open-source code editor aiming to be a replacement for the famous Atom code editor. + +The community behind it has been hard at work bringing this on par with the original Atom editor by introducing modern features with an updated architecture. + +So, if you were an Atom user, you could try this! + +It is available to download from the [official website][7], but do keep in mind that it is in its early development stages. + +### 2. Atom Community + +![atom community][8] + +Also rising from [the ashes][9] of the now-defunct Atom editor, '[Atom Community][10]' is a project meant to take over the concepts and ideas of its predecessor. + +They aim to get started by providing the most essential features and making it on par with the functionality available in the [atom-ide-ui][11] package. + +It has the potential to be something more, but in its current form, I would not suggest this to new users right now. They have a slightly different long-term goal when compared to Pulsar, which makes it another project worth taking a look at. + +But, for 2023, things could be different. + +Still, those who like an adventure can build it using the [source code][12]. + +### 3. Lapce + +![lapce][13] + +A lightweight and fast open-source code editor? + +That is what [Lapce][14] is! + +It is a Rust-based open-source code editor that focuses on providing such an experience. + +We covered it when it was in the pre-alpha stage, but in 2023 it can be something to watch out for. + +### 4. Zed + +![zed breadcrumbs][15] + +[Zed][16] is an upcoming code editor aiming to challenge VS Code's dominance. + +It is set to feature many features, such as Real-time collaboration, a minimal interface, code actions, a command palette, and [more][17]. + +In fact, Atom's founder, [Nathan Sobo][18] is behind this and has termed this as the '_spiritual successor_' to Atom. + +### 5. Lite XL + +![lite xl][19] + +[Lite XL][2] is an open-source code editor written in Lua, and only uses three megabytes of storage and around twenty megabytes of RAM. (compared to VS Code's ~550 MB). + +It could be to your liking if you were looking for a completely minimal code editor. + +You can get it right now from the [official website][20], it receives regular updates, and you can expect the same to be true in 2023. + +**Well, this is the end of this list and the year 2022.** 😃 + +_I may have missed some code editors, and I know you will let me know in the comments section. Feel free to share your thoughts!_ + +> 🌐 Follow us on [Mastodon][21] and [Twitter][22] to never miss an update! + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/upcoming-code-editors/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/upcoming-editors-which-may-challenge-vs-code.png +[2]: https://itsfoss.com/lite-xl/ +[3]: https://news.itsfoss.com/pulsar-editor/ +[4]: https://code.visualstudio.com +[5]: https://news.itsfoss.com/content/images/2022/12/Pulsar.png +[6]: https://pulsar-edit.dev +[7]: https://pulsar-edit.dev/download.html#releases +[8]: https://news.itsfoss.com/content/images/2022/12/Atom_Community.jpg +[9]: https://github.blog/2022-06-08-sunsetting-atom/ +[10]: https://atom-community.github.io +[11]: https://github.com/facebookarchive/atom-ide-ui +[12]: https://github.com/atom-community/atom +[13]: https://news.itsfoss.com/content/images/2022/12/Lapce.jpg +[14]: https://lapce.dev +[15]: https://news.itsfoss.com/content/images/2022/12/Zed_Early.jpg +[16]: https://zed.dev/ +[17]: https://zed.dev/features +[18]: https://twitter.com/nathansobo +[19]: https://news.itsfoss.com/content/images/2022/12/LiteXL.jpg +[20]: https://lite-xl.com/en/downloads +[21]: https://mastodon.social/@itsfoss +[22]: https://twitter.com/itsfoss2 From 3910ce7ccb814798c86a5262aa6ebe5a2c1b50a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 28 Dec 2022 01:32:45 +0800 Subject: [PATCH 857/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221227.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20oh?= =?UTF-8?q?=20my=20zsh=20and=20powerlevel10k=20A=20Match=20Made=20in=20Hea?= =?UTF-8?q?ven.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...my zsh and powerlevel10k A Match Made in Heaven.md | 222 ++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 sources/tech/20221227.1 ⭐️⭐️ oh my zsh and powerlevel10k A Match Made in Heaven.md diff --git a/sources/tech/20221227.1 ⭐️⭐️ oh my zsh and powerlevel10k A Match Made in Heaven.md b/sources/tech/20221227.1 ⭐️⭐️ oh my zsh and powerlevel10k A Match Made in Heaven.md new file mode 100644 index 0000000000..4972b6f039 --- /dev/null +++ b/sources/tech/20221227.1 ⭐️⭐️ oh my zsh and powerlevel10k A Match Made in Heaven.md @@ -0,0 +1,222 @@ +[#]: subject: "oh my zsh and powerlevel10k: A Match Made in Heaven" +[#]: via: "https://www.debugpoint.com/oh-my-zsh-powerlevel10k/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +oh my zsh and powerlevel10k: A Match Made in Heaven +====== + +**A quick and simple guide to transforming your zsh terminal shell with oh my zsh and powerlevel10k theme to make it look cool in Ubuntu and other Linux distros.** + +![][1] + +The default shell in most of the Linux distributions is bash. Bash is solid and a legacy utility. However, it lacks some customizations, such as nice colours, cursor support, etc. + +You can use another shell, zsh to enjoy additional tweaks and help you to extend your Bash shell experience. + +This crisp guide explains how to install zsh, oh my zsh and apply the powerlevel10k theme. + +### oh my zsh and powerlevel10k: Installation and configuration guide + +#### 1. Installing zsh and changing the shell + +Open a terminal and install zsh using the following command applicable to your distribution. + +**_Ubuntu, Debian, Linux Mint and all related distro_** + +``` +sudo apt install zsh +``` + +_**Fedora**_ + +``` +sudo dnf install zsh +``` + +**_Arch_** + +``` +pacman -S zsh +``` + +After installation is complete, find out the zsh install path + +``` +whereis zsh +``` + +Then change the shell using the zsh executable path for the current user. + +``` +chsh -s /usr/bin/zsh +``` + +![change the shell for the current user][2] + +Close and open the terminal again. And you should see the first-time setup for zsh. Select option 2. And it will change the look of your shell prompt with a default theme, as shown below. + +![first time setup for zsh][3] + +#### 2. Install oh my zsh + +The oh my zsh is a set of scripts to customize zsh further. + +Firstly, we will install oh my zsh script by downloading it from GitHub. It would be best if you had wget and git package for that. [Install wget][4] & git using the following command if it’s not installed. + +``` +sudo apt install wget +sudo apt install git +``` + +Then install oh my zsh using the following command. + +``` +sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" +``` + +And you should see the oh my zsh theme is applied with a default theme robbyrussell to your terminal. + +![Install oh my zsh and default theme][5] + +The Oh my zsh also comes with additional themes, and you can install them [using this guide][6]. However, in this tutorial, I will talk about a specific theme, i.e. powerlevel10k. + +#### 3. Install powerlevel10k theme for oh my zsh + +Open a terminal and run the following command to clone powerlevel10k repo from GitHub and put the files in the config folder of oh my zsh. + +``` +git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k +``` + +Open the `~/.zshrc` file in a text editor and set the `ZSH_THEME` variable to `"powerlevel10k/powerlevel10k"`. + +``` +cd ~ +``` + +``` +nano .zshrc +``` + +By default, it should be robbyrussell. Remove “robbyrussell” and add the below `"powerlevel10k/powerlevel10k"`. + +Your `~/.zshrc` file should look something like this after the change: + +`ZSH_THEME="powerlevel10k/powerlevel10k"` + +Save and close the file (CTRL+O, ENTER and CTRL+X). + +![change oh my zsh theme to powerlevel10k][7] + +Restart your terminal to launch the first-time wizard to set up the powerlevel10k theme. + +#### 4. First time set up for powerleve10k + +When you launch the terminal after the installation, the powerlevel10k prompts you with various questions to understand your Linux distro setup. So, press the key as per your need to customize your terminal as per your taste. Some example screenshots of questions are below to give you some idea. + +![powerlevel10k - wizard1][8] + +![powerlevel10k - wizard 2][9] + +And finally, you can save the file to enjoy the new look of your terminal. + +![After applying settings in powerlevel10k zsh theme][10] + +If you want to restart the configuration wizard again, run the following. You can do it as many times as you want. + +``` +p10k configure +``` + +This concludes the basic setup. If you want more, follow along. + +### More configuration (advanced usage) + +#### 5. Installing dracula GNOME Terminal theme + +If you are using GNOME desktop with the native terminal, you can try the stunning drakula theme. To do that, open a terminal and run the following command to download the theme. + +``` +git clone https://github.com/dracula/gnome-terminalcd gnome-terminal +``` + +Open GNOME Terminal and go to preferences. Add a new profile by clicking on the [+] and name it “drakula”. Then go to colours tab and uncheck ‘use colors from system theme’ option. + +![create a new profile for terminal][11] + +Go back to the terminal and run the following. When prompted, select the profile name which you just created as above. + +``` +./install.sh +``` + +![applying the drakula theme for gnome terminal][12] + +Once the installation is complete, go back to preferences and mark the drakula profile as default. + +#### 6. Autocomplete and syntax highlighting for zsh + +There are two community-developed plugins available for zsh, which you may want to try out. They are zsh-autosuggestions and zsh-syntax-highlighting. + +Open a terminal and run the following to download zsh-autosuggestions and put it inside the plugin folder. + +``` +git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions +``` + +Similarly, run the following for the syntax highlighting plugin. + +``` +git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting +``` + +Open the ~/.zshrc file via a text editor (use the following command), and find the plugins=(git) line. And replace it with the following: + +``` +nano ~/.zshrc +``` + +``` +plugins=(git zsh-autosuggestions zsh-syntax-highlighting) +``` + +Save & close the file using CTRL+O, ENTER and CTRL+X. + +Close and open your terminal; now, you should be able to use the auto-suggestions and syntax highlighting. + +### Wrapping Up + +That’s it! You should now have “Oh My Zsh” and the Powerlevel10k theme installed on your system. You can customize the appearance and behaviour of the Powerlevel10k theme by customizing further as per your need. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/oh-my-zsh-powerlevel10k/ + +作者:[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/12/ohp10k.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/12/change-the-shell-for-the-current-user.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/first-time-setup-for-zsh.jpg +[4]: https://www.debugpoint.com/wget-not-found-error/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/12/Install-oh-my-zsh-and-default-theme.jpg +[6]: https://www.debugpoint.com/install-use-zsh/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/12/change-oh-my-zsh-theme-to-powerlevel10k.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/powerlevel10k-wizard1.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/12/powerlevel10k-wizard-2.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/12/After-applying-settings-in-powerlevel10k-zsh-theme.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/12/create-a-new-profile-for-terminal.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/12/applying-the-drakula-theme-for-gnome-terminal.jpg From 0442f6b0408414c1c459e96d9c71aed4a97cd55a Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 28 Dec 2022 09:33:55 +0800 Subject: [PATCH 858/925] translated --- ...ightful features of the Linux QtFM file manager.md | 91 ------------------- ...ightful features of the Linux QtFM file manager.md | 90 ++++++++++++++++++ 2 files changed, 90 insertions(+), 91 deletions(-) delete mode 100644 sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md create mode 100644 translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md diff --git a/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md b/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md deleted file mode 100644 index d4a70a8ab2..0000000000 --- a/sources/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md +++ /dev/null @@ -1,91 +0,0 @@ -[#]: subject: "3 delightful features of the Linux QtFM file manager" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-qtfm" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -3 delightful features of the Linux QtFM file manager -====== - -QtFM is a simple file manager that aims to provide the basic features of file management through a fast and intuitive interface. It's available for Linux, BSD, and macOS. - -QtFM, as its name suggests, uses the Qt (canonically pronounced "cute") programming toolkit. I've worked with the Qt toolkit both in C++ and Python, and using it is always a pleasure. It's cross-platform, it's got multiple levels of useful abstraction so developers don't have to interact directly with vendor-specific SDKs, and it's highly configurable. From a user's perspective, it's a "natural" and fast experience, whether you're on the latest hardware or on an [old computer][1]. - -### Using QtFM - -There's not much to QtFM. It focuses on being exactly what its name claims: a file manager (FM) for Qt. The layout is what you probably expect from a file manager: a list of common places and devices on the left and a list of files on the right. - -![QtFM file manager][2] - -It's got just four menus. - -- **File**: Create a new file or folder, open a new tab or window, or exit the application. -- **Edit**: Copy, paste, move to trash, or create a new bookmark in the left panel. -- **View**: Toggle between the list and icon views, adjust the layout. -- **Help**: Licensing information, and links to online documentation. - -Interacting with QtFM is largely the same experience you're probably used to with any standard-issue file manager. You can click around to navigate, open files in its default application, drag-and-drop files and folders, copy and paste files and folders, launch applications, and whatever else you do when you're interacting with the contents of your computer. It's familiar, so there's basically no learning curve and no unpleasant surprises. - -There are, however, several pleasant surprises. Here are three of my favorites. - -### 1. Put a command into a contextual menu - -With QtFM, you can add any command you can run in a terminal to the right-click contextual menu. For instance, suppose you want an option to convert an image into the [webp format][3] to the right-click menu. There's no complex framework or scripting language to learn, you don't need to develop a plugin. You can do it in just 3 steps: - -- Go to the **Edit** menu and select **Settings** -- Click on the **Custom actions tab** -- Click the **Add** button and enter the command you want to run, using `%f` for the source file and `%n` for the new file - -![QtFM custom actions][4] - -The action now appears in your QtFM contextual menu. - -### 2. Flexible layout - -One of the built-in features of the Qt toolkit is that many of its components are ("widgets") detachable. QtFM takes advantage of this and allows you to unlock its layout from the **View** menu. Once unlocked, you can drag toolbars and side panels, anchoring them in new positions around your window. I was able to combine the menu bar, navigation toolbar, and the URI field into a unified panel, and I placed a file tree on the right side of the window for convenience. - -![QtFM unlocking the layout][5] - -This requires no special knowledge of application design or even configuration. You just unlock, drag and drop, and lock. - -### 3. Tabbed view - -Many Linux file managers offer tabs the same way as most web browsers do. It's a simple interface trick that lets you keep several locations handy. I don't know whether it actually saves time, but I always feel like it does. QtFM offers tabs, too, and there are two things I particularly enjoy about the way it implements them. - -First of all, the tabs are at the bottom of the window by default (you can change that in **Settings**.) Because I tend to read from left to right and top to bottom, I usually prefer to have "extra" information at the bottom and right ends of a window. Of course, what constitutes "extra" information varies from user to user, so I don't blame any developer for placing widgets and panels in places I wouldn't put widgets and panels. It's nice, though, when a developer accidentally agrees with my preferences. - -Secondly, the tabs are responsive. You can drag a file or folder from one tab into another just by hovering over your target tab. It feels as natural as dragging and dropping from one window to another. - -### Install QtFM - -On Linux, your distribution may package QtFM in its software repository. If so, you can use your package manager to install. For example, on Debian and Debian-based systems: - -``` -$ sudo apt install qtfm -``` - -If your distribution doesn't offer QtFM, you may find a package for it on its [website][6], or you can download the source code from its [Git repository][7]. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-qtfm - -作者:[Seth Kenlon][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/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity -[2]: https://opensource.com/sites/default/files/2022-12/qtfm.webp -[3]: https://opensource.com/article/20/4/webp-image-compression -[4]: https://opensource.com/sites/default/files/2022-12/qtfm-custom-action.webp -[5]: https://opensource.com/sites/default/files/2022-12/qtfm-layout-unlock.webp -[6]: https://qtfm.eu/ -[7]: https://github.com/rodlie/qtfm/ diff --git a/translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md b/translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md new file mode 100644 index 0000000000..19cb2172d2 --- /dev/null +++ b/translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md @@ -0,0 +1,90 @@ +[#]: subject: "3 delightful features of the Linux QtFM file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-qtfm" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +# Linux QtFM 文件管理器的 3 个令人愉快的功能 + +QtFM 是一个简单的文件管理器,旨在通过快速直观的界面提供文件管理的基本功能。它适用于 Linux、BSD 和 macOS。 + +QtFM,顾名思义,使用 Qt(规范发音为 “cute”)编程工具包。我在 C++ 和 Python 中使用过 Qt 工具包,使用它总是一种乐趣。它是跨平台的,具有多个有用的抽象级别,因此开发人员不必直接与特定于供应商的 SDK 交互,而且它具有高度可配置性。从用户的角度来看,无论你使用的是最新的硬件还是[旧计算机][1],这都是一种“自然”且快速的体验。 + +### 使用 QtFM + +QtFM 没有太多内容。它专注于实现其名称所声称的:Qt 的文件管理器 (FM)。布局可能是你对文件管理器的期望:左侧是常用位置和设备的列表,右侧是文件列表。 + +![QtFM file manager][2] + +它只有四个菜单。 + +- **文件**:创建新文件或文件夹,打开新选项卡或窗口,或退出应用。 +- **编辑**:在左侧面板中复制、粘贴、移至垃圾箱或创建新书签。 +- **视图**:在列表视图和图标视图之间切换,调整布局。 +- **帮助**:许可信息和在线文档链接。 + +与 QtFM 交互与你可能习惯使用的任何标准文件管理器的体验大致相同。你可以点击导航、在其默认应用中打开文件、拖放文件和文件夹、复制和粘贴文件和文件夹、启动应用,以及你在与计算机内容交互时执行的任何其他操作。它很熟悉,所以基本上没有学习曲线,也没有不愉快的惊喜。 + +然而,也有一些惊喜。这是我最喜欢的三个。 + +### 1. 将命令放入上下文菜单 + +使用 QtFM,你可以将可以在终端中运行的任何命令添加到右键单击上下文菜单中。例如,假设你想要一个将图像转换为 [webp 格式][3]的选项到右键菜单。无需学习复杂的框架或脚本语言,无需开发插件。你只需 3 个步骤即可完成: + +- 转到**编辑**菜单并选择**设置**。 +- 单击**自定义操作选项卡**。 +- 单击**添加**按钮并输入要运行的命令,对源文件使用 `%f`,对新文件使用 `%n`。 + +![QtFM custom actions][4] + +该操作现在出现在你的 QtFM 上下文菜单中。 + +### 2. 灵活的布局 + +Qt 工具包的内置功能之一是它的许多组件(“小部件”)是可分离的。QtFM 利用了这一点,并允许你从**视图**菜单中解锁其布局。解锁后,你可以拖动工具栏和侧面板,将它们固定在窗口周围的新位置。我能够将菜单栏、导航工具栏和 URI 字段组合到一个统一的面板中,并且为了方便,我在窗口的右侧放置了一个文件树。 + +![QtFM unlocking the layout][5] + +这不需要应用设计甚至配置的特殊知识。你只需解锁、拖放和锁定。 + +### 3. 标签视图 + +许多 Linux 文件管理器提供选项卡的方式与大多数 Web 浏览器相同。这是一个简单的界面技巧,可让你方便地保留多个位置。我不知道它是否真的节省了时间,但我总觉得它确实如此。QtFM 也提供选项卡,我特别喜欢它实现选项卡的方式有两点。 + +首先,选项卡默认位于窗口底部(你可以在**设置**中更改它)。因为我倾向于从左到右、从上到下阅读,所以我通常更喜欢在窗口的底部和右端设置“额外”信息。当然,“额外”信息的构成因用户而异,因此我不会责怪任何开发人员将小部件和面板放置在我不会放置小部件和面板的地方。不过,当开发人员不小心同意我的偏好时,这很好。 + +其次,标签是响应式的。只需将鼠标悬停在目标选项卡上,即可将文件或文件夹从一个选项卡拖动到另一个选项卡中。感觉就像从一个窗口拖放到另一个窗口一样自然。 + +### 安装 QtFM + +在 Linux 上,你的发行版可能会将 QtFM 打包在它的软件仓库中。如果是这样,你可以使用包管理器进行安装。例如,在 Debian 和基于 Debian 的系统上: + +``` +$ sudo apt install qtfm +``` + +如果你的发行版不提供 QtFM,你可以在其[网站][6]上找到它的软件包,或者你可以从它的 [Git 仓库][7]下载源码。 + +--- + +via: https://opensource.com/article/22/12/linux-file-manager-qtfm + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者 ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity +[2]: https://opensource.com/sites/default/files/2022-12/qtfm.webp +[3]: https://opensource.com/article/20/4/webp-image-compression +[4]: https://opensource.com/sites/default/files/2022-12/qtfm-custom-action.webp +[5]: https://opensource.com/sites/default/files/2022-12/qtfm-layout-unlock.webp +[6]: https://qtfm.eu/ +[7]: https://github.com/rodlie/qtfm/ From 49091c74f3832af9119e2c40ef39150079cb506e Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 28 Dec 2022 09:37:04 +0800 Subject: [PATCH 859/925] translating --- ...de Editors that May Challenge the Supremacy of Visual Studio Code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md index 35e43090f4..a7ca46d18d 100644 --- a/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md +++ b/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/upcoming-code-editors/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 4af341fc8cc2c9a4b170a1e601664a0a741bc7cb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 28 Dec 2022 09:46:32 +0800 Subject: [PATCH 860/925] RP @CanYellow https://linux.cn/article-15388-1.html --- ...inciples will impact the future of work.md | 96 ++++++++++++++++++ ...inciples will impact the future of work.md | 97 ------------------- 2 files changed, 96 insertions(+), 97 deletions(-) create mode 100644 published/20210103 How open principles will impact the future of work.md delete mode 100644 translated/tech/20210103 How open principles will impact the future of work.md diff --git a/published/20210103 How open principles will impact the future of work.md b/published/20210103 How open principles will impact the future of work.md new file mode 100644 index 0000000000..3631e38bdd --- /dev/null +++ b/published/20210103 How open principles will impact the future of work.md @@ -0,0 +1,96 @@ +[#]: collector: (lujun9972) +[#]: translator: (CanYellow) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15388-1.html) +[#]: subject: (How open principles will impact the future of work) +[#]: via: (https://opensource.com/open-organization/21/1/open-is-future-of-work) +[#]: author: (Ron McFarland https://opensource.com/users/ron-mcfarland) + +开放原则将如何影响未来工作 +====== + +> 在许多方面,我们的工作性质塑造了我们。那么,未来工作的性质将发生巨大变化,我们又该做何准备呢? + +![][0] + +如果我们将“工作”定位为获得某种回报的任何形式的付出,那么工作是,并且一直是,决定我们是谁的主要因素之一。工作是我们生活的一个重要方面。在工作中(不论这对我们意味着什么),我们结识朋友,我们获得智力激励和情感满足的源泉,我们得到成长,我们感受自身无穷的创造性。对于我们的家人、朋友、社区和社会而言,工作极其重要,我们不应轻视工作的重要性亦或视其为理所当然。 + +因此如果未来 [工作的性质将发生变化][2],这可能意味着恰恰是我们 _自我认知_ 中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 + +考察自第一次工业革命(18、19世纪)以来的工作转变,很多人从从事农业劳动转为进入城市工厂工作,这从根本上改变了他们的生活方式。新的工作方式需要全新的、更专业的工作技能,而不再是农村经济中常见的手艺。接下来的几十年里,当我们检视我们的个人工作环境时,我们可能会发现工业时代以来的这一趋势可能发生逆转:从层级制度、可代替的通用技术与活动,重新转变为横向协作与对专业知识的熟练掌握的更高要求(回到手艺时代)。 + +不过,这一次,这些转变的到来将是全球性的而非区域性的,而且转变的速度要快的多。 + +在这一新的工作环境中,[开放组织原则][3] 将扮演关键性的角色。 + +本系列中,我将回顾 [Lynda Gratton 教授的作品《转变》][4](LCTT 译注:中译本:《转变:未来社会工作岗位需求变化及应对策略》,ISBN:9787121152894),本书成书于 2014 年(LCTT 译注:本书原版有 [2011 版][T1] 与 [2014 版][T2]),书中数据于 2010 年收集,但今天仍然适用(将来也一样)。本书中,Gratton 教授指出了工作将在 2025 到 2050 年间如何变化。这是关键信息,因为它有助于我们在准备和发展我们的职业生涯时作出正确的选择。 + +Gratton 教授阐释了在上述时间段内影响未来工作的主要因素。本系列中,我们将对它们做一个总结并解释开放组织原则如何融入它们之中。 + +### 影响未来工作的五个因素 + +煤炭与蒸汽动力的发明推动了第一次工业革命。[Gratton 教授][5] 说,今天,五种微妙的力量导致了类似的转变: + + 1. 日益增长的全球化活动 + 2. 技术的快速进步 + 3. 人类寿命与人口数量 + 4. 社会与家庭结构变化 + 5. 低碳经济的需求 + +简而言之,计算机更快了,材料更强了,药物能治疗更多的疾病使得人类的寿命更长。这些都在不同程度上影响了我们未来的工作方式。以下针对上述每一点的一些说明。 + +#### 1、全球化 + +在以前的文章 [《全球化:开放的历史》][6] 中,我讨论了全球化的多种动力与影响因素,其中之一就是贸易。从 1950 年到 2010 年的 60 年间,全球贸易量增加了 60 倍,与此同时运输成本降低了,发展中国家不仅看到了贸易增长,而且看到了新的创新。我还在我的另一篇文章 [《历史变迁中的开放组织》][7] 中讨论了历史早期的全球化。我另外在我的文章 [《全球性的开放组织是怎么样的》][8] 中探讨了从现在到未来全球治理的重要性。如 Gratton 教授所言,全球化在未来工作中将发挥不可否认与不可避免的影响。 + +> 如果未来工作的性质将发生变化,这可能意味着恰恰是我们自我认知中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 + +#### 2、技术 + +计算成本一直在以惊人的速度下降,它还将继续下降。这有助于连接到目前为止仍然大部分被隔离在更大的全球经济之外的数十亿人。他们将开始进入劳动力市场并成为更有影响力的消费者。与此同时,计算机与高级自动化在未来将 [取代人类工作][9],这都将影响未来的工作转变。 + +#### 3、人口数量与寿命 + +Gratton 教授还记录了不同世代的人对未来工作的影响,尤其是在美国。年轻一代在未来将扮演主要角色,他们的态度将不同于上一代。此外,全球不同地区的出生率将影响经济繁荣。由于一些地区的人口降低而另一些的将会增加,将会出现更多的移民。他们将移民至 Gratton 教授谓之“创新集群”的地方。最后,Gratton 教授认为全球预期寿命将会变化。截至 2025 年,世界人口的 10% 将超过 65 岁,这些人口将更可能希望继续工作,以得到持续的收入、精神刺激、身体活动,与他人的联系以及生活的意义与目的的源泉。考虑到今天的很多儿童都更可能拥有超过 100 岁的寿命,如果他们在 65 岁退休,他们余下的至少 35 年里将做不了太多事情。基于这样的考虑,在未来职业道路的多次转换以及在社区与志愿服务项目中的积极参与将会大大拓展。 + +#### 4、社会 + +常规的变化之外,Gratton 教授还描述了一些社会变化。她说,未来女性在工作上的角色将会变化,人们将比以往拥有更多的选择来塑造他们希望的生活;随着个人劳动生产率的提升,平均空闲时间将比以往更多。 + +#### 5、能源 + +我在 [资源工业革命][10] 上的一篇演讲中讨论了资源节约型工业的扩张。格拉特教授为该对话补充了一些有价值的观点。她认为气候变化将逐渐成为主要议题,并导致运输与消费的降低。尤其是世界范围内的水资源供给将无法跟上用水需求。海水淡化项目将大幅扩张(可能由正在开发的 [第四代][11] 分布式小型模块化核电站提供动力)。环境灾难将使人们背井离乡,并在世界范围内形成移民社区。更多能效高的生活方式将会被发现和引入,这将影响未来工作。 + +### 为未来提前准备 + +上述五种力量将推动未来工作方式发生根本性的改变,Gratton 教授认为我们现在就需要开始为这样的未来提前做准备。本系列的下一篇文章中,我将介绍 Gratton 教授对未来的展望以及应对快速变化的未来的一些情境。个人如何将这些变化视作职业机会?另一方面,如果简单地选择对即将到来的变化 _视而不见_ 又会发生什么?我将回顾 Gratton 教授在这些问题上的思考。同样的,我也将解释开放原则如何形成必经的变革的核心。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/open-organization/21/1/open-is-future-of-work + +作者:[Ron McFarland][a] +选题:[lujun9972][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ron-mcfarland +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=6YtME4Hj (Working on a team, busy worklife) +[2]: https://opensource.com/open-organization/18/7/transformation-beyond-digital-2 +[3]: https://theopenorganization.org/definition/ +[4]: http://lyndagratton.com/books/the-shift/ +[5]: https://en.wikipedia.org/wiki/Lynda_Gratton +[6]: https://opensource.com/open-organization/20/7/globalization-history-open +[7]: https://opensource.com/open-organization/20/8/global-history-collaboration +[8]: https://opensource.com/open-organization/20/9/global-open-organization +[9]: https://opensource.com/open-organization/19/9/claiming-human-age-of-AI +[10]: https://www.slideshare.net/RonMcFarland1/the-starting-of-the-third-industrial-revolution +[11]: https://en.wikipedia.org/wiki/Generation_IV_reactor + +[T1]: https://isbnsearch.org/isbn/9780007427956 +[T2]: https://isbnsearch.org/isbn/9780007525850 +[0]: https://img.linux.net.cn/data/attachment/album/202212/28/094540cru0c2b8g2rz2ur2.jpg \ No newline at end of file diff --git a/translated/tech/20210103 How open principles will impact the future of work.md b/translated/tech/20210103 How open principles will impact the future of work.md deleted file mode 100644 index 363bc6886a..0000000000 --- a/translated/tech/20210103 How open principles will impact the future of work.md +++ /dev/null @@ -1,97 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (CanYellow) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (How open principles will impact the future of work) -[#]: via: (https://opensource.com/open-organization/21/1/open-is-future-of-work) -[#]: author: (Ron McFarland https://opensource.com/users/ron-mcfarland) - -开放原则将如何影响未来工作 -====== -我们的工作性质在很多方面塑造了我们自己。未来工作的性质将发生巨大变化,我们又该做何准备呢? - -![团队合作,忙碌的工作生活][1] - -如果我们将“工作”定位为获得某种回报的任何形式的付出,那么工作是并且一直是决定我们是谁的主要因素之一。工作是我们生活的一个重要方面。在工作中(不论这对我们意味着什么),我们结识朋友,我们获得智力激励和情感满足的源泉,我们得到成长,我们感受自身无穷的创造性。对于我们的家人、朋友、社区和社会而言,工作极其重要,我们不应轻视工作的重要性亦或视其为理所当然。 - -因此如果未来[工作的性质将发生变化][2],这可能意味着恰恰是我们 _自我认知_ 中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 - -考察自第一次工业革命(18、19世纪)以来的工作转变,很多人从从事农业劳动转为进入城市工厂工作,这从根本上改变了他们的生活方式。新的工作方式需要全新的更专业的工作技能而不再是农村经济中常见的手艺。接下来的几十年里,当我们检视我们的个人工作环境时,我们可能会发现工业时代以来的这一趋势可能发生逆转:从层级制度、可代替的通用技术与活动重新转变为横向协作与对专业知识的熟练掌握的更高要求(回到手工艺时代)。 - -这个时代与这些转变的到来将是全球性的而非区域性的,转变的速度已经大大加快了。 - -在这一新的工作环境中,[开放组织原则][3]将扮演关键性的角色。 - -本系列中,我将回顾 [Lynda Gratton 教授的作品,_转变_][4] (中译本:转变:未来社会工作岗位需求变化及应对策略,ISBN:9787121152894),本书成书于2014年(译注,本书原版有 [2011版][T1] 与 [2014版][T2] ),书中数据于2010年收集,但今天仍然适用(将来也一样)。本书中,Gratton教授指出了工作将在2025到2050年间如何变化。这是关键信息,因为它有助于我们在准备和发展我们的职业生涯时作出正确的选择。 - -Gratton教授阐释了在上述时间段内影响未来工作的主要因素。本系列中,我们将对它们做一个总结并解释开放组织原则如何融入它们之中。 - - -### 影响未来工作的五个因素 - -煤碳与蒸汽动力的发明推动了第一次工业革命。[Gratton教授][5]说,今天五种微妙的力量导致了类似的转变: - - 1. 日益增长的全球化活动 - 2. 技术的快速进步 - 3. 人类寿命与人口数量 - 4. 社会与家庭结构变化 - 5. 低碳经济的需求 - -简而言之,计算机更快了,材料更强了,药物能治疗更多的疾病使得人类的寿命更长。这些都在不同程度上影响了我们未来的工作方式。以下针对上述每一点的一些笔记。 - -#### 1\. 全球化 - - -在以前的文章 [《全球化:开放的历史》][6] 中,我讨论了全球化的多种动力与影响因素,其中之一就是贸易。从1950年到2010年的60年间,全球贸易的体量增加了60倍,与此同时运输成本降低了,发展中国家不仅看到了贸易增长,而且看到了新的创新。我还在我的另一篇文章 [《历史变迁中的开放组织》][7]中讨论了历史早期的全球化。我另外在我的文章[《全球性的开放组织是怎么样的》][8]中探讨了从现在到未来全球治理的重要性。如Gratton教授所言,全球化在未来工作中将发挥不可否认与不可避免的影响。 - -如果未来工作的性质将发生变化,这可能意味着恰恰是我们自我认知中的某些关键要素将发生变化。我们应该认真准备应对这些转变。 - -#### 2\. 技术 - -计算成本一直在以惊人的速度下降,它还将继续下降。这有助于连接到目前为止仍然大部分被隔离在更大的全球经济之外的数十亿人。他们将开始进入劳动力市场并成为更有影响力的消费者。与此同时,计算机与高级自动化在未来将[取代人类工作][9],这都将影响未来的工作转变。 - -#### 3\.人口数量与寿命 - -Gratton教授还记录了不同世代的人对未来工作的影响,尤其是在美国。年轻一代在未来将扮演主要角色,他们的态度将不同于上一代。此外,全球不同地区的出生率将影响经济繁荣。由于一些地区的人口降低而另一些的将会增加,将会出现更多的移民。他们将移民至Gratton教授谓之“创新集群”的地方。最后,Gratton教授认为全球预期寿命将会变化。截至2025年,世界人口的10%都将超过65岁,这些人口将更可能希望继续工作,为了得到持续的收入、精神刺激、身体活动,与他人的联系以及生活的意义与目的的源泉。考虑到今天的很多儿童都更可能拥有超过100岁的寿命,如果他们在65岁退休,他们余下的至少35年里将做不了太多事情。基于这样的考虑,在未来职业道路的多次转换以及在社区与志愿服务项目中的积极参与将会大大拓展。 - -#### 4\. 社会 - -常规的变化之外,Gratton教授还描述了一些社会变化。她说,未来女性在工作上的角色将会变化,人们将比以往拥有更多的选择来塑造他们希望的生活;随着个人劳动生产率的提升,平均空闲时间将比以往更多。 - -#### 5\. 能源 - -我在[资源工业革命][10]上的一篇演讲中讨论了资源节约型工业的扩张。格拉特教授为该对话补充一些有价值的观点。她认为气候变化将逐渐成为主要议题,并导致运输与消费的降低。尤其是世界范围内的水资源供给将无法跟上用水需求。海水淡化项目将大幅扩张(可能由正在开发的[第四代][11]分布式小型模块化核电站提供动力)。环境灾难将使人们背井离乡,并在世界范围内形成移民社区。更多能效高的生活方式将会被发现和引入,这将影响未来工作。 - - -### 为未来提前准备 - -上述五种力量将推动未来工作方式发生根本性的改变,Gratton教授认为我们现在就需要开始为这样的未来提前做准备。本系列的下一篇文章中,我将介绍Gratton教授对未来的展望以及应对快速变化的未来的一些情境。个人如何将这些变化视作职业机会?另一方面,如果简单地选择对即将到来的变化 _视而不见_ 又会发生什么?我将回顾Gratton教授在这些问题上的思考。同样的,我也将解释开放原则如何形成必经的变革的核心。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/open-organization/21/1/open-is-future-of-work - -作者:[Ron McFarland][a] -选题:[lujun9972][b] -译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ron-mcfarland -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/team_dev_email_chat_video_work_wfm_desk_520.png?itok=6YtME4Hj (Working on a team, busy worklife) -[2]: https://opensource.com/open-organization/18/7/transformation-beyond-digital-2 -[3]: https://theopenorganization.org/definition/ -[4]: http://lyndagratton.com/books/the-shift/ -[5]: https://en.wikipedia.org/wiki/Lynda_Gratton -[6]: https://opensource.com/open-organization/20/7/globalization-history-open -[7]: https://opensource.com/open-organization/20/8/global-history-collaboration -[8]: https://opensource.com/open-organization/20/9/global-open-organization -[9]: https://opensource.com/open-organization/19/9/claiming-human-age-of-AI -[10]: https://www.slideshare.net/RonMcFarland1/the-starting-of-the-third-industrial-revolution -[11]: https://en.wikipedia.org/wiki/Generation_IV_reactor - -[T1]: https://isbnsearch.org/isbn/9780007427956 -[T2]: https://isbnsearch.org/isbn/9780007525850 From 1ccecc15e16ec176ff44f524fc7ab7ebdff6e512 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 28 Dec 2022 13:02:44 +0800 Subject: [PATCH 861/925] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @toknow-gh 感谢您,完成了第一篇翻译贡献! --- .../20210917 Open source game achievements.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/translated/tech/20210917 Open source game achievements.md b/translated/tech/20210917 Open source game achievements.md index efd95d3dba..3b9f598dfc 100644 --- a/translated/tech/20210917 Open source game achievements.md +++ b/translated/tech/20210917 Open source game achievements.md @@ -3,7 +3,7 @@ [#]: author: "Dennis Payne https://fedoramagazine.org/author/dulsi/" [#]: collector: "lujun9972" [#]: translator: "toknow-gh" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " @@ -14,17 +14,17 @@ Gamerzilla:一个开源游戏成就系统 Photo by [Michał Parzuchowski][2] on [Unsplash][3] -了解开源游戏成就系统 Gamerzilla。它使游戏开发者能够独立于游戏平台实现成就系统。 +> 了解开源游戏成就系统 Gamerzilla。它使游戏开发者能够独立于游戏平台实现成就系统。 -一些开源游戏的质量已经媲美商业游戏。尽管还难以比肩 3A 大作,开源游戏在独立游戏中已颇具竞争力。但是游戏玩家预期是随时间变化的。早期的游戏只有高分成就。不断增加的成就种类促使玩家反复重玩游戏。比如你可能达到了满级,却还没有找到所有隐藏物品或没有完成全物品收集。Xbox 360 推出了首个在线多游戏成就系统。随后其它游戏平台也纷纷推出了自己的成就系统。 +一些开源游戏的质量已经媲美商业游戏。尽管还难以比肩 3A 大作,但开源游戏在独立游戏中已颇具竞争力。不过,游戏玩家的期望是随时间变化的。早期的游戏只有高分成就。不断增加的成就种类促使玩家反复重玩游戏。比如你可能达到了满级,却还没有找到所有隐藏物品或没有完成全物品收集。Xbox 360 推出了首个在线多游戏成就系统。随后其它游戏平台也纷纷推出了自己的成就系统。 -开源游戏在很大程度被游戏平台的成就系统排除在外。你可以在 Stream 上发布自己的游戏,但这需要付费。游戏平台主要与公司合作,而不是与自由软件社区合作。这也进一步把玩家锁定在了非自由的游戏平台上。 +开源游戏在很大程度被游戏平台的成就系统排除在外。你可以在 Stream 上发布开源游戏,但这需要付费。游戏平台主要与公司合作,而不是与自由软件社区合作。这也进一步把玩家锁定在了非自由的游戏平台上。 商业游戏开发商也没有得到太多好处。由于不能共享成就,一些享受成就的玩家拒绝从其他商店购买游戏。这种锁定效应增强了游戏平台的话语权。由于各个游戏平台使用不同的系统,开发者不得不针对它们分别进行适配和测试。较小的游戏平台则可能完全被忽略掉。并且平台方能够访问到所有使用该平台的公司的成就数据,这些数据可以被用来扩大竞争优势。 ### Gamerzilla 的架构 -[Gamerzilla][4] 是一个致力于改善这种现状的开源游戏成就系统。Gamerzilla 在设计上同时考虑了开源游戏和商业游戏。你可以运行自己的 Gamerzilla 服务器,使用游戏商店提供的服务器,甚至 Linux 发行版中的服务器。服务器也可以由其他团体来运行。在哪里购买游戏不再重要。成就数据都会上传到你的 Gamerzilla 服务器上。 +[Gamerzilla][4] 是一个致力于改善这种现状的开源游戏成就系统。Gamerzilla 在设计上同时考虑了开源游戏和商业游戏。你可以运行自己的 Gamerzilla 服务器,使用游戏商店提供的服务器,甚至 Linux 发行版提供的服务器。服务器也可以由其他团体来运行。在哪里购买游戏不再重要。成就数据都会上传到你的 Gamerzilla 服务器上。 一个基本的成就系统需要两个要素:游戏和 Gamerzilla 服务器。然而随着游戏数量增长,这种设计会暴露出其缺点。每个游戏都需要证书才能上传数据到服务器。由于拥有大量的游戏资源,并且能够在不同游戏商店之间同步数据,游戏启动器成为了众多玩家的选择。通过让启动器支持 Gamerzilla,游戏本身就不再需要证书了。游戏结果直接从启动器上传到 Gamerzilla 服务器。 @@ -32,33 +32,33 @@ freegamedev.net 曾提供了社交网络系统 Hubzilla。我们基于此开发 目前 Gamerzilla 服务器有两种实现。维护 Hubzilla 是一项复杂的工作,所以我们用 .Net 和 React 开发了一个独立的 Gamerzilla 服务器。游戏调用的 API 是相同的,所以不用关心连接的服务器是哪种实现。 -游戏启动器的开发和支持工作通常是滞后的。为了方便启动器增加对 Gamerzilla 的支持,我们开发了 libgamerzilla。这个库负责处理启动器、游戏和 Gamerzilla 服务器之间的交互。目前只有 _GameHub_ 实现了一个支持 Gamerzilla 的版本,并将在近期整合到项目中。Fedora 上的 libgamerzilla-server 是一个临时解决方案。它不启动游戏,而是监听成就并把成就上传到服务器。 +游戏启动器的开发和支持工作通常是滞后的。为了方便启动器增加对 Gamerzilla 的支持,我们开发了 libgamerzilla。这个库负责处理启动器、游戏和 Gamerzilla 服务器之间的交互。目前只有 GameHub 实现了一个支持 Gamerzilla 的版本,并将在近期整合到项目中。Fedora 上的 libgamerzilla-server 是一个临时解决方案。它不启动游戏,而是监听成就并把成就上传到服务器。 -支持 Gamerzilla 的游戏在不断增长。与游戏启动器一样,开发者使用 libgamerzilla 来完成 Gamerzilla 的集成工作。这个库由 C 语言实现,已经被 Python 和 nim 等多种编程语言使用。对于那些已经有成就系统的游戏,只需要花几天时间就可以完成对 Gamerzilla 的支持。其他游戏想要支持 Gamerzilla,大部分时间将会花在收集信息和授予成就上。 +支持 Gamerzilla 的游戏在不断增长。与游戏启动器一样,开发者使用 libgamerzilla 来完成 Gamerzilla 的集成工作。这个库由 C 语言实现,已经被 Python 和 nim 等多种编程语言使用。对于那些已经有成就系统的游戏,只需要花几天时间就可以完成对 Gamerzilla 的支持。其他游戏想要支持 Gamerzilla,大部分时间都是花在收集信息和授予成就上。 ### 架设服务器 -架设服务器最容易的方式是使用 Hubzilla 插件。但是运行 Hubzilla 站点却不是一件轻松的事情。在 Fedora 上架设基于 .Net 和 React 的服务器相对来说要容易一些,尽管这仍然需要许多步骤。详细步骤请参考 [readme][5]。需要这么多步骤的一部分原因是目前没有预编译好的发布版本。这意味着你需要自己安装 .Net,动手构建 React 源码部分。构建完成之后,React 代码会直接运行在 Apache 中。.Net 后端则运行在单独的服务上。Apache 作为代理负责把所有 Gamerzilla API 请求转发给后端服务。 +架设服务器最容易的方式是使用 Hubzilla 插件。但是运行 Hubzilla 站点却不是一件轻松的事情。在 Fedora 上架设基于 .Net 和 React 的服务器相对来说要容易一些,尽管这仍然需要许多步骤。详细步骤请参考 [readme][5] 文件。需要这么多步骤的一部分原因是目前没有预编译好的发布版本。这意味着你需要自己安装 .Net,动手构建 React 源码部分。构建完成之后,React 代码会直接运行在 Apache 中。.Net 后端则运行在单独的服务上。Apache 作为代理负责把所有 Gamerzilla API 请求转发给后端服务。 -按上面的步骤操作,Gamerzilla 已经运行起来了,但是现在还没有用户。当然应该有一个简单的方式来创建管理员和注册新用户。但是该功能还没有完成。目前只能通过 sqlite3 命令行来录入用户信息。具体步骤请参考 [readme][5]。用户可以是公开可见的,也可以是隐藏的。批准标记可以让新用户不立刻使用该系统,但是网络注册是必须的。在设计时我们已经考虑了用户相关模块的可替换性。通过替换 backend/Service/UserService.cs 就可以与其他站点进行集成。游戏网站也可以通过这种方式来为用户提供 Gamerzilla 成就系统。 +按上面的步骤操作,Gamerzilla 已经运行起来了,但是现在还没有用户。当然应该有一个简单的方式来创建管理员和注册新用户。但是该功能还没有完成。目前只能通过 sqlite3 命令行来录入用户信息。具体步骤请参考 [readme][5] 文件。用户可以是公开可见的,也可以是隐藏的。批准标记可以让新用户不立刻使用该系统,但是网络注册是必须的。在设计时我们已经考虑了用户相关模块的可替换性。通过替换 `backend/Service/UserService.cs` 就可以与其他站点进行集成。游戏网站也可以通过这种方式来为用户提供 Gamerzilla 成就系统。 目前 Gamerzilla 的后端使用的是 sqlite 数据库。我们还没有对它进行过性能测试。我们预计较大型的应用安装需要改进系统以使用更鲁棒的数据库。 ### 测试 -目前要找一个支持 Gamerzilla 的游戏启动器太难了。如果你安装了 libgamerzilla-server,就可以在命令行中运行 _gamerzillaserver_ 命令。首次运行该命令时需要输入 url 和 登录信息。以后再运行时会直接从配置文件读取这些信息。目前更正错误的唯一方法是删除 _.local/share/gamerzillaserver/server.cfg_ 再重新运行 _gamerzillaserver_ 命令。 +目前要找一个支持 Gamerzilla 的游戏启动器太难了。如果你安装了 libgamerzilla-server,就可以在命令行中运行 `gamerzillaserver` 命令。首次运行该命令时需要输入 URL 和登录信息。以后再运行时会直接从配置文件读取这些信息。目前更正错误的唯一方法是删除 `.local/share/gamerzillaserver/server.cfg` 再重新运行 `gamerzillaserver` 命令。 -大多数游戏还没有支持 Gamerzilla 的发行版。[itch.io 上的 Pinball Disc Room][6],它的 Lniux 版本支持 Gamerzilla,但是它的网页版是没有成就的。这款游戏只有两个成就:一个是存活 10 秒钟,另一个是解锁并使用隧道。只需要稍加练习,你就能获得一个成就。由于这款游戏没有可视化的成就提示消息,你需要查看 Gamerzila 服务器才能确认成就。 +大多数游戏还没有支持 Gamerzilla 的版本。[itch.io 上的 《Pinball Disc Room》][6],它的 Linux 版本支持 Gamerzilla,但是它的网页版是没有成就系统的。这款游戏只有两个成就:一个是存活 10 秒钟,另一个是解锁并使用隧道。只需要稍加练习,你就能获得一个成就。由于这款游戏没有可视化的成就提示消息,你需要查看 Gamerzila 服务器才能确认成就。 -目前打包到 Fedora 中的游戏都还不支持 Gamerzila。SuperTuxKart 已经整合了对 Gamerzila 的支持,正在等待发布新版本。 Seahorse adventures 和 Shippy 1984 添加了成就,但是新发布版本还没有打包。还有一部分游戏由我们独立完成了对 Gamerzila 的支持,但我们的拉取请求pull request或其它联系尝试还没有得到开发者的回应。 +目前打包到 Fedora 中的游戏都还不支持 Gamerzila。《SuperTuxKart》 已经整合了对 Gamerzila 的支持,正在等待发布新版本。《Seahorse adventures》 和 《Shippy 1984》 添加了成就,但是新发布版本还没有打包。还有一部分游戏由我们独立完成了对 Gamerzila 的支持,但我们的拉取请求pull request或其它联系尝试还没有得到开发者的回应。 ### 后续工作 Gamerzilla 需要更多游戏的支持。目前已经有很多游戏支持 Gamerzilla,并且正在以大约每月一个的速度增长。如果你有喜欢的游戏,可以请求开发方支持 Gamerzilla。如果你是游戏开发者,并且在支持 Gamerzilla 上需要技术支持,请联系我们。 -服务器的开发工作在缓步开展中,我们希望不久之后就会有一个可用的注册系统。在那之后我们可能会建立一个永久托管站点。目前你可以看到我们的[测试服务器][7]。一些人对于使用 .Net 作为后端表示担忧。我们的 API 并不复杂,可以很容易用 Python 重写。 +服务器的开发工作在缓步开展中,我们希望不久之后就会有一个可用的注册系统。在那之后我们可能会建立一个永久托管站点。目前你可以看到我们的 [测试服务器][7]。一些人对于使用 .Net 作为后端表示担忧。我们的 API 并不复杂,可以很容易用 Python 重写。 -最大的不确定性来自游戏启动器方面。GameHub 希望有一个通过用的成就接口。未来我们可能会在这方面与他们开展合作。增加对 itch.io 应用的支持可以提升系统的关注度。另一种方案是完全抛开启动器。也许可以将 gamerzillaserver 添加到 Gnome 中。然后你就可以在一个设置页面里配置 url 和登录信息。这样任何启动的游戏都可以记录成就了。 +最大的不确定性来自游戏启动器方面。GameHub 希望有一个通过用的成就接口。未来我们可能会在这方面与他们开展合作。增加对 itch.io 应用的支持可以提升系统的关注度。另一种方案是完全抛开启动器。也许可以将 gamerzillaserver 添加到 Gnome 中。然后你就可以在一个设置页面里配置 URL 和登录信息。这样任何启动的游戏都可以记录成就了。 -------------------------------------------------------------------------------- @@ -66,8 +66,8 @@ via: https://fedoramagazine.org/open-source-game-achievements/ 作者:[Dennis Payne][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/toknow-gh) -校对:[校对者ID](https://github.com/校对者ID) +译者:[toknow-gh](https://github.com/toknow-gh) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 315073d4d9f181a5f2aabf134813828f4ccbd9da Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 28 Dec 2022 13:03:55 +0800 Subject: [PATCH 862/925] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @toknow-gh 本文首发:https://linux.cn/article-15389-1.html 您的 LCTT 专页:https://linux.cn/lctt/toknow-gh --- .../20210917 Open source game achievements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20210917 Open source game achievements.md (99%) diff --git a/translated/tech/20210917 Open source game achievements.md b/published/20210917 Open source game achievements.md similarity index 99% rename from translated/tech/20210917 Open source game achievements.md rename to published/20210917 Open source game achievements.md index 3b9f598dfc..5cb5ca3dea 100644 --- a/translated/tech/20210917 Open source game achievements.md +++ b/published/20210917 Open source game achievements.md @@ -4,8 +4,8 @@ [#]: collector: "lujun9972" [#]: translator: "toknow-gh" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15389-1.html" Gamerzilla:一个开源游戏成就系统 ====== From 7a14a46d148555e362fdf915fe10df42e2fec9de Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 29 Dec 2022 09:31:23 +0800 Subject: [PATCH 863/925] translated --- ... How to Downgrade Flatpak Packages in Linux.md | 115 ------------------ ... How to Downgrade Flatpak Packages in Linux.md | 112 +++++++++++++++++ 2 files changed, 112 insertions(+), 115 deletions(-) delete mode 100644 sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md create mode 100644 translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md diff --git a/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md b/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md deleted file mode 100644 index 4761597588..0000000000 --- a/sources/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md +++ /dev/null @@ -1,115 +0,0 @@ -[#]: subject: "How to Downgrade Flatpak Packages in Linux" -[#]: via: "https://itsfoss.com/downgrade-flatpak-packages/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Downgrade Flatpak Packages in Linux -====== - -Technically, minor or point release updates are released to solve issues. But things may get worse when some updates break your current workflow. - -Whether a Flatpak package or Snap, everything breaks at some point when there is an issue. Being a sandboxed packaging solution, it may not affect the entire system, but if you encounter a bug that makes your app experience worse, you may regret the update. - -For example, the previous update of [Black Box][1] was bundled with certain bugs, and I could not select text! Developers have solved this issue now, but until they did not, I downgraded that specific package to make things work. - -So, if you want to downgrade a specific app installed as a Flatpak, you can follow this guide. - -### Downgrade Flatpak packages in Linux - -**Disclaimer:** Unlike installing Flatpaks, you need **sudo** privileges to downgrade Flatpak packages. And if your user doesn’t have them, you can follow our detailed guide on [how to give sudo access to users][2]. - -**Recommended Read**: [How to Apply GTK Themes on Flatpak Applications][3] - -Here are the steps below: - -#### 1. Get the Application ID of the Package - -The first step is to find the Application ID of the package you want to downgrade. You can easily find it by listing the installed packages: - -``` -flatpak list --app -``` - -![find flatpak package id in linux][4] - -Note down the application ID of the package you want to downgrade. - -Here, I am going to downgrade the Black Box, so my application ID will be `com.raggesilver.BlackBox`. - -#### 2. List previous releases and get the commit code - -Once you get the application ID, you’d need to list the previous releases. - -You can easily do this by following the given command syntax: - -``` -flatpak remote-info --log flathub -``` - -![find previous releases in flatpak][5] - -Once you find the preferred previous release, copy the commit code as shown above. - -#### 3. Downgrade the Flatpack package - -Once you follow the first two steps, you should have the following: - -- Application ID of the package. -- Commit code of preferred older release. - -Now, you have to put them in the following command: - -``` -sudo flatpak update --commit= -``` - -As I’m downgrading Black Box to the previous release, I’ll be using the following command: - -``` -sudo flatpak update --commit=c4ef3f4be655cbe2559451a9ef5977ab28139c54bb5adbd7db812f3482bd0db5 com.raggesilver.BlackBox -``` - -![downgrade flatpak package in linux][6] - -And that’s it! - -To check whether you have successfully downgraded the package, you can list the packages that need to be updated (considering everything else is up-to-date). It should include the name of the package that you have recently downgraded: - -``` -flatpak update -``` - -![downgrade flatpak package][7] - -And as you can see, the Black Box is outdated and needs to be updated, meaning the package has been downgraded successfully! - -### Wrapping Up - -In this quick tutorial, I explained how you downgrade Flatpak packages, and I hope you find this helpful. - -And if you have any queries or suggestions, let me know in the comments. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/downgrade-flatpak-packages/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/blackbox-terminal/ -[2]: https://itsfoss.com/add-sudo-user-ubuntu/ -[3]: https://itsfoss.com/flatpak-app-apply-theme/ -[4]: https://itsfoss.com/wp-content/uploads/2022/12/find-flatpak-package-id-in-linux.png -[5]: https://itsfoss.com/wp-content/uploads/2022/12/find-previous-releases-in-flatpak-1.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package-in-linux.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package.png diff --git a/translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md b/translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md new file mode 100644 index 0000000000..ca5b61f709 --- /dev/null +++ b/translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md @@ -0,0 +1,112 @@ +[#]: subject: "How to Downgrade Flatpak Packages in Linux" +[#]: via: "https://itsfoss.com/downgrade-flatpak-packages/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中降级 Flatpak 软件包 +====== + +从技术上讲,次要更新是为了解决问题。但是,当某些更新破坏你当前的工作流程时,情况可能会变得更糟。 + +无论是 Flatpak 包还是 Snap,当出现问题时,一切都会在某个时候崩溃。作为一个沙盒打包方案,它可能不会影响整个系统,但如果你遇到一个让你的应用体验变差的 bug,你可能会后悔更新。 + +比如之前更新的 [Black Box][1] 就带来了一些 bug,无法选择文字!开发人员现在已经解决了这个问题,但在他们没有解决之前,我降级了那个特定的包以使其正常工作。 + +所以,如果你想降级特定的 Flatpak 应用,你可以按照本指南进行操作。 + +### 在 Linux 中降级 Flatpak 包 + +**免责声明:** 与安装 Flatpaks 不同,你需要 **sudo** 权限才能降级 Flatpak 包。如果你的用户没有它们,你可以按照我们关于[如何向用户授予 sudo 访问权限][2]的详细指南进行操作。 + +以下是步骤: + +#### 1.获取包的应用 ID + +第一步是找到要降级的包的应用 ID。你可以列出已安装的软件包轻松找到它: + +``` +flatpak list --app +``` + +![find flatpak package id in linux][4] + +记下要降级的包的应用 ID。 + +这里,我要降级 Black Box,所以我的应用 ID 将是 `com.raggesilver.BlackBox`。 + +#### 2.列出以前的版本并获取提交代码 + +获得应用 ID 后,你需要列出以前的版本。 + +你可以按照给定的命令语法做到这点: + +``` +flatpak remote-info --log flathub +``` + +![find previous releases in flatpak][5] + +找到首选的先前版本后,复制如上所示的提交代码。 + +#### 3.降级 Flatpack 包 + +执行前两个步骤后,你应该有以下内容: + +- 包的应用 ID。 +- 首选旧版本的提交代码。 + +现在,你必须将它们放在以下命令中: + +``` +sudo flatpak update --commit= +``` + +当我将 Black Box 降级到以前的版本时,我将使用以下命令: + +``` +sudo flatpak update --commit=c4ef3f4be655cbe2559451a9ef5977ab28139c54bb5adbd7db812f3482bd0db5 com.raggesilver.BlackBox +``` + +![downgrade flatpak package in linux][6] + +这就完成了! + +要检查你是否已成功降级软件包,你可以列出需要更新的软件包(考虑到其他所有内容都是最新的)。它应该包括你最近降级的软件包的名称: + +``` +flatpak update +``` + +![downgrade flatpak package][7] + +如你所见,Black Box 已过时,需要更新,这意味着包已成功降级! + +### 总结 + +在本快速教程中,我解释了如何降级 Flatpak 软件包,希望对你有所帮助。 + +如果你有任何疑问或建议,请在评论中告诉我。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/downgrade-flatpak-packages/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/blackbox-terminal/ +[2]: https://itsfoss.com/add-sudo-user-ubuntu/ +[4]: https://itsfoss.com/wp-content/uploads/2022/12/find-flatpak-package-id-in-linux.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/find-previous-releases-in-flatpak-1.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package-in-linux.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package.png From 91c8a3028bea8e573adcbf8e6f4ca6a71c97dfe0 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 29 Dec 2022 09:35:35 +0800 Subject: [PATCH 864/925] translating --- .../20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md b/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md index ea9e63b118..beb10e6833 100644 --- a/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md +++ b/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/update-flatpak/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ce369664bc8779dee3a749d727b6a9a8825136d5 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 29 Dec 2022 13:51:13 +0800 Subject: [PATCH 865/925] ALL @wxy https://linux.cn/article-15391-1.html --- ...es Featuring Xfce 4.18 and Linux Kernel 6.1.md | 102 ++++++++++++++++++ ...es Featuring Xfce 4.18 and Linux Kernel 6.1.md | 102 ------------------ 2 files changed, 102 insertions(+), 102 deletions(-) create mode 100644 published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md delete mode 100644 sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md diff --git a/published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md b/published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md new file mode 100644 index 0000000000..d94f5b884e --- /dev/null +++ b/published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md @@ -0,0 +1,102 @@ +[#]: subject: "Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1" +[#]: via: "https://news.itsfoss.com/manjaro-22-0-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15391-1.html" + +Manjaro Linux 22.0 发布 +====== + +> Manjaro Linux 22.0 带着各种升级来了! + +![][1] + +Manjaro Linux 是一个基于 Arch Linux 的滚动发布发行版,专注于提供用户友好和无障碍体验。 + +自 6 月发布 “[Ruah][2]” 以来,Manjaro 的开发仍在继续,并为最新的版本铺平了道路,它被称为 “Sikaris”。 + +这是 2022 年最后的流行的发行版之一。让我们看看它提供了什么。 + +### Manjaro 22 “Sikaris” 有什么新内容? + +![][3] + +Sikaris 版本带来了许多改进,一些值得注意的包括: + +- 桌面环境的升级 +- Linux 内核 6.1 +- 动态墙纸 +- 各种用户体验的改进 + +#### 桌面环境的升级 + +这个版本对 Manjaro Linux 的三个不同版本进行了许多改进。让我带你看看这些改进。 + +**对于 Manjaro GNOME:** 它使用是的 GNOME 43,有一个重新设计的系统状态菜单,可以让你在常用的设置之间快速切换。 + +他们还更新了他们的 “布局切换器Layouts Switcher” 应用程序,包括各种改进和修复。 + +![][4] + +此外,你可以创建你的动态壁纸并使用 [Gradience][5] 来定制你的主题。 + +**对于 Manjaro KDE:** “Sikaris” 版本采用了最新的 Plasma 5.26 桌面环境,具有许多改进,如动画壁纸、新的小工具,以及 Plasma 大屏幕的改进。 + +![][6] + +还有一些其它的调整,允许壁纸根据系统的主题来改变。 + +此外,Dolphin 文件管理器现在有一个新的功能叫“选择模式Selection Mode”,可以让你选择多个文件或文件夹。 + +**对于 Manjaro Xfce:** 使用的是 Xfce 4.18,该版本在 Thunar 文件管理器中获得了新的文件高亮显示和递归搜索功能。 + +可能是第一个包括 [新发布的 Xfce 4.18][7] 的开箱即用发行版。 + +面板也被更新了,允许最大化的应用程序填满面板后面的区域,而且面板的长度现在是以像素而不是百分比计算的。 + +![][8] + +此外,“控制中心Control Center”现在将所有用于管理系统的桌面模块集中到一个易于使用的窗口。 + +这些功能应该会改善你的整体体验! 😃 + +#### Linux 内核 6.1 + +Manjaro 22 ”Sikaris“ 使用 [Linux 内核 6.1][9] 提供了各种增强功能。 + +这些包括对 Rust 的实验性支持,对英特尔即将推出的 Meteor Lake 芯片的初步支持,改进的 ARM SoC 支持,以及更多。 + +### 下载 Manjaro 22 + +Manjaro 22 “Sikaris” 可用于 X86_64 和 ARM 系统,前往官方 [下载页面][10] 获取。 + +> **[下载 Manjaro 22][10]** + +**对于现有的用户,** 你只需在命令行中运行 `sudo pacman -Syu` 就可以得到这个版本的 Manjaro Linux。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/manjaro-22-0-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/manjaro-22-0-release.png +[2]: https://news.itsfoss.com/manjaro-21-3-0-release/ +[3]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE_2.png +[4]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_GNOME.png +[5]: https://github.com/GradienceTeam/Gradience +[6]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE.png +[7]: https://news.itsfoss.com/xfce-4-18-release/ +[8]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_XFCE.png +[9]: https://news.itsfoss.com/linux-kernel-6-1-release/ +[10]: https://manjaro.org/download/ diff --git a/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md b/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md deleted file mode 100644 index 545ff86782..0000000000 --- a/sources/news/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: subject: "Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1" -[#]: via: "https://news.itsfoss.com/manjaro-22-0-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1 -====== - -Manjaro Linux 22.0 has landed with good upgrades! - -![Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1][1] - -Manjaro Linux is a rolling release distro based on Arch Linux that focuses on providing a user-friendly and accessible experience. - -Since the release of '[Ruah][2]' in June, Manjaro's development has continued and has paved the way for the latest release, which is called '_Sikaris_'. - -This is one of the last distro releases (among the popular options) for 2022; let's see what it offers. - -### Manjaro 22 'Sikaris': What's New? - -![manjaro linux sikaris][3] - -The 'Sikaris' release has brought in many improvements; some notable ones include: - -- **Desktop Environment Upgrades** -- **Linux Kernel 6.1** -- **Dynamic Wallpapers** -- **Various User Experience improvements** - -#### Desktop Environment Upgrades - -This release has seen numerous improvements to the three distinct editions of Manjaro Linux. Let me take you through them. - -**For Manjaro GNOME:** GNOME 43 is being used. It has a redesigned system status menu that lets you quickly switch between the commonly used settings. - -They also updated their 'Layouts Switcher' application to include various improvements and fixes. - -![manjaro linux sikaris gnome][4] - -Furthermore, you can create your dynamic wallpaper and use [Gradience][5] to customize your theme. - -**For Manjaro KDE:** The 'Sikaris' release features the latest Plasma 5.26 desktop environment that features many improvements, such as animated wallpapers, new widgets, and Plasma big screen improvements. - -![manjaro linux sikaris kde][6] - -They have also made additional tweaks that allow the wallpaper to change according to the system's theme. - -In addition, the Dolphin file manager now has a new feature called '_Selection Mode_', that lets you select multiple files or folders. - -**For Manjaro Xfce:** Powered by Xfce 4.18, this edition receives the new file highlighting and recursive search features in the Thunar file manager. - -Probably the first distro to include the [newly released Xfce 4.18][7] out of the box. - -The panel has also been updated to allow maximized apps to fill the area behind the panel, and the panel length is now calculated in pixels rather than percentages. - -![manjaro linux sikaris xfce][8] - -Additionally, the Control Center now groups all the desktop modules for managing the system into one easy-to-use window. - -These features should improve your overall experience! 😃 - -#### Linux Kernel 6.1 - -Manjaro 22 'Sikaris' uses the various enhancements offered by [Linux Kernel 6.1][9]. - -Those include experimental support for Rust, initial support for Intel's upcoming Meteor Lake chips, improved ARM SoC support, and more. - -### Download Manjaro 22 - -Manjaro 22 'Sikaris' is available for both X86_64 and ARM systems, head over to the official [downloads page][10] to get access. - -[Download Manjaro 22][10] - -**For existing users,** you can just run '_sudo pacman -Syu_' in the command line to get this release of Manjaro Linux. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/manjaro-22-0-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/manjaro-22-0-release.png -[2]: https://news.itsfoss.com/manjaro-21-3-0-release/ -[3]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE_2.png -[4]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_GNOME.png -[5]: https://github.com/GradienceTeam/Gradience -[6]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_KDE.png -[7]: https://news.itsfoss.com/xfce-4-18-release/ -[8]: https://news.itsfoss.com/content/images/2022/12/Manjaro_Linux_XFCE.png -[9]: https://news.itsfoss.com/linux-kernel-6-1-release/ -[10]: https://manjaro.org/download/ From 1446451607657ff7a602071fd6485f89031ca454 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 29 Dec 2022 14:15:29 +0800 Subject: [PATCH 866/925] RP @geekpi https://linux.cn/article-15392-1.html --- ...Try this Linux web browser as your file manager.md | 101 ++++++++++++++++++ ...Try this Linux web browser as your file manager.md | 96 ----------------- 2 files changed, 101 insertions(+), 96 deletions(-) create mode 100644 published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md delete mode 100644 translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md diff --git a/published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md new file mode 100644 index 0000000000..3bef7f1e58 --- /dev/null +++ b/published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md @@ -0,0 +1,101 @@ +[#]: subject: "Try this Linux web browser as your file manager" +[#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15392-1.html" + +试试这个 Linux 网络浏览器作为你的文件管理器 +====== + +![][0] + +> KDE Plasma 桌面将 Konqueror 列为网络浏览器,但它也是一个功能性的 Linux 文件管理器。 + +Konqueror 是 KDE Plasma 桌面的文件管理器和 Web 浏览器。在许多方面,Konqueror 定义了“网络透明度”,因为它适用于个人桌面。使用 Konqueror,你可以像浏览本地文件一样轻松地浏览远程网络文件(包括互联网本身,它实际上只是通过花哨的镜头查看的远程文件的集合)。有时需要进行一些配置和设置,具体取决于你需要访问的文件共享类型。但最终,通过 Konqueror 实现了即时访问你有权查看的所有数据的目标,这是其他文件管理器无法实现的。在其巅峰时期,它开发的开源网络引擎(KHTML) 被苹果和谷歌采用,并作为现代网络浏览和 Electron 应用开发的核心库延续至今。 + +今天,KDE Plasma 桌面将 Konqueror 作为网络浏览器。文件管理功能已正式转移到 [Dolphin][1],但 Konqueror 仍然能够完成这项工作。要获得完整和经典的 Konqueror 体验,你应该尝试 Plasma 桌面 3.x 的复刻 [TDE][2],但在本文中,我在 KDE Plasma 桌面版本 5 中使用 Konqueror。 + +### 安装 Konqueror + +如果你已经在运行 KDE Plasma 桌面,你可能已经安装了 Konqueror。如果没有,你可以从发行版软件仓库中安装它。在 Fedora、CentOS、Mageia、OpenMandriva 和类似软件上: + +``` +$ sudo dnf install -y konqueror konqueror-plugins +``` + +在 Debian、Linux Mint、Elementary 和类似软件上: + +``` +$ sudo apt install -y konqueror konqueror-plugins +``` + +![Image of Konqueror's file manager.][3] + +### 将 Konqueror 配置为文件管理器 + +Konqueror 最方便的功能是它除了是一个文件管理器之外,还是一个网络浏览器。至少,这在理论上是它最方便的功能。如果你没有将 Konqueror 用作网络浏览器,那么你可能不希望每个文件管理器窗口顶部都有 URL 区域或搜索引擎区域。 + +与大多数 KDE 应用一样,Konqueror 是高度可配置的。你可以重新定位并添加和删除工具栏、添加或删除按钮等。 + +要调整显示的工具栏,请启动 Konqueror 并转到 “设置Settings” 菜单并选择 “显示的工具栏Toolbars Shown”。主工具栏可能是你真正需要的文件管理工具栏。它是带有导航按钮的工具栏。但是,你甚至可能不需要它,只要你乐于使用键盘快捷键或使用 “Go” 菜单进行导航即可。 + +Konqueror 中的键盘导航与 Dolphin 中的相同: + +- `Alt + ←`:后退一步 +- `Alt + ↑`:移动到父目录 +- `Alt + Home`:转到主目录 + +### 侧边栏 + +要获得包含常用文件夹列表的侧边栏,请按 `F9` 或从 “设置Settings” 菜单中选择 “显示边栏Show Sidebar”。这会在 Konqueror 窗口的左侧添加一个按钮栏。单击 “Home” 图标以显示你的主目录的文件树。 + +![Image of Konqueror with a sidebar.][4] + +正如按钮栏所暗示的那样,此侧边栏可用于多种用途。你可以显示书签位置,你最近访问过的位置的历史,远程文件系统等。 + +### 应用 + +有些人习惯于应用菜单。它高效快捷,并且始终在同一个地方。其他人更喜欢从终端启动应用。 + +不过,还有另一种查看应用启动器的方法。Konqueror 的 “Go” 菜单允许你转到名为 “应用程序Applications” 的元位置,它按类别列出了应用程序启动器,就像文件管理器中的文件一样。 + +![Image of applications in Konqueror.][5] + +你也可以在 Dolphin 中看到这个,方法是在位置区域中手动输入 `applications:`,此外,Konqueror 提供了一个菜单选项,可以直接进入该位置。 + +### 网络文件夹 + +类似地,Konqueror 还提供了一个菜单选择进入网络文件夹。其中最好的网络文件夹是“互联网”,但“网络文件夹”是 HTTP 以外的网络协议的元位置。大多数远程位置需要一些设置,因为它们通常需要身份验证才能访问。它们中的大多数都可以通过 “系统设置System Settings” 进行配置,包括可通过蓝牙、SMB 或 CIFS、MTP 设备、Fish(通过 SSH 的文件系统)访问的文件系统,甚至是 Google Drive。 + +### 拆分视图 + +你可以将 Konqueror 窗口拆分为多个窗格,这样你就可以同时查看两个文件夹而无需打开两个窗口。有两种拆分选项:垂直拆分,一个窗格在左侧,另一个窗格在右侧;或者水平拆分,一个窗格在另一个窗格之上。 + +要分割 Konqueror 窗口,进入 “窗口Window” 菜单,选择 “左/右分割视图Split View Left/Right” 或 “上/下分割视图Spit View Top/Bottom”。每个窗格都是独立的,所以你可以在一个窗格中浏览,然后把文件从一个窗格拖到另一个窗格。 + +### 征服你的文件系统 + +Konqueror 不 _仅仅_ 是一个文件管理器,我认为 Plasma 桌面的开发者并不期望你把它作为你的主要文件管理器。在 “文件File” 菜单中甚至有一个选项可以在 **Dolphin** 中打开一个位置,这表明 Konqueror 是一个带有文件管理器组件的网络浏览器。但是,当你需要时,这个文件管理器组件是一个不错的功能。如果你不喜欢 Dolphin 提供的所有功能,Konqueror 可能是一个合适的替代品。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/linux-file-manager-konqueror + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/12/linux-file-manager-dolphin +[2]: https://opensource.com/article/19/12/linux-trinity-desktop-environment-tde +[3]: https://opensource.com/sites/default/files/2022-10/konqueror-filemanager.png +[4]: https://opensource.com/sites/default/files/2022-10/konqueror-sidebar.png +[5]: https://opensource.com/sites/default/files/2022-10/konqueror-applications.png +[0]: https://img.linux.net.cn/data/attachment/album/202212/29/141332adtz8mb8m8h8z3d4.jpg \ No newline at end of file diff --git a/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md deleted file mode 100644 index 5ff7fe755a..0000000000 --- a/translated/tech/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md +++ /dev/null @@ -1,96 +0,0 @@ -[#]: subject: "Try this Linux web browser as your file manager" -[#]: via: "https://opensource.com/article/22/12/linux-file-manager-konqueror" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -试试这个 Linux 网络浏览器作为你的文件管理器 -====== - -Konqueror 是 KDE Plasma 桌面的文件管理器和 Web 浏览器。在许多方面,Konqueror 定义了“网络透明度”,因为它适用于个人桌面。使用 Konqueror,你可以像浏览本地文件一样轻松地浏览远程网络文件(包括 Internet 本身,它实际上只是通过花哨的镜头查看的远程文件的集合)。有时需要进行一些配置和设置,具体取决于你需要访问的文件共享类型。但最终,通过 Konqueror 实现了即时访问你有权查看的所有数据的目标,这是其他文件管理器无法实现的。在其巅峰时期,它开发的开源网络引擎 (KHTML) 被苹果和谷歌采用,并作为现代网络浏览和 Electron 应用开发的核心库延续至今。 - -今天,KDE Plasma 桌面将 Konqueror 作为网络浏览器。文件管理已正式转移到 [Dolphin][1],但 Konqueror 仍然能够完成这项工作。要获得完整和经典的 Konqueror 体验,你应该尝试 Plasma Desktop 3.x fork [TDE][2],但在本文中,我在 KDE Plasma Desktop 版本 5 中使用 Konqueror。 - -### 安装 Konqueror - -如果你已经在运行 KDE Plasma Desktop,你可能已经安装了 Konqueror。如果没有,你可以从发行版软件仓库中安装它。在 Fedora、CentOS、Mageia、OpenMandriva 和类似软件上: - -``` -$ sudo dnf install -y konqueror konqueror-plugins -``` - -在 Debian、Linux Mint、Elementary 和类似软件上: - -``` -$ sudo apt install -y konqueror konqueror-plugins -``` - -![Image of Konqueror's file manager.][3] - -### 将 Konqueror 配置为文件管理器 - -Konqueror 最方便的功能是它除了是一个文件管理器之外,还是一个网络浏览器。至少,这在理论上是它最方便的功能。如果那你没有将 Konqueror 用作 Web 浏览器,那么你可能不希望每个文件管理器窗口顶部都有 URL 区域或搜索引擎区域。 - -与大多数 KDE 应用一样,Konqueror 是高度可配置的。你可以重新定位并添加和删除工具栏、添加或删除按钮等。 - -要调整显示的工具栏,请启动 Konqueror 并转到**设置** 菜单并选择**显示的工具栏**。**主**工具栏可能是你真正需要的文件管理工具栏。它是带有导航按钮的工具栏。但是,你甚至可能不需要它,只要你乐于使用键盘快捷键或使用 **Go** 菜单进行导航即可。 - -Konqueror 中的键盘导航与 Dolphin 中的相同: - -- **Alt+向左箭头**:后退一步 -- **Alt+向上箭头**:移动到父目录 -- **Alt+Home**:转到主目录 - -### 侧边栏 - -要获得包含常用文件夹列表的侧边栏,请按 **F9** 或从**设置**菜单中选择**显示边栏**。这会在 Konqueror 窗口的左侧添加一个按钮栏。单击 **Home** 图标以显示你的主目录的文件树。 - -![Image of Konqueror with a sidebar.][4] - -正如按钮栏所暗示的那样,此侧边栏可用于多种用途。你可以显示书签位置,你最近访问过的位置的历史,远程文件系统等。 - -### 应用 - -有些人习惯于应用菜单。它高效快捷,并且始终在同一个地方。其他人更喜欢从终端启动应用。 - -不过,还有另一种查看应用启动器的方法。Konqueror 的 **Go** 菜单允许你转到名为 **Applications** 的元位置,它按类别列出了应用程序启动器,就像文件管理器中的文件一样。 - -![Image of applications in Konqueror.][5] - -你也可以在 Dolphin 中看到这个,方法是在位置区域中手动输入 **applications:**,但在这两者中,Konqueror 提供了一个菜单选项,可以直接进入该位置。 - -### 网络文件夹 - -类似地,Konqueror 还提供了一个菜单选择进入网络文件夹。其中最好的网络文件夹是 Internet,但**网络文件夹**是 HTTP 以外的网络协议的元位置。大多数远程位置需要一些设置,因为它们通常需要身份验证才能访问。它们中的大多数都可以通过**系统设置**进行配置,包括可通过蓝牙、SMB 或 CIFS、MTP 设备、Fish(通过 SSH 的文件系统)访问的文件系统,甚至是 Google Drive。 - -### 拆分视图 - -你可以将 Konqueror 窗口拆分为多个窗格,这样你就可以同时查看两个文件夹而无需打开两个窗口。有两种拆分选项:垂直拆分,一个窗格在左侧,另一个窗格在右侧,或者水平拆分,一个窗格在另一个窗格之上。 - -要分割 Konqueror 窗口,进入**窗口**菜单,选择**分割视图左/右**或**分割视图上/下**。每个窗格都是独立的,所以你可以在一个窗格中浏览,然后把文件从一个窗格拖到另一个窗格。 - -### 征服你的文件系统 - -Konqueror 不_仅仅_是一个文件管理器,我认为 Plasma 桌面的开发者并不期望你把它作为你的主要文件管理器。在**文件**菜单中甚至有一个选项可以在 **Dolphin** 中打开一个位置,这表明 Konqueror 是一个带有文件管理器组件的网络浏览器。但是,当你需要时,这个文件管理器组件是一个不错的功能。如果你不喜欢 Dolphin 提供的所有功能,Konqueror 可能是一个合适的替代品。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/linux-file-manager-konqueror - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/12/linux-file-manager-dolphin -[2]: https://opensource.com/article/19/12/linux-trinity-desktop-environment-tde -[3]: https://opensource.com/sites/default/files/2022-10/konqueror-filemanager.png -[4]: https://opensource.com/sites/default/files/2022-10/konqueror-sidebar.png -[5]: https://opensource.com/sites/default/files/2022-10/konqueror-applications.png From 2de99e3c2428c5f39b86b98f55a288354c287ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 29 Dec 2022 21:56:59 +0800 Subject: [PATCH 867/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221228.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=2011?= =?UTF-8?q?=20tips=20for=20writing=20a=20good=20Git=20commit=20message.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... 11 tips for writing a good Git commit message.md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 sources/tech/20221228.1 ⭐️⭐️ 11 tips for writing a good Git commit message.md diff --git a/sources/tech/20221228.1 ⭐️⭐️ 11 tips for writing a good Git commit message.md b/sources/tech/20221228.1 ⭐️⭐️ 11 tips for writing a good Git commit message.md new file mode 100644 index 0000000000..ae6acb59d1 --- /dev/null +++ b/sources/tech/20221228.1 ⭐️⭐️ 11 tips for writing a good Git commit message.md @@ -0,0 +1,185 @@ +[#]: subject: "11 tips for writing a good Git commit message" +[#]: via: "https://opensource.com/article/22/12/git-commit-message" +[#]: author: "AmyJune Hineline https://opensource.com/users/amyjune" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +11 tips for writing a good Git commit message +====== + +Lately, I have been paying closer attention to the changelogs I get from products and services when updates are needed. Here are some examples: + +- Fixed some bugs. +- Made some accessibility improvements. +- We've made improvements and fixed bugs for a smoother ride. + +When I think about some of the first commit messages I made as a junior developer I have to hang my head in dismay: + +- Pointed and clicked around a bit and now things seem to work. +- Did what programmer X told me to do and now the banner is blue. + +This can be frustrating! I asked our community of contributors the following questions: + +- What makes a good Git commit message? +- What makes a bad one? +- What rules do you think a project should have around what a commit message contains? + +Here are their answers: + +### Great writing is key + +As with anything you write, you should think about who is going to read it. Then adapt the amount and depth of information accordingly. + +Improving your natural language and writing skills is essential for a healthy career in software development. It's not just code that counts. + +**—[Camilla Conte][1]** + +### Be descriptive and don't assume + +I spend a lot of my time collaborating in the [OpenStack][2] community, and its code reviewers have some fairly exacting standards compared to what I see from other projects "in the wild." + +I'll often spend far longer composing a solid commit message than I do writing the actual code implementation or fix. Sometimes commit messages can end up many times longer than the diffs they're explaining. + +To summarize some of the contributor guidance: + +- Describe why a change is being made, not just what is changing +- The first commit line is the most important (like the subject line of an email) +- Don't assume reviewers understand the original problem you're fixing +- Don't assume the reviewer has access to external web services or the site (summarize defect reports and other relevant discussions) +- Don't assume the code is self-evident and self-documenting (though there is no need to repeat points you also make in your code comments) +- Don't include information only relevant to earlier revisions of the change (we expect contributors to squash revisions together and edit their commit messages accordingly). + +There's a brief section on the topic in the OpenStack Contributors Guide: [https://docs.openstack.org/contributors/common/git.html#commit-messages][3] + +**—[Jeremy Stanley][4]** + +### Your future self will thank you + +I cannot agree more with Jeremy. +1000 + +Jeremy said, "describe why a change is being made, not just what's changing." + +Imagine you're someone else, in a faraway future, trying to work out this commit. + +Put yourself in other people's shoes, as the old saying goes. + +**—[Leigh Morresi][5]** + +### Use the bug ID + +I recommend adding the bug ID at the start of the commit message so that it's easier to track the commits at a later stage using the [`grep` command][6]. + +For example: + +``` +$ git commit -m "BZ#19xxxxx +``` + +To come up with thoughtful commits, consider the following: + +- Why have I made these changes? +- What effect have my changes made? +- Why was the change needed? +- What are the changes in reference to? + +**—[Agil Antony][7]** + +### Tell the whole story + +I like to imagine there is a hidden prefix to every commit message that reads "By applying this." + +A good commit message includes exactly what will happen and why. It is insufficient to merely have the work ticket reference because that decentralizes the information; Git is decentralized. As a software developer, I want to know why the proposed changes are being considered. What specific problem is being addressed? What alternate solutions were considered (and discarded)? What unexpected things were discovered during the creation of the changeset that influenced the current content? + +There's no prize for shortest commit message. Your future self and future colleagues will appreciate you going into depth to explain the problem and why this changeset is the answer. Harness those cooking blogs where there's a five-paragraph life story. Here, however, make the problem the subject of the life story. + +**—[Lisa Seelye][8]** + +### But don't be overly verbose + +A good git commit message contains information about what was done, and nothing else. For instance, if you needed to update the .gitignore, just say "updated .gitignore." Folks can dive into the commit itself for more details. It doesn't need to be verbose. + +A bad commit message is something like, "oh crap" or "try this". Granted, I've been guilty of this, but it doesn't help anyone if they need to look at commits at a glance. + +Rules are very subjective. They can differ from lead to lead and team to team. But at the very least, give some contextual information about the commit. Especially if it's a large one. No one has time to skim through 1000+ files with a heavy change history. + +**—[Miriam Goldman][9]** + +### Use present tense + +I like project manager-styled commit messages written in present and not future terms (for example, "add" instead of "added"). However, it's usually only possible if commits are frequent. There's only so much "how did I do it" you can remember when you're faced with a deadline. Yet, well-written commits not only help collaborators, but are also helpful to the committer in recollecting history. + +**—[Chris Okpada][10]** + +### Don't rely on links + +One thing I like to remind colleagues of is that you're not just explaining to the people who are going to decide whether to approve your commit. You're also explaining to future developers and users who have found this commit in a bisect or blame operation and are trying to understand its relevance. + +If the only context supplied is a link to some external system, and that far in the future the system it links to is no longer in use or has otherwise become inaccessible to that individual, your commit message has been rendered useless and may just as well be blank. + +All too often, I go digging in the Git history of some open source project, and find commit messages which are nothing more than a bug ID or a link to some company's internal and private defect tracker. + +Don't be that project! + +**—[Jeremy Stanley][4]** + +### Clear and concise changelogs + +As a release communications manager, I often read the entire release board. I also met with developers to discuss any areas that weren't clear yet. Then I tested the release early. After that, I would write a release post by sourcing the changelogs and corresponding revised or new content. + +The changelogs are personal reminders for developers, but also have corresponding issues and tickets for them. You should capitalize product names appropriately, use a spell checker, be consistent with punctuation, and sentence structure. The lead developer should proofread these as well. Your customers, that are developers, are reading these. What information should they know before running the update to better serve their customers? + +**—[Courtney Robertson][11]** + +### Be specific + +As a frequent release manager, I like messages that name the component a commit touches, and a brief description of what was changed. Also having a reference back to where the request for this work came from helps to tie fixes together long after we forgot about your clever branch name. + +- "fix fatal error" is not ideal. +- "ISS-304: Fix fatal error in Login Access Control function for users + with the Partner role" is better. +- "ISS-304: Login Access Control: fix fatal error in getPartnerId()" is + better still. + +I can look at the entire relationship between a Git commit, branch, merge commit, and inspect the individual lines and files that were changed. But I don't have that kind of time in the middle of a release. I want to be able to relate back to the source of this work in the project management tool, have some idea of which components are being changed, and in what way. + +**—[Ryan Price][12]** + +### Make it a habit + +My favorite commit that I'm guilty of is, "commit before I switch branches" because I have to work on something else more urgent. Sometimes, I need to commit my current work to a totally different project. My manager's strategy is to have us work as we normally do. But then when we rebase, he wants us to squash commits where it makes sense and write better messages. I can't say we always do this, but his method does make sense. + +I have a lot of "this is broken don't know why" type messages too (haha) where I try things but want to commit that attempt before I try something else in case method A was closer to fixing the issue than method B. Writing code is a hot mess. And I've been writing it for over 10 years. + +**—[RachieVee][13]** + +What commit message advice or tips do you live by? Let us know in the comments. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/git-commit-message + +作者:[AmyJune Hineline][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/amyjune +[b]: https://github.com/lkxed +[1]: https://opensource.com/users/spotlesstofu +[2]: https://opensource.com/resources/what-is-openstack +[3]: https://docs.openstack.org/contributors/common/git.html#commit-messages +[4]: https://opensource.com/users/fungi +[5]: https://opensource.com/users/dgtlmoon +[6]: https://opensource.com/downloads/grep-cheat-sheet +[7]: https://opensource.com/users/agantony +[8]: https://opensource.com/users/lisa +[9]: https://opensource.com/users/miriamgoldman +[10]: https://opensource.com/users/ojchris +[11]: https://opensource.com/users/courtneyrdev +[12]: https://opensource.com/users/liberatr +[13]: https://opensource.com/users/rachievee From 97b5482b746cc8c4104781d37690424b5a3bbe54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 29 Dec 2022 21:57:38 +0800 Subject: [PATCH 868/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221229.0=20=E2=AD=90=EF=B8=8F=20Be=20Delighted!=20Un?= =?UTF-8?q?ity=20Teases=20Version=207.7=20as=20the=20Sign=20of=20Active=20?= =?UTF-8?q?Development.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rsion 7.7 as the Sign of Active Development.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md diff --git a/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md b/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md new file mode 100644 index 0000000000..13cb812f88 --- /dev/null +++ b/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md @@ -0,0 +1,123 @@ +[#]: subject: "Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development" +[#]: via: "https://news.itsfoss.com/unity-7-7-dev/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development +====== + +Unity 7.7 update plans to bring in some visual overhaul to the desktop environment. + +![Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development][1] + +Unity, the classic desktop environment, a part of Ubuntu from 2010 to 2017, is all set to receive a big new release. You can expect it to release sometime in 2023, but there is no concrete release date yet. + +But not by [Canonical][2]. + +**If you did not know:** The development of Unity was taken over by a young developer, [Rudra Saraswat][3], who is also the creator of [Ubuntu Unity][4], an official flavor of Ubuntu. + +In a recent [blog post][5], Rudra showed us a sneak peek of Unity 7.7 and the various improvements that are set to come. + +Let me take you through those. + +### Unity 7.7: What To Expect? + +![unity 7.7 sneak peek][6] + +The sneak peek has revealed quite a few things, these include: + +- **Updated Welcome App** +- **UWidgets** +- **Improved Dash** +- **Panel Tweaks** +- **Enhanced Notification Indicators** + +#### Updated Welcome App + +![unity 7.7 sneak peek welcome app][7] + +A new welcome app will be introduced to Unity, based on a prototype developed by the Ubuntu Flutter Community (written in [Flutter][8]). + +The app will not be limited to just one distro, but will be available for all the distros supported by Unity. + +#### UWidgets + +![unity 7.7 sneak peek uwidgets][9] + +Finally, widgets on the Unity desktop? Like KDE? + +Well, the introduction of widgets to Unity, written in Python, should be straightforward to set up (only a matter of copying a few files). + +The screenshot showcases a bunch of widgets, such as a clock, a system monitor, a widget for Spotify, and more. + +That is not all, Rudra also mentions that: + +> We’ll be setting up a web store/repository for UWidgets, where you can either submit your own widgets, or download and try out all those amazing widgets on Unity 7.7. + +This should make it easier for users to find and download widgets! + +#### Improved Dash + +![unity 7.7 sneak peek dash][10] + +The dash has also been refreshed with a new design based on Unity 7's original design concepts (before Canonical dropped it). + +As per the screenshot, it should not take a lot of screen space and still be useful. + +#### Panel Tweaks + +![unity 7.7 sneak peek panels][11] + +The panel is now slightly bigger and more refined than the previous iteration. + +#### Enhanced Notification Indicators + +![unity 7.7 sneak peek notification indicators][12] + +This comes in as a huge usability improvement to Unity; users can now finally take advantage of a proper notification indicator. + +It will display essential notifications related to your apps, system and more. + +#### Other Changes + +![ubuntu unity control center][13] + +Some more useful technical improvements include: + +- **The unity-control-center shell UI has been improved.** +- **The default panel opacity was reduced to 0.75.** +- **The default launcher icon size has been reduced.** +- **Launcher BFB (Ubuntu icon) was replaced with a half-transparent icon, similar to the Ubuntu Unity 21.04 launcher BFB.** + +_Excited about Unity 7.7? Let me know your thoughts in the comments below._ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/unity-7-7-dev/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/ubuntu-unity-7-7-release.png +[2]: https://canonical.com +[3]: https://about.ruds.io +[4]: https://ubuntuunity.org +[5]: https://unityd.org/unity-7-7-peek/ +[6]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek.jpg +[7]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Welcome.jpg +[8]: https://flutter.dev +[9]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_UWidgets.jpg +[10]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Dash.jpg +[11]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Panels.jpg +[12]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Notif.jpg +[13]: https://news.itsfoss.com/content/images/2022/12/unity-control-center.png From ce7c69233987511a412797df5f95502f29c62778 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 30 Dec 2022 09:32:49 +0800 Subject: [PATCH 869/925] translated --- ...y Challenge the Supremacy of Visual Studio Code.md | 123 ------------------ ...y Challenge the Supremacy of Visual Studio Code.md | 123 ++++++++++++++++++ 2 files changed, 123 insertions(+), 123 deletions(-) delete mode 100644 sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md create mode 100644 translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md diff --git a/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md deleted file mode 100644 index a7ca46d18d..0000000000 --- a/sources/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md +++ /dev/null @@ -1,123 +0,0 @@ -[#]: subject: "5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code" -[#]: via: "https://news.itsfoss.com/upcoming-code-editors/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code -====== - -Interesting code editors that might replace Visual Studio Code for you in 2023! - -![5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code][1] - -Well, 2022 is coming to an end. - -We featured new remarkable code editors being released for Linux, starting from [Lite XL][2], to options like [Pulsar][3] and more. - -So, to commemorate that, I have compiled this list of upcoming code editors for Linux that have a strong chance of challenging the supremacy of [Visual Studio Code][4]. - -Let me take you through it. - -### 1. Pulsar - -![pulsar][5] - -[Pulsar][6] is a community-led open-source code editor aiming to be a replacement for the famous Atom code editor. - -The community behind it has been hard at work bringing this on par with the original Atom editor by introducing modern features with an updated architecture. - -So, if you were an Atom user, you could try this! - -It is available to download from the [official website][7], but do keep in mind that it is in its early development stages. - -### 2. Atom Community - -![atom community][8] - -Also rising from [the ashes][9] of the now-defunct Atom editor, '[Atom Community][10]' is a project meant to take over the concepts and ideas of its predecessor. - -They aim to get started by providing the most essential features and making it on par with the functionality available in the [atom-ide-ui][11] package. - -It has the potential to be something more, but in its current form, I would not suggest this to new users right now. They have a slightly different long-term goal when compared to Pulsar, which makes it another project worth taking a look at. - -But, for 2023, things could be different. - -Still, those who like an adventure can build it using the [source code][12]. - -### 3. Lapce - -![lapce][13] - -A lightweight and fast open-source code editor? - -That is what [Lapce][14] is! - -It is a Rust-based open-source code editor that focuses on providing such an experience. - -We covered it when it was in the pre-alpha stage, but in 2023 it can be something to watch out for. - -### 4. Zed - -![zed breadcrumbs][15] - -[Zed][16] is an upcoming code editor aiming to challenge VS Code's dominance. - -It is set to feature many features, such as Real-time collaboration, a minimal interface, code actions, a command palette, and [more][17]. - -In fact, Atom's founder, [Nathan Sobo][18] is behind this and has termed this as the '_spiritual successor_' to Atom. - -### 5. Lite XL - -![lite xl][19] - -[Lite XL][2] is an open-source code editor written in Lua, and only uses three megabytes of storage and around twenty megabytes of RAM. (compared to VS Code's ~550 MB). - -It could be to your liking if you were looking for a completely minimal code editor. - -You can get it right now from the [official website][20], it receives regular updates, and you can expect the same to be true in 2023. - -**Well, this is the end of this list and the year 2022.** 😃 - -_I may have missed some code editors, and I know you will let me know in the comments section. Feel free to share your thoughts!_ - -> 🌐 Follow us on [Mastodon][21] and [Twitter][22] to never miss an update! - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/upcoming-code-editors/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/upcoming-editors-which-may-challenge-vs-code.png -[2]: https://itsfoss.com/lite-xl/ -[3]: https://news.itsfoss.com/pulsar-editor/ -[4]: https://code.visualstudio.com -[5]: https://news.itsfoss.com/content/images/2022/12/Pulsar.png -[6]: https://pulsar-edit.dev -[7]: https://pulsar-edit.dev/download.html#releases -[8]: https://news.itsfoss.com/content/images/2022/12/Atom_Community.jpg -[9]: https://github.blog/2022-06-08-sunsetting-atom/ -[10]: https://atom-community.github.io -[11]: https://github.com/facebookarchive/atom-ide-ui -[12]: https://github.com/atom-community/atom -[13]: https://news.itsfoss.com/content/images/2022/12/Lapce.jpg -[14]: https://lapce.dev -[15]: https://news.itsfoss.com/content/images/2022/12/Zed_Early.jpg -[16]: https://zed.dev/ -[17]: https://zed.dev/features -[18]: https://twitter.com/nathansobo -[19]: https://news.itsfoss.com/content/images/2022/12/LiteXL.jpg -[20]: https://lite-xl.com/en/downloads -[21]: https://mastodon.social/@itsfoss -[22]: https://twitter.com/itsfoss2 diff --git a/translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md new file mode 100644 index 0000000000..c0b3576850 --- /dev/null +++ b/translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md @@ -0,0 +1,123 @@ +[#]: subject: "5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code" +[#]: via: "https://news.itsfoss.com/upcoming-code-editors/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 个即将推出的代码编辑器可能会挑战 Visual Studio Code 的霸主地位 +====== + +有趣的代码编辑器可能会在 2023 年取代 Visual Studio Code! + +![5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code][1] + +嗯,2022 年即将结束。 + +我们推出了针对 Linux 发布的新的卓越代码编辑器,从 [Lite XL][2] 到 [Pulsar][3] 等。 + +因此,为了纪念这一点,我编制了这份即将推出的 Linux 代码编辑器列表,它们很有可能挑战 [Visual Studio Code][4] 的霸主地位。 + +让我带你了解它。 + +### 1. Pulsar + +![pulsar][5] + +[Pulsar][6] 是一个社区主导的开源代码编辑器,旨在替代著名的 Atom 代码编辑器。 + +它背后的社区一直在努力工作,通过引入具有更新架构的现代功能,使其与原始 Atom 编辑器不相上下。 + +所以,如果你是 Atom 用户,你可以试试这个! + +它可以从[官方网站][7]下载,但请记住,它还处于早期开发阶段。 + +### 2. Atom 社区 + +![atom community][8] + +“[Atom 社区][10]”也是从现已停止维护的 Atom 编辑器的[灰烬][9]中崛起的,它是一个旨在接管其前身的概念和想法的项目。 + +他们的目标是从提供最基本的特性开始,并使其与 [atom-ide-ui][11] 包中的可用功能相媲美。 + +它可能会有更多东西,但就目前的形式而言,我现在不建议新用户这样做。与 Pulsar 相比,他们的长期目标略有不同,这使它成为另一个值得一看的项目。 + +但是,到 2023 年,情况可能会有所不同。 + +不过,那些喜欢冒险的人可以使用[源代码][12]来构建它。 + +### 3. Lapce + +![lapce][13] + +一个轻量级和快速的开源代码编辑器? + +这就是 [Lapce][14]! + +它是一个基于 Rust 的开源代码编辑器,专注于提供这样的体验。 + +我们在它处于 pre-alpha 阶段时对其进行了介绍,但在 2023 年它可能会引起注意。 + +### 4. Zed + +![zed breadcrumbs][15] + +[Zed][16] 是即将推出的代码编辑器,旨在挑战 VS Code 的统治地位。 + +它有许多功能,例如实时协作、最小界面、代码动作、命令面板等[更多功能][17]。 + +事实上,Atom 的创始人 [Nathan Sobo][18] 是这一切的幕后推手,并将其称为 Atom 的“_精神继承者_”。 + +### 5. Lite XL + +![lite xl][19] + +[Lite XL][2] 是一个用 Lua 编写的开源代码编辑器,仅使用 3MB 的存储空间和大约 20MB 的内存。(与 VS Code 的 ~550 MB 相比)。 + +如果你正在寻找一个完全最小化的代码编辑器,它可能会合你的口味。 + +你现在可以从[官方网站][20]获取它,它会定期更新,预计 2023 年也会如此。 + +**好了,这是这份名单的结束,也是2022年的结束。** 😃 + +_我可能错过了一些代码编辑器,我知道你会在评论部分告诉我。随时分享你的想法!_ + +> 🌐 在 [Mastodon][21] 和 [Twitter][22] 上关注我们,不错过任何更新! + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/upcoming-code-editors/ + +作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/upcoming-editors-which-may-challenge-vs-code.png +[2]: https://itsfoss.com/lite-xl/ +[3]: https://news.itsfoss.com/pulsar-editor/ +[4]: https://code.visualstudio.com +[5]: https://news.itsfoss.com/content/images/2022/12/Pulsar.png +[6]: https://pulsar-edit.dev +[7]: https://pulsar-edit.dev/download.html#releases +[8]: https://news.itsfoss.com/content/images/2022/12/Atom_Community.jpg +[9]: https://github.blog/2022-06-08-sunsetting-atom/ +[10]: https://atom-community.github.io +[11]: https://github.com/facebookarchive/atom-ide-ui +[12]: https://github.com/atom-community/atom +[13]: https://news.itsfoss.com/content/images/2022/12/Lapce.jpg +[14]: https://lapce.dev +[15]: https://news.itsfoss.com/content/images/2022/12/Zed_Early.jpg +[16]: https://zed.dev/ +[17]: https://zed.dev/features +[18]: https://twitter.com/nathansobo +[19]: https://news.itsfoss.com/content/images/2022/12/LiteXL.jpg +[20]: https://lite-xl.com/en/downloads +[21]: https://mastodon.social/@itsfoss +[22]: https://twitter.com/itsfoss2 From 4e3e28775fb806918bc1adccab25909aeeb5875c Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 30 Dec 2022 09:41:44 +0800 Subject: [PATCH 870/925] translating --- ...️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md b/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md index a6e34a26fe..6a914d5ab3 100644 --- a/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md +++ b/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/buzzing-noise-speaker-linux" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 280626c062990e3d528722e924584359a3e515bb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Dec 2022 10:36:02 +0800 Subject: [PATCH 871/925] RP @yzuowei https://linux.cn/article-15395-1.html --- .../20220729 Learn Rust by debugging Rust.md | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) rename {translated/tech => published}/20220729 Learn Rust by debugging Rust.md (78%) diff --git a/translated/tech/20220729 Learn Rust by debugging Rust.md b/published/20220729 Learn Rust by debugging Rust.md similarity index 78% rename from translated/tech/20220729 Learn Rust by debugging Rust.md rename to published/20220729 Learn Rust by debugging Rust.md index f725d789dc..3129292941 100644 --- a/translated/tech/20220729 Learn Rust by debugging Rust.md +++ b/published/20220729 Learn Rust by debugging Rust.md @@ -3,29 +3,28 @@ [#]: author: "Gaurav Kamathe https://opensource.com/users/gkamathe" [#]: collector: "lkxed" [#]: translator: "yzuowei" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15395-1.html" -以调试 Rust 来学习 Rust +以调试 Rust 的方式来学习 Rust ====== -Rustlings 是由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。 + +> Rustlings 是由 Rust 团队维护的开源项目,旨在帮助你通过调试代码的方式来学习 Rust。 ![Ferris the crab under the sea, unofficial logo for Rust programming language][1] -图片来源:Opensource.com - -在我上一篇[关于 rustup 的文章][2]中,我向你们展示了如何安装 Rust 工具链。但是,如果不能上手操作一下 Rust 的话下载工具链又有什么用?学习任何语言都包括阅读现有的代码和写很多的示例程序。这是精通一门语言的好方法。然而,我们还可以走第三条路:调试代码。 +在我上一篇 [关于 Rustup 的文章][2] 中,我向你们展示了如何安装 Rust 工具链。但是,如果不能上手操作一下 Rust 的话下载工具链又有什么用?学习任何语言都包括阅读现有的代码和写很多的示例程序,这是精通一门语言的好方法。然而,我们还可以走第三条路:调试代码。 通过调试来学习牵扯到尝试去编译一个已经写好的(满是漏洞的)示例程序,理解编译器生成的错误信息,修复示例代码,然后再重新编译。重复这个过程直到代码能够成功被编译并运行。 -[Rustlings][3] 是一个由 Rust 团队维护的开源项目旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。如果你是一名 Rust 初学者并且刚开始读或已经读完了 Rust 书,那么 rustlings 就是理想的下一步。Rustllings 帮助你将运用书中所学,并转向开发更大的项目。 +[Rustlings][3] 是一个由 Rust 团队维护的开源项目,旨在帮助你通过调试代码来学习 Rust。它也会一路为你提供提示。如果你是一名 Rust 初学者,并且刚开始阅读或已经读完了 Rust 书籍,那么 Rustlings 就是理想的下一步。Rustllings 帮助你将运用书中所学,并转向开发更大的项目。 -### 安装 rustlings +### 安装 Rustlings -我使用(并推荐)Fedora 电脑来体验 rustlings,但是任何 Linux 发行版都可以。要安装 rustlings,你必须下载并运行它的安装脚本。通常建议你以不具备任何特别权限的普通用户(非 root 用户)来运行脚本。 +我使用(并推荐)Fedora 电脑来体验 Rustlings,但是任何 Linux 发行版都可以。要安装 Rustlings,你必须下载并运行它的安装脚本。通常建议你以不具备任何特别权限的普通用户(非 root 用户)来运行脚本。 -记住,你需要 Rust 工具链来使用 rustlings。如果你还没有这些工具链,请参考我[关于 rustup 的文章][4]。 +记住,你需要 Rust 工具链来使用 Rustlings。如果你还没有这些工具链,请参考我 [关于 Rustup 的文章][4]。 当你准备好时,下载这个安装脚本: @@ -51,17 +50,17 @@ Installed package `rustlings v4.8.0 (/home/tux/rustlings)` (executable `rustling All done! ``` -运行 'rustlings' 以开始。 +运行 `rustlings` 以开始。 ### Rustlings 练习 -你现在可以使用命令 `rustlings`。与旗标 `--help` 一起执行来查看可选的选项。 +你现在可以使用命令 `rustlings`。与标志 `--help` 一起执行来查看可选的选项。 ``` $ rustlings --help ``` -这个安装脚本也克隆了 rustlings 的 Git 仓库,并安装了运行示例程序所需的依赖。你可以在 `ruslings` 底下的 exercises 目录查阅这些示例程序。 +这个安装脚本也克隆了 Rustlings 的 Git 仓库,并安装了运行示例程序所需的依赖。你可以在 `ruslings` 下的 `exercises` 目录查阅这些示例程序。 ``` $ cd rustlings @@ -77,7 +76,7 @@ standard_library_types, strings, structs, tests, threads, traits, variables ### 从命令行列出所有练习 -命令 `ruslings` 提供给你一个 `list` 命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 **pending**)。 +命令 `ruslings` 提供给你一个 `list` 命令用以展示每个示例程序,它的完整路径,以及状态 (默认为 “待定”)。 ``` $ rustlings list @@ -106,7 +105,7 @@ $ cat exercises/intro/intro1.rs ### 验证你的程序 -现在你可以开始调试程序了。你可以使用命令 `verify` 来做这件事。注意 rustlings 选择了列表里的第一个程序 (`intro1.rs`) 并尝试去编译它,最后编译成功: +现在你可以开始调试程序了。你可以使用命令 `verify` 来做这件事。注意 Rustlings 选择了列表里的第一个程序(`intro1.rs`)并尝试去编译它,最后编译成功: ``` $ rustlings verify @@ -129,11 +128,11 @@ $ grep "NOT DONE" exercises/intro/intro1.rs // I AM NOT DONE ``` -虽然第一个程序的编译没有问题,除非你去掉注释 `I AM NOT DONE`,rustlings 不会移到下一个程序。 +虽然第一个程序的编译没有问题,除非你去掉注释 `I AM NOT DONE`,Rustlings 不会移到下一个程序。 ### 来到下一个练习 -一旦你从 `intro1.rs` 中去掉这些注释,你就可以通过再一次运行命令 `rustlings verify` 来到下一个练习。这一次,你会发现 rustlings 尝试去编译这个系列中的下一个程序(`intro2.rs`),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。 +一旦你从 `intro1.rs` 中去掉这些注释,你就可以通过再一次运行命令 `rustlings verify` 来到下一个练习。这一次,你会发现 Rustlings 尝试去编译这个系列中的下一个程序(`intro2.rs`),但是遇到了一个错误。你应该调试并修复这个问题,并前进。这是你理解为什么 Rust 说程序有漏洞的至关重要的一步。 ``` $ rustlings verify @@ -190,7 +189,7 @@ variables3   exercises/variables/variables3.rs     Pending ### 运行特定的练习 -如果你不想从头开始并且想要跳过一些练习,rustlings 允许你使用命令 `rustlings run` 来专注特定的练习。如此可以运行指定的程序而不需要验证之前的课程。例如: +如果你不想从头开始并且想要跳过一些练习,Rustlings 允许你使用命令 `rustlings run` 来专注特定的练习。如此可以运行指定的程序而不需要验证之前的课程。例如: ``` $ rustlings run intro2 @@ -199,7 +198,7 @@ Hello world! $ rustlings run variables1 ``` -敲入练习名字可能会变得乏味,但 rustlings 为你准备了便利的命令 `next` 用来移向系列中的下一个练习。 +敲入练习名字可能会变得乏味,但 Rustlings 为你准备了便利的命令 `next` 用来移向系列中的下一个练习。 ``` $ rustlings run next @@ -217,7 +216,7 @@ $ rustlings watch Rust 编译器以提供非常有意义的错误信息而被熟知,这些错误信息会帮助你理解在你代码中的问题。这通常意味着更快的调试。Rustlings 是练习 Rust,学会阅读错误信息,并理解 Rust 语言的优秀途径。来看看 [GitHub][7] 上 Rustlings 5.0.0 的最新功能吧。 -**[[ 学习 Rust 编程,来下载我们的 Rust 速查表。 ]][8]** +> **[下载 Rust 速查表][8]** -------------------------------------------------------------------------------- @@ -226,7 +225,7 @@ via: https://opensource.com/article/22/7/learn-rust-rustlings 作者:[Gaurav Kamathe][a] 选题:[lkxed][b] 译者:[yzuowei](https://github.com/yzuowei) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1a2d982dbf633f645a779cde02820fc97a8bc51d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Dec 2022 11:00:19 +0800 Subject: [PATCH 872/925] RP @geekpi https://linux.cn/article-15396-1.html --- ...Try this Python-based file manager on Linux.md | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) rename {translated/tech => published}/20221218.1 ⭐️ Try this Python-based file manager on Linux.md (74%) diff --git a/translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/published/20221218.1 ⭐️ Try this Python-based file manager on Linux.md similarity index 74% rename from translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md rename to published/20221218.1 ⭐️ Try this Python-based file manager on Linux.md index 1751281710..bdf9cf56a9 100644 --- a/translated/tech/20221218.1 ⭐️ Try this Python-based file manager on Linux.md +++ b/published/20221218.1 ⭐️ Try this Python-based file manager on Linux.md @@ -3,20 +3,24 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15396-1.html" 在 Linux 上试试这个基于 Python 的文件管理器 ====== +![][0] + +> Dragonfly Navigator 是用 Python 和 Qt 编写的通用文件管理器。 + Dragonfly Navigator 是用 Python 和 Qt 编写的通用文件管理器。它易于安装和使用,并且是 Python 可以做什么的一个很好的例子。 -Python 是一种流行的语言有几个原因,但我认为它的主要优势之一是它对初级程序员和有经验的编码人员同样有用。你可以从一门语言中获得一些令人兴奋的东西,从[绘制基本几何形状][1]到[抓取网页][2]再到编写僵尸启示录[游戏][3],或者编写你每天都可以使用的桌面应用。这就是 Dragonfly Navigator:一个人人都可以使用的桌面程序。 +Python 是一种流行的语言有几个原因,但我认为它的主要优势之一是它对初级程序员和有经验的编码人员同样有用。你可以从一门语言中获得一些令人兴奋的东西,从 [绘制基本几何形状][1] 到 [抓取网页][2] 再到编写僵尸启示录 [游戏][3],或者编写你每天都可以使用的桌面应用。这就是 Dragonfly Navigator:一个人人都可以使用的桌面程序。 ### 安装 Dragonfly Navigator -要安装 Dragonfly Navigator,首先从 [Git 仓库][4]下载源代码。如果你使用的是 Debian Linux 或类似软件,请下载 `.deb` 文件。如果你使用的是 Fedora、CentOS、Mageia、OpenMandriva 或类似软件,请下载 `.tar.gz` 文件。 +要安装 Dragonfly Navigator,首先从 [Git 仓库][4] 下载源代码。如果你使用的是 Debian Linux 或类似软件,请下载 `.deb` 文件。如果你使用的是 Fedora、CentOS、Mageia、OpenMandriva 或类似软件,请下载 `.tar.gz` 文件。 Dragonfly Navigator 只有很少的依赖。因为你不是通过包管理器安装它,所以由你来解决这些问题。它只有两个依赖,所以使用你的包管理器(`dnf` 或 `apt`)找到并安装它们: @@ -31,7 +35,7 @@ Dragonfly Navigator 只有很少的依赖。因为你不是通过包管理器安 $ tar xvf dragonfly*gz ``` -在基于 Debian 的系统上,Dragonfly Navigator 出现在你的应用菜单中。在其他系统上,你必须手动启动它,除非你[手动安装][5]。 +在基于 Debian 的系统上,Dragonfly Navigator 出现在你的应用菜单中。在其他系统上,你必须手动启动它,除非你 [手动安装][5]。 现在,我没有安装它,所以我手动启动它: @@ -48,7 +52,7 @@ Dragonfly Navigator 是一个双面板文件管理器,这意味着它总是向 ### 打开目录 -要打开目录,请双击它。默认情况下,该目录在同一面板中打开。但是,如果你想使用双面板布局,请在双击时按住 **Ctrl** 键以在另一个面板中显示其内容。 +要打开目录,请双击它。默认情况下,该目录在同一面板中打开。但是,如果你想使用双面板布局,请在双击时按住 `Ctrl` 键以在另一个面板中显示其内容。 ### 打开文件 @@ -58,7 +62,7 @@ Dragonfly Navigator 是一个双面板文件管理器,这意味着它总是向 ### 快速预览 -某些文件可用于快速预览,因此你不必在任何特定应用中打开它们。要预览文件,请将鼠标悬停在文件上,然后按键盘上的 **Alt** 键。预览出现在对面的面板中。 +某些文件可用于快速预览,因此你不必在某个特定应用中打开它们。要预览文件,请将鼠标悬停在文件上,然后按键盘上的 `Alt` 键。预览出现在对面的面板中。 ![The second panel of Dragonfly Navigator can be used as a preview pane.][7] @@ -68,19 +72,19 @@ Dragonfly Navigator 是一个双面板文件管理器,这意味着它总是向 - 在一个面板中,进入目标目录。这是你要将文件复制到的位置。 - 在另一个面板中,选择要复制的文件。 -- 单击 Dragonfly Navigator 中间条中的**复制**按钮。 +- 单击 Dragonfly Navigator 中间条中的 “复制Copy” 按钮。 -要移动文件,请按照相同的步骤操作,但要单击**移动**按钮。 +要移动文件,请按照相同的步骤操作,但要单击 “移动Move” 按钮。 -如果你不习惯双面板文件管理器,一开始会觉得很陌生。但是你仔细想想,在你常用的文件管理器中复制一个文件需要几个步骤(找到文件,打开另一个窗口,拖放等等)。做几次之后,它 成为第二天性。 +如果你不习惯双面板文件管理器,一开始会觉得很陌生。但是你仔细想想,在你常用的文件管理器中复制一个文件需要几个步骤(找到文件,打开另一个窗口,拖放等等)。做几次之后,它成为第二天性。 ### 选择文件 通常,你单击一个文件或文件夹以使其成为你的活动选择。这可能与你当前的文件管理器没有什么不同,或者至少与你过去使用过的某些文件管理器没有什么不同。 -要选择一个范围内的多个项目,请单击一个文件,然后按住 **Shift** 键并单击另一个文件。你单击的两个文件之间的所有项目也被选中。 +要选择一个范围内的多个项目,请单击一个文件,然后按住 `Shift` 键并单击另一个文件。你单击的两个文件之间的所有项目也被选中。 -要选择多个任意文件,请按住 **Ctrl** 键并单击要选择的文件。 +要选择多个任意文件,请按住 `Ctrl` 键并单击要选择的文件。 ### Qt 和 Python 的力量 @@ -93,7 +97,7 @@ via: https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator 作者:[Seth Kenlon][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/) 荣誉推出 @@ -106,3 +110,4 @@ via: https://opensource.com/article/22/12/linux-file-manager-dragonfly-navigator [5]: https://opensource.com/article/18/1/how-install-apps-linux [6]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator.webp [7]: https://opensource.com/sites/default/files/2022-10/dragonfly-navigator-preview.webp +[0]: https://img.linux.net.cn/data/attachment/album/202212/30/105706fk81jdkd1jkh9xpc.jpg \ No newline at end of file From 354ca8193f4f0448343a4ad1346ca5fa53211012 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 31 Dec 2022 15:44:54 +0800 Subject: [PATCH 873/925] RP @wxy https://linux.cn/article-15398-1.html --- ...rsion 7.7 as the Sign of Active Development.md | 123 ++++++++++++++++++ ...rsion 7.7 as the Sign of Active Development.md | 123 ------------------ 2 files changed, 123 insertions(+), 123 deletions(-) create mode 100644 published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md delete mode 100644 sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md diff --git a/published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md b/published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md new file mode 100644 index 0000000000..aa582149ce --- /dev/null +++ b/published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md @@ -0,0 +1,123 @@ +[#]: subject: "Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development" +[#]: via: "https://news.itsfoss.com/unity-7-7-dev/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15398-1.html" + +Unity 正在积极开发,预告 7.7 版 +====== + +> Unity 7.7 版的更新计划为该桌面环境带来一些视觉上的改革。 + +![][1] + +Unity,经典的桌面环境,从 2010 年到 2017 年都是 Ubuntu 的一部分,将收到一个大的新版本。你可以期待它在 2023 年的某个时候发布,但目前还没有具体的发布日期。 + +但不是由 [Canonical][2] 发布。 + +**如果你不知道:** Unity 的开发由一位年轻的开发者 [Rudra Saraswat][3] 接手,他也是 [Ubuntu Unity][4] 衍生版的创造者,这是 Ubuntu 的一个官方特色版。 + +在最近的一篇 [博文][5] 中,Rudra 向我们揭示了 Unity 7.7 的一角和即将到来的各种改进。 + +让我带你看看这些。 + +### Unity 7.7 值得期待的地方 + +![unity 7.7 一窥][6] + +这次披露的内容有很多,其中包括: + +- 更新的欢迎应用程序 +- UWidgets +- 改进的仪表盘 +- 面板的调整 +- 增强的通知指示器 + +#### 更新的欢迎应用程序 + +![][7] + +一个新的欢迎应用程序将被引入 Unity,它基于 Ubuntu Flutter 社区开发的原型(用 [Flutter][8] 编写)。 + +这个应用程序将不只限于一个发行版,而是适用于 Unity 所支持的所有发行版。 + +#### UWidgets + +![][9] + +终于有了,Unity 桌面上的小部件?像 KDE 一样? + +好吧,在 Unity 中引入用 Python 编写的小部件,应该很简单就可以设置(只是复制几个文件的问题)。 + +屏幕截图展示了一堆小部件,如时钟、系统监视器、Spotify 的小部件等等。 + +这还不是全部,Rudra 还提到: + +> 我们将为 UWidgets 建立一个网页商店/仓库,在那里你可以提交你自己的小部件,或者下载并试用 Unity 7.7 上所有这些令人惊叹的小部件。 + +这应该会使用户更容易找到和下载小部件! + +#### 改进的仪表盘 + +![][10] + +仪表盘Dash也被刷新了,新的设计基于 Unity 7 的原始设计概念(在 Canonical 放弃它之前)。 + +按照截图,它应该不会占用大量的屏幕空间,而且还很有用。 + +#### 面板的调整 + +![][11] + +现在的面板比之前的版本略大且更精致。 + +#### 增强的通知指示器 + +![][12] + +这对 Unity 来说是一个巨大的可用性改进;用户现在终于可以利用一个适当的通知指示器了。 + +它将显示与你的应用程序、系统和更多相关的基本通知。 + +#### 其他变化 + +![][13] + +一些更有用的技术改进包括: + +- unity-control-center 的外壳 UI 得到了改进 +- 默认的面板不透明度降低到 0.75 +- 默认的启动器图标尺寸被缩小了 +- 启动器按钮(Ubuntu 图标)被替换为半透明的图标,类似于 Ubuntu Unity 21.04 的启动器按钮。 + +_对 Unity 7.7 感到激动?请在下面的评论中告诉我你的想法。_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/unity-7-7-dev/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/ubuntu-unity-7-7-release.png +[2]: https://canonical.com +[3]: https://about.ruds.io +[4]: https://ubuntuunity.org +[5]: https://unityd.org/unity-7-7-peek/ +[6]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek.jpg +[7]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Welcome.jpg +[8]: https://flutter.dev +[9]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_UWidgets.jpg +[10]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Dash.jpg +[11]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Panels.jpg +[12]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Notif.jpg +[13]: https://news.itsfoss.com/content/images/2022/12/unity-control-center.png diff --git a/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md b/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md deleted file mode 100644 index 13cb812f88..0000000000 --- a/sources/news/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md +++ /dev/null @@ -1,123 +0,0 @@ -[#]: subject: "Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development" -[#]: via: "https://news.itsfoss.com/unity-7-7-dev/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development -====== - -Unity 7.7 update plans to bring in some visual overhaul to the desktop environment. - -![Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development][1] - -Unity, the classic desktop environment, a part of Ubuntu from 2010 to 2017, is all set to receive a big new release. You can expect it to release sometime in 2023, but there is no concrete release date yet. - -But not by [Canonical][2]. - -**If you did not know:** The development of Unity was taken over by a young developer, [Rudra Saraswat][3], who is also the creator of [Ubuntu Unity][4], an official flavor of Ubuntu. - -In a recent [blog post][5], Rudra showed us a sneak peek of Unity 7.7 and the various improvements that are set to come. - -Let me take you through those. - -### Unity 7.7: What To Expect? - -![unity 7.7 sneak peek][6] - -The sneak peek has revealed quite a few things, these include: - -- **Updated Welcome App** -- **UWidgets** -- **Improved Dash** -- **Panel Tweaks** -- **Enhanced Notification Indicators** - -#### Updated Welcome App - -![unity 7.7 sneak peek welcome app][7] - -A new welcome app will be introduced to Unity, based on a prototype developed by the Ubuntu Flutter Community (written in [Flutter][8]). - -The app will not be limited to just one distro, but will be available for all the distros supported by Unity. - -#### UWidgets - -![unity 7.7 sneak peek uwidgets][9] - -Finally, widgets on the Unity desktop? Like KDE? - -Well, the introduction of widgets to Unity, written in Python, should be straightforward to set up (only a matter of copying a few files). - -The screenshot showcases a bunch of widgets, such as a clock, a system monitor, a widget for Spotify, and more. - -That is not all, Rudra also mentions that: - -> We’ll be setting up a web store/repository for UWidgets, where you can either submit your own widgets, or download and try out all those amazing widgets on Unity 7.7. - -This should make it easier for users to find and download widgets! - -#### Improved Dash - -![unity 7.7 sneak peek dash][10] - -The dash has also been refreshed with a new design based on Unity 7's original design concepts (before Canonical dropped it). - -As per the screenshot, it should not take a lot of screen space and still be useful. - -#### Panel Tweaks - -![unity 7.7 sneak peek panels][11] - -The panel is now slightly bigger and more refined than the previous iteration. - -#### Enhanced Notification Indicators - -![unity 7.7 sneak peek notification indicators][12] - -This comes in as a huge usability improvement to Unity; users can now finally take advantage of a proper notification indicator. - -It will display essential notifications related to your apps, system and more. - -#### Other Changes - -![ubuntu unity control center][13] - -Some more useful technical improvements include: - -- **The unity-control-center shell UI has been improved.** -- **The default panel opacity was reduced to 0.75.** -- **The default launcher icon size has been reduced.** -- **Launcher BFB (Ubuntu icon) was replaced with a half-transparent icon, similar to the Ubuntu Unity 21.04 launcher BFB.** - -_Excited about Unity 7.7? Let me know your thoughts in the comments below._ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/unity-7-7-dev/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/ubuntu-unity-7-7-release.png -[2]: https://canonical.com -[3]: https://about.ruds.io -[4]: https://ubuntuunity.org -[5]: https://unityd.org/unity-7-7-peek/ -[6]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek.jpg -[7]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Welcome.jpg -[8]: https://flutter.dev -[9]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_UWidgets.jpg -[10]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Dash.jpg -[11]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Panels.jpg -[12]: https://news.itsfoss.com/content/images/2022/12/Unity_7.7_Sneakpeek_Notif.jpg -[13]: https://news.itsfoss.com/content/images/2022/12/unity-control-center.png From 8393b206381b25f76ba1545ba19cf143aa491ab9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 31 Dec 2022 16:41:37 +0800 Subject: [PATCH 874/925] RP @geekpi https://linux.cn/article-15399-1.html --- ...y Challenge the Supremacy of Visual Studio Code.md | 42 +++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) rename {translated/tech => published}/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md (72%) diff --git a/translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/published/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md similarity index 72% rename from translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md rename to published/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md index c0b3576850..9b925483b3 100644 --- a/translated/tech/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md +++ b/published/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md @@ -3,14 +3,14 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15399-1.html" -5 个即将推出的代码编辑器可能会挑战 Visual Studio Code 的霸主地位 +5 个即将推出的可能会挑战 VS Code 的代码编辑器 ====== -有趣的代码编辑器可能会在 2023 年取代 Visual Studio Code! +> 这些有趣的代码编辑器可能会在 2023 年取代 VS Code! ![5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code][1] @@ -18,27 +18,27 @@ 我们推出了针对 Linux 发布的新的卓越代码编辑器,从 [Lite XL][2] 到 [Pulsar][3] 等。 -因此,为了纪念这一点,我编制了这份即将推出的 Linux 代码编辑器列表,它们很有可能挑战 [Visual Studio Code][4] 的霸主地位。 +因此,为了纪念这一点,我编制了这份即将推出的 Linux 代码编辑器列表,它们很有可能挑战 [VS Code][4] 的霸主地位。 让我带你了解它。 -### 1. Pulsar +### 1、Pulsar ![pulsar][5] [Pulsar][6] 是一个社区主导的开源代码编辑器,旨在替代著名的 Atom 代码编辑器。 -它背后的社区一直在努力工作,通过引入具有更新架构的现代功能,使其与原始 Atom 编辑器不相上下。 +它使用与 Atom 相同的代码库,有一个开源的后端(得益于逆向工程的工作),更新了依赖性。 -所以,如果你是 Atom 用户,你可以试试这个! +他们有计划在不久的将来对其进行改进。 -它可以从[官方网站][7]下载,但请记住,它还处于早期开发阶段。 +它可以从 [官方网站][7] 下载,但请记住,它还处于早期开发阶段。 -### 2. Atom 社区 +### 2、Atom 社区版 ![atom community][8] -“[Atom 社区][10]”也是从现已停止维护的 Atom 编辑器的[灰烬][9]中崛起的,它是一个旨在接管其前身的概念和想法的项目。 +“[Atom 社区版][10]” 也是从现已停止维护的 Atom 编辑器的 [灰烬][9] 中重生的,它是一个旨在接管其前身的概念和想法的项目。 他们的目标是从提供最基本的特性开始,并使其与 [atom-ide-ui][11] 包中的可用功能相媲美。 @@ -46,9 +46,9 @@ 但是,到 2023 年,情况可能会有所不同。 -不过,那些喜欢冒险的人可以使用[源代码][12]来构建它。 +尽管如此,那些喜欢冒险的人可以使用 [源代码][12] 来构建它。 -### 3. Lapce +### 3、Lapce ![lapce][13] @@ -60,17 +60,17 @@ 我们在它处于 pre-alpha 阶段时对其进行了介绍,但在 2023 年它可能会引起注意。 -### 4. Zed +### 4、Zed ![zed breadcrumbs][15] [Zed][16] 是即将推出的代码编辑器,旨在挑战 VS Code 的统治地位。 -它有许多功能,例如实时协作、最小界面、代码动作、命令面板等[更多功能][17]。 +它有许多功能,例如实时协作、极简界面、代码动作、命令面板等 [更多功能][17]。 事实上,Atom 的创始人 [Nathan Sobo][18] 是这一切的幕后推手,并将其称为 Atom 的“_精神继承者_”。 -### 5. Lite XL +### 5、Lite XL ![lite xl][19] @@ -78,14 +78,12 @@ 如果你正在寻找一个完全最小化的代码编辑器,它可能会合你的口味。 -你现在可以从[官方网站][20]获取它,它会定期更新,预计 2023 年也会如此。 +你现在可以从 [官方网站][20] 获取它,它会定期更新,预计 2023 年也会如此。 -**好了,这是这份名单的结束,也是2022年的结束。** 😃 +**好了,这是这份名单的结束,也是 2022 年的结束。** 😃 _我可能错过了一些代码编辑器,我知道你会在评论部分告诉我。随时分享你的想法!_ -> 🌐 在 [Mastodon][21] 和 [Twitter][22] 上关注我们,不错过任何更新! - -------------------------------------------------------------------------------- via: https://news.itsfoss.com/upcoming-code-editors/ @@ -93,7 +91,7 @@ via: https://news.itsfoss.com/upcoming-code-editors/ 作者:[Sourav Rudra][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/) 荣誉推出 From dd74b5193f46acaf0982e18fad6400df308a01a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 31 Dec 2022 23:57:46 +0800 Subject: [PATCH 875/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221230.0=20=E2=AD=90=EF=B8=8F=20An=20Open-Source=20A?= =?UTF-8?q?lternative=20to=20Google,=20Alexa,=20and=20Siri=20in=20Works=20?= =?UTF-8?q?for=20Home=20Assistant=20Platform.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d Siri in Works for Home Assistant Platform.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md diff --git a/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md b/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md new file mode 100644 index 0000000000..80b6010732 --- /dev/null +++ b/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md @@ -0,0 +1,80 @@ +[#]: subject: "An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform" +[#]: via: "https://news.itsfoss.com/open-source-assistant/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform +====== + +An open-source assistant to replace Google, Alexa, Siri? + +![An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform][1] + +**Home Assistant** is an open-source smart home platform that focuses on providing local control and privacy to its users. It can run off a Raspberry Pi or even a local server. + +They also have a subscription service for access to additional features such as support for Alexa and Google Assistant, which is managed by a company called '[Nabu Casa][2]'. + +> 💡 The company is led by [Paulus Schoutsen][3], the founder of Home Assistant. + +In a [blog][4] last week, Paulus announced **a new open-source project that aims to offer a voice assistant without an active internet connection** or any other big tech voice assistants. + +So, an _open-source challenger to Google, Alexa, and Siri?_😲 + +Let's see what this is all about, then. + +**What is it?:** This will be a part of the Home Assistant application and will offer the ability to run voice commands locally to control the connected smart devices. + +Paulus also asserts that their most important priority is to support different languages, he says: + +> People need to be able to speak in their own language, as that is the most accessible and only acceptable language for a voice assistant for the smart home. + +To fuel this endeavor, the creator of Rhasspy, [Mike Hansen][5], has been roped in to make this possible. + +For those of you who don't know, [Rhasspy][6] is another open-source software that specializes in providing a fully offline voice assistant that is backed by its community of users. + +If you ask me, I feel that this feature of Home Assistant will be powered by Rhasspy, which is a good thing. + +_Why reinvent something that already exists? It's better to improve upon it._ + +**What to expect?:** Initially, the voice assistant won't be able to do things you might expect. So, things like making a web search, making calls, playing voice games, etc., are a no-go. + +What it will focus on instead are the **basics of what a voice assistant should be**; this was done to make sure that the work ahead of them was manageable. + +They aim to start with a few actions and then build up language models around them. + +In its current state, Home Assistant supports 62 different languages in its user interface. They plan to add support for all these languages with their voice assistant. + +**When to expect?:** They have already started work on this by building a [collection of intent matching sentences][7] for every language. + +What this means is that the community can contribute to the development of the voice assistant by adapting the commands for smart devices to their respective native languages. + +They aim for a release sometime in **2023** and have mentioned that it will be the '_year of voice_'. + +I think an open-source voice assistant that works offline can be a very useful thing to have; it lets you be free of any tracking from big tech. + +💬 _With the added benefit of having a large community behind its development of it, what's not to like?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/open-source-assistant/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/open-source-home-assistant-in-works.png +[2]: https://www.nabucasa.com +[3]: https://twitter.com/balloob +[4]: https://www.home-assistant.io/blog/2022/12/20/year-of-voice/ +[5]: https://synesthesiam.com +[6]: https://rhasspy.readthedocs.io +[7]: https://github.com/home-assistant/intents From 9a0a144554a6be55939e5882a6f66eba60f14b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 31 Dec 2022 23:59:39 +0800 Subject: [PATCH 876/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221230.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Va?= =?UTF-8?q?nilla=20OS=20Stable=20Release=20Has=20Landed!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Vanilla OS Stable Release Has Landed!.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md diff --git a/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md b/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md new file mode 100644 index 0000000000..165756e918 --- /dev/null +++ b/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md @@ -0,0 +1,134 @@ +[#]: subject: "Vanilla OS Stable Release Has Landed!" +[#]: via: "https://news.itsfoss.com/vanilla-os-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Vanilla OS Stable Release Has Landed! +====== + +Vanilla OS is ready for you to try! Learn what's exciting here. + +![Vanilla OS Stable Release Has Landed!][1] + +Vanilla OS is an Ubuntu-based distro that aims to provide a stock GNOME experience with on-demand immutability and the freedom to choose packages. + +After months of testing, **Vanilla OS first release** is finally here in the form of **Vanilla 22.10 Kinetic** featuring **GNOME 43**. + +In a recent interview, we asked the creator: '_Many people think we have more than enough distros. Why Vanilla OS?_', **Mirko Brombin**, had some interesting insights to share. Read our conversation with him below to explore exciting things about Vanilla OS: + +Vanilla OS has several features that you might find helpful; allow me to introduce them to you. + +### Key Highlights + +![Vanilla OS 22.10 Kinetic][2] + +Being a new distro, Vanilla OS has a well-equipped feature set that you might like. Some notable highlights include the following: + +- **Native Installer** +- **Vanilla OS First Setup Utility** +- **Vanilla OS Control Center** +- **apx Package Manager** +- **On-Demand Immutability** + +#### Native Installer + +![vanilla os installer][3] + +Vanilla OS features a native installer that is written in [GTK4][4] and [libadwaita][5], it replaces the '[Calamares][6]' installer that was being used while the OS was in the early development stages. + +![vanilla os installer progress][7] + +Previously, they had also announced that they would use the '[Jade][8]' installer from the Crystal Linux team. + +But, they changed their mind and opted to build the '[Vanilla Installer][9]' on top of their existing '[Vanilla First Setup][10]' project. + +#### Vanilla OS First Setup + +![vanilla os first setup][11] + +After the installation of Vanilla OS is complete, you are greeted with a quick setup screen, which says 'Welcome' in various languages. + +![vanilla os package manager selection][12] + +It will then take you through various settings, such as choosing the color scheme, choosing what package managers you want, whether you want to install restricted codecs, and more. + +I must say, this is quite handy! 😃️ + +#### Vanilla OS Control Center + +![vanilla os control center][13] + +This graphical tool enables you to make changes to the operating system, such as running critical updates and installing additional drivers. + +#### On-Demand Immutability + +![Showcase - ABRoot transactional updates in Vanilla OS][14] + +As showcased above by the founder of Vanilla OS, this OS can provide full immutability and atomicity by allowing you to transact between two root partitions (A/B). + +What does that mean, you ask? 🤔 + +Well, this means that the core parts of your system are locked to prevent any unwanted changes, especially the ones caused by corrupt applications or faulty update. + +Vanilla OS uses '[ABRoot][15]' to achieve this, previously, they had tried using '[Almost][16]', but it didn't pan out well. + +![][17] + +It also features a **smart update feature**, which they explain as follows: + +> VSO (Vanilla System Operator) is the tool that will periodically check for an update and then download and install it in the background if the device is not under heavy usage. In fact, VSO checks that certain checks are met, such as whether the resources are free (CPU/RAM), whether the connection allows it, whether the battery is at least 30%, etc. + +The updates are applied through ABroot and get patched during the next reboot without taking extra time. + +#### apx Package Manager + +![vanilla os apx][18] + +Vanilla OS features the '[apx][19]' utility, allowing you to install packages inside a managed container without modifying the root file system. + +### Download Vanilla OS + +If you think Vanilla OS solves the problem you have been facing with Ubuntu and want a stock GNOME experience, give it a go. + +You can learn more about Vanilla OS 22.10 in its [official blog post][20]. + +[Download Vanilla OS][21] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vanilla-os-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/vanilla-os-release.png +[2]: https://youtu.be/aDvIJ_Hu90Y +[3]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer.png +[4]: https://news.itsfoss.com/gtk-4-release/ +[5]: https://news.itsfoss.com/gnome-libadwaita-library/ +[6]: https://calamares.io +[7]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer-2.png +[8]: https://github.com/crystal-linux/jade +[9]: https://github.com/Vanilla-OS/vanilla-installer +[10]: https://github.com/Vanilla-OS/first-setup +[11]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-First-Setup.png +[12]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Package-Manager.png +[13]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Control-Center.png +[14]: https://youtu.be/hIN-x3P12Tk +[15]: https://github.com/Vanilla-OS/ABRoot +[16]: https://documentation.vanillaos.org/docs/almost/ +[17]: https://news.itsfoss.com/content/images/2022/12/vanilla-os-updates.png +[18]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-apx.png +[19]: https://github.com/Vanilla-OS/apx +[20]: https://vanillaos.org/2022/12/29/vanilla-os-22-10-kinetic.html +[21]: https://vanillaos.org From 37be978761cd4f26e98ef1325c1c090356c15f05 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 1 Jan 2023 10:31:56 +0800 Subject: [PATCH 877/925] =?UTF-8?q?=E5=BD=92=E6=A1=A3=20202212?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00105 Friend of a Friend- The Facebook That Could Have Been.md | 0 ...20210103 How open principles will impact the future of work.md | 0 ...20210209 Understanding Linus-s Law for open source security.md | 0 .../{ => 202212}/20210330 A DevOps guide to documentation.md | 0 published/{ => 202212}/20210917 Open source game achievements.md | 0 .../{ => 202212}/20210922 Install PowerShell on Fedora Linux.md | 0 .../20220608 WiFi 6 Promises Much More than Faster Speeds.md | 0 .../20220628 Linux su vs sudo- what-s the difference-.md | 0 published/{ => 202212}/20220729 Learn Rust by debugging Rust.md | 0 ...ord Streaming Audio in Ubuntu and other Linux Distributions.md | 0 .../{ => 202212}/20221004 Learn the OSI model in 5 minutes.md | 0 .../20221019.5 ⭐️⭐️ Our open source startup journey.md | 0 ...221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md | 0 .../20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md | 0 .../20221028.1 ⭐️⭐️ Write documentation like you develop code.md | 0 ...3.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md | 0 ...️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md | 0 ...15.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md | 0 ...⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md | 0 ...uthenticator A Simple Open-Source App to Replace Authy on Linux.md | 0 ...20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md | 0 .../20221122.0 ⭐️ Find bugs with the git bisect command.md | 0 ...1122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md | 0 ... a holiday light display with your Raspberry Pi and ping pong balls.md | 0 ...️ How to Automatically Indent Your Code in Visual Studio Code.md | 0 .../20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md | 0 ...'s Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md | 0 ... Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md | 0 .../{ => 202212}/20221129.3 ⭐️⭐️ Parse arguments with Lua.md | 0 .../20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md | 0 ... Microsoft Office 365 Declared illegal for German Schools, Again!.md | 0 ...️ Monica An Open-Source App for Personal Relationship Management.md | 0 .../20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md | 0 ...️ 4MLinux 41.0 stable is now available with SDL games + More.md | 0 ...️ Trinity Desktop Environment R14.0.13 is now out with updates!.md | 0 ...05.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md | 0 ... Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md | 0 ...️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md | 0 .../20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md | 0 ... Last Update for the Year Brings a Lot of Early Christmas Gifts.md | 0 ...onvert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md | 0 .../20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md | 0 .../20221209.0 ⭐️⭐️ Install open source solar power at home.md | 0 ...to Introduce a New Protocol Helping Open-Source Developers Get Paid.md | 0 ...1.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md | 0 ...212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md | 0 ...0221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md | 0 .../20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md | 0 ...1213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md | 0 .../20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md | 0 ...nity-Led Open Source Code Editor to Continue the Legacy of Atom.md | 0 .../20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md | 0 ...A Beautiful Cross-Platform Music Player With Essential Features.md | 0 ...n Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md | 0 .../20221218.1 ⭐️ Try this Python-based file manager on Linux.md | 0 ...nux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md | 0 .../20221221.3 ⭐️⭐️ Open source solutions for EV charging.md | 0 ...ro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md | 0 ...Code Editors that May Challenge the Supremacy of Visual Studio Code.md | 0 ...ted! Unity Teases Version 7.7 as the Sign of Active Development.md | 0 60 files changed, 0 insertions(+), 0 deletions(-) rename published/{ => 202212}/20200105 Friend of a Friend- The Facebook That Could Have Been.md (100%) rename published/{ => 202212}/20210103 How open principles will impact the future of work.md (100%) rename published/{ => 202212}/20210209 Understanding Linus-s Law for open source security.md (100%) rename published/{ => 202212}/20210330 A DevOps guide to documentation.md (100%) rename published/{ => 202212}/20210917 Open source game achievements.md (100%) rename published/{ => 202212}/20210922 Install PowerShell on Fedora Linux.md (100%) rename published/{ => 202212}/20220608 WiFi 6 Promises Much More than Faster Speeds.md (100%) rename published/{ => 202212}/20220628 Linux su vs sudo- what-s the difference-.md (100%) rename published/{ => 202212}/20220729 Learn Rust by debugging Rust.md (100%) rename published/{ => 202212}/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md (100%) rename published/{ => 202212}/20221004 Learn the OSI model in 5 minutes.md (100%) rename published/{ => 202212}/20221019.5 ⭐️⭐️ Our open source startup journey.md (100%) rename published/{ => 202212}/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md (100%) rename published/{ => 202212}/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md (100%) rename published/{ => 202212}/20221028.1 ⭐️⭐️ Write documentation like you develop code.md (100%) rename published/{ => 202212}/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md (100%) rename published/{ => 202212}/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md (100%) rename published/{ => 202212}/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md (100%) rename published/{ => 202212}/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md (100%) rename published/{ => 202212}/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md (100%) rename published/{ => 202212}/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md (100%) rename published/{ => 202212}/20221122.0 ⭐️ Find bugs with the git bisect command.md (100%) rename published/{ => 202212}/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md (100%) rename published/{ => 202212}/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md (100%) rename published/{ => 202212}/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md (100%) rename published/{ => 202212}/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md (100%) rename published/{ => 202212}/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md (100%) rename published/{ => 202212}/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md (100%) rename published/{ => 202212}/20221129.3 ⭐️⭐️ Parse arguments with Lua.md (100%) rename published/{ => 202212}/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md (100%) rename published/{ => 202212}/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md (100%) rename published/{ => 202212}/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md (100%) rename published/{ => 202212}/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md (100%) rename published/{ => 202212}/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md (100%) rename published/{ => 202212}/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md (100%) rename published/{ => 202212}/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md (100%) rename published/{ => 202212}/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md (100%) rename published/{ => 202212}/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md (100%) rename published/{ => 202212}/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md (100%) rename published/{ => 202212}/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md (100%) rename published/{ => 202212}/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md (100%) rename published/{ => 202212}/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md (100%) rename published/{ => 202212}/20221209.0 ⭐️⭐️ Install open source solar power at home.md (100%) rename published/{ => 202212}/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md (100%) rename published/{ => 202212}/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md (100%) rename published/{ => 202212}/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md (100%) rename published/{ => 202212}/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md (100%) rename published/{ => 202212}/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md (100%) rename published/{ => 202212}/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md (100%) rename published/{ => 202212}/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md (100%) rename published/{ => 202212}/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md (100%) rename published/{ => 202212}/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md (100%) rename published/{ => 202212}/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md (100%) rename published/{ => 202212}/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md (100%) rename published/{ => 202212}/20221218.1 ⭐️ Try this Python-based file manager on Linux.md (100%) rename published/{ => 202212}/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md (100%) rename published/{ => 202212}/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md (100%) rename published/{ => 202212}/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md (100%) rename published/{ => 202212}/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md (100%) rename published/{ => 202212}/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md (100%) diff --git a/published/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/published/202212/20200105 Friend of a Friend- The Facebook That Could Have Been.md similarity index 100% rename from published/20200105 Friend of a Friend- The Facebook That Could Have Been.md rename to published/202212/20200105 Friend of a Friend- The Facebook That Could Have Been.md diff --git a/published/20210103 How open principles will impact the future of work.md b/published/202212/20210103 How open principles will impact the future of work.md similarity index 100% rename from published/20210103 How open principles will impact the future of work.md rename to published/202212/20210103 How open principles will impact the future of work.md diff --git a/published/20210209 Understanding Linus-s Law for open source security.md b/published/202212/20210209 Understanding Linus-s Law for open source security.md similarity index 100% rename from published/20210209 Understanding Linus-s Law for open source security.md rename to published/202212/20210209 Understanding Linus-s Law for open source security.md diff --git a/published/20210330 A DevOps guide to documentation.md b/published/202212/20210330 A DevOps guide to documentation.md similarity index 100% rename from published/20210330 A DevOps guide to documentation.md rename to published/202212/20210330 A DevOps guide to documentation.md diff --git a/published/20210917 Open source game achievements.md b/published/202212/20210917 Open source game achievements.md similarity index 100% rename from published/20210917 Open source game achievements.md rename to published/202212/20210917 Open source game achievements.md diff --git a/published/20210922 Install PowerShell on Fedora Linux.md b/published/202212/20210922 Install PowerShell on Fedora Linux.md similarity index 100% rename from published/20210922 Install PowerShell on Fedora Linux.md rename to published/202212/20210922 Install PowerShell on Fedora Linux.md diff --git a/published/20220608 WiFi 6 Promises Much More than Faster Speeds.md b/published/202212/20220608 WiFi 6 Promises Much More than Faster Speeds.md similarity index 100% rename from published/20220608 WiFi 6 Promises Much More than Faster Speeds.md rename to published/202212/20220608 WiFi 6 Promises Much More than Faster Speeds.md diff --git a/published/20220628 Linux su vs sudo- what-s the difference-.md b/published/202212/20220628 Linux su vs sudo- what-s the difference-.md similarity index 100% rename from published/20220628 Linux su vs sudo- what-s the difference-.md rename to published/202212/20220628 Linux su vs sudo- what-s the difference-.md diff --git a/published/20220729 Learn Rust by debugging Rust.md b/published/202212/20220729 Learn Rust by debugging Rust.md similarity index 100% rename from published/20220729 Learn Rust by debugging Rust.md rename to published/202212/20220729 Learn Rust by debugging Rust.md diff --git a/published/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md b/published/202212/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md similarity index 100% rename from published/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md rename to published/202212/20220810 How to Record Streaming Audio in Ubuntu and other Linux Distributions.md diff --git a/published/20221004 Learn the OSI model in 5 minutes.md b/published/202212/20221004 Learn the OSI model in 5 minutes.md similarity index 100% rename from published/20221004 Learn the OSI model in 5 minutes.md rename to published/202212/20221004 Learn the OSI model in 5 minutes.md diff --git a/published/20221019.5 ⭐️⭐️ Our open source startup journey.md b/published/202212/20221019.5 ⭐️⭐️ Our open source startup journey.md similarity index 100% rename from published/20221019.5 ⭐️⭐️ Our open source startup journey.md rename to published/202212/20221019.5 ⭐️⭐️ Our open source startup journey.md diff --git a/published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md b/published/202212/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md similarity index 100% rename from published/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md rename to published/202212/20221025.3 ⭐️ How to Change Login Screen Background in Ubuntu.md diff --git a/published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md b/published/202212/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md similarity index 100% rename from published/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md rename to published/202212/20221026.0 ⭐️⭐️⭐️ Doing 64-bit math on a 16-bit system.md diff --git a/published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md b/published/202212/20221028.1 ⭐️⭐️ Write documentation like you develop code.md similarity index 100% rename from published/20221028.1 ⭐️⭐️ Write documentation like you develop code.md rename to published/202212/20221028.1 ⭐️⭐️ Write documentation like you develop code.md diff --git a/published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md b/published/202212/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md similarity index 100% rename from published/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md rename to published/202212/20221103.6 ⭐️⭐️⭐️ How To Securely Transfer Files With SCP In Linux.md diff --git a/published/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md b/published/202212/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md similarity index 100% rename from published/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md rename to published/202212/20221107.5 ⭐️ How to Install OpenOffice in Arch Linux [Beginner’s Guide].md diff --git a/published/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md b/published/202212/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md similarity index 100% rename from published/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md rename to published/202212/20221115.0 ⭐️ You Can Now Install Unity 7.6 Desktop on Arch Linux.md diff --git a/published/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md b/published/202212/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md similarity index 100% rename from published/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md rename to published/202212/20221116.0 ⭐️⭐️ How to Install GNOME Desktop Environment in Linux Mint.md diff --git a/published/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md b/published/202212/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md similarity index 100% rename from published/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md rename to published/202212/20221117.1 ⭐️ Authenticator A Simple Open-Source App to Replace Authy on Linux.md diff --git a/published/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md b/published/202212/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md similarity index 100% rename from published/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md rename to published/202212/20221121.2 ⭐️⭐️ Learn Git 3 commands to level up your skill.md diff --git a/published/20221122.0 ⭐️ Find bugs with the git bisect command.md b/published/202212/20221122.0 ⭐️ Find bugs with the git bisect command.md similarity index 100% rename from published/20221122.0 ⭐️ Find bugs with the git bisect command.md rename to published/202212/20221122.0 ⭐️ Find bugs with the git bisect command.md diff --git a/published/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md b/published/202212/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md similarity index 100% rename from published/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md rename to published/202212/20221122.2 ⭐️⭐️⭐️ Introducing Rust calls to C library functions.md diff --git a/published/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md b/published/202212/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md similarity index 100% rename from published/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md rename to published/202212/20221126.2 ⭐️⭐️ Create a holiday light display with your Raspberry Pi and ping pong balls.md diff --git a/published/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md b/published/202212/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md similarity index 100% rename from published/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md rename to published/202212/20221127.1 ⭐️ How to Automatically Indent Your Code in Visual Studio Code.md diff --git a/published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md b/published/202212/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md similarity index 100% rename from published/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md rename to published/202212/20221128.1 ⭐️⭐️ 3 open source audio tools for creators.md diff --git a/published/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md b/published/202212/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md similarity index 100% rename from published/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md rename to published/202212/20221128.2 ⭐️ Elon Musk's Twitter to Add Open-Source Signal Protocol for Encrypted DMs.md diff --git a/published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md b/published/202212/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md similarity index 100% rename from published/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md rename to published/202212/20221129.1 ⭐️ Bodhi Linux 7.0.0 Testing Begins with New Features, Packages.md diff --git a/published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md b/published/202212/20221129.3 ⭐️⭐️ Parse arguments with Lua.md similarity index 100% rename from published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md rename to published/202212/20221129.3 ⭐️⭐️ Parse arguments with Lua.md diff --git a/published/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md b/published/202212/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md similarity index 100% rename from published/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md rename to published/202212/20221130.1 ⭐️⭐️ Get to know Lua for loops in 4 minutes.md diff --git a/published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md b/published/202212/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md similarity index 100% rename from published/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md rename to published/202212/20221201.2 ⭐️⭐️ Microsoft Office 365 Declared illegal for German Schools, Again!.md diff --git a/published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/published/202212/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md similarity index 100% rename from published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md rename to published/202212/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md diff --git a/published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md b/published/202212/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md similarity index 100% rename from published/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md rename to published/202212/20221202.1 ⭐️⭐️ Try this Java file manager on Linux.md diff --git a/published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md b/published/202212/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md similarity index 100% rename from published/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md rename to published/202212/20221204.1 ⭐️ 4MLinux 41.0 stable is now available with SDL games + More.md diff --git a/published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md b/published/202212/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md similarity index 100% rename from published/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md rename to published/202212/20221204.2 ⭐️⭐️ Trinity Desktop Environment R14.0.13 is now out with updates!.md diff --git a/published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md b/published/202212/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md similarity index 100% rename from published/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md rename to published/202212/20221205.3 ⭐️⭐️ Why you should try the Nemo file manager on Linux.md diff --git a/published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md b/published/202212/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md similarity index 100% rename from published/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md rename to published/202212/20221206.1 ⭐️ Gnoppix Linux 22.12 is out with GNOME 43, Kernel 6.0, + More.md diff --git a/published/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md b/published/202212/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md similarity index 100% rename from published/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md rename to published/202212/20221207.0 ⭐️ How to Find a Process ID and Kill it in Linux [CLI & GUI].md diff --git a/published/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md b/published/202212/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md similarity index 100% rename from published/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md rename to published/202212/20221207.2 ⭐️ How to Access UEFI Settings in Linux Systems.md diff --git a/published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md b/published/202212/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md similarity index 100% rename from published/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md rename to published/202212/20221207.5 ⭐️ Kali Linux's Last Update for the Year Brings a Lot of Early Christmas Gifts.md diff --git a/published/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md b/published/202212/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md similarity index 100% rename from published/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md rename to published/202212/20221208.1 ⭐️ Convert and Manipulate Images With ‘Converter’ GUI Tool in Linux.md diff --git a/published/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md b/published/202212/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md similarity index 100% rename from published/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md rename to published/202212/20221208.2 ⭐️⭐️ 7 pro tips for using the GDB step command.md diff --git a/published/20221209.0 ⭐️⭐️ Install open source solar power at home.md b/published/202212/20221209.0 ⭐️⭐️ Install open source solar power at home.md similarity index 100% rename from published/20221209.0 ⭐️⭐️ Install open source solar power at home.md rename to published/202212/20221209.0 ⭐️⭐️ Install open source solar power at home.md diff --git a/published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md b/published/202212/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md similarity index 100% rename from published/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md rename to published/202212/20221209.2 ⭐️⭐️ Tea Raises $8.9M to Introduce a New Protocol Helping Open-Source Developers Get Paid.md diff --git a/published/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md b/published/202212/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md similarity index 100% rename from published/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md rename to published/202212/20221211.0 ⭐️ Simplify your Linux PC with the PCManFM file manager.md diff --git a/published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md b/published/202212/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md similarity index 100% rename from published/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md rename to published/202212/20221212.0 ⭐️⭐️ Linux Kernel 6.1 Released With Initial Rust Code.md diff --git a/published/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/published/202212/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md similarity index 100% rename from published/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md rename to published/202212/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md diff --git a/published/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md b/published/202212/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md similarity index 100% rename from published/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md rename to published/202212/20221213.3 ⭐️ Linux Mint Upgrade Tool Usage Guide.md diff --git a/published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md b/published/202212/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md similarity index 100% rename from published/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md rename to published/202212/20221213.6 ⭐️⭐️ Try this Linux web browser as your file manager.md diff --git a/published/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md b/published/202212/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md similarity index 100% rename from published/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md rename to published/202212/20221215.2 ⭐️⭐️ Improve your documentation with JavaScript.md diff --git a/published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md b/published/202212/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md similarity index 100% rename from published/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md rename to published/202212/20221215.4 ⭐️ Pulsar A Community-Led Open Source Code Editor to Continue the Legacy of Atom.md diff --git a/published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md b/published/202212/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md similarity index 100% rename from published/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md rename to published/202212/20221215.5 ⭐️ XFCE 4.18 Release Looks Impressive!.md diff --git a/published/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md b/published/202212/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md similarity index 100% rename from published/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md rename to published/202212/20221216.1 ⭐️ Harmonoid A Beautiful Cross-Platform Music Player With Essential Features.md diff --git a/published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md b/published/202212/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md similarity index 100% rename from published/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md rename to published/202212/20221216.3 ⭐️ Better Late Than Never! GNOME's File Picker Adds Thumbnail View After 18 Years.md diff --git a/published/20221218.1 ⭐️ Try this Python-based file manager on Linux.md b/published/202212/20221218.1 ⭐️ Try this Python-based file manager on Linux.md similarity index 100% rename from published/20221218.1 ⭐️ Try this Python-based file manager on Linux.md rename to published/202212/20221218.1 ⭐️ Try this Python-based file manager on Linux.md diff --git a/published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md b/published/202212/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md similarity index 100% rename from published/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md rename to published/202212/20221220.5 ⭐️⭐️ Linux Mint 21.1 Arrives with a Ton of Visual Changes and Improvements.md diff --git a/published/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md b/published/202212/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md similarity index 100% rename from published/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md rename to published/202212/20221221.3 ⭐️⭐️ Open source solutions for EV charging.md diff --git a/published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md b/published/202212/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md similarity index 100% rename from published/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md rename to published/202212/20221226.1 ⭐️ Manjaro Linux 22.0 Releases Featuring Xfce 4.18 and Linux Kernel 6.1.md diff --git a/published/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md b/published/202212/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md similarity index 100% rename from published/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md rename to published/202212/20221227.0 ⭐️⭐️ 5 Upcoming Code Editors that May Challenge the Supremacy of Visual Studio Code.md diff --git a/published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md b/published/202212/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md similarity index 100% rename from published/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md rename to published/202212/20221229.0 ⭐️ Be Delighted! Unity Teases Version 7.7 as the Sign of Active Development.md From 4fab485dd306592810c8e7f3bd6f32f39a057935 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 1 Jan 2023 11:30:02 +0800 Subject: [PATCH 878/925] ALL @wxy https://linux.cn/article-15401-1.html --- ...️⭐️ Vanilla OS Stable Release Has Landed!.md | 137 ++++++++++++++++++ ...️⭐️ Vanilla OS Stable Release Has Landed!.md | 134 ----------------- 2 files changed, 137 insertions(+), 134 deletions(-) create mode 100644 published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md delete mode 100644 sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md diff --git a/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md b/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md new file mode 100644 index 0000000000..19088158cd --- /dev/null +++ b/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md @@ -0,0 +1,137 @@ +[#]: subject: "Vanilla OS Stable Release Has Landed!" +[#]: via: "https://news.itsfoss.com/vanilla-os-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15401-1.html" + +不普通的普通操作系统:Vanilla OS 稳定版发布了! +====== + +> Vanilla OS 已经准备好让你尝试!在这里了解令人兴奋的地方。 + +![][1] + +Vanilla OS 是一个基于 Ubuntu 的发行版,旨在为用户提供一个具有随需应变能力和自由选择软件包的 GNOME 体验。(LCTT 译注:Vanilla —— “香草”,因为作为太普通的香料,所以也有“普普通通”的意思。) + +经过几个月的测试,**Vanilla OS 的第一个版本** 终于以 **Vanilla 22.10 Kinetic** 的形式出现了,其提供了原汁原味的 **GNOME 43**。 + +在最近的一次采访中,我们问创建者:“很多人认为我们已经有太多的发行版了。为什么还要有 Vanilla OS?”,**Mirko Brombin**,分享了一些有趣的见解享。请看下面我们与他的对话,探索关于 Vanilla OS 的令人兴奋的事情: + +> **[“不要害怕做出贡献”:Mirko Brombin 谈 Vanilla OS 和其他未来项目][22]** + +Vanilla OS 有几个特点,你可能会觉得有帮助,请允许我向你介绍一下。 + +### 主要亮点 + +![Vanilla OS 22.10 Kinetic][2] + +作为一个新的发行版,Vanilla OS 有一个装备精良的功能集,你可能会喜欢。一些值得注意的亮点包括: + +- 原生安装程序 +- Vanilla OS 首次设置First Setup 功能 +- Vanilla OS 控制中心 +- apx 软件包管理器 +- 随需应变能力 + +#### 原生安装程序 + +![Vanilla OS 安装程序][3] + +Vanilla OS 有一个用 [GTK4][4] 和 [libadwaita][5] 编写的原生的安装程序,它取代了该操作系统在早期开发阶段时使用的 [Calamares][6] 安装程序。 + +![Vanilla OS 安装程序正在进行][7] + +之前,他们还宣布将使用来自 Crystal Linux 团队的 [Jade][8] 安装程序。 + +但是,他们改变了主意,选择在现有的 [Vanilla 首次设置][10] 项目之上建立 [Vanilla 安装程序][9]。 + +#### Vanilla OS 首次设置 + +![Vanilla OS 首次设置][11] + +Vanilla OS 的安装完成后,你会看到一个快速设置屏幕,上面用各种语言写着 “欢迎”。 + +![Vanilla OS 软件包管理器选择][12] + +然后它将带你完成各种设置,如选择颜色方案,选择你想要的软件包管理器,是否要安装受限制的编解码器,等等。 + +我必须说,这很方便! 😃️ + +#### Vanilla OS 控制中心 + +![Vanilla OS 控制中心][13] + +这个图形化工具使你能够对操作系统进行修改,如运行关键更新和安装额外的驱动程序。 + +#### 随需应变的不变性 + +![展示 - Vanilla OS 中的 ABRoot 事务性更新][14] + +正如上面 Vanilla OS 的创始人所展示的,这个操作系统可以提供完全的不变性和原子性,允许你在两个根分区(A/B)之间进行交易。 + +你问这是什么意思? 🤔 + +嗯,这意味着你的系统的核心部分被锁定,以防止任何不必要的变化,特别是那些由损坏的应用程序或错误的更新引起的变化。 + +Vanilla OS 使用 [ABRoot][15] 来实现这一目标,之前,他们曾尝试使用 [Almost][16],但结果并不理想。 + +![][17] + +它还有一个**智能更新功能**,他们解释如下: + +> VSO(Vanilla System Operator)是一个工具,它将定期检查更新,然后如果设备没有处于大量使用状态,就在后台下载和安装。事实上,VSO 检查是否满足某些检查条件,如资源是否空闲(CPU/RAM),连接是否允许,电池是否至少有 30% 的电量等。 + +更新是通过 ABroot 应用的,并在下一次重启时得到修补,而不需要花费额外时间。 + +#### apx 软件包管理器 + +![Vanilla OS apx][18] + +Vanilla OS 带有 [apx][19] 工具,允许你在不修改根文件系统的情况下在管理的容器内安装软件包。 + +### 下载 Vanilla OS + +如果你认为 Vanilla OS 解决了你在 Ubuntu 上遇到的问题,并且想要一个原汁原味的 GNOME 体验,那就来试试吧。 + +你可以在其 [官方博客文章][20] 中了解更多关于 Vanilla OS 22.10 的信息。 + +> **[下载 Vanilla OS][21]** + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/vanilla-os-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/vanilla-os-release.png +[2]: https://youtu.be/aDvIJ_Hu90Y +[3]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer.png +[4]: https://news.itsfoss.com/gtk-4-release/ +[5]: https://news.itsfoss.com/gnome-libadwaita-library/ +[6]: https://calamares.io +[7]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer-2.png +[8]: https://github.com/crystal-linux/jade +[9]: https://github.com/Vanilla-OS/vanilla-installer +[10]: https://github.com/Vanilla-OS/first-setup +[11]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-First-Setup.png +[12]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Package-Manager.png +[13]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Control-Center.png +[14]: https://youtu.be/hIN-x3P12Tk +[15]: https://github.com/Vanilla-OS/ABRoot +[16]: https://documentation.vanillaos.org/docs/almost/ +[17]: https://news.itsfoss.com/content/images/2022/12/vanilla-os-updates.png +[18]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-apx.png +[19]: https://github.com/Vanilla-OS/apx +[20]: https://vanillaos.org/2022/12/29/vanilla-os-22-10-kinetic.html +[21]: https://vanillaos.org +[22]: https://news.itsfoss.com/interview-mirko-brombin/ \ No newline at end of file diff --git a/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md b/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md deleted file mode 100644 index 165756e918..0000000000 --- a/sources/news/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md +++ /dev/null @@ -1,134 +0,0 @@ -[#]: subject: "Vanilla OS Stable Release Has Landed!" -[#]: via: "https://news.itsfoss.com/vanilla-os-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Vanilla OS Stable Release Has Landed! -====== - -Vanilla OS is ready for you to try! Learn what's exciting here. - -![Vanilla OS Stable Release Has Landed!][1] - -Vanilla OS is an Ubuntu-based distro that aims to provide a stock GNOME experience with on-demand immutability and the freedom to choose packages. - -After months of testing, **Vanilla OS first release** is finally here in the form of **Vanilla 22.10 Kinetic** featuring **GNOME 43**. - -In a recent interview, we asked the creator: '_Many people think we have more than enough distros. Why Vanilla OS?_', **Mirko Brombin**, had some interesting insights to share. Read our conversation with him below to explore exciting things about Vanilla OS: - -Vanilla OS has several features that you might find helpful; allow me to introduce them to you. - -### Key Highlights - -![Vanilla OS 22.10 Kinetic][2] - -Being a new distro, Vanilla OS has a well-equipped feature set that you might like. Some notable highlights include the following: - -- **Native Installer** -- **Vanilla OS First Setup Utility** -- **Vanilla OS Control Center** -- **apx Package Manager** -- **On-Demand Immutability** - -#### Native Installer - -![vanilla os installer][3] - -Vanilla OS features a native installer that is written in [GTK4][4] and [libadwaita][5], it replaces the '[Calamares][6]' installer that was being used while the OS was in the early development stages. - -![vanilla os installer progress][7] - -Previously, they had also announced that they would use the '[Jade][8]' installer from the Crystal Linux team. - -But, they changed their mind and opted to build the '[Vanilla Installer][9]' on top of their existing '[Vanilla First Setup][10]' project. - -#### Vanilla OS First Setup - -![vanilla os first setup][11] - -After the installation of Vanilla OS is complete, you are greeted with a quick setup screen, which says 'Welcome' in various languages. - -![vanilla os package manager selection][12] - -It will then take you through various settings, such as choosing the color scheme, choosing what package managers you want, whether you want to install restricted codecs, and more. - -I must say, this is quite handy! 😃️ - -#### Vanilla OS Control Center - -![vanilla os control center][13] - -This graphical tool enables you to make changes to the operating system, such as running critical updates and installing additional drivers. - -#### On-Demand Immutability - -![Showcase - ABRoot transactional updates in Vanilla OS][14] - -As showcased above by the founder of Vanilla OS, this OS can provide full immutability and atomicity by allowing you to transact between two root partitions (A/B). - -What does that mean, you ask? 🤔 - -Well, this means that the core parts of your system are locked to prevent any unwanted changes, especially the ones caused by corrupt applications or faulty update. - -Vanilla OS uses '[ABRoot][15]' to achieve this, previously, they had tried using '[Almost][16]', but it didn't pan out well. - -![][17] - -It also features a **smart update feature**, which they explain as follows: - -> VSO (Vanilla System Operator) is the tool that will periodically check for an update and then download and install it in the background if the device is not under heavy usage. In fact, VSO checks that certain checks are met, such as whether the resources are free (CPU/RAM), whether the connection allows it, whether the battery is at least 30%, etc. - -The updates are applied through ABroot and get patched during the next reboot without taking extra time. - -#### apx Package Manager - -![vanilla os apx][18] - -Vanilla OS features the '[apx][19]' utility, allowing you to install packages inside a managed container without modifying the root file system. - -### Download Vanilla OS - -If you think Vanilla OS solves the problem you have been facing with Ubuntu and want a stock GNOME experience, give it a go. - -You can learn more about Vanilla OS 22.10 in its [official blog post][20]. - -[Download Vanilla OS][21] - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/vanilla-os-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/vanilla-os-release.png -[2]: https://youtu.be/aDvIJ_Hu90Y -[3]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer.png -[4]: https://news.itsfoss.com/gtk-4-release/ -[5]: https://news.itsfoss.com/gnome-libadwaita-library/ -[6]: https://calamares.io -[7]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Installer-2.png -[8]: https://github.com/crystal-linux/jade -[9]: https://github.com/Vanilla-OS/vanilla-installer -[10]: https://github.com/Vanilla-OS/first-setup -[11]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-First-Setup.png -[12]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Package-Manager.png -[13]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-Control-Center.png -[14]: https://youtu.be/hIN-x3P12Tk -[15]: https://github.com/Vanilla-OS/ABRoot -[16]: https://documentation.vanillaos.org/docs/almost/ -[17]: https://news.itsfoss.com/content/images/2022/12/vanilla-os-updates.png -[18]: https://news.itsfoss.com/content/images/2022/12/Vanilla-OS-apx.png -[19]: https://github.com/Vanilla-OS/apx -[20]: https://vanillaos.org/2022/12/29/vanilla-os-22-10-kinetic.html -[21]: https://vanillaos.org From e76c267cc819e049287dcba0ff051fef98250511 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 1 Jan 2023 11:32:04 +0800 Subject: [PATCH 879/925] R --- .../20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md b/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md index 19088158cd..834ab618b2 100644 --- a/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md +++ b/published/20221230.1 ⭐️⭐️ Vanilla OS Stable Release Has Landed!.md @@ -7,7 +7,7 @@ [#]: publisher: "wxy" [#]: url: "https://linux.cn/article-15401-1.html" -不普通的普通操作系统:Vanilla OS 稳定版发布了! +不普通的普通操作系统:Vanilla OS 稳定版发布了! ====== > Vanilla OS 已经准备好让你尝试!在这里了解令人兴奋的地方。 From 47258e686b893ab4d66af209222e0b2e294767b3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 1 Jan 2023 16:04:46 +0800 Subject: [PATCH 880/925] RP @geekpi https://linux.cn/article-15402-1.html --- ... How to Downgrade Flatpak Packages in Linux.md | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) rename {translated/tech => published}/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md (62%) diff --git a/translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md b/published/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md similarity index 62% rename from translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md rename to published/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md index ca5b61f709..dfc488c153 100644 --- a/translated/tech/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md +++ b/published/20221220.1 ⭐️ How to Downgrade Flatpak Packages in Linux.md @@ -3,28 +3,32 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15402-1.html" 如何在 Linux 中降级 Flatpak 软件包 ====== -从技术上讲,次要更新是为了解决问题。但是,当某些更新破坏你当前的工作流程时,情况可能会变得更糟。 +![][0] -无论是 Flatpak 包还是 Snap,当出现问题时,一切都会在某个时候崩溃。作为一个沙盒打包方案,它可能不会影响整个系统,但如果你遇到一个让你的应用体验变差的 bug,你可能会后悔更新。 +> Flatpak 软件包的一个鲜为人知的特点是,它允许你对已安装的应用程序进行降级。下面是如何使用它的方法。 -比如之前更新的 [Black Box][1] 就带来了一些 bug,无法选择文字!开发人员现在已经解决了这个问题,但在他们没有解决之前,我降级了那个特定的包以使其正常工作。 +从技术上讲,小版本或次要更新是为了解决问题。但是,当某些更新破坏你当前的工作流程时,情况可能会变得更糟。 + +无论是 Flatpak 包还是 Snap,当出现问题时,一切都会在某个时候崩溃。作为一个沙盒打包方案,它可能不会影响整个系统,但如果你遇到一个让你的应用体验变差的错误,你可能会后悔更新。 + +比如之前 [Black Box][1] 的更新就带来了一些错误,无法选择文字!开发人员现在已经解决了这个问题,但在他们没有解决之前,我降级了那个特定的包以使其正常工作。 所以,如果你想降级特定的 Flatpak 应用,你可以按照本指南进行操作。 ### 在 Linux 中降级 Flatpak 包 -**免责声明:** 与安装 Flatpaks 不同,你需要 **sudo** 权限才能降级 Flatpak 包。如果你的用户没有它们,你可以按照我们关于[如何向用户授予 sudo 访问权限][2]的详细指南进行操作。 +**免责声明:** 与安装 Flatpak 不同,你需要 `sudo` 权限才能降级 Flatpak 包。如果你的用户没有该权限,你可以按照我们关于 [如何向用户授予 sudo 访问权限][2] 的详细指南进行操作。 以下是步骤: -#### 1.获取包的应用 ID +#### 1、获取包的应用 ID 第一步是找到要降级的包的应用 ID。你可以列出已安装的软件包轻松找到它: @@ -38,7 +42,7 @@ flatpak list --app 这里,我要降级 Black Box,所以我的应用 ID 将是 `com.raggesilver.BlackBox`。 -#### 2.列出以前的版本并获取提交代码 +#### 2、列出以前的版本并获取该提交的代码 获得应用 ID 后,你需要列出以前的版本。 @@ -50,9 +54,9 @@ flatpak remote-info --log flathub ![find previous releases in flatpak][5] -找到首选的先前版本后,复制如上所示的提交代码。 +找到首选的先前版本后,复制如上所示的提交的代码。 -#### 3.降级 Flatpack 包 +#### 3、降级 Flatpack 包 执行前两个步骤后,你应该有以下内容: @@ -98,7 +102,7 @@ via: https://itsfoss.com/downgrade-flatpak-packages/ 作者:[Sagar Sharma][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/) 荣誉推出 @@ -106,7 +110,8 @@ via: https://itsfoss.com/downgrade-flatpak-packages/ [b]: https://github.com/lkxed [1]: https://itsfoss.com/blackbox-terminal/ [2]: https://itsfoss.com/add-sudo-user-ubuntu/ -[4]: https://itsfoss.com/wp-content/uploads/2022/12/find-flatpak-package-id-in-linux.png -[5]: https://itsfoss.com/wp-content/uploads/2022/12/find-previous-releases-in-flatpak-1.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package-in-linux.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/downgrade-flatpak-package.png +[4]: https://itsfoss.com/content/images/wordpress/2022/12/find-flatpak-package-id-in-linux.png +[5]: https://itsfoss.com/content/images/wordpress/2022/12/find-previous-releases-in-flatpak-1.png +[6]: https://itsfoss.com/content/images/wordpress/2022/12/downgrade-flatpak-package-in-linux.png +[7]: https://itsfoss.com/content/images/wordpress/2022/12/downgrade-flatpak-package.png +[0]: https://img.linux.net.cn/data/attachment/album/202301/01/160400h0mmppwwvxd004bm.jpg \ No newline at end of file From 2537136afd56ea80e474a9bd89b500f960c34599 Mon Sep 17 00:00:00 2001 From: MjSeven Date: Sun, 1 Jan 2023 21:33:06 +0800 Subject: [PATCH 881/925] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...️⭐️ Write a C++ extension module for Python.md | 318 ----------------- ...️⭐️ Write a C++ extension module for Python.md | 320 ++++++++++++++++++ 2 files changed, 320 insertions(+), 318 deletions(-) delete mode 100644 sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md create mode 100644 translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md diff --git a/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md b/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md deleted file mode 100644 index f5b8157ba3..0000000000 --- a/sources/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md +++ /dev/null @@ -1,318 +0,0 @@ -[#]: subject: "Write a C++ extension module for Python" -[#]: via: "https://opensource.com/article/22/11/extend-c-python" -[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" -[#]: collector: "lkxed" -[#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Write a C++ extension module for Python -====== - -In a previous article, I gave an overview of [six Python interpreters][1]. On most systems, the CPython interpreter is the default, and also the poll in my last article showed that CPython is the most popular one. Specific to CPython is the ability to write Python modules in C using CPythons extensions API. Writing Python modules in C allows you to move computation-intensive code to C while preserving the ease of access of Python. - -In this article, I’ll show you how to write an extension module. Instead of plain C, I use C++ because most compilers usually understand both. I have to mention one major drawback in advance: Python modules built this way are not portable to other interpreters. They only work in conjunction with the CPython interpreter. So if you are looking for a more portable way of interacting with C libraries, consider using the [ctypes][2] module. - -### Source code - -As usual, you can find the related source code on [GitHub][3]. The C++ files in the repository have the following purpose: - -- `my_py_module.cpp`: Definition of the Python module _MyModule_ -- `my_cpp_class.h`: A header-only C++ class which gets exposed to Python -- `my_class_py_type.h/cpp`: Python representation of our C++ class -- `pydbg.cpp`: Separate application for debugging purpose - -The Python module you build in this article won’t have any meaningful use, but is a good example. - -### Build the module - -Before looking into the source code, you can check whether the module compiles on your system. [I use CMake][4] for creating the build configuration, so CMake must be installed on your system. In order to configure and build the module, you can either let Python run the process: - -``` -$ python3 setup.py build -``` - -Or run the process manually: - -``` -$ cmake -B build -$ cmake --build build -``` - -After that, you have a file called `MyModule.so` in the `/build` subdirectory. - -### Defining an extension module - -First, take a look on `my_py_module.cpp`, in particular, the function `PyInit_MyModule`: - -``` -PyMODINIT_FUNC -PyInit_MyModule(void) { - PyObject* module = PyModule_Create(&my_module); - - PyObject *myclass = PyType_FromSpec(&spec_myclass); - if (myclass == NULL){ - return NULL; - } - Py_INCREF(myclass); - - if(PyModule_AddObject(module, "MyClass", myclass) < 0){ - Py_DECREF(myclass); - Py_DECREF(module); - return NULL; - } - return module; -} -``` - -This is the most important code in this example because it acts as the entry point for CPython. In general, when a Python C extension is compiled and made available as a shared object binary, CPython searches for the function `PyInit_` in the eponymous binary (`.so`) and executes it when attempting to import it. - -All Python types, whether declarations or instances, are exposed as pointers to [PyObject][5]. In the first part of this function, the root definition of the module is created by running `PyModule_Create(...)`. As you can see in the module specification (`my_module`, same file), it doesn’t have any special functionality. - -Afterward, [PyType_FromSpec][6] is called to create a Python [heap type][7] definition for the custom type MyClass. A heap type corresponds to a Python class. The type definition is then assigned to the module MyModule. - -_Note that if one of the functions fails, the reference count of previously created PyObjects must be decremented so that they get deleted by the interpreter._ - -### Specifying a Python type - -The specification for the type MyClass is found inside [my_class_py_type.h][8] as an instance of [PyType_Spec][9]: - -``` -static PyType_Spec spec_myclass = { - "MyClass", // name - sizeof(MyClassObject) + sizeof(MyClass), // basicsize - 0, // itemsize - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, // flags - MyClass_slots // slots -}; -``` - -This structure defines some basic type information for the class. The value passed for the size consists of the size of the Python representation (`MyClassObject`) and the size of the plain C++ class (`MyClass`). The `MyClassObject` is defined as follows: - -``` -typedef struct { - PyObject_HEAD - int m_value; - MyClass* m_myclass; -} MyClassObject; -``` - -The Python representation is basically of type [PyObject][5], defined by the macro `PyObject_HEAD`, and some additional members. The member `m_value` is exposed as ordinary class member while the member `m_myclass` is only accessible from inside C++ code. - -The [PyType_Slot][10] defines some additional functionality: - -``` -static PyType_Slot MyClass_slots[] = { - {Py_tp_new, (void*)MyClass_new}, - {Py_tp_init, (void*)MyClass_init}, - {Py_tp_dealloc, (void*)MyClass_Dealloc}, - {Py_tp_members, MyClass_members}, - {Py_tp_methods, MyClass_methods}, - {0, 0} /* Sentinel */ -}; -``` - -Here, the jump addressed for some initialization and de-initialization functions are set as well as ordinary class methods and members. Additional functionality, like assigning an initial attribute dictionary, could also be set, but this is optional. Those definitions usually end with a sentinel, consisting of `NULL` values. - -To complete the type specification, here is the method and member table: - -``` -static PyMethodDef MyClass_methods[] = { - {"addOne", (PyCFunction)MyClass_addOne, METH_NOARGS, PyDoc_STR("Return an incrmented integer")}, - {NULL, NULL} /* Sentinel */ -}; - -static struct PyMemberDef MyClass_members[] = { - {"value", T_INT, offsetof(MyClassObject, m_value)}, - {NULL} /* Sentinel */ -}; -``` - -In the method table, the Python method `addOne` is defined, and it points to the related function `MyClass_addOne`. This function acts as a wrapper. It invokes the `addOne()` method in the C++ class. - -In the member table, there is just one member defined for demonstration purposes. Unfortunately, the use of [offsetof][11] in [PyMemberDef][12] doesn’t allow C++ specific types to be added to `MyClassObject`. If you try to place some C++ type container (such as [std::optional][13]), the compiler complains about it in the form of warnings related to memory layout. - -### Initialization and de-initialization - -The method `MyClass_new` acts only to provide initial values for `MyClassObject` and allocates memory for the base type: - -``` -PyObject *MyClass_new(PyTypeObject *type, PyObject *args, PyObject *kwds){ - std::cout << "MtClass_new() called!" << std::endl; - - MyClassObject *self; - self = (MyClassObject*) type->tp_alloc(type, 0); - if(self != NULL){ // -> allocation successfull - // assign initial values - self->m_value = 0; - self->m_myclass = NULL; - } - return (PyObject*) self; -} -``` - -Actual initialization takes place in `MyClass_init`, which corresponds to the [__init__()][14] method in Python: - -``` -int MyClass_init(PyObject *self, PyObject *args, PyObject *kwds){ - - ((MyClassObject *)self)->m_value = 123; - - MyClassObject* m = (MyClassObject*)self; - m->m_myclass = (MyClass*)PyObject_Malloc(sizeof(MyClass)); - - if(!m->m_myclass){ - PyErr_SetString(PyExc_RuntimeError, "Memory allocation failed"); - return -1; - } - - try { - new (m->m_myclass) MyClass(); - } catch (const std::exception& ex) { - PyObject_Free(m->m_myclass); - m->m_myclass = NULL; - m->m_value = 0; - PyErr_SetString(PyExc_RuntimeError, ex.what()); - return -1; - } catch(...) { - PyObject_Free(m->m_myclass); - m->m_myclass = NULL; - m->m_value = 0; - PyErr_SetString(PyExc_RuntimeError, "Initialization failed"); - return -1; - } - - return 0; -} -``` - -If you want to have arguments passed during initialization, you must call [PyArg_ParseTuple][15] at this point. For the sake of simplicity, all arguments passed during initialization are ignored in this example. In the first part of the function, the `PyObject` pointer (`self`) is reinterpreted to a pointer to `MyClassObject` in order to get access to our additional members. Additionally, the memory for the C++ class is allocated and its constructor is executed. - -Note that exception handling and memory allocation (and de-allocation) must be carefully done in order to prevent memory leaks. When the reference count drops to zero, the `MyClass_dealloc` function takes care of freeing all related heap memory. There’s a [dedicated chapter][16] in the documentation about memory management for C and C++ extensions. - -### Method wrapper - -Calling a related C++ class method from the Python class is easy: - -``` -PyObject* MyClass_addOne(PyObject *self, PyObject *args){ - assert(self); - - MyClassObject* _self = reinterpret_cast(self); - unsigned long val = _self->m_myclass->addOne(); - return PyLong_FromUnsignedLong(val); -} -``` - -Again, the `PyObject*` argument (`self`) is casted to `MyClassObject*` in order to get access to `m_myclass`, a pointer to the C++ class instance. With this information, the classes method `addOne()` is called and the result is returned in form of a [Python integer object][17]. - -### 3 ways to debug - -For debugging purposes, it can be valuable to compile the CPython interpreter in debugging configuration. A detailed description can be found in the [official documentation][18]. It’s possible to follow the next steps, as long as additional debug symbols for the pre-installed interpreter are downloaded. - -#### GNU Debugger - -Good old [GNU Debugger (GDB)][19] is, of course, also useful here. I include a [gdbinit][20] file, defining some options and breakpoints. There’s also the [gdb.sh][21] script, which creates a debug build and initiates a GDB session: - -![Gnu Debugger (GDB) is useful for your Python C and C++ extensions.][22] - -GDB invokes the CPython interpreter with the script file [main.py][23]. The script file allows you to easily define all the actions you want to perform with the Python extension module. - -#### C++ application - -Another approach is to embed the CPython interpreter in a separate C++ application. In the repository, this can be found in the file [pydbg.cpp][24]: - -``` -int main(int argc, char *argv[], char *envp[]) -{ - Py_SetProgramName(L"DbgPythonCppExtension"); - Py_Initialize(); - - PyObject *pmodule = PyImport_ImportModule("MyModule"); - if (!pmodule) { - PyErr_Print(); - std::cerr << "Failed to import module MyModule" << std::endl; - return -1; - } - - PyObject *myClassType = PyObject_GetAttrString(pmodule, "MyClass"); - if (!myClassType) { - std::cerr << "Unable to get type MyClass from MyModule" << std::endl; - return -1; - } - - PyObject *myClassInstance = PyObject_CallObject(myClassType, NULL); - - if (!myClassInstance) { - std::cerr << "Instantioation of MyClass failed" << std::endl; - return -1; - } - - Py_DecRef(myClassInstance); // invoke deallocation - return 0; -} -``` - -Using the [high level interface][25], it’s possible to include the extension module and perform actions on it. This allows you to debug in the native IDE environment. It also gives you finer control of the variables passed from and to the extension module. - -The drawback is the high expense of creating an extra application. - -#### VSCode and VSCodium LLDB extension - -Using a debugger extension like [CodeLLDB][26] is probably the most convenient debugging option. The repository includes the VSCode or VSCodium configuration files for building the extension ([task.json][27], [CMake Tools][28]) and invoking the debugger ([launch.json][29]). This approach combines the advantages of the previous ones: Debugging in an graphical IDE, defining actions in a Python script file or even dynamically in the interpreter prompt. - -![VSCodium features an integrated debugger.][30] - -### Extend C++ with Python - -All functionality available from Python code is also available from within a C or C++ extension. While coding in Python is often considered as an easy win, extending Python in C or C++ can also be a pain. On the other hand, while native Python code is slower than C++, a C or C++ extension makes it possible to elevate a computation-intensive task to the speed of native machine code. - -You must also consider the usage of an ABI. The stable ABI provides a way to maintain backwards compatibility to older versions of CPython as described in [the documentation][31]. - -In the end, you must weigh the advantages and disadvantages yourself. Should you decide to use C extensions to make certain functionality available to you in Python, you’ve seen how it can be done. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/11/extend-c-python - -作者:[Stephan Avenwedde][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/hansic99 -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/22/9/python-interpreters-2022 -[2]: https://docs.python.org/3/library/ctypes.html#module-ctypes -[3]: https://github.com/hANSIc99/PythonCppExtension -[4]: https://opensource.com/article/21/5/cmake -[5]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pyobject#c.PyObject -[6]: https://docs.python.org/3/c-api/type.html#c.PyType_FromSpec -[7]: https://docs.python.org/3/c-api/typeobj.html#heap-types -[8]: https://github.com/hANSIc99/PythonCppExtension/blob/main/my_class_py_type.h -[9]: https://docs.python.org/3/c-api/type.html#c.PyType_Spec -[10]: https://docs.python.org/release/3.9.1/c-api/type.html?highlight=pytype_slot#c.PyType_Slot -[11]: https://en.cppreference.com/w/cpp/types/offsetof -[12]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pymemberdef#c.PyMemberDef -[13]: https://en.cppreference.com/w/cpp/utility/optional -[14]: https://docs.python.org/3/library/dataclasses.html?highlight=__init__ -[15]: https://docs.python.org/3/c-api/arg.html#c.PyArg_ParseTuple -[16]: https://docs.python.org/3/c-api/memory.html -[17]: https://docs.python.org/3/c-api/long.html -[18]: https://docs.python.org/3/c-api/intro.html#debugging-builds -[19]: https://opensource.com/article/21/3/debug-code-gdb -[20]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdbinit -[21]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdb.sh -[22]: https://opensource.com/sites/default/files/2022-11/gdb_session_b_0.png -[23]: https://github.com/hANSIc99/PythonCppExtension/blob/main/main.py -[24]: https://github.com/hANSIc99/PythonCppExtension/blob/main/pydbg.cpp -[25]: https://docs.python.org/3/extending/embedding.html#very-high-level-embedding -[26]: https://github.com/vadimcn/vscode-lldb -[27]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/tasks.json -[28]: https://github.com/microsoft/vscode-cmake-tools -[29]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/launch.json -[30]: https://opensource.com/sites/default/files/2022-11/vscodium_debug_session.png -[31]: https://docs.python.org/3/c-api/stable.html diff --git a/translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md b/translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md new file mode 100644 index 0000000000..184640b701 --- /dev/null +++ b/translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md @@ -0,0 +1,320 @@ +[#]: subject: "Write a C++ extension module for Python" +[#]: via: "https://opensource.com/article/22/11/extend-c-python" +[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" +[#]: collector: "lkxed" +[#]: translator: "MjSeven" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +为 Python 写一个 C++ 扩展模块 +====== + +使用 C 扩展为 Python 提供特定功能。 + +在前一篇文章中,我介绍了[六个 Python 解释器][1]。在大多数系统上,CPython 是默认的解释器,而且根据民意调查显示,它还是最流行的解释器。Cpython 的独有功能是使用扩展 API 用 C 语言编写 Python 模块。用 C 语言编写 Python 模块允许你将计算密集型代码转移到 C,同时保留 Python 的易用性。 + +在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 [ctypes][2]模块。 + +### 源代码 + +和往常一样,你可以在 [GitHub][3] 上找到相关的源代码。仓库中的 C++ 文件有以下用途: + +- `my_py_module.cpp`: Python 模块 _MyModule_ 的定义 +- `my_cpp_class.h`: 一个头文件 - 只有一个暴露给 Python 的 C++ 类 +- `my_class_py_type.h/cpp`: Python 形式的 C++ 类 +- `pydbg.cpp`: 用于调试的单独应用程序 + +本文构建的 Python 模块不会有任何实际用途,但它是一个很好的示例。 + +### 构建模块 + +在查看源代码之前,你可以检查它是否能在你的系统上编译。[我使用 CMake][4]来创建构建的配置信息,因此你的系统上必须安装 CMake。为了配置和构建这个模块,可以让 Python 去执行这个过程: + +``` +$ python3 setup.py build +``` + +或者手动执行: + +``` +$ cmake -B build +$ cmake --build build +``` + +之后,在 `/build` 子目录下你会有一个名为 `MyModule. so` 的文件。 + +### 定义扩展模块 + +首先,看一下 `my_py_module.cpp` 文件,尤其是 `PyInit_MyModule` 函数: + +``` cpp +PyMODINIT_FUNC +PyInit_MyModule(void) { + PyObject* module = PyModule_Create(&my_module); + + PyObject *myclass = PyType_FromSpec(&spec_myclass); + if (myclass == NULL){ + return NULL; + } + Py_INCREF(myclass); + + if(PyModule_AddObject(module, "MyClass", myclass) < 0){ + Py_DECREF(myclass); + Py_DECREF(module); + return NULL; + } + return module; +} +``` + +这是本例中最重要的代码,因为它是 CPython 的入口点。一般来说,当一个 Python C 扩展被编译并作为共享对象二进制文件提供时,CPython 会在同名二进制文件中(`.so`)搜索 `PyInit_` 函数,并在试图导入时执行它。 + +无论是声明还是实例,所有 Python 类型都是 [PyObject][5] 的一个指针。在此函数的第一部分中,`module` 通过 `PyModule_Create(...)` 创建的。正如你在 `module` 详述(`my_py_module`,同名文件)中看到的,它没有任何特殊的功能。 + +之后,调用 [PyType_FromSpec][6] 为自定义类型 MyClass 创建一个 Python [堆类型][7]定义。一个堆类型对应于一个 Python 类,然后将它赋值给 MyModule 模块。 + +_注意,如果其中一个函数返回失败,则必须减少以前创建的复制对象的引用计数,以便解释器删除它们。_ + +### 指定 Python 类型 + +MyClass 详设在 [my_class_py_type.h][8] 中可以找到,它作为 [PyType_Spec][9] 的一个实例: + +```cpp +static PyType_Spec spec_myclass = { + "MyClass", // name + sizeof(MyClassObject) + sizeof(MyClass), // basicsize + 0, // itemsize + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, // flags + MyClass_slots // slots +}; +``` + +它定义了一些基本类型信息,它的大小包括 Python 表示的大小(`MyClassObject`)和普通 C++ 类的大小(`MyClass`)。`MyClassObject` 定义如下: + +```cpp +typedef struct { + PyObject_HEAD + int m_value; + MyClass* m_myclass; +} MyClassObject; +``` + +Python 表示的话就是 [PyObject][5] 类型,由 `PyObject_HEAD` 宏和其他一些成员定义。成员 `m_value` 视为普通类成员,而成员 `m_myclass` 只能在 C++ 代码内部访问。 + +[PyType_Slot][10] 定义了一些其他功能: + +```cpp +static PyType_Slot MyClass_slots[] = { + {Py_tp_new, (void*)MyClass_new}, + {Py_tp_init, (void*)MyClass_init}, + {Py_tp_dealloc, (void*)MyClass_Dealloc}, + {Py_tp_members, MyClass_members}, + {Py_tp_methods, MyClass_methods}, + {0, 0} /* Sentinel */ +}; +``` + +在这里,设置了一些初始化和析构函数的跳转,还有普通的类方法和成员,还可以设置其他功能,如分配初始属性字典,但这是可选的。这些定义通常以一个哨兵结束,包含 `NULL` 值。 + +要完成类型详述,还包括下面的方法和成员表: + +```cpp +static PyMethodDef MyClass_methods[] = { + {"addOne", (PyCFunction)MyClass_addOne, METH_NOARGS, PyDoc_STR("Return an incrmented integer")}, + {NULL, NULL} /* Sentinel */ +}; + +static struct PyMemberDef MyClass_members[] = { + {"value", T_INT, offsetof(MyClassObject, m_value)}, + {NULL} /* Sentinel */ +}; +``` + +在方法表中,定义了 Python 方法 `addOne`,它指向相关的 C++ 函数 `MyClass_addOne`。它充当了一个包装器,它在 C++ 类中调用 `addOne()` 方法。 + +在成员表中,只有一个为演示目的而定义的成员。不幸的是,在 [PyMemberDef][12] 中使用的 [offsetof][11] 不允许添加 C++ 类型到 `MyClassObject`。如果你试图放置一些 C++ 类型的容器(如 [std::optional][13]),编译器会抱怨一些内存布局相关的警告。 + +### 初始化和析构 + +`MyClass_new` 方法只为 `MyClassObject` 提供一些初始值,并为其类型分配内存: + +```cpp +PyObject *MyClass_new(PyTypeObject *type, PyObject *args, PyObject *kwds){ + std::cout << "MtClass_new() called!" << std::endl; + + MyClassObject *self; + self = (MyClassObject*) type->tp_alloc(type, 0); + if(self != NULL){ // -> 分配成功 + // 赋初始值 + self->m_value = 0; + self->m_myclass = NULL; + } + return (PyObject*) self; +} +``` + +实际的初始化发生在 `MyClass_init` 中,它对应于 Python 中的 [\_\_init__()][14] 方法: + +```cpp +int MyClass_init(PyObject *self, PyObject *args, PyObject *kwds){ + + ((MyClassObject *)self)->m_value = 123; + + MyClassObject* m = (MyClassObject*)self; + m->m_myclass = (MyClass*)PyObject_Malloc(sizeof(MyClass)); + + if(!m->m_myclass){ + PyErr_SetString(PyExc_RuntimeError, "Memory allocation failed"); + return -1; + } + + try { + new (m->m_myclass) MyClass(); + } catch (const std::exception& ex) { + PyObject_Free(m->m_myclass); + m->m_myclass = NULL; + m->m_value = 0; + PyErr_SetString(PyExc_RuntimeError, ex.what()); + return -1; + } catch(...) { + PyObject_Free(m->m_myclass); + m->m_myclass = NULL; + m->m_value = 0; + PyErr_SetString(PyExc_RuntimeError, "Initialization failed"); + return -1; + } + + return 0; +} +``` + +如果你想在初始化过程中传递参数,必须在此时调用 [PyArg_ParseTuple][15]。简单起见,本例将忽略初始化过程中传递的所有参数。在函数的第一部分中,`PyObject` 指针(`self`)被强转为 `MyClassObject` 类型的指针,以便访问其他成员。此外,还分配了 C++ 类的内存,并执行了构造函数。 + +注意,为了防止内存泄漏,必须仔细执行异常处理和内存分配(还有释放)。当引用计数将为零时,`MyClass_dealloc` 函数负责释放所有相关的堆内存。在文档中有一个章节专门讲述关于 C 和 C++ 扩展的内存管理。 + +### 包装方法 + +从 Python 类中调用相关的 C++ 类方法很简单: + +```cpp +PyObject* MyClass_addOne(PyObject *self, PyObject *args){ + assert(self); + + MyClassObject* _self = reinterpret_cast(self); + unsigned long val = _self->m_myclass->addOne(); + return PyLong_FromUnsignedLong(val); +} +``` + +同样,`PyObject` 参数(`self`)被强转为 `MyClassObject` 类型以便访问 `m_myclass`,它指向 C++ 对应类实例的指针。有了这些信息,调用 `addOne()` 类方法,并且结果以[ Python 整数对象][17]返回。 + +### 3 种方法调试 + +出于调试目的,在调试配置中编译 CPython 解释器是很有价值的。详细描述参阅[官方文档][18]。只要下载了预安装的解释器的其他调试符号,就可以按照下面的步骤进行操作。 + +#### GNU 调试器 + +当然,老式的 [GNU 调试器(GDB)][19]也可以派上用场。源码中包含了一个 [gdbinit][20] 文件,定义了一些选项和断点,另外还有一个 [gdb.sh][21] 脚本,它会创建一个调试构建并启动一个 GDB 会话: + +![Gnu 调试器(GDB)对于 Python C 和 C++ 扩展非常有用][22] + +GDB 使用脚本文件 [main.py][23] 调用 CPython 解释器,它允许你轻松定义你想要使用 Python 扩展模块执行的所有操作。 + +#### C++ 应用 + +另一种方法是将 CPython 解释器嵌入到一个单独的 C++ 应用程序中。可以在仓库的 [pydbg.cpp][24] 文件中找到: + +```cpp +int main(int argc, char *argv[], char *envp[]) +{ + Py_SetProgramName(L"DbgPythonCppExtension"); + Py_Initialize(); + + PyObject *pmodule = PyImport_ImportModule("MyModule"); + if (!pmodule) { + PyErr_Print(); + std::cerr << "Failed to import module MyModule" << std::endl; + return -1; + } + + PyObject *myClassType = PyObject_GetAttrString(pmodule, "MyClass"); + if (!myClassType) { + std::cerr << "Unable to get type MyClass from MyModule" << std::endl; + return -1; + } + + PyObject *myClassInstance = PyObject_CallObject(myClassType, NULL); + + if (!myClassInstance) { + std::cerr << "Instantioation of MyClass failed" << std::endl; + return -1; + } + + Py_DecRef(myClassInstance); // invoke deallocation + return 0; +} +``` + +使用[高级接口][25],可以导入扩展模块并对其执行操作。它允许你在本地 IDE 环境中进行调试,还能让你更好地控制传递或来自扩展模块的变量。 + +缺点是创建一个额外的应用程序的成本很高。 + +#### VSCode 和 VSCodium LLDB 扩展 + +使用像 [CodeLLDB][26] 这样的调试器扩展可能是最方便的调试选项。仓库包含了一些 VSCode/VSCodium 的配置文件,用于构建扩展,如 [task.json][27]、[CMake Tools][28] 和调用调试器([launch.json][29])。这种方法结合了前面几种方法的优点:在图形 IDE 中调试,在 Python 脚本文件中定义操作,甚至在解释器提示符中动态定义操作。 + +![VSCodium 有一个集成的调试器。][30] + +### 用 C++ 扩展 Python + +Python 的所有功能也可以从 C 或 C++ 扩展中获得。虽然用 Python 写代码通常认为是一件容易的事情,但用 C 或 C++ 扩展 Python 代码是一件痛苦的事情。另一方面,虽然原生 Python 代码比 C++ 慢,但 C 或 C++ 扩展可以将计算密集型任务提升到原生机器码的速度。 + +你还必须考虑 ABI 的使用。稳定的 ABI 提供了一种方法来保持旧版本 CPython 的向后兼容性,如[文档][31]所述。 + +最后,你必须自己权衡利弊。如果你决定使用 C 语言来扩展 Python 中的一些功能,你已经看到了如何实现它。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/11/extend-c-python + +作者:[Stephan Avenwedde][a] +选题:[lkxed][b] +译者:[MjSeven](https://github.com/MjSeven) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/hansic99 +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/22/9/python-interpreters-2022 +[2]: https://docs.python.org/3/library/ctypes.html#module-ctypes +[3]: https://github.com/hANSIc99/PythonCppExtension +[4]: https://opensource.com/article/21/5/cmake +[5]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pyobject#c.PyObject +[6]: https://docs.python.org/3/c-api/type.html#c.PyType_FromSpec +[7]: https://docs.python.org/3/c-api/typeobj.html#heap-types +[8]: https://github.com/hANSIc99/PythonCppExtension/blob/main/my_class_py_type.h +[9]: https://docs.python.org/3/c-api/type.html#c.PyType_Spec +[10]: https://docs.python.org/release/3.9.1/c-api/type.html?highlight=pytype_slot#c.PyType_Slot +[11]: https://en.cppreference.com/w/cpp/types/offsetof +[12]: https://docs.python.org/release/3.9.1/c-api/structures.html?highlight=pymemberdef#c.PyMemberDef +[13]: https://en.cppreference.com/w/cpp/utility/optional +[14]: https://docs.python.org/3/library/dataclasses.html?highlight=__init__ +[15]: https://docs.python.org/3/c-api/arg.html#c.PyArg_ParseTuple +[16]: https://docs.python.org/3/c-api/memory.html +[17]: https://docs.python.org/3/c-api/long.html +[18]: https://docs.python.org/3/c-api/intro.html#debugging-builds +[19]: https://opensource.com/article/21/3/debug-code-gdb +[20]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdbinit +[21]: https://github.com/hANSIc99/PythonCppExtension/blob/main/gdb.sh +[22]: https://opensource.com/sites/default/files/2022-11/gdb_session_b_0.png +[23]: https://github.com/hANSIc99/PythonCppExtension/blob/main/main.py +[24]: https://github.com/hANSIc99/PythonCppExtension/blob/main/pydbg.cpp +[25]: https://docs.python.org/3/extending/embedding.html#very-high-level-embedding +[26]: https://github.com/vadimcn/vscode-lldb +[27]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/tasks.json +[28]: https://github.com/microsoft/vscode-cmake-tools +[29]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/launch.json +[30]: https://opensource.com/sites/default/files/2022-11/vscodium_debug_session.png +[31]: https://docs.python.org/3/c-api/stable.html From 93a7b20dc1749374ab6725915fb86009c4bad49f Mon Sep 17 00:00:00 2001 From: CanYellow Date: Mon, 2 Jan 2023 14:58:04 +0800 Subject: [PATCH 882/925] Translated (#28352) * 1st h * 2 * finished * finished --- ...s for measuring your open source software usage.md | 142 ----------------- ...s for measuring your open source software usage.md | 145 ++++++++++++++++++ 2 files changed, 145 insertions(+), 142 deletions(-) delete mode 100644 sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md create mode 100644 translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md diff --git a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md deleted file mode 100644 index 6c4a9eec17..0000000000 --- a/sources/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "8 ideas for measuring your open source software usage" -[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" -[#]: author: "Georg Link https://opensource.com/users/georglink" -[#]: collector: "lkxed" -[#]: translator: "CanYellow" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -8 ideas for measuring your open source software usage -====== - -Those of us who support open source project communities are often asked about usage metrics — a lot. The goal of these metrics is usually to demonstrate the software's importance as measured by its user base and awareness. We typically want to know: how many people use the software, how many installations are there, and how many lives are being touched. - -To make a long story short: We cannot answer these questions directly. - -Sorry to disappoint you if you were hoping for a definitive solution. No one has the perfect answers to questions about usage metrics. At least, no precise answers. - -The good news is that there are approximations and alternative metrics that can satisfy your thirst for knowledge about the software's usage, at least partially. This article explores these alternatives including their benefits and shortcomings. - -### Downloads - -When you visit websites that offer software, you can often see how many times the software has been downloaded. An example that comes to mind is Firefox, which used to have a download counter. It was an impressive number and gave the impression that Firefox was a popular browser—which it was for a while. - -However, individual behavior can directly impact the accuracy of this number. For example, when a person wipes their machine regularly, each rebuild incurs a separate download. To account for this reality, there needs to be a way to subtract a few dozen (maybe hundreds) downloads from the number because of that one person. - -Not only can downloads overestimate usage, but they can also underestimate usage. For instance, a system administrator may download a new version of Firefox once to a flash drive and then install it on hundreds of devices. - -Download metrics are easy to collect because you can log each download request on the server. The problem is that you don't know what happens to the software after it is downloaded. Was the person able to use the software as anticipated? Or did the person run into issues and abandon the software? - -For open source projects, you can consider a variety of download metrics, such as the number of binaries downloaded from: - -- the project website -- package managers such as npm, PyPi, and Maven -- code repositories like GitHub, GitLab, and Gitee - -You may also be interested in downloads of the source code because downstream projects are most likely to use this format (also read [How to measure the impact of your open source project][1]). Relevant download metrics include: - -- The number of clones (source code downloads) from code repositories like GitHub, GitLab, and Gitee -- The number of archives (tar, zip) downloaded from the website -- The number of source code downloads through package managers like npm, PyPi, and Maven - -Download metrics for source code are an even less reliable measure than binary downloads (although there is no research to demonstrate this). Just imagine that a developer wants to use the most recent version of your source code and has configured their build pipeline to always clone your repository for every build. Now imagine that an automated build process was failing and retrying to build, constantly cloning your repository. You can also imagine a scenario where the metric is lower than expected—say the repository is cached somewhere, and downloads are served by the cache. - -**[ Related read [5 metrics to track in your open source community][2] ]** - -In conclusion, download metrics are good proxies for detecting trends and providing context around current usage. We cannot define specifically how a download translates to usage. But we can say that an increase in downloads is an indicator of more potential users. For example, if you advertise your software and see that download numbers are higher during the campaign, it would be fair to assume that the advertisement prompted more people to download the software. The source and metadata of the download can also provide additional context for usage patterns. What versions of your software are still in use? What operating system or language-specific versions are more popular? This helps the community prioritize which platforms to support and test. - -### Issues - -As an open source project, you probably have an issue tracker. When someone opens an issue, two common goals are to report a bug or request a feature. The issue author has likely used your software. As a user, they would have found a bug or identified the need for a new feature. - -Obviously, most users don't take the extra step to file an issue. Issue authors are dedicated users and we are thankful for them. Also, by opening an issue, they have become a non-code contributor. They may become a code contributor. A rule of thumb is that for every 10,000 users, you may get 100 who open an issue and one who contributes code. Depending on the type of user, these ratios may differ. - -With regard to metrics, you can count the number of issue authors as a lower-bound estimation for usage. Related metrics can include: - -- The number of issue authors -- The number of active issue authors (opened an issue in the last 6 months) -- The number of issue authors who also contribute code -- The number of issues opened -- The number of issue comments written - -### User mailing lists, forums, and Q&A sites - -Many open source projects have mailing lists for users, a forum, and presence on a Q&A site, such as Stack Overflow. Similar to issue authors, people who post there can be considered the tip of the iceberg of users. Metrics around how active a community is in these mailing lists, forums, and Q&A sites can also be used as a proxy for increasing or decreasing the user base. Related metrics can focus on the activity in these places, including: - -- The number of user mailing list subscribers -- The number of forum users -- The number of questions asked -- The number of answers provided -- The number of messages created - -### Call-home feature - -To get accurate counts of users, one idea is to have your software report back when it is in use. - -This can be creepy. Imagine a system administrator whose firewall reports an unexpected connection to your server. Not only could the report never reach you (it was blocked), but your software may be banned from future use. - -Responsible ways to have a call-home feature is an optional service to look for updates and let the user know to use the latest version. Another optional feature can focus on usage telemetry where you ask the user whether your software may, anonymously, report back how the software is used. When implemented thoughtfully, this approach can allow users to help improve the software by their style of using it. A user may have the opinion: "I often don't allow this usage information sharing but for some software I do because I hope the developers will make it better for me in the long term." - -### Stars and forks - -Stars and forks are features on social coding platforms like GitHub, GitLab, and Gitee. Users on these platforms can star a project. Why do they star projects? GitHub's documentation explains, "You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed." Starring is the equivalent of bookmarking and also provides a way to show appreciation to a repository maintainer. Stars have been used as an indicator of the popularity of a project. When a project has a big announcement that attracts considerable attention, the star count tends to increase. The star metric does not indicate the usage of the software. - -Forks on these social coding platforms are clones of a repository. Non-maintainers can make changes in their fork and submit them for review through a pull request. Forks are more a reflection of community size than stars. Developers may also fork a project to save a copy they can access even after the original repository has disappeared. Due to the use of forks in the contribution workflow, the metric is a good indicator for the developer community. Forks do not typically indicate usage by non-developers because non-developers usually do not create forks. - -### Social media - -Social media platforms provide gathering places for people with shared interests, including Facebook, Instagram, LinkedIn, Reddit, Twitter, and more. Using a social media strategy, open source projects can attract people with interest and affinity for their projects by setting up respective gathering spaces on these platforms. Through these social media channels, open source projects can share news and updates and highlight contributors and users. They can also be used to meet people who would not otherwise interact with your project. - -We are hesitant to suggest the following metrics because they have no clear connection to actual usage of your software and often require analysis for positive, negative, and neutral sentiment. People may be excited about your project for many different reasons and want to follow it without actually using it. However, like other metrics already discussed, showing that you are able to draw a crowd in social media spaces is an indicator of the interest in your project overall. Metrics for different social media platforms may include: - -- The number of followers or subscribers -- The number of messages -- The number of active message authors -- The number of likes, shares, reactions, and other interactions - -### Web analytics and documentation - -Website traffic is a useful metric as well. This metric is influenced more by your outreach and marketing activities than your number of users. However, we have an ace up our sleeve: our user documentation, tutorials, handbooks, and API documentation. We can see what topics on our website draw attention, including documentation. The number of visitors to the documentation would arguably increase with an increase in the number of discrete users of the software. We can therefore detect general interest in the project with visitors to the website and more specifically observe user trends by observing visitors to the documentation. Metrics may include: - -- The number of website visitors -- The number of documentation visitors -- The duration visitors spend on your website or in documentation - -### Events - -Event metrics are available if you are hosting events around your project. This is a great way to build community. How many people submit abstracts to speak at your events? How many people show up to your events? This can be interesting for both in-person and virtual events. Of course, how you advertise your event strongly influences how many people show up. Also, you may co-locate your event with a larger event where people travel anyway, and thus, are in town and can easily attend your event. As long as you use a consistent event strategy, you can make a case that a rise in speaker submissions and attendee registrations are indicative of increasing popularity and user base. - -You don't need to host your own event to collect insightful metrics. If you host talks about your project at open source events, you can measure how many people show up to your session focused on your project. At events like FOSDEM, some talks are specifically focused on updates or announcements of open source projects and the rooms are filled to the brim (like almost all sessions at FOSDEM). - -Metrics you might consider: - -- The number of attendees at your project-centric event -- The number of talks submitted to your project-centric event -- The number of attendees at your project-centric talks - -### Conclusion about approximating usage of open source software - -As we've illustrated, there are many metrics that can indicate trends around the usage of your software, and all are imperfect. In most cases, these metrics can be heavily influenced by individual behavior, system design, and noise. As such, we suggest that you never use any of these metrics in isolation, given the relative uncertainty of each one. But if you collect a set of metrics from a variety of sources, you should be able to detect trends in behavior and usage. If you have the means to compare the same set of metrics across multiple open source projects with commonalities—such as similar functionality, strong interdependencies, hosted under the same foundation, and other characteristics—you can improve your sense of behavioral baselines. - -Note that in this overview, we've also chosen to highlight metrics that evaluate direct usage. As most software depends on a variety of other software packages, we would be remiss if we did not mention that usage and behavior can also be heavily impacted by indirect usage as part of a dependency chain. As such, we recommend incorporating the count of upstream and downstream dependencies as another layer of context in your analysis. - -In closing, as the wielder of data and metrics, we encourage you to recognize the power and responsibility that you have for your stakeholders. Any metric that you publish has the potential to influence behavior. It is a best practice to always share your context—bases, sources, estimations, and other critical contextual information—as this will help others to interpret your results. - -We thank the CHAOSS Community for the insightful conversation at CHAOSScon EU 2022 in Dublin, Ireland that sparked the idea for this blog post and to the CHAOSS Community members who reviewed and helped improve this article. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-usage-metrics - -作者:[Georg Link][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/georglink -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics diff --git a/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md new file mode 100644 index 0000000000..f3efee7126 --- /dev/null +++ b/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -0,0 +1,145 @@ +[#]: subject: "8 ideas for measuring your open source software usage" +[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" +[#]: author: "Georg Link https://opensource.com/users/georglink" +[#]: collector: "lkxed" +[#]: translator: "CanYellow" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +衡量你开源软件使用的8个方法 +====== + +我们这些支持开源项目社区的人经常被问到很多有关使用指标的问题。这些指标通常是为了通过用户群体和用户认知来衡量软件的重要性。我们一般都想知道有多少人使用该软件,有多少次安装以及触发了多少次实例。 + +长话短说,我们尚无法直接回答上述问题。 + +如果你想要寻找一个终极解决方案,那很抱歉要让你失望了。有关使用指标的问题,没有人有完美的答案,至少没有准确的答案。 + +好消息是,有一些近似的和可选的指标至少能够部分地满足你对软件使用知识的渴求。本文探讨了这些替代方案以及他们的优点和缺点。 + +### 下载 + +当你浏览提供软件的网站时,你通常可以看到软件的下载次数。映入脑海的一个例子是 Firefox ,它曾经有一个下载计数器。Firefox 的下载量是一个印象深刻的数字,给人留下 Firefox 在一段时间内是一个流行的浏览器。 + +然而,个人行为会直接影响这一数字的准确性。举例而言,当一个人定期重置他们的设备时,每一次重建都会引发一次独立的下载。考虑到这一现实,需要设计一种方法从下载量中去除几十次由上述人员带来的下载次数。 + +下载量不仅会高估使用量,还会低估使用量。例如,一个系统管理员可能会下载一个新版本的 Firefox 一次并将其拷贝到闪存上,然后安装到数百台设备上。 + +下载量指标是易于收集的,你可以在服务器上记录每一个下载请求。问题在于你不知道在这些软件下载以后会发生什么。下载它的人是否如预期的那样使用软件,还是运行时遇到了问题而遗弃了软件。 + +对于开源项目而言,你可以考虑各种下载量指标,比如来自以下途径的下载指标: + +- 项目官网 +- 包管理器,比如 npm,PyPi 和 Maven +- 代码仓库,如 Github,GitLab,Gitee 等 + +你可能还对源代码的下载量感兴趣,因为下游项目更可能使用源代码形式 (见于[《如何衡量你的开源项目的影响》][1]一文)。相应的下载指标包括: + +- 从代码仓库克隆的数量,比如 GitHub,GitLab 和 Gitee +- 从官网下载的归档文件 (tar,zip) 的数量 +- 通过像 npm,PyPi 和 Maven 这样的包管理器下载的源代码数量 + +源代码的下载指标比二进制代码的下载指标更不可靠(虽然尚无相关研究表明如此)。试想一下,一名开发人员想要你的最新版本的源代码并已经配置好了他们的构建流程来总是在每一次构建中都克隆你的版本库。再想象一个自动构建过程失败了,它试图重新构建而不断地克隆你的版本库。你还可以考虑这样一个下载量低于预期的场景——源代码仓库在某些地方缓存了,下载来源是由这些缓存所提供的。 + +**[相关阅读[跟踪你的开源社区的5个指标][2]]** + +总而言之,下载量指标是用于提供当前使用情况和探测趋势的很好的代表。我们无法明确地定义一次下载是如何转化为使用的。不过我们可以认为增加的下载量是更多潜在用户的标志。举例而言,如果你为你的软件做了广告并在活动期间得到了更高的下载量,可以公正的假定广告推动了更多人下载软件。下载行为的来源与元数据还可以提供额外的与使用行为相关的内容。你的软件的哪些版本仍在使用中?什么操作系统或者专属语言的版本更加流行?这有助于社区决定将哪个平台的软件作为支持与测试的优先选项。 + +### 提问 + +作为一个开源项目,你可能有一个问题追踪器。当某个人提出一个议题时一般有两个目标,报告一个漏洞或者请求增加一项功能。提问者可能使用过你的软件。作为一名用户,他可能发现了一个漏洞或者确定了对新功能的需求。 + +很明显,大多数用户不会执行额外的步骤来提交问题。提问者是我们的忠实用户,我们对他们表示感谢。此外,通过提出问题,他们成为非代码贡献者,他们也有希望成为代码贡献者。经验法则是大约每10000名用户中,可能有100名提问者以及1名代码贡献者,当然取决于用户类型,上述比例可能有出入。 + +回到指标问题,你可以将提问者数量作为评估使用量的下界。相关的指标包括: + +- 提问者数量 +- 活跃提问者的数量 (在过去6个月内提出问题的提问者) +- 同时有代码贡献的提问者的数量 +- 尚未解决的问题的数量 +- 发布的问题评论的数量 + +### 邮件列表,论坛和问答网站 + +很多开源项目都拥有用户邮件列表,论坛,并且出现在类似 Stack Overflow 的问答网站上。与提问者一样,在这些地方发帖的人可被视作用户的冰山一角。与邮件列表、论坛和问答网站上的社区活跃程度相关的指标也可用于反映用户数量的上升或下降。相关指标可以集中于以下地方的活动,包括: + +- 用户邮件列表的订阅量 +- 论坛用户的数量 +- 问题的数量 +- 答案的数量 +- 发布信息的数量 + +### 上报功能 + +为了获得精确的用户数量,一个方案是让软件在使用时上报信息。 + +这是令人毛骨悚然的。想象一下,系统管理员的防火墙报告了一个非预期的到你的服务器的网络连接,你不仅无法再收到软件报告(被防火墙拦截了),恐怕连你的软件也可能在未来被禁止使用。 + +负责任的设置上报功能的方式为设置一项可选服务来检查更新并让用户知道使用最新版本。另一项可选功能可以集中在使用检测上,你可以通过该功能询问用户是否允许匿名上报软件使用情况。如果经过深思熟虑的实施,这种方式可以允许用户通过他们使用软件的方式帮助优化软件。用户可以持有这样的意见:我一般不允许使用信息分享;但对于一些软件,因为希望开发人员从长远来看会将软件优化得更好,我愿意这样做。 + +### 加星标与克隆 + +加星标与克隆是如 GitHub 、 GitLab 、 Gitee 等社交化编程平台的功能。平台用户可以给一个项目加星标。为什么他们要给项目加星标呢?GitHub 的文档作出了解释:你可以给一个仓库和主题加星标以保持对感兴趣的项目的跟踪和在你的新闻订阅中发现相关的内容。给一个项目加星标与将其加入书签的效果一样,并且还提供了一种向项目仓库的维护者展示赞赏的方式。星标的数量已经成为了项目流行程度的标志。当一个项目发布重大公告并获得相当的关注时,项目的星标数量会呈上升趋势。星标的数量指标并不反映软件的使用量。 + +在社交化编程平台上的克隆 (Forks) 即将项目仓库复制一份在自己名下。仓库的非维护者可以在他们自己的克隆仓库中做修改并将修改通过拉取请求 (pull request) 的方式提交审核。克隆比星标更能反映软件社区的大小。开发者也可能为了保存一份代码副本而克隆一个项目以便在原始仓库消失后他们仍能访问代码。因为克隆功能在代码贡献工作流中的应用,克隆量是衡量开发社区的良好指标。克隆量通常也不反映非开发人员的使用,因为非开发人员一般不创建克隆。 + +### 社交媒体 + +包括 Facebook、Instagram、LinkIn、Reddit、Twtter等的社交媒体平台提供了相同兴趣的人们聚集的平台。采用社交媒体策略,开源项目可以通过在平台上设置相应的聚集空间来吸引对项目感兴趣的人们。通过这些社交媒体途径,开源项目可以分享项目新闻、更新、突出共献者和用户。这些社交媒体途径还可以用于认识那些本不会通过其他途径与项目互动的人。 + +我在犹豫是否建议关注指标因为它与软件的真实使用量没有清晰的联系,并通常需要分析其中的积极、消极和中性的情绪。人们可能因为很多不同的原因对你的项目感到激动并想要在不实际使用的情况下关注它。然而与之前已经讨论过的指标一样,能够在社交媒体上吸收人群本就是项目受关注的整体指标。不同社交媒体平台的指标包括: + +- 关注与订阅的数量 +- 消息的数量 +- 活跃的消息作者的数量 +- 喜欢、分享、回复以及其他交互的数量 + +### 网站分析与文档 + +网站流量也是一个有用的指标。这一指标主要由你的服务范围以及市场营销活动影响而不是用户量。然而,我们还有一张王牌:我们的用户文档、教程、手册以及 API 文档。我们可以发现我们的网站以及文档中的什么主题更引人注意。文档的访问者数量应当大概随着软件的使用者数量增长而增长。因此我们可以通过网站的访问量探知对项目的一般性的兴趣并进一步通过观察文档的访问者观察用户风向。这些指标包括: + +- 网站访问者数量 +- 文档访问者的数量 +- 访问者在你的网站与文档上所花的时间 + +### 活动 + +活动指标可以在你主持与项目相关的活动时使用。这是建立社区的很好的方式。有多少人提交摘要在你的活动中发言?有多少人出席你的活动?不论是在线下活动还是线上活动中这可能都很有趣。当然,你如何推广你的活动可以很大程度上决定有多少人到场。同时你可以将自己的活动与人们出行的大型活动放在一起以方便人们参加你的活动。只要你使用一贯的活动策略,你可以通过演讲者提交与参会者注册的增加表征软件受欢迎程度与用户群的增加。 + +你并不需要举办你自己的活动来收集有用的指标。如果你在开源活动中主持有关你项目的讨论,你可以衡量有多少人出席主要聚焦你的项目的会议。像 [FOSDEM][T1] 这样的活动,一些讨论特别聚焦开源项目的更新与公告,会议室中都挤满了人(像 FOSDEM 的所有会议一样)。 + +你可以考虑如下指标: + +- 以你的项目为中心的活动的出席人数 +- 提交到以你的项目为中心的活动的演讲数量 +- 以你的项目为中心的演讲的出席人数 + +### 关于估算开源软件使用的结论 + +正如我们已经如上展现的,有很多指标可以反映软件使用的趋势,没有一个指标是完美的。在大多数情况下,这些指标可能被个人行为、系统设计和噪音所严重影响。因此,考虑到每一个指标的相对不确定性,我们建议你不要孤立地使用任何一个指标。但是如果你从不同的来源收集了一系列的指标,你应当能够探测到用户行为与软件使用的趋势。如果你有手段比较多个具有共性——比如相似的功能、强大的相互依赖以及由同一基金会托管和其他特征——的开源项目的同一组指标,你就可以提升你对用户行为基线的感知。 + +需要注意的是,在本概述中,我们选择突出能够评估直接使用情况的指标。而大多数软件都依赖于其他各种软件包,如果我们不提及作为软件依赖链的一部分被间接使用也会严重影响软件使用与行为,这就是我们的疏忽。因此,我们建议将上下游依赖的合计数量作为你的分析中的另一层内容。 + +最后,作为数据与指标的使用者,我们鼓励你认识到你的利益相关方的权利与责任。你发布的任何指标都有可能影响用户行为。最佳实践是总是一同分享你的背景信息——基础、来源、估算方法和其他关键上下文信息,这有助于其他人解释你的结果。 + +我们感谢 [CHAOSS][T2] 社区在爱尔兰都柏林举行的 CHAOSScon EU 2022 上的富有洞察力的对话,上述对话激发这篇博文的想法。我们还要感谢审阅并帮助优化本文的 CHAOSS 社区的成员。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-usage-metrics + +作者:[Georg Link][a] +选题:[lkxed][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/georglink +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/5/metrics-project-success +[2]: https://opensource.com/article/22/11/community-metrics + +[T1]: https://fosdem.org/ +[T2]: https://chaoss.community From e238594bd53ebaadd35562b709da284faa246dbc Mon Sep 17 00:00:00 2001 From: CanYellow Date: Mon, 2 Jan 2023 16:52:34 +0800 Subject: [PATCH 883/925] Update 20210718 Is Open-Source Software Secure.md --- sources/talk/20210718 Is Open-Source Software Secure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20210718 Is Open-Source Software Secure.md b/sources/talk/20210718 Is Open-Source Software Secure.md index d6d249b54b..01d262a018 100644 --- a/sources/talk/20210718 Is Open-Source Software Secure.md +++ b/sources/talk/20210718 Is Open-Source Software Secure.md @@ -2,7 +2,7 @@ [#]: via: (https://news.itsfoss.com/open-source-software-security/) [#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (CanYellow) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 753a74abfd83f3f1ab72eba8f75eca31bab3fcca Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 2 Jan 2023 17:04:36 +0800 Subject: [PATCH 884/925] RP @geekpi https://linux.cn/article-15404-1.html --- ...ightful features of the Linux QtFM file manager.md | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) rename {translated/tech => published}/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md (54%) diff --git a/translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md b/published/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md similarity index 54% rename from translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md rename to published/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md index 19cb2172d2..0b6dccf74a 100644 --- a/translated/tech/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md +++ b/published/20221222.2 ⭐️⭐️ 3 delightful features of the Linux QtFM file manager.md @@ -3,58 +3,63 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15404-1.html" -# Linux QtFM 文件管理器的 3 个令人愉快的功能 +Linux QtFM 文件管理器的 3 个令人愉快的功能 +====== -QtFM 是一个简单的文件管理器,旨在通过快速直观的界面提供文件管理的基本功能。它适用于 Linux、BSD 和 macOS。 +![][0] + +> 这个 Linux 文件管理器做了你所期望的一切,没有留下不愉快的惊喜。但这里有一些令人惊喜的事情,使它值得一试。 + +QtFM 是一个简单的文件管理器,旨在通过一个快速直观的界面提供文件管理的基本功能。它适用于 Linux、BSD 和 macOS。 QtFM,顾名思义,使用 Qt(规范发音为 “cute”)编程工具包。我在 C++ 和 Python 中使用过 Qt 工具包,使用它总是一种乐趣。它是跨平台的,具有多个有用的抽象级别,因此开发人员不必直接与特定于供应商的 SDK 交互,而且它具有高度可配置性。从用户的角度来看,无论你使用的是最新的硬件还是[旧计算机][1],这都是一种“自然”且快速的体验。 ### 使用 QtFM -QtFM 没有太多内容。它专注于实现其名称所声称的:Qt 的文件管理器 (FM)。布局可能是你对文件管理器的期望:左侧是常用位置和设备的列表,右侧是文件列表。 +QtFM 没有太多内容。它专注于实现其名称所声称的:Qt 的文件管理器(FM)。其布局可能是你对文件管理器的期望:左侧是常用位置和设备的列表,右侧是文件列表。 ![QtFM file manager][2] -它只有四个菜单。 +它只有四个菜单: -- **文件**:创建新文件或文件夹,打开新选项卡或窗口,或退出应用。 -- **编辑**:在左侧面板中复制、粘贴、移至垃圾箱或创建新书签。 -- **视图**:在列表视图和图标视图之间切换,调整布局。 -- **帮助**:许可信息和在线文档链接。 +- 文件File:创建新文件或文件夹,打开新选项卡或窗口,或退出应用。 +- 编辑Edit:在左侧面板中复制、粘贴、移至垃圾箱或创建新书签。 +- 视图View:在列表视图和图标视图之间切换,调整布局。 +- 帮助Help:许可信息和在线文档链接。 与 QtFM 交互与你可能习惯使用的任何标准文件管理器的体验大致相同。你可以点击导航、在其默认应用中打开文件、拖放文件和文件夹、复制和粘贴文件和文件夹、启动应用,以及你在与计算机内容交互时执行的任何其他操作。它很熟悉,所以基本上没有学习曲线,也没有不愉快的惊喜。 然而,也有一些惊喜。这是我最喜欢的三个。 -### 1. 将命令放入上下文菜单 +### 1、将命令放入上下文菜单 -使用 QtFM,你可以将可以在终端中运行的任何命令添加到右键单击上下文菜单中。例如,假设你想要一个将图像转换为 [webp 格式][3]的选项到右键菜单。无需学习复杂的框架或脚本语言,无需开发插件。你只需 3 个步骤即可完成: +使用 QtFM,你可以将可以在终端中运行的任何命令添加到右键单击上下文菜单中。例如,假设你想要一个将图像转换为 [webp 格式][3] 的选项到右键菜单。无需学习复杂的框架或脚本语言,无需开发插件。你只需 3 个步骤即可完成: -- 转到**编辑**菜单并选择**设置**。 -- 单击**自定义操作选项卡**。 -- 单击**添加**按钮并输入要运行的命令,对源文件使用 `%f`,对新文件使用 `%n`。 +- 转到 “编辑Edit” 菜单并选择 “设置Settings”。 +- 单击 “自定义操作选项卡Custom actions tab”。 +- 单击 “添加Add” 按钮并输入要运行的命令,用 `%f` 代表源文件,用 `%n` 代表新文件。 ![QtFM custom actions][4] 该操作现在出现在你的 QtFM 上下文菜单中。 -### 2. 灵活的布局 +### 2、灵活的布局 -Qt 工具包的内置功能之一是它的许多组件(“小部件”)是可分离的。QtFM 利用了这一点,并允许你从**视图**菜单中解锁其布局。解锁后,你可以拖动工具栏和侧面板,将它们固定在窗口周围的新位置。我能够将菜单栏、导航工具栏和 URI 字段组合到一个统一的面板中,并且为了方便,我在窗口的右侧放置了一个文件树。 +Qt 工具包的内置功能之一是它的许多组件(“小部件”)是可分离的。QtFM 利用了这一点,并允许你从 “视图View” 菜单中解锁其布局。解锁后,你可以拖动工具栏和侧面板,将它们固定在窗口周围的新位置。我能够将菜单栏、导航工具栏和 URI 字段组合到一个统一的面板中,并且为了方便,我在窗口的右侧放置了一个文件树。 ![QtFM unlocking the layout][5] 这不需要应用设计甚至配置的特殊知识。你只需解锁、拖放和锁定。 -### 3. 标签视图 +### 3、标签视图 许多 Linux 文件管理器提供选项卡的方式与大多数 Web 浏览器相同。这是一个简单的界面技巧,可让你方便地保留多个位置。我不知道它是否真的节省了时间,但我总觉得它确实如此。QtFM 也提供选项卡,我特别喜欢它实现选项卡的方式有两点。 -首先,选项卡默认位于窗口底部(你可以在**设置**中更改它)。因为我倾向于从左到右、从上到下阅读,所以我通常更喜欢在窗口的底部和右端设置“额外”信息。当然,“额外”信息的构成因用户而异,因此我不会责怪任何开发人员将小部件和面板放置在我不会放置小部件和面板的地方。不过,当开发人员不小心同意我的偏好时,这很好。 +首先,选项卡默认位于窗口底部(你可以在 “设置Settings” 中更改它)。因为我倾向于从左到右、从上到下阅读,所以我通常更喜欢在窗口的底部和右端设置“额外”信息。当然,“额外”信息的构成因用户而异,因此我不会责怪任何开发人员将小部件和面板放置在我不会放置小部件和面板的地方。不过,当开发人员不小心同意我的偏好时,这很好。 其次,标签是响应式的。只需将鼠标悬停在目标选项卡上,即可将文件或文件夹从一个选项卡拖动到另一个选项卡中。感觉就像从一个窗口拖放到另一个窗口一样自然。 @@ -66,7 +71,7 @@ Qt 工具包的内置功能之一是它的许多组件(“小部件”)是 $ sudo apt install qtfm ``` -如果你的发行版不提供 QtFM,你可以在其[网站][6]上找到它的软件包,或者你可以从它的 [Git 仓库][7]下载源码。 +如果你的发行版不提供 QtFM,你可以在其 [网站][6] 上找到它的软件包,或者你可以从它的 [Git 仓库][7] 下载源码。 --- @@ -75,7 +80,7 @@ via: https://opensource.com/article/22/12/linux-file-manager-qtfm 作者:[Seth Kenlon][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/) 荣誉推出 @@ -88,3 +93,4 @@ via: https://opensource.com/article/22/12/linux-file-manager-qtfm [5]: https://opensource.com/sites/default/files/2022-12/qtfm-layout-unlock.webp [6]: https://qtfm.eu/ [7]: https://github.com/rodlie/qtfm/ +[0]: https://img.linux.net.cn/data/attachment/album/202301/02/170250zuwyuzzr9o3myl3l.jpg \ No newline at end of file From 63af5460784b272e0369705f23904c20751fda94 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 2 Jan 2023 17:36:04 +0800 Subject: [PATCH 885/925] RP @MjSeven https://linux.cn/article-15405-1.html --- ...️⭐️ Write a C++ extension module for Python.md | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) rename {translated/tech => published}/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md (85%) diff --git a/translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md b/published/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md similarity index 85% rename from translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md rename to published/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md index 184640b701..5f426b7f7d 100644 --- a/translated/tech/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md +++ b/published/20221124.4 ⭐️⭐️⭐️ Write a C++ extension module for Python.md @@ -3,24 +3,26 @@ [#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" [#]: collector: "lkxed" [#]: translator: "MjSeven" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15405-1.html" 为 Python 写一个 C++ 扩展模块 ====== -使用 C 扩展为 Python 提供特定功能。 +![][0] -在前一篇文章中,我介绍了[六个 Python 解释器][1]。在大多数系统上,CPython 是默认的解释器,而且根据民意调查显示,它还是最流行的解释器。Cpython 的独有功能是使用扩展 API 用 C 语言编写 Python 模块。用 C 语言编写 Python 模块允许你将计算密集型代码转移到 C,同时保留 Python 的易用性。 +> 使用 C 扩展为 Python 提供特定功能。 -在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 [ctypes][2]模块。 +在前一篇文章中,我介绍了 [六个 Python 解释器][1]。在大多数系统上,CPython 是默认的解释器,而且根据民意调查显示,它还是最流行的解释器。Cpython 的独有功能是使用扩展 API 用 C 语言编写 Python 模块。用 C 语言编写 Python 模块允许你将计算密集型代码转移到 C,同时保留 Python 的易用性。 + +在本文中,我将向你展示如何编写一个 C++ 扩展模块。使用 C++ 而不是 C,因为大多数编译器通常都能理解这两种语言。我必须提前说明缺点:以这种方式构建的 Python 模块不能移植到其他解释器中。它们只与 CPython 解释器配合工作。因此,如果你正在寻找一种可移植性更好的与 C 语言模块交互的方式,考虑下使用 [ctypes][2] 模块。 ### 源代码 和往常一样,你可以在 [GitHub][3] 上找到相关的源代码。仓库中的 C++ 文件有以下用途: -- `my_py_module.cpp`: Python 模块 _MyModule_ 的定义 +- `my_py_module.cpp`: Python 模块 `MyModule` 的定义 - `my_cpp_class.h`: 一个头文件 - 只有一个暴露给 Python 的 C++ 类 - `my_class_py_type.h/cpp`: Python 形式的 C++ 类 - `pydbg.cpp`: 用于调试的单独应用程序 @@ -29,7 +31,7 @@ ### 构建模块 -在查看源代码之前,你可以检查它是否能在你的系统上编译。[我使用 CMake][4]来创建构建的配置信息,因此你的系统上必须安装 CMake。为了配置和构建这个模块,可以让 Python 去执行这个过程: +在查看源代码之前,你可以检查它是否能在你的系统上编译。[我使用 CMake][4] 来创建构建的配置信息,因此你的系统上必须安装 CMake。为了配置和构建这个模块,可以让 Python 去执行这个过程: ``` $ python3 setup.py build @@ -48,7 +50,7 @@ $ cmake --build build 首先,看一下 `my_py_module.cpp` 文件,尤其是 `PyInit_MyModule` 函数: -``` cpp +``` PyMODINIT_FUNC PyInit_MyModule(void) { PyObject* module = PyModule_Create(&my_module); @@ -72,15 +74,15 @@ PyInit_MyModule(void) { 无论是声明还是实例,所有 Python 类型都是 [PyObject][5] 的一个指针。在此函数的第一部分中,`module` 通过 `PyModule_Create(...)` 创建的。正如你在 `module` 详述(`my_py_module`,同名文件)中看到的,它没有任何特殊的功能。 -之后,调用 [PyType_FromSpec][6] 为自定义类型 MyClass 创建一个 Python [堆类型][7]定义。一个堆类型对应于一个 Python 类,然后将它赋值给 MyModule 模块。 +之后,调用 [PyType_FromSpec][6] 为自定义类型 `MyClass` 创建一个 Python [堆类型][7] 定义。一个堆类型对应于一个 Python 类,然后将它赋值给 `MyModule` 模块。 _注意,如果其中一个函数返回失败,则必须减少以前创建的复制对象的引用计数,以便解释器删除它们。_ ### 指定 Python 类型 -MyClass 详设在 [my_class_py_type.h][8] 中可以找到,它作为 [PyType_Spec][9] 的一个实例: +`MyClass` 详述在 [my_class_py_type.h][8] 中可以找到,它作为 [PyType_Spec][9] 的一个实例: -```cpp +``` static PyType_Spec spec_myclass = { "MyClass", // name sizeof(MyClassObject) + sizeof(MyClass), // basicsize @@ -92,7 +94,7 @@ static PyType_Spec spec_myclass = { 它定义了一些基本类型信息,它的大小包括 Python 表示的大小(`MyClassObject`)和普通 C++ 类的大小(`MyClass`)。`MyClassObject` 定义如下: -```cpp +``` typedef struct { PyObject_HEAD int m_value; @@ -104,7 +106,7 @@ Python 表示的话就是 [PyObject][5] 类型,由 `PyObject_HEAD` 宏和其 [PyType_Slot][10] 定义了一些其他功能: -```cpp +``` static PyType_Slot MyClass_slots[] = { {Py_tp_new, (void*)MyClass_new}, {Py_tp_init, (void*)MyClass_init}, @@ -119,7 +121,7 @@ static PyType_Slot MyClass_slots[] = { 要完成类型详述,还包括下面的方法和成员表: -```cpp +``` static PyMethodDef MyClass_methods[] = { {"addOne", (PyCFunction)MyClass_addOne, METH_NOARGS, PyDoc_STR("Return an incrmented integer")}, {NULL, NULL} /* Sentinel */ @@ -139,7 +141,7 @@ static struct PyMemberDef MyClass_members[] = { `MyClass_new` 方法只为 `MyClassObject` 提供一些初始值,并为其类型分配内存: -```cpp +``` PyObject *MyClass_new(PyTypeObject *type, PyObject *args, PyObject *kwds){ std::cout << "MtClass_new() called!" << std::endl; @@ -156,7 +158,7 @@ PyObject *MyClass_new(PyTypeObject *type, PyObject *args, PyObject *kwds){ 实际的初始化发生在 `MyClass_init` 中,它对应于 Python 中的 [\_\_init__()][14] 方法: -```cpp +``` int MyClass_init(PyObject *self, PyObject *args, PyObject *kwds){ ((MyClassObject *)self)->m_value = 123; @@ -197,7 +199,7 @@ int MyClass_init(PyObject *self, PyObject *args, PyObject *kwds){ 从 Python 类中调用相关的 C++ 类方法很简单: -```cpp +``` PyObject* MyClass_addOne(PyObject *self, PyObject *args){ assert(self); @@ -207,15 +209,15 @@ PyObject* MyClass_addOne(PyObject *self, PyObject *args){ } ``` -同样,`PyObject` 参数(`self`)被强转为 `MyClassObject` 类型以便访问 `m_myclass`,它指向 C++ 对应类实例的指针。有了这些信息,调用 `addOne()` 类方法,并且结果以[ Python 整数对象][17]返回。 +同样,`PyObject` 参数(`self`)被强转为 `MyClassObject` 类型以便访问 `m_myclass`,它指向 C++ 对应类实例的指针。有了这些信息,调用 `addOne()` 类方法,并且结果以 [Python 整数对象][17] 返回。 ### 3 种方法调试 -出于调试目的,在调试配置中编译 CPython 解释器是很有价值的。详细描述参阅[官方文档][18]。只要下载了预安装的解释器的其他调试符号,就可以按照下面的步骤进行操作。 +出于调试目的,在调试配置中编译 CPython 解释器是很有价值的。详细描述参阅 [官方文档][18]。只要下载了预安装的解释器的其他调试符号,就可以按照下面的步骤进行操作。 #### GNU 调试器 -当然,老式的 [GNU 调试器(GDB)][19]也可以派上用场。源码中包含了一个 [gdbinit][20] 文件,定义了一些选项和断点,另外还有一个 [gdb.sh][21] 脚本,它会创建一个调试构建并启动一个 GDB 会话: +当然,老式的 [GNU 调试器(GDB)][19] 也可以派上用场。源码中包含了一个 [gdbinit][20] 文件,定义了一些选项和断点,另外还有一个 [gdb.sh][21] 脚本,它会创建一个调试构建并启动一个 GDB 会话: ![Gnu 调试器(GDB)对于 Python C 和 C++ 扩展非常有用][22] @@ -225,7 +227,7 @@ GDB 使用脚本文件 [main.py][23] 调用 CPython 解释器,它允许你轻 另一种方法是将 CPython 解释器嵌入到一个单独的 C++ 应用程序中。可以在仓库的 [pydbg.cpp][24] 文件中找到: -```cpp +``` int main(int argc, char *argv[], char *envp[]) { Py_SetProgramName(L"DbgPythonCppExtension"); @@ -256,7 +258,7 @@ int main(int argc, char *argv[], char *envp[]) } ``` -使用[高级接口][25],可以导入扩展模块并对其执行操作。它允许你在本地 IDE 环境中进行调试,还能让你更好地控制传递或来自扩展模块的变量。 +使用 [高级接口][25],可以导入扩展模块并对其执行操作。它允许你在本地 IDE 环境中进行调试,还能让你更好地控制传递或来自扩展模块的变量。 缺点是创建一个额外的应用程序的成本很高。 @@ -270,7 +272,7 @@ int main(int argc, char *argv[], char *envp[]) Python 的所有功能也可以从 C 或 C++ 扩展中获得。虽然用 Python 写代码通常认为是一件容易的事情,但用 C 或 C++ 扩展 Python 代码是一件痛苦的事情。另一方面,虽然原生 Python 代码比 C++ 慢,但 C 或 C++ 扩展可以将计算密集型任务提升到原生机器码的速度。 -你还必须考虑 ABI 的使用。稳定的 ABI 提供了一种方法来保持旧版本 CPython 的向后兼容性,如[文档][31]所述。 +你还必须考虑 ABI 的使用。稳定的 ABI 提供了一种方法来保持旧版本 CPython 的向后兼容性,如 [文档][31] 所述。 最后,你必须自己权衡利弊。如果你决定使用 C 语言来扩展 Python 中的一些功能,你已经看到了如何实现它。 @@ -281,7 +283,7 @@ via: https://opensource.com/article/22/11/extend-c-python 作者:[Stephan Avenwedde][a] 选题:[lkxed][b] 译者:[MjSeven](https://github.com/MjSeven) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -318,3 +320,4 @@ via: https://opensource.com/article/22/11/extend-c-python [29]: https://github.com/hANSIc99/PythonCppExtension/blob/main/.vscode/launch.json [30]: https://opensource.com/sites/default/files/2022-11/vscodium_debug_session.png [31]: https://docs.python.org/3/c-api/stable.html +[0]: https://img.linux.net.cn/data/attachment/album/202301/02/173501o26htajatlpj0lqt.jpg \ No newline at end of file From d28829db92ec720f6ecbfbbd8cdd310f5a78a39f Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 3 Jan 2023 08:51:21 +0800 Subject: [PATCH 886/925] translated --- ...️ How to Update Flatpak Packages in Linux.md | 127 ------------------ ...️ How to Update Flatpak Packages in Linux.md | 127 ++++++++++++++++++ 2 files changed, 127 insertions(+), 127 deletions(-) delete mode 100644 sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md create mode 100644 translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md diff --git a/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md b/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md deleted file mode 100644 index beb10e6833..0000000000 --- a/sources/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md +++ /dev/null @@ -1,127 +0,0 @@ -[#]: subject: "How to Update Flatpak Packages in Linux" -[#]: via: "https://itsfoss.com/update-flatpak/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Update Flatpak Packages in Linux -====== - -I believe almost all Linux users keep their systems updated. - -But that update is usually for the default [package manager][1]. For example, [updating Ubuntu][2] often means updating all the APT packages. - -However, there are other packaging formats like Snap and Flatpak. The Snap applications get updated automatically but not the Flatpak ones. - -How do you update the Flatpak packages then? Well, you can update all the installed and updatable Flatpak packages using this command: - -``` -flatpak update -``` - -That’s quite simple. But let me discuss a few more things about updating Flatpak, such as: - -- Updating all or specific Flatpak packages -- Updating Flatpak packages via Software Center - -Let’s start with the terminal method first. - -### Method 1: Using the terminal for updating Flatpak packages - -Let me first start with the most practical approach that you should also begin with. - -#### Update every outdated Flatpak package - -Updating the whole catalog of existing flatpak packages is quite easy. - -Enter the given command, and it will get you the list of outdated packages: - -``` -flatpak update -``` - -![3. update flatpak packages in linux][3] - -You just have to enter “Y” and press the Enter key, which will take care of every update. - -#### Updating specific Flatpak package - -To update specific packages, you’d need the list of the packages that can be updated. You used the same command you saw earlier. - -``` -flatpak update -``` - -![3. update flatpak packages in linux][4] - -Copy the name of the package you want to update from the output. Use the package name in the following fashion: - -``` -flatpak update package_name -``` - -For example, if you want to update Telegram, the following command will get the job done: - -``` -flatpak update org.telegram.desktop -``` - -![4. update specific package in flatpak][5] - -That’s it! - -### Method 2: Update Flatpak applications from the software center - -Distributions that come up with Flatpak buil-in support provide updates to Flatpak applications in the software center. Fedora and Linux Mint are such distributions. - -But if you are using Ubuntu, you’d need to add flatpak support to the GNOME software center: - -``` -sudo apt install gnome-software-plugin-flatpak -``` - -Once done, you will have two software centers in Ubuntu. That’s because the default software center is not GNOME’s but Snap Store. - -Open this new software center from the system menu: - -![1. open software center in ubuntu][6] - -Go to the `Updates` section and you will find the list of outdated packages. This includes both APT and Flatpak packages. - -![2. update flatpak from software center][7] - -From here, you can update all the packages at once, or you can be selective with what to update. - -### Wrapping Up - -Many Linux desktop users tend to forget to update the Flatpak packages as they are not included in the regular system updates. - -As Flatpak is a sandboxed packaging solution, you may not face any issues related to outdated packages, but you will miss out on new features and fixes for sure. - -This is why I recommend running the Flatpak update command once ever few weeks. - -I hope you like this quick little Flatpak tip helpful. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/update-flatpak/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/package-manager/ -[2]: https://itsfoss.com/update-ubuntu/ -[3]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png -[4]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png -[5]: https://itsfoss.com/wp-content/uploads/2022/12/4.-update-specific-package-in-flatpak.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/1.-open-software-center-in-ubuntu.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/2.-update-flatpak-from-software-center.png diff --git a/translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md b/translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md new file mode 100644 index 0000000000..ac4468acc0 --- /dev/null +++ b/translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md @@ -0,0 +1,127 @@ +[#]: subject: "How to Update Flatpak Packages in Linux" +[#]: via: "https://itsfoss.com/update-flatpak/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Linux 中更新 Flatpak 软件包 +====== + +我相信几乎所有的 Linux 用户都会保持他们系统的更新。 + +但这种更新通常是针对默认的[包管理器][1]。例如,[更新 Ubuntu][2] 往往意味着更新所有的 APT 软件包。 + +然而,还有其他的打包格式,如 Snap 和 Flatpak。Snap 应用程序会自动更新,但 Flatpak 的不会。 + +那么你如何更新 Flatpak 软件包呢?好吧,你可以用这个命令来更新所有已安装和可更新的 Flatpak 包: + +``` +flatpak update +``` + +这很简单。但让我再讨论一下关于更新 Flatpak 的一些事情,比如说: + +- 更新所有或特定的 Flatpak 包 +- 通过软件中心更新 Flatpak 包 + +让我们先从终端的方法开始。 + +### 方法 1:使用终端来更新 Flatpak 包 + +首先让我从最实用的方法开始,你也应该从这个方法开始。 + +#### 更新每一个过时的 Flatpak 包 + +更新现有的 Flatpak 包的整个目录是很容易的。 + +输入给定的命令,就可以得到过期包的列表: + +``` +flatpak update +``` + +![3. update flatpak packages in linux][3] + +你只需输入 “Y” 并按下回车键,就能搞定每一个更新。 + +#### 更新特定的 Flatpak 包 + +要更新特定的软件包,你需要可以更新的软件包的列表。你用的是你之前看到的那个命令。 + +``` +flatpak update +``` + +![3. update flatpak packages in linux][4] + +从输出中复制你要更新的软件包的名称。在以下命令中使用软件包的名称: + +``` +flatpak update package_name +``` + +例如,如果你想更新Telegram,下面的命令可以完成这项工作: + +``` +flatpak update org.telegram.desktop +``` + +![4. update specific package in flatpak][5] + +这就完成了 + +### 方法 2:从软件中心更新 Flatpak 应用 + +有 Flatpak 内置支持的发行版会在软件中心提供 Flatpak 应用的更新。Fedora 和 Linux Mint 就是这样的发行版。 + +但如果你使用的是 Ubuntu,你就需要在 GNOME 软件中心添加 Flatpak 支持: + +``` +sudo apt install gnome-software-plugin-flatpak +``` + +完成后,你将在 Ubuntu 中拥有两个软件中心。这是因为默认的软件中心不是 GNOME 的,而是 Snap Store。 + +从系统菜单中打开这个新的软件中心: + +![1. open software center in ubuntu][6] + +进入`更新`页面,你会发现过时的软件包列表。这包括 APT 和 Flatpak 软件包。 + +![2. update flatpak from software center][7] + +在这里,你可以一次更新所有的软件包,或者你可以有选择地更新什么。 + +### 总结 + +许多 Linux 桌面用户往往忘记更新 Flatpak 软件包,因为它们不包括在定期的系统更新中。 + +由于 Flatpak 是一个沙盒式的打包解决方案,你可能不会面临任何与过时的软件包有关的问题,但你肯定会错过新的功能和修复。 + +这就是为什么我建议每隔几周运行一次 Flatpak 更新命令。 + +我希望你喜欢这个快速的 Flatpak 小技巧。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/update-flatpak/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/package-manager/ +[2]: https://itsfoss.com/update-ubuntu/ +[3]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png +[4]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png +[5]: https://itsfoss.com/wp-content/uploads/2022/12/4.-update-specific-package-in-flatpak.png +[6]: https://itsfoss.com/wp-content/uploads/2022/12/1.-open-software-center-in-ubuntu.png +[7]: https://itsfoss.com/wp-content/uploads/2022/12/2.-update-flatpak-from-software-center.png From 39a7a28e9fd0a4896f20e7d05ab27874c8ede109 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 3 Jan 2023 08:55:38 +0800 Subject: [PATCH 887/925] translating --- ... Google, Alexa, and Siri in Works for Home Assistant Platform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md b/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md index 80b6010732..4e14013469 100644 --- a/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md +++ b/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/open-source-assistant/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From d5d10d0d83f551627b792367edff85780d31f000 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 3 Jan 2023 15:42:29 +0800 Subject: [PATCH 888/925] RP @geekpi https://linux.cn/article-15408-1.html --- ...️ How to Update Flatpak Packages in Linux.md | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) rename {translated/tech => published}/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md (68%) diff --git a/translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md b/published/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md similarity index 68% rename from translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md rename to published/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md index ac4468acc0..4c68d5c5f1 100644 --- a/translated/tech/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md +++ b/published/20221210.2 ⭐️ How to Update Flatpak Packages in Linux.md @@ -3,18 +3,20 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15408-1.html" 如何在 Linux 中更新 Flatpak 软件包 ====== +![][0] + 我相信几乎所有的 Linux 用户都会保持他们系统的更新。 -但这种更新通常是针对默认的[包管理器][1]。例如,[更新 Ubuntu][2] 往往意味着更新所有的 APT 软件包。 +但这种更新通常是针对默认的 [包管理器][1]。例如,[更新 Ubuntu][2] 往往意味着更新所有的 APT 软件包。 -然而,还有其他的打包格式,如 Snap 和 Flatpak。Snap 应用程序会自动更新,但 Flatpak 的不会。 +然而,还有其他的打包格式,如 Snap 和 Flatpak。Snap 应用程序会自动更新,但 Flatpak 不会。 那么你如何更新 Flatpak 软件包呢?好吧,你可以用这个命令来更新所有已安装和可更新的 Flatpak 包: @@ -43,9 +45,9 @@ flatpak update flatpak update ``` -![3. update flatpak packages in linux][3] +![update flatpak packages in linux][3] -你只需输入 “Y” 并按下回车键,就能搞定每一个更新。 +你只需输入 `Y` 并按下回车键,就能搞定每一个更新。 #### 更新特定的 Flatpak 包 @@ -55,7 +57,7 @@ flatpak update flatpak update ``` -![3. update flatpak packages in linux][4] +![update flatpak packages in linux][4] 从输出中复制你要更新的软件包的名称。在以下命令中使用软件包的名称: @@ -63,15 +65,15 @@ flatpak update flatpak update package_name ``` -例如,如果你想更新Telegram,下面的命令可以完成这项工作: +例如,如果你想更新 Telegram,下面的命令可以完成这项工作: ``` flatpak update org.telegram.desktop ``` -![4. update specific package in flatpak][5] +![update specific package in flatpak][5] -这就完成了 +这就完成了。 ### 方法 2:从软件中心更新 Flatpak 应用 @@ -87,11 +89,11 @@ sudo apt install gnome-software-plugin-flatpak 从系统菜单中打开这个新的软件中心: -![1. open software center in ubuntu][6] +![open software center in ubuntu][6] -进入`更新`页面,你会发现过时的软件包列表。这包括 APT 和 Flatpak 软件包。 +进入“更新Update”页面,你会发现过时的软件包列表。这包括 APT 和 Flatpak 软件包。 -![2. update flatpak from software center][7] +![update flatpak from software center][7] 在这里,你可以一次更新所有的软件包,或者你可以有选择地更新什么。 @@ -112,7 +114,7 @@ via: https://itsfoss.com/update-flatpak/ 作者:[Sagar Sharma][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/) 荣誉推出 @@ -120,8 +122,9 @@ via: https://itsfoss.com/update-flatpak/ [b]: https://github.com/lkxed [1]: https://itsfoss.com/package-manager/ [2]: https://itsfoss.com/update-ubuntu/ -[3]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png -[4]: https://itsfoss.com/wp-content/uploads/2022/12/3.-update-flatpak-packages-in-linux.png -[5]: https://itsfoss.com/wp-content/uploads/2022/12/4.-update-specific-package-in-flatpak.png -[6]: https://itsfoss.com/wp-content/uploads/2022/12/1.-open-software-center-in-ubuntu.png -[7]: https://itsfoss.com/wp-content/uploads/2022/12/2.-update-flatpak-from-software-center.png +[3]: https://itsfoss.com/content/images/wordpress/2022/12/3.-update-flatpak-packages-in-linux.png +[4]: https://itsfoss.com/content/images/wordpress/2022/12/3.-update-flatpak-packages-in-linux.png +[5]: https://itsfoss.com/content/images/wordpress/2022/12/4.-update-specific-package-in-flatpak.png +[6]: https://itsfoss.com/content/images/wordpress/2022/12/1.-open-software-center-in-ubuntu.png +[7]: https://itsfoss.com/content/images/wordpress/2022/12/2.-update-flatpak-from-software-center.png +[0]: https://img.linux.net.cn/data/attachment/album/202301/03/154131lop17rnnrkiprkl7.jpg \ No newline at end of file From 6e54db94d1b656d3d4c047d6dbe6628de5fd6162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:47:14 +0800 Subject: [PATCH 889/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230102.0=20=E2=AD=90=EF=B8=8F=20How=20to=20read=20an?= =?UTF-8?q?d=20write=20files=20in=20Rust.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ⭐️ How to read and write files in Rust.md | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md diff --git a/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md b/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md new file mode 100644 index 0000000000..0ec7cecb0a --- /dev/null +++ b/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md @@ -0,0 +1,110 @@ +[#]: subject: "How to read and write files in Rust" +[#]: via: "https://opensource.com/article/23/1/read-write-files-rust" +[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to read and write files in Rust +====== + +Knowing how to read and write files can be useful for various purposes. In Rust, this task is done using the file system module ([std::fs][1]) in the standard library. In this article, I'll give you an overview on how to use this module. + +To demonstrate this task, I prepared example code which is also available on [GitHub][2]. + +### Preparation + +When using Rust, a function that fails returns the [Result][3] type. The file system module in particular returns the specialized type [std::io::Result][4]. With this knowledge, you can return the same type from the `main()` function: + +``` +fn main() -> std::io::Result<()> { +/* ...code comes here... */ +``` + +### Writing Rust files + +Performing file I/O-operations in Rust is relatively easy. Writing to a file can be simplified to one line: + +``` +use std::fs; +fs::write("favorite_websites.txt", b"opensource.com")?; +Ok(()) +``` + +Using the error propagation operator `(?)`, the error information gets passed on to the calling function where the error can subsequently be handled. As `main()` is the only other function in the call stack, the error information gets passed on to the console output in case the write operation failed. + +The syntax of the [fs::write][5] function is quite forward. The first argument is the file path, which must be the type [std::path::Path][6]. The second argument is the content, which is actually a slice of bytes (`[u8]`). Rust converts the arguments passed into the correct type. Luckily, these types are basically the only types dealt with in the following examples. + +A more concise access of the write operation can be achieved using the file descriptor type [std::fs::File][7]: + +``` +let mut file = fs::File::create("favorite_websites.txt")?; +file.write_all(b"opensource.com\n")?; +Ok(()) +``` + +As the file type implements the [Write][8] trait, it is possible to use the associated methods to write to the file. However, the `create` method can overwrite an already existing file. + +To get even more control of the file descriptor, the type [std::fs::OpenOptions][9] must be used. This provides opening modes similar to the ones in other languages: + +``` +let mut file = fs::OpenOptions::new() + .append(true) + .open("favorite_websites.txt")?; + +file.write_all(b"sourceforge.net\n")?; +``` + +### Reading Rust files + +What applies to writing also applies to reading. Reading can also be done with a simple one-line of code: + +``` +let websites = fs::read_to_string("favorite_websites.txt")?; +``` + +The above line reads the content of the file and returns a string. In addition to reading a string, there is also the [std::fs::read][10] function which reads the data into a vector of bytes if the file contains binary data. + +The next example shows how to read the content of the file into memory and subsequently print it line by line to a console: + +``` +let file = fs::File::open("favorite_websites.txt")?; +let lines = io::BufReader::new(file).lines(); + +for line in lines { + if let Ok(_line) = line { + println!(">>> {}", _line); + } +} +``` + +### Summary + +If you are already familiar with other programming languages, you may have noticed that there is `no close-`function (or something similar) that releases the file handle. In Rust, the file handle is released as soon as the related variable goes out of scope. To define the closing behavior, a scope `({ })` around the file representation can be applied. I recommend that you get familiar with [Read][11] and [Write][8] trait as you can find this trait implemented in many other types. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/read-write-files-rust + +作者:[Stephan Avenwedde][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/hansic99 +[b]: https://github.com/lkxed +[1]: https://doc.rust-lang.org/std/fs/ +[2]: https://github.com/hANSIc99/rust_file_io +[3]: https://doc.rust-lang.org/std/result/enum.Result.html +[4]: https://doc.rust-lang.org/std/io/type.Result.html +[5]: https://doc.rust-lang.org/std/fs/fn.write.html +[6]: https://doc.rust-lang.org/std/path/struct.Path.html +[7]: https://doc.rust-lang.org/std/fs/struct.File.html +[8]: https://doc.rust-lang.org/std/io/trait.Write.html +[9]: https://doc.rust-lang.org/std/fs/struct.OpenOptions.html# +[10]: https://doc.rust-lang.org/std/fs/fn.read.html +[11]: https://doc.rust-lang.org/std/io/trait.Read.html From f4117ef71a86a1be99e99144b6be49eff7f5b2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:47:48 +0800 Subject: [PATCH 890/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020230103.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Ul?= =?UTF-8?q?tramarine=20Linux=2037=20Release=20Adds=20Pop=20OS-Style=20KDE?= =?UTF-8?q?=20Plasma,=20Drops=20Cutefish.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...se Adds Pop OS-Style KDE Plasma, Drops Cutefish.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md diff --git a/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md b/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md new file mode 100644 index 0000000000..c5983ce0ad --- /dev/null +++ b/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md @@ -0,0 +1,87 @@ +[#]: subject: "Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish" +[#]: via: "https://debugpointnews.com/ultramarine-linux-37-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish +====== + +![][1] + +**A new release of Ultramarine Linux is here: Ultramarine Linux 37 with new custom repo, KDE Plasma flavour and goodies.** + +If you are unaware, Ultramarine Linux is a Fedora-based distribution which offers Budgie, Pantheon, GNOME and other desktops. This distro gives you the best Fedora experience with this awesome desktop environment. + +Recently, this small project is [acquired by FyraLabs][2], the company behind PhotonBrowser and tauOS. And this enables the Ultramarine project with the necessary manpower and funding for infrastructure to continue building the distro. + +Since the Fedora 37 release, the team has been working on rebasing the current release, which includes adopting the new infrastructure and CI/CD pipeline migration. And a final Ultramarine Linux 37 is here. + +So, what’s new? + +### Ultramarine Linux 37 Release: New Features + +Since the Fyralabs acquisition, the team upgraded and migrated to GitHub Actions for automated CI/CD builds. Ultramarine’s own repo, which was used to distribute curated packages (for example, Pantheon desktop), is changing in this release and moving to FyraLabs infrastructure. + +Hence if you are running the Ultramarine 36 version, it may not work correctly. It’s best if you do a fresh installation of this version, as obviously, there is no upgrade path from the 36 to 37 version. + +Furthermore, Ultramarine 37 is introducing a rolling repo called “[Terra][3]” for Fedora packages, including hundreds of applications that Fedora doesn’t ship. You may think of it as similar to [RPM Fusion][4], albeit different. + +To learn more, visit [this page][3] or add the following repo from the command line. + +``` +sudo dnf config-manager --add-repo https://terra.fyralabs.com/terra.repo +``` + +In fact, this opens up a possibility as you may also try to use it in Fedora Linux with caution. It will be cool if the above repo works out of the box in a vanilla Fedora install. + +On top of the above changes, Ultramarine Linux 37 introduces KDE Plasma as an official spin for the first time. The KDE Plasma flavour brings a Pop OS style look with Latte Dock and Lightly Qt theme. + +![Ultramarine Linux 37 with unique Pop OS style KDE Plasma Theme][5] + +Ultramarine Linux 37 also drops the Cutefish desktop, which is currently in a [confused state of development with no visible roadmap][6]. It’s a good decision from the team since there is no point in packaging a halted project. + +The Budgie desktop flagship version uses upstream Fedora packages with more default applications. Recently, Fedora Linux removed elementary OS’s Pantheon desktop support, unfortunately. Thanks to Ultramarine Linux devs, you can still experience it as it has been moved to the new Terra repo. + +You should be glad that Ultramarine Linux is the only Fedora-based distribution supporting the great Pantheon desktop. + +Finally, at its core, Ultramarine Linux 37 is based on [Fedora 37][7] and features Linux mainline Kernel 6.0. So, all the updated packages & toolchains are current in this release. + +So, that’s about the summary of this release. Stay tuned for the official review of this version in a few days. If interested, you might want to read the prior version (36) review here: + +> [Ultramarine Linux: Ultimate Fedora Spin with Budgie, Cutefish and Pantheon][8] + +### Download and Upgrade + +Since there is no upgrade path, it is recommended that you should do a fresh installation of this version. You can download the ISO files for the respective desktop flavours below. + +[Download Ultramarine Linux 37][9] + +Via [release announcement][10] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/ultramarine-linux-37-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2023/01/ultra37head.jpg +[2]: https://twitter.com/UltramarineProj/status/1579991853478182914 +[3]: https://terra.fyralabs.com/ +[4]: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ +[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Ultramarine-Linux-37-with-unique-Pop-OS-style-KDE-Plasma-Theme.jpg +[6]: https://www.debugpoint.com/cutefish-development-restarts/ +[7]: https://debugpointnews.com/fedora-37-release-accouncement/ +[8]: https://www.debugpoint.com/ultramarine-linux-36/ +[9]: https://repos.fyralabs.com/isos/ultramarine/37/ +[10]: https://github.com/Ultramarine-Linux/build-scripts/releases/tag/37-1.0 From 317271ca3b669ca32abbce0824b29b1bfcaa4b81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:48:46 +0800 Subject: [PATCH 891/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230103.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Do?= =?UTF-8?q?cument=20with=20BookStack,=20an=20open=20source=20Confluence=20?= =?UTF-8?q?alternative.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ookStack, an open source Confluence alternative.md | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 sources/tech/20230103.1 ⭐️⭐️ Document with BookStack, an open source Confluence alternative.md diff --git a/sources/tech/20230103.1 ⭐️⭐️ Document with BookStack, an open source Confluence alternative.md b/sources/tech/20230103.1 ⭐️⭐️ Document with BookStack, an open source Confluence alternative.md new file mode 100644 index 0000000000..0b63928629 --- /dev/null +++ b/sources/tech/20230103.1 ⭐️⭐️ Document with BookStack, an open source Confluence alternative.md @@ -0,0 +1,98 @@ +[#]: subject: "Document with BookStack, an open source Confluence alternative" +[#]: via: "https://opensource.com/article/23/1/bookstack-open-source-documentation" +[#]: author: "Dan Brown https://opensource.com/users/ssddanbrown" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Document with BookStack, an open source Confluence alternative +====== + +BookStack is an open source, web-based documentation system, that allows you to create a structured knowledge store for personal, team, or company use. BookStack focuses on ease-of-use and design to provide an experience suitable for an audience with, potentially, mixed skills in technology. It's built upon the PHP framework Laravel, with MySQL or MariaDB used as a datastore. + +I built BookStack after attempting to find a documentation or wiki system for my workplace. [Confluence][1] was the closest option to suit my requirements but the user-based pricing introduced a barrier. The closed nature of Confluence also raised questions to the longevity of the documentation I'd be building. In the end, I decided to build my own platform to suit my needs. I released it under the MIT license to give back to the open source community that I'd come to love and benefit from over the years. + +### Content hierarchy and organization options + +To keep things familiar and intuitive, BookStack makes use of real-world book terms to describe its organization structure. Documentation content is created as a "Page": + +- Pages belong to a specific "Book". +- Within a Book, Pages can optionally be grouped up into "Chapters". +- As your documentation grows, you can then use "Shelves" to categorize Books, with Books being able to be part of multiple shelves if needed. + +This structure sits at the heart of BookStack, and can often be the love-it-or-hate-it deciding aspect of whether BookStack is suitable for your use case. + +Upon this core hierarchy, BookStack also provides tagging, user favorites, and advanced search capabilities to ensure content remains discoverable. + +### Writing documentation + +The primary method of writing documentation in BookStack is through the use of its what-you-see-is-what-you-get (WYSIWYG) editor, which makes use of the open source [Tiny][2] project. This editor provides a range of content formats including: + +- Various header levels +- Code blocks +- Collapsible blocks +- Tables +- Images +- Links +- iFrame embeds +- Alert callouts +- Bullet, numbered and tasks lists +- Drawings (through intregration with the open source [diagrams.net][3]) + +If you prefer [Markdown][4], you can use the built-in Markdown editor, which provides a live preview and supports the same feature set as the WYSIWYG editor. If permission allows, you can even jump between these editor options depending on the page you're editing. + +### How your data is stored + +Documentation is stored within a [MySQL or MariaDB][5] database in a relatively simple HTML format, in addition to the original Markdown content if Markdown was used. A lot of design and development decisions have been made to keep this HTML format simplistic. It uses plain standard HTML elements where possible, to ensure raw documentation content remains open and portable. + +Uploaded images, attachments, and created drawings are saved on the local filesystem but can optionally be stored in an s3-compatible datastore like the open source [MinIO][6]. + +To keep your content accessible, there are built-in options to export content as PDF, HTML, plain text, or Markdown. For external consumption, there's a HTTP REST API and a webhook system. In terms of extension, a "logical theme system" allows running of custom PHP code upon a wide range of system events. + +### Ready for business + +BookStack comes with a range of features to support business environments. Support for a range of authentication options are built-in, including SAML2, OpenID Connect, and LDAP allowing easy single-sign-on usage with platforms such as [KeyCloak][7]. MFA options are available and can be mandated based upon role. An audit log provides full visibility of modification activities across an instance. + +A full role-based permission system provides administrators full control over create, view, update, and delete actions of system content. This allows per-role system defaults, with options to set custom permissions on a per-hierarchy item basis. + +### A community of support + +After being active for over 7 years, the community for BookStack has grown with various avenues for discussion and support. We now have: + +- [Our documentation site][8] +- [Video guides on YouTube][9] +- [A subreddit][10] +- [An active GitHub issues list][11] +- [Paid-for business support][12] + +If you want to play with BookStack, you can try it out [on our demo site][13]. To learn how to set up your own instance, visit the [installation page of our documentation][14]. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/bookstack-open-source-documentation + +作者:[Dan Brown][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/ssddanbrown +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/20/9/open-source-alternatives-confluence +[2]: https://github.com/tinymce/ +[3]: https://www.diagrams.net/ +[4]: https://opensource.com/article/19/9/introduction-markdown +[5]: https://opensource.com/downloads/mariadb-mysql-cheat-sheet +[6]: https://github.com/minio/ +[7]: https://www.keycloak.org/ +[8]: https://www.bookstackapp.com/docs/ +[9]: https://www.youtube.com/c/BookStackApp +[10]: https://www.reddit.com/r/bookstack +[11]: https://github.com/BookStackApp/BookStack/issues +[12]: https://www.bookstackapp.com/support +[13]: https://demo.bookstackapp.com/books/bookstack-demo-site/page/logging-in-to-the-demo-site +[14]: https://www.bookstackapp.com/docs/admin/installation/ From a5180f78e3285c79e7d74967b8307e34e3b02083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:51:15 +0800 Subject: [PATCH 892/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230103.3=20=E2=AD=90=EF=B8=8F=20Whereis=20Command=20?= =?UTF-8?q?in=20Linux=20and=20BSD=20with=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...reis Command in Linux and BSD with Examples.md | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sources/tech/20230103.3 ⭐️ Whereis Command in Linux and BSD with Examples.md diff --git a/sources/tech/20230103.3 ⭐️ Whereis Command in Linux and BSD with Examples.md b/sources/tech/20230103.3 ⭐️ Whereis Command in Linux and BSD with Examples.md new file mode 100644 index 0000000000..8c1d6978d0 --- /dev/null +++ b/sources/tech/20230103.3 ⭐️ Whereis Command in Linux and BSD with Examples.md @@ -0,0 +1,152 @@ +[#]: subject: "Whereis Command in Linux and BSD with Examples" +[#]: via: "https://www.debugpoint.com/whereis-command-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Whereis Command in Linux and BSD with Examples +====== + +**Here’s a beginner’s guide on understanding whereis command in Linux & BSD with several examples.** + +![][1] + +_This article is part of the [Linux command][2] learning series._ + +### whereis command + +The `whereis` command is a command line program that helps you to find out the path or location of any binary executable, source file or manual page. + +Before we show you how to use `whereis` command, let’s look at the syntax. + +### Syntax + +Here’s the syntax for whereis command: + +``` +whereis [OPTIONS] FILE_NAME +``` + +The argument of whereis command is the program name or file name you want to search. The argument is mandatory. + +By default, it searches for the program in the path defined in environment variables such as HOME, USER, SHELL, etc. + +Let’s take a look at some examples. + +### Examples of whereis command in Linux and BSD + +A simple example of whereis command is below where I am trying to search firefox. In the output below, you can see the list of paths containing firefox files or executables displayed. + +``` +$ whereis firefox + +firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz +``` + +![Simple example of whereis command in Linux][3] + +The command with option -l displays the list of paths where it searches. For example: + +``` +$ whereis -l + +bin: /usr/bin +bin: /usr/sbin +bin: /usr/lib +bin: /usr/lib64 +bin: /etc +bin: /usr/games +bin: /usr/local/bin +bin: /usr/local/sbin +bin: /usr/local/etc +bin: /usr/local/lib +bin: /usr/local/games +``` + +If the whereis command doesn’t find anything, it only shows the argument’s name. For example, if I search nano in Linux where is it not installed, it outputs the following: + +``` +$ whereis nano +``` + +``` +nano: +``` + +You can always add multiple arguments if you want to search for more. For example below command searches for both bash and nano, and this is the output: + +``` +$ whereis bash nano + +bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz +nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz +``` + +You can also search for specific file types, such as binaries, using -b option. The following command only tells you the binary paths of nano. + +``` +$ whereis -b nano + +nano: /usr/bin/nano /usr/share/nano +``` + +Similarly, the -s option searches for source files, and the -m option searches for manual pages. + +``` +$ whereis -m nano + +nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz +``` + +You can also combine the above options for a more extensive search. For example, the following command searches for nano and firefox binary, manual pages and for bash, only manual pages. + +``` +$ whereis -bm nano firefox -m bash + +nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz +firefox-m: +bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz +``` + +Here’s a summary of the options: + +| Option | Description | +| :- | :- | +| **-b** | Search only for binaries. | +| **-m** | Search only for manual sections. | +| **-s** | Search only for sources. | +| **-u** | Search for unusual entries. A file is said to be unusual if it does not have one entry of each requested type. Thus ‘whereis -m -u *’ asks for those files in the current directory which have no documentation. | +| **-B** | Change or otherwise limit the places where whereis searches for binaries. | +| **-M** | Change or otherwise limit the places where whereis searches for manual sections. | +| **-S** | Change or otherwise limit the places where whereis searches for sources. | +| **-f** | Terminate the last directory list and signals the start of file names, and must be used when any of the -B, -M, or -S options are used. | + +### Closing Notes + +I hope this article helps you to understand whereis command and its basics. You can also read the[whereis man pages][4] to learn more. Let me know if you have any questions. + +**This article is part of the [Linux command][2] learning series**. + +[_Using Mastodon? Follow us at floss.social/@debugpoint_][5] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/whereis-command-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/2023/01/whereis-head.jpg +[2]: https://www.debugpoint.com/category/linux-commands +[3]: https://www.debugpoint.com/wp-content/uploads/2023/01/Simple-example-of-whereis-command-in-Linux.jpg +[4]: https://linux.die.net/man/1/whereis +[5]: https://floss.social/@debugpoint From 6e643d6c47f5705d96dd0b4433f967764a31b9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:51:53 +0800 Subject: [PATCH 893/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230102.1=20=E2=AD=90=EF=B8=8F=20who=20Command=20in?= =?UTF-8?q?=20Linux=20Explanation=20with=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Command in Linux Explanation with Examples.md | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md diff --git a/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md b/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md new file mode 100644 index 0000000000..71a4a4c1a0 --- /dev/null +++ b/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md @@ -0,0 +1,138 @@ +[#]: subject: "who Command in Linux: Explanation with Examples" +[#]: via: "https://www.debugpoint.com/who-command-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +who Command in Linux: Explanation with Examples +====== + +**Here’s a beginner’s guide on understanding who command in Linux with several examples.** + +_This article is part of the [Linux command][1] learning series._ + +### who command + +The “who” command in Linux is used to display information about users who are currently logged in to the system. It shows the user’s login name, the terminal from which the user is logged in, the time at which the user logged in, and the remote hostname (if applicable). + +#### Syntax + +Here is the basic syntax for the “who” command: + +``` +who [OPTION]... [ FILE | ARG1 ARG2 ] +``` + +### Example of various who command and switches + +By default, “who” reads the file `/var/run/utmp`, which contains information about users who are currently logged in. If no options are specified, it displays each user’s login name, terminal, and time of login. + +``` +who +``` + +It gives the following output. As you can see it shows the login name=debugpoint, terminal id tty2 and the date and time of the login. + +``` +debugpoint tty2 2023-01-01 11:22 (tty2) +``` + +![who command - default example][2] + +However, if you run the above command in a guest virtual machine, you should see the same but the terminal id would be the x11 server display name i.e. :0. + +``` +❯ whodebugpoint :0 2023-01-01 23:36 (:0) +``` + +To show the username of the current user and information, use below: + +``` +whoami +``` + +View the last system boot time using the -b option: + +``` +❯ who -bsystem boot 2023-01-01 23:36 +``` + +Display the count of users logged in the current system: + +``` +❯ who -qdebugpointusers=1 +``` + +All the above command when paired with -H option, you get a better info with a header line, like below: + +``` +who -H + +NAME LINE TIME COMMENT +debugpoint tty2 2023-01-01 11:22 (tty2) +``` + +If you want to display all the information related to who command in Linux, use the option -a: + +``` +who -aH + +NAME LINE TIME IDLE PID COMMENT EXIT +system boot 2023-01-01 11:19 +run-level 5 2023-01-01 11:19 +debugpoint + tty2 2023-01-01 11:22 13:26 2042 (tty2) +``` + +As always, you can save the output of the who command to any file using the redirect as below: + +``` +who > user_details.txt +``` + +#### Example summary of who command options + +Here are some who command examples and their explanation: + +Here are some options that can be used with the “who” command: + +- `-a`: Display the hostname, time of login, and processes for each user +- `-b`: Display the time of the last system boot +- `-d`: Display dead processes (processes that have terminated but have not been removed from the utmp file) +- `-H`: Display a header line +- `-l`: Display login processes in long format +- `-m`: Display only the name and line of the user who is logged in on the terminal specified by `ARG1 ARG2` +- `-q`: Display a count of logged in users +- `-u`: Display information about users who have processes that are not detached +- `-w`: Display information about users who are logged in, in the same format as the utmp file + +### Closing Notes + +I hope this article helps you to understand who command and its basics. You can also read the [who man pages][3] to learn more. Let me know if you have any questions. + +**This article is part of the [Linux command][1] learning series**. + +[Next:How to Force Auto Dark Mode in Chrome and Chromium][4] + +[_Using Mastodon? Follow us at floss.social/@debugpoint_][5] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/who-command-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/category/linux-commands +[2]: https://www.debugpoint.com/wp-content/uploads/2023/01/who-command-default-example.jpg +[3]: https://man7.org/linux/man-pages/man1/who.1.html +[4]: https://www.debugpoint.com/chrome-dark-mode/ +[5]: https://floss.social/@debugpoint From 843a7da11a1bf63e38907c5e5c130e95599aec8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Tue, 3 Jan 2023 21:52:22 +0800 Subject: [PATCH 894/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230102.2=20=E2=AD=90=EF=B8=8F=20Colorblind=20Filters?= =?UTF-8?q?=20GNOME=20Extension=20to=20help=20Colorblind=20Users.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rs GNOME Extension to help Colorblind Users.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sources/tech/20230102.2 ⭐️ Colorblind Filters GNOME Extension to help Colorblind Users.md diff --git a/sources/tech/20230102.2 ⭐️ Colorblind Filters GNOME Extension to help Colorblind Users.md b/sources/tech/20230102.2 ⭐️ Colorblind Filters GNOME Extension to help Colorblind Users.md new file mode 100644 index 0000000000..cd48adc303 --- /dev/null +++ b/sources/tech/20230102.2 ⭐️ Colorblind Filters GNOME Extension to help Colorblind Users.md @@ -0,0 +1,106 @@ +[#]: subject: "Colorblind Filters: GNOME Extension to help Colorblind Users" +[#]: via: "https://www.debugpoint.com/colorblind-filters-gnome-extension/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Colorblind Filters: GNOME Extension to help Colorblind Users +====== + +**A nice GNOME Extension – Colorblind Filters, brings many options for color-blind users.** + +Accessibility is a critical aspect of computing and operating systems. It includes well-managed settings for vision impairment, color blind and many other health symptoms. Popular Linux desktop environments such as GNOME and KDE Plasma feature accessibility settings to help all those scenarios. + +Thanks to the GNOME Extensions ecosystem, a huge number of specialised extensions are available to aid those users. One of the extensions I came across is [“Colorblind Filters”][1]. + +### Colorblind Filters – GNOME Extension + +As per Wikipedia, _“Colour blindness usually involves the inability to distinguish between shades of red and green. There is no treatment for inherited colour blindness. If colour blindness is caused by another condition, treating the underlying cause can help.”_. + +So, it’s important that you have options to tweak settings on your Linux desktop. + +#### Set up extensions and flatpak + +First, make sure you have Flatpak and GNOME Extensions enabled. And the Extensions manager is installed. You may refer to this detailed guide on how to [set up flatpak][2] & enable [GNOME extensions][3], Or run the following commands (for Ubuntu, Linux Mint, etc.) from the terminal. + +``` +sudo apt install flatpaksudo apt install gnome-software-plugin-flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot +``` + +Fedora users, use the below commands. + +``` +sudo dnf install flatpaksudo dnf install gnome-software-plugin-flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakreporeboot +``` + +Once done, install the Extension Manager: + +``` +flatpak install com.mattjakeman.ExtensionManager +``` + +#### Install the Extension + +Open the extension manager from the application menu. Search for “colorblind”. And install the extension (see the below image). + +![Install the extension][4] + +After installation, you can see a small eye icon on the system tray. You can click on it to enable the pre-defined color filters. + +![Colorblind Filters extension tray icon][5] + +Right-click on the eye icon for more settings. This extension brings all the necessary customizations for colorblind collections, simulations and additional options. The following options are currently available: + +- Protanopia +- Deuteranopia +- Tritanopia + +- Corrections & Simulations (with high contrast) + +- Channel mixer for GBR and BRG +- Lightness inversion +- Color Inversion + +- Additional tweaks + +![Colorblind Filters - options][6] + +Use the one that suits you best for your eye. + +### Wrapping Up + +I think Apple’s macOS and iOS have implemented better accessibility than Windows or Linux. However, Linux Desktops are not far behind with these apps and extensions. Also, there are specialized Linux distributions such as “[Accessible Coconut][7]“, which has been built for specialized needs. + +I hope Colorblind gnome extension helps you with your day-to-day usage of Linux and GNOME desktops. + +Cheers. + +[Next:Top 10 Linux Distributions for Windows Users in 2023][8] + +[_Using Mastodon? Follow us at floss.social/@debugpoint_][9] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/colorblind-filters-gnome-extension/ + +作者:[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://extensions.gnome.org/extension/5589/colorblind-filters/ +[2]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[3]: https://www.debugpoint.com/how-to-install-and-use-gnome-shell-extensions-in-ubuntu/ +[4]: https://www.debugpoint.com/wp-content/uploads/2023/01/Install-the-extension.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2023/01/Colorblind-Filters-extension-tray-icon.gif +[6]: https://www.debugpoint.com/wp-content/uploads/2023/01/Colorblind-Filters-options.jpg +[7]: https://www.debugpoint.com/accessible-coconut-linux-visually-impaired/ +[8]: https://www.debugpoint.com/best-linux-distributions-windows/ +[9]: https://floss.social/@debugpoint From a58e7149fb8be43ad173467bfa5c82e1a9f7e2ce Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 4 Jan 2023 08:43:17 +0800 Subject: [PATCH 895/925] translated --- ...Buzzing Noise Coming from Speakers in Linux.md | 130 ------------------ ...Buzzing Noise Coming from Speakers in Linux.md | 130 ++++++++++++++++++ 2 files changed, 130 insertions(+), 130 deletions(-) delete mode 100644 sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md create mode 100644 translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md diff --git a/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md b/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md deleted file mode 100644 index 6a914d5ab3..0000000000 --- a/sources/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md +++ /dev/null @@ -1,130 +0,0 @@ -[#]: subject: "How I Fixed Buzzing Noise Coming from Speakers in Linux" -[#]: via: "https://itsfoss.com/buzzing-noise-speaker-linux" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How I Fixed Buzzing Noise Coming from Speakers in Linux -====== - -I used a laptop for a long time but only recently switched to a desktop setup for my remote work at It’s FOSS. - -I noticed a constant buzzing sound coming from the speakers. It was annoying and gave me headaches. I started out to fix the issue. It was quite interesting to know the root cause of the issue. - -I will share my experience of fixing the buzzing noise from speakers in Linux. I found it working with Ubuntu, Debian and Pop OS on the same hardware. - -One thing to consider is that you may have a serious hardware issue if this guide does not work for you. For most users, the given solution should get the job done. - -**Before you try the fix …** - -I have tried to make things easy to follow safely. You try the temporary fix and if it works, you make the changes permanent. However, it would be a good idea to make system snapshots with Timeshift. If you are easily panicked when things do not work, you can restore the system to the earlier state. - -Also, check your sound card. In my case, it was snd_hda_intel. For USB card, it could be snd_usb_audio. You have to change the commands according to your sound card. - -``` -cat /proc/asound/modules -``` - -### The reason behind the buzzing noise from speakers in Linux - -After combing through numerous forum posts and websites, I learned the root cause of the issue. It is because of capacitor discharge in the speakers. And it can be solved by turning off the power-saving setting of a sound card. - -By turning off power saving, you are allowing the system to charge those capacitors when they get discharged. It is similar to using a phone while charging constantly. - -And you can check whether the power-saving setting for the sound card is enabled on your system by using the given command: - -``` -cat /sys/module/snd_hda_intel/parameters/power_save -``` - -![power saving setting in sound card making buzzing sound in linux][1] - -And if you get 1 in output like mine, the power saving is turned on. So let’s have a look at the solution. - -Don’t worry. This will not affect your battery percentage drastically, as the shown method is only applied to the sound card. - -### Try fixing the buzzing noise issue (temporary) - -The reason why I included the temporary way is to identify whether the humming sound is being caused due to capacitor discharge or if there is any serious hardware problem going on. - -If this temporary solution works, you can go ahead with the permanent solution. - -The first step is to switch to the root user: - -``` -sudo su -``` - -And then, execute the given command, and it should stop the buzzing sound until the next boot: - -``` -echo 0 > /sys/module/snd_hda_intel/parameters/power_save -``` - -If you are using **a USB sound card**, you have to interchange `snd_hda_intel` with `snd_usb_audio` as given: - -``` -echo 0 > /sys/module/snd_usb_audio/parameters/power_save -``` - -If the above trick fixed the issue, you have to make things permanent. Otherwise, the changes will be lost when you next reboot your system. - -### Fixing the buzzing noise issue (permanently) - -Here, I’m going to make changes in kernel parameters. - -Change your working directory to /etc/modprobe.d: - -``` -cd /etc/modprobe.d -``` - -And now, create a new file named `audio_disable_powersave.conf` and open with the nano text editor using the given command: - -``` -sudo nano audio_disable_powersave.conf -``` - -And put the following lines in that file to turn off the power-saving setting in the sound card permanently: - -``` -options snd_hda_intel power_save=0 -``` - -![fix buzzing sound in linux][2] - -For **a USB sound card**, you can use `snd_usb_audio`: - -``` -options snd_usb_audio power_save=0 -``` - -Now, [save changes and exit the Nano text editor][3] by pressing Ctrl+X keys. Reboot your system, and you can enjoy a noise-free workspace. - -### Wrapping Up - -This guide explains the cause of the buzzing noise and how you can straightforwardly solve that issue. - -Again, you may have some other issue rather than discharging capacitors, so you should always try the temporary method. - -Let me know if you were able to fix the buzzing noise from speakers in Linux this way or not. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/buzzing-noise-speaker-linux - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2022/11/power-saving-setting-in-sound-card-making-buzzing-sound-in-linux.png -[2]: https://itsfoss.com/wp-content/uploads/2022/11/fix-buzzing-sound-in-linux.png -[3]: https://linuxhandbook.com/nano-save-exit/ diff --git a/translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md b/translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md new file mode 100644 index 0000000000..6e2f08c773 --- /dev/null +++ b/translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md @@ -0,0 +1,130 @@ +[#]: subject: "How I Fixed Buzzing Noise Coming from Speakers in Linux" +[#]: via: "https://itsfoss.com/buzzing-noise-speaker-linux" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +我如何修复 Linux 中扬声器发出的嗡嗡声 +====== + +我使用笔记本电脑很长时间了,但最近才切换到桌面设置,以便在 It's FOSS 进行远程工作。 + +我注意到扬声器不断发出嗡嗡声。这很烦人,让我头疼。我开始着手解决这个问题。了解问题的根本原因非常有趣。 + +我将分享我在 Linux 中修复扬声器嗡嗡声的经验。我发现它可以在同一硬件上对 Ubuntu、Debian 和 Pop OS 都有效。 + +需要考虑的一件事是,如果本指南不适合你,你可能遇到了严重的硬件问题。对于大多数用户来说,给定的方案应该可以解决问题。 + +**在尝试修复之前** + +我试图让事情变得容易安全地遵循。你尝试临时修复,如果有效,则将更改永久化。但是,最好使用 Timeshift 制作系统快照。如果你在出现故障时很容易惊慌失措,你可以将系统恢复到之前的状态。 + +另外,检查你的声卡。在我的例子中,它是 snd_hda_intel。对于 USB 卡,它可以是 snd_usb_audio。你必须根据你的声卡更改命令。 + +``` +cat /proc/asound/modules +``` + +### Linux 中扬声器发出嗡嗡声的原因 + +梳理了无数的论坛帖子和网站后,我了解了问题的根本原因。这是因为扬声器中的电容放电。它可以通过关闭声卡的省电设置来解决。 + +通过关闭省电,你允许系统在这些电容放电时为其充电。这类似于在不断充电时使用电话。 + +你可以使用给定的命令检查你的系统是否启用了声卡的省电设置: + +``` +cat /sys/module/snd_hda_intel/parameters/power_save +``` + +![power saving setting in sound card making buzzing sound in linux][1] + +如果你像我一样输出是 1,那么省电功能已打开。因此,让我们看一下方案。 + +不用担心。这不会显著影响你的电池百分比,因为所示方法仅适用于声卡。 + +### 尝试修复嗡嗡声问题(临时) + +我之所以包括临时方法是为了确定嗡嗡声是由于电容放电引起的还是是否存在任何严重的硬件问题。 + +如果此临时方案有效,你可以继续使用永久方案。 + +第一步是切换到 root 用户: + +``` +sudo su +``` + +然后,执行给定的命令,它应该停止嗡嗡声直到下次启动: + +``` +echo 0 > /sys/module/snd_hda_intel/parameters/power_save +``` + +如果你使用的是 **USB 声卡**,则必须将 `snd_hda_intel` 与 `snd_usb_audio` 互换,如下所示: + +``` +echo 0 > /sys/module/snd_usb_audio/parameters/power_save +``` + +如果上述技巧解决了问题,那么你必须使变更永久化。否则,下次重启系统时更改将丢失。 + +### 修复嗡嗡声问题(永久) + +在这里,我将对内核参数进行更改。 + +将你的工作目录更改为 /etc/modprobe.d: + +``` +cd /etc/modprobe.d +``` + +现在,创建一个名为 `audio_disable_powersave.conf` 的新文件,并使用给定命令使用 nano 文本编辑器打开: + +``` +sudo nano audio_disable_powersave.conf +``` + +并在该文件中放入以下行以永久关闭声卡中的省电设置: + +``` +options snd_hda_intel power_save=0 +``` + +![fix buzzing sound in linux][2] + +对于 **USB 声卡**,你可以使用 `snd_usb_audio`: + +``` +options snd_usb_audio power_save=0 +``` + +现在,[保存更改并退出 Nano 文本编辑器][3]并按 Ctrl+X 键。重启你的系统,你就可以享受无噪音的工作空间。 + +### 总结 + +本指南解释了嗡嗡声的原因以及如何直接解决该问题。 + +同样,除了电容放电之外,你可能还有其他问题,因此你应该始终尝试临时方法。 + +让我知道你是否能够以这种方式解决 Linux 中扬声器发出的嗡嗡声。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/buzzing-noise-speaker-linux + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2022/11/power-saving-setting-in-sound-card-making-buzzing-sound-in-linux.png +[2]: https://itsfoss.com/wp-content/uploads/2022/11/fix-buzzing-sound-in-linux.png +[3]: https://linuxhandbook.com/nano-save-exit/ From d41696aec84aee02ee2def8396921b0a12af0e66 Mon Sep 17 00:00:00 2001 From: geekpi Date: Wed, 4 Jan 2023 08:47:37 +0800 Subject: [PATCH 896/925] translating --- ...01.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md b/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md index ab1be90f2f..9a30bf0a2f 100644 --- a/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md +++ b/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/firefox-esr-ubuntu/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1d4becfefd43c5986af41f4370cbd90eebcb0426 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 4 Jan 2023 10:54:48 +0800 Subject: [PATCH 897/925] ALL @wxy https://linux.cn/article-15410-1.html --- ...se Adds Pop OS-Style KDE Plasma, Drops Cutefish.md | 87 +++++++++++++++++++ ...se Adds Pop OS-Style KDE Plasma, Drops Cutefish.md | 87 ------------------- 2 files changed, 87 insertions(+), 87 deletions(-) create mode 100644 published/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md delete mode 100644 sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md diff --git a/published/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md b/published/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md new file mode 100644 index 0000000000..173a76f9e9 --- /dev/null +++ b/published/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md @@ -0,0 +1,87 @@ +[#]: subject: "Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish" +[#]: via: "https://debugpointnews.com/ultramarine-linux-37-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15410-1.html" + +Ultramarine Linux 37 版本发布 +====== + +![][1] + +> Ultramarine Linux 的新版本来了。Ultramarine Linux 37 带有新的自定义软件仓库、KDE Plasma 特色版等等。 + +如果你不知道,Ultramarine Linux 是一个基于 Fedora 的发行版,提供了 Budgie、Pantheon、GNOME 等桌面环境。这个发行版通过这些令人赞叹的桌面环境给你提供了最好的 Fedora 体验。 + +最近,这个小项目被 [FyraLabs][2] 收购,后者是 PhotonBrowser 和 tauOS 背后的公司。而这使得 Ultramarine 项目有了必要的人力和资金来继续建设他们的发行版。 + +自 Fedora 37 发布以来,该团队一直致力于重件当前版本,这包括采用新的基础设施和 CI/CD 管道迁移。终于,Ultramarine Linux 37 登场了。 + +那么,它有什么新东西呢? + +### Ultramarine Linux 37 的新功能 + +自从被 Fyralabs 收购后,该团队升级并迁移到用于自动化 CI/CD 构建的 GitHub Actions。Ultramarine 自己的软件仓库用于分发其精心组织的软件包(例如 Pantheon 桌面),它在这个版本中会发生变化,并转移到 FyraLabs 的基础设施上。 + +因此,如果你正在运行 Ultramarine 36 版本,它可能无法正常工作。你最好重新安装这个版本,因为显然没有从 36 版到 37 版的升级路径。 + +此外,Ultramarine 37 为 Fedora 软件包引入了一个名为 [Terra][3] 的滚动仓库,其中包括数百个 Fedora 不提供的应用程序。你可以认为它类似于 [RPM Fusion][4],尽管有所不同。 + +要了解更多,请访问 [本页][3] 或从命令行添加以下软件仓库: + +``` +sudo dnf config-manager --add-repo https://terra.fyralabs.com/terra.repo +``` + +事实上,这开启了一种可能性,因为你也可以尝试在 Fedora Linux 中谨慎地使用它。如果上述软件仓库能在普通的 Fedora 安装中开箱即用,那就更棒了。 + +在上述变化的基础上,Ultramarine Linux 37 首次引入了 KDE Plasma 作为官方版本。KDE Plasma 特色版带来了含有 Latte Dock 和 Lightly Qt 主题的 Pop OS 风格外观。 + +![Ultramarine Linux 37 具有独特的 Pop OS 风格的 KDE Plasma 主题][5] + +Ultramarine Linux 37 也放弃了 Cutefish 桌面,因为它目前正处于 [混乱的开发状态,没有可见的路线图][6]。这是该团队的一个很好的决定,因为打包一个已经停止的项目是没有意义的。 + +Budgie 桌面旗舰版使用上游的 Fedora 软件包,有更多的默认应用程序。最近,Fedora Linux 删除了对 elementary OS 的 Pantheon 桌面的支持,很遗憾。感谢 Ultramarine Linux 开发者,你仍然可以体验它,因为它已经被转移到新的 Terra 软件仓库中。 + +你应该庆幸,Ultramarine Linux 是唯一一个的基于 Fedora 的支持令人赞叹的 Pantheon 桌面的发行版。 + +最后,Ultramarine Linux 37 的核心基于 [Fedora 37][7],采用 Linux 主线内核 6.0。因此,所有更新的软件包和工具链都在这个版本中。 + +所以,这就是关于这个版本的总结。请继续关注几天后对这个版本的官方点评。如果有兴趣,你可以在这里阅读之前的版本(36)的评论。 + +> **[Ultramarine Linux:带有 Budgie、Cutefish 和 Pantheon 桌面的终极 Fedora 特色版][8]** + +### 下载和升级 + +由于没有升级路径,建议你对该版本进行全新安装。你可以在下面下载各个桌面环境的 ISO 文件。 + +> **[下载 Ultramarine Linux 37][9]** + +参考自:[发布公告][10]。 + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/ultramarine-linux-37-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2023/01/ultra37head.jpg +[2]: https://twitter.com/UltramarineProj/status/1579991853478182914 +[3]: https://terra.fyralabs.com/ +[4]: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ +[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Ultramarine-Linux-37-with-unique-Pop-OS-style-KDE-Plasma-Theme.jpg +[6]: https://www.debugpoint.com/cutefish-development-restarts/ +[7]: https://debugpointnews.com/fedora-37-release-accouncement/ +[8]: https://www.debugpoint.com/ultramarine-linux-36/ +[9]: https://repos.fyralabs.com/isos/ultramarine/37/ +[10]: https://github.com/Ultramarine-Linux/build-scripts/releases/tag/37-1.0 diff --git a/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md b/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md deleted file mode 100644 index c5983ce0ad..0000000000 --- a/sources/news/20230103.0 ⭐️⭐️ Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish" -[#]: via: "https://debugpointnews.com/ultramarine-linux-37-release/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ultramarine Linux 37 Release Adds Pop OS-Style KDE Plasma, Drops Cutefish -====== - -![][1] - -**A new release of Ultramarine Linux is here: Ultramarine Linux 37 with new custom repo, KDE Plasma flavour and goodies.** - -If you are unaware, Ultramarine Linux is a Fedora-based distribution which offers Budgie, Pantheon, GNOME and other desktops. This distro gives you the best Fedora experience with this awesome desktop environment. - -Recently, this small project is [acquired by FyraLabs][2], the company behind PhotonBrowser and tauOS. And this enables the Ultramarine project with the necessary manpower and funding for infrastructure to continue building the distro. - -Since the Fedora 37 release, the team has been working on rebasing the current release, which includes adopting the new infrastructure and CI/CD pipeline migration. And a final Ultramarine Linux 37 is here. - -So, what’s new? - -### Ultramarine Linux 37 Release: New Features - -Since the Fyralabs acquisition, the team upgraded and migrated to GitHub Actions for automated CI/CD builds. Ultramarine’s own repo, which was used to distribute curated packages (for example, Pantheon desktop), is changing in this release and moving to FyraLabs infrastructure. - -Hence if you are running the Ultramarine 36 version, it may not work correctly. It’s best if you do a fresh installation of this version, as obviously, there is no upgrade path from the 36 to 37 version. - -Furthermore, Ultramarine 37 is introducing a rolling repo called “[Terra][3]” for Fedora packages, including hundreds of applications that Fedora doesn’t ship. You may think of it as similar to [RPM Fusion][4], albeit different. - -To learn more, visit [this page][3] or add the following repo from the command line. - -``` -sudo dnf config-manager --add-repo https://terra.fyralabs.com/terra.repo -``` - -In fact, this opens up a possibility as you may also try to use it in Fedora Linux with caution. It will be cool if the above repo works out of the box in a vanilla Fedora install. - -On top of the above changes, Ultramarine Linux 37 introduces KDE Plasma as an official spin for the first time. The KDE Plasma flavour brings a Pop OS style look with Latte Dock and Lightly Qt theme. - -![Ultramarine Linux 37 with unique Pop OS style KDE Plasma Theme][5] - -Ultramarine Linux 37 also drops the Cutefish desktop, which is currently in a [confused state of development with no visible roadmap][6]. It’s a good decision from the team since there is no point in packaging a halted project. - -The Budgie desktop flagship version uses upstream Fedora packages with more default applications. Recently, Fedora Linux removed elementary OS’s Pantheon desktop support, unfortunately. Thanks to Ultramarine Linux devs, you can still experience it as it has been moved to the new Terra repo. - -You should be glad that Ultramarine Linux is the only Fedora-based distribution supporting the great Pantheon desktop. - -Finally, at its core, Ultramarine Linux 37 is based on [Fedora 37][7] and features Linux mainline Kernel 6.0. So, all the updated packages & toolchains are current in this release. - -So, that’s about the summary of this release. Stay tuned for the official review of this version in a few days. If interested, you might want to read the prior version (36) review here: - -> [Ultramarine Linux: Ultimate Fedora Spin with Budgie, Cutefish and Pantheon][8] - -### Download and Upgrade - -Since there is no upgrade path, it is recommended that you should do a fresh installation of this version. You can download the ISO files for the respective desktop flavours below. - -[Download Ultramarine Linux 37][9] - -Via [release announcement][10] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/ultramarine-linux-37-release/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2023/01/ultra37head.jpg -[2]: https://twitter.com/UltramarineProj/status/1579991853478182914 -[3]: https://terra.fyralabs.com/ -[4]: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ -[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Ultramarine-Linux-37-with-unique-Pop-OS-style-KDE-Plasma-Theme.jpg -[6]: https://www.debugpoint.com/cutefish-development-restarts/ -[7]: https://debugpointnews.com/fedora-37-release-accouncement/ -[8]: https://www.debugpoint.com/ultramarine-linux-36/ -[9]: https://repos.fyralabs.com/isos/ultramarine/37/ -[10]: https://github.com/Ultramarine-Linux/build-scripts/releases/tag/37-1.0 From c5ea2e25d3e59a34913f9114f38fdab19177b3a4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 4 Jan 2023 17:32:37 +0800 Subject: [PATCH 898/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow https://linux.cn/article-15411-1.html 翻译的很用心~ --- ...s for measuring your open source software usage.md | 150 ++++++++++++++++++ ...s for measuring your open source software usage.md | 145 ----------------- 2 files changed, 150 insertions(+), 145 deletions(-) create mode 100644 published/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md delete mode 100644 translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md diff --git a/published/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/published/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md new file mode 100644 index 0000000000..cdc1ab5063 --- /dev/null +++ b/published/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md @@ -0,0 +1,150 @@ +[#]: subject: "8 ideas for measuring your open source software usage" +[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" +[#]: author: "Georg Link https://opensource.com/users/georglink" +[#]: collector: "lkxed" +[#]: translator: "CanYellow" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15411-1.html" + +衡量你的开源软件使用情况的 8 个方法 +====== + +![][0] + +> 想知道如何为你的开源软件项目收集使用指标?考虑一下使用这些替代方案的利弊。 + +我们这些支持开源项目社区的人经常被问到很多有关使用指标的问题。这些指标通常是为了通过用户量和知名度来衡量软件的重要性。我们一般都想知道有多少人使用该软件,有多少次安装,以及有多少人生活接触过它。 + +但简而言之,我们尚无法直接回答上述问题。 + +如果你想要寻找一个明确的解决方案,那很抱歉要让你失望了。有关使用指标的问题,没有人有完美的答案,至少没有准确的答案。 + +好消息是,有一些近似的和替代指标至少能够部分地满足你对软件使用情况了解的渴求。本文探讨了这些替代方案以及它们的优点和缺点。 + +### 下载量 + +当你浏览提供软件的网站时,你通常可以看到软件的下载次数。映入我脑海的一个例子是 Firefox ,它曾经有一个下载计数器。Firefox 的下载量是一个印象深刻的数字,给人的印象是 Firefox 是一个流行的浏览器,在一段时间内确实如此。 + +然而,个人行为会直接影响这一数字的准确性。举例而言,当一个人定期重置他们的设备时,每一次重建都会引发一次独立的下载。考虑到这一现实,需要设计一种方法从下载量中去除几十次(或许是几百次)的下载次数,因为那是一个人。 + +下载量不仅会高估使用量,还会低估使用量。例如,一个系统管理员可能会下载一个新版本的 Firefox 一次并将其拷贝到 U 盘上,然后安装到数百台设备上。 + +下载量指标是易于收集的,你可以在服务器上记录每一个下载请求。问题在于你不知道在这些软件下载以后会发生什么。下载它的人是否如预期的那样使用软件,还是遇到了问题而放弃了它。 + +对于开源项目而言,你可以考虑各种下载量指标,比如来自以下途径的下载指标: + +- 项目官网 +- 包管理器,比如 npm、PyPi 和 Maven +- 代码仓库,如 GitHub、GitLab、Gitee 等 + +你可能还对源代码的下载量感兴趣,因为下游项目更可能使用源代码形式(参见 [《如何衡量你的开源项目的影响》][1]一文)。相应的下载指标包括: + +- 从代码仓库克隆的数量,比如 GitHub、GitLab 和 Gitee +- 从官网下载的归档文件(tar、zip)的数量 +- 通过像 npm、PyPi 和 Maven 这样的包管理器下载的源代码数量 + +源代码的下载指标比二进制代码的下载指标更不可靠(虽然尚无相关研究表明如此)。试想一下,一名开发人员想要你的最新版本的源代码,并将他们的构建管道配置为每次构建都克隆你的仓库。再想象一下,一个自动构建过程失败了,它试图重新构建而不断地克隆你的版本库。你还可以考虑这样一个下载量低于预期的场景——源代码仓库在某些地方缓存了,下载来源是由这些缓存所提供的。 + +> **[相关阅读:跟踪你的开源社区的 5 个指标][2]** + +总而言之,下载量指标是用于提供当前使用情况和探测趋势的很好的指征。我们无法明确地定义一次下载是如何转化为使用的。不过我们可以认为增加的下载量是更多潜在用户的标志。举例而言,如果你为你的软件做了广告并在活动期间得到了更高的下载量,可以合理地假定广告推动了更多人下载该软件。下载行为的来源与元数据还可以提供额外的与使用行为相关的内容。你的软件的哪些版本仍在使用中?什么操作系统或者特定语言的版本更加流行?这有助于社区决定将哪个平台的软件作为支持与测试的优先选项。 + +### 议题 + +作为一个开源项目,你可能有一个议题追踪器。当某个人提出一个议题时一般有两个目标,报告一个漏洞或者请求增加一项功能。提议者很可能已经使用过你的软件了。作为一名用户,他可能发现了一个漏洞或者发现了对一个新功能的需求。 + +很明显,大多数用户不会执行额外的步骤来提交议题。提议者是我们的忠实用户,我们对他们表示感谢。此外,通过提出议题,他们已经成为了非代码贡献者,他们也有希望成为代码贡献者。经验法则是大约每 10000 名用户中,可能有 100 名提议者,以及 1 名代码贡献者。当然取决于用户类型,上述比例可能有出入。 + +回到指标问题,你可以将提议者数量作为评估使用量的下界。相关的指标包括: + +- 提议者数量 +- 活跃提议者的数量(在过去 6 个月内提出议题的提议者) +- 同时有代码贡献的提议者的数量 +- 尚未解决的议题的数量 +- 对议题发布的评论数量 + +### 邮件列表、论坛和问答网站 + +很多开源项目都拥有用户邮件列表、论坛,并且出现在类似 Stack Overflow 的问答网站上。与提问者一样,在这些地方发帖的人可被视作用户的冰山一角。与邮件列表、论坛和问答网站上的社区活跃程度相关的指标也可用于反映用户数量的上升或下降。相关指标可以集中于以下地方的活动,包括: + +- 用户邮件列表的订阅量 +- 论坛用户的数量 +- 问题的数量 +- 答案的数量 +- 发布信息的数量 + +### 上报功能 + +为了获得精确的用户数量,一个方案是让软件在使用时上报信息。 + +这是令人毛骨悚然的。想象一下,系统管理员的防火墙报告了一个非预期的到你的服务器的网络连接,你不仅无法再收到软件报告(被防火墙拦截了),恐怕连你的软件也可能在未来被禁止使用。 + +负责任的设置上报功能的方式为设置一项可选服务来检查更新并让用户知道使用最新版本。另一项可选功能可以集中在使用遥测上,你可以通过该功能询问用户是否允许匿名上报软件使用情况。如果经过深思熟虑的实施,这种方式可以允许用户通过他们使用软件的方式帮助优化软件。用户可以持有这样的意见:我一般不允许这种使用信息的分享;但对于一些软件,因为希望开发人员在长期内将软件优化得更好,我愿意这样做。 + +### 星标与复刻 + +星标与复刻是如 GitHub、GitLab、Gitee 等社交化编程平台的功能。这些平台上的用户可以给一个项目加星标。为什么他们要给项目加星标呢?GitHub 的文档作出了解释:你可以给一个仓库和主题加星标,以跟踪感兴趣的项目,和在你的新闻订阅中发现相关的内容。给一个项目加星标与将其加入书签的效果一样,并且还提供了一种向项目仓库的维护者展示赞赏的方式。星标的数量已经成为了项目流行程度的标志。当一个项目发布重大公告并获得相当的关注时,项目的星标数量会呈上升趋势。星标的数量指标并不反映软件的使用量。 + +在社交化编程平台上的复刻Fork是将项目仓库复制一份在自己名下。仓库的非维护者可以在他们自己的克隆仓库中做修改,并将修改通过拉取请求pull request(PR)的方式提交审核。复刻比星标更能反映软件社区的规模。开发者也可能为了保存一份代码副本而克隆一个项目,以便在原始仓库消失后他们仍能访问代码。因为复刻功能在代码贡献工作流中的应用,复刻量是衡量开发社区的良好指标。复刻量通常也不反映非开发人员的使用,因为非开发人员一般不创建复刻。 + +### 社交媒体 + +包括 Facebook、Instagram、LinkIn、Reddit、Twtter 等社交媒体平台提供了相同兴趣的人们聚集的平台。采用社交媒体策略,开源项目可以通过在平台上设置相应的聚集空间来吸引对项目感兴趣的人们。通过这些社交媒体途径,开源项目可以分享项目新闻、更新,指出贡献者和用户。这些社交媒体途径还可以用于认识那些本不会通过其他途径与项目互动的人。 + +我在犹豫是否建议关注以下指标,因为它与软件的真实使用量没有清晰的联系,并通常需要分析其中的积极、消极和中性的情绪。人们可能因为很多不同的原因对你的项目感到激动而关注它,但并不实际使用它。然而与之前已经讨论过的指标一样,能够在社交媒体上吸收人群本就是项目受关注的整体指标。不同社交媒体平台的指标包括: + +- 关注者与订阅者的数量 +- 消息的数量 +- 活跃的消息作者的数量 +- 喜欢、分享、回复以及其他交互的数量 + +### 网站分析与文档 + +网站流量也是一个有用的指标。这一指标主要受到你的服务范围以及市场营销活动影响,而不是用户量。然而,我们还有一张王牌:我们的用户文档、教程、手册以及 API 文档。我们可以发现我们的网站以及文档中的什么主题更引人注意。文档的访问者数量应当大致随着软件的使用者数量增长而增长。因此我们可以通过网站的访问量探知对项目的普遍兴趣,并进一步通过观察文档的访问者来观察用户风向。这些指标包括: + +- 网站访问者数量 +- 文档访问者的数量 +- 访问者在你的网站与文档上所花的时间 + +### 活动 + +活动的指标可以在你主持与项目相关的活动时使用。这是建立社区的很好的方式。有多少人提交摘要想要在你的活动中发言?有多少人出席你的活动?不论是在线下活动还是线上活动这可能都很有趣。当然,你如何推广你的活动在很大程度上决定有多少人到场。同时你可以将自己的活动与人们出行的大型活动放在一起以方便人们参加你的活动。只要你使用一贯的活动策略,你可以通过演讲者提交的材料与参会者注册的增加来表征软件受欢迎程度与用户群的增加。 + +你并不需要举办你自己的活动来收集有用的指标。如果你在开源活动中主持有关你项目的讨论,你可以衡量有多少人出席主要关注你的项目的会议。像 [FOSDEM][T1] 这样的活动,一些讨论特别聚焦于开源项目的更新与发布,会议室中都挤满了人(像 FOSDEM 的所有会议一样)。 + +你可以考虑如下指标: + +- 以你的项目为中心的活动的出席人数 +- 提交到以你的项目为中心的活动的演讲数量 +- 以你的项目为中心的演讲的出席人数 + +### 关于估算开源软件使用的结论 + +正如我们已经如上展现的,有很多指标可以反映软件使用的趋势,没有一个指标是完美的。在大多数情况下,这些指标可能被个人行为、系统设计和噪音所严重影响。因此,考虑到每一个指标的相对不确定性,我们建议你不要孤立地使用任何一个指标。但是如果你从不同的来源收集了一系列的指标,你应当能够探测到用户行为与软件使用的趋势。如果你有办法在多个具有共性的开源项目中比较同一组指标,例如类似的功能、强大的相互依赖性、在同一基础设施上托管,以及其他特征,你就可以提升你对用户行为基线的感知。 + +需要注意的是,在这篇概述中,我们选择突出能够评估直接使用情况的指标。而大多数软件都依赖于其他各种软件包,如果我们不提及作为软件依赖链的一部分而被间接使用的严重影响,这就是我们的疏忽。因此,我们建议将上下游依赖的合计数量作为你的分析中的另一层内容。 + +最后,作为数据与指标的使用者,我们鼓励你认识到你的利益相关方的权利与责任。你发布的任何指标都有可能影响用户行为。最好的做法是经常一同分享你的背景信息——基础、来源、估算方法和其他关键上下文信息,这有助于其他人解释你的结果。 + +感谢 [CHAOSS][T2] 社区在爱尔兰都柏林举行的 CHAOSScon EU 2022 上的富有洞察力的对话,上述对话激发这篇博文的想法。我们还要感谢 CHAOSS 社区的成员审阅并帮助优化本文。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/12/open-source-usage-metrics + +作者:[Georg Link, Sophia Vargas][a] +选题:[lkxed][b] +译者:[CanYellow](https://github.com/CanYellow) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/georglink +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/18/5/metrics-project-success +[2]: https://opensource.com/article/22/11/community-metrics + +[T1]: https://fosdem.org/ +[T2]: https://chaoss.community +[0]: https://img.linux.net.cn/data/attachment/album/202301/04/173129vmnstoxnzmjlnsxw.jpg \ No newline at end of file diff --git a/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md deleted file mode 100644 index f3efee7126..0000000000 --- a/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ /dev/null @@ -1,145 +0,0 @@ -[#]: subject: "8 ideas for measuring your open source software usage" -[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" -[#]: author: "Georg Link https://opensource.com/users/georglink" -[#]: collector: "lkxed" -[#]: translator: "CanYellow" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -衡量你开源软件使用的8个方法 -====== - -我们这些支持开源项目社区的人经常被问到很多有关使用指标的问题。这些指标通常是为了通过用户群体和用户认知来衡量软件的重要性。我们一般都想知道有多少人使用该软件,有多少次安装以及触发了多少次实例。 - -长话短说,我们尚无法直接回答上述问题。 - -如果你想要寻找一个终极解决方案,那很抱歉要让你失望了。有关使用指标的问题,没有人有完美的答案,至少没有准确的答案。 - -好消息是,有一些近似的和可选的指标至少能够部分地满足你对软件使用知识的渴求。本文探讨了这些替代方案以及他们的优点和缺点。 - -### 下载 - -当你浏览提供软件的网站时,你通常可以看到软件的下载次数。映入脑海的一个例子是 Firefox ,它曾经有一个下载计数器。Firefox 的下载量是一个印象深刻的数字,给人留下 Firefox 在一段时间内是一个流行的浏览器。 - -然而,个人行为会直接影响这一数字的准确性。举例而言,当一个人定期重置他们的设备时,每一次重建都会引发一次独立的下载。考虑到这一现实,需要设计一种方法从下载量中去除几十次由上述人员带来的下载次数。 - -下载量不仅会高估使用量,还会低估使用量。例如,一个系统管理员可能会下载一个新版本的 Firefox 一次并将其拷贝到闪存上,然后安装到数百台设备上。 - -下载量指标是易于收集的,你可以在服务器上记录每一个下载请求。问题在于你不知道在这些软件下载以后会发生什么。下载它的人是否如预期的那样使用软件,还是运行时遇到了问题而遗弃了软件。 - -对于开源项目而言,你可以考虑各种下载量指标,比如来自以下途径的下载指标: - -- 项目官网 -- 包管理器,比如 npm,PyPi 和 Maven -- 代码仓库,如 Github,GitLab,Gitee 等 - -你可能还对源代码的下载量感兴趣,因为下游项目更可能使用源代码形式 (见于[《如何衡量你的开源项目的影响》][1]一文)。相应的下载指标包括: - -- 从代码仓库克隆的数量,比如 GitHub,GitLab 和 Gitee -- 从官网下载的归档文件 (tar,zip) 的数量 -- 通过像 npm,PyPi 和 Maven 这样的包管理器下载的源代码数量 - -源代码的下载指标比二进制代码的下载指标更不可靠(虽然尚无相关研究表明如此)。试想一下,一名开发人员想要你的最新版本的源代码并已经配置好了他们的构建流程来总是在每一次构建中都克隆你的版本库。再想象一个自动构建过程失败了,它试图重新构建而不断地克隆你的版本库。你还可以考虑这样一个下载量低于预期的场景——源代码仓库在某些地方缓存了,下载来源是由这些缓存所提供的。 - -**[相关阅读[跟踪你的开源社区的5个指标][2]]** - -总而言之,下载量指标是用于提供当前使用情况和探测趋势的很好的代表。我们无法明确地定义一次下载是如何转化为使用的。不过我们可以认为增加的下载量是更多潜在用户的标志。举例而言,如果你为你的软件做了广告并在活动期间得到了更高的下载量,可以公正的假定广告推动了更多人下载软件。下载行为的来源与元数据还可以提供额外的与使用行为相关的内容。你的软件的哪些版本仍在使用中?什么操作系统或者专属语言的版本更加流行?这有助于社区决定将哪个平台的软件作为支持与测试的优先选项。 - -### 提问 - -作为一个开源项目,你可能有一个问题追踪器。当某个人提出一个议题时一般有两个目标,报告一个漏洞或者请求增加一项功能。提问者可能使用过你的软件。作为一名用户,他可能发现了一个漏洞或者确定了对新功能的需求。 - -很明显,大多数用户不会执行额外的步骤来提交问题。提问者是我们的忠实用户,我们对他们表示感谢。此外,通过提出问题,他们成为非代码贡献者,他们也有希望成为代码贡献者。经验法则是大约每10000名用户中,可能有100名提问者以及1名代码贡献者,当然取决于用户类型,上述比例可能有出入。 - -回到指标问题,你可以将提问者数量作为评估使用量的下界。相关的指标包括: - -- 提问者数量 -- 活跃提问者的数量 (在过去6个月内提出问题的提问者) -- 同时有代码贡献的提问者的数量 -- 尚未解决的问题的数量 -- 发布的问题评论的数量 - -### 邮件列表,论坛和问答网站 - -很多开源项目都拥有用户邮件列表,论坛,并且出现在类似 Stack Overflow 的问答网站上。与提问者一样,在这些地方发帖的人可被视作用户的冰山一角。与邮件列表、论坛和问答网站上的社区活跃程度相关的指标也可用于反映用户数量的上升或下降。相关指标可以集中于以下地方的活动,包括: - -- 用户邮件列表的订阅量 -- 论坛用户的数量 -- 问题的数量 -- 答案的数量 -- 发布信息的数量 - -### 上报功能 - -为了获得精确的用户数量,一个方案是让软件在使用时上报信息。 - -这是令人毛骨悚然的。想象一下,系统管理员的防火墙报告了一个非预期的到你的服务器的网络连接,你不仅无法再收到软件报告(被防火墙拦截了),恐怕连你的软件也可能在未来被禁止使用。 - -负责任的设置上报功能的方式为设置一项可选服务来检查更新并让用户知道使用最新版本。另一项可选功能可以集中在使用检测上,你可以通过该功能询问用户是否允许匿名上报软件使用情况。如果经过深思熟虑的实施,这种方式可以允许用户通过他们使用软件的方式帮助优化软件。用户可以持有这样的意见:我一般不允许使用信息分享;但对于一些软件,因为希望开发人员从长远来看会将软件优化得更好,我愿意这样做。 - -### 加星标与克隆 - -加星标与克隆是如 GitHub 、 GitLab 、 Gitee 等社交化编程平台的功能。平台用户可以给一个项目加星标。为什么他们要给项目加星标呢?GitHub 的文档作出了解释:你可以给一个仓库和主题加星标以保持对感兴趣的项目的跟踪和在你的新闻订阅中发现相关的内容。给一个项目加星标与将其加入书签的效果一样,并且还提供了一种向项目仓库的维护者展示赞赏的方式。星标的数量已经成为了项目流行程度的标志。当一个项目发布重大公告并获得相当的关注时,项目的星标数量会呈上升趋势。星标的数量指标并不反映软件的使用量。 - -在社交化编程平台上的克隆 (Forks) 即将项目仓库复制一份在自己名下。仓库的非维护者可以在他们自己的克隆仓库中做修改并将修改通过拉取请求 (pull request) 的方式提交审核。克隆比星标更能反映软件社区的大小。开发者也可能为了保存一份代码副本而克隆一个项目以便在原始仓库消失后他们仍能访问代码。因为克隆功能在代码贡献工作流中的应用,克隆量是衡量开发社区的良好指标。克隆量通常也不反映非开发人员的使用,因为非开发人员一般不创建克隆。 - -### 社交媒体 - -包括 Facebook、Instagram、LinkIn、Reddit、Twtter等的社交媒体平台提供了相同兴趣的人们聚集的平台。采用社交媒体策略,开源项目可以通过在平台上设置相应的聚集空间来吸引对项目感兴趣的人们。通过这些社交媒体途径,开源项目可以分享项目新闻、更新、突出共献者和用户。这些社交媒体途径还可以用于认识那些本不会通过其他途径与项目互动的人。 - -我在犹豫是否建议关注指标因为它与软件的真实使用量没有清晰的联系,并通常需要分析其中的积极、消极和中性的情绪。人们可能因为很多不同的原因对你的项目感到激动并想要在不实际使用的情况下关注它。然而与之前已经讨论过的指标一样,能够在社交媒体上吸收人群本就是项目受关注的整体指标。不同社交媒体平台的指标包括: - -- 关注与订阅的数量 -- 消息的数量 -- 活跃的消息作者的数量 -- 喜欢、分享、回复以及其他交互的数量 - -### 网站分析与文档 - -网站流量也是一个有用的指标。这一指标主要由你的服务范围以及市场营销活动影响而不是用户量。然而,我们还有一张王牌:我们的用户文档、教程、手册以及 API 文档。我们可以发现我们的网站以及文档中的什么主题更引人注意。文档的访问者数量应当大概随着软件的使用者数量增长而增长。因此我们可以通过网站的访问量探知对项目的一般性的兴趣并进一步通过观察文档的访问者观察用户风向。这些指标包括: - -- 网站访问者数量 -- 文档访问者的数量 -- 访问者在你的网站与文档上所花的时间 - -### 活动 - -活动指标可以在你主持与项目相关的活动时使用。这是建立社区的很好的方式。有多少人提交摘要在你的活动中发言?有多少人出席你的活动?不论是在线下活动还是线上活动中这可能都很有趣。当然,你如何推广你的活动可以很大程度上决定有多少人到场。同时你可以将自己的活动与人们出行的大型活动放在一起以方便人们参加你的活动。只要你使用一贯的活动策略,你可以通过演讲者提交与参会者注册的增加表征软件受欢迎程度与用户群的增加。 - -你并不需要举办你自己的活动来收集有用的指标。如果你在开源活动中主持有关你项目的讨论,你可以衡量有多少人出席主要聚焦你的项目的会议。像 [FOSDEM][T1] 这样的活动,一些讨论特别聚焦开源项目的更新与公告,会议室中都挤满了人(像 FOSDEM 的所有会议一样)。 - -你可以考虑如下指标: - -- 以你的项目为中心的活动的出席人数 -- 提交到以你的项目为中心的活动的演讲数量 -- 以你的项目为中心的演讲的出席人数 - -### 关于估算开源软件使用的结论 - -正如我们已经如上展现的,有很多指标可以反映软件使用的趋势,没有一个指标是完美的。在大多数情况下,这些指标可能被个人行为、系统设计和噪音所严重影响。因此,考虑到每一个指标的相对不确定性,我们建议你不要孤立地使用任何一个指标。但是如果你从不同的来源收集了一系列的指标,你应当能够探测到用户行为与软件使用的趋势。如果你有手段比较多个具有共性——比如相似的功能、强大的相互依赖以及由同一基金会托管和其他特征——的开源项目的同一组指标,你就可以提升你对用户行为基线的感知。 - -需要注意的是,在本概述中,我们选择突出能够评估直接使用情况的指标。而大多数软件都依赖于其他各种软件包,如果我们不提及作为软件依赖链的一部分被间接使用也会严重影响软件使用与行为,这就是我们的疏忽。因此,我们建议将上下游依赖的合计数量作为你的分析中的另一层内容。 - -最后,作为数据与指标的使用者,我们鼓励你认识到你的利益相关方的权利与责任。你发布的任何指标都有可能影响用户行为。最佳实践是总是一同分享你的背景信息——基础、来源、估算方法和其他关键上下文信息,这有助于其他人解释你的结果。 - -我们感谢 [CHAOSS][T2] 社区在爱尔兰都柏林举行的 CHAOSScon EU 2022 上的富有洞察力的对话,上述对话激发这篇博文的想法。我们还要感谢审阅并帮助优化本文的 CHAOSS 社区的成员。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-usage-metrics - -作者:[Georg Link][a] -选题:[lkxed][b] -译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/georglink -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics - -[T1]: https://fosdem.org/ -[T2]: https://chaoss.community From e9648a8b4ce905942f1be747da9ea0391426057c Mon Sep 17 00:00:00 2001 From: CanYellow Date: Wed, 4 Jan 2023 17:51:09 +0800 Subject: [PATCH 899/925] Update 20190331 Codecademy vs. The BBC Micro.md --- sources/talk/20190331 Codecademy vs. The BBC Micro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20190331 Codecademy vs. The BBC Micro.md b/sources/talk/20190331 Codecademy vs. The BBC Micro.md index bb5ee313c8..197795acea 100644 --- a/sources/talk/20190331 Codecademy vs. The BBC Micro.md +++ b/sources/talk/20190331 Codecademy vs. The BBC Micro.md @@ -2,7 +2,7 @@ [#]: via: "https://twobithistory.org/2019/03/31/bbc-micro.html" [#]: author: "Two-Bit History https://twobithistory.org" [#]: collector: "lujun9972" -[#]: translator: "yesimmia" +[#]: translator: "CanYellow" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 35e2d4ced1f5d57e5ae396d2f5faf02cc2bc25a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 4 Jan 2023 19:41:51 +0800 Subject: [PATCH 900/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230104.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F?= =?UTF-8?q?=E2=AD=90=EF=B8=8F=20Learn=20to=20code=20with=20my=20retro=20co?= =?UTF-8?q?mputer=20program.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...⭐️ Learn to code with my retro computer program.md | 210 ++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md diff --git a/sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md b/sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md new file mode 100644 index 0000000000..3bb59671ba --- /dev/null +++ b/sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md @@ -0,0 +1,210 @@ +[#]: subject: "Learn to code with my retro computer program" +[#]: via: "https://opensource.com/article/23/1/learn-machine-language-retro-computer" +[#]: author: "Jim Hall https://opensource.com/users/jim-hall" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Learn to code with my retro computer program +====== + +I teach university courses part-time, including a class about general computing topics, open to all majors. This is an introductory course that teaches students about how technology works, to remove the mystery around computing. + +While not a computer science course, one section of this course covers computer programming. I usually talk about programming in very abstract terms, so I don't lose my audience. But this year, I wanted my students to do some "hands-on" programming in an "old school" way. At the same time, I wanted to keep it simple, so everyone could follow along. + +I like to structure my lessons to show how you got from "there" to "here." Ideally, I would let my students learn how to write a simple program. Then I would pick it up from there to show how modern programming allows developers to create more complex programs. I decided to try an unconventional approach — teach the students about the ultimate in low-level programming: machine language. + +### Machine language programming + +Early personal computers like the Apple II (1977), TRS-80 (1977), and IBM PC (1981) let users enter programs with a keyboard, and displayed results on a screen. But computers didn't always come with a screen and keyboard. + +The Altair 8800 and IMSAI 8080 (both made in 1975) required users to enter a program using "switches and lights" on a panel. You would enter an instruction in machine language, using a bank of switches, and the machine would light up the ones and zeros of each binary instruction using LEDs. + +![Image of an Altair 8800 Computer.][1] + +Programming these early machines required knowing the machine language instructions, called opcodes, short for operation codes, to perform basic operations like adding two numbers or storing a value into the computer's memory. I wanted to show my students how programmers would enter a series of instructions and memory addresses by hand, using the switches and lights. + +However, using an actual Altair 8800 would be too much overhead in this class. I needed something simple that any beginner-level student could grasp. Ideally, I hoped to find a simple "hobby" retro computer that worked similarly to the Altair 8800, but I couldn't find a suitable "Altair-like" device for less than $100. I found several "Altair" software emulators, but they faithfully reproduce the Altair 8800 opcodes, and that was too much for my needs. + +I decided to write my own "educational" retro computer. I call it the Toy CPU. You can find it on my [GitHub repository][2], including several releases to play with. Version 1 was an experimental prototype that ran on [FreeDOS][3]. Version 2 was an updated prototype that ran on Linux with [ncurses][4]. Version 3 is a FreeDOS program that runs in graphics mode. + +### Programming the Toy CPU + +The Toy CPU is a very simple retro computer. Sporting only 256 bytes of memory and a minimal instruction set, the Toy CPU aims for simplicity while replicating the "switches and lights" programming model. The interface mimics the Altair 8800, with a series of eight LEDs for the counter (the "line number" for the program), instruction, accumulator (internal memory used for temporary data), and status. + +When you start the Toy CPU, it simulates "booting" by clearing the memory. While the Toy CPU is starting up, it also displays `INI` ("initialize") in the status lights at the bottom-right of the screen. The `PWR` ("power") light indicates the Toy CPU has been turned on. + +![Image of start screen for the toy cpu.][5] + +When the Toy CPU is ready for you to enter a program, it indicates `INP` ("input" mode) via the status lights, and starts you at counter 0 in the program. Programs for the Toy CPU always start at counter 0. + +In "input" mode, use the up and down arrow keys to show the different program counters, and press Enter to edit the instruction at the current counter. When you enter "edit" mode, the Toy CPU shows `EDT` ("edit" mode) on the status lights. + +![Image of the toy CPU editing screen.][6] + +The Toy CPU has a cheat sheet that's "taped" to the front of the display. This lists the different opcodes the Toy CPU can process: + +- `00000000` (`STOP`): Stop program execution. +- `00000001` (`RIGHT`): Shift the bits in the accumulator to the right by one position. The value 00000010 becomes 00000001, and 00000001 becomes 00000000. +- `00000010` (`LEFT`): Shift the bits in the accumulator to the left by one position. The value 01000000 becomes 10000000, and 10000000 becomes 00000000. +- `00001111` (`NOT`): Binary NOT the accumulator. For example, the value 10001000 becomes 01110111. +- `00010001` (`AND`): Binary AND the accumulator with the value stored at an address. The address is stored in the next counter. +- `00010010` (`OR`): Binary OR the accumulator with the value stored at an address. +- `00010011` (`XOR`): Binary XOR (“exclusive or”) the accumulator with the value stored at an address. +- `00010100` (`LOAD`): Load (copy) the value from an address into the accumulator. +- `00010101` (`STORE`): Store (copy) the value in the accumulator into an address. +- `00010110` (`ADD`): Add the value stored at an address to the accumulator. +- `00010111` (`SUB`): Subtract the value stored at an address from the accumulator. +- `00011000` (`GOTO`): Go to (jump to) a counter address. +- `00011001` (`IFZERO`): If the accumulator is zero, go to (jump to) a counter address. +- `10000000` (`NOP`): No operation; safely ignored. + +When in "edit" mode, use the left and right arrow keys to select a bit in the opcode, and press `Space`to flip the value between off (0) and on (1). When you are done editing, press `Enter`to go back to "input" mode. + +![Image of the toy CPU input mode screen.][7] + +### A sample program + +I want to explore the Toy CPU by entering a short program that adds two values, and stores the result in the Toy's memory. Effectively, this performs the arithmetic operation **A+B=C**. To create this program, you only need a few opcodes: + +- `00010100` (`LOAD`): Load (copy) the value from an address into the accumulator. +- `00010110` (`ADD`): Add the value stored at an address to the accumulator. +- `00010101` (`STORE`): Store (copy) the value in the accumulator into an address. +- `00000000` (`STOP`): Stop program execution. + +The `LOAD`, `ADD`, and `STORE` instructions require a memory address, which will always be in the next counter location. For example, the first two instructions of the program are: + +``` +counter 0: 00010100 +counter 1: some memory address where the first value A is stored +``` + +The instruction in counter 0 is the `LOAD`operation, and the value in counter 1 is the memory address where you have stored some value. The two instructions together copy a value from memory into the Toy's accumulator, where you can work on the value. + +Having loaded a number **A** into the accumulator, you need to add the value **B** to it. You can do that with these two instructions: + +``` +counter 2: 00010110 +counter 3: a memory address where the second value B is stored +``` + +Say that you loaded the value 1 (**A**) into the accumulator, then added the value 3 (**B**) to it. The accumulator will now have the value 4. Now you need to copy the value 4 into another memory address (**C**) with these two instructions: + +``` +counter 4: 00010101 +counter 5: a memory address (C) where we can save the new value +``` + +Having added the two values together, you can now end the program with this instruction: + +``` +counter 6: 00000000 +``` + +Any instructions after counter 6 are available for the program to use as stored memory. That means you can use the memory at counter 7 for the value **A**, the memory in counter 8 for the value **B**, and the memory at counter 9 for the stored value **C**. You need to enter these separately into the Toy: + +``` +counter 7: 00000001 (1) +counter 8: 00000011 (3) +counter 9: 00000000 (0, will be overwritten later) +``` + +Having figured out all the instructions and the memory locations for **A**, **B**, and **C**, you can now enter the full program into the Toy. This program adds the values 1 and 3 to get 4: + +``` +counter 0: 00010100 +counter 1: 00000111 (7) +counter 2: 00010110 +counter 3: 00001000 (8) +counter 4: 00010101 +counter 5: 00001001 (9) +counter 6: 00000000 +counter 7: 00000001 (1) +counter 8: 00000011 (3) +counter 9: 00000000 (0, will be overwritten later) +``` + +To run the program, press the `R` key when in "input" mode. The Toy CPU will show `RUN` ("run" mode) in the status lights, and execute your program starting at counter 0. + +The Toy has a significant delay built into it, so you can watch the Toy execute each step in the program. You should see the counter move from 00000000 (0) to 00000110 (6) as the program progresses. After counter 1, the program loads the value 1 from memory location 7, and the accumulator updates to 00000001 (1). After counter 3, the program will add the value 3 and update the accumulator to show 00000100 (4). The accumulator will remain that way until the program stores the value into memory location 9 after counter 5 then ends at counter 6. + +![Image of the Toy in RUN mode.][8] + +### Exploring machine language programming + +You can use the Toy to create other programs and further explore machine language programming. Test your creativity by writing these programs in machine language. + +### A program to flash the lights on the accumulator + +Can you light up the right four bits on the accumulator, then the left four bits, then all of the bits? You can write this program in one of two ways: + +A straightforward approach would be to load three values from different memory addresses, like this: + +``` +counter 0: LOAD +counter 1: "right" +counter 2: LOAD +counter 3: "left" +counter 4: LOAD +counter 5: "all" +counter 6: STOP +counter 7: 00001111 ("right") +counter 8: 11110000 ("left") +counter 9: 11111111 ("all") +``` + +Another way to write this program is to experiment with the NOT and OR binary operations. This results in a smaller program: + +``` +counter 0: LOAD +counter 1: "right" +counter 2: NOT +counter 3: OR +counter 4: "right" +counter 5: STOP +counter 6: 00001111 ("right") +``` + +### Count down from a number + +You can use the Toy as a countdown timer. This program exercises the IFZERO test, which will jump the program to a new counter only if the accumulator is zero: + +``` +counter 0: LOAD +counter 1: "initial value" +counter 2: IFZERO (this is also the "start" of the countdown) +counter 3: "end" +counter 4: SUB +counter 5: "one" +counter 6: GOTO +counter 7: "start" +counter 8: STOP +counter 9: 00000111 ("initial value") +counter 10: 00000001 ("one") +``` + +The Toy CPU is a great way to learn about machine language. I used the Toy CPU in my introductory course, and the students said they found it difficult to write the first program, but writing the next one was much easier. The students also commented that writing programs in this way was actually fun, and they learned a lot about how computers actually work. The Toy CPU is educational and fun! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/learn-machine-language-retro-computer + +作者:[Jim Hall][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/jim-hall +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/2022-12/MITS_Altair_8800_Computer_%281975%29.png +[2]: https://github.com/freedosproject/toycpu +[3]: https://opensource.com/downloads/guide-using-freedos +[4]: https://opensource.com/article/21/8/ncurses-linux +[5]: https://opensource.com/sites/default/files/2022-12/toycpu.png +[6]: https://opensource.com/sites/default/files/2022-12/edit0-load.png +[7]: https://opensource.com/sites/default/files/2022-12/input0-load.png +[8]: https://opensource.com/sites/default/files/2022-12/run-3.png From 18edb3f8b1c8edc0213501dc83762fef3f24b10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 4 Jan 2023 19:42:26 +0800 Subject: [PATCH 901/925] =?UTF-8?q?Rename=2020230104.0=20=E2=AD=90?= =?UTF-8?q?=EF=B8=8F=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Learn=20to=20co?= =?UTF-8?q?de=20with=20my=20retro=20computer=20program.md=20to=2020230104.?= =?UTF-8?q?0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Learn=20to=20code=20?= =?UTF-8?q?with=20my=20retro=20computer=20program.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ram.md => 20230104.0 ⭐️⭐️ Learn to code with my retro computer program.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/tech/{20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md => 20230104.0 ⭐️⭐️ Learn to code with my retro computer program.md} (100%) diff --git a/sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md b/sources/tech/20230104.0 ⭐️⭐️ Learn to code with my retro computer program.md similarity index 100% rename from sources/tech/20230104.0 ⭐️⭐️⭐️ Learn to code with my retro computer program.md rename to sources/tech/20230104.0 ⭐️⭐️ Learn to code with my retro computer program.md From 2071b80a4da3f7b4cd164255f61ad85c094f9e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Wed, 4 Jan 2023 22:59:59 +0800 Subject: [PATCH 902/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020230104.1=20=E2=AD=90=EF=B8=8F=20Official=20Fedora=20?= =?UTF-8?q?Budgie=20&=20Sway=20Spins=20to=20Arrive=20With=20Fedora=2038=20?= =?UTF-8?q?Release.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Sway Spins to Arrive With Fedora 38 Release.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md diff --git a/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md b/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md new file mode 100644 index 0000000000..d98e76ba14 --- /dev/null +++ b/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md @@ -0,0 +1,70 @@ +[#]: subject: "Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release" +[#]: via: "https://news.itsfoss.com/fedora-budgie-sway-official/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release +====== + +Two new Fedora spins to make a debut with Fedora 38 release. + +![Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release][1] + +We were expecting this to happen with Fedora 37, but it is finally happening with Fedora 38! + +Back in May 2022, **Joshua Strobl,** the lead developer of the Budgie project, [announced][2] that Budgie was submitted for inclusion in Fedora. + +Sadly, we didn't see any signs of an official [Fedora spin][3] release soon after that, even though it made it into the Fedora repositories during [Fedora 37 release][4]. + +**But now.** + +With Fedora 38 release, it looks like we will get an official spin for [Budgie][5], alongside a spin with the [Sway][6] window manager. + +Unlocator Smart DNSRemove geographic blocks from streaming services using Unlocator Smart DNS. Simple to use and with a full free trial included.![][7]Unlocator![][8] + +### Fedora Budgie and Sway + +In a [recent meeting][9], Fedora’s Engineering and Steering Committee (FESCo) voted on including official Fedora spins for Budgie and Sway window manager with the release of Fedora 38. + +**What can we expect?:** According to the initial change proposals for Budgie and Sway, we can expect plenty of things to happen. + +**In the case of Budgie:** + +- Fedora 38 will feature Budgie with a core set of applications, such as GNOME Software for updates/package management, a text editor, a web browser, and a terminal. +- It will also feature GTK theming across the system using [Materia GTK][10] and [Papirus][11] icon themes. +- The Budgie spin will also feature lightdm + slick-gtk-greeter for a more intuitive user greeting experience. + +**In the case of Sway spin:** It will aim to provide a minimal experience and will only include a few elements on top of the default configuration. + +**When to expect these?:** As the development of Fedora 38 picks up over the coming months, you can expect the spins to appear during April 2023. Of course, there will be separate ISO files with Budgie and Sway pre-installed. + +So, I think it would be fascinating to see the experience of Budgie with Fedora, especially when the development of Budgie seems to be going through some interesting changes. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fedora-budgie-sway-official/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/fedora-budgie-sway-spins-arrive.png +[2]: https://www.reddit.com/r/Fedora/comments/uq3gah/budgie_desktop_has_now_been_submitted_for/ +[3]: https://spins.fedoraproject.org +[4]: https://news.itsfoss.com/fedora-37-release/ +[5]: https://blog.buddiesofbudgie.org +[6]: https://swaywm.org +[7]: https://unlocator.com/favicon.ico +[8]: https://unlocator.com/wp-content/uploads/2019/05/unlocatoricon.jpg +[9]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RNJZUX3ZI34DIX6E4PVDKYQWCOFDQ4UY/ +[10]: https://github.com/nana-4/materia-theme +[11]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme From ae1b9a54601a4c1a6d7511142f3b1db33d234834 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 5 Jan 2023 08:45:45 +0800 Subject: [PATCH 903/925] translated --- ...d Siri in Works for Home Assistant Platform.md | 80 ------------------- ...d Siri in Works for Home Assistant Platform.md | 80 +++++++++++++++++++ 2 files changed, 80 insertions(+), 80 deletions(-) delete mode 100644 sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md create mode 100644 translated/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md diff --git a/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md b/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md deleted file mode 100644 index 4e14013469..0000000000 --- a/sources/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md +++ /dev/null @@ -1,80 +0,0 @@ -[#]: subject: "An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform" -[#]: via: "https://news.itsfoss.com/open-source-assistant/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform -====== - -An open-source assistant to replace Google, Alexa, Siri? - -![An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform][1] - -**Home Assistant** is an open-source smart home platform that focuses on providing local control and privacy to its users. It can run off a Raspberry Pi or even a local server. - -They also have a subscription service for access to additional features such as support for Alexa and Google Assistant, which is managed by a company called '[Nabu Casa][2]'. - -> 💡 The company is led by [Paulus Schoutsen][3], the founder of Home Assistant. - -In a [blog][4] last week, Paulus announced **a new open-source project that aims to offer a voice assistant without an active internet connection** or any other big tech voice assistants. - -So, an _open-source challenger to Google, Alexa, and Siri?_😲 - -Let's see what this is all about, then. - -**What is it?:** This will be a part of the Home Assistant application and will offer the ability to run voice commands locally to control the connected smart devices. - -Paulus also asserts that their most important priority is to support different languages, he says: - -> People need to be able to speak in their own language, as that is the most accessible and only acceptable language for a voice assistant for the smart home. - -To fuel this endeavor, the creator of Rhasspy, [Mike Hansen][5], has been roped in to make this possible. - -For those of you who don't know, [Rhasspy][6] is another open-source software that specializes in providing a fully offline voice assistant that is backed by its community of users. - -If you ask me, I feel that this feature of Home Assistant will be powered by Rhasspy, which is a good thing. - -_Why reinvent something that already exists? It's better to improve upon it._ - -**What to expect?:** Initially, the voice assistant won't be able to do things you might expect. So, things like making a web search, making calls, playing voice games, etc., are a no-go. - -What it will focus on instead are the **basics of what a voice assistant should be**; this was done to make sure that the work ahead of them was manageable. - -They aim to start with a few actions and then build up language models around them. - -In its current state, Home Assistant supports 62 different languages in its user interface. They plan to add support for all these languages with their voice assistant. - -**When to expect?:** They have already started work on this by building a [collection of intent matching sentences][7] for every language. - -What this means is that the community can contribute to the development of the voice assistant by adapting the commands for smart devices to their respective native languages. - -They aim for a release sometime in **2023** and have mentioned that it will be the '_year of voice_'. - -I think an open-source voice assistant that works offline can be a very useful thing to have; it lets you be free of any tracking from big tech. - -💬 _With the added benefit of having a large community behind its development of it, what's not to like?_ - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/open-source-assistant/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/open-source-home-assistant-in-works.png -[2]: https://www.nabucasa.com -[3]: https://twitter.com/balloob -[4]: https://www.home-assistant.io/blog/2022/12/20/year-of-voice/ -[5]: https://synesthesiam.com -[6]: https://rhasspy.readthedocs.io -[7]: https://github.com/home-assistant/intents diff --git a/translated/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md b/translated/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md new file mode 100644 index 0000000000..adba1b18db --- /dev/null +++ b/translated/tech/20221230.0 ⭐️ An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform.md @@ -0,0 +1,80 @@ +[#]: subject: "An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform" +[#]: via: "https://news.itsfoss.com/open-source-assistant/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Google、Alexa 和 Siri 的开源替代品 Home Assistant 平台 +====== + +一个开源助手可以取代谷歌、Alexa 和 Siri? + +![An Open-Source Alternative to Google, Alexa, and Siri in Works for Home Assistant Platform][1] + +**Home Assistant** 是一个开源的智能家居平台,专注于为用户提供本地控制和隐私。它可以从树莓派或甚至本地服务器上运行。 + +他们还有一个订阅服务,可以获得额外的功能,如支持 Alexa 和谷歌助理,它由一家名为 “[Nabu Casa][2]” 的公司管理。 + +> 💡 该公司由 Home Assistant 的创始人 [Paulus Schoutsen][3] 领导。 + +在上周的[博客][4]中,Paulus 宣布了**一个新的开源项目,旨在提供一个没有主动互联网连接的语音助手**或任何其他大型科技语音助手。 + +这是_一个对 Google、Alexa 和 Siri 的开源挑战者?_ 😲 + +让我们看看这到底是怎么回事。 + +**它是什么?:**这将是 Home Assistant 应用的一部分,将提供在本地运行语音命令的能力,以控制连接的智能设备。 + +Paulus 还断言,他们最重要的优先事项是支持不同的语言,他说: + +> 人们需要能够用自己的语言说话,因为对于智能家居的语音助手来说,这是最容易接受和唯一可以接受的语言。 + +为了推动这一努力,Rhasspy 的创造者 [Mike Hansen][5] 已经被拉来实现这一目标。 + +对于那些不知道的人来说,[Rhasspy][6] 是另一个开源软件,专门提供一个由其用户社区支持的完全离线的语音助手。 + +如果你问我,我觉得 Home Assistant 的这个功能将由 Rhasspy 提供,这是一件好事。 + +_为什么要重新发明已经存在的东西?最好是在它的基础上进行改进。_ + +**可以期待什么?:**最初,语音助手将不能做你可能期待的事情。因此,像进行网络搜索、打电话、玩语音游戏等,都是不可能的。 + +它所关注的反而是**语音助手应该有的基本功能**。这样做是为了确保他们面前的工作是可控的。 + +他们的目标是从几个动作开始,然后围绕它们建立语言模型。 + +在目前的状态下,Home Assistant 在其用户界面上支持 62 种不同的语言。他们计划用他们的语音助手增加对所有这些语言的支持。 + +**何时期待?:**他们已经开始了这方面的工作,为每种语言建立一个[意图匹配句子集合][7]。 + +这意味着社区可以通过将智能设备的命令改编成各自的母语来为语音助手的发展做出贡献。 + +他们的目标是在 **2023** 年的某个时候发布,并提到这将是“_语音年_”。 + +我认为一个可以离线工作的开源语音助手可以是一个非常有用的东西。它可以让你不受大科技公司的任何追踪。 + +💬 _还有一个额外的好处是,它的开发背后有一个庞大的社区,有什么理由不喜欢呢?_ + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/open-source-assistant/ + +作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2022/12/open-source-home-assistant-in-works.png +[2]: https://www.nabucasa.com +[3]: https://twitter.com/balloob +[4]: https://www.home-assistant.io/blog/2022/12/20/year-of-voice/ +[5]: https://synesthesiam.com +[6]: https://rhasspy.readthedocs.io +[7]: https://github.com/home-assistant/intents From fd0567f4e4a7aed10effd413da5ebf040b430bd1 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 5 Jan 2023 08:50:34 +0800 Subject: [PATCH 904/925] translating --- .../tech/20230102.0 ⭐️ How to read and write files in Rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md b/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md index 0ec7cecb0a..ac4a7ee73e 100644 --- a/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md +++ b/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/23/1/read-write-files-rust" [#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 64e20ecee289d565cc24bbf2a12a8464cd2a6dfd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 5 Jan 2023 15:03:57 +0800 Subject: [PATCH 905/925] RP @geekpi https://linux.cn/article-15415-1.html --- ...Buzzing Noise Coming from Speakers in Linux.md | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) rename {translated/tech => published}/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md (64%) diff --git a/translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md b/published/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md similarity index 64% rename from translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md rename to published/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md index 6e2f08c773..70767163ae 100644 --- a/translated/tech/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md +++ b/published/20221126.1 ⭐️ How I Fixed Buzzing Noise Coming from Speakers in Linux.md @@ -3,16 +3,18 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15415-1.html" -我如何修复 Linux 中扬声器发出的嗡嗡声 +如何修复 Linux 中扬声器发出的嗡嗡声 ====== -我使用笔记本电脑很长时间了,但最近才切换到桌面设置,以便在 It's FOSS 进行远程工作。 +![][0] -我注意到扬声器不断发出嗡嗡声。这很烦人,让我头疼。我开始着手解决这个问题。了解问题的根本原因非常有趣。 +我使用笔记本电脑很长时间了,但最近才切换到台式机上,以便进行远程工作。 + +我注意到我的扬声器不断发出嗡嗡声。这很烦人,让我头疼。我开始着手解决这个问题。了解问题的根本原因非常有趣。 我将分享我在 Linux 中修复扬声器嗡嗡声的经验。我发现它可以在同一硬件上对 Ubuntu、Debian 和 Pop OS 都有效。 @@ -20,9 +22,9 @@ **在尝试修复之前** -我试图让事情变得容易安全地遵循。你尝试临时修复,如果有效,则将更改永久化。但是,最好使用 Timeshift 制作系统快照。如果你在出现故障时很容易惊慌失措,你可以将系统恢复到之前的状态。 +我试图让事情变得容易安全地遵循。你可以尝试临时修复,如果有效,则将更改永久化。但是,最好使用 Timeshift 制作系统快照。如果你在出现故障时很容易惊慌失措,你可以将系统恢复到之前的状态。 -另外,检查你的声卡。在我的例子中,它是 snd_hda_intel。对于 USB 卡,它可以是 snd_usb_audio。你必须根据你的声卡更改命令。 +另外,检查你的声卡。在我的例子中,它是 `snd_hda_intel`。对于 USB 卡,它可以是 `snd_usb_audio`。你必须根据你的声卡更改命令。 ``` cat /proc/asound/modules @@ -32,7 +34,7 @@ cat /proc/asound/modules 梳理了无数的论坛帖子和网站后,我了解了问题的根本原因。这是因为扬声器中的电容放电。它可以通过关闭声卡的省电设置来解决。 -通过关闭省电,你允许系统在这些电容放电时为其充电。这类似于在不断充电时使用电话。 +通过关闭省电,你允许系统在这些电容放电时为其充电。这类似于在一直充电时使用电话。 你可以使用给定的命令检查你的系统是否启用了声卡的省电设置: @@ -42,13 +44,13 @@ cat /sys/module/snd_hda_intel/parameters/power_save ![power saving setting in sound card making buzzing sound in linux][1] -如果你像我一样输出是 1,那么省电功能已打开。因此,让我们看一下方案。 +如果你像我一样输出是 `1`,那么省电功能已打开。因此,让我们看一下方案。 不用担心。这不会显著影响你的电池百分比,因为所示方法仅适用于声卡。 ### 尝试修复嗡嗡声问题(临时) -我之所以包括临时方法是为了确定嗡嗡声是由于电容放电引起的还是是否存在任何严重的硬件问题。 +我之所以包括临时方法是为了确定嗡嗡声是由于电容放电引起的,还是存在严重的硬件问题。 如果此临时方案有效,你可以继续使用永久方案。 @@ -64,7 +66,7 @@ sudo su echo 0 > /sys/module/snd_hda_intel/parameters/power_save ``` -如果你使用的是 **USB 声卡**,则必须将 `snd_hda_intel` 与 `snd_usb_audio` 互换,如下所示: +如果你使用的是 **USB 声卡**,则必须将 `snd_hda_intel` 替换为 `snd_usb_audio`,如下所示: ``` echo 0 > /sys/module/snd_usb_audio/parameters/power_save @@ -76,7 +78,7 @@ echo 0 > /sys/module/snd_usb_audio/parameters/power_save 在这里,我将对内核参数进行更改。 -将你的工作目录更改为 /etc/modprobe.d: +将你的工作目录更改为 `/etc/modprobe.d`: ``` cd /etc/modprobe.d @@ -96,13 +98,13 @@ options snd_hda_intel power_save=0 ![fix buzzing sound in linux][2] -对于 **USB 声卡**,你可以使用 `snd_usb_audio`: +对于 **USB 声卡**,你需要使用 `snd_usb_audio`: ``` options snd_usb_audio power_save=0 ``` -现在,[保存更改并退出 Nano 文本编辑器][3]并按 Ctrl+X 键。重启你的系统,你就可以享受无噪音的工作空间。 +现在,[保存更改并退出 Nano 文本编辑器][3] 并按 `Ctrl+X` 键。重启你的系统,你就可以享受无噪音的工作空间。 ### 总结 @@ -119,12 +121,13 @@ via: https://itsfoss.com/buzzing-noise-speaker-linux 作者:[Sagar Sharma][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://itsfoss.com/author/sagar/ [b]: https://github.com/lkxed -[1]: https://itsfoss.com/wp-content/uploads/2022/11/power-saving-setting-in-sound-card-making-buzzing-sound-in-linux.png -[2]: https://itsfoss.com/wp-content/uploads/2022/11/fix-buzzing-sound-in-linux.png +[1]: https://itsfoss.com/content/images/wordpress/2022/11/power-saving-setting-in-sound-card-making-buzzing-sound-in-linux.png +[2]: https://itsfoss.com/content/images/wordpress/2022/11/fix-buzzing-sound-in-linux.png [3]: https://linuxhandbook.com/nano-save-exit/ +[0]: https://img.linux.net.cn/data/attachment/album/202301/05/150250sqbeq35bh699r157.jpg \ No newline at end of file From 6b0d81dd047918d54e800d2315e43d6acc49d8d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 5 Jan 2023 19:44:30 +0800 Subject: [PATCH 906/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230105.1=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=206?= =?UTF-8?q?=20tips=20for=20building=20an=20effective=20DevOps=20culture.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 tips for building an effective DevOps culture.md | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 sources/tech/20230105.1 ⭐️⭐️ 6 tips for building an effective DevOps culture.md diff --git a/sources/tech/20230105.1 ⭐️⭐️ 6 tips for building an effective DevOps culture.md b/sources/tech/20230105.1 ⭐️⭐️ 6 tips for building an effective DevOps culture.md new file mode 100644 index 0000000000..394c1d810e --- /dev/null +++ b/sources/tech/20230105.1 ⭐️⭐️ 6 tips for building an effective DevOps culture.md @@ -0,0 +1,101 @@ +[#]: subject: "6 tips for building an effective DevOps culture" +[#]: via: "https://opensource.com/article/23/1/tips-effective-devops-culture" +[#]: author: "Yauhen Zaremba https://opensource.com/users/yauhen-zaremba" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +6 tips for building an effective DevOps culture +====== + +Why would you want to build a [DevOps][1] culture? There are many benefits to the streamlined collaboration of the development and operations teams. A major goal is efficiency: Increasing the speed of new software deployments and reducing idle time for workers. Fostering trust between colleagues can improve employee satisfaction, produce new innovations, and positively impact profitability. + +[DevOps][2] is a broad philosophy with a range of interpretations. In other words, you can visit 40 companies and find 40,000 different ideas about using DevOps effectively in the workplace. This diversity of opinion is actually a good thing–so many perspectives are useful for building stronger teams. This guide will look at the top tips for encouraging better collaboration between colleagues within a DevOps culture. + +Each section offers a different aspect of DevOps culture and looks at ways to introduce it into your workforce. + +![DevOps includes collaboration, workflow, infosec, and iteration.][3] + +### Continuous development of processes + +This core tenet of DevOps culture sets it apart from many other types of workplace ethos. The DevOps philosophy says that it is essential to make mistakes because it shows you are trying out new ideas. + +The heart of DevOps culture is a commitment to evolving creativity. Practically, that means not yelling at your direct reports when test results show that things were better before they changed it. It means recognizing that progress is not linear and success is never a straight line. + +DevOps expert [Gene Kim][4] advocates for risk-taking and experimentation. This implies letting your team work on unusual tasks to find new insights. + +Should your organization be profit-driven? Can you allow your teams to try something new? I'm talking about something other than unrelated passion projects. Continuous process development means being open to upgrading present methods. Great sales leaders appreciate that results matter more than presenteeism, so it is always crucial to focus on how teams are working rather than how much. + +### Readily give feedback and actively seek it + +Increased trust between individuals is another key feature of a thriving DevOps culture. Whether your staff is learning how to build affiliate network contacts or trying to design their next [UX][5] survey, everyone should be open to feedback on their work. But this will never happen until your teammates respect each other's opinions and trust that feedback is given in a spirit of good intention. + +This culture may sound impossible to cultivate; indeed, some companies will struggle to achieve this more than others. Granted, a large part of the success of giving and receiving feedback depends on the personalities of your employees. It is possible to screen for this during the recruitment process. + +Before you expect staff to readily offer feedback to colleagues and seek it in the first place, you should lead by example. Members of the C-suite should be modeling this behavior, openly asking members of the company to pose probing questions about their strategic decisions, and providing balanced feedback. + +![DevOps is the intersection of development, quality assurance, and operations][6] + +### Always look for improvements + +Building on increased intellectual trust between colleagues, your team should look for ways to improve its work. The nature of DevOps means the software development team will be producing deployments more rapidly than with traditional approaches. + +However, this culture of openness to improvement can positively impact departments beyond development and operations. Ask yourself what other areas of your business could do with a burst of optimism. + +Be on the lookout for training and upskilling opportunities. Even if a training course is less salient than advertised, the chance to network with industry professionals and build contacts for the future can only enhance the diversity of ideas within your organization. + +### Save ideas for later development + +Part of your DevOps toolchain should be a heavily used account on [Git][7]. You can use Git as a common repository for scripts produced during software development and other related projects. Known as "version control," Git allows programmers to save iterations of their work and reuse or improve the work of others. + +You're aiming for the ability to keep hold of good ideas for future use. A certain pathway did not work out for specific reasons. However, just because that set of ideas was wrong for the time it was conceived does not mean it can never become helpful in the future. + +As the entire focus of DevOps rests on end-to-end ownership of software in production, saving iterations of developments truly supports this principle. You want to see an improved focus on and commitment to the software testing project at hand. + +A simple way to incorporate this is to request that developers include ideas for future work in the developer contract and final project report. Make sure tech services managers know they should ask for examples of side-branching ideas that cropped up during the build. The more minds aware of these little innovations, the more likely someone will remember one when needed. + +### Sit close together (physically or virtually) + +The goal is to share a common understanding of one another's job roles and how they interrelate. You can achieve this in a few simple ways, summarized by three words: Sit close together. Invite other teams to your meetings and share user feedback reports in their entirety. Have lunch together, plan virtual happy hours together, and generally make sure your colleagues are in close proximity. About 90% of teams with a mature DevOps protocol report a clear understanding of their responsibilities to other teams compared to only about 46% of workers in immature DevOps teams. + +Although it can be tempting to form cliques with like-minded folk and only hang out with staff hired to carry out the same tasks as you, this is terrible for the business as a whole. Whether you like it or not, all humans are multi-faceted and capable of contributing their unique talents to a whole host of scenarios. + +The idea of closer collaboration is to honor the ability of anyone to suggest improvements to the products or work processes going on around them. If you only ever sit at a distance from the other departments within the company, you will miss countless opportunities to share intelligent ideas. After all, you often learn best in the free flow of ideas during a conversation. + +### Commit to automation + +You should be looking to automate mundane and repetitive tasks in the name of efficiency and process acceleration. Every industry has boring–and quite frankly, silly–exercises carried out daily or weekly. + +Whether this is manually copying data from one page to another or typing out audio transcripts by hand, staff at every level should insist that machines take on such burdens where possible. The reality is automation technology advances every single year, and operational processes should, too. [Automation testing][8] is so crucial to DevOps that it is the second principle of the CALMS framework (the "C" of which stands for "culture"). + +How can you make this happen? Invite staff to openly express which aspects of their job they feel could be automated and then–here is the crucial part–support the facilities needed to automate them. That might mean a $600 annual subscription to a software program, a complete enterprise application modernization, or two days of developers' time to build a new tool to use in-house. + +Either way, you should assess the benefits of automation and consider how much time you could save for everyone. DevOps statistics continually indicate just how much better off modern companies are by integrating these beneficial principles year after year. + +### Explore new ways of working successfully + +A culture shift doesn't happen overnight. The sooner you start, though, the sooner you see results. In my experience, people embrace change when it's a genuine improvement on what has gone before. DevOps provides a framework for such improvements. Whether you're just getting started with DevOps in your organization or simply want to improve your existing culture, consider the above points and how they relate to your organization's future. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/tips-effective-devops-culture + +作者:[Yauhen Zaremba][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/yauhen-zaremba +[b]: https://github.com/lkxed +[1]: https://opensource.com/resources/devops +[2]: https://opensource.com/article/22/2/devops-documentation-maturity +[3]: https://opensource.com/sites/default/files/2022-12/devop.png +[4]: https://enterprisersproject.com/user/gene-kim +[5]: https://opensource.com/article/22/7/awesome-ux-cli-application +[6]: https://opensource.com/sites/default/files/2022-12/devop-venn.png +[7]: https://opensource.com/article/22/11/git-concepts +[8]: https://opensource.com/article/20/7/open-source-test-automation-frameworks From de10c1ad67e3184228ffa268e694ba2666821125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 5 Jan 2023 19:44:56 +0800 Subject: [PATCH 907/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020230105.2=20=E2=AD=90=EF=B8=8F=20Nitrux=202.6.0=20Tak?= =?UTF-8?q?es=20Bold=20Steps=20Drops=20apt,=20Adds=20Flathub=20and=20Pipew?= =?UTF-8?q?ire.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Steps Drops apt, Adds Flathub and Pipewire.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md diff --git a/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md b/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md new file mode 100644 index 0000000000..2a81845075 --- /dev/null +++ b/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md @@ -0,0 +1,81 @@ +[#]: subject: "Nitrux 2.6.0 Takes Bold Steps: Drops apt, Adds Flathub and Pipewire" +[#]: via: "https://debugpointnews.com/nitrux-2-6-0-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Nitrux 2.6.0 Takes Bold Steps: Drops apt, Adds Flathub and Pipewire +====== + +![][1] + +**Nitrux 2.6.0 arrives with Flathub, Pipewire by default, latest Kernel and KDE framework.** + +![Nitrux 2.6.0 Desktop][2] + +[Nitrux Linux][3]is based on Debian, which features a modified version of the KDE Plasma desktop called NX Desktop. This unique Linux distribution brings its own set of Nitrux applications built upon Maui kit and Qt. Nitrux is systemd-free and uses OpenRC as an init system. With all these unique features and stunning looks, it is one of the best Linux distributions today. + +Nitrux 2.6.0 is bumped up to be a considerable major version due to critical updates since its prior release, 2.5.1 in December. + +### Nitrux 2.6.0: What’s New + +A major focus of this release is the introduction of the Plasma Wayland session in the SDDM display manager. It’s not default yet. But available as optional. X11 is still default. I believe in the next major release; the NItrux team can enable Wayland by default. + +In addition, the modern sound manager Pipewire is now default, as it was already standardized in Ubuntu and Fedora and feels stable. Thanks to Pipewire, your audio workflow will be much better. + +Nitrux 2.6.0 also enables the largest Flatpak app repo – Flathub, by default. That means you do not need to set up Flatpak & enable Flathub anymore manually. Installation of the Flatpak apps is now much easier. + +Other noteworthy changes include, Nitrux making the root (/) partition immutable to prevent it from breakage, the Samba package now part of Nitrux default install, and the Calamares installer getting a customized auto partition scheme. + +![Nitrux 2.6 install automatic partition][4] + +From the beginning, Nitrux prefers self-contained executables for its entire desktop components. The primary choice was the AppImage file format. You get Flathub set up by default in this release, whereas the popular apt package manager is now dropped. This might change some users’ workflow because the apt command won’t work; despite being based on Debian. + +Hence, the Nitrux team suggested using the Distrobox containers to set up the separate skeleton to be used with apt. However, it will be a little difficult for general users to understand the container, immutable root partition. + +![apt is not dropped][5] + +The irony is apt will be used during installation because Calamares needs it. However, it will be removed after installation is complete. + +> The Live ISO _includes APT and dpkg, but this is because Calamares needs them to complete the installation and will be removed from the installed system._Nitrux team + +At its core, Nitrux 2.6.0 features liqurix Kernel 6.1 aligned with gaming and multimedia. This version is powered by KDE Plasma 2.26.4, KDE Framework 5.101.0 and Qt 5.15.7 LTS. + +Detailed release notes are available [here][6] if you want to read more. + +### Download + +You can download this version from the following pages. However, there is no upgrade path available. Hence it is recommended to do a fresh installation. + +- [FOSS Torrents (Torrent)][7] +- [Sourceforge (mirror)][8] +- [OSDN (mirror)][9] + +Via [announcement][10] + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/nitrux-2-6-0-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2023/01/nitrux-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6.0-Desktop.jpg +[3]: https://nxos.org/ +[4]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6-install-automatic-partition.jpg +[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Screenshot-from-2023-01-05-13-44-57.png +[6]: https://nxos.org/notes/notes-nitrux-2-6-0 +[7]: https://fosstorrents.com/distributions/nitrux/ +[8]: https://sourceforge.net/projects/nitruxos/files/Release/ISO +[9]: https://osdn.net/projects/nitrux/releases/p18379 +[10]: https://nxos.org/changelog/release-announcement-nitrux-2-6-0/ From 071a6ed30a6517e52a061a71ba35ae19bdb7cd86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Thu, 5 Jan 2023 19:45:39 +0800 Subject: [PATCH 908/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020230105.3=20=E2=AD=90=EF=B8=8F=20Pinta=202.1=20Releas?= =?UTF-8?q?e=20Introduces=20WebP=20Support.=20But=20You=20Can't=20Use=20It?= =?UTF-8?q?=20Yet=20Unfortunately.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ort. But You Can't Use It Yet Unfortunately.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/news/20230105.3 ⭐️ Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately.md diff --git a/sources/news/20230105.3 ⭐️ Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately.md b/sources/news/20230105.3 ⭐️ Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately.md new file mode 100644 index 0000000000..07be806ba7 --- /dev/null +++ b/sources/news/20230105.3 ⭐️ Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately.md @@ -0,0 +1,100 @@ +[#]: subject: "Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately" +[#]: via: "https://news.itsfoss.com/pinta-2-1-release/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately +====== + +Pinta 2.1 comes with WebP support and various other useful improvements. + +![Pinta 2.1 Release Introduces WebP Support. But You Can't Use It Yet Unfortunately][1] + +Pinta is a free and open-source drawing app for Linux that offers a ton of features in a relatively small package. + +It is one of the [best Linux tools for digital artists][2] available. + +Its last major release was in January 2022, introducing improved Hi DPI support, GTK 3 port, and [more][3]. + +Marking 2023's first release, Pinta 2.1 promises to offer even further refinements. + +**Notice the new Pinta icon in the image above? Well, that's one of the changes.** + +Let's see how this release pans out. + +### 🆕 What's New in Pinta 2.1? + +![pinta 2.1][4] + +[Pinta 2.1][5] is offering plenty of new improvements; some notable ones include: + +- **WebP Support** +- **Improved .ora Support** +- **Enhanced Handles** +- **Dark Mode** +- **Improved File Dialog** +- **Various Bug Fixes and Changes** + +**WebP Support:** Pinta finally has support for WebP files, but it does not come out of the box. For Linux users, the [webp-pixbuf-loader][6]**dependency is required to enable WebP support.** + +> 📋 Unfortunately, WebP support is not included in the Flatpak and Snap builds of Pinta 2.1. Even if you have that library installed on your system. So, you probably have to build it from the source or use WebP files on Windows/macOS only. + +**Improved .ora Support:** With Pinta 2.1, hidden layers are now round-tripped properly for .ora files. + +Furthermore, when you save a .ora file, a flattened image is now included in the archive. + +It is like this because it is required by the spec to accommodate the viewer software. + +**Enhanced Handles:** The selection move and shape control point handles are now more intuitive, especially when working on zoomed-in or small images. + +**Dark Mode:** Pinta has finally received full support for dark mode across the app; all icons, toolbars, dialogs, etc., are now in high-res SVG format. + +**Improved File Dialog:** The file dialog now uses MIME types on Linux, allowing valid image files with unknown extensions to be included in the image file filter. + +**Various Bug Fixes and Changes:** Apart from the changes I listed above, here are some that are also worth mentioning: + +- Upgraded to .NET 7. +- New '**Transparency Mode**' in Gradient Tool. +- Standard GTK about dialog. +- The gradient tool now updates properly while drawing transparent colors. +- The new screenshot command now uses the XDG portal. + +If you want to go deep into the technical details of the release, head to its [release notes][7]. + +### 📥 Download Pinta 2.1 + +Pinta 2.1 is available in the [Snap store][8], as well as on [Flathub][9]. The repositories include an outdated back, so you can safely ignore it. + +You can also try building it from the [source code][10] and explore other download options for Windows/macOS. + +[Download Pinta 2.1][11] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/pinta-2-1-release/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/pinta-2-1-release.png +[2]: https://itsfoss.com/best-linux-graphic-design-software/ +[3]: https://news.itsfoss.com/pinta-2-0-release/ +[4]: https://news.itsfoss.com/content/images/2023/01/Pinta_2.1.png +[5]: https://www.pinta-project.com +[6]: https://github.com/aruiz/webp-pixbuf-loader/ +[7]: https://github.com/PintaProject/Pinta/releases/tag/2.1 +[8]: https://snapcraft.io/pinta +[9]: https://flathub.org/apps/details/com.github.PintaProject.Pinta +[10]: https://github.com/PintaProject/Pinta +[11]: https://www.pinta-project.com/releases/ + From 4d505a2b62b51e1aeb92f1abe37e6cac04809b02 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 6 Jan 2023 08:50:25 +0800 Subject: [PATCH 909/925] translated --- ...What is Firefox ESR How to Install it in Ubuntu.md | 142 ------------------ ...What is Firefox ESR How to Install it in Ubuntu.md | 142 ++++++++++++++++++ 2 files changed, 142 insertions(+), 142 deletions(-) delete mode 100644 sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md create mode 100644 translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md diff --git a/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md b/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md deleted file mode 100644 index 9a30bf0a2f..0000000000 --- a/sources/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "What is Firefox ESR? How to Install it in Ubuntu?" -[#]: via: "https://itsfoss.com/firefox-esr-ubuntu/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -What is Firefox ESR? How to Install it in Ubuntu? -====== - -The snap version of Ubuntu is not to your liking? Don’t like constantly changing things with every Firefox release? You can try the Firefox ESR version if you value stability over features. - -### What is Firefox ESR? - -Firefox ESR is a special edition of Firefox browser that doesn’t necessarily get new features monthly as the regular edition but it provides a stable and secure browsing experience. This is suitable for enterprises, organizations and institutes where stability and core features matter more than shiny new features. - -Think of Firefox ESR as the long-term stable release of Linux distributions. They do not necessarily get brand-new features but they get regular security and maintenance updates. This gives the users a familiar and stable environment. - -#### Why should you care for Firefox ESR? - -Firefox releases a new version almost every month. It contains security and feature updates. - -But some people may not like the inclusion and removal of features. If, after an update, you keep wondering where did certain settings go or do not like things that are different than before, Firefox ESR could be worth a try. - -Basically, if you value stability more than new features, Firefox ESR is for you. This is the same version of Firefox that ships with Debian, which is known for being one of the most stable distros you can get in the market. - -Let me show you how to get Firefox ESR on Ubuntu. **_You can have both Firefox and Firefox-ESR versions installed simultaneously. There is no visual difference in their logos so you have to pay attention to which Firefox version you are opening._** - -### Installing Firefox ESR in Ubuntu - -Before I jump to the installation part, let me share what’s the version difference between regular Firefox and Firefox-ESR. While writing, - -- Firefox is running at version **107.0-2**. -- Firefox-ESR is currently having **102.5.0esr**. - -So if that’s fine for you, let’s look at the first method. - -#### Method 1: Install Firefox-ESR using PPA - -Firefox-ESR is not available in the default repository of Ubuntu, so you can use the PPA. - -PPA is nothing but a repository being maintained by individual techies or developers to have what the default repository does not. - -And if you want to learn more about PPA, I would recommend checking our other guide that explains [how you can use PPA on Linux.][1] - -Open your terminal and use the given command to add PPA for Firefox-ESR: - -``` -sudo add-apt-repository ppa:mozillateam/ppa -``` - -And press Enter to confirm you want to add PPA: - -![add firefox esr repository in ubuntu][2] - -Once done, you will have to update the repository index in Ubuntu to take effect from the changes: - -``` -sudo apt update -``` - -And now, you can install Firefox-ESR by using the given command: - -``` -sudo apt install firefox-esr -``` - -Next, you can use the given command to check the installed version of Firefox-ESR in your system: - -``` -firefox-esr -v -``` - -![check installed version of firefox esr in ubuntu][3] - -##### Uninstalling Firefox-ESR from Ubuntu - -If the ESR felt too outdated for your work or for any other reason you want to remove it from your system, you can follow the steps to remove the Firefox-ESR package and the repository. - -First, let’s remove the Firefox-ESR package using the following: - -``` -sudo apt remove firefox-esr -``` - -Now, you can use the given command to [remove PPA from Ubuntu][4]: - -``` -sudo add-apt-repository --remove ppa:mozillateam/ppa -``` - -And that’s it! - -#### Method 2: Install Firefox-ESR using Snap - -Love it or hate it, Snaps comes pre-configured on Ubuntu and I find using snaps a neat way of installing packages, especially when you want to avoid building them for source or using PPA. - -All you need to do to install Firefox-ESR using snaps is to follow the given command: - -``` -sudo snap install firefox --channel=esr/stable -``` - -![install firefox esr using snaps in ubuntu][5] - -##### Removing Firefox-ESR Snap - -To remove Firefox-ESR (snap package), use the [snap remove command][6]: - -``` -sudo snap remove firefox -``` - -And that’s it! - -### Wrapping Up - -I explained how to install Firefox-ESR in Ubuntu using multiple methods in this guide. I personally use Firefox-ESR instead of the regular version as I was having random crashes. - -Since I shifted to Firefox-ESR, things have been going rock-solid for me. And if you were having the same, you should give it a try. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/firefox-esr-ubuntu/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/ppa-guide/ -[2]: https://itsfoss.com/wp-content/uploads/2022/11/add-firefox-esr-repository-in-ubuntu.png -[3]: https://itsfoss.com/wp-content/uploads/2022/11/check-installed-version-of-firefox-esr-in-ubuntu.png -[4]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ -[5]: https://itsfoss.com/wp-content/uploads/2022/11/install-firefox-esr-using-snaps-in-ubuntu.png -[6]: https://itsfoss.com/remove-snap/ diff --git a/translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md b/translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md new file mode 100644 index 0000000000..2955a79d75 --- /dev/null +++ b/translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md @@ -0,0 +1,142 @@ +[#]: subject: "What is Firefox ESR? How to Install it in Ubuntu?" +[#]: via: "https://itsfoss.com/firefox-esr-ubuntu/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +什么是 Firefox ESR?如何在 Ubuntu 中安装它? +====== + +Ubuntu 的 snap 版本你不喜欢?不喜欢每一次 Firefox 的发布都要不断地改变东西?如果你重视稳定性而不是功能,你可以试试 Firefox ESR 版本。 + +### 什么是 Firefox ESR? + +Firefox ESR 是 Firefox 的特别版,它不一定像普通版那样每月都有新功能,但它能提供稳定和安全的浏览体验。这适用于企业、组织和机构,在这些地方,稳定性和核心功能比闪亮的新功能更重要。 + +把 Firefox ESR 看作是 Linux 发行版的长期稳定版本。他们不一定得到全新的功能,但他们会得到定期的安全和维护更新。这给了用户一个熟悉和稳定的环境。 + +#### 你为什么要关心 Firefox ESR? + +Firefox 几乎每个月都会发布一个新版本。它包含安全和功能更新。 + +但有些人可能不喜欢功能的加入和删除。如果在更新之后,你一直想知道某些设置到哪里去了,或者不喜欢与以前不同的东西,Firefox ESR可能值得一试。 + +基本上,如果你更看重稳定性而不是新功能,那么 Firefox ESR 就适合你。这也是与 Debian 相同的 Firefox 版本,Debian 以其是市场上最稳定的发行版之一而闻名。 + +让我告诉你如何在 Ubuntu 上获得 Firefox ESR。**_你可以同时安装 Firefox 和 Firefox-ESR 两个版本。它们的标识没有视觉上的区别,所以你必须注意你打开的是哪个火狐版本。_** + +### 在 Ubuntu 中安装 Firefox ESR + +在进入安装之前,让我来分享一下普通 Firefox 和 Firefox-ESR 之间的版本差异是什么。在写这篇文章的时候: + +- Firefox 的版本是 **107.0-2**。 +- Firefox-ESR 目前的版本是 **102.5.0esr**。 + +所以,如果这对你来说没问题,让我们看看第一个方法。 + +#### 方法 1:使用 PPA 安装 Firefox-ESR + +Firefox-ESR 在 Ubuntu 的默认仓库中是不可用的,所以你可以使用 PPA。 + +PPA 只不过是一个由个别技术人员或开发者维护的仓库,拥有默认仓库所没有的东西。 + +如果你想了解更多关于 PPA 的信息,我建议你查看我们的其他指南,其中解释了[如何在 Linux 上使用 PPA][1]。 + +打开你的终端,使用给定的命令来添加 Firefox-ESR 的 PPA: + +``` +sudo add-apt-repository ppa:mozillateam/ppa +``` + +然后按回车键确认你要添加 PPA: + +![add firefox esr repository in ubuntu][2] + +完成后,你需要更新 Ubuntu 中的仓库索引,以便从这些变化中生效: + +``` +sudo apt update +``` + +现在,你可以通过使用给定的命令来安装 Firefox-ESR: + +``` +sudo apt install firefox-esr +``` + +接下来,你可以使用给定的命令来检查你系统中 Firefox-ESR 的安装版本: + +``` +firefox-esr -v +``` + +![check installed version of firefox esr in ubuntu][3] + +##### 从 Ubuntu 卸载 Firefox-ESR + +如果 ESR 对你的工作来说感觉太过时了,或者由于其他原因你想从你的系统中删除它,你可以按照以下步骤删除 Firefox-ESR 包和仓库。 + +首先,让我们用下面的方法删除 Firefox-ESR 包: + +``` +sudo apt remove firefox-esr +``` + +现在,你可以使用给定的命令来[从 Ubuntu 删除 PPA][4]: + +``` +sudo add-apt-repository --remove ppa:mozillateam/ppa +``` + +这就完成了! + +#### 方法 2:使用 Snap 安装 Firefox-ESR + +不管你爱不爱它,Snaps 在 Ubuntu 上是预先配置好的,我发现使用 Snaps 是安装软件包的一个很好的方法,特别是当你想避免从源码构建它们或使用 PPA 时。 + +使用 Snaps 安装 Firefox-ESR,你需要做的就是使用给定的命令: + +``` +sudo snap install firefox --channel=esr/stable +``` + +![install firefox esr using snaps in ubuntu][5] + +##### 删除 Firefox-ESR Snap + +要删除 Firefox-ESR(snap 包),请使用 [snap remove 命令][6]: + +``` +sudo snap remove firefox +``` + +这就完成了! + +### 总结 + +我在本指南中解释了如何使用多种方法在 Ubuntu 中安装 Firefox-ESR。我个人使用 Firefox-ESR 而不是普通版本,因为我有随机崩溃的情况。 + +自从我改用 Firefox-ESR 后,一切都变得稳如磐石。如果你也有同样的问题,你应该试一试。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/firefox-esr-ubuntu/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/ppa-guide/ +[2]: https://itsfoss.com/wp-content/uploads/2022/11/add-firefox-esr-repository-in-ubuntu.png +[3]: https://itsfoss.com/wp-content/uploads/2022/11/check-installed-version-of-firefox-esr-in-ubuntu.png +[4]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ +[5]: https://itsfoss.com/wp-content/uploads/2022/11/install-firefox-esr-using-snaps-in-ubuntu.png +[6]: https://itsfoss.com/remove-snap/ From 9918aa6481e39e0b34a90d2b4fee7962ccf7c067 Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 6 Jan 2023 08:57:33 +0800 Subject: [PATCH 910/925] translating --- ...30102.1 ⭐️ who Command in Linux Explanation with Examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md b/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md index 71a4a4c1a0..3f04e64f41 100644 --- a/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md +++ b/sources/tech/20230102.1 ⭐️ who Command in Linux Explanation with Examples.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/who-command-linux/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From e2c17b80854bcf1a216232bd8f0141f3b22eb7dd Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 6 Jan 2023 11:45:07 +0800 Subject: [PATCH 911/925] ALL @wxy https://linux.cn/article-15418-1.html --- ...Sway Spins to Arrive With Fedora 38 Release.md | 68 ++++++++++++++++++ ...Sway Spins to Arrive With Fedora 38 Release.md | 70 ------------------- 2 files changed, 68 insertions(+), 70 deletions(-) create mode 100644 published/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md delete mode 100644 sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md diff --git a/published/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md b/published/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md new file mode 100644 index 0000000000..83f6605f84 --- /dev/null +++ b/published/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md @@ -0,0 +1,68 @@ +[#]: subject: "Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release" +[#]: via: "https://news.itsfoss.com/fedora-budgie-sway-official/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15418-1.html" + +Fedora 38 将发布 Budgie 和 Sway 官方定制版 +====== + +> 两款新的 Fedora 定制版将在 Fedora 38 发布时首次亮相。 + +![][1] + +我们期待着它们在 Fedora 37 时出现,但在 Fedora 38 中终于来了! + +早在 2022 年 5 月,Budgie 项目的主要开发者 Joshua Strobl [宣布][2],Budgie 已被提交到 Fedora 中。 + +遗憾的是,在那之后不久,我们并没有看到任何官方 [Fedora 定制版][3] 发布的迹象,尽管它在 [Fedora 37 发布][4] 期间进入了 Fedora 软件库。 + +**但现在有了。** + +随着 Fedora 38 的发布,看起来我们会得到一个 [Budgie][5] 的官方定制版,同时还有一个 [Sway][6] 窗口管理器的定制版。 + +### Fedora Budgie 和 Sway + +在 [最近的一次会议][9] 上,Fedora 工程和指导委员会(FESCo)投票决定将 Budgie 和 Sway 窗口管理器的 Fedora 官方定制版纳入 Fedora 38 的发布中。 + +根据 Budgie 和 Sway 的初步修改建议,我们可以期待很多变化。 + +对于 Budgie: + +- Fedora 38 将提供 Budgie 桌面环境,包含一套核心应用程序,如用于更新/软件包管理的 GNOME “软件”应用、一个文本编辑器、一个网页浏览器和一个终端。 +- 它还将使用 [Materia GTK][10] 和 [Papirus][11] 图标主题,整个系统采用 GTK 主题设计。 +- Budgie 定制版还将采用 lightdm + slick-gtk-greeter,以获得更直观的用户问候体验。 + +对于 Sway 定制版:它旨在提供一个极简体验,只包括默认配置之上的一些元素。 + +预期时间:随着 Fedora 38 的开发在未来几个月内的加快,你可以期待这些定制版在 2023 年 4 月期间出现。当然,会有预装了 Budgie 和 Sway 的单独 ISO 文件。 + +因此,我认为看到 Budgie 与 Fedora 的体验会非常吸引人,特别是当 Budgie 的开发似乎正在发生一些有趣的变化。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fedora-budgie-sway-official/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/fedora-budgie-sway-spins-arrive.png +[2]: https://www.reddit.com/r/Fedora/comments/uq3gah/budgie_desktop_has_now_been_submitted_for/ +[3]: https://spins.fedoraproject.org +[4]: https://news.itsfoss.com/fedora-37-release/ +[5]: https://blog.buddiesofbudgie.org +[6]: https://swaywm.org +[7]: https://unlocator.com/favicon.ico +[8]: https://unlocator.com/wp-content/uploads/2019/05/unlocatoricon.jpg +[9]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RNJZUX3ZI34DIX6E4PVDKYQWCOFDQ4UY/ +[10]: https://github.com/nana-4/materia-theme +[11]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme diff --git a/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md b/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md deleted file mode 100644 index d98e76ba14..0000000000 --- a/sources/news/20230104.1 ⭐️ Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release.md +++ /dev/null @@ -1,70 +0,0 @@ -[#]: subject: "Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release" -[#]: via: "https://news.itsfoss.com/fedora-budgie-sway-official/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release -====== - -Two new Fedora spins to make a debut with Fedora 38 release. - -![Official Fedora Budgie & Sway Spins to Arrive With Fedora 38 Release][1] - -We were expecting this to happen with Fedora 37, but it is finally happening with Fedora 38! - -Back in May 2022, **Joshua Strobl,** the lead developer of the Budgie project, [announced][2] that Budgie was submitted for inclusion in Fedora. - -Sadly, we didn't see any signs of an official [Fedora spin][3] release soon after that, even though it made it into the Fedora repositories during [Fedora 37 release][4]. - -**But now.** - -With Fedora 38 release, it looks like we will get an official spin for [Budgie][5], alongside a spin with the [Sway][6] window manager. - -Unlocator Smart DNSRemove geographic blocks from streaming services using Unlocator Smart DNS. Simple to use and with a full free trial included.![][7]Unlocator![][8] - -### Fedora Budgie and Sway - -In a [recent meeting][9], Fedora’s Engineering and Steering Committee (FESCo) voted on including official Fedora spins for Budgie and Sway window manager with the release of Fedora 38. - -**What can we expect?:** According to the initial change proposals for Budgie and Sway, we can expect plenty of things to happen. - -**In the case of Budgie:** - -- Fedora 38 will feature Budgie with a core set of applications, such as GNOME Software for updates/package management, a text editor, a web browser, and a terminal. -- It will also feature GTK theming across the system using [Materia GTK][10] and [Papirus][11] icon themes. -- The Budgie spin will also feature lightdm + slick-gtk-greeter for a more intuitive user greeting experience. - -**In the case of Sway spin:** It will aim to provide a minimal experience and will only include a few elements on top of the default configuration. - -**When to expect these?:** As the development of Fedora 38 picks up over the coming months, you can expect the spins to appear during April 2023. Of course, there will be separate ISO files with Budgie and Sway pre-installed. - -So, I think it would be fascinating to see the experience of Budgie with Fedora, especially when the development of Budgie seems to be going through some interesting changes. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/fedora-budgie-sway-official/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/fedora-budgie-sway-spins-arrive.png -[2]: https://www.reddit.com/r/Fedora/comments/uq3gah/budgie_desktop_has_now_been_submitted_for/ -[3]: https://spins.fedoraproject.org -[4]: https://news.itsfoss.com/fedora-37-release/ -[5]: https://blog.buddiesofbudgie.org -[6]: https://swaywm.org -[7]: https://unlocator.com/favicon.ico -[8]: https://unlocator.com/wp-content/uploads/2019/05/unlocatoricon.jpg -[9]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RNJZUX3ZI34DIX6E4PVDKYQWCOFDQ4UY/ -[10]: https://github.com/nana-4/materia-theme -[11]: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme From 874fe03f3326332ba01e99700f200f640d57e2f0 Mon Sep 17 00:00:00 2001 From: Figaro Cao Date: Fri, 6 Jan 2023 21:46:44 +0800 Subject: [PATCH 912/925] Update 20211012 Create a timer on Linux.md FigaroCao is translating --- sources/tech/20211012 Create a timer on Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20211012 Create a timer on Linux.md b/sources/tech/20211012 Create a timer on Linux.md index 2cbfa013aa..ff4f334435 100644 --- a/sources/tech/20211012 Create a timer on Linux.md +++ b/sources/tech/20211012 Create a timer on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/21/10/linux-timers" [#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "FigaroCao" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 0ea666564543016e788a66bdf59a9447a3893e77 Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Sat, 7 Jan 2023 12:13:42 +0800 Subject: [PATCH 913/925] finish translation --- ...20210718 Is Open-Source Software Secure.md | 136 +++++++++--------- 1 file changed, 67 insertions(+), 69 deletions(-) diff --git a/sources/talk/20210718 Is Open-Source Software Secure.md b/sources/talk/20210718 Is Open-Source Software Secure.md index 01d262a018..7e0b33aec4 100644 --- a/sources/talk/20210718 Is Open-Source Software Secure.md +++ b/sources/talk/20210718 Is Open-Source Software Secure.md @@ -7,142 +7,138 @@ [#]: publisher: ( ) [#]: url: ( ) -Is Open-Source Software Secure? +开源软件安全吗? ====== -Being someone who prefers [Linux for desktop][1] and encourages using open-source software, you may expect the answer to the question raised in the headline with a big “**Yes**“. +作为一个偏爱 [Linux桌面发行版][1] 并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的**肯定**回答。 -But I am not going to limit discussing the benefits of open-source software. Let us explore more! +然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多的内容吧! -Here, I plan to share my thoughts on if open-source software is secure and what are the things involved in it that make secure or insecure. +本文,我计划分享我关于开源软件是否安全的思考以及哪些事情与开源软件的安全性相关。 -### Why Should You Care if Open-Source Software is Secure? +### 为什么你需要关注开源软件是否安全? -No matter whether you use [Linux][2] or any other operating system, you will be surrounded with open-source software in some way (directly/indirectly). +不论你是使用 [Linux][2] 系统还是使用其他类型的操作系统,你都会在某种程度上(直接地/间接地)被开源软件所包围。 -To give you an example, most of the proprietary software tools depend on some form of open-source libraries to make things work. +举个例子,大多数专有软件工具依赖于某种形式的开源库来保证其正常工作。 -Furthermore, there is a reason why companies of various scale (including Google, Microsoft, and Facebook) rely on open-source software or contribute their resources to the open-source community in one way or the other. +此外,各种规模的公司(包括 Google、Microsoft 和 Facebook )依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。 -Hence, the security of open-source software is something essential to know about. +因此,开源软件的安全性是有必要了解的。 -### Myths About Open-Source Software Security +### 有关开源软件安全性的谣言 ![][3] -While there are several arguments to pitch the cons of open-source software in terms of security, some of them just do not make any sense. +虽然有多种理由证明开源软件在安全性方面的缺陷,然而其中一些实际毫无意义。 -#### Anyone Can See & Exploit the Code +#### 任何人都可以查看 & 恶意利用开源软件代码 -The code is accessible to everyone, yes. But just because you can see the code—does that mean anyone can exploit it? +是的,开源软件代码对于任何人都是可访问的。但是你可以查看代码并不意味着你可以利用它。 -**Not really.** +**不现实** -Even though anyone can create a fork (or copy) of the software, the original software cannot be manipulated easily. +即使任何人都可以克隆(或者拷贝)该软件,原始软件也不能轻易地被修改使用。 -Usually, the project maintainer (or a group of them) manage the code repository and accept the commits from contributors. The code is reviewed before approval. And no one can hijack the code just like that. +通常,项目维护人员(或者维护团队)管理代码仓库并且接受来自贡献者的提交。开源软件代码在接受之前被审查。没有人可以像那样劫持代码。 -**It takes effort for an attacker to exploit a vulnerability or add malicious code in a software, no matter if it is open-source or closed source.** +**不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码** -#### Without Dedicated Resources, Security Breaks down +#### 失去专用资源,安全性无从谈起 -Many believe that without dedicated employees or a team for an open-source software, it is difficult to maintain security. +很多人相信如果开源软件没有专职人员或者专职团队,维护软件安全性是困难的。 -In contrast, with several types of contributors joining and leaving, the software gets more attention from a wide range of developers. +恰恰相反,由于各种个样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。 -And they may be able to spot security issues better than a few employees assigned for a proprietary software. +他们可能比由专用软件所聘用的少数开发者更能够发现安全问题。 -Some projects from the likes of Mozilla have a dedicated team to effectively iron out security issues. Similarly, most of the successful open source projects have plenty of resources to dedicate for security. +一些来自 Mozilla 等同类公司的项目拥有自己的专职团队来高效处理安全问题。同样的,大部分成功的开源项目拥有大量的资源用于保障安全性。 -Hence, the open-source software ecosystem is a mixed bag for security. Even without dedicated resources, the projects get help from various contributors, and some are profitable to a great extent which helps them dedicate more resources. +因此,开源软件的生态系统是安全性的组合包。即使没有专职资源,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。 -### Open Source Software is Secure: Here’s How +### 开源软件是安全的,以下是原因 ![][3] -Now that we have tackled the myths, let me highlight how open-source software deals with security issues. +既然我们已经解决了有关开源软件安全性的谣言,让我重点展示一下开源软件是如何处理安全问题的。 -In other words, the benefits in security with open-source software. +换句话说,开源软件在安全性上的优势。 -Not to forget, the perks of open-source software translate to some of the reasons why [Linux is better than Windows][4]. +请不要忘记,开源软件的优势也是 [ Linux 比 Windows 更好][4]的一些原因。 -#### More Eyes Looking at the Code +#### 更多的眼晴关注开源软件代码 -Unlike a proprietary software, access to code is not limited to a few developers. +不像专有软件,代码访问仅不限于少数开发者。 -Some projects may even have thousands of developers watching the code, reviewing them, and flagging or fixing security issues. +一些开源项目甚至可能拥有数以万记的开发者查看代码、审查它们并标记和修复其中的安全性问题。 -And this gives an edge over closed-source software by having **the ability to identify issues quickly and addressing them as soon as possible.** +这给予了开源项目拥有**快速识别问题并尽快修复它们的能力**的相比闭源软件的优势。 -Not just limited to more developers, often enterprises get involved with open-source projects that they utilize. And when they do, they will also go through the code and review it. +不仅仅限于拥有更多的开发者,企业通常也会参与他们所使用的开源项目。当他们这样做的时候,他们也会查阅代码并审查它们。 -This gives another source of external audit that may help improve the security of the software. +这提供了外部审查的另一条途径,而这可能有助于提升开源软件的安全性。 -In contrast, with a closed-source software, a limited number of developers may not be able to find all kinds of security issues. And it may take them longer to fix all the issues one by one. +反之,就闭源软件而言,有限人数的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。 -#### Community Decision Making to Prioritize Security Issues +#### 社区决定安全问题的优先级 -The developers of a closed-source software may have certain restrictions and priorities as what to work on and when to resolve an issue. +闭源软件的开发者可能在处理什么问题和什么时候解决问题等方面有某些限制或者优先等级。 -However, in case of an open-source project, the community of contributors can prioritize and assign themselves what they want to work on and when to fix an issue. You do not need to depend on a vendor or follow their instructions to address a security issue. +而如果是开源项目,贡献者社区可以自行决定优先级并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。 -The decision making that goes into addressing and fixing the security issues is more transparent and flexible in case of an open-source software. Hence, it can prove to be more effective leaving you with three specific benefits: +着手处理和修复安全问题的决定在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处: - * **Transparency** - * **No dependency on the vendor** - * **Faster security updates** + * **透明度** + * **不依赖供应商** + * **更快的安全更新** - - -### Open Source Software is not Bulletproof: Here’s Why +### 开源软件不是刀枪不入的,以下是原因 ![][3] -While there are cases where open-source software may get an edge for security, there could be instances or factors that affects it. +虽然有开源软件可能在安全性上具有优势的案例,然而仍有一些因素影响它。 -It is important to acknowledge that these problems exist, accordingly, an enterprise or an individual can make better decision about the state of security for an open-source software. +承认这些问题的存在是很重要的,据此,企业或者个人可以就一款开源软件的安全情况做出更好的决定。 -#### Not enough Eyes to Review Code and Uncertainty +#### 并无足够的眼睛来审查代码和不确定性 -Even if the code is accessible the world of developers, there are chances that a **project does not have enough contributors/developers to thoroughly review the code**. +即使开源软件代码可以由全世界的开发者自由访问,**项目没有足够的贡献者/开发者彻底审查开源代码**的可能性仍然存在。 -In that case, we cannot have great confidence of an open-source software being peer-reviewed, because it lacks exactly that. +既如此,我们不能对经同行审查的开源软件抱有极高的信心,因为它恰好缺失了这一点。 -The open-source software may “claim” to have the best security just because its open-source, which is misleading when there are not enough developers working on it. +开源软件可能“声称”拥有最高的安全性因为它们是开源的。在没有足够的开发者致力于该项目时,这是一种误导。 -Also, we do not know how many developers are looking/reviewing the code and how exactly the code walkthrough is going on. +同样,我们也无从得知有多少开发者在查看/检查代码以及代码走查在多大程度上进行。 -For instance, the Heartbleed bug was spotted after 2 years of its introduction in a project that was already popular i.e **OpenSSL**. +举例而言,心脏出血漏洞([Heartbleed][T1])是在其在广泛使用项目—— **OpenSSL** ——中引入了2年以后才被发现的。 -#### Software Responsibility or Accountability +#### 软件责任与义务 -This may not be important for individuals, but an **open-source software often comes with no warranties**. +对于个人用户这可能并不重要,但是**开源项目通常并无任何保证**。 -So, if a business uses it, they must take the responsibility of any losses or damages caused by the use of that software. +因此,如果一家公司使用它,它们必须自行承担任何由该软件使用造成的数据丢失与损坏。 -This is something that tells you that nothing can be 100% secure and bug-free. No matter how many eyes you have on a code, or how skilled the contributors are, there will be risks in some form, be it security or data loss. +这告诉你没有什么是100%安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,可能是安全风险可能是数据丢失。 -And this brings us to the fact that open-source software is not bulletproof. +这告诉我们一个现实:开源软件并非刀枪不入。 -### Open Source May Have its Edge for Better Security But… +### 开源软件有其更高安全性的优势,但是... -Nothing is superior when it comes to security. No matter if it is closed-source or open-source, the same set of principles apply when it comes to security. +就安全性而言没有什么优胜者。不论是闭源还是开源,当涉及安全问题时都适用同一套原则。 -There are various external factors that can affect the security of a software, and **many of those are not source dependent**. +有很多外部因素可以印象软件安全性,而**其中很多都不是来源相关的**。 -The code must be monitored in the same way to keep things secure. +代码必须被以某种形式监控以保证安全。 -Yes, the **open-source approach introduces benefits that closed-source software will never have**, but that does not mean that it is bulletproof. +是的,**开源道路提供了闭源软件所不具备的优势**,但是这并不意味着开源软件是刀枪不入的。 -_What do you think about the state of security when it comes to open-source software?_ _Do you think it is superior to proprietary solutions?_ +_你对开源软件安全状况有何思考?_ _你又是否认为开源软件比专有软件解决方案更好呢?_ -I would appreciate your valuable thoughts in the comments down below. +提前感谢您在下面的评论中提出的宝贵意见。 -#### Big Tech Websites Get Millions in Revenue, It's FOSS Got You! +#### 大型科技网站坐拥百万收入,而 It's FOSS 拥有每一个你! -If you like what we do here at It's FOSS, please consider making a donation to support our independent publication. Your support will help us keep publishing content focusing on desktop Linux and open source software. - -I'm not interested +如果你喜欢我们在 It's FOSS 中所做的工作,请您考虑捐赠以支持我们的独立出版物。你的支持将有助于我们继续发布有关 Linux 桌面版以及开源软件的内容。 -------------------------------------------------------------------------------- @@ -150,7 +146,7 @@ via: https://news.itsfoss.com/open-source-software-security/ 作者:[Ankush Das][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[CanYellow](https://github.com/CanYellow) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -161,3 +157,5 @@ via: https://news.itsfoss.com/open-source-software-security/ [2]: https://itsfoss.com/what-is-linux-distribution/ [3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzOSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4= [4]: https://itsfoss.com/linux-better-than-windows/ + +[T1]: https://www.cve.org/CVERecord?id=CVE-2014-0160 From e6613de7867552647a87d3ef2df2c7f4f2419b1b Mon Sep 17 00:00:00 2001 From: Bright Huang Date: Sat, 7 Jan 2023 12:15:28 +0800 Subject: [PATCH 914/925] move file --- ...20210718 Is Open-Source Software Secure.md | 0 ...s for measuring your open source software usage.md | 145 ------------------ 2 files changed, 145 deletions(-) rename {sources => translated}/talk/20210718 Is Open-Source Software Secure.md (100%) delete mode 100644 translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md diff --git a/sources/talk/20210718 Is Open-Source Software Secure.md b/translated/talk/20210718 Is Open-Source Software Secure.md similarity index 100% rename from sources/talk/20210718 Is Open-Source Software Secure.md rename to translated/talk/20210718 Is Open-Source Software Secure.md diff --git a/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md b/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md deleted file mode 100644 index f3efee7126..0000000000 --- a/translated/talk/20221202.0 ⭐️⭐️ 8 ideas for measuring your open source software usage.md +++ /dev/null @@ -1,145 +0,0 @@ -[#]: subject: "8 ideas for measuring your open source software usage" -[#]: via: "https://opensource.com/article/22/12/open-source-usage-metrics" -[#]: author: "Georg Link https://opensource.com/users/georglink" -[#]: collector: "lkxed" -[#]: translator: "CanYellow" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -衡量你开源软件使用的8个方法 -====== - -我们这些支持开源项目社区的人经常被问到很多有关使用指标的问题。这些指标通常是为了通过用户群体和用户认知来衡量软件的重要性。我们一般都想知道有多少人使用该软件,有多少次安装以及触发了多少次实例。 - -长话短说,我们尚无法直接回答上述问题。 - -如果你想要寻找一个终极解决方案,那很抱歉要让你失望了。有关使用指标的问题,没有人有完美的答案,至少没有准确的答案。 - -好消息是,有一些近似的和可选的指标至少能够部分地满足你对软件使用知识的渴求。本文探讨了这些替代方案以及他们的优点和缺点。 - -### 下载 - -当你浏览提供软件的网站时,你通常可以看到软件的下载次数。映入脑海的一个例子是 Firefox ,它曾经有一个下载计数器。Firefox 的下载量是一个印象深刻的数字,给人留下 Firefox 在一段时间内是一个流行的浏览器。 - -然而,个人行为会直接影响这一数字的准确性。举例而言,当一个人定期重置他们的设备时,每一次重建都会引发一次独立的下载。考虑到这一现实,需要设计一种方法从下载量中去除几十次由上述人员带来的下载次数。 - -下载量不仅会高估使用量,还会低估使用量。例如,一个系统管理员可能会下载一个新版本的 Firefox 一次并将其拷贝到闪存上,然后安装到数百台设备上。 - -下载量指标是易于收集的,你可以在服务器上记录每一个下载请求。问题在于你不知道在这些软件下载以后会发生什么。下载它的人是否如预期的那样使用软件,还是运行时遇到了问题而遗弃了软件。 - -对于开源项目而言,你可以考虑各种下载量指标,比如来自以下途径的下载指标: - -- 项目官网 -- 包管理器,比如 npm,PyPi 和 Maven -- 代码仓库,如 Github,GitLab,Gitee 等 - -你可能还对源代码的下载量感兴趣,因为下游项目更可能使用源代码形式 (见于[《如何衡量你的开源项目的影响》][1]一文)。相应的下载指标包括: - -- 从代码仓库克隆的数量,比如 GitHub,GitLab 和 Gitee -- 从官网下载的归档文件 (tar,zip) 的数量 -- 通过像 npm,PyPi 和 Maven 这样的包管理器下载的源代码数量 - -源代码的下载指标比二进制代码的下载指标更不可靠(虽然尚无相关研究表明如此)。试想一下,一名开发人员想要你的最新版本的源代码并已经配置好了他们的构建流程来总是在每一次构建中都克隆你的版本库。再想象一个自动构建过程失败了,它试图重新构建而不断地克隆你的版本库。你还可以考虑这样一个下载量低于预期的场景——源代码仓库在某些地方缓存了,下载来源是由这些缓存所提供的。 - -**[相关阅读[跟踪你的开源社区的5个指标][2]]** - -总而言之,下载量指标是用于提供当前使用情况和探测趋势的很好的代表。我们无法明确地定义一次下载是如何转化为使用的。不过我们可以认为增加的下载量是更多潜在用户的标志。举例而言,如果你为你的软件做了广告并在活动期间得到了更高的下载量,可以公正的假定广告推动了更多人下载软件。下载行为的来源与元数据还可以提供额外的与使用行为相关的内容。你的软件的哪些版本仍在使用中?什么操作系统或者专属语言的版本更加流行?这有助于社区决定将哪个平台的软件作为支持与测试的优先选项。 - -### 提问 - -作为一个开源项目,你可能有一个问题追踪器。当某个人提出一个议题时一般有两个目标,报告一个漏洞或者请求增加一项功能。提问者可能使用过你的软件。作为一名用户,他可能发现了一个漏洞或者确定了对新功能的需求。 - -很明显,大多数用户不会执行额外的步骤来提交问题。提问者是我们的忠实用户,我们对他们表示感谢。此外,通过提出问题,他们成为非代码贡献者,他们也有希望成为代码贡献者。经验法则是大约每10000名用户中,可能有100名提问者以及1名代码贡献者,当然取决于用户类型,上述比例可能有出入。 - -回到指标问题,你可以将提问者数量作为评估使用量的下界。相关的指标包括: - -- 提问者数量 -- 活跃提问者的数量 (在过去6个月内提出问题的提问者) -- 同时有代码贡献的提问者的数量 -- 尚未解决的问题的数量 -- 发布的问题评论的数量 - -### 邮件列表,论坛和问答网站 - -很多开源项目都拥有用户邮件列表,论坛,并且出现在类似 Stack Overflow 的问答网站上。与提问者一样,在这些地方发帖的人可被视作用户的冰山一角。与邮件列表、论坛和问答网站上的社区活跃程度相关的指标也可用于反映用户数量的上升或下降。相关指标可以集中于以下地方的活动,包括: - -- 用户邮件列表的订阅量 -- 论坛用户的数量 -- 问题的数量 -- 答案的数量 -- 发布信息的数量 - -### 上报功能 - -为了获得精确的用户数量,一个方案是让软件在使用时上报信息。 - -这是令人毛骨悚然的。想象一下,系统管理员的防火墙报告了一个非预期的到你的服务器的网络连接,你不仅无法再收到软件报告(被防火墙拦截了),恐怕连你的软件也可能在未来被禁止使用。 - -负责任的设置上报功能的方式为设置一项可选服务来检查更新并让用户知道使用最新版本。另一项可选功能可以集中在使用检测上,你可以通过该功能询问用户是否允许匿名上报软件使用情况。如果经过深思熟虑的实施,这种方式可以允许用户通过他们使用软件的方式帮助优化软件。用户可以持有这样的意见:我一般不允许使用信息分享;但对于一些软件,因为希望开发人员从长远来看会将软件优化得更好,我愿意这样做。 - -### 加星标与克隆 - -加星标与克隆是如 GitHub 、 GitLab 、 Gitee 等社交化编程平台的功能。平台用户可以给一个项目加星标。为什么他们要给项目加星标呢?GitHub 的文档作出了解释:你可以给一个仓库和主题加星标以保持对感兴趣的项目的跟踪和在你的新闻订阅中发现相关的内容。给一个项目加星标与将其加入书签的效果一样,并且还提供了一种向项目仓库的维护者展示赞赏的方式。星标的数量已经成为了项目流行程度的标志。当一个项目发布重大公告并获得相当的关注时,项目的星标数量会呈上升趋势。星标的数量指标并不反映软件的使用量。 - -在社交化编程平台上的克隆 (Forks) 即将项目仓库复制一份在自己名下。仓库的非维护者可以在他们自己的克隆仓库中做修改并将修改通过拉取请求 (pull request) 的方式提交审核。克隆比星标更能反映软件社区的大小。开发者也可能为了保存一份代码副本而克隆一个项目以便在原始仓库消失后他们仍能访问代码。因为克隆功能在代码贡献工作流中的应用,克隆量是衡量开发社区的良好指标。克隆量通常也不反映非开发人员的使用,因为非开发人员一般不创建克隆。 - -### 社交媒体 - -包括 Facebook、Instagram、LinkIn、Reddit、Twtter等的社交媒体平台提供了相同兴趣的人们聚集的平台。采用社交媒体策略,开源项目可以通过在平台上设置相应的聚集空间来吸引对项目感兴趣的人们。通过这些社交媒体途径,开源项目可以分享项目新闻、更新、突出共献者和用户。这些社交媒体途径还可以用于认识那些本不会通过其他途径与项目互动的人。 - -我在犹豫是否建议关注指标因为它与软件的真实使用量没有清晰的联系,并通常需要分析其中的积极、消极和中性的情绪。人们可能因为很多不同的原因对你的项目感到激动并想要在不实际使用的情况下关注它。然而与之前已经讨论过的指标一样,能够在社交媒体上吸收人群本就是项目受关注的整体指标。不同社交媒体平台的指标包括: - -- 关注与订阅的数量 -- 消息的数量 -- 活跃的消息作者的数量 -- 喜欢、分享、回复以及其他交互的数量 - -### 网站分析与文档 - -网站流量也是一个有用的指标。这一指标主要由你的服务范围以及市场营销活动影响而不是用户量。然而,我们还有一张王牌:我们的用户文档、教程、手册以及 API 文档。我们可以发现我们的网站以及文档中的什么主题更引人注意。文档的访问者数量应当大概随着软件的使用者数量增长而增长。因此我们可以通过网站的访问量探知对项目的一般性的兴趣并进一步通过观察文档的访问者观察用户风向。这些指标包括: - -- 网站访问者数量 -- 文档访问者的数量 -- 访问者在你的网站与文档上所花的时间 - -### 活动 - -活动指标可以在你主持与项目相关的活动时使用。这是建立社区的很好的方式。有多少人提交摘要在你的活动中发言?有多少人出席你的活动?不论是在线下活动还是线上活动中这可能都很有趣。当然,你如何推广你的活动可以很大程度上决定有多少人到场。同时你可以将自己的活动与人们出行的大型活动放在一起以方便人们参加你的活动。只要你使用一贯的活动策略,你可以通过演讲者提交与参会者注册的增加表征软件受欢迎程度与用户群的增加。 - -你并不需要举办你自己的活动来收集有用的指标。如果你在开源活动中主持有关你项目的讨论,你可以衡量有多少人出席主要聚焦你的项目的会议。像 [FOSDEM][T1] 这样的活动,一些讨论特别聚焦开源项目的更新与公告,会议室中都挤满了人(像 FOSDEM 的所有会议一样)。 - -你可以考虑如下指标: - -- 以你的项目为中心的活动的出席人数 -- 提交到以你的项目为中心的活动的演讲数量 -- 以你的项目为中心的演讲的出席人数 - -### 关于估算开源软件使用的结论 - -正如我们已经如上展现的,有很多指标可以反映软件使用的趋势,没有一个指标是完美的。在大多数情况下,这些指标可能被个人行为、系统设计和噪音所严重影响。因此,考虑到每一个指标的相对不确定性,我们建议你不要孤立地使用任何一个指标。但是如果你从不同的来源收集了一系列的指标,你应当能够探测到用户行为与软件使用的趋势。如果你有手段比较多个具有共性——比如相似的功能、强大的相互依赖以及由同一基金会托管和其他特征——的开源项目的同一组指标,你就可以提升你对用户行为基线的感知。 - -需要注意的是,在本概述中,我们选择突出能够评估直接使用情况的指标。而大多数软件都依赖于其他各种软件包,如果我们不提及作为软件依赖链的一部分被间接使用也会严重影响软件使用与行为,这就是我们的疏忽。因此,我们建议将上下游依赖的合计数量作为你的分析中的另一层内容。 - -最后,作为数据与指标的使用者,我们鼓励你认识到你的利益相关方的权利与责任。你发布的任何指标都有可能影响用户行为。最佳实践是总是一同分享你的背景信息——基础、来源、估算方法和其他关键上下文信息,这有助于其他人解释你的结果。 - -我们感谢 [CHAOSS][T2] 社区在爱尔兰都柏林举行的 CHAOSScon EU 2022 上的富有洞察力的对话,上述对话激发这篇博文的想法。我们还要感谢审阅并帮助优化本文的 CHAOSS 社区的成员。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/12/open-source-usage-metrics - -作者:[Georg Link][a] -选题:[lkxed][b] -译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/georglink -[b]: https://github.com/lkxed -[1]: https://opensource.com/article/18/5/metrics-project-success -[2]: https://opensource.com/article/22/11/community-metrics - -[T1]: https://fosdem.org/ -[T2]: https://chaoss.community From 7f335891944fe0415a350dc8b88a4e8930802095 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 7 Jan 2023 13:13:53 +0800 Subject: [PATCH 915/925] RP @wxy https://linux.cn/article-15420-1.html --- ... Steps Drops apt, Adds Flathub and Pipewire.md | 83 +++++++++++++++++++ ... Steps Drops apt, Adds Flathub and Pipewire.md | 81 ------------------ 2 files changed, 83 insertions(+), 81 deletions(-) create mode 100644 published/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md delete mode 100644 sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md diff --git a/published/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md b/published/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md new file mode 100644 index 0000000000..97aa2ad8ee --- /dev/null +++ b/published/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md @@ -0,0 +1,83 @@ +[#]: subject: "Nitrux 2.6.0 Takes Bold Steps: Drops apt, Adds Flathub and Pipewire" +[#]: via: "https://debugpointnews.com/nitrux-2-6-0-release/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15420-1.html" + +Nitrux 2.6.0 大胆抛弃 apt +====== + +![][1] + +> Nitrux 2.6.0 带有 Flathub、默认支持的 Pipewire、最新内核和 KDE 框架。 + +![Nitrux 2.6.0 Desktop][2] + +[Nitrux Linux][3] 是基于 Debian 的,它带有一个名为 NX 桌面的修改版的 KDE Plasma 桌面。这个独特的 Linux 发行版带来了一套自己的建立在 Maui kit 和 Qt 之上的 Nitrux 应用程序。Nitrux 是无 systemd 的,使用 OpenRC 作为启动系统。所有这些独特的功能和令人惊叹的外观,使它成为当今最好的 Linux 发行版之一。 + +Nitrux 2.6.0 被提升为一个主要版本,因为它对 12 月发布的 2.5.1 版本进行了关键的更新。 + +### Nitrux 2.6.0 的新内容 + +这个版本的一个主要重点是在 SDDM 显示管理器中引入 Plasma Wayland 会话。Wayland 还不是默认的,但可以作为选项选择。X11 仍然是默认的。我相信在下一个主要版本中 NItrux 团队可以默认启用 Wayland。 + +此外,现代声音管理器 Pipewire 现在是默认的,因为它已经在 Ubuntu 和 Fedora 中标准化了,而且感觉很稳定。由于有了 Pipewire,你的音频工作流程将变得更好。 + +Nitrux 2.6.0 还默认启用了最大的 Flatpak 应用程序仓库 - Flathub。这意味着你不需要再手动设置 Flatpak 和启用 Flathub。现在,Flatpak 应用程序的安装变得更加容易。 + +其他值得注意的变化包括:Nitrux 使根(/)分区成为不可变分区,以防止它被破坏,Samba 包现在是 Nitrux 默认安装的一部分,Calamares 安装程序有了一个定制的自动分区方案。 + +![Nitrux 2.6 安装自动分区][4] + +从一开始,Nitrux 就倾向于为其整个桌面组件提供自包含的可执行文件。主要的选择是 AppImage 文件格式。在这个版本中,你会得到默认的 Flathub 环境,而流行的 apt 软件包管理器现在被放弃了。这可能会改变一些用户的工作流程,因为 `apt` 命令将无法工作;尽管它是基于 Debian 的。 + +因此,Nitrux 团队建议使用 Distrobox 容器来设置单独的环境,以便与 apt 一起使用。然而,对于普通用户来说,理解容器、不可变的根分区会有点困难。 + +![apt 被放弃][5] + +讽刺的是 `apt` 会在安装时使用,因为 Calamares 需要它。然而,在安装完成后,它会被删除。 + +> 现场 ISO 中包括 APT 和 dpkg,但这是因为 Calamares 需要它们来完成安装,并将从安装的系统中删除。 +> +> —— NITRUX TEAM + +Nitrux 2.6.0 的核心是 liqurix 内核 6.1,以及游戏和多媒体功能。这个版本由 KDE Plasma 2.26.4、KDE Framework 5.101.0 和 Qt 5.15.7 LTS 驱动。 + +如果你想阅读更多信息,可以在 [这里][6] 找到详细的发布说明。 + +### 下载 + +你可以从以下页面下载这个版本。然而,没有可用的升级路径。因此,建议进行新的安装。 + +- [FOSS Torrents(Torrent)][7] +- [Sourceforge(镜像)][8] +- [OSDN(镜像)][9] + +参考自 [发布公告][10]。 + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/nitrux-2-6-0-release/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2023/01/nitrux-head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6.0-Desktop.jpg +[3]: https://nxos.org/ +[4]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6-install-automatic-partition.jpg +[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Screenshot-from-2023-01-05-13-44-57.png +[6]: https://nxos.org/notes/notes-nitrux-2-6-0 +[7]: https://fosstorrents.com/distributions/nitrux/ +[8]: https://sourceforge.net/projects/nitruxos/files/Release/ISO +[9]: https://osdn.net/projects/nitrux/releases/p18379 +[10]: https://nxos.org/changelog/release-announcement-nitrux-2-6-0/ diff --git a/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md b/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md deleted file mode 100644 index 2a81845075..0000000000 --- a/sources/news/20230105.2 ⭐️ Nitrux 2.6.0 Takes Bold Steps Drops apt, Adds Flathub and Pipewire.md +++ /dev/null @@ -1,81 +0,0 @@ -[#]: subject: "Nitrux 2.6.0 Takes Bold Steps: Drops apt, Adds Flathub and Pipewire" -[#]: via: "https://debugpointnews.com/nitrux-2-6-0-release/" -[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Nitrux 2.6.0 Takes Bold Steps: Drops apt, Adds Flathub and Pipewire -====== - -![][1] - -**Nitrux 2.6.0 arrives with Flathub, Pipewire by default, latest Kernel and KDE framework.** - -![Nitrux 2.6.0 Desktop][2] - -[Nitrux Linux][3]is based on Debian, which features a modified version of the KDE Plasma desktop called NX Desktop. This unique Linux distribution brings its own set of Nitrux applications built upon Maui kit and Qt. Nitrux is systemd-free and uses OpenRC as an init system. With all these unique features and stunning looks, it is one of the best Linux distributions today. - -Nitrux 2.6.0 is bumped up to be a considerable major version due to critical updates since its prior release, 2.5.1 in December. - -### Nitrux 2.6.0: What’s New - -A major focus of this release is the introduction of the Plasma Wayland session in the SDDM display manager. It’s not default yet. But available as optional. X11 is still default. I believe in the next major release; the NItrux team can enable Wayland by default. - -In addition, the modern sound manager Pipewire is now default, as it was already standardized in Ubuntu and Fedora and feels stable. Thanks to Pipewire, your audio workflow will be much better. - -Nitrux 2.6.0 also enables the largest Flatpak app repo – Flathub, by default. That means you do not need to set up Flatpak & enable Flathub anymore manually. Installation of the Flatpak apps is now much easier. - -Other noteworthy changes include, Nitrux making the root (/) partition immutable to prevent it from breakage, the Samba package now part of Nitrux default install, and the Calamares installer getting a customized auto partition scheme. - -![Nitrux 2.6 install automatic partition][4] - -From the beginning, Nitrux prefers self-contained executables for its entire desktop components. The primary choice was the AppImage file format. You get Flathub set up by default in this release, whereas the popular apt package manager is now dropped. This might change some users’ workflow because the apt command won’t work; despite being based on Debian. - -Hence, the Nitrux team suggested using the Distrobox containers to set up the separate skeleton to be used with apt. However, it will be a little difficult for general users to understand the container, immutable root partition. - -![apt is not dropped][5] - -The irony is apt will be used during installation because Calamares needs it. However, it will be removed after installation is complete. - -> The Live ISO _includes APT and dpkg, but this is because Calamares needs them to complete the installation and will be removed from the installed system._Nitrux team - -At its core, Nitrux 2.6.0 features liqurix Kernel 6.1 aligned with gaming and multimedia. This version is powered by KDE Plasma 2.26.4, KDE Framework 5.101.0 and Qt 5.15.7 LTS. - -Detailed release notes are available [here][6] if you want to read more. - -### Download - -You can download this version from the following pages. However, there is no upgrade path available. Hence it is recommended to do a fresh installation. - -- [FOSS Torrents (Torrent)][7] -- [Sourceforge (mirror)][8] -- [OSDN (mirror)][9] - -Via [announcement][10] - --------------------------------------------------------------------------------- - -via: https://debugpointnews.com/nitrux-2-6-0-release/ - -作者:[arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://debugpointnews.com/author/dpicubegmail-com/ -[b]: https://github.com/lkxed -[1]: https://debugpointnews.com/wp-content/uploads/2023/01/nitrux-head.jpg -[2]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6.0-Desktop.jpg -[3]: https://nxos.org/ -[4]: https://debugpointnews.com/wp-content/uploads/2023/01/Nitrux-2.6-install-automatic-partition.jpg -[5]: https://debugpointnews.com/wp-content/uploads/2023/01/Screenshot-from-2023-01-05-13-44-57.png -[6]: https://nxos.org/notes/notes-nitrux-2-6-0 -[7]: https://fosstorrents.com/distributions/nitrux/ -[8]: https://sourceforge.net/projects/nitruxos/files/Release/ISO -[9]: https://osdn.net/projects/nitrux/releases/p18379 -[10]: https://nxos.org/changelog/release-announcement-nitrux-2-6-0/ From 1aa7f67904c0f9a2558ac2026150d9d77c7142a9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 7 Jan 2023 17:02:02 +0800 Subject: [PATCH 916/925] RP @geekpi https://linux.cn/article-15421-1.html --- ...What is Firefox ESR How to Install it in Ubuntu.md | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) rename {translated/tech => published}/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md (67%) diff --git a/translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md b/published/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md similarity index 67% rename from translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md rename to published/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md index 2955a79d75..481d09dc61 100644 --- a/translated/tech/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md +++ b/published/20221201.5 ⭐️⭐️ What is Firefox ESR How to Install it in Ubuntu.md @@ -3,30 +3,32 @@ [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15421-1.html" 什么是 Firefox ESR?如何在 Ubuntu 中安装它? ====== -Ubuntu 的 snap 版本你不喜欢?不喜欢每一次 Firefox 的发布都要不断地改变东西?如果你重视稳定性而不是功能,你可以试试 Firefox ESR 版本。 +![][0] + +Ubuntu 的 Snap 版本你不喜欢?不喜欢每一次 Firefox 的发布都要不断地改变东西?如果你重视稳定性而不是功能,你可以试试 Firefox ESR 版本。 ### 什么是 Firefox ESR? Firefox ESR 是 Firefox 的特别版,它不一定像普通版那样每月都有新功能,但它能提供稳定和安全的浏览体验。这适用于企业、组织和机构,在这些地方,稳定性和核心功能比闪亮的新功能更重要。 -把 Firefox ESR 看作是 Linux 发行版的长期稳定版本。他们不一定得到全新的功能,但他们会得到定期的安全和维护更新。这给了用户一个熟悉和稳定的环境。 +可以把 Firefox ESR 看作是 Linux 发行版的长期稳定版本。它们不一定得到全新的功能,但它们会得到定期的安全和维护更新。这给了用户一个熟悉和稳定的环境。 #### 你为什么要关心 Firefox ESR? Firefox 几乎每个月都会发布一个新版本。它包含安全和功能更新。 -但有些人可能不喜欢功能的加入和删除。如果在更新之后,你一直想知道某些设置到哪里去了,或者不喜欢与以前不同的东西,Firefox ESR可能值得一试。 +但有些人可能不喜欢各种功能的加入和删除。如果在更新之后,你一直想知道某些设置到哪里去了,或者不喜欢与以前不同的东西,Firefox ESR 可能值得一试。 -基本上,如果你更看重稳定性而不是新功能,那么 Firefox ESR 就适合你。这也是与 Debian 相同的 Firefox 版本,Debian 以其是市场上最稳定的发行版之一而闻名。 +基本上,如果你更看重稳定性而不是新功能,那么 Firefox ESR 就适合你。这也是 Debian 中携带的 Firefox 版本,Debian 以其是市场上最稳定的发行版之一而闻名。 -让我告诉你如何在 Ubuntu 上获得 Firefox ESR。**_你可以同时安装 Firefox 和 Firefox-ESR 两个版本。它们的标识没有视觉上的区别,所以你必须注意你打开的是哪个火狐版本。_** +让我告诉你如何在 Ubuntu 上获得 Firefox ESR。**你可以同时安装 Firefox 和 Firefox-ESR 两个版本。它们的标识没有视觉上的区别,所以你必须注意你打开的是哪个火狐版本。** ### 在 Ubuntu 中安装 Firefox ESR @@ -43,7 +45,7 @@ Firefox-ESR 在 Ubuntu 的默认仓库中是不可用的,所以你可以使用 PPA 只不过是一个由个别技术人员或开发者维护的仓库,拥有默认仓库所没有的东西。 -如果你想了解更多关于 PPA 的信息,我建议你查看我们的其他指南,其中解释了[如何在 Linux 上使用 PPA][1]。 +如果你想了解更多关于 PPA 的信息,我建议你查看我们的其他指南,其中解释了 [如何在 Linux 上使用 PPA][1]。 打开你的终端,使用给定的命令来添加 Firefox-ESR 的 PPA: @@ -75,7 +77,7 @@ firefox-esr -v ![check installed version of firefox esr in ubuntu][3] -##### 从 Ubuntu 卸载 Firefox-ESR +如何从 Ubuntu 卸载 Firefox-ESR? 如果 ESR 对你的工作来说感觉太过时了,或者由于其他原因你想从你的系统中删除它,你可以按照以下步骤删除 Firefox-ESR 包和仓库。 @@ -85,7 +87,7 @@ firefox-esr -v sudo apt remove firefox-esr ``` -现在,你可以使用给定的命令来[从 Ubuntu 删除 PPA][4]: +现在,你可以使用给定的命令来 [从 Ubuntu 删除 PPA][4]: ``` sudo add-apt-repository --remove ppa:mozillateam/ppa @@ -95,9 +97,9 @@ sudo add-apt-repository --remove ppa:mozillateam/ppa #### 方法 2:使用 Snap 安装 Firefox-ESR -不管你爱不爱它,Snaps 在 Ubuntu 上是预先配置好的,我发现使用 Snaps 是安装软件包的一个很好的方法,特别是当你想避免从源码构建它们或使用 PPA 时。 +不管你爱不爱它,Snap 在 Ubuntu 上是预先配置好的,我发现使用 Snap 是安装软件包的一个很好的方法,特别是当你想避免从源码构建它们或使用 PPA 时。 -使用 Snaps 安装 Firefox-ESR,你需要做的就是使用给定的命令: +使用 Snap 安装 Firefox-ESR,你需要做的就是使用给定的命令: ``` sudo snap install firefox --channel=esr/stable @@ -105,7 +107,7 @@ sudo snap install firefox --channel=esr/stable ![install firefox esr using snaps in ubuntu][5] -##### 删除 Firefox-ESR Snap +如何删除 Firefox-ESR Snap? 要删除 Firefox-ESR(snap 包),请使用 [snap remove 命令][6]: @@ -128,15 +130,16 @@ via: https://itsfoss.com/firefox-esr-ubuntu/ 作者:[Sagar Sharma][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://itsfoss.com/author/sagar/ [b]: https://github.com/lkxed [1]: https://itsfoss.com/ppa-guide/ -[2]: https://itsfoss.com/wp-content/uploads/2022/11/add-firefox-esr-repository-in-ubuntu.png -[3]: https://itsfoss.com/wp-content/uploads/2022/11/check-installed-version-of-firefox-esr-in-ubuntu.png +[2]: https://itsfoss.com/content/images/wordpress/2022/11/add-firefox-esr-repository-in-ubuntu.png +[3]: https://itsfoss.com/content/images/wordpress/2022/11/check-installed-version-of-firefox-esr-in-ubuntu.png [4]: https://itsfoss.com/how-to-remove-or-delete-ppas-quick-tip/ -[5]: https://itsfoss.com/wp-content/uploads/2022/11/install-firefox-esr-using-snaps-in-ubuntu.png +[5]: https://itsfoss.com/content/images/wordpress/2022/11/install-firefox-esr-using-snaps-in-ubuntu.png [6]: https://itsfoss.com/remove-snap/ +[0]: https://img.linux.net.cn/data/attachment/album/202301/07/165704ojar9wfkvptwop0w.jpg \ No newline at end of file From d0ba5759e535eb2902d988a08a7e281fef86f1ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 7 Jan 2023 19:43:29 +0800 Subject: [PATCH 917/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230106.0=20=E2=AD=90=EF=B8=8F=E2=AD=90=EF=B8=8F=20Us?= =?UTF-8?q?e=20time-series=20data=20to=20power=20your=20edge=20projects=20?= =?UTF-8?q?with=20open=20source=20tools.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...power your edge projects with open source tools.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sources/tech/20230106.0 ⭐️⭐️ Use time-series data to power your edge projects with open source tools.md diff --git a/sources/tech/20230106.0 ⭐️⭐️ Use time-series data to power your edge projects with open source tools.md b/sources/tech/20230106.0 ⭐️⭐️ Use time-series data to power your edge projects with open source tools.md new file mode 100644 index 0000000000..80c70c7b4b --- /dev/null +++ b/sources/tech/20230106.0 ⭐️⭐️ Use time-series data to power your edge projects with open source tools.md @@ -0,0 +1,123 @@ +[#]: subject: "Use time-series data to power your edge projects with open source tools" +[#]: via: "https://opensource.com/article/23/1/time-series-data-edge-open-source-tools" +[#]: author: "Zoe Steinkamp https://opensource.com/users/zoesteinkamp" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use time-series data to power your edge projects with open source tools +====== + +Gathering data as it changes over the passage of time is known as time-series data. Today, it has become a part of every industry and ecosystem. It is a large part of the growing IoT sector and will become a larger part of everyday people's lives. But time-series data and its requirements are hard to work with. This is because there are no tools that are purpose-built to work with time-series data. In this article, I go into detail about those problems and how InfluxData has been working to solve them for the past 10 years. + +### InfluxData + +InfluxData is an open source time-series database platform. You may know about the company through [InfluxDB][1], but you may not have known that it specialized in time-series databases. This is significant, because when managing time-series data, you deal with two issues — storage lifecycle and queries. + +When it comes to storage lifecycle, it's common for developers to initially collect and analyze highly detailed data. But developers want to store smaller, downsampled datasets that describe trends without taking up as much storage space. + +When querying a database, you don't want to query your data based on IDs. You want to query based on time ranges. One of the most common things to do with time-series data is to summarize it over a large period of time. This kind of query is slow when storing data in a typical relational database that uses rows and columns to describe the relationships of different data points. A database designed to process time-series data can handle queries exponentially faster. InfluxDB has its own built-in querying language: Flux. This is specifically built to query on time-series data sets. + +![Image of how Telegraf works.][2] + +### Data acquisition + +Data acquisition and data manipulation come out of the box with some awesome tools. InfluxData has over 12 client libraries that allow you to write and query data in the coding language of your choice. This is a great tool for custom use cases. The open source ingest agent, Telegraf, includes over 300 input and output plugins. If you're a developer, you can contribute your own plugin, as well. + +InfluxDB can also accept a CSV upload for small historical data sets, as well as batch imports for large data sets. + +``` +import math +bicycles3 = from(bucket: "smartcity") +    |> range(start:2021-03-01T00:00:00z, stop: 2021-04-01T00:00:00z) +    |> filter(fn: (r) => r._measurement == "city_IoT") +    |> filter(fn: (r) => r._field == "counter") +    |> filter(fn: (r) => r.source == "bicycle") +    |> filter(fn: (r) => r.neighborhood_id == "3") +    |> aggregateWindow(every: 1h, fn: mean, createEmpty:false) +bicycles4 = from(bucket: "smartcity") +    |> range(start:2021-03-01T00:00:00z, stop: 2021-04-01T00:00:00z) +    |> filter(fn: (r) => r._measurement == "city_IoT") +    |> filter(fn: (r) => r._field == "counter") +    |> filter(fn: (r) => r.source == "bicycle") +    |> filter(fn: (r) => r.neighborhood_id == "4") +    |> aggregateWindow(every: 1h, fn: mean, createEmpty:false)join(tables: {neighborhood_3: bicycles3, neighborhood_4: bicycles4}, on ["_time"], method: "inner") +    |> keep(columns: ["_time", "_value_neighborhood_3","_value_neighborhood_4"]) +    |> map(fn: (r) => ({ +        r with +        difference_value : math.abs(x: (r._value_neighborhood_3 - r._value_neighborhood_4)) +    })) +``` + +### Flux + +Flux is our internal querying language built from the ground up to handle time-series data. It's also the underlying powerhouse for a few of our tools, including tasks, alerts, and notifications. To dissect the flux query from above, you need to define a few things. For starters, a "bucket" is what we call a database. You configure your buckets and then add your data stream into them. The query calls the smartcity bucket, with the range of a specific day (a 24-hour period to be exact.) You can get all the data from the bucket, but most users include a data range. That's the most basic flux query you can do. + +Next, I add filters, which filter the data down to something more exact and manageable. For example, I filter for the count of bicycles in the neighborhood assigned to the id of 3. From there, I use aggregateWindow to get the mean for every hour. That means I expect to receive a table with 24 columns, one for every hour in the range. I do this exact same query for neighborhood 4 as well. Finally, I join the two tables and get the differences between bike usage in these two neighborhoods. + +This is great if you want to know what hours are high-traffic hours. Obviously, this is just a small example of the power of flux queries. But it gives a great example of some of the tools flux comes with. I also have a large amount of data analysis and statistics functions. But for that, I suggest checking out the Flux documentation. + +``` +import "influxdata/influxdb/tasks" +option task = {name: PB_downsample, every: 1h, offset: 10s} +from(bucket: "plantbuddy") +    |>range(start: tasks.lastSuccess(orTime: -task.every)) +    |>filter(fn: (r) => r["_measurement"] == "sensor_data") +    |>aggregateWindow(every: 10m, fn:last, createEmpty:false) +    |>yield(name: "last") +    |>to(bucket: "downsampled") +``` + +### Tasks + +An InfluxDB task is a scheduled Flux script that takes a stream of input data and modifies or analyzes it in some way. It then stores the modified data in a new bucket or performs other actions. Storing a smaller data set into a new bucket is called "downsampling," and it's a core feature of the database, and a core part of the time-series data lifecycle. + +You can see in the current task example that I've downsampled the data. I'm getting the last value for every 10-minute increment and storing that value in the downsampled bucket. The original data set might have had thousands of data points in those 10 minutes, but now the downsampled bucket only has 60 new values. One thing to note is that I'm also using the last success function in range. This tells InfluxDB to run this task from the last time it ran successfully, just in case it has failed for the past 2 hours, in which case it can go back three hours in time to the last successful run. This is great for built-in error handling. + +![Image of the checks and alerts notification system.][3] + +### Checks and alerts + +InfluxDB includes an alerting or checks and notification system. This system is very straightforward. You start with a check that looks at the data periodically for anomalies that you've defined. Normally, this is defined with thresholds. For example, any temperature value under 32° F gets assigned a value of `WARN`, and anything above 32° F gets assigned a value of `OK`, and anything below 0° F gets a value of `CRITICAL`. From there, your check can run as often as you deem necessary. There is a recorded history of your checks and the current status of each. You are not required to set up a notification when it's not needed. You can just reference your alert history as needed. + +Many people choose to set up their notifications. For that, you need to define a notification endpoint. For example, a chat application could make an HTTP call to receive your notifications. Then you define when you would like to receive notifications, for example you can have checks run every hour. You can run notifications every 24 hours. You can have your notification respond to a change in the value, for example `WARN` to `CRITICAL`, or when a value is `CRITICAL`, regardless of it changing from `OK` to `WARN`. This is a highly customizable system. The Flux code that's created from this system can also be edited. + +![Image of the new Edge feature.][4] + +### Edge + +To wrap up, I'd like to bring all the core features together, including a very special new feature that's recently been released. Edge to cloud is a very powerful tool that allows you to run the open source InfluxDB and locally store your data in case of connectivity issues. When connectivity is repaired, it streams the data to the InfluxData cloud platform. + +This is significant for edge devices and important data where any loss of data is detrimental. You define that you want a bucket to be replicated to the cloud, and then that bucket has a disk-backed queue to store the data locally. Then you define what your cloud bucket should replicate into. The data is stored locally until connected to the cloud. + +### InfluxDB and the IoT Edge + +Suppose you have a project where you want to [monitor the health of household plants][5] using IoT sensors attached to the plant. The project is set up using your laptop as the edge device. When your laptop is closed or otherwise off, it stores the data locally, and then streams it to my cloud bucket when reconnected. + +![Image showing how Plant buddy works.][6] + +One thing to notice is that this downsamples data on the local device before storing it in the replication bucket. Your plant's sensors provide a data point for every second. But it condenses the data to be an average of one minute so you have less data to store. In the cloud account, you might add some alerts and notifications that let you know when the plant's moisture is below a certain level and needs to be watered. There could also be visuals you could use on a website to tell users about their plants' health. + +Databases are the backbone of many applications. Working with time-stamped data in a time series database platform like InfluxDB saves developers time, and gives them access to a wide range of tools and services. The maintainers of InfluxDB love seeing what people are building within our open source community, so connect with us and share your projects and code with others! + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/time-series-data-edge-open-source-tools + +作者:[Zoe Steinkamp][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/zoesteinkamp +[b]: https://github.com/lkxed +[1]: https://opensource.com/article/17/8/influxdb-time-series-database-stack +[2]: https://opensource.com/sites/default/files/2022-12/Telegraf.png +[3]: https://opensource.com/sites/default/files/2022-12/TimeSeriesChecks%26Alerts.png +[4]: https://opensource.com/sites/default/files/2022-12/TimSeriesEdge.png +[5]: https://opensource.com/article/22/5/plant-care +[6]: https://opensource.com/sites/default/files/2022-12/TimeSeriesplantbuddy.png From 31db9f791501407d12ba1c4003e276ad4242e191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 7 Jan 2023 19:46:30 +0800 Subject: [PATCH 918/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020230106.2=20=E2=AD=90=EF=B8=8F=20Budgie's=20Upcoming?= =?UTF-8?q?=2010.7=20Release=20Promises=20These=203=20Key=20Improvements?= =?UTF-8?q?=20for=20Linux=20Users.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...es These 3 Key Improvements for Linux Users.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md diff --git a/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md b/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md new file mode 100644 index 0000000000..461694fa92 --- /dev/null +++ b/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md @@ -0,0 +1,97 @@ +[#]: subject: "Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users" +[#]: via: "https://news.itsfoss.com/budgie-10-7-features/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users +====== + +Budgie 10.7 is packed with valuable improvements. Check them out here. + +![Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users][1] + +Budgie is a desktop environment designed to keep clutter to a minimum and provide users with a clean/minimal experience. + +Back in January 2022, the former-co-lead of Solus, **Joshua Strobl**[left Solus][2] to work on [SerpentOS][3], but he continued to work on Budgie. + +So, he forked the project into a new repository and formed the [Buddies Of Budgie][4] organization. Three months after that, they released **Budgie 10.6**. + +It was a good release, if not extraordinary. + +Moving forward, they have shared the plans for 2023 which include the release of **Budgie 10.7**. + +[Joshua Strobl][5] also mentioned more about the plans in the blog post: + +> At the very least, it should serve as a good foundation to build on and provide a clear picture on where Budgie Desktop is going this year: Budgie 10.x will receive new features, QoL improvements, and fixes. Budgie 11 development will be underway. + +### Budgie 10.7: What Can You Expect? + +The development of Budgie 10.7 has been going on since last year. It was supposed to release in 2022, but more time was required to serve a polished experience. + +A lot of work has been done, but some of the notable ones include the following three changes: + +- **Updates to Budgie Menu** +- **New Budgie Screenshot Tool** +- **Improvements to Budgie Run Dialog** + +#### Updates to Budgie Menu + +![budgie 10.7 menu][6] + +For this release, Budgie Menu is set to receive several improvements, such as: + +- A new power menu with all the usual options, such as **Suspend, Hibernate, Logout, and Power Off**. +- Updated personal user menu with quick XDG directory access. This will let you open a file manager window directly into folders like Home, Documents, Music, etc. +- Quick access to Budgie Control Center and Desktop Settings. +- Ability to show various desktop settings from the menu itself. + +#### Budgie Screenshot Tool + +![budgie 10.7 screenshot tool][7] + +Finally, you won't need to download another tool to take a screenshot on Budgie; from 10.7 onwards, it will feature a native screenshot application. + +It will have capture support for the screen, window, and even selection capture! + +#### Improvements to Budgie Run Dialog + +![budgie 10.7 run dialog][8] + +The Budgie Run dialog will receive many improvements, such as: + +- A new application indexer will be used for Budgie Menu to find and sort applications. It is supposed to provide a 'predictable fuzzy search experience'. +- Improved calculation of dialog sizing according to the work area of the monitor. +- Better styling of labels for application names and descriptions. + +### Release & Future Plans + +According to their [announcement][9], they intend to release Budgie 10.7 sometime in **Q1, 2023.** They haven't settled for a specific date yet. + +A 10.7.1 release with bug fixes has been planned soon after, and the release of **Budgie 10.8** in Q2, 2023. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/budgie-10-7-features/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/budgie-10-7-release.png +[2]: https://news.itsfoss.com/solus-co-lead-resign-budgie-serpent/ +[3]: https://serpentos.com +[4]: https://blog.buddiesofbudgie.org +[5]: https://joshuastrobl.com +[6]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Menu.jpg +[7]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_SS.png +[8]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Run.jpg +[9]: https://blog.buddiesofbudgie.org/state-of-the-budgie-2022/ From 5e71697d6f9ad63aafe8b1a8e289402e67e3d01c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Sat, 7 Jan 2023 19:47:03 +0800 Subject: [PATCH 919/925] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020230107.0=20=E2=AD=90=EF=B8=8F=20Learn=20w=20Command?= =?UTF-8?q?=20in=20Linux=20&=20BSD=20with=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...earn w Command in Linux & BSD with Examples.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md diff --git a/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md b/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md new file mode 100644 index 0000000000..960d1c4af8 --- /dev/null +++ b/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md @@ -0,0 +1,115 @@ +[#]: subject: "Learn w Command in Linux & BSD with Examples" +[#]: via: "https://www.debugpoint.com/w-command-linux-examples/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Learn w Command in Linux & BSD with Examples +====== + +**Here’s a beginner’s guide on understanding the w command in Linux & BSD with several examples.** + +![][1] + +_This article is part of the [Linux command][2] learning series._ + +### w command + +The `w` command is a utility in Linux that displays information about the users currently logged into the system and their processes. It shows who is logged on and what activities they are doing. That means it can show what processes they are running in their system. + +### Syntax + +Here is the basic syntax of the `w` command: + +``` +w [options] [username] +``` + +The `w` command takes an optional list of options, followed by an optional username. If a username is specified, `w` will only show information about processes owned by that user. + +### Examples of the w command and its usage + +Here are some examples of using the `w` command. + +When you run it with only w, it shows the following output. + +``` +$ w + 21:45:07 up 1 day, 12:48, 1 user, load average: 1.05, 0.85, 0.56 +USER TTY LOGIN@ IDLE JCPU PCPU WHAT +debugpoi tty2 Thu08 36:48m 0.03s 0.03s /usr/libexec/gnome-session-binary +``` + +![a basic output of w command in Linux][3] + +Explanation: The USER column gives you the username, followed by the terminal number, login date-time, IDLE time, CPU usage, and the process being executed by the user. + +- `USER` – Logged on user name in your Linux or BSD system. +- `TTY` – Terminal identifier number for the current session. +- `FROM` – Hostname or IP address of the user. +- `LOGIN@` – User logged in time. It sometimes shows dates based on your system settings. +- `IDLE` – Idle time elapsed since the user interacted with the terminal. +- `JCPU` – CPU time used by all the user processes for that session. +- `PCPU` – Time used by the process for the user, which is mentioned in the WHAT field. +- `WHAT` – Current process with arguments. + +Here’s another example of the w command with two users logged in a virtual machine environment. As you can see, two user names are shown with separate processes with process parameters currently running. + +![w command output for a demo multi-user environment][4] + +Let’s take a look at some options for this command. + +To show stop showing header, use the`-h` option. It’s identical to the `--no-header` switch. + +``` +$ w -h +``` + +The -f option toggles the visibility of FROM field in your output. + +``` +$ w -f +``` + +Use the `-s` option to print a short version of the output excluding JCPU, PCPU and LOGIN@ information. + +``` +$ w -s +``` + +To show a list of all processes owned by a specific user (for example, `debugpoint`): + +``` +$ w debugpoint +``` + +### Closing Notes + +I hope this article helps you to understand w command and its basics. You can also read the [w man pages][5] to learn more. Let me know if you have any questions. + +**This article is part of the [Linux command][2] learning series**. + +[_Using Mastodon? Follow us at floss.social/@debugpoint_][6] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/w-command-linux-examples/ + +作者:[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/2023/01/whead.jpg +[2]: https://www.debugpoint.com/category/linux-commands +[3]: https://www.debugpoint.com/wp-content/uploads/2023/01/a-basic-outout-of-w-command-in-Linux.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2023/01/w-command-output-for-a-demo-multi-user-environment.jpg +[5]: https://linux.die.net/man/1/w +[6]: https://floss.social/@debugpoint From 2cd2072bd540d21210ebfec45c2b991db74f30eb Mon Sep 17 00:00:00 2001 From: Figaro Cao Date: Sat, 7 Jan 2023 20:29:56 +0800 Subject: [PATCH 920/925] Finished translating of Create a timer on Linux Finished translating of Create a timer on Linux --- .../tech/20211012 Create a timer on Linux.md | 87 ++++++++++--------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/sources/tech/20211012 Create a timer on Linux.md b/sources/tech/20211012 Create a timer on Linux.md index ff4f334435..12934668ca 100644 --- a/sources/tech/20211012 Create a timer on Linux.md +++ b/sources/tech/20211012 Create a timer on Linux.md @@ -7,32 +7,33 @@ [#]: publisher: " " [#]: url: " " -Create a timer on Linux +在Linux中创建计时器 ====== -A tutorial showing how to create a POSIX-compliant interval timer. +这是一个演示如何创建POSIX兼容的间隔计时器的教程 + ![Team checklist][1] -The timing of certain events is a common task for a developer. Common scenarios for timers are watchdogs, cyclic execution of tasks, or scheduling events for a specific time. In this article, I show how to create a POSIX-compliant interval timer using [timer_create(...)][2]. +对开发人员来说,确定某些事件的时间是一项常见任务。 计时器的常见场景是监督任务的循环执行或在特定时间安排事件。 在这篇文章中,我将演示如何使用 [timer_create(...)][2]创建一个POSIX兼容的间隔计时器。 -You can download the source code for the following examples from [GitHub][3]. +你可以从[GitHub][3]下载下面样例的源代码。 -### Prepare Qt Creator +### 准备 Qt Creator -I used [Qt Creator][4] as the IDE for this example. To run and debug the example code in Qt Creator, clone the [GitHub][3] repository, open Qt Creator, and go to **File -> Open File or Project...** and choose the **CMakeLists.txt**: +我使用[Qt Creator][4]作为样例的IDE。为了在Qt Creator运行和调试样例代码,克隆[GitHub][3]仓库,打开Qt Creator,在**File -> Open File or Project...** 并选择 **CMakeLists.txt**: ![Qt Creator open project][5] -Open a project in Qt Creator (CC-BY-SA 4.0) +在Qt Creator中打开项目 (CC-BY-SA 4.0) -After selecting the toolchain, click on **Configure Project**. The project contains three independent examples (we will only cover two of them in this article). With the green-marked menu, switch between the configurations for each example and activate **Run in terminal** for each of them (see the yellow mark below). The currently active example for building and debugging can be selected over the **Debug** button on the bottom left corner (see the orange mark below): +选择工具链之后,点击 **Configure Project**。这个项目包括三个独立的样例(我们在这篇文章中将只会用到其中的两个)。使用绿色标记出来的菜单,可以在每个样例的配置之间切换,并为每个样例激活在终端运行**Run in terminal**(用黄色标记)。当前用于构建和调试的活动示例可以通过左下角的**Debug**按钮进行选择(参见下面的橙色标记)。 ![Project configuration][6] -Project configuration (CC-BY-SA 4.0) +项目配置 (CC-BY-SA 4.0) -### Threading timer +### 线程计时器 -Let's take a look at the _simple_threading_timer.c_ example. This is the simplest one: It shows how an interval timer is created, which calls the function **expired** on expiration. On each expiration, a new thread is created in which the function **expiration** is called. +让我们看看_simple_threading_timer.c_样例。这是最简单的一个。它展示了一个调用了超时函数**expired**的间隔计时器是如何被创建的。 ``` @@ -59,11 +60,11 @@ int main()     struct t_eventData eventData = { .myData = 0 }; -    /*  sigevent specifies behaviour on expiration  */ + /* sigevent指定了过期时要执行的操作 */     struct sigevent sev = { 0 }; -    /* specify start delay and interval -     * it_value and it_interval must not be zero */ + /* 指定启动延时时间和间隔时间 + * it_value和it_interval不能为零 */     struct itimerspec its = {   .it_value.tv_sec  = 1,                                 .it_value.tv_nsec = 0, @@ -77,7 +78,7 @@ int main()     sev.sigev_notify_function = &expired;     sev.sigev_value.sival_ptr = &eventData; -    /* create timer */ + /* 创建计时器 */     res = timer_create(CLOCK_REALTIME, &sev, &timerId);     if (res != 0){ @@ -85,7 +86,7 @@ int main()         [exit][10](-1);     } -    /* start timer */ + /* 启动计时器 */     res = timer_settime(timerId, 0, &its, NULL);     if (res != 0){ @@ -104,24 +105,24 @@ void expired(union sigval timer_data){ } ``` -The advantage of this approach is its small footprint, in terms of code and simple debugging. The disadvantage is the additional overhead due to the creation of a new thread on expiration and, consequently, the less deterministic behavior. +这种方法的优点是在代码和简单的调试方面占用空间小。缺点是由于到期时创建新线程而增加额外的开销和因此导致的不太确定的结果。 -### Interrupt Signal Timer +### 中断信号计时器 -Another possibility to be notified by an expired timer is based on a [kernel signal][12]. Instead of creating a new thread each time the timer expires, the kernel sends a signal to the process, the process is interrupted, and the corresponding signal handler is called. +超时计时器通知的另一种可能性是基于[内核信号][12]。 内核不是在每次计时器过期时创建一个新线程,而是向进程发送一个信号,进程被中断,并调用相应的信号处理程序。 -As the default action when receiving a signal is to terminate the process (see [signal][13] man page), we have to prepare Qt Creator in advance so that properly debugging is possible. +由于接收信号时的默认操作是终止进程(参考[信号][13]手册页),我们必须要提前准备Qt Creator,以便进行正确的调试。 -The default behavior of Qt Creator when the debuggee receives a signal is: +当被调试对象接收到一个信号时,Qt Creator的默认行为是: - * Interrupt execution and switch to the debugger context. - * Display a pop-up window that notifies the user about the reception of a signal. + * 中断执行并切换到调试器上下文。 + * 显示一个弹出窗口,通知用户接收到信号。 -Both actions are not wanted as the reception of a signal is part of our application. +这两种操作都不需要,因为信号的接收是我们应用程序的一部分。 -Qt Creator uses GDB in the background. In order to prevent GDB from stopping the execution when the process receives a signal, go to **Tools** -> **Options**, select **Debugger**, and navigate to **Locals & Expressions**. Add the following expression to _Debugging Helper Customization_: +Qt Creator在后台使用GDB。为了防止GDB在进程接收到信号时停止执行,在“工具”菜单**Tools** -> **Options**,选择 **Debugger**,并导航到**Locals & Expressions**。添加下面的表达式到_Debugging Helper Customization_: ``` @@ -130,23 +131,23 @@ Qt Creator uses GDB in the background. In order to prevent GDB from stopping the ![Signal no stop with error][14] -Sig 34 no stop with error (CC-BY-SA 4.0) +Sig 34 发生错误时未停止 (CC-BY-SA 4.0) -You can find more information about GDB signal handling in the [GDB documentation][15]. +你可以在[GDB documentation][15]找到更多关于GDB信号处理的信息。 -Next, we want to suppress the pop-up window that notifies us every time a signal is received when we stop in the signal handler: +接下来,当我们在信号处理程序中停止时,我们想要抑制每次接收到信号时通知我们的弹出窗口: ![Signal 34 pop up box][16] -Signal 34 pop-up box (CC-BY-SA 4.0) +Signal 34 弹出窗口 (CC-BY-SA 4.0) -To do so, navigate to the tab **GDB** and uncheck the marked checkbox: +为此,导航到**GDB**标签并取消勾选标记的复选框: ![Timer signal windows][17] -Timer signal windows (CC-BY-SA 4.0) +计时器信号窗口 (CC-BY-SA 4.0) -Now you can properly debug the _signal_interrupt_timer_. The actual implementation of the signal timer is a bit more complex: +现在你可以正确的调试_signal_interrupt_timer_。真正的信号计时器的实施会更复杂一些: ``` @@ -177,10 +178,10 @@ int main()     struct sigevent sev = { 0 };     struct t_eventData eventData = { .myData = 0 }; -    /* specifies the action when receiving a signal */ + /* 指定收到信号时的操作 */     struct sigaction sa = { 0 }; -    /* specify start delay and interval */ + /* 指定启动延时的时间和间隔时间 */     struct itimerspec its = {   .it_value.tv_sec  = 1,                                 .it_value.tv_nsec = 0,                                 .it_interval.tv_sec  = 1, @@ -193,7 +194,7 @@ int main()     sev.sigev_signo = SIGRTMIN;     sev.sigev_value.sival_ptr = &eventData; -    /* create timer */ + /* 创建计时器 */     res = timer_create(CLOCK_REALTIME, &sev, &timerId);     if ( res != 0){ @@ -201,22 +202,22 @@ int main()         [exit][10](-1);     } -    /* specifz signal and handler */ + /* 指定信号和处理程序 */     sa.sa_flags = SA_SIGINFO;     sa.sa_sigaction = handler; -    /* Initialize signal */ + /* 初始化信号 */     sigemptyset(&sa.sa_mask);     [printf][7]("Establishing handler for signal %d\n", SIGRTMIN); -    /* Register signal handler */ + /* 注册信号处理程序 */     if (sigaction(SIGRTMIN, &sa, NULL) == -1){         [fprintf][8](stderr, "Error sigaction: %s\n", [strerror][9](errno));         [exit][10](-1);     } -    /* start timer */ + /* 启动计时器 */     res = timer_settime(timerId, 0, &its, NULL);     if ( res != 0){ @@ -239,11 +240,11 @@ handler(int sig, siginfo_t *si, void *uc) } ``` -In contrast to the threading timer, we have to initialize the signal and register a signal handler. This approach is more performant as it won't cause the creation of additional threads. For this reason, the execution of the signal handler is also more deterministic. The drawback is clearly the extra configuration effort to debug this properly. +与线程计时器相反,我们必须初始化信号并注册一个信号处理程序。这种方法性能更好,因为它不会导致创建额外的线程。因此,信号处理程序的执行也更加确定。缺点显然是正确调试需要额外的配置工作。 -### Summary +### 总结 -Both methods described in this article are close-to-the-kernel implementations of timers. Even if the [timer_create(...)][2] function is part of the POSIX specification, it is not possible to compile the sample code on a FreeBSD system due to small differences in data structures. Besides this drawback, such an implementation gives you fine-grained control for general-purpose timing applications. +本文中描述的两种方法都是计时器的接近内核的实现。即使[timer_create(...)][2]函数是POSIX规范的一部分, 在FreeBSD系统上编译样例代码是不可能的,因为数据结构的差异很小。除了这个缺点之外,这种实现还为通用计时应用程序提供了细粒度控制。 -------------------------------------------------------------------------------- @@ -251,7 +252,7 @@ via: https://opensource.com/article/21/10/linux-timers 作者:[Stephan Avenwedde][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[FigaroCao](https://github.com/FigaroCao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9a0754fb0add8391379a89e0e27a91be24bd09ed Mon Sep 17 00:00:00 2001 From: Figaro Cao Date: Sat, 7 Jan 2023 20:34:14 +0800 Subject: [PATCH 921/925] Rename sources/tech/20211012 Create a timer on Linux.md to translated/tech/20211012 Create a timer on Linux.md moved to translated folder --- {sources => translated}/tech/20211012 Create a timer on Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20211012 Create a timer on Linux.md (100%) diff --git a/sources/tech/20211012 Create a timer on Linux.md b/translated/tech/20211012 Create a timer on Linux.md similarity index 100% rename from sources/tech/20211012 Create a timer on Linux.md rename to translated/tech/20211012 Create a timer on Linux.md From 8c60a4a9612e2ead3f20c1d2cf300294eb9cec63 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 8 Jan 2023 11:33:44 +0800 Subject: [PATCH 922/925] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CanYellow https://linux.cn/article-15423-1.html 很棒! --- ...20210718 Is Open-Source Software Secure.md | 105 +++++++++--------- 1 file changed, 53 insertions(+), 52 deletions(-) rename {translated/talk => published}/20210718 Is Open-Source Software Secure.md (51%) diff --git a/translated/talk/20210718 Is Open-Source Software Secure.md b/published/20210718 Is Open-Source Software Secure.md similarity index 51% rename from translated/talk/20210718 Is Open-Source Software Secure.md rename to published/20210718 Is Open-Source Software Secure.md index 7e0b33aec4..cc02f9b43e 100644 --- a/translated/talk/20210718 Is Open-Source Software Secure.md +++ b/published/20210718 Is Open-Source Software Secure.md @@ -3,18 +3,20 @@ [#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/) [#]: collector: (lujun9972) [#]: translator: (CanYellow) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15423-1.html) 开源软件安全吗? ====== -作为一个偏爱 [Linux桌面发行版][1] 并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的**肯定**回答。 +![][0] -然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多的内容吧! +作为一个偏爱 [在桌面电脑上使用 Linux][1],并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的**肯定**回答。 -本文,我计划分享我关于开源软件是否安全的思考以及哪些事情与开源软件的安全性相关。 +然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多观点! + +在本文,我计划分享我关于开源软件是否安全的思考,以及哪些事情与开源软件的安全性相关。 ### 为什么你需要关注开源软件是否安全? @@ -22,123 +24,119 @@ 举个例子,大多数专有软件工具依赖于某种形式的开源库来保证其正常工作。 -此外,各种规模的公司(包括 Google、Microsoft 和 Facebook )依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。 +此外,各种规模的公司(包括谷歌、微软和 Facebook)依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。 因此,开源软件的安全性是有必要了解的。 -### 有关开源软件安全性的谣言 +### 有关开源软件安全性的迷思 ![][3] 虽然有多种理由证明开源软件在安全性方面的缺陷,然而其中一些实际毫无意义。 -#### 任何人都可以查看 & 恶意利用开源软件代码 +#### 任何人都可以查看并恶意利用开源软件代码 是的,开源软件代码对于任何人都是可访问的。但是你可以查看代码并不意味着你可以利用它。 -**不现实** +**不现实。** -即使任何人都可以克隆(或者拷贝)该软件,原始软件也不能轻易地被修改使用。 +即使任何人都可以复刻(或者拷贝)该软件,原始软件也不能轻易地被修改使用。 -通常,项目维护人员(或者维护团队)管理代码仓库并且接受来自贡献者的提交。开源软件代码在接受之前被审查。没有人可以像那样劫持代码。 +通常,项目维护人员(或者维护团队)管理代码仓库,并且接受来自贡献者的提交。开源软件代码在接受之前会被审查。没有人可以就这样劫持代码。 -**不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码** +**不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码。** -#### 失去专用资源,安全性无从谈起 +#### 没有专职团队,安全性无从谈起 很多人相信如果开源软件没有专职人员或者专职团队,维护软件安全性是困难的。 -恰恰相反,由于各种个样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。 +恰恰相反,由于各种各样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。 -他们可能比由专用软件所聘用的少数开发者更能够发现安全问题。 +他们可能比由专有软件所聘用的少数开发者更能够发现安全问题。 一些来自 Mozilla 等同类公司的项目拥有自己的专职团队来高效处理安全问题。同样的,大部分成功的开源项目拥有大量的资源用于保障安全性。 -因此,开源软件的生态系统是安全性的组合包。即使没有专职资源,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。 +因此,开源软件的生态系统是安全性的组合包。即使没有专职团队,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。 ### 开源软件是安全的,以下是原因 -![][3] +![][5] -既然我们已经解决了有关开源软件安全性的谣言,让我重点展示一下开源软件是如何处理安全问题的。 +既然我们已经澄清了这些有关开源软件安全性的迷思,让我重点展示一下开源软件是如何处理安全问题的。 换句话说,开源软件在安全性上的优势。 -请不要忘记,开源软件的优势也是 [ Linux 比 Windows 更好][4]的一些原因。 +请不要忘记,开源软件的优势也是 [Linux 比 Windows 更好][4] 的一些原因。 #### 更多的眼晴关注开源软件代码 -不像专有软件,代码访问仅不限于少数开发者。 +不像专有软件,(对开源软件的)代码访问并不局限于少数几个开发者。 -一些开源项目甚至可能拥有数以万记的开发者查看代码、审查它们并标记和修复其中的安全性问题。 +一些开源项目甚至可能拥有数以万记的开发者可以查看代码、审查它们并标记和修复其中的安全性问题。 -这给予了开源项目拥有**快速识别问题并尽快修复它们的能力**的相比闭源软件的优势。 +相比闭源软件,这给予了开源项目拥有**快速识别问题并尽快修复它们的能力**的优势。 不仅仅限于拥有更多的开发者,企业通常也会参与他们所使用的开源项目。当他们这样做的时候,他们也会查阅代码并审查它们。 -这提供了外部审查的另一条途径,而这可能有助于提升开源软件的安全性。 +这提供了另一条外部审查的途径,而这可能有助于提升开源软件的安全性。 -反之,就闭源软件而言,有限人数的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。 +反之,就闭源软件而言,数量有限的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。 #### 社区决定安全问题的优先级 闭源软件的开发者可能在处理什么问题和什么时候解决问题等方面有某些限制或者优先等级。 -而如果是开源项目,贡献者社区可以自行决定优先级并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。 +而如果是开源项目,贡献者社区可以自行决定优先级,并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。 -着手处理和修复安全问题的决定在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处: +着手处理和修复安全问题的决策在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处: - * **透明度** - * **不依赖供应商** - * **更快的安全更新** + * 透明度 + * 不依赖供应商 + * 更快的安全更新 -### 开源软件不是刀枪不入的,以下是原因 +### 开源软件不是防弹的,以下是原因 -![][3] +![][6] -虽然有开源软件可能在安全性上具有优势的案例,然而仍有一些因素影响它。 +虽然在某些情况下,开源软件可能在安全性上具有优势,然而仍有一些因素影响它。 -承认这些问题的存在是很重要的,据此,企业或者个人可以就一款开源软件的安全情况做出更好的决定。 +承认这些问题的存在是很重要的,据此,企业或者个人可以就开源软件的安全情况做出更好的决定。 #### 并无足够的眼睛来审查代码和不确定性 -即使开源软件代码可以由全世界的开发者自由访问,**项目没有足够的贡献者/开发者彻底审查开源代码**的可能性仍然存在。 +即使开源软件代码可以被全世界的开发者自由访问,**项目没有足够的贡献者/开发者彻底审查开源代码**的可能性仍然存在。 -既如此,我们不能对经同行审查的开源软件抱有极高的信心,因为它恰好缺失了这一点。 +既如此,我们不能对开源软件的同行审查抱有极高的信心,因为它恰好缺失了这一点。 开源软件可能“声称”拥有最高的安全性因为它们是开源的。在没有足够的开发者致力于该项目时,这是一种误导。 -同样,我们也无从得知有多少开发者在查看/检查代码以及代码走查在多大程度上进行。 +同样,我们也无从得知有多少开发者在查看/检查代码,也不知道代码的检查进行到什么程度了。 -举例而言,心脏出血漏洞([Heartbleed][T1])是在其在广泛使用项目—— **OpenSSL** ——中引入了2年以后才被发现的。 +举例而言,[心脏出血漏洞][T1]Heartbleed 是在一个被广泛使用的项目(OpenSSL)中引入了 2 年以后才被发现的。 -#### 软件责任与义务 +#### 软件责任与问责 对于个人用户这可能并不重要,但是**开源项目通常并无任何保证**。 因此,如果一家公司使用它,它们必须自行承担任何由该软件使用造成的数据丢失与损坏。 -这告诉你没有什么是100%安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,可能是安全风险可能是数据丢失。 +这告诉你,没有什么是 100% 安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,无论是安全风险还是数据丢失。 -这告诉我们一个现实:开源软件并非刀枪不入。 +这告诉我们一个现实:开源软件并非防弹的。 ### 开源软件有其更高安全性的优势,但是... 就安全性而言没有什么优胜者。不论是闭源还是开源,当涉及安全问题时都适用同一套原则。 -有很多外部因素可以印象软件安全性,而**其中很多都不是来源相关的**。 +有很多外部因素可以影响软件安全性,而**其中很多因素并不依赖于源代码**。 -代码必须被以某种形式监控以保证安全。 +必须以某种形式监控代码,以保证安全。 -是的,**开源道路提供了闭源软件所不具备的优势**,但是这并不意味着开源软件是刀枪不入的。 +是的,**开源道路提供了闭源软件所不具备的优势**,但是这并不意味着开源软件是防弹的。 -_你对开源软件安全状况有何思考?_ _你又是否认为开源软件比专有软件解决方案更好呢?_ +_你对开源软件安全状况有何思考?你又是否认为开源软件比专有软件解决方案更好呢?_ -提前感谢您在下面的评论中提出的宝贵意见。 - -#### 大型科技网站坐拥百万收入,而 It's FOSS 拥有每一个你! - -如果你喜欢我们在 It's FOSS 中所做的工作,请您考虑捐赠以支持我们的独立出版物。你的支持将有助于我们继续发布有关 Linux 桌面版以及开源软件的内容。 +提前感谢你在下面的评论中提出的宝贵意见。 -------------------------------------------------------------------------------- @@ -147,7 +145,7 @@ via: https://news.itsfoss.com/open-source-software-security/ 作者:[Ankush Das][a] 选题:[lujun9972][b] 译者:[CanYellow](https://github.com/CanYellow) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -155,7 +153,10 @@ via: https://news.itsfoss.com/open-source-software-security/ [b]: https://github.com/lujun9972 [1]: https://news.itsfoss.com/linux-foundation-linux-desktop/ [2]: https://itsfoss.com/what-is-linux-distribution/ -[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzOSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4= +[3]: https://news.itsfoss.com/content/images/wordpress/2021/07/hacker-exploit-illustration.png [4]: https://itsfoss.com/linux-better-than-windows/ +[5]: https://news.itsfoss.com/content/images/wordpress/2021/07/open-source-security-illustration.png +[6]: https://news.itsfoss.com/content/images/wordpress/2021/07/open-source-security-issue.jpg [T1]: https://www.cve.org/CVERecord?id=CVE-2014-0160 +[0]: https://news.itsfoss.com/content/images/size/w2000/wordpress/2021/07/open-source-security.jpg \ No newline at end of file From f576c5bfa3fd4dd6595cc4ca253b9060cf10a8ed Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 8 Jan 2023 12:53:01 +0800 Subject: [PATCH 923/925] ALL @wxy https://linux.cn/article-15424-1.html --- ...es These 3 Key Improvements for Linux Users.md | 97 +++++++++++++++++++ ...es These 3 Key Improvements for Linux Users.md | 97 ------------------- 2 files changed, 97 insertions(+), 97 deletions(-) create mode 100644 published/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md delete mode 100644 sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md diff --git a/published/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md b/published/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md new file mode 100644 index 0000000000..9d332fdddd --- /dev/null +++ b/published/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md @@ -0,0 +1,97 @@ +[#]: subject: "Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users" +[#]: via: "https://news.itsfoss.com/budgie-10-7-features/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15424-1.html" + +Budgie 10.7 即将带来 3 项关键改进 +====== + +> Budgie 10.7 有很多有价值的改进。请看本文。 + +![][1] + +Budgie 是一个旨在将杂乱无章降到最低,为用户提供一个干净/简约的体验的桌面环境。 + +早在 2022 年 1 月,Solus 的前联合负责人 Joshua Strobl [离开了 Solus][2],从事 [SerpentOS][3] 的开发,但他还继续参与 Budgie 的开发。 + +因此,他将该项目复刻到一个新的代码仓库,并成立了 [Buddies Of Budgie][4] 组织。三个月后,他们发布了 **Budgie 10.6**。 + +这是一个很不错的版本,即使不是很特别。 + +展望未来,他们发布了 2023 年的计划,其中包括发布 **Budgie 10.7**。 + +[Joshua Strobl][5] 在博文中也提到了更多计划内容: + +> 至少,它应该是一个很好的基础,并为 Budgie 桌面今年的发展方向提供一个清晰的蓝图:Budgie 10.x 将会增加新的功能、QoL 改进和修复。Budgie 11 的开发工作也将起步。 + +### Budgie 10.7 可以期待什么? + +Budgie 10.7 的开发工作自去年以来一直在进行。它本应在 2022 年发布,但需要更多的时间来提供一个完美的体验。 + +已经完成了很多工作,但其中一些值得注意的三个变化是: + +- 对 Budgie 菜单的更新 +- 新的 Budgie 屏幕截图工具 +- 对 Budgie 运行对话框的改进 + +#### 对 Budgie 菜单的更新 + +![Budgie 10.7 菜单][6] + +在这个版本中,Budgie 菜单将得到一些改进,例如。 + +- 一个新的电源菜单,包含所有常用的选项,如**暂停、休眠、注销和关闭电源**。 +- 更新的个人用户菜单可以快速访问 XDG 目录。这将让你直接打开文件管理器窗口进入主页、文档、音乐等文件夹。 +- 快速访问 Budgie 控制中心和桌面设置。 +- 能够从菜单本身显示各种桌面设置。 + +#### Budgie 屏幕截图工具 + +![Budgie 10.7 屏幕截图工具][7] + +终于,你不再需要下载另一个工具来在 Budgie 上进行截图;从 10.7 开始,它将具有一个原生的屏幕截图应用程序。 + +它将支持对屏幕、窗口的捕捉,甚至是进行选区捕捉。 + +#### 对 Budgie 运行对话框的改进 + +![Budgie 10.7 运行对话框][8] + +Budgie 运行对话框将获得许多改进,例如: + +- 一个新的应用程序索引器将被用于 Budgie 菜单,以寻找和分类应用程序。它应该能提供一个 “可预测的模糊搜索体验”。 +- 根据显示器的工作区域改进对话框的大小计算。 +- 更好的应用程序名称和描述的标签样式。 + +### 发布和未来计划 + +根据他们的 [公告][9],他们打算在 2023 年第一季度的某个时候发布 Budgie 10.7。他们还没有确定一个具体的日期。 + +并计划在不久之后发布带有错误修复的 10.7.1 版本,然后在 2023 年第二季度发布 Budgie 10.8。 + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/budgie-10-7-features/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/budgie-10-7-release.png +[2]: https://news.itsfoss.com/solus-co-lead-resign-budgie-serpent/ +[3]: https://serpentos.com +[4]: https://blog.buddiesofbudgie.org +[5]: https://joshuastrobl.com +[6]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Menu.jpg +[7]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_SS.png +[8]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Run.jpg +[9]: https://blog.buddiesofbudgie.org/state-of-the-budgie-2022/ diff --git a/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md b/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md deleted file mode 100644 index 461694fa92..0000000000 --- a/sources/news/20230106.2 ⭐️ Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users.md +++ /dev/null @@ -1,97 +0,0 @@ -[#]: subject: "Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users" -[#]: via: "https://news.itsfoss.com/budgie-10-7-features/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users -====== - -Budgie 10.7 is packed with valuable improvements. Check them out here. - -![Budgie's Upcoming 10.7 Release Promises These 3 Key Improvements for Linux Users][1] - -Budgie is a desktop environment designed to keep clutter to a minimum and provide users with a clean/minimal experience. - -Back in January 2022, the former-co-lead of Solus, **Joshua Strobl**[left Solus][2] to work on [SerpentOS][3], but he continued to work on Budgie. - -So, he forked the project into a new repository and formed the [Buddies Of Budgie][4] organization. Three months after that, they released **Budgie 10.6**. - -It was a good release, if not extraordinary. - -Moving forward, they have shared the plans for 2023 which include the release of **Budgie 10.7**. - -[Joshua Strobl][5] also mentioned more about the plans in the blog post: - -> At the very least, it should serve as a good foundation to build on and provide a clear picture on where Budgie Desktop is going this year: Budgie 10.x will receive new features, QoL improvements, and fixes. Budgie 11 development will be underway. - -### Budgie 10.7: What Can You Expect? - -The development of Budgie 10.7 has been going on since last year. It was supposed to release in 2022, but more time was required to serve a polished experience. - -A lot of work has been done, but some of the notable ones include the following three changes: - -- **Updates to Budgie Menu** -- **New Budgie Screenshot Tool** -- **Improvements to Budgie Run Dialog** - -#### Updates to Budgie Menu - -![budgie 10.7 menu][6] - -For this release, Budgie Menu is set to receive several improvements, such as: - -- A new power menu with all the usual options, such as **Suspend, Hibernate, Logout, and Power Off**. -- Updated personal user menu with quick XDG directory access. This will let you open a file manager window directly into folders like Home, Documents, Music, etc. -- Quick access to Budgie Control Center and Desktop Settings. -- Ability to show various desktop settings from the menu itself. - -#### Budgie Screenshot Tool - -![budgie 10.7 screenshot tool][7] - -Finally, you won't need to download another tool to take a screenshot on Budgie; from 10.7 onwards, it will feature a native screenshot application. - -It will have capture support for the screen, window, and even selection capture! - -#### Improvements to Budgie Run Dialog - -![budgie 10.7 run dialog][8] - -The Budgie Run dialog will receive many improvements, such as: - -- A new application indexer will be used for Budgie Menu to find and sort applications. It is supposed to provide a 'predictable fuzzy search experience'. -- Improved calculation of dialog sizing according to the work area of the monitor. -- Better styling of labels for application names and descriptions. - -### Release & Future Plans - -According to their [announcement][9], they intend to release Budgie 10.7 sometime in **Q1, 2023.** They haven't settled for a specific date yet. - -A 10.7.1 release with bug fixes has been planned soon after, and the release of **Budgie 10.8** in Q2, 2023. - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/budgie-10-7-features/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w2000/2023/01/budgie-10-7-release.png -[2]: https://news.itsfoss.com/solus-co-lead-resign-budgie-serpent/ -[3]: https://serpentos.com -[4]: https://blog.buddiesofbudgie.org -[5]: https://joshuastrobl.com -[6]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Menu.jpg -[7]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_SS.png -[8]: https://news.itsfoss.com/content/images/2023/01/Budgie_10.7_Preview_Run.jpg -[9]: https://blog.buddiesofbudgie.org/state-of-the-budgie-2022/ From 7e745ce427c2fbe394acd463af1c6507ea523a59 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 9 Jan 2023 08:54:09 +0800 Subject: [PATCH 924/925] translated --- ... ⭐️ How to read and write files in Rust.md | 110 ----------------- ... ⭐️ How to read and write files in Rust.md | 111 ++++++++++++++++++ 2 files changed, 111 insertions(+), 110 deletions(-) delete mode 100644 sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md create mode 100644 translated/tech/20230102.0 ⭐️ How to read and write files in Rust.md diff --git a/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md b/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md deleted file mode 100644 index ac4a7ee73e..0000000000 --- a/sources/tech/20230102.0 ⭐️ How to read and write files in Rust.md +++ /dev/null @@ -1,110 +0,0 @@ -[#]: subject: "How to read and write files in Rust" -[#]: via: "https://opensource.com/article/23/1/read-write-files-rust" -[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to read and write files in Rust -====== - -Knowing how to read and write files can be useful for various purposes. In Rust, this task is done using the file system module ([std::fs][1]) in the standard library. In this article, I'll give you an overview on how to use this module. - -To demonstrate this task, I prepared example code which is also available on [GitHub][2]. - -### Preparation - -When using Rust, a function that fails returns the [Result][3] type. The file system module in particular returns the specialized type [std::io::Result][4]. With this knowledge, you can return the same type from the `main()` function: - -``` -fn main() -> std::io::Result<()> { -/* ...code comes here... */ -``` - -### Writing Rust files - -Performing file I/O-operations in Rust is relatively easy. Writing to a file can be simplified to one line: - -``` -use std::fs; -fs::write("favorite_websites.txt", b"opensource.com")?; -Ok(()) -``` - -Using the error propagation operator `(?)`, the error information gets passed on to the calling function where the error can subsequently be handled. As `main()` is the only other function in the call stack, the error information gets passed on to the console output in case the write operation failed. - -The syntax of the [fs::write][5] function is quite forward. The first argument is the file path, which must be the type [std::path::Path][6]. The second argument is the content, which is actually a slice of bytes (`[u8]`). Rust converts the arguments passed into the correct type. Luckily, these types are basically the only types dealt with in the following examples. - -A more concise access of the write operation can be achieved using the file descriptor type [std::fs::File][7]: - -``` -let mut file = fs::File::create("favorite_websites.txt")?; -file.write_all(b"opensource.com\n")?; -Ok(()) -``` - -As the file type implements the [Write][8] trait, it is possible to use the associated methods to write to the file. However, the `create` method can overwrite an already existing file. - -To get even more control of the file descriptor, the type [std::fs::OpenOptions][9] must be used. This provides opening modes similar to the ones in other languages: - -``` -let mut file = fs::OpenOptions::new() - .append(true) - .open("favorite_websites.txt")?; - -file.write_all(b"sourceforge.net\n")?; -``` - -### Reading Rust files - -What applies to writing also applies to reading. Reading can also be done with a simple one-line of code: - -``` -let websites = fs::read_to_string("favorite_websites.txt")?; -``` - -The above line reads the content of the file and returns a string. In addition to reading a string, there is also the [std::fs::read][10] function which reads the data into a vector of bytes if the file contains binary data. - -The next example shows how to read the content of the file into memory and subsequently print it line by line to a console: - -``` -let file = fs::File::open("favorite_websites.txt")?; -let lines = io::BufReader::new(file).lines(); - -for line in lines { - if let Ok(_line) = line { - println!(">>> {}", _line); - } -} -``` - -### Summary - -If you are already familiar with other programming languages, you may have noticed that there is `no close-`function (or something similar) that releases the file handle. In Rust, the file handle is released as soon as the related variable goes out of scope. To define the closing behavior, a scope `({ })` around the file representation can be applied. I recommend that you get familiar with [Read][11] and [Write][8] trait as you can find this trait implemented in many other types. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/23/1/read-write-files-rust - -作者:[Stephan Avenwedde][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/hansic99 -[b]: https://github.com/lkxed -[1]: https://doc.rust-lang.org/std/fs/ -[2]: https://github.com/hANSIc99/rust_file_io -[3]: https://doc.rust-lang.org/std/result/enum.Result.html -[4]: https://doc.rust-lang.org/std/io/type.Result.html -[5]: https://doc.rust-lang.org/std/fs/fn.write.html -[6]: https://doc.rust-lang.org/std/path/struct.Path.html -[7]: https://doc.rust-lang.org/std/fs/struct.File.html -[8]: https://doc.rust-lang.org/std/io/trait.Write.html -[9]: https://doc.rust-lang.org/std/fs/struct.OpenOptions.html# -[10]: https://doc.rust-lang.org/std/fs/fn.read.html -[11]: https://doc.rust-lang.org/std/io/trait.Read.html diff --git a/translated/tech/20230102.0 ⭐️ How to read and write files in Rust.md b/translated/tech/20230102.0 ⭐️ How to read and write files in Rust.md new file mode 100644 index 0000000000..4a0453ae31 --- /dev/null +++ b/translated/tech/20230102.0 ⭐️ How to read and write files in Rust.md @@ -0,0 +1,111 @@ +[#]: subject: "How to read and write files in Rust" +[#]: via: "https://opensource.com/article/23/1/read-write-files-rust" +[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Rust 中读取和写入文件 +====== + +知道如何读写文件对各种用途都很有用。在 Rust 中,这项任务是通过标准库中的文件系统模块([std::fs][1])完成的。在这篇文章中,我将向你介绍如何使用这个模块。 + +为了演示这项任务,我准备了一些示例代码,也可以在 [GitHub][2] 上找到。 + +### 准备工作 + +在使用 Rust 时,失败的函数会返回 [Result][3] 类型。尤其是文件系统模块会返回专门的类型 [std::io::Result][4]。有了这些知识,你可以从 `main()` 函数中返回相同的类型: + +``` +fn main() -> std::io::Result<()> { +/* ...code comes here... */ +``` + +### Rust 文件写入 + +在 Rust 中执行文件的 I/O 操作是相对容易的。写入文件可以简化为一行: + +``` +use std::fs; +fs::write("favorite_websites.txt", b"opensource.com")?; +Ok(()) +``` + +使用错误传播操作符 `(?)`,错误信息被传递到调用函数中,随后可以处理错误。由于 `main()` 是调用栈中唯一的其他函数,如果写操作失败,错误信息将被传递到控制台输出。 + +[fs::write][5] 函数的语法是非常先进的。第一个参数是文件路径,它必须是 [std::path::Path][6] 类型。第二个参数是内容,它实际上是一个字节切片(`[u8]`)。Rust 将传递的参数转换为正确的类型。幸运的是,这些类型基本上是下面的例子中所处理的唯一类型。 + +使用文件描述符类型 [std::fs::File][7] 可以实现对写操作更简洁的访问: + +``` +let mut file = fs::File::create("favorite_websites.txt")?; +file.write_all(b"opensource.com\n")?; +Ok(()) +``` + +由于文件类型实现了 [Write][8] 特性,所以可以使用相关的方法来写入文件。然而,`create` 方法可以覆盖一个已经存在的文件。 + +为了获得对文件描述符的更多控制,必须使用 [std::fs::OpenOptions][9] 类型。这提供了类似于其他语言中的打开模式: + +``` +let mut file = fs::OpenOptions::new() + .append(true) + .open("favorite_websites.txt")?; + +file.write_all(b"sourceforge.net\n")?; +``` + +### Rust 文件读取 + +适用于写的东西也适用于读。读取也可以通过简单的一行代码来完成: + +``` +let websites = fs::read_to_string("favorite_websites.txt")?; +``` + +以上一行读取文件的内容并返回一个字符串。除了读取字符串,还有 [std::fs::read][10] 函数,如果文件包含二进制数据,该函数会将数据读成一个字节向量。 + +下一个例子显示了如何将文件的内容读入内存,随后逐行打印到控制台: + +``` +let file = fs::File::open("favorite_websites.txt")?; +let lines = io::BufReader::new(file).lines(); + +for line in lines { + if let Ok(_line) = line { + println!(">>> {}", _line); + } +} +``` + +### 总结 + +如果你已经熟悉了其他编程语言,你可能已经注意到没有 `close-` 函数(或类似的)来释放文件句柄。在 Rust 中,当相关变量超出作用域,文件句柄就会被释放。为了定义关闭行为,可以在文件表示的周围应用作用域 `({ })`。我建议你熟悉 [Read][11] 和 [Write][8] 特性,因为你可以在许多其他类型中找到这个特性的实现。 + + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/23/1/read-write-files-rust + +作者:[Stephan Avenwedde][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/hansic99 +[b]: https://github.com/lkxed +[1]: https://doc.rust-lang.org/std/fs/ +[2]: https://github.com/hANSIc99/rust_file_io +[3]: https://doc.rust-lang.org/std/result/enum.Result.html +[4]: https://doc.rust-lang.org/std/io/type.Result.html +[5]: https://doc.rust-lang.org/std/fs/fn.write.html +[6]: https://doc.rust-lang.org/std/path/struct.Path.html +[7]: https://doc.rust-lang.org/std/fs/struct.File.html +[8]: https://doc.rust-lang.org/std/io/trait.Write.html +[9]: https://doc.rust-lang.org/std/fs/struct.OpenOptions.html# +[10]: https://doc.rust-lang.org/std/fs/fn.read.html +[11]: https://doc.rust-lang.org/std/io/trait.Read.html From ca6fd3d3ee58e00f649594919d6e73973c1be76e Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 9 Jan 2023 09:01:25 +0800 Subject: [PATCH 925/925] translating --- ...0230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md b/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md index 960d1c4af8..23ae40eb72 100644 --- a/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md +++ b/sources/tech/20230107.0 ⭐️ Learn w Command in Linux & BSD with Examples.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/w-command-linux-examples/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " "