Merge branch 'LCTT:master' into master

This commit is contained in:
Hans zhao
2022-07-06 19:32:33 +08:00
committed by GitHub
37 changed files with 3935 additions and 889 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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