mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-12 01:40:10 +08:00
commit
48a2305d83
@ -0,0 +1,70 @@
|
||||
[#]: subject: "Check Java processes on Linux with the jps command"
|
||||
[#]: via: "https://opensource.com/article/21/10/check-java-jps"
|
||||
[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "unigeorge"
|
||||
[#]: reviewer: "turbokernel"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-13871-1.html"
|
||||
|
||||
在 Linux 上使用 jps 命令检查 Java 进程
|
||||
======
|
||||
|
||||
> 系统上运行着诸多进程,通过 `jps` 命令能够快速有效识别 Java 进程。
|
||||
|
||||

|
||||
|
||||
在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。每启动一个应用程序时,就会产生一个进程,但也有许多在计算机后台运行的进程,如保持系统时间准确的进程、监听新文件系统的进程、索引化文件的进程等。有一些可以用来监测这些进程的实用程序,比如包含在 [procps-ng 包][2] 中的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。
|
||||
|
||||
在 Linux 中,可以通过 `ps` 命令查看进程。这是查看当前系统上运行进程最简单的方法。
|
||||
|
||||
```
|
||||
$ ps
|
||||
PID TTY TIME CMD
|
||||
4486 pts/0 00:00:00 bash
|
||||
66930 pts/0 00:00:00 ps
|
||||
```
|
||||
|
||||
你也可以通过 `ps` 命令,并配合结果输出管道符进行 `grep`,从而查看系统上运行的 Java 进程,。
|
||||
|
||||
```
|
||||
$ ps ax |grep java
|
||||
67604 pts/1 Sl+ 0:18 /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-4.fc34.x86_64/bin/java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties -jar /home/alan/wildfly/24.0.1/jboss-modules.jar -mp /home/alan/wildfly/24.0.1/modules org.jboss.as.standalone -Djboss.home.dir=/home/alan/wildfly/24.0.1 -Djboss.server.base.dir=/home/alan/wildfly/24.0.1/standalone
|
||||
```
|
||||
|
||||
然而,OpenJDK 有自己专属的进程监视器。<ruby>Java 虚拟机进程状态<rt>Java Virtual Machine Process Status</rt></ruby>(jps)工具可以帮你扫描系统上所有运行的 Java 虚拟机(JVM)实例。
|
||||
|
||||
要想实现与 `ps` 命令类似的输出,可以使用 `-v` 选项。这很实用,这与 `ps` 相比,可以减少你的输入。
|
||||
|
||||
```
|
||||
$ jps -v
|
||||
67604 jboss-modules.jar -D[Standalone] -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties
|
||||
```
|
||||
|
||||
`jps` 命令的默认输出包含进程标识符,类名或 Jar 文件名。
|
||||
|
||||
```
|
||||
$ jps
|
||||
67604 jboss-modules.jar
|
||||
69430 Jps
|
||||
```
|
||||
|
||||
**注意:** `jps` 的手册页指出此命令是试验性且不受支持的。尽管如此,它仍然是一个不错的选择,因为一个系统通常运行着许多进程,这种只识别 Java 进程的快速方法是很有用的。
|
||||
|
||||
当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具包和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/10/check-java-jps
|
||||
|
||||
作者:[Alan Formy-Duval][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[unigeorge](https://github.com/unigeorge)
|
||||
校对:[turbokernel](https://github.com/turbokernel)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/alanfdoss
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/java-coffee-beans.jpg?itok=3hkjX5We (Coffee beans)
|
||||
[2]: https://opensource.com/article/21/8/linux-procps-ng
|
193
published/20211010 Best Linux Distributions Based on KDE.md
Normal file
193
published/20211010 Best Linux Distributions Based on KDE.md
Normal file
@ -0,0 +1,193 @@
|
||||
[#]: subject: "Best Linux Distributions Based on KDE"
|
||||
[#]: via: "https://itsfoss.com/best-kde-distributions/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "wxy"
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-13872-1.html"
|
||||
|
||||
基于 KDE 的最佳 Linux 发行版
|
||||
======
|
||||
|
||||

|
||||
|
||||
KDE 是目前最具定制性和最快速的桌面环境之一。虽然你可以随时安装 KDE,但最好选择一个 KDE 开箱即用的 Linux 发行版。
|
||||
|
||||
在这里,让我列出一些最好的基于 KDE 的 Linux 发行版。
|
||||
|
||||
无论你选择什么作为你的首选发行版,你都可以参考我们的 [KDE 定制指南][1] 来调整你的体验。
|
||||
|
||||
注意:该列表没有特定的排名顺序。
|
||||
|
||||
### 1、KDE Neon
|
||||
|
||||
![][2]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 官方 KDE 发行版
|
||||
* 最新的 KDE Plasma 稳定版
|
||||
* 专注于最新的 KDE 软件
|
||||
* 不是桌面发行版的完美替代品
|
||||
|
||||
如果你想获得 KDE Plasma 的最新体验,[KDE Neon][4] 是最佳选择之一。
|
||||
|
||||
即使它是建立在稳定版的 Ubuntu LTS 基础之上,你也总是能在最新的 KDE 版本发布后立即得到交付。
|
||||
|
||||
与其他发行版不同,它不注重完整的桌面用户体验,而是重点关注在 KDE 软件包上。所以,它可能不是每个人的完美桌面替代品。然而,如果你希望使用最新的 KDE 软件,KDE Neon 是一个不错的选择。
|
||||
|
||||
其“用户版”应该是你需要的,但如果你愿意尝试预先发布的功能,你也可以选择尝试“测试版”或“不稳定版”。
|
||||
|
||||
如果你想知道它与 Kubuntu 有什么不同,你应该查看 [KDE Neon vs Kubuntu][3] 的比较来探索它。
|
||||
|
||||
### 2、Kubuntu
|
||||
|
||||
![][5]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 基于 Ubuntu 的以桌面为重点的 Linux 发行版
|
||||
* 提供 LTS 和非 LTS 版本
|
||||
* 良好的硬件兼容性
|
||||
|
||||
如果 KDE 软件套件不是你关注的重点,那么 Kubuntu 应该是你可以作为 Linux 桌面使用的一个优秀发行版。
|
||||
|
||||
Kubuntu 是 Ubuntu 的一个官方版本,它为其 LTS 版本提供了三年的更新支持。与 KDE Neon 不同的是,你可以得到对各种应用程序更好的支持,而不仅仅是局限于 KDE 软件。
|
||||
|
||||
你可以选择 LTS 版或非 LTS 版来获得最新的 Ubuntu 功能。
|
||||
|
||||
与其他一些基于 KDE 的发行版相比,Kubuntu 具有更好的硬件兼容性。考虑到它可以为各种笔记本电脑提供动力,如 Kubuntu Focus、Slimbook 等,其硬件兼容性是你可以信赖的。
|
||||
|
||||
### 3、Manjaro KDE
|
||||
|
||||
![][6]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 基于 Arch 的 Linux 发行版
|
||||
* 滚动式发布更新
|
||||
* 对于新的 Linux 用户来说学习难度不大
|
||||
|
||||
Manjaro 是一个基于 Arch Linux 的发行版,它使得使用 Arch 作为桌面 Linux 平台变得容易。
|
||||
|
||||
它按照滚动发布的时间表进行发布,这应该有助于你快速获得最新的软件包,而不必担心软件更新时间。
|
||||
|
||||
如果你是一个新的 Linux 用户,你可以考虑一直使用 Flatpak 或 Snaps 来安装各种应用程序。虽然 Manjaro 让你很容易使用 Arch,但它对新用户来说多多少少还是有一点学习曲线。所以,你可能需要查看 [Arch 维基][7] 来了解更多信息。
|
||||
|
||||
### 4、Fedora KDE Spin
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 一个独特的基于 KDE 的 Linux 发行版(如果你不喜欢主流的 Ubuntu/Arch 发行版)
|
||||
* 为工作站和服务器量身定做
|
||||
* 对于新的 Linux 用户来说可能需要适应
|
||||
* 硬件兼容性可能是个问题
|
||||
|
||||
Fedora 是一个独立的发行版(不基于 Ubuntu/Arch),作为 Red Hat Enterprise Linux 的上游。
|
||||
|
||||
而 Fedora Spin 版为用户提供了各种备用的桌面。如果你想要 KDE,你需要下载 Fedora 的 KDE Spin。
|
||||
|
||||
像 KDE Neon 一样,Fedora 并不专注于提供一个最佳的桌面体验,而是旨在实验对工作站或服务器有用的最新技术。
|
||||
|
||||
因此,如果你有信心解决 Linux 发行版上较新技术实现所带来的任何问题/挑战,[Fedora KDE Spin][8] 是一个不错的选择。
|
||||
|
||||
### 5、openSUSE
|
||||
|
||||
![][9]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 适用于需要使用多种工具的系统管理员和开发人员
|
||||
* 有两个不同的版本,包括稳定版和滚动版
|
||||
|
||||
[openSUSE][10] 是另一个独立的 Linux 发行版,默认采用 KDE 桌面。虽然它把自己定位为桌面用户的选择之一,但我在过去曾遇到过硬件兼容性问题。
|
||||
|
||||
然而,对于想在桌面上使用 YaST、Open Build Service、Kiwi 等工具的系统管理员或开发者来说,它是一个很好的选择,开箱即用。
|
||||
|
||||
它提供了一个稳定版和一个滚动发布版。根据你的要求选择最适合你的。
|
||||
|
||||
### 6、Garuda Linux
|
||||
|
||||
![][11]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 滚动发布的发行版
|
||||
* BTRFS 作为默认文件系统
|
||||
* 预装了基本的 GUI 工具,使 Arch Linux 的使用变得简单
|
||||
|
||||
[Garuda Linux][12] 是一个基于 Arch 的现代发行版,专注于开箱即用的定制体验。
|
||||
|
||||
KDE 版本(或 Dr460nized 版本)提供了漂亮的体验,同时可使用类似 macOS 的工作流程进行调整。
|
||||
|
||||
当然,如果你是一个有经验的 Linux 用户,你可以定制你现有的发行版来模仿同样的体验。
|
||||
|
||||
锦上添花的是,Garuda Linux 还提供了其 KDE 版本的不同变体,一个预装了游戏工具,一个用于渗透测试,另一个作为基本的 Linux 桌面系统。
|
||||
|
||||
### 7、Nitrux OS
|
||||
|
||||
![][13]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 基于 Debian 的发行版,不同的风格
|
||||
* 独特的桌面体验
|
||||
|
||||
一个基于 Debian 的 Linux 发行版,具有开箱即用的 KDE。与 Kubuntu 不同,Nitrux 最终可能提供的是一个更快的 KDE Plasma 更新和较新的 Linux 内核升级。
|
||||
|
||||
[Nitrux OS][14] 在以其 NX 桌面为特色的同时,提供了一个美丽而独特的体验。
|
||||
|
||||
如果你想尝试一些不同的 KDE 搭载,Nitrux OS 将是一个不错的选择。
|
||||
|
||||
### 8、MX Linux KDE
|
||||
|
||||
![][15]
|
||||
|
||||
主要亮点:
|
||||
|
||||
* 基于 Debian 的发行版
|
||||
* 轻量级
|
||||
* 预装了有用的 MX 工具
|
||||
|
||||
不在意外观,但想要一个简单的、可定制的、基于 Debian 的 KDE 桌面?[MX Linux KDE 版][16] 应该是一个很好的选择,因为它以迅捷的性能和预装的基本工具而闻名。
|
||||
|
||||
如果你想调整默认的用户体验,你还可以得到几个 KDE 主题。
|
||||
|
||||
### 总结
|
||||
|
||||
在这个列表之外,其他几个 Linux 发行版也将 KDE 桌面作为他们的首选。
|
||||
|
||||
总体来说,Nitrux OS 应该是一个独特的选择,如果你想远离基于 Ubuntu 的发行版,还有像 Garuda Linux 和 Manjaro 这样基于 Arch 的可靠发行版可以尝试。
|
||||
|
||||
你最喜欢的基于 KDE 的 Linux 发行版是什么?你是专注于开箱即用的定制,还是喜欢自己定制 KDE 体验?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/best-kde-distributions/
|
||||
|
||||
作者:[Ankush Das][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://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/kde-customization
|
||||
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/08/kde-neon-information-20-04.jpg?resize=800%2C397&ssl=1
|
||||
[3]: https://itsfoss.com/kde-neon-vs-kubuntu/
|
||||
[4]: https://neon.kde.org/index
|
||||
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/kubuntu-kde.jpg?resize=800%2C450&ssl=1
|
||||
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/manjaro-20-desktop.jpeg?resize=800%2C440&ssl=1
|
||||
[7]: https://wiki.archlinux.org
|
||||
[8]: https://spins.fedoraproject.org/en/kde/
|
||||
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/opensuse-kde.png?resize=800%2C423&ssl=1
|
||||
[10]: https://www.opensuse.org
|
||||
[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda-Linux-review.png?resize=800%2C450&ssl=1
|
||||
[12]: https://garudalinux.org
|
||||
[13]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/nitrux-os-kde.png?resize=800%2C450&ssl=1
|
||||
[14]: https://nxos.org
|
||||
[15]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/08/mx-linux-19-2-kde.jpg?resize=800%2C452&ssl=1
|
||||
[16]: https://mxlinux.org
|
@ -0,0 +1,151 @@
|
||||
[#]: subject: "Here’s Why You Can Consider Linux as a Content Creator"
|
||||
[#]: via: "https://news.itsfoss.com/linux-content-creator-choice/"
|
||||
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Here’s Why You Can Consider Linux as a Content Creator
|
||||
======
|
||||
|
||||
Rewind to four/five years back, I did not use Linux as my daily driver. Yes, in a virtual machine or dual-boot, sure.
|
||||
|
||||
I stuck with Windows saying – “Linux isn’t user-friendly, and it’s all about the commands/terminal.”
|
||||
|
||||
In my defense, I did not know a lot of things back then. But, when I finally took the leap of faith and started using Linux as a daily driver, I began to explore how things work and was blown away by many things.
|
||||
|
||||
Including some of the compelling reasons why [Linux is better than Windows][1].
|
||||
|
||||
It took me a couple of days to understand the fundamentals and learn about the software utilities not available for Linux.
|
||||
|
||||
But, surprisingly, I did not need to use Windows for most of my tasks, except multiplayer gaming. And, thanks to Valve, that’s about to change with the [support for BattleEye, and Easy-Anti Cheat added to Linux][2].
|
||||
|
||||
Fret not; I’m not one of those who recommends ditching other operating systems. You should always use what you are comfortable with.
|
||||
|
||||
But, in this article, I want to highlight a few things why you may want to switch to Linux as a content creator like myself.
|
||||
|
||||
### Efficient System Resource Usage
|
||||
|
||||
![][3]
|
||||
|
||||
I’m not exaggerating here, but if you are going to use [one of the best Linux distributions][4], your system resources will thank you for choosing Linux.
|
||||
|
||||
Considering my scenario, I have an i5-7400 processor coupled with 16 GB of RAM.
|
||||
|
||||
When I boot into Windows, the startup programs like the antivirus, software tools for peripherals, and others already eat up about 30-40% of my RAM.
|
||||
|
||||
And, when I start using the browser or any other resource-intensive application, I barely get to multi-task freely.
|
||||
|
||||
When it comes to Linux, unless I open many tabs in the browser or multiple programs, it does not consume a lot of memory out-of-the-box.
|
||||
|
||||
Windows has a lot of services/processes running in the background, and you need to put in some effort to “de-bloat” your experience. But, Linux does not require such tweaks to manage the resources; it already does it well.
|
||||
|
||||
I know it isn’t exactly an “Apples to Apples” comparison. Still, I would consider myself somewhat a power user with a lot of browser tabs active to research and multiple applications (communication, productivity, virtual machine program, etc.) while constantly monitoring system performance.
|
||||
|
||||
Hence, in my experience, _I feel I can do more with Linux using the same resources compared to Windows._
|
||||
|
||||
And, as a content creator, you probably know how important it is to have an efficient system that maximizes your productivity without being a strain on your life.
|
||||
|
||||
### Is It All About the Web Browsers?
|
||||
|
||||
![][3]
|
||||
|
||||
Let’s face it—most of the tools are being available as web services. While some programs/utilities may stick to native offerings, everything else is increasingly relying on cloud computing to help you get things done via the web browser.
|
||||
|
||||
So, you should evaluate the tools you use and whether they are platform-dependent or not.
|
||||
|
||||
If not, all you need to use is the web browser.
|
||||
|
||||
To give you an example, I utilize a lot of tools right from the web browser like:
|
||||
|
||||
* [Canva][5]
|
||||
* [Microsoft Office 365][6]
|
||||
* Web-based feed readers like Feedly, Inoreader
|
||||
* Todist
|
||||
* [CryptPad][7]
|
||||
|
||||
|
||||
|
||||
And, if that’s the case, do you think there’s any reason to consider Windows? I’ll leave that up to you.
|
||||
|
||||
Linux supports all the major web browsers, including Microsoft Edge.
|
||||
|
||||
### Hassle-free Experience
|
||||
|
||||
![][3]
|
||||
|
||||
As a content creator, the less you worry about troubleshooting issues on your computer, the more time you save.
|
||||
|
||||
I’m sure you know how Microsoft’s Windows fairs when it comes to buggy updates. Now and then, I will have to re-configure my audio settings or update the graphics driver, re-install programs, and clean junk files after an update.
|
||||
|
||||
And, there have been a few instances where I just get stuck looking at the welcome screen after an update, annoyed by a feature added by Microsoft, and some more.
|
||||
|
||||
Regarding my Linux experience, other than some NVIDIA graphics drivers issues (for some distributions like Fedora), I never had to troubleshoot for anything else. It has been a hassle-free journey so far!
|
||||
|
||||
So, I focus on my work without even worrying about an update screwing up my system.
|
||||
|
||||
The only inconvenience I found with Linux was developing the habit of – “_Distro hopping_,” meaning trying new Linux distributions. Considering there are a lot of choices for your desktop OS, you may be encouraged to try another distribution looking at its features.
|
||||
|
||||
Here, let me point you to [Zorin OS 16][8] and [elementary OS 6][9] if you aren’t already using them (good luck!).
|
||||
|
||||
### Applications for Audio, Video, and Digital Art/Photo
|
||||
|
||||
While some users may warn you that Linux does not offer good application support, the answer isn’t that straightforward.
|
||||
|
||||
Yes, you do not have the support for the Adobe suite and some commercial applications. But you do have alternatives.
|
||||
|
||||
Of course, if you swear by a specific software tool, Linux is a big no for you. But, if you do not have specific requirements, you can always choose to explore the exciting alternatives available.
|
||||
|
||||
You can find capable video editors like Kdenlive, tools like GIMP, and several other applications used by professionals.
|
||||
|
||||
To get a better idea, you might want to check:
|
||||
|
||||
* [Free video editors for Linux][10]
|
||||
* [Tools for digital artists][11]
|
||||
* [Audio editing tools][12]
|
||||
|
||||
|
||||
|
||||
There are some decent, social media specific, browser-based video editors are also available.
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
Overall, I believe that Linux can be a perfectly suitable choice for content creators and creative professionals.
|
||||
|
||||
Linux as a desktop platform has improved a lot. And, with several Linux distributions pushing forward to enhance user experience, security, and reliability, it is an uncommon but beneficial choice that comes with benefits!
|
||||
|
||||
What do you think about Linux as a choice for content creators? Let me know what you think in the comments!
|
||||
|
||||
#### Big Tech Websites Get Millions in Revenue, It's FOSS Got You!
|
||||
|
||||
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
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://news.itsfoss.com/linux-content-creator-choice/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://news.itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/linux-better-than-windows/
|
||||
[2]: https://news.itsfoss.com/easy-anti-cheat-linux/
|
||||
[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzOSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
||||
[4]: https://itsfoss.com/best-linux-distributions/
|
||||
[5]: http://partner.canva.com/yRbxmN
|
||||
[6]: https://www.office.com
|
||||
[7]: https://itsfoss.com/cryptpad/
|
||||
[8]: https://news.itsfoss.com/zorin-os-16-features/
|
||||
[9]: https://news.itsfoss.com/elementary-os-6-features/
|
||||
[10]: https://itsfoss.com/best-video-editing-software-linux/
|
||||
[11]: https://itsfoss.com/best-linux-graphic-design-software/
|
||||
[12]: https://itsfoss.com/best-audio-editors-linux/
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (runningwater)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
@ -221,7 +221,7 @@ via: https://www.networkworld.com/article/3543232/how-to-examine-processes-runni
|
||||
|
||||
作者:[Sandra Henry-Stocker][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[runningwater](https://github.com/runningwater)
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,189 +0,0 @@
|
||||
[#]: subject: "Build your website with Jekyll"
|
||||
[#]: via: "https://opensource.com/article/21/9/build-website-jekyll"
|
||||
[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "perfiffer"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Build your website with Jekyll
|
||||
======
|
||||
Jekyll is an open source static site generator. You can write your
|
||||
content in Markdown, use HTML/CSS for structure and presentation, and
|
||||
Jekyll compiles it all into static HTML.
|
||||
![Person using a laptop][1]
|
||||
|
||||
Static website generators and JAMStack have taken off in recent years. And with good reason. There is no need for complex backends with only static HTML, CSS, and Javascript to serve. Not having backends means better security, lower operational overhead, and cheaper hosting. A win-win-win!
|
||||
|
||||
In this article, I'm going to talk about Jekyll. As of this writing, [my personal website uses Jekyll][2]. Jekyll uses a Ruby engine to convert articles written in Markdown to generate HTML. [Sass][3] allows merging complex CSS rules into flat files. [Liquid][4] allows some programmatic control over otherwise static content.
|
||||
|
||||
### Install Jekyll
|
||||
|
||||
The [Jekyll website][5] has installation instructions for Linux, MacOS, and Windows. After installation, the [Quickstart guide][6] will set up a basic Hello-World project.
|
||||
|
||||
Now visit `http://localhost:4000` in your browser. You should see your default "awesome" blog.
|
||||
|
||||
![Default "awesome" blog][7]
|
||||
|
||||
Screenshot by Ayush Sharma, [CC BY-SA 4.0][8]
|
||||
|
||||
### Directory structure
|
||||
|
||||
The default site contains the following files and folders:
|
||||
|
||||
* `_posts`: Your blog entries.
|
||||
* `_site`: The final compiled static website.
|
||||
* `about.markdown`: Content for the about page.
|
||||
* `index.markdown`: Content for the home page.
|
||||
* `404.html`: Content for the 404 page.
|
||||
* `_config.yml`: Site-wide configuration for Jekyll.
|
||||
|
||||
|
||||
|
||||
### Creating new blog entries
|
||||
|
||||
Creating posts is simple. All you need to do is create a new file under `_posts` with the proper format and extension, and you’re all set.
|
||||
|
||||
A valid file name is `2021-08-29-welcome-to-jekyll.markdown`. A post file must contain what Jekyll calls the YAML Front Matter. It’s a special section at the beginning of the file with the metadata. If you see the default post, you’ll see the following:
|
||||
|
||||
|
||||
```
|
||||
\---
|
||||
layout: post
|
||||
title: "Welcome to Jekyll!"
|
||||
date: 2021-08-29 11:28:12 +0530
|
||||
categories: jekyll update
|
||||
\---
|
||||
```
|
||||
|
||||
Jekyll uses the above metadata, and you can also define custom `key: value` pairs. If you need some inspiration, [have a look at my website's front matter][9]. Aside from the front matter, you can [use in-built Jekyll variables][10] to customize your website.
|
||||
|
||||
Let’s create a new post. Create `2021-08-29-ayushsharma.markdown` in the `_posts` folder. Add the following content:
|
||||
|
||||
|
||||
```
|
||||
\---
|
||||
layout: post
|
||||
title: "Check out ayushsharma.in!"
|
||||
date: 2021-08-29 12:00:00 +0530
|
||||
categories: mycategory
|
||||
\---
|
||||
This is my first post.
|
||||
|
||||
# This is a heading.
|
||||
|
||||
## This is another heading.
|
||||
|
||||
This is a [link](<http://notes.ayushsharma.in>)
|
||||
|
||||
This is my category:
|
||||
```
|
||||
|
||||
If the `jekyll serve` command is still running, refresh the page, and you'll see the new entry below.
|
||||
|
||||
![New blog entry][11]
|
||||
|
||||
Screenshot by Ayush Sharma, [CC BY-SA 4.0][8]
|
||||
|
||||
Congrats on creating your first article! The process may seem simple, but there's a lot you can do with Jekyll. Using simple markdown, you can generate an archive of posts, syntax highlighting for code snippets, and separate pages for posts in one category.
|
||||
|
||||
### Drafts
|
||||
|
||||
If you're not ready to publish your content yet, you can create a new `_drafts` folder. Markdown files in this folder are only rendered by passing the `--drafts` argument.
|
||||
|
||||
### Layouts and Includes
|
||||
|
||||
Note the front matter of the two articles in our `_posts` folder, and you'll see `layout: post` in the Front Matter. The `_layout` folder contains all the layouts. You won't find them in your source code because Jekyll loads them by default. The default source code used by Jekyll is [here][12]. If you follow the link, you'll see that the `post` layout uses the [`default` layout][13]. The default layout contains the code `{{ content }}` which is where content is injected. The layout files will also contain `include` directives. These load files from the [`includes` folder][14] and allow composing a page using different components.
|
||||
|
||||
Overall, this is how layouts work—you define them in the front matter and inject your content within them. Includes provide other sections of the page to compose a whole page. This is a standard web-design technique—defining header, footer, aside, and content elements and then injecting content within them. This is the real power of static site generators—full programmatic control over assembling your website with final compilation into static HTML.
|
||||
|
||||
### Pages
|
||||
|
||||
Not all content on your website will be an article or a blog post. You'll need about pages, contact pages, project pages, or portfolio pages. This is where Pages come in. They work exactly like Posts do, meaning they're markdown files with front matter. But they don't go in the `_posts` directory. They either stay in your project root or in folders of their own. For Layouts and Includes, you can use the same ones as you do for your Posts or create new ones. Jekyll is very flexible and you can be as creative as you want! Your default blog already has `index.markdown` and `about.markdown`. Feel free to customize them as you wish.
|
||||
|
||||
### Data files
|
||||
|
||||
Data files live in the `_data` directory, and can be `.yml`, `.json`, or `.csv`. For example, a `_data/members.yml` file may contain:
|
||||
|
||||
|
||||
```
|
||||
\- name: A
|
||||
github: a@a
|
||||
|
||||
\- name: B
|
||||
github: b@b
|
||||
|
||||
\- name: C
|
||||
github: c@c
|
||||
```
|
||||
|
||||
Jekyll reads these during site generation. You can access them using `site.data.members`.
|
||||
|
||||
|
||||
```
|
||||
<ul>
|
||||
{ % for member in site.data.members %}
|
||||
<li>
|
||||
<a href="[https://github.com/"\>][15]
|
||||
{ { member.name }}
|
||||
</a>
|
||||
</li>
|
||||
{ % endfor %}
|
||||
</ul>
|
||||
```
|
||||
|
||||
### Permalinks
|
||||
|
||||
Your `_config.yml` file defines the format of your permalinks. You can [use a variety of default variables][16] to assemble your own custom permalink.
|
||||
|
||||
### Building your final website
|
||||
|
||||
The command `jekyll serve `is great for local testing. But once you're done with local testing, you'll want to build the final artifact to publish. The command `jekyll build --source source_dir --destination destination_dir` builds your website into the `_site` folder. Note that this folder is cleaned up before every build, so don't place important things in there. Once you have the content, you can host it on a static hosting service of your choosing.
|
||||
|
||||
You should now have a decent overall grasp of what Jekyll is capable of and what the main bits and pieces do. If you’re looking for inspiration, the official [JAMStack website has some amazing examples][17].
|
||||
|
||||
![Example Jekyll sites from JAMStack][18]
|
||||
|
||||
Screenshot by Ayush Sharma, [CC BY-SA 4.0][8]
|
||||
|
||||
Happy coding :)
|
||||
|
||||
* * *
|
||||
|
||||
_This article was originally published on the [author's personal blog][19] and has been adapted with permission._
|
||||
|
||||
See how Jekyll, an open source generator of static HTML files, makes running a blog as easy as...
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/9/build-website-jekyll
|
||||
|
||||
作者:[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/laptop_screen_desk_work_chat_text.png?itok=UXqIDRDD (Person using a laptop)
|
||||
[2]: https://gitlab.com/ayush-sharma/ayushsharma-in
|
||||
[3]: https://sass-lang.com/
|
||||
[4]: https://shopify.github.io/liquid/
|
||||
[5]: https://jekyllrb.com/docs/installation/
|
||||
[6]: https://jekyllrb.com/docs/
|
||||
[7]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-welcome-to-jekyll.png (Default "awesome" blog)
|
||||
[8]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[9]: https://gitlab.com/ayush-sharma/ayushsharma-in/-/blob/2.0/_posts/2021-07-15-the-evolution-of-ayushsharma-in.md
|
||||
[10]: https://jekyllrb.com/docs/variables/
|
||||
[11]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-new-article.png (New blog entry)
|
||||
[12]: https://github.com/jekyll/minima/blob/master/_layouts/post.html
|
||||
[13]: https://github.com/jekyll/minima/blob/master/_layouts/default.html#L12
|
||||
[14]: https://github.com/jekyll/minima/tree/master/_includes
|
||||
[15]: https://github.com/"\>
|
||||
[16]: https://jekyllrb.com/docs/permalinks/
|
||||
[17]: https://jamstack.org/examples/
|
||||
[18]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-jamstack-examples.png (Example Jekyll sites from JAMStack)
|
||||
[19]: https://notes.ayushsharma.in/2021/08/introduction-to-jekyll
|
@ -1,71 +0,0 @@
|
||||
[#]: subject: "3 new features of the latest OpenPGP.js version"
|
||||
[#]: via: "https://opensource.com/article/21/10/openpgpjs"
|
||||
[#]: author: "Daniel Huigens https://opensource.com/users/twiss"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
3 new features of the latest OpenPGP.js version
|
||||
======
|
||||
OpenPGP.js is a cryptography library that implements the OpenPGP
|
||||
standard, most commonly used for email encryption.
|
||||
![email or newsletters via inbox and browser][1]
|
||||
|
||||
[OpenPGP.js][2] is a cryptography library that implements the [OpenPGP standard][3], most commonly used for email encryption. ProtonMail, Mailvelope, and FlowCrypt all use OpenPGP.js, to name a few. That means the OpenPGP.js library encrypts millions of users' messages.
|
||||
|
||||
The OpenPGP standard, first published in the 1990s, like almost anything, requires maintenance and updating for both security and usability. A "crypto refresh" of the standard [is in the works][4], which adds modern encryption algorithms and deprecates outdated ones. To improve usability, various email applications now allow users to seamlessly encrypt their communication—without managing their keys or those of their contacts.
|
||||
|
||||
First released in 2014, OpenPGP.js began based on an early prototype called GPG4Browsers, which is based on several scripts by Herbert Hanewinkel (among other contributors). The second version of OpenPGP.js, released in 2016, was completely reworked to use Uint8Arrays instead of strings (which significantly increased its performance) and modern ES6 modules rather than CommonJS modules internally. Versions 3 and 4, both released in 2018, added support for Elliptic-curve cryptography (ECC) and streaming, respectively.
|
||||
|
||||
My team and I continue working on OpenPGP.js to ensure its evolution as an easy-to-use library for strong encryption.
|
||||
|
||||
### 1\. Elliptic-curve cryptography by default
|
||||
|
||||
In OpenPGP.js version 4, RSA was used when generating new keys by default. Although ECC is faster and more secure, Curve25519 had not been standardized in the OpenPGP specification yet. The crypto refresh draft does include Curve25519, and it is expected to be included "as is" in the next version of the OpenPGP specification, so OpenPGP.js version 5 now generates keys using ECC by default.
|
||||
|
||||
### 2\. Import only the modules you need
|
||||
|
||||
Similarly, while OpenPGP.js used ES6 modules internally for years, version 4 still didn't publish a proper ES6 module. Instead, it published only a Univeral Module Definition (UMD) module that could run both in the browser and on Node.js. In version 5, this changes by publishing separate modules for the browser and Node.js (both ES6 and non-ES6), making it easier for library users to import OpenPGP.js on all platforms and (when using the ES6 module) only import the parts they need. This is enabled in large part by switching the build system to [rollup][5].
|
||||
|
||||
### 3\. Reject weak cryptography
|
||||
|
||||
There are also many other security improvements. For example, 1024-bit RSA keys, ElGamal, and DSA keys are considered insecure and are rejected by default. Additionally, where version 4 already defaulted to AES-encryption, version 5 now refuses to encrypt using weaker algorithms entirely by default, even if the public key claims to only support a weaker algorithm. It instead assumes that all OpenPGP implementations support AES (which has been the case for a very long time).
|
||||
|
||||
### What's next for OpenPGP.js
|
||||
|
||||
Looking ahead, there are some security improvements to make. Key fingerprints, used to identify public keys, still use SHA-1, though a fix for this is planned in the crypto refresh. In the meantime, it is recommended to use different means to ascertain the authenticity of any public key used for encryption, such as by fetching the entire key directly from the recipient's domain using the proposed [Web Key Directory (WKD)][6] standard—already implemented by various [email providers][7]. WKD support was built into OpenPGP.js version 4 but is a separate module in version 5 to keep the main library lean.
|
||||
|
||||
Similarly, when encrypting messages or files with a password rather than a public key (uncommon when using OpenPGP for email encryption, but more so when used for encrypted backups, for example), the password is converted to a symmetric key using a relatively weak key derivation function (KDF). It is thus advisable for applications to pass the user's password through a strong KDF, such as [Argon2][8] or [scrypt][9], before passing it to OpenPGP.js. Hopefully, the crypto refresh will include one of these algorithms to implement in a future version of OpenPGP.js.
|
||||
|
||||
### How to use OpenPGP.js version 5
|
||||
|
||||
For now, though, OpenPGP.js version 5 has been [published][10] to the npm package registry. If you like, feel free to try it out! Feedback is welcome in the [discussions tab][11] on GitHub. Please note, however, that while OpenPGP.js is a general-purpose encryption library, its primary use case is in situations where compatibility with the OpenPGP specification is required (for example, when sending or receiving PGP-encrypted email). For other use cases, a different library may be a more appropriate or performant choice. In general, of course, be careful when rolling any crypto.
|
||||
|
||||
Thanks for reading, and here's to securing the future of email!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/10/openpgpjs
|
||||
|
||||
作者:[Daniel Huigens][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/twiss
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/newsletter_email_mail_web_browser.jpg?itok=Lo91H9UH (email or newsletters via inbox and browser)
|
||||
[2]: https://github.com/openpgpjs/openpgpjs
|
||||
[3]: https://tools.ietf.org/html/rfc4880
|
||||
[4]: https://datatracker.ietf.org/doc/charter-ietf-openpgp/
|
||||
[5]: https://rollupjs.org/
|
||||
[6]: https://datatracker.ietf.org/doc/html/draft-koch-openpgp-webkey-service
|
||||
[7]: https://wiki.gnupg.org/WKD#Mail_Service_Providers_offering_WKD
|
||||
[8]: https://en.wikipedia.org/wiki/Argon2
|
||||
[9]: https://en.wikipedia.org/wiki/Scrypt
|
||||
[10]: https://www.npmjs.com/package/openpgp
|
||||
[11]: https://github.com/openpgpjs/openpgpjs/discussions
|
@ -1,221 +0,0 @@
|
||||
[#]: subject: "Best Linux Distributions Based on KDE"
|
||||
[#]: via: "https://itsfoss.com/best-kde-distributions/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Best Linux Distributions Based on KDE
|
||||
======
|
||||
|
||||
KDE is one of the most customizable and fastest desktop environments out there. While you can always install KDE if you know-how, it is best to choose a Linux distribution that comes with KDE out-of-the-box.
|
||||
|
||||
Here, let me list some of the best KDE-based Linux distros.
|
||||
|
||||
### Linux Distributions With KDE Onboard
|
||||
|
||||
No matter what you choose as your preferred distro, you can refer to our [KDE customization guide][1] to tweak your experience.
|
||||
|
||||
**Note:** The list is in no particular order of ranking.
|
||||
|
||||
### 1\. KDE Neon
|
||||
|
||||
![][2]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Official KDE distribution
|
||||
* Latest stable KDE Plasma version
|
||||
* Focuses on latest KDE software
|
||||
* Not a perfect replacement as a desktop distro
|
||||
|
||||
|
||||
|
||||
KDE Neon is one of the exciting choices if you want to get your hands on the latest KDE Plasma experience.
|
||||
|
||||
Even if it utilizes a stable Ubuntu LTS base, you always get the newest KDE version delivered as soon as it is released.
|
||||
|
||||
Unlike any other distros, it does not focus on a complete desktop user experience but the KDE software packages. So, it may not be the perfect desktop replacement for everyone. However, if you focus on using the latest KDE software, KDE Neon is a decent choice.
|
||||
|
||||
The User Edition is what you need to opt for, but you also have the choice to try “Testing” or “Unstable” editions if you are willing to try pre-released features.
|
||||
|
||||
If you wonder how it differs from Kubuntu, you should check out [KDE Neon vs Kubuntu][3] comparison to explore it.
|
||||
|
||||
[KDE Neon][4]
|
||||
|
||||
### 2\. Kubuntu
|
||||
|
||||
![][5]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* An Ubuntu-based desktop-focused Linux distro
|
||||
* Offers both LTS and non-LTS versions
|
||||
* Good hardware compatibility
|
||||
|
||||
|
||||
|
||||
Kubuntu should be an excellent distro for your Linux desktop if the KDE software suite is not your focus.
|
||||
|
||||
Kubuntu is an official flavor of Ubuntu, which provides three years of updates for its LTS editions. Unlike KDE Neon, you get better support for various applications and are not just limited to KDE software.
|
||||
|
||||
You get the option to opt for an LTS edition or a non-LTS version to get the latest Ubuntu features.
|
||||
|
||||
Kubuntu has improved hardware compatibility when compared to some other KDE-based distros. Considering, it powers a variety of laptops that include Kubuntu Focus, Slimbook, and more, the hardware compatibility is something that you can rely on.
|
||||
|
||||
### 3\. Manjaro KDE
|
||||
|
||||
![][6]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Arch-based Linux distro
|
||||
* Rolling-release updates
|
||||
* Presents a slight learning curve to new Linux users
|
||||
|
||||
|
||||
|
||||
Manjaro is an Arch-Linux-based distribution that makes it easy to use Arch as a desktop Linux platform.
|
||||
|
||||
It follows a rolling-release schedule, which should help you get the latest packages quickly without worrying about the software update period.
|
||||
|
||||
If you are a new Linux user, you may want to stick to Flatpak or Snaps to install any application. While Manjaro makes it easy to use Arch, it does present a slight learning curve to new users. So, you might want to check the [Arch wiki][7] to explore more.
|
||||
|
||||
### 4\. Fedora KDE Spin
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* A unique KDE-based Linux distribution (if you don’t prefer mainstream Ubuntu/Arch distros)
|
||||
* Tailored for workstations and servers
|
||||
* May not be convenient for new Linux users
|
||||
* Hardware compatibility can be an issue
|
||||
|
||||
|
||||
|
||||
Fedora is an independent distribution (not based on Ubuntu/Arch) that acts as an upstream for Red Hat Enterprise Linux.
|
||||
|
||||
And, Fedora spin editions feature alternate desktops for users. If you want KDE, you need to download Fedora’s KDE spin.
|
||||
|
||||
Like KDE Neon, Fedora does not focus on providing a great desktop experience but aims to implement the latest technology useful for a workstation or server.
|
||||
|
||||
So, if you are confident to tackle any issues/challenges that come with newer technology implementations on a Linux distro, Fedora KDE spin can be a good choice.
|
||||
|
||||
[Fedora KDE Spin][8]
|
||||
|
||||
### 5\. openSUSE
|
||||
|
||||
![][9]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Suitable for system administrators and developers requiring access to several tools
|
||||
* Two different editions available including a stable and a rolling-release
|
||||
|
||||
|
||||
|
||||
openSUSE is yet another independent Linux distribution featuring the KDE desktop by default. While it pitches itself as one of the choices for desktop users, I have had hardware compatibility issues in the past.
|
||||
|
||||
However, it can be a good choice for system administrators or developers who want to access tools like YaST, Open Build Service, Kiwi, and more on their desktop, out-of-the-box.
|
||||
|
||||
It offers a stable edition and a rolling-release version. As per your requirements, choose what’s best for you.
|
||||
|
||||
[openSUSE][10]
|
||||
|
||||
### 6\. Garuda Linux
|
||||
|
||||
![][11]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Rolling-release distro
|
||||
* BTRFS as the default filesystem
|
||||
* Comes with essential pre-installed GUI tools to make the Arch Linux experience easy
|
||||
|
||||
|
||||
|
||||
Garuda Linux is a modern Arch-based distribution that focuses on a customized experience out-of-the-box.
|
||||
|
||||
The KDE version (or the Dr460nized edition) offers a beautiful experience while tweaking it with a macOS-like workflow.
|
||||
|
||||
Of course, if you are an experienced Linux user, you may customize your existing distribution to mimic the same experience.
|
||||
|
||||
As a cherry on top, Garuda Linux also provides different variants of its KDE editions, one with pre-installing gaming tools, one for penetration testing, and another as an essential Linux desktop system.
|
||||
|
||||
[Garuda Linux][12]
|
||||
|
||||
### 7\. Nitrux OS
|
||||
|
||||
![][13]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Debian-based distribution for a change
|
||||
* Unique desktop experience
|
||||
|
||||
|
||||
|
||||
A Debian-based Linux distribution that features KDE out-of-the-box. Unlike Kubuntu, Nitrux may end up offering faster KDE plasma updates and newer Linux Kernel upgrades.
|
||||
|
||||
Nitrux OS offers a beautiful and unique experience while featuring its NX Desktop.
|
||||
|
||||
If you want to try something different with KDE onboard, Nitrux OS would be a great pick.
|
||||
|
||||
[Nitrux OS][14]
|
||||
|
||||
### 8\. MX Linux KDE
|
||||
|
||||
![][15]
|
||||
|
||||
Key Highlights:
|
||||
|
||||
* Debian-based distro
|
||||
* Lightweight
|
||||
* Useful MX Tools pre-installed
|
||||
|
||||
|
||||
|
||||
Don’t need the looks but want a simple and customizable KDE desktop with a Debian base? MX Linux KDE edition should be a fantastic choice as it is known for its snappy performance and pre-installed essential tools baked in.
|
||||
|
||||
You also get several KDE themes if you want to tweak the default user experience.
|
||||
|
||||
[MX Linux][16]
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
In addition to this list, several other Linux distributions feature KDE desktop as their preferred choice.
|
||||
|
||||
Nitrux OS should be a unique pick overall, and if you want to move away from Ubuntu-based distributions, there are solid arch-based distros like Garuda Linux and Manjaro to try.
|
||||
|
||||
What is your favorite KDE-based Linux distribution? Do you focus on out-of-the-box customization or prefer to customize the KDE experience yourself?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/best-kde-distributions/
|
||||
|
||||
作者:[Ankush Das][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/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/kde-customization
|
||||
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/08/kde-neon-information-20-04.jpg?resize=800%2C397&ssl=1
|
||||
[3]: https://itsfoss.com/kde-neon-vs-kubuntu/
|
||||
[4]: https://neon.kde.org/index
|
||||
[5]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/kubuntu-kde.jpg?resize=800%2C450&ssl=1
|
||||
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/manjaro-20-desktop.jpeg?resize=800%2C440&ssl=1
|
||||
[7]: https://wiki.archlinux.org
|
||||
[8]: https://spins.fedoraproject.org/en/kde/
|
||||
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/opensuse-kde.png?resize=800%2C423&ssl=1
|
||||
[10]: https://www.opensuse.org
|
||||
[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda-Linux-review.png?resize=800%2C450&ssl=1
|
||||
[12]: https://garudalinux.org
|
||||
[13]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/nitrux-os-kde.png?resize=800%2C450&ssl=1
|
||||
[14]: https://nxos.org
|
||||
[15]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/08/mx-linux-19-2-kde.jpg?resize=800%2C452&ssl=1
|
||||
[16]: https://mxlinux.org
|
117
sources/tech/20211011 What is a hostname.md
Normal file
117
sources/tech/20211011 What is a hostname.md
Normal file
@ -0,0 +1,117 @@
|
||||
[#]: subject: "What is a hostname?"
|
||||
[#]: via: "https://opensource.com/article/21/10/what-hostname"
|
||||
[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: " "
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
What is a hostname?
|
||||
======
|
||||
Hostnames are labels for humans to refer to a specific computer.
|
||||
![Computer screen with files or windows open][1]
|
||||
|
||||
Computers have network addresses, but they're usually difficult for humans to remember. Hostnames are labels intended to help humans refer to a specific computer. Instead of navigating to 192..168.1.4, for instance, you might navigate to `linuxlaptop `or `linuxlaptop.local`.
|
||||
|
||||
### Addresses and Names
|
||||
|
||||
All networked computers (also referred to as hosts) need an address—a unique number associated with it that allows for datagrams to route among them for correct data communications. This is known as the Internet Protocol (IP) address. The number 54.204.39.132 is an Internet Protocol version 4 (IPv4) address. The newer IPv6 addresses are much longer, like this: 2001:0db6:3c4d:0017:0000:0000:2a2f:1a2b. WHOA! That is going to be hard to memorize!
|
||||
|
||||
|
||||
```
|
||||
`$ ip addr show`
|
||||
```
|
||||
|
||||
Computers can also be given labels. Known as the hostname, these are friendly names for easier reference. I could set my computer's hostname to be _copperhead_. As long as that name is unique on the network, all other users and computers can refer to it as copperhead instead of the IP address number.
|
||||
|
||||
|
||||
```
|
||||
`$ hostname -s`
|
||||
```
|
||||
|
||||
You can update your computer's hostname.
|
||||
|
||||
Read Seth Kenlon's article [How to change a hostname on Linux][2] to learn how to do that on Linux.
|
||||
|
||||
#### Fully qualified domain name
|
||||
|
||||
Technically, the hostname includes a domain name. If my domain name is mycompany.com, then together—delimited by periods, my computer's hostname is copperhead.mycompany.com. This forms a fully qualified domain name (FQDN). This is important because the IP address resolves to the FQDN.
|
||||
|
||||
|
||||
```
|
||||
`host.domain.topleveldomain`
|
||||
```
|
||||
|
||||
For example: `www.example.com` is a fully qualified domain name.
|
||||
|
||||
Your domain name is generally determined already, so you're only responsible for providing the host portion. This article focuses on the host.
|
||||
|
||||
#### Name resolution
|
||||
|
||||
The process of translating the IP address to the corresponding hostname is known as name resolution. The first place that this occurs is in a local hosts table. Linux uses the file `/etc/hosts` to store this table.
|
||||
|
||||
|
||||
```
|
||||
`cat /etc/hosts`
|
||||
```
|
||||
|
||||
There is also a hierarchical and decentralized network-based system that provides resolution called the Domain Name System (DNS). This is when the FQDN becomes really important.
|
||||
|
||||
|
||||
```
|
||||
`$ dig www.opensource.com`
|
||||
```
|
||||
|
||||
### Fun with names
|
||||
|
||||
It can be fun to think up names for our computers. If you have many, you could use a theme. I once worked for a company that named all of its servers after snakes.
|
||||
|
||||
A later company I worked for, where I was a data center manager, used beer brands. It was exciting when we received a new server because I would email the development team for suggestions. We had roughly 100 servers. These provided an interesting list that reflected the diversity of the company. We had everything from coors and bud to amstel and deleriumtremens. We had tiger and singha and sapporo and many others too!
|
||||
|
||||
We thought it was cool! Then again, imagine what happens when you try to remember that lowenbrau is the virtualization server with the most RAM and peroni is the SQL database server and heineken is the new domain controller, particularly for new employees in a rapidly growing company.
|
||||
|
||||
### Conventions
|
||||
|
||||
Hostnames are the choice of the owner, of course, so have fun with it. However, depending on the environment, it might make more sense to use names that are easy to remember or based on a naming convention that lends to being descriptive to the host.
|
||||
|
||||
#### Useful names
|
||||
|
||||
If you want to forego the fun and helpfully name your systems, perhaps consider their function. Database servers might be named database1, database2, database3, and so on. Web servers might be webserver1, webserver2, and so on.
|
||||
|
||||
#### Positional names
|
||||
|
||||
I have used a technique with many clients to name server hosts with sets of characters in positions that describe an aspect of that system that helps identification. For example, if I were working on a Business Process Management (BPM) system for the Department of the Interior (DOI), I would incorporate their acronyms in the naming convention.
|
||||
|
||||
Furthermore, just as with many large corporations, financial institutions, and governments, they might have various data centers located in disparate geographical locations for purposes of performance or disaster recovery. So, say, a data center on the East coast of the North American continent is referred to as ED, and those on the West coast are WD. East Data center and West Data center.
|
||||
|
||||
All of this information would come together in a name such as doibpm1ed or doibpm1wd. So, while these names don't look like much, someone working on this project would readily be able to identify each as to their purpose and location, and the name may even help to obfuscate their usage to would-be mal-actors. In other words, the owner could choose naming that would only make sense to insiders.
|
||||
|
||||
### Internet standards
|
||||
|
||||
Several standards govern hostnames. You can find these in Requests for Comment (RFC) maintained by The Internet Engineering Task Force (IETF). As of now, adhere to the following:
|
||||
|
||||
* A hostname should be between 1 and 63 ASCII characters in length
|
||||
* A FQDN has a maximum length of 253 ASCII characters
|
||||
* Case-insensitive
|
||||
* Allowed characters: a to z, 0 to 9, - (hyphen), and _ (underscore)
|
||||
|
||||
|
||||
|
||||
I hope this article helps to clarify hostnames. Have some fun and be creative.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/10/what-hostname
|
||||
|
||||
作者:[Alan Formy-Duval][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/alanfdoss
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/browser_screen_windows_files.png?itok=kLTeQUbY (Computer screen with files or windows open)
|
||||
[2]: https://opensource.com/article/21/10/how-change-hostname-linux
|
@ -0,0 +1,92 @@
|
||||
[#]: subject: "Seahorse: Manage Your Passwords & Encryption Keys in Linux"
|
||||
[#]: via: "https://itsfoss.com/seahorse/"
|
||||
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
Seahorse: Manage Your Passwords & Encryption Keys in Linux
|
||||
======
|
||||
|
||||
_**Brief:**_ _A simple open-source password and encryption key manager app, let’s explore what it has to offer and how you can get it installed._
|
||||
|
||||
We often tend to ignore many default/pre-installed applications, especially when numerous tools and utilities are baked in.
|
||||
|
||||
One such helpful tool that you can use on various Linux distributions is **GNOME’s Seahorse**.
|
||||
|
||||
### Seahorse: GNOME’s Password & Encryption Key Manager
|
||||
|
||||
![][1]
|
||||
|
||||
Primarily, Seahorse is an application that comes pre-installed with GNOME desktop and tailored for the same.
|
||||
|
||||
However, you can use it on just about any Linux distribution of your choice. It is a simple and effective utility to manage your passwords and encryption keys / keyring locally.
|
||||
|
||||
You might want to read about the [concept of keyring in Linux][2] if it’s a first for you.
|
||||
|
||||
If you are not a fan of cloud-based password managers, Seahorse can be a great solution to your requirements. Even though it looks straightforward, there are a few essential features that you may find useful.
|
||||
|
||||
Of course, you should also explore some of the [best password managers available for Linux][3] if your priority doesn’t involve managing encryption keys (or local storage).
|
||||
|
||||
### Features of Seahorse
|
||||
|
||||
While you can easily use it as a local (offline) password manager, there are a couple of things that you can do with Seahorse to step up your security management when dealing with encryption keys as well.
|
||||
|
||||
![][4]
|
||||
|
||||
Some key highlights are:
|
||||
|
||||
* Ability to store Secure Shell key (used to access remote computers/servers)
|
||||
* Store GPG keys used to secure emails and files
|
||||
* Supports adding password keyring for application and networks
|
||||
* Securely store private key of a certificate
|
||||
* Store a password / secret phrase
|
||||
* Ability to import files and quickly store them
|
||||
* Find remote keys
|
||||
* Sync and publish keys
|
||||
* Ability to find/copy VPN password
|
||||
|
||||
|
||||
|
||||
![][5]
|
||||
|
||||
### Installing Seahorse in Linux
|
||||
|
||||
If you are using a GNOME-based distribution, you should already have it installed. You need to look for “Seahorse” or “Passwords” to find it.
|
||||
|
||||
In other cases, you can search for it in the software center. It should work fine with KDE, LXQt, and different desktop environments as per my quick tests.
|
||||
|
||||
![][6]
|
||||
|
||||
Moreover, you can find its [Flatpak package][7] available. So, no matter the Linux distribution you are using, Seahorse can be installed.
|
||||
|
||||
If you are using Arch Linux, you should also find it in [AUR][8].
|
||||
|
||||
[Seahorse][9]
|
||||
|
||||
What do you think about using Seahorse to replace other password managers? Were you already using it to manage encryption keys? Let me know your thoughts in the comments below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/seahorse/
|
||||
|
||||
作者:[Ankush Das][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/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/seahorse-password-keys.png?resize=800%2C613&ssl=1
|
||||
[2]: https://itsfoss.com/ubuntu-keyring/
|
||||
[3]: https://itsfoss.com/password-managers-linux/
|
||||
[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/seahorse-login.png?resize=800%2C583&ssl=1
|
||||
[5]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/seahorse-keys.png?resize=800%2C579&ssl=1
|
||||
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/seahorse-software.png?resize=800%2C508&ssl=1
|
||||
[7]: https://www.flathub.org/apps/details/org.gnome.seahorse.Application
|
||||
[8]: https://itsfoss.com/aur-arch-linux/
|
||||
[9]: https://wiki.gnome.org/Apps/Seahorse/
|
177
translated/tech/20210923 Build your website with Jekyll.md
Normal file
177
translated/tech/20210923 Build your website with Jekyll.md
Normal file
@ -0,0 +1,177 @@
|
||||
[#]: subject: "Build your website with Jekyll"
|
||||
[#]: via: "https://opensource.com/article/21/9/build-website-jekyll"
|
||||
[#]: author: "Ayush Sharma https://opensource.com/users/ayushsharma"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "perfiffer"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
使用 Jekyll 构建你的网站
|
||||
======
|
||||
Jekyll 是一个开源的静态的网站生成器。你可以使用 Markdown 编写内容,使用 HTML/CSS 来构建和展示,Jekyll 会将其编译为静态的 HTML。
|
||||
![Person using a laptop][1]
|
||||
|
||||
静态网站生成器和 JAMStack 近年来开始流行。而且理由很充分。不需要复杂的后端,只需要静态的 HTML、CSS 和 Javascript。没有后端意味着更好的安全性、更低的运营开销和更便宜的托管。双赢!
|
||||
|
||||
在本文中,我将讨论 Jekyll。在撰写本文时,[我的个人网站使用 Jekyll][2]。Jekyll 使用 Ruby 引擎将用 Markdown 编写的文章转换成 HTML。[Sass][3] 可以将复杂的 CSS 规则应用到平面文件中。[Liquid][4] 允许对静态内容进行编程控制。
|
||||
|
||||
### 安装 Jekyll
|
||||
|
||||
[Jekyll 网站][5] 提供 Linux、MacOS 和 Windows 安装说明。安装完成之后,[快速引导][6] 将会安装一个基础的 Hello-World 项目。
|
||||
|
||||
现在在你的浏览器访问 `http://localhost:4000`。你可以看到一个默认的很棒的博客。
|
||||
|
||||
![Default "awesome" blog][7]
|
||||
|
||||
### 目录结构
|
||||
|
||||
站点默认包含以下的文件和文件夹:
|
||||
|
||||
* `_posts`: 你的博客条目。
|
||||
* `_site`: 最终编译的静态网站文件。
|
||||
* `about.markdown`: 关于页面内容。
|
||||
* `index.markdown`: 主页页面内容。
|
||||
* `404.html`: 404 页面内容。
|
||||
* `_config.yml`: Jekyll 的全站配置文件。
|
||||
|
||||
|
||||
### 创建新的博客条目
|
||||
|
||||
创建帖子很简单。你需要做的就是在 `_post` 目录下使用正确的格式和扩展名创建一个新文件,这样就完成了。
|
||||
|
||||
有效的文件名像 `2021-08-29-welcome-to-jekyll.markdown`这样。一个博客文件必须包含 Jekyll 所称的 YAML 前置。它是包含元数据的文件开头的一个特殊部分。如果你看到默认的帖子,你可以看到以下内容:
|
||||
|
||||
```
|
||||
---
|
||||
layout: post
|
||||
title: "Welcome to Jekyll!"
|
||||
date: 2021-08-29 11:28:12 +0530
|
||||
categories: jekyll update
|
||||
---
|
||||
```
|
||||
|
||||
Jekyll 使用上面的元数据,你可以自定义 `key: value` 键值对。如果你需要一些灵感,[请查看我的网站前置内容][9]。除了前面的问题,你还可以[使用内置的 Jekyll 变量][10] 来自定义你的网站。
|
||||
|
||||
让我们创建一个新的帖子。在 `_posts` 文件夹下创建 `2021-08-29-ayushsharma.markdown`。内容如下:
|
||||
|
||||
```
|
||||
---
|
||||
layout: post
|
||||
title: "Check out ayushsharma.in!"
|
||||
date: 2021-08-29 12:00:00 +0530
|
||||
categories: mycategory
|
||||
---
|
||||
This is my first post.
|
||||
|
||||
# This is a heading.
|
||||
|
||||
## This is another heading.
|
||||
|
||||
This is a [link](<http://notes.ayushsharma.in>)
|
||||
|
||||
This is my category:
|
||||
```
|
||||
|
||||
如果 `jekyll serve` 命令仍在运行,刷新页面,你将看到下面的新条目。
|
||||
|
||||
![New blog entry][11]
|
||||
|
||||
恭喜你创建了你的第一篇文章!这个过程看起来很简单,但是你可以通过 Jekyll 做很多事情。使用简单的 Markdown,你可以归档博客、代码片段的高亮显示以及帖子的分类管理。
|
||||
|
||||
### 草稿
|
||||
|
||||
如果你还没准备好发布你的内容,你可以创建一个 `_drafts` 文件夹。此文件夹中的 Markdown 文件仅通过传递 `--drafts--` 参数来呈现。
|
||||
|
||||
### 布局和包含
|
||||
|
||||
请注意 `_post` 文件夹中两篇文章的前面内容,你将在前置内容中看到 `layout: post`。`_layout` 文件夹中包含所有布局。你不会在源代码中找到它们,因为 Jekyll 默认加载它们。Jekyll 使用的默认源代码在[这里][12]。如果你点击链接,你可以看到博客布局使用默认布局。默认布局包含 `{{ content }}` 注入内容的代码。布局文件还将包含 `include` 指令。它们从[包含文件夹][14]加载文件并允许使用不同的组件组成页面。
|
||||
|
||||
总的来说,这就是布局的工作方式-你在最前面定义它们并将你的内容注入其中。Includes 提供页面的其它部分以组成整个页面。这是一种标准的网页设计技术--定义页眉、页脚、旁白和内容元素,然后在其中注入内容。这就是静态站点生成器的真正威力--完全以编程的方式控制将你的网站组装起来并最终编译成静态的 HTML。
|
||||
|
||||
### 页面
|
||||
|
||||
你网站上的所有内容并不都是文章或博客。你将需要关于页面、联系页面、项目页面或投资组合页面。这就是 Pages 的用武之地。它们的工作方式与 Posts 完全一样,这意味着它们是带有前置块的 Markdown 文件。但它们不会进入 `_posts` 目录。它们要么保留在你的项目根目录中,要么保留在它们自己的文件夹中。对于布局和包含,你可以使用与帖子相同的布局或创建新帖子。 Jekyll 非常灵活,你可以随心所欲地发挥你的创意!你的默认博客已经有 `index.markdown` 和 `about.markdown`。随意自定义它们。
|
||||
|
||||
### 数据文件
|
||||
|
||||
数据文件位于 `_data` 目录中,可以是 `.yml`,`.json`,`.csv` 格式文件。例如,一个 `_data/members.yml` 文件可能包含:
|
||||
|
||||
```
|
||||
- name: A
|
||||
github: a@a
|
||||
|
||||
- name: B
|
||||
github: b@b
|
||||
|
||||
- name: C
|
||||
github: c@c
|
||||
```
|
||||
|
||||
Jekyll 在网站生成的时候读取这些内容。你可以通过 `site.data.members` 访问它们。
|
||||
|
||||
|
||||
```
|
||||
<ul>
|
||||
{ % for member in site.data.members % }
|
||||
<li>
|
||||
<a href="https://github.com">
|
||||
{ { member.name } }
|
||||
</a>
|
||||
</li>
|
||||
{ % endfor %}
|
||||
</ul>
|
||||
```
|
||||
|
||||
### 永久链接
|
||||
|
||||
你的 `_config.yml` 文件定义了永久链接的格式。你可以使用各种默认变量来组合你自己的自定义永久链接。
|
||||
|
||||
### 构建你最终的网站
|
||||
|
||||
命令 `jekyll serve` 非常适合本地测试。但是一旦你完成了本地测试,你将需要构建要发布的最终工作。命令 `jekyll build --source source_dir --destination destination_dir` 将你的网站构建到 `_site` 文件夹中。请注意,此文件夹在每次构建之前都会被清理,所以不要将重要的东西放在那里。获得内容后,你可以将其托管在你的静态托管服务上。
|
||||
|
||||
你现在应该对 Jekyll 的功能以及主要部分的功能有一个全面的了解。如果你正在寻找灵感,官方 [JAMStack 网站上有一些很棒的例子][17]。
|
||||
|
||||
![Example Jekyll sites from JAMStack][18]
|
||||
|
||||
快乐编码 :)
|
||||
|
||||
* * *
|
||||
|
||||
本文首发于[作者个人博客][19],经授权改编。
|
||||
|
||||
了解 Jekyll,一个静态 HTML 文件的开源生成器,如何让运行博客变得像...
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/9/build-website-jekyll
|
||||
|
||||
作者:[Ayush Sharma][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[perfiffer](https://github.com/perfiffer)
|
||||
校对:[校对者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/laptop_screen_desk_work_chat_text.png?itok=UXqIDRDD (Person using a laptop)
|
||||
[2]: https://gitlab.com/ayush-sharma/ayushsharma-in
|
||||
[3]: https://sass-lang.com/
|
||||
[4]: https://shopify.github.io/liquid/
|
||||
[5]: https://jekyllrb.com/docs/installation/
|
||||
[6]: https://jekyllrb.com/docs/
|
||||
[7]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-welcome-to-jekyll.png (Default "awesome" blog)
|
||||
[8]: https://creativecommons.org/licenses/by-sa/4.0/
|
||||
[9]: https://gitlab.com/ayush-sharma/ayushsharma-in/-/blob/2.0/_posts/2021-07-15-the-evolution-of-ayushsharma-in.md
|
||||
[10]: https://jekyllrb.com/docs/variables/
|
||||
[11]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-new-article.png (New blog entry)
|
||||
[12]: https://github.com/jekyll/minima/blob/master/_layouts/post.html
|
||||
[13]: https://github.com/jekyll/minima/blob/master/_layouts/default.html#L12
|
||||
[14]: https://github.com/jekyll/minima/tree/master/_includes
|
||||
[15]: https://github.com/"\>
|
||||
[16]: https://jekyllrb.com/docs/permalinks/
|
||||
[17]: https://jamstack.org/examples/
|
||||
[18]: https://opensource.com/sites/default/files/uploads/2016-08-15-introduction-to-jekyll-jamstack-examples.png (Example Jekyll sites from JAMStack)
|
||||
[19]: https://notes.ayushsharma.in/2021/08/introduction-to-jekyll
|
@ -1,72 +0,0 @@
|
||||
[#]: subject: "Check Java processes on Linux with the jps command"
|
||||
[#]: via: "https://opensource.com/article/21/10/check-java-jps"
|
||||
[#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "unigeorge"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
使用 jps 命令监测 Linux 上的 Java 进程
|
||||
======
|
||||
系统上会运行很多进程,使用 jps 命令快速识别 Java 进程是一个很有用的方法。
|
||||
![Coffee beans][1]
|
||||
|
||||
在 Linux 上,有一些命令可以用于查看系统上运行的进程。进程是指的是由内核管理的正在进行的事件。每当启动应用程序时,就会产生一个进程,但也有许多进程在计算机后台运行,像保持系统时间准确的程序、监视新文件系统的程序、索引化文件的程序等。有一些实用程序可以用来监测这些进程,比如包含在 [procps-ng 包][2] 中的那些程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据想要的内容来过滤结果列表。
|
||||
|
||||
在 Linux 上,可以使用 `ps` 命令查看进程。这是查看系统上正在运行的进程的最简单方法。
|
||||
|
||||
|
||||
```
|
||||
$ ps
|
||||
PID TTY TIME CMD
|
||||
4486 pts/0 00:00:00 bash
|
||||
66930 pts/0 00:00:00 ps
|
||||
```
|
||||
|
||||
你也可以使用 `ps` 命令,将结果输出到管道符 `grep`,从而查看系统上运行的 Java 进程,。
|
||||
|
||||
|
||||
```
|
||||
$ ps ax |grep java
|
||||
67604 pts/1 Sl+ 0:18 /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-4.fc34.x86_64/bin/java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties -jar /home/alan/wildfly/24.0.1/jboss-modules.jar -mp /home/alan/wildfly/24.0.1/modules org.jboss.as.standalone -Djboss.home.dir=/home/alan/wildfly/24.0.1 -Djboss.server.base.dir=/home/alan/wildfly/24.0.1/standalone
|
||||
```
|
||||
|
||||
然而,OpenJDK 有自己的特定进程监视器。Java 虚拟机进程状态 (jps) 工具可以帮你扫描系统上每个运行的 Java 虚拟机 (JVM) 实例。
|
||||
|
||||
要想实现与 `ps` 命令类似的输出,可以使用 `-v` 选项。这很实用,因为与 `ps` 相比,它可以减少你的输入。
|
||||
|
||||
|
||||
```
|
||||
$ jps -v
|
||||
67604 jboss-modules.jar -D[Standalone] -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED -Dorg.jboss.boot.log.file=/home/alan/wildfly/24.0.1/standalone/log/server.log -Dlogging.configuration=file:/home/alan/wildfly/24.0.1/standalone/configuration/logging.properties
|
||||
```
|
||||
|
||||
`jps` 的默认输出会给出每个检测到的实例的进程标识符,以及类名或 Jar 文件名。
|
||||
|
||||
|
||||
```
|
||||
$ jps
|
||||
67604 jboss-modules.jar
|
||||
69430 Jps
|
||||
```
|
||||
|
||||
**注意:** `jps` 的手册页指出此命令是试验性且不受支持的。尽管如此,它仍然是一个不错的选择,因为通常一个系统上运行着许多进程,有这样一种只识别 Java 进程的快速方法是很有用的。
|
||||
|
||||
当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具包和运行时环境仍然很重要。它们里面包含着许多适用于 Java 应用程序开发和维护的工具。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/10/check-java-jps
|
||||
|
||||
作者:[Alan Formy-Duval][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[unigeorge](https://github.com/unigeorge)
|
||||
校对:[校对者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/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/java-coffee-beans.jpg?itok=3hkjX5We (Coffee beans)
|
||||
[2]: https://opensource.com/article/21/8/linux-procps-ng
|
@ -0,0 +1,70 @@
|
||||
[#]: subject: "3 new features of the latest OpenPGP.js version"
|
||||
[#]: via: "https://opensource.com/article/21/10/openpgpjs"
|
||||
[#]: author: "Daniel Huigens https://opensource.com/users/twiss"
|
||||
[#]: collector: "lujun9972"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
|
||||
最新 OpenPGP.js 版本的 3 个新功能
|
||||
======
|
||||
OpenPGP.js 是一个实现了 OpenPGP 标准的密码学库,最常用于电子邮件加密。
|
||||
![email or newsletters via inbox and browser][1]
|
||||
|
||||
[OpenPGP.js][2]是一个实现了 [OpenPGP 标准][3]的密码学库,最常用于电子邮件加密。ProtonMail、Mailvelope 和 FlowCrypt 都使用 OpenPGP.js,这仅仅是其中一些。这意味着 OpenPGP.js 库对数百万用户的信息进行了加密。
|
||||
|
||||
OpenPGP 标准首次发布于 20 世纪 90 年代,像几乎任何东西一样,需要维护和更新,以保证安全和可用性。该标准的“加密刷新”[正在进行中][4],它增加了现代的加密算法并废除了过时的算法。为了提高可用性,各种电子邮件应用程序现在允许用户无缝加密他们的通信,用户无需管理他们的密钥或他们的联系人的密钥。
|
||||
|
||||
OpenPGP.js 于 2014 年首次发布,开始基于一个名为 GPG4Browsers 的早期原型,该原型基于 Herbert Hanewinkel(以及其他贡献者)的几个脚本。OpenPGP.js 的第二个版本于 2016 年发布,完全重新设计,使用 Uint8Arrays 而不是字符串(这大大增加了其性能),并在内部使用现代 ES6 模块而不是 CommonJS 模块。第 3 和第 4 版都是在 2018 年发布的,分别增加了对椭圆曲线加密法(ECC)和流媒体的支持。
|
||||
|
||||
我和我的团队继续在 OpenPGP.js 上工作,以确保其发展为一个易于使用的强加密库。
|
||||
|
||||
### 1\. 默认的椭圆曲线加密
|
||||
|
||||
在 OpenPGP.js 第 4 版中,生成新密钥时默认使用 RSA。虽然 ECC 更快、更安全,但 Curve25519 还没有在 OpenPGP 规范中得到标准化。加密刷新草案包括了 Curve25519,并且预计它将“按原样”包含在下一版本的 OpenPGP 规范中,因此 OpenPGP.js 第 5 版现在默认使用 ECC 生成密钥。
|
||||
|
||||
### 2\. 只导入你需要的模块
|
||||
|
||||
同样,虽然 OpenPGP.js 内部使用 ES6 模块多年,但第 4 版仍然没有发布一个合适的 ES6 模块。相反,它只发布了一个通用模块定义(UMD)模块,可以在浏览器和 Node.js 上运行。在第 5 版中,这种情况有所改变,为浏览器和 Node.js 发布了单独的模块(包括 ES6 和非 ES6),使库用户更容易在所有平台上导入 OpenPGP.js ,且(当使用 ES6 模块时)只导入他们需要的部分。这在很大程度上是通过将构建系统切换到 [rollup][5] 来实现的。
|
||||
|
||||
### 3\. 拒绝弱加密技术
|
||||
|
||||
还有许多其他的安全改进。例如,1024 位 RSA 密钥、ElGamal 和 DSA 密钥被认为是不安全的,并被默认拒绝。此外,第 4 版已经默认使用 AES 加密,第 5 版现在完全默认拒绝使用较弱的算法进行加密,即使公钥声称只支持较弱的算法。相反,它假定所有的 OpenPGP 实现都支持 AES(这种情况已经存在很长时间了)。
|
||||
|
||||
### OpenPGP.js 的下一步是什么?
|
||||
|
||||
展望未来,有一些安全方面的改进要做。用于识别公钥的密钥指纹仍然使用 SHA-1,尽管在加密技术更新中计划对此进行修复。同时,建议使用不同的方法来确定用于加密的任何公钥的真实性,例如使用提议的[网络密钥目录 (WKD)][6]标准直接从收件人的域中获取整个密钥,这已经由各种[电子邮件提供商][7]实现。WKD 支持内置于 OpenPGP.js 第 4 版,但在第 5 版中是一个单独的模块,以保持主库的精简。
|
||||
|
||||
同样,当用密码而不是公钥加密信息或文件时(例如:在使用 OpenPGP 进行电子邮件加密时不常见,但在用于加密备份时更常见),密码会使用相对较弱的密钥衍生函数(KDF)转换为对称密钥。因此,建议应用在将用户的密码传递给 OpenPGP.js 之前,先通过一个强大的 KDF,如 [Argon2][8] 或 [scrypt][9]。希望加密技术的刷新会包括这些算法中的一种,以便在未来的 OpenPGP.js 版本中实现。
|
||||
|
||||
### 如何使用 OpenPGP.js 第 5 版
|
||||
|
||||
不过现在,OpenPGP.js 第 5 版已经[发布][10]到 npm 仓库。如果你喜欢,可以随时试用!欢迎在 GitHub 的[讨论标签][11]中进行反馈。然而,请注意,虽然 OpenPGP.js 是一个通用的加密库,但它的主要使用情况是在需要与 OpenPGP 规范兼容的情况下(例如,在发送或接收 PGP 加密的电子邮件时)。对于其他的使用情况,不同的库可能是一个更合适或性能更好的选择。当然,总的来说,在推广任何加密技术时都要小心。
|
||||
|
||||
感谢阅读,这里是保护电子邮件的未来!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/10/openpgpjs
|
||||
|
||||
作者:[Daniel Huigens][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://opensource.com/users/twiss
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/newsletter_email_mail_web_browser.jpg?itok=Lo91H9UH (email or newsletters via inbox and browser)
|
||||
[2]: https://github.com/openpgpjs/openpgpjs
|
||||
[3]: https://tools.ietf.org/html/rfc4880
|
||||
[4]: https://datatracker.ietf.org/doc/charter-ietf-openpgp/
|
||||
[5]: https://rollupjs.org/
|
||||
[6]: https://datatracker.ietf.org/doc/html/draft-koch-openpgp-webkey-service
|
||||
[7]: https://wiki.gnupg.org/WKD#Mail_Service_Providers_offering_WKD
|
||||
[8]: https://en.wikipedia.org/wiki/Argon2
|
||||
[9]: https://en.wikipedia.org/wiki/Scrypt
|
||||
[10]: https://www.npmjs.com/package/openpgp
|
||||
[11]: https://github.com/openpgpjs/openpgpjs/discussions
|
Loading…
Reference in New Issue
Block a user