96 Essential Linux Applications for Every User in 2023.

2022 was an exceptional year for numerous applications, particularly those that are both free and open source. While various Linux distributions include a set of default apps, users have the freedom to replace them with any free or paid alternatives they prefer.

Today, we bring you a list of Linux applications that have been able to make it to users’ Linux installations almost all the time despite the butt-load of other alternatives.

Simply put, any app on this list is among the most used in its category, and if you haven’t already tried it out you are probably missing out.

Linux Backup Tools

Certainly, backing up data is crucial for any system, including Linux and there are various tools available for Linux that cater to different backup needs.

1. Rsync

rsync is one of the most popular open-source command-line-based bandwidth-friendly backup tools for performing swift incremental file transfers and synchronization.

Local Backup

$ rsync -av /source/directory/ /destination/directory/

Remote Backup (using SSH)

$ rsync -av -e ssh /source/directory/ user@remote_host:/destination/directory/
Rsync Example Usage
Rsync Example Usage

2. Timeshift

Timeshift provides users with the ability to protect their system by taking incremental snapshots which can be reverted to at a different date – similar to the function of Time Machine in Mac OS and System Restore in Windows.

To install Timeshift in Linux, run:

$ sudo apt install timeshift         [On Debian, Ubuntu and Mint]
$ sudo yum install timeshift         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/timeshift  [On Gentoo Linux]
$ sudo apk add timeshift             [On Alpine Linux]
$ sudo pacman -S timeshift           [On Arch Linux]
$ sudo zypper install timeshift      [On OpenSUSE]    
Timeshift - System Restore Tool for Linux
Timeshift – System Restore Tool for Linux

Linux BitTorrent Clients

Torrent clients are widely used on Linux for downloading and sharing files over the BitTorrent protocol.

Here’s a categorization of some of the popular Linux torrent clients:

3. Deluge

Deluge is a beautiful cross-platform BitTorrent client that aims to perfect the μTorrent experience and make it available to users for free.

To install Deluge in Linux, run:

$ sudo apt install deluge         [On Debian, Ubuntu and Mint]
$ sudo yum install deluge         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/deluge  [On Gentoo Linux]
$ sudo apk add deluge             [On Alpine Linux]
$ sudo pacman -S deluge           [On Arch Linux]
$ sudo zypper install deluge      [On OpenSUSE]    
Deluge BitTorrent Client
Deluge BitTorrent Client

4. qBittorent

qBittorent is an open-source BitTorrent protocol client that aims to provide a free alternative to torrent apps like μTorrent.

To install qBittorent in Linux, run:

$ sudo apt install qbittorrent         [On Debian, Ubuntu and Mint]
$ sudo yum install qbittorrent         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/qbittorrent  [On Gentoo Linux]
$ sudo apk add qbittorrent             [On Alpine Linux]
$ sudo pacman -S qbittorrent           [On Arch Linux]
$ sudo zypper install qbittorrent      [On OpenSUSE]    
qBittorrent BitTorrent Client
qBittorrent BitTorrent Client

5. Transmission

Transmission is also a BitTorrent client with awesome functionalities and a major focus on speed and ease of use. It comes preinstalled with many Linux distros.

To install Transmission in Linux, run:

$ sudo apt install transmission         [On Debian, Ubuntu and Mint]
$ sudo yum install transmission         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/transmission  [On Gentoo Linux]
$ sudo apk add transmission             [On Alpine Linux]
$ sudo pacman -S transmission           [On Arch Linux]
$ sudo zypper install transmission      [On OpenSUSE]    
Transmission BitTorrent Client
Transmission BitTorrent Client

6. Tixati

Tixati is a distinctive Bittorrent client known for its detailed user interface, advanced bandwidth charting, and peer properties.

Free from spyware and ads, it offers a pure torrenting experience, prioritizing user privacy and efficient downloading capabilities.

To install Tixati in Linux, visit the official Tixati website to download the appropriate package for your Linux distribution (typically a .deb file for Debian/Ubuntu or a .rpm file for Fedora/RedHat) and install it.

Tixati Bittorrent Client
Tixati Bittorrent Client

Linux Cloud Storage

Cloud storage solutions have become increasingly popular as they offer a convenient way to store, access, and share data across devices and locations.

Here’s a categorization of some of the popular Linux cloud storage solutions:

7. Dropbox

The Dropbox team rebranded its cloud service earlier this year to provide an even better performance and app integration for their clients. It starts with 2GB of storage for free.

To install Dropbox in Linux, run:

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -    [On 32-Bit]
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - [On 64-Bit]
$ ~/.dropbox-dist/dropboxd
Dropbox - Secure Cloud Storage
Dropbox – Secure Cloud Storage

8. Google Drive

Google Drive is Google’s cloud service solution and my guess is that it needs no introduction. Just like with Dropbox, you can sync files across all your connected devices. It starts with 15GB of storage for free and this includes Gmail, Google Photos, Maps, etc.

Google Drive - Personal Cloud Storage
Google Drive – Personal Cloud Storage

9. Mega

Mega stands out from the rest because apart from being extremely security-conscious, it gives free users 20GB to do as they wish! Its end-to-end encryption ensures that they can’t access your data, and if you forget your recovery key, you too wouldn’t be able to.

MEGA Cloud Storage
MEGA Cloud Storage

Linux Commandline Editors

10. Vim

Vim is an open-source clone of a vi text editor developed to be customizable and able to work with any type of text.

To install Vim in Linux, run:

$ sudo apt install vim         [On Debian, Ubuntu and Mint]
$ sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/vim  [On Gentoo Linux]
$ sudo apk add vim             [On Alpine Linux]
$ sudo pacman -S vim           [On Arch Linux]
$ sudo zypper install vim      [On OpenSUSE]    
Vim Text Editor
Vim Text Editor

11. Emacs

Emacs refers to a set of highly configurable text editors. The most popular variant, GNU Emacs, is written in Lisp and C to be self-documenting, extensible, and customizable.

To install Emacs in Linux, run:

$ sudo apt install emacs         [On Debian, Ubuntu and Mint]
$ sudo yum install emacs         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/emacs  [On Gentoo Linux]
$ sudo apk add emacs             [On Alpine Linux]
$ sudo pacman -S emacs           [On Arch Linux]
$ sudo zypper install emacs      [On OpenSUSE]    
Emacs Text Editor
Emacs Text Editor

12. Nano

Nano is a feature-rich CLI text editor for power users and it has the ability to work with different terminals, among other functionalities.

To install Nano in Linux, run:

$ sudo apt install nano         [On Debian, Ubuntu and Mint]
$ sudo yum install nano         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/nano  [On Gentoo Linux]
$ sudo apk add nano             [On Alpine Linux]
$ sudo pacman -S nano           [On Arch Linux]
$ sudo zypper install nano      [On OpenSUSE]    
Nano Text Editor
Nano Text Editor

Linux Download Manager

Download managers are essential tools that optimize the process of downloading files from the internet.

Here’s a categorization of some of the popular Linux download managers:

13. Aria2

Aria2 is an open-source lightweight multi-source and multi-protocol command line-based downloader with support for Metalinks, torrents, HTTP/HTTPS, SFTP, etc.

To install Aria2 in Linux, run:

$ sudo apt install aria2         [On Debian, Ubuntu and Mint]
$ sudo yum install aria2         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/aria2  [On Gentoo Linux]
$ sudo apk add aria2             [On Alpine Linux]
$ sudo pacman -S aria2           [On Arch Linux]
$ sudo zypper install aria2      [On OpenSUSE]    
Aria2 - Commandline Download Tool
Aria2 – Commandline Download Tool

14. uGet

uGet has earned its title as the #1 open-source download manager for Linux distros and it features the ability to handle any downloading task you can throw at it including using multiple connections, using queues, categories, etc.

To install uGet in Linux, run:

$ sudo apt install uget         [On Debian, Ubuntu and Mint]
$ sudo yum install uget         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/uget  [On Gentoo Linux]
$ sudo apk add uget             [On Alpine Linux]
$ sudo pacman -S uget           [On Arch Linux]
$ sudo zypper install uget      [On OpenSUSE]    
uGet - Download Manager
uGet – Download Manager

15. XDM

XDMXtreme Download Manager is an open-source downloader written in Java. Like any good download manager, it can work with queues, torrents, browsers, and it also includes a video grabber and a smart scheduler.

To install XDM in Linux, run:

$ sudo apt install xdman         [On Debian, Ubuntu and Mint]
$ sudo yum install xdman         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/xdman  [On Gentoo Linux]
$ sudo apk add xdman             [On Alpine Linux]
$ sudo pacman -S xdman           [On Arch Linux]
$ sudo zypper install xdman      [On OpenSUSE]    
Xtreme Download Manager
Xtreme Download Manager

Linux Email Clients

There’s a wide range of email clients available for managing, sending, and receiving emails. Here’s a categorization of some of the popular Linux email clients:

16. Thunderbird

Thunderbird is among the most popular email applications. It is free, open-source, customizable, feature-rich, and above all, easy to install.

To install Thunderbird in Linux, run:

$ sudo apt install thunderbird         [On Debian, Ubuntu and Mint]
$ sudo yum install thunderbird         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/thunderbird  [On Gentoo Linux]
$ sudo apk add thunderbird             [On Alpine Linux]
$ sudo pacman -S thunderbird           [On Arch Linux]
$ sudo zypper install thunderbird      [On OpenSUSE]    
Thunderbird Email Client
Thunderbird Email Client

17. Geary

Geary is an open-source email client based on WebKitGTK+. It is free, open-source, feature-rich, and adopted by the GNOME project.

To install Geary in Linux, run:

$ sudo apt install geary         [On Debian, Ubuntu and Mint]
$ sudo yum install geary         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/geary  [On Gentoo Linux]
$ sudo apk add geary             [On Alpine Linux]
$ sudo pacman -S geary           [On Arch Linux]
$ sudo zypper install geary      [On OpenSUSE]    
Geary Email Client
Geary Email Client

18. Evolution

Evolution is a free and open-source email client for managing emails, meeting schedules, reminders, and contacts.

To install Evolution in Linux, run:

$ sudo apt install evolution         [On Debian, Ubuntu and Mint]
$ sudo yum install evolution         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/evolution  [On Gentoo Linux]
$ sudo apk add evolution             [On Alpine Linux]
$ sudo pacman -S evolution           [On Arch Linux]
$ sudo zypper install evolution      [On OpenSUSE]    
Evolution Email Client
Evolution Email Client

Linux Finance Software

For Linux users, there are several finance software options available, each catering to different financial management needs.

19. GnuCash

GnuCash is a free, cross-platform, and open-source software for financial accounting tasks for personal and small to mid-size businesses.

To install GnuCash in Linux, run:

$ sudo apt install gnucash         [On Debian, Ubuntu and Mint]
$ sudo yum install gnucash         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gnucash  [On Gentoo Linux]
$ sudo apk add gnucash             [On Alpine Linux]
$ sudo pacman -S gnucash           [On Arch Linux]
$ sudo zypper install gnucash      [On OpenSUSE]    
GnuCash - Free Accounting Software
GnuCash – Free Accounting Software

20. KMyMoney

KMyMoney is a finance management software that provides all important features found in the commercially-available, personal finance managers.

To install KMyMoney in Linux, run:

$ sudo apt install kmymoney         [On Debian, Ubuntu and Mint]
$ sudo yum install kmymoney         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/kmymoney  [On Gentoo Linux]
$ sudo apk add kmymoney             [On Alpine Linux]
$ sudo pacman -S kmymoney           [On Arch Linux]
$ sudo zypper install kmymoney      [On OpenSUSE]    
KMyMoney - Personal Finance Manager
KMyMoney – Personal Finance Manager

Linux Gaming Tools

Gaming on Linux has seen significant growth over the years, thanks to various tools and platforms that have made it easier for gamers to enjoy their favorite titles on this open-source OS.

21. Steam

Steam is a video game digital distribution service responsible for thousands of gamers having access to the several now-available games for the Open Source community and gaming issues on Linux are virtually a thing of the past. If you’re a gamer, you can’t go wrong with Steam.

To install Steam in Linux, run:

$ sudo apt install steam         [On Debian, Ubuntu and Mint]
$ sudo yum install steam         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/steam  [On Gentoo Linux]
$ sudo apk add steam             [On Alpine Linux]
$ sudo pacman -S steam           [On Arch Linux]
$ sudo zypper install steam      [On OpenSUSE]    
Steam - Video Game Service
Steam – Video Game Service

22. Lutris

Lutris is an open-source gaming platform that helps you manage, install, and optimize your games on Linux.

To install Lutris in Linux, run:

$ sudo apt install lutris         [On Debian, Ubuntu and Mint]
$ sudo yum install lutris         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/lutris  [On Gentoo Linux]
$ sudo apk add lutris             [On Alpine Linux]
$ sudo pacman -S lutris           [On Arch Linux]
$ sudo zypper install lutris      [On OpenSUSE]    
Lutris - Open Gaming Platform
Lutris – Open Gaming Platform

Linux IDE Editors

Integrated Development Environments (IDEs) and code editors are essential tools for developers, providing a comprehensive environment for coding, debugging, testing, and sometimes even deployment.

23. Eclipse IDE

Eclipse is the most widely used Java IDE containing a base workspace and an impossible-to-overemphasize configurable plug-in system for personalizing its coding environment.

Eclipse IDE Editor
Eclipse IDE Editor

24. Netbeans IDE

A fan-favorite, Netbeans enables users to easily build applications for mobile, desktop, and web platforms using Java, PHP, HTML5, JavaScript, and C/C++, among other languages.

Netbeans IDE Editor
Netbeans IDE Editor

25. Brackets

Brackets is an advanced text editor developed by Adobe to feature visual tools, preprocessor support, and a design-focused user flow for web development. In the hands of an expert, it can serve as an IDE in its own right.

To install Brackets in Linux, run:

$ sudo apt install brackets         [On Debian, Ubuntu and Mint]
$ sudo yum install brackets         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/brackets  [On Gentoo Linux]
$ sudo apk add brackets             [On Alpine Linux]
$ sudo pacman -S brackets           [On Arch Linux]
$ sudo zypper install brackets      [On OpenSUSE]    
Brackets Code Editor
Brackets Code Editor

26. Light Table

Light Table is a self-proclaimed next-generation IDE developed to offer awesome features like data value flow stats and coding collaboration.

Light Table - Code Editor
Light Table – Code Editor

27. Visual Studio Code

Visual Studio Code is a source code editor created by Microsoft to offer users the best-advanced features in a text editor including syntax highlighting, code completion, debugging, performance statistics and graphs, etc.

Visual Studio Code
Visual Studio Code

Linux Instant Messaging

Instant messaging (IM) on Linux has evolved over the years, and there are several applications and platforms available for users.

28. Pidgin

Pidgin is an open-source instant messaging app that supports virtually all chatting platforms and can have its abilities extended using extensions.

To install Pidgin in Linux, run:

$ sudo apt install pidgin         [On Debian, Ubuntu and Mint]
$ sudo yum install pidgin         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/pidgin  [On Gentoo Linux]
$ sudo apk add pidgin             [On Alpine Linux]
$ sudo pacman -S pidgin           [On Arch Linux]
$ sudo zypper install pidgin      [On OpenSUSE]    
Pidgin - Instant Messaging App
Pidgin – Instant Messaging App

29. Skype

Skype is a telecommunications application offering video calls, voice chats, and instant messaging.

To install Skype in Linux, run:

$ sudo snap install skype --classic
Skype - Telecommunications Application
Skype – Telecommunications Application

30. Empathy

Empathy is a messaging app with support for voice, video chat, text, and file transfers over multiple protocols. It also allows you to add other service accounts to it and interface with all of them through it.

To install Empathy in Linux, run:

$ sudo apt install empathy         [On Debian, Ubuntu and Mint]
$ sudo yum install empathy         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/empathy  [On Gentoo Linux]
$ sudo apk add empathy             [On Alpine Linux]
$ sudo pacman -S empathy           [On Arch Linux]
$ sudo zypper install empathy      [On OpenSUSE]    
Empathy Messaging Program
Empathy Messaging Program

Linux Antivirus Tools

Linux is generally considered more secure than some other operating systems, but it’s still important to be cautious, especially on shared or networked systems.

31. ClamAV/ClamTk

ClamAV is an open-source and cross-platform command-line antivirus app for detecting Trojans, viruses, and other malicious codes. ClamTk is its GUI front-end.

To install ClamTk in Linux, run:

$ sudo apt install clamtk         [On Debian, Ubuntu and Mint]
$ sudo yum install clamtk         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/clamtk  [On Gentoo Linux]
$ sudo apk add clamtk             [On Alpine Linux]
$ sudo pacman -S clamtk           [On Arch Linux]
$ sudo zypper install clamtk      [On OpenSUSE]    
clamtk - ClamAV (Clam Antivirus)
clamtk – ClamAV (Clam Antivirus)

Linux Desktop Environments

Linux offers a variety of desktop environments (DEs) that cater to different user preferences in terms of aesthetics, functionality, and resource consumption.

32. Cinnamon Desktop

Cinnamon is a free and open-source derivative of GNOME and it follows the traditional desktop metaphor conventions.

To install Cinnamon desktop on Ubuntu and Fedora, run.

$ sudo apt install cinnamon          [On Debian, Ubuntu and Mint]
$ sudo dnf install @cinnamon-desktop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
Cinnamon Desktop
Cinnamon Desktop

33. Mate Desktop

The Mate Desktop Environment is a derivative and continuation of GNOME developed to offer an attractive UI on Linux using traditional metaphors.

To install Mate desktop on Ubuntu and Fedora, run.

$ sudo apt install ubuntu-mate-desktop   [On Debian, Ubuntu and Mint]
$ sudo dnf install @mate-desktop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
Mate Desktop
Mate Desktop

34. GNOME Desktop

GNOME is a Desktop Environment comprised of several free and open-source applications and can run on any Linux distro and on most BSD derivatives.

Install Gnome desktop on UbuntuDebian and Fedora, use the following commands.

------ On Ubuntu and Linux Mint ------
$ sudo apt install tasksel
$ sudo apt update
$ sudo tasksel install ubuntu-desktop

------ On Fedora ------
$ sudo dnf group install “Fedora Workstation”
Gnome Desktop
Gnome Desktop

35. KDE Desktop

KDE is developed by the KDE community to provide users with a graphical solution for interfacing with their system and performing several computing tasks.

Install KDE desktop on UbuntuDebian and Fedora, use the following commands.

------ On Ubuntu and Linux Mint ------
$ sudo apt install tasksel
$ sudo apt update
$ sudo tasksel install kubuntu-desktop

------ On Fedora ------
$ sudo dnf -y group install "KDE Plasma Workspaces"
KDE Desktop
KDE Desktop

36. XFCE Desktop

XFCE is a lightweight desktop environment that offers simplicity, speed, and low resource usage, making it ideal for older hardware and performance-conscious users.

Install the XFCE desktop on UbuntuDebian, and Fedora, use the following commands.

$ sudo apt install xfce4                [On Debian, Ubuntu and Mint]
$ dnf install @xfce-desktop-environment [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
XFCE Desktop
XFCE Desktop

Linux Maintenance Tools

Linux maintenance tools help in optimizing, diagnosing, repairing, and monitoring your Linux systems.

37. GNOME Tweak Tool

The GNOME Tweak Tool is the most popular tool for customizing and tweaking GNOME and GNOME Shell settings.

To install the GNOME Tweak Tool on Ubuntu and Fedora, run.

$ sudo apt install gnome-tweak-tool  [On Debian, Ubuntu and Mint]
$ sudo dnf install gnome-tweak-tool  [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]

38. Stacer

Stacer is a free, open-source app for monitoring and optimizing Linux systems.

To install Stacer in Linux, run:

------ On Ubuntu and Linux Mint ------
$ sudo add-apt-repository ppa:oguzhaninan/stacer
$ sudo apt-get update
$ sudo apt-get install stacer

$ sudo apt install clamav stacer    [On Debian]
$ sudo pacman -S clamav stacer      [On Arch Linux]
$ sudo dnf install clamav stacer    [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo zypper install clamav stacer [On OpenSUSE]
$ sudo emerge -a sys-apps/stacer    [On Gentoo Linux]
$ sudo apk add stacer               [On Alpine Linux]
Stacer - Linux System Optimizer and Monitorin
Stacer – Linux System Optimizer and Monitoring

39. BleachBit

BleachBit is a free disk space cleaner that also works as a privacy manager and system optimizer.

To install BleachBit in Linux, run:

$ sudo apt install bleachbit         [On Debian, Ubuntu and Mint]
$ sudo yum install bleachbit         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/bleachbit  [On Gentoo Linux]
$ sudo apk add bleachbit             [On Alpine Linux]
$ sudo pacman -S bleachbit           [On Arch Linux]
$ sudo zypper install bleachbit      [On OpenSUSE]    
BleachBit - Clean Your System and Free Disk Space
BleachBit – Clean Your System and Free Disk Space

Linux Terminals

The terminal, often referred to as the command line or shell, is an essential tool for Linux users to interact with the operating system and execute commands.

40. GNOME Terminal

GNOME Terminal is GNOME’s default terminal emulator that comes with tabs, profiles, and a customizable user-friendly interface to execute shell commands on Linux systems.

To install GNOME Terminal in Linux, run:

$ sudo apt install gnome-terminal         [On Debian, Ubuntu and Mint]
$ sudo yum install gnome-terminal         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gnome-terminal  [On Gentoo Linux]
$ sudo apk add gnome-terminal             [On Alpine Linux]
$ sudo pacman -S gnome-terminal           [On Arch Linux]
$ sudo zypper install gnome-terminal      [On OpenSUSE]  
GNOME Terminal
GNOME Terminal

41. Konsole

Konsole is the default terminal emulator for the KDE Plasma desktop environment that offers advanced features, multiple tabs, customizable profiles, and seamless integration with KDE applications.

To install Konsole in Linux, run:

$ sudo apt install konsole         [On Debian, Ubuntu and Mint]
$ sudo yum install konsole         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/konsole  [On Gentoo Linux]
$ sudo apk add konsole             [On Alpine Linux]
$ sudo pacman -S konsole           [On Arch Linux]
$ sudo zypper install konsole      [On OpenSUSE]  
Konsole Terminal
Konsole Terminal

42. Terminator

Terminator is a feature-rich GNOME Terminal-based terminal app built with a focus on arranging terminals, among other functions.

To install Terminator in Linux, run:

$ sudo apt install terminator         [On Debian, Ubuntu and Mint]
$ sudo yum install terminator         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/terminator  [On Gentoo Linux]
$ sudo apk add terminator             [On Alpine Linux]
$ sudo pacman -S terminator           [On Arch Linux]
$ sudo zypper install terminator      [On OpenSUSE]  
Terminator Terminal
Terminator Terminal

43. Guake

Guake is a lightweight drop-down terminal for the GNOME Desktop Environment that offers tabs, transparency, and a customizable appearance.

To install Guake in Linux, run:

$ sudo apt install guake         [On Debian, Ubuntu and Mint]
$ sudo yum install guake         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/guake  [On Gentoo Linux]
$ sudo apk add guake             [On Alpine Linux]
$ sudo pacman -S guake           [On Arch Linux]
$ sudo zypper install guake      [On OpenSUSE]  
Guake Terminal
Guake Terminal

Linux Multimedia Editors

Linux offers a variety of multimedia editors catering to different needs.

44. Ardour

Ardour is a beautiful Digital Audio Workstation (DAW) for recording, editing, and mixing audio professionally.

To install Ardour in Linux, run:

$ sudo apt install ardour         [On Debian, Ubuntu and Mint]
$ sudo yum install ardour         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/ardour  [On Gentoo Linux]
$ sudo apk add ardour             [On Alpine Linux]
$ sudo pacman -S ardour           [On Arch Linux]
$ sudo zypper install ardour      [On OpenSUSE]  
Ardour - Digital Audio Workstation
Ardour – Digital Audio Workstation

45. Audacity

Audacity is an easy-to-use cross-platform and open-source multi-track audio editor and recorder; arguably the most famous of them all.

To install Audacity in Linux, run:

$ sudo apt install audacity         [On Debian, Ubuntu and Mint]
$ sudo yum install audacity         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/audacity  [On Gentoo Linux]
$ sudo apk add audacity             [On Alpine Linux]
$ sudo pacman -S audacity           [On Arch Linux]
$ sudo zypper install audacity      [On OpenSUSE]  
Audacity - Audio Software
Audacity – Audio Software

46. Blender

Blender is the free and open-source 3D creation suite that supports the complete 3D pipeline i.e. rigging, modeling, video editing, animation, simulation, motion tracking, rendering, compositing, and 2D animation pipeline.

To install Blender in Linux, run:

$ sudo apt install blender         [On Debian, Ubuntu and Mint]
$ sudo yum install blender         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/blender  [On Gentoo Linux]
$ sudo apk add blender             [On Alpine Linux]
$ sudo pacman -S blender           [On Arch Linux]
$ sudo zypper install blender      [On OpenSUSE]  
Blender - 3D Computer Graphics Software
Blender – 3D Computer Graphics Software

47. GIMP

GIMP is the most popular open-source Photoshop alternative and it is for a reason. It features various customization options, 3rd-party plugins, and a helpful user community.

To install GIMP in Linux, run:

$ sudo apt install gimp         [On Debian, Ubuntu and Mint]
$ sudo yum install gimp         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gimp  [On Gentoo Linux]
$ sudo apk add gimp             [On Alpine Linux]
$ sudo pacman -S gimp           [On Arch Linux]
$ sudo zypper install gimp      [On OpenSUSE]  
GIMP - Image Manipulation Program
GIMP – Image Manipulation Program

48. Krita

Krita is an open-source painting app that can also serve as an image-manipulating tool and it features a beautiful UI with reliable performance.

To install Krita in Linux, run:

$ sudo apt install krita         [On Debian, Ubuntu and Mint]
$ sudo yum install krita         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/krita  [On Gentoo Linux]
$ sudo apk add krita             [On Alpine Linux]
$ sudo pacman -S krita           [On Arch Linux]
$ sudo zypper install krita      [On OpenSUSE]  
Krita - Raster Graphics Editor
Krita – Raster Graphics Editor

49. Lightworks

Lightworks is a powerful, flexible, and beautiful tool for editing videos professionally. It comes feature-packed with hundreds of amazing effects and presets that allow it to handle any editing task that you throw at it and it has 25 years of experience to back up its claims.

To install Lightworks in Linux, open your favorite browser go to the Lightworks download page choose the appropriate package for your system (DEB or RPM), and install it.

Lightworks - Pro Video Editing Software
Lightworks – Pro Video Editing Software

50. Natron

Natron is a cross-platform open-source cross-platform application for video composition and editing as you would with Adobe After Effects.

Founded by Blackmagic Fusion to be free and portable, it offers sufficient tools for compositors to achieve high-quality results and fast rates.

To install Natron in Linux, you need to use the Snap Store by running the following command in the terminal.

$ sudo snap install natron
Natron Digital Compositor
Natron Digital Compositor

51. OpenShot

OpenShot is an award-winning free and open-source video editor known for its excellent performance and powerful capabilities.

To install OpenShot in Linux, run:

$ sudo apt install openshot         [On Debian, Ubuntu and Mint]
$ sudo yum install openshot         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/openshot  [On Gentoo Linux]
$ sudo apk add openshot             [On Alpine Linux]
$ sudo pacman -S openshot           [On Arch Linux]
$ sudo zypper install openshot      [On OpenSUSE]  
OpenShot Video Editor
OpenShot Video Editor

52. PiTiV

Pitivi is a beautiful video editor that features a beautiful code base, and an awesome community, is easy to use, and allows for hassle-free collaboration.

To install PiTiV in Linux, run:

$ sudo apt install pitivi         [On Debian, Ubuntu and Mint]
$ sudo yum install pitivi         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/pitivi  [On Gentoo Linux]
$ sudo apk add pitivi             [On Alpine Linux]
$ sudo pacman -S pitivi           [On Arch Linux]
$ sudo zypper install pitivi      [On OpenSUSE]  
Pitivi - Open Source Video Editor
Pitivi – Open Source Video Editor

53. Kdenlive

Kdenlive is a robust open-source video editor that supports multi-track editing, a wide range of video formats, and offers numerous effects and transitions.

With features like proxy editing, automatic backup, and a customizable interface, Kdenlive stands out as a comprehensive tool for video enthusiasts and professionals alike.

To install Kdenlive in Linux, run:

$ sudo apt install kdenlive         [On Debian, Ubuntu and Mint]
$ sudo yum install kdenlive         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/kdenlive  [On Gentoo Linux]
$ sudo apk add kdenlive             [On Alpine Linux]
$ sudo pacman -S kdenlive           [On Arch Linux]
$ sudo zypper install kdenlive      [On OpenSUSE]    
Kdenlive - Video Editing Freedom
Kdenlive – Video Editing Freedom

Linux Music Players

Linux Music Players encompass a diverse range of software tailored for the Linux operating system.

54. Rhythmbox

Rhythmbox possesses the ability to perform all music tasks you throw at it and has so far proved to be a reliable music player that it ships with Ubuntu.

To install Rhythmbox in Linux, run:

$ sudo apt install rhythmbox         [On Debian, Ubuntu and Mint]
$ sudo yum install rhythmbox         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/rhythmbox  [On Gentoo Linux]
$ sudo apk add rhythmbox             [On Alpine Linux]
$ sudo pacman -S rhythmbox           [On Arch Linux]
$ sudo zypper install rhythmbox      [On OpenSUSE]    
Rhythmbox Music Player
Rhythmbox Music Player

55. Lollypop

Lollypop is a beautiful, relatively new, open-source music player featuring a number of advanced options like online radio, scrubbing support, and party mode. Yet, it manages to keep everything simple and easy to manage.

To install Lollypop in Linux, run:

$ sudo apt install lollypop         [On Debian, Ubuntu and Mint]
$ sudo yum install lollypop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/lollypop  [On Gentoo Linux]
$ sudo apk add lollypop             [On Alpine Linux]
$ sudo pacman -S lollypop           [On Arch Linux]
$ sudo zypper install lollypop      [On OpenSUSE]    
Lollypop Music Player
Lollypop Music Player

56. Amarok

Amarok is a robust music player with an intuitive UI and tons of advanced features bundled into a single unit. It also allows users to discover new music based on their genre preferences.

To install Amarok in Linux, run:

$ sudo apt install amarok         [On Debian, Ubuntu and Mint]
$ sudo yum install amarok         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/amarok  [On Gentoo Linux]
$ sudo apk add amarok             [On Alpine Linux]
$ sudo pacman -S amarok           [On Arch Linux]
$ sudo zypper install amarok      [On OpenSUSE]    
Amarok Music Player
Amarok Music Player

57. Clementine

Clementine is an Amarok-inspired music player that also features a straightforward UI, advanced control features, and the ability to let users search for and discover new music.

To install Clementine in Linux, run:

$ sudo apt install clementine         [On Debian, Ubuntu and Mint]
$ sudo yum install clementine         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/clementine  [On Gentoo Linux]
$ sudo apk add clementine             [On Alpine Linux]
$ sudo pacman -S clementine           [On Arch Linux]
$ sudo zypper install clementine      [On OpenSUSE]    
Clementine Music Player
Clementine Music Player

58. Cmus

Cmus is arguably the most efficient command-line music player, which is fast and reliable, and its functionality can be increased using extensions.

To install Cmus in Linux, run:

$ sudo apt install cmus         [On Debian, Ubuntu and Mint]
$ sudo yum install cmus         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/cmus  [On Gentoo Linux]
$ sudo apk add cmus             [On Alpine Linux]
$ sudo pacman -S cmus           [On Arch Linux]
$ sudo zypper install cmus      [On OpenSUSE]    
Cmus - Console Music Player
Cmus – Console Music Player

59. Moc

MOC (Music On Console) is a console audio player for Linux/Unix, designed to be both powerful and user-friendly.

To install Moc in Linux, run:

$ sudo apt install moc         [On Debian, Ubuntu and Mint]
$ sudo yum install moc         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/moc  [On Gentoo Linux]
$ sudo apk add moc             [On Alpine Linux]
$ sudo pacman -S moc           [On Arch Linux]
$ sudo zypper install moc      [On OpenSUSE]    
MOC - Music on Console
MOC – Music on Console

Linux Office Suites

Linux Office Suites provide a comprehensive range of productivity tools tailored to the Linux environment.

60. Calligra Suite

The Calligra Suite developed by KDE, is a versatile office and graphic design toolkit that boasts a rich array of tools, encompassing word processing, spreadsheet management, captivating presentations, intricate vector graphics creation, and comprehensive database editing.

To install Calligra Suite in Linux, run:

$ sudo apt install calligra         [On Debian, Ubuntu and Mint]
$ sudo yum install calligra         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/calligra  [On Gentoo Linux]
$ sudo apk add calligra             [On Alpine Linux]
$ sudo pacman -S calligra           [On Arch Linux]
$ sudo zypper install calligra      [On OpenSUSE]    
Calligra Suite
Calligra Suite

61. LibreOffice

LibreOffice is the most actively developed office suite in the open-source community, LibreOffice is known for its reliability and its functions can be increased using extensions.

To install LibreOffice in Linux, run:

$ sudo apt install libreoffice         [On Debian, Ubuntu and Mint]
$ sudo yum install libreoffice         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/libreoffice  [On Gentoo Linux]
$ sudo apk add libreoffice             [On Alpine Linux]
$ sudo pacman -S libreoffice           [On Arch Linux]
$ sudo zypper install libreoffice      [On OpenSUSE]    
LibreOffice Suite
LibreOffice Suite

62. WPS Office

WPS Office stands out as a streamlined, yet robust office suite that enhances productivity with tools like Writer, Presentation, Spreadsheet, and a dedicated PDF editor, ensuring optimal work efficiency and seamless document management.

To install WPS Office in Linux, visit the official WPS Office website to download the appropriate package for your Linux distribution (typically a .deb file for Debian/Ubuntu or a .rpm file for Fedora/RedHat) and install it.

WPS Office
WPS Office

Linux Screenshot Tools

Linux Screenshot Tools offer a diverse array of utilities designed to capture, annotate, and manage screen captures within the Linux environment.

63. Shutter

Shutter allows users to take screenshots of their desktops and then edit them using filters and other effects coupled with the option to upload and share them online.

To install Shutter in Linux, run:

$ sudo apt install shutter         [On Debian, Ubuntu and Mint]
$ sudo yum install shutter         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/shutter  [On Gentoo Linux]
$ sudo apk add shutter             [On Alpine Linux]
$ sudo pacman -S shutter           [On Arch Linux]
$ sudo zypper install shutter      [On OpenSUSE]    
Shutter - Screenshot Tool
Shutter – Screenshot Tool

64. Kazam

Kazam screen caster captures screen content to output a video and audio file supported by any video player with VP8/WebM and PulseAudio support.

To install Kazam in Linux, run:

$ sudo apt install kazam         [On Debian, Ubuntu and Mint]
$ sudo yum install kazam         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/kazam  [On Gentoo Linux]
$ sudo apk add kazam             [On Alpine Linux]
$ sudo pacman -S kazam           [On Arch Linux]
$ sudo zypper install kazam      [On OpenSUSE]    
Kazam Screencaster
Kazam Screencaster

65. Gnome Screenshot

Gnome Screenshot was once bundled with Gnome utilities but is now a standalone app. It can be used to take screencasts in a format that is easily shareable.

To install Gnome Screenshot in Linux, run:

$ sudo apt install gnome-screenshot         [On Debian, Ubuntu and Mint]
$ sudo yum install gnome-screenshot         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gnome-screenshot  [On Gentoo Linux]
$ sudo apk add gnome-screenshot             [On Alpine Linux]
$ sudo pacman -S gnome-screenshot           [On Arch Linux]
$ sudo zypper install gnome-screenshot      [On OpenSUSE]    
GNOME Screenshot
GNOME Screenshot

Linux Screen Recorders

Linux Screen Recorders offers a diverse set of tools designed specifically for capturing and recording content on your Linux desktop.

66. SimpleScreenRecorder

SimpleScreenRecorder was created to be better than the screen-recording apps available at the time of its creation and has now turned into one of the most efficient and easy-to-use screen recorders for Linux distros.

To install SimpleScreenRecorder in Linux, run:

$ sudo apt install simplescreenrecorder         [On Debian, Ubuntu and Mint]
$ sudo yum install simplescreenrecorder         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/simplescreenrecorder  [On Gentoo Linux]
$ sudo apk add simplescreenrecorder             [On Alpine Linux]
$ sudo pacman -S simplescreenrecorder           [On Arch Linux]
$ sudo zypper install simplescreenrecorder      [On OpenSUSE]    
SimpleScreenRecorder
SimpleScreenRecorder

67. recordMyDesktop

recordMyDesktop is an open-source session recorder that is also capable of recording desktop session audio.

To install recordMyDesktop in Linux, run:

$ sudo apt install recordmydesktop         [On Debian, Ubuntu and Mint]
$ sudo yum install recordmydesktop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/recordmydesktop  [On Gentoo Linux]
$ sudo apk add recordmydesktop             [On Alpine Linux]
$ sudo pacman -S recordmydesktop           [On Arch Linux]
$ sudo zypper install recordmydesktop      [On OpenSUSE]    
recordMyDesktop
recordMyDesktop

68. Kooha – Screen Recorder

Kooha is a straightforward screen recording tool designed with an uncluttered interface. With Kooha, recording is a breeze, as you can initiate it with a single click, eliminating the need for extensive configurations.

Key features of Kooha include:

  • Capture microphone, desktop audio, or both simultaneously.
  • Support for various formats, including WebM, MP4, GIF, and Matroska.
  • Choose to record a specific monitor, window, or a defined screen area.
  • Multiple source selection options for added flexibility.
  • Configure saving locations, pointer visibility, frame rate, and delay settings.
  • Experimental support for hardware-accelerated encoding, enhancing performance.
Kooha - Screen Recorder
Kooha – Screen Recorder

To install Kooha in Linux, run:

$ git clone https://github.com/SeaDve/Kooha.git
$ cd Kooha
$ meson _build --prefix=/usr/local
$ ninja -C _build install  

Linux Text Editors

69. Notepad++

Notepad++ is a versatile text and source code editor that supports multiple programming languages, offers syntax highlighting, and boasts a plugin system for extended functionality, making it a favorite among developers.

To install Notepad++ in Linux, run:

$ sudo snap install notepad-plus-plus
Notepad++
Notepad++

70. Sublime Text

Sublime Text is easily among the most awesome text editors to date. It is customizable, lightweight (even when bulldozed with a lot of data files and extensions), flexible, and remains free to use forever.

To install Sublime Text in Linux, run:

$ sudo apt install sublime-text         [On Debian, Ubuntu and Mint]
$ sudo yum install sublime-text         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/sublime-text  [On Gentoo Linux]
$ sudo apk add sublime-text             [On Alpine Linux]
$ sudo pacman -S sublime-text           [On Arch Linux]
$ sudo zypper install sublime-text      [On OpenSUSE]    
Sublime Text
Sublime Text

71. Geany

Geany is a memory-friendly text editor with basic IDE features designed to exhibit shot load times and extensible functions using libraries.

To install Geany in Linux, run:

$ sudo apt install geany         [On Debian, Ubuntu and Mint]
$ sudo yum install geany         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/geany  [On Gentoo Linux]
$ sudo apk add geany             [On Alpine Linux]
$ sudo pacman -S geany           [On Arch Linux]
$ sudo zypper install geany      [On OpenSUSE]    
Geany Text Editor
Geany Text Editor

72. Gedit

Gedit is famous for its simplicity and it comes preinstalled with many Linux distros because of its function as an excellent general-purpose text editor.

To install Gedit in Linux, run:

$ sudo apt install gedit         [On Debian, Ubuntu and Mint]
$ sudo yum install gedit         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gedit  [On Gentoo Linux]
$ sudo apk add gedit             [On Alpine Linux]
$ sudo pacman -S gedit           [On Arch Linux]
$ sudo zypper install gedit      [On OpenSUSE]    
Gedit Text Editor
Gedit Text Editor

Linux To-Do List Apps

Linux To-Do List Apps are specialized software tools designed for the Linux operating system to help users manage, organize, and prioritize their tasks and daily activities.

73. Evernote

Evernote is a cloud-based note-taking productivity app designed to work perfectly with different types of notes including to-do lists and reminders.

There is no official Evernote app for Linux, so check out another third party 6 Evernote Alternative Clients for Linux.

Evernote - Best Note Taking App
Evernote – Best Note-Taking App

74. Everdo

Everdo is a beautiful, security-conscious, low-friction Getting-Things-Done app productivity app for handling to-dos and other note types.

If Evernote comes off to you in an unpleasant way, Everdo is a perfect alternative.

To install Everdo in Linux, download the Everdo AppImage, make the file executable, and run it as shown.

$ chmod +x Everdo*.AppImage
$ ./Everdo*.AppImage
Everdo - Best GTD App
Everdo – Best GTD App

75. Org Mode

Org Mode is a GNU Emacs major mode for convenient plain-text markup and other tasks such as keeping notes, planning projects, authoring documents, maintaining to-do lists, etc., in a fast and effective plain-text system.

Org is bundled with GNU Emacs distributions, so most users can simply activate it without needing a separate installation and start exploring its features.

Org Mode for Emacs
Org Mode for Emacs

76. Taskwarrior

Taskwarrior is an open-source and cross-platform command-line app for managing tasks. It is famous for its speed and distraction-free environment.

To install Taskwarrior in Linux, run:

$ sudo apt install taskwarrior         [On Debian, Ubuntu and Mint]
$ sudo yum install taskwarrior         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/taskwarrior  [On Gentoo Linux]
$ sudo apk add taskwarrior             [On Alpine Linux]
$ sudo pacman -S taskwarrior           [On Arch Linux]
$ sudo zypper install taskwarrior      [On OpenSUSE]    
Taskwarrior - Task Management Tool
Taskwarrior – Task Management Tool

77. Obsidian

Obsidian is a powerful note-taking software that emphasizes linking thoughts and building a knowledge base. Its unique graph view visualizes connections, while its markdown support ensures flexibility and longevity for your notes.

To install Obsidian in Linux, download the Obsidian AppImage, make the file executable, and run it as shown.

$ chmod +x Obsidian*.AppImage
$ ./Obsidian*.AppImage
Obsidian - Note-Taking Software
Obsidian – Note-Taking Software

Linux Video Players

Video Players are software applications designed to play multimedia content, primarily focusing on video files and streams.

78. Banshee

Banshee is an open-source multi-format-supporting media player that was first developed in 2005 and has only been getting better since.

To install Banshee in Linux, run:

$ sudo apt install banshee         [On Debian, Ubuntu and Mint]
$ sudo yum install banshee         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/banshee  [On Gentoo Linux]
$ sudo apk add banshee             [On Alpine Linux]
$ sudo pacman -S banshee           [On Arch Linux]
$ sudo zypper install banshee      [On OpenSUSE]    
Banshee Media Player
Banshee Media Player

79. VLC

VLC is my favorite video player and it’s so awesome that it can play almost any audio and video format you throw at it. You can also use it to play internet radio, record desktop sessions, and stream movies online.

To install VLC in Linux, run:

$ sudo apt install vlc         [On Debian, Ubuntu and Mint]
$ sudo yum install vlc         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/vlc  [On Gentoo Linux]
$ sudo apk add vlc             [On Alpine Linux]
$ sudo pacman -S vlc           [On Arch Linux]
$ sudo zypper install vlc      [On OpenSUSE]    
VLC Media Player
VLC Media Player

80. Kodi

Kodi is among the world’s most famous media players and it comes as a full-fledged media center app for playing all things media whether locally or remotely.

Install Kodi on Ubuntu and Debian, using the following commands.

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:team-xbmc/ppa
$ sudo apt-get update
$ sudo apt-get install kodi
Kodi Media Player
Kodi Media Player

81. SMPlayer

SMPlayer is a GUI for the award-winning MPlayer and it is capable of handling all popular media formats; coupled with the ability to stream from YouTube, Chromecast, and download subtitles.

Install SMPlayer on Ubuntu and Debian, using the following commands.

$ sudo add-apt-repository ppa:rvm/smplayer
$ sudo apt-get update
$ sudo apt-get install smplayer
SMPlayer - Free Media Player
SMPlayer – Free Media Player

Linux Virtualization Tools

Linux Virtualization Tools are specialized software solutions designed for the Linux ecosystem to create, manage, and run virtual machines (VMs) on a host system.

82. Qemu

Qemu is a generic, free, and open-source machine virtualizer and emulator that is capable of running any Operating System on any architecture that it supports.

It runs Xen and KVM virtual machines with near-native performance and enables users to run programs for another Linux/BSD on their machine.

QEMU is packaged by most Linux distributions:

$ sudo apt install qemu-system           [On Debian, Ubuntu and Mint]
$ sudo dnf install @virtualization       [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge --ask app-emulation/qemu   [On Gentoo Linux]
$ sudo zypper install qemu               [On OpenSUSE]    
$ sudo pacman -S qemu                    [On Arch Linux]
QEMU (Quick Emulator)
QEMU (Quick Emulator)

83. VirtualBox

VirtualBox is an open-source app created for general-purpose OS virtualization and it can be run on servers, desktops, and embedded systems.

To install VirtualBox in Linux, run:

$ sudo apt install virtualbox         [On Debian, Ubuntu and Mint]
$ sudo yum install virtualbox         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/virtualbox  [On Gentoo Linux]
$ sudo apk add virtualbox             [On Alpine Linux]
$ sudo pacman -S virtualbox           [On Arch Linux]
$ sudo zypper install virtualbox      [On OpenSUSE]    
VirtualBox
VirtualBox

84. VMWare

VMware is a digital workspace that provides platform virtualization and cloud computing services to customers and is reportedly the first to successfully virtualize x86 architecture systems. One of its products, VMware workstations allows users to run multiple OSes in virtual memory.

To install VMWare in Linux, download the VMware Workstation Player (.bundle) file, make the file executable, and run it as shown.

$ chmod +x VMware-Workstation-Player-*.bundle
$ sudo ./VMware-Workstation-Player-*.bundle
VMWare Workstation
VMWare Workstation

Linux Web Browsers

Linux Web Browsers are software applications tailored for the Linux operating system to access and navigate the World Wide Web.

85. Chrome

Google Chrome is undoubtedly the most popular browser. Known for its speed, simplicity, security, and beauty following Google’s Material Design trend, Chrome is a browser that web developers cannot do without. It is also free to use and open source.

Install Google Chrome on Ubuntu and Debian, using the following commands.

$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
$ sudo apt-get update
$ sudo apt-get install google-chrome-stable
Google Chrome Browser
Google Chrome Browser

86. Firefox

Firefox Quantum is a beautiful, speedy, task-ready, and customizable browser capable of any browsing task that you throw at it. It is also free, open-source, and packed with developer-friendly tools that are easy for even beginners to get up and running with.

To install Firefox in Linux, run:

$ sudo apt install firefox         [On Debian, Ubuntu and Mint]
$ sudo yum install firefox         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/firefox  [On Gentoo Linux]
$ sudo apk add firefox             [On Alpine Linux]
$ sudo pacman -S firefox           [On Arch Linux]
$ sudo zypper install firefox      [On OpenSUSE]    
Firefox Chrome Browser
Firefox Chrome Browser

87. Vivaldi

Vivaldi is a free and open-source Chrome-based project that aims to perfect Chrome’s features with a couple of more feature additions. It is known for its colorful panels, memory-friendly performance, and flexibility.

To install Vivaldi in Linux, visit the official Vivaldi website and download the RPM or DEB package suitable for your system, and install it as shown.

$ sudo dnf install ./vivaldi-stable-*.rpm
OR
$ sudo dnf install ./vivaldi-stable-*.deb
Vivaldi Chrome Browser
Vivaldi Chrome Browser

88. Opera

Opera is a versatile and innovative web browser known for its speed, security, and unique features. Originating in Norway, it introduced innovations like built-in ad blocking and free VPN.

Opera emphasizes user-friendly design, and its mobile versions, like Opera Mini, optimize browsing for slower connections.

To install Opera in Linux, visit the official Opera website and download the RPM or DEB package suitable for your system, and install it as shown.

$ sudo dnf install ./opera-stable-*.rpm
OR
$ sudo dnf install ./opera-stable-*.deb
Opera Web Browser
Opera Web Browser

Linux Media Servers

Linux media servers are specialized software solutions designed to store, manage, and stream multimedia content such as videos, music, photos, and more.

89. Plex

Plex is a free and open-source media server software that can stream your personal media library to any device.

To install Plex in Linux, visit the official Plex website download the RPM or DEB package suitable for your system, and install it as shown.

$ sudo dnf install ./plexmediaserver-*.rpm
OR
$ sudo dnf install ./plexmediaserver-*.deb
Plex Media Server
Plex Media Server

90. Emby

Emby is a versatile media solution that organizes and streams multimedia content. It offers a rich interface, live TV support, and mobile sync.

Emby ensures personalized experiences with user profiles and parental controls, bridging the gap between online content and personal media collections seamlessly.

To install Emby in Linux, visit the official Emby website download the RPM or DEB package suitable for your system, and install it as shown.

$ sudo dnf install ./emby-server-*.rpm
OR
$ sudo dnf install ./emby-server-*.deb
Emby Media Server
Emby Media Server

91. Jellyfin

Jellyfin is an open-source alternative to proprietary media servers that allows users to organize, manage, and stream their multimedia collections.

Being community-driven, it ensures data privacy, offering a customizable interface and plugins. It’s a go-to for those seeking a free, transparent, and adaptable home entertainment solution.

To install Jellyfin in Linux, you can use Flatpak or Snap packages as shown.

$ flatpak install flathub com.github.iwalton3.jellyfin-media-player
$ flatpak run com.github.iwalton3.jellyfin-media-player
Or
$ snap install jellyfin
Jellyfin Media System
Jellyfin Media System

Miscellaneous Software

Explore a diverse selection of Linux tools and applications, spanning various categories and purposes.

92. Synergy (Mouse and Keyboard Sharing)

Synergy is ideal for computer users who enjoy using more than one screen. It’s neither open-source nor is it a free app but it is the best app in its category available for Linux as far as I know so you might want to check it out.

Synergy - Share one mouse & keyboard across computers
Synergy – Share one mouse & keyboard across computers

93. ODrive (Google Drive Client)

ODrive combines your cloud storage services into one shareable encrypted account that you can access with a single password. Changes are synced across all accounts automatically and you can share files with anyone using web links.

ODrive - Google Drive GUI
ODrive – Google Drive GUI

94. FreeCAD (3D Modelling & Design)

FreeCAD is a full-featured open-source OpenCasCade-based mechanical engineering and product design tool that is customizable and can have its functionality extended with the use of plugins.

FreeCAD - 3D Parametric Modeler
FreeCAD – 3D Parametric Modeler

95. Exaile Music Player

Exaile offers a music player featuring an intuitive interface and robust music management functions. Enjoy automatic album art and lyrics retrieval, internet radio streaming, tabbed playlists, smart playlists with advanced filtering, and more.

Exaile - Music Player
Exaile – Music Player

96. GitBook Editor

GitBook Editor is a well-designed free, open-source, and cross-platform desktop client developed for GitBook by GitHub. Try it out if you intend on using version control when you write your next publication.

GitBook Editor
GitBook Editor
Conclusion

That concludes our list for today. Did I skip a famous title? Tell me about it in the comments section below.

Source

6 Best Modern Linux ‘init’ Systems (1992-2023).

In Linux and other Unix-like operating systems, the init (initialization) process is the first process executed by the kernel at boot time, which has a process ID (PID) of 1, that is executed in the background until the system is shut down.

The init process starts all other Linux processes, that is daemons, services, and other background processes, therefore, it is the mother of all other processes on the system.

A process can start many other child processes on the system, but if a parent process dies, init becomes the parent of the orphan process.

Linux init Systems (1992-2015)
Linux init Systems (1992-2015)

Over the years, many init systems have emerged in major Linux distributions and in this guide, we shall take a look at some of the best init systems you can work with on the Linux operating system.

1. System V Init

System V (SysV) is a mature and popular init scheme on Unix-like operating systems, it is the parent of all processes on a Unix/Linux system. SysV is the first commercial Unix operating system designed.

Almost all Linux distributions first used the SysV init scheme except Gentoo which has a custom init and Slackware which uses the BSD-style init scheme.

As years have passed by, due to some imperfections, several SysV init replacements have been developed in the quest to create more efficient and perfect init systems for Linux.

Although these alternatives seek to improve SysV and probably offer new features, they are still compatible with original SysV init scripts.

2. SystemD

SystemD is a relatively new init scheme on the Linux platform. Introduced in Fedora 15, it is an assortment of tools for easy system management. The main purpose is to initialize, manage, and keep track of all system processes in the boot process and while the system is running.

Systemd init is comprehensively distinct from other traditional Unix init systems, in the way it practically approaches system and services management. It is also compatible with SysV and LBS init scripts.

It has some of the following eminent features:

  • Clean, straightforward, and efficient design
  • Concurrent and parallel processing at bootup
  • Better APIv
  • Enables removal of optional processes
  • Supports event logging using journald
  • Supports job scheduling using systemd calendar timers
  • Storage of logs in binary files
  • Preservation of systemd state for future reference
  • Better integration with GNOME plus many more

3. Upstart

Upstart is an event-based init system developed by the makers of Ubuntu as a replacement for the SysV init system. It starts different system tasks and processes, inspects them while the system is running, and stops them during system shutdown.

It is a hybrid init system that uses both SysV startup scripts and Systemd scripts, some of the notable features of the Upstart init system include:

  • Originally developed for Ubuntu Linux but can run on all other distributions
  • Event-based starting and stopping of tasks and services
  • Events are generated during the starting and stopping of tasks and services
  • Events can be sent by other system processes
  • Communication with the init process through D-Bus
  • Users can start and stop their processes
  • Re-spawning of services that die abruptly and many more

4. OpenRC

OpenRC is a dependency-based init scheme for Unix-like operating systems, it is compatible with SysV init. As much as it brings some improvements to Sys V, you must keep in mind that OpenRC is not an absolute replacement for the /sbin/init file.

It offers some illustrious features including:

  • It can run on other many Linux distributions including Gentoo and also on BSD
  • Supports hardware-initiated init scripts
  • Supports a single configuration file
  • No per-service configurations supported
  • Runs as a daemon
  • Parallel services startup and many more

5. runit

runit is also a cross-platform init system that can run on GNU/Linux, Solaris, *BSD, and Mac OS X and it is an alternative to SysV init, which offers service supervision.

It comes with some benefits and remarkable components not found in SysV init and possibly other init systems in Linux and these include:

  • Service supervision, where each service is associated with a service directory
  • A clean process state guarantees each process a clean state
  • It has a reliable logging facility
  • Fast system boot-up and shutdown
  • It is also portable
  • Packaging friendly
  • Small code size and many more

6. s6

s6 offers a compact set of tools for UNIX, tailored for process supervision, similar to daemontools and runit. It facilitates operations on processes and daemons.

Designed as a low-level service administration toolkit, s6 provides diverse tools that can function independently or within its framework. These tools, when combined, deliver robust functionality with minimal code.

As I had earlier mentioned, the init system starts and manages all other processes on a Linux system. Additionally, SysV is the primary init scheme on Linux operating systems, but due to some performance weaknesses, system programmers have developed several replacements for it.

Here, we looked at a few of those replacements, but there could be other init systems that you think are worth mentioning.

Source.

Kubernetes Cheatsheet: Essential Commands and Concepts for Efficient Container Orchestration

Kubernetes Cheatsheet

Kubernetes Basics:

  • kubectl version: Check the Kubernetes client and server versions.
  • kubectl cluster-info: View cluster details.
  • kubectl get pods: List all pods in the current namespace.
  • kubectl get nodes: List all nodes in the cluster.
  • kubectl describe pod [pod-name]: Get detailed information about a pod.

Creating and Managing Resources:

  • kubectl create -f [yaml-file]: Create a resource from a YAML file.
  • kubectl apply -f [yaml-file]: Apply changes to a resource.
  • kubectl delete [resource-type] [resource-name]: Delete a resource.
  • kubectl edit [resource-type] [resource-name]: Edit a resource in the default text editor.
  • kubectl get [resource-type]: List resources of a specific type.
  • kubectl logs [pod-name]: View logs of a pod.

Scaling:

  • kubectl scale deployment [deployment-name] –replicas=[num-replicas]: Scale a deployment.
  • kubectl autoscale deployment [deployment-name] –min=[min-replicas] –max=[max-replicas]: Autoscale a deployment.

Networking:

  • kubectl expose [resource-type] [resource-name] –port=[port] –target-port=[target-port] –type=[service-type]:Expose a resource as a service.
  • kubectl get svc: List services.
  • kubectl port-forward [pod-name] [local-port]:[pod-port]: Forward ports from a local machine to a pod.

Configuration:

  • kubectl config view: View the current configuration.
  • kubectl config use-context [context-name]: Set the current context.

Pods:

  • kubectl exec -it [pod-name] — [command]: Execute a command in a pod.
  • kubectl run [pod-name] –image=[image-name]: Create a new pod running a specific image.

Namespaces:

  • kubectl create namespace [namespace-name]: Create a new namespace.
  • kubectl get namespaces: List namespaces.
  • kubectl config set-context –current –namespace=[namespace-name]: Set the default namespace.

Secrets and ConfigMaps:

  • kubectl create secret generic [secret-name] –from-literal=[key]=[value]: Create a secret.
  • kubectl create configmap [configmap-name] –from-literal=[key]=[value]: Create a ConfigMap.
  • kubectl describe secret [secret-name]: View secret details.
  • kubectl describe configmap [configmap-name]: View ConfigMap details.

Storage:

  • kubectl get pv: List persistent volumes.
  • kubectl get pvc: List persistent volume claims.

Advanced Troubleshooting:

  • kubectl describe [resource-type] [resource-name]: Get detailed information about a resource.
  • kubectl top [resource-type] [resource-name]: Display resource usage statistics.

Remember to replace placeholders like [resource-type], [resource-name], [pod-name], etc., with your actual resource and object names.

This cheatsheet should help you get started with Kubernetes and serve as a handy reference as you work with containers and orchestration in Kubernetes.

How to Check CPU Cores in Ubuntu.

Understanding the number of CPUs on your Ubuntu system is essential for a variety of tasks, including performance optimization, troubleshooting, and knowledge of system capabilities.

This article will examine several techniques for determining Ubuntu’s CPU count without the use of any external programs. To accommodate various user preferences, we will put a priority on command-line strategies and graphical user interface (GUI) tools.

Using the terminal is one of the simplest ways to check the number of CPUs in your Ubuntu system using various commands.

1. lscpu Command – Show CPU Architecture Information

The lscpu utility in Ubuntu is a useful command that offers comprehensive data on the CPU (Central Processing Unit) structure and its functionalities.

Users can acquire vital information like the number of CPUs or cores, CPU vendor details, cache dimensions, clock rates, and other essential details.

By employing the lscpu command, Ubuntu users can obtain valuable knowledge regarding their system’s CPU setup and utilize this information for diverse objectives such as system enhancement, performance assessment, and problem-solving.

You can install the lscpu tool with the help of the following command:

$ sudo apt-get install util-linux
$ lscpu
Ubuntu CPU Architecture Information
Ubuntu CPU Architecture Information

Look for the “CPU(s)” field to identify the number of CPUs.

2. cat /proc/cpuinfo – Show CPU Processor Info

The cat /proc/cpuinfo command is another way to retrieve detailed information about the CPU(s) on a Ubuntu system. It reads the /proc/cpuinfo file, which contains information about each CPU core.

When you run this command, it displays a comprehensive list of CPU-related details, including hardware configuration, number of CPUs, cores, etc.

$ cat /proc/cpuinfo
Get Ubuntu CPU Core Information
Get Ubuntu CPU Core Information

In order to get the total number of CPUs, count the number of distinct processor fields in the output. Each processor field represents a separate CPU core.

For example, let’s say the output of the command contains the following information:

processor  : 0
vendor_id  : GenuineIntel
cpu family : 6
model  	: 158
...
processor  : 1
vendor_id  : GenuineIntel
cpu family : 6
model  	: 158
...

In this case, there are two distinct processor fields (processor 0 and processor 1), indicating that there are two CPUs or CPU cores in the system.

3. nproc Command – Show Processing Units or CPU Cores

Using the nproc command user can quickly display the number of CPUs or CPU cores present in their system. The output is simply numeric that represents the number of CPUs.

To install nproc you need the following package:

$ sudo apt install coreutils
$ nproc
Show Ubuntu CPU Cores
Show Ubuntu CPU Cores

4. Hwinfo Command – Show CPU Hardware Components

The hwinfo command in Ubuntu is a strong utility that gives thorough hardware details about your system. You may learn more about numerous components, including CPUs, RAM, discs, network interfaces, and more, in-depth.

You can access a comprehensive report with hardware-related statistics by running the hwinfo command in the terminal. Understanding the setup of your system will help you fix hardware issues and improve performance.

To install hwinfo in Ubuntu:

$ sudo apt install hwinfo

Since the hwinfo provides detailed information about hardware components the output can be quite lengthy. Therefore we will filter the output by telling hwinfo to fetch only CPU-related information and filter it using the grep command in Linux.

$ hwinfo --cpu | grep "Units/Processor"
Show CPU Related Information
Show CPU Related Information

5. getconf _NPROCESSORS_ONLN Command

You can easily find out how many CPUs or online processors are currently in use on your system with Ubuntu’s “getconf _NPROCESSORS_ONLN” command. You may get an easy-to-understand numeric output showing the number of active CPUs by typing this command into the terminal.

getconf is mostly pre-installed in Ubuntu systems but if not you can install it:

$ sudo apt install libc-bin

To get the number of CPUs:

$ getconf _NPROCESSORS_ONLN
Find Number of Ubuntu CPUs
Find Number of Ubuntu CPUs

Numerous graphical user interfaces (GUI) tools provided by Ubuntu allow users to check the number of central processing units (CPUs) in their operating system.

These utilities present a user-friendly interface for showcasing system data, encompassing CPU specifications. Presented below is a selection of well-known GUI utilities that facilitate checking CPU quantity.

6. Gnome System Monitor

An elegant graphical program called GNOME System Monitor is included in Ubuntu and offers real-time resource management. The performance of your system’s CPU, memory, network, and disc utilization may be tracked and analyzed using its user-friendly interface.

You can simply monitor resource usage, spot any bottlenecks, and effectively manage activities with GNOME System Monitor.

If you have a Gnome environment then the Gnome system monitor is already installed. If not you can simply install it with the following command:

$ sudo apt install gnome-system-monitor
$ gnome-system-monitor

Head to the resources section to find out the number of CPUs and their usage.

Gnome System Monitor
Gnome System Monitor

7. Hardinfo

Hardinfo is an extensive tool for Ubuntu that offers in-depth insights into various hardware components and system configurations. It has a very user-friendly interface which will help you gather information related to your system.

To install the hardinfo graphical tool run:

$ sudo apt install hardinfo
$ hardinfo

Then head towards the Processor tab on the left-hand side of the app:
HardInfo - Check Hardware Information in Ubuntu
HardInfo – Check Hardware Information in Ubuntu

Here you can view the number of CPUs in your system.

Conclusion

This article delved into different techniques for verifying the CPU count in Ubuntu. Whether you favor the terminal or a graphical interface, Ubuntu provides multiple pre-installed choices for obtaining CPU data. By grasping the CPU count in your system, you can efficiently oversee system performance, address problems, and enhance resource allocation. Keep in mind to select the approach that aligns with your inclination and relish the advantages of comprehending your Ubuntu system thoroughly. Have a delightful computing experience!

Compare Files in Linux With These Tools.

Whether you’re a programmer, creative professional, or someone who just wants to browse the web, there are times when you find yourself finding the differences between files.

There are two main tools that you can use for comparing files in Linux:

  • diff: A command line utility that comes preinstalled on most Linux systems. The diff command has a learning curve.
  • Meld: A GUI tool that you can install to compare files and directories. It is easier to use, especially for desktop users.

But there are several other tools with different features for comparing files. Here, let me mention some useful GUI and CLI tools for checking the differences between files and folders.

Note: The tools aren’t ranked in any particular order. Choose what you find the best for you.

1. Diff command

diff command

Diff stands for difference (obviously!) and is used to find the difference between two files by scanning them line by line. It’s a core UNIX utility, developed in the 70s.

Diff will show you lines that are required to change in compared files to make them identical.

Key Features of Diff:

  • Uses special symbols and characters to indicate lines required to change to make both files identical.
  • Goes through line by line to provide the best possible result.

And, the best part is, diff comes pre-installed in every Linux distro.

As you can see in the screenshot above, it’s not easy to understand the diff command output in the first attempt. Worry not. We have a detailed guide on using diff command for you to explore.

2. Colordiff command

colordiff utility

For some reason, if you find Diff utility a bit bland in terms of colors, you can use Colordiff which is a modified version of the diff command utility with enhanced color and highlighting.

Key Features Colordiff:

  • Syntax highlighting with attractive colors.
  • Improved readability over the Diff utility.
  • Licensed under GPL and has digitally signed source code.
  • Customizable

Installation:

Colordiff is available in the default repository of almost every popular Linux distribution and if you’re using any Debian derivative, you can type in the following:

sudo apt install colordiff

3. Wdiff command

wdiff

Wdiff is the CLI front end of the Diff utility, and it has a different approach for comparing files i.e it scans on a word-per-word basis.

It starts by creating two temporary files and will run Diff over them. Finally, it collects the output from you’re met with word differences between two files.

Key Features of Wdiff:

  • Supports multiple languages.
  • Ability to add colorized output by integrating with Colordiff.

Installation:

Wdiff is available in the default repository of Debian derivatives and other distros. For Ubuntu-based distros, use the following command to get it installed:

sudo apt install wdiff

4. Vimdiff command

vimdiff

Key Features of Vimdiff:

  • Ability to export the results on an HTML web page.
  • Can also be used with Git.
  • Customization (of course).
  • Ability to use it as CLI and GUI tool.

It’s one of the most powerful features that you get with Vim editor. Whether you are using Vim in your terminal or the GUI version, you can use the vimdiff command.

Vimdiff works in a more advanced manner than the usual diff utility. For starters, when you enter vimdiff command, it starts the vim editor with your usual diff. However, if you know how to get around your way through Vim and its commands, you can perform a variety of tasks along with it.

So, I’d highly recommend you to get familiar with the basic commands of Vim if you intend to use this. Furthermore, having an idea of how to use buffers in Vim will be beneficial.

Installation:

To use Vimdiff, you would need to have Vim installed on your system. We also have a tutorial on how to install the latest Vim on Ubuntu.

You can use the command below to get it installed (if you’re not worried about the version you install):

sudo apt install vim

5. Gitdiff command

gitdiff

As its name suggests, this utility works over a Git repository.

This command will utilize the diff command we discussed earlier and will run over git data sources. That can be anything from commits, and branches to files and a lot more.

Key features of Gitdiff:

  • Ability to determine changes between multiple git data sources.
  • Can also be used with binary files.
  • Supports highlighting with colors.

Installation:

Gitdiff does not require any separate installation unless you don’t have Git installed on your system. And if you’re looking for the most recent version, we have a tutorial on how to install the latest Git version on Ubuntu.

Or, you can just follow the given command to install Git on your Ubuntu-based distro:

sudo apt install git

6. Kompare

kompare

Looking for a GUI tool that not just differentiates files, but also allows you to create and apply patches to them?

Then Kompare by KDE will be an interesting choice!

Primarily, it is used to view source files to compare and merge. But, you can get creative with it!

Kompare can be used over multiple files, and directories and supports multiple Diff formats.

Key Features of Kompare:

  • Offers statistics of differences found between compared files.
  • Bézier-based connection widget shows the source and destination of files.
  • Source and destination can also be changed with commands.
  • Easy to navigate UI.
  • Allows to create and apply patches.
  • Support for various Diff formats.
  • Appearance can be customized to some extent.

Installation:

Being part of the KDE family, Kompare can be found easily on the default repository of popular Linux distros and the software center. But, if you prefer the command-line, here’s the command:

sudo apt install kompare

7. Meld

meld

Tools like Kompare may overwhelm new users as they offer a plethora of features, but if you’re looking for simple, Meld is a good pick.

Meld provides up to three-way comparison for files and directories and has built-in support for version control systems. You can also refer to a detailed guide on how to compare files using Meld to know more about it.

Key Features of Meld:

  • Supports up to 3-way file comparison.
  • Syntax highlighting.
  • Support for version control systems.
  • Simple text filtering.
  • Minimal and easy-to-understand UI.

Installation:

Meld is popular software and can be found easily on the default repository of almost any Linux distro. And for installation on Ubuntu, you can use this command:

sudo apt install meld

Additional: Sublime Merge (Non-FOSS)

sublime merge

Coming from the developers of the famed Sublime Text editor, Sublime Merge is targeted at programmers who are constantly dealing with version control systems, especially Git, as having the best workflow with Git is its primary focus.

From command line integration, powerful search, and flexibility to Git flow integration, anything that powers your workflow comes with it.

Like Sublime Text, Sublime Merge is also not open source. Similarly, it is also free but encourages you to buy a license for continuous use. However, you can continue using it without purchasing the license forever.

Sublime Merge

What’s Your Pick?

There are a few more tools like Sublime Merge. P4Merge and Beyond Compare come to my mind. These are not open source software but they are available for the Linux platform.

In my opinion, the diff command and Meld tools are enough for most of your file comparison needs. Specific scenarios like dealing with Git could benefit from specialized tools like GitDiff.

Source

Docker throws weight behind Windows Subsystem for Linux, chucks Hyper-V option overboard • DEVCLASS

Docker has thrown its support behind Microsoft’s latest rev of the Windows Subsystem for Linux, promising a technical review of Docker Desktop for WSL-2 next month.

In a blog post yesterday, Docker’s Simon Ferquel, wrote that while the original WSL was “an impressive effort to emulate a Linux Kernel on top of Windows”, the fundamental differences were such that “it was impossible to run the Docker Engine and Kubernetes directly inside WSL.”

Docker had, consequently, developed “an alternative solution” using Hyper-V and LinuxKit.

However, the container innovator said that the new version, unveiled last month, delivered “a real Linux Kernel running inside a lightweight VM. This approach is architecturally very close to what we do with LinuxKit and Hyper-V today, with the additional benefit that it is more lightweight and more tightly integrated with Windows than Docker can provide alone.”

Consequently, wrote Ferquel, “We will replace the Hyper-V VM we currently use by a WSL 2 integration package.” He said this approach would provide the same features as the current approach: “Kubernetes 1-click setup, automatic updates, transparent HTTP proxy configuration, access to the daemon from Windows, transparent bind mounts of Windows files, and more.”

When it came to running Linux, he continued, “With WSL 2 integration, you will still experience the same seamless integration with Windows, but Linux programs running inside WSL will also be able to do the same.”

This would remove the need for running separate Linux and Windows build scripts, he continued, and “a developer at Docker can now work on the Linux Docker daemon on Windows, using the same set of tools and scripts as a developer on a Linux machine.”

The technical preview, “will run side by side with the current version of Docker Desktop, so you can continue to work safely on your existing projects. If you are running the latest Windows Insider build, you will be able to experience this first hand.”

Further features will be added over the coming months, “until the WSL 2 architecture is used in Docker Desktop for everyone running a compatible version of Windows.”

Microsoft and Docker have gotten steadily closer over the last year. The container outfit’s Docker Enterprise product has been tweaked to support ageing Windows architectures, giving Redmond’s customers a reason NOT to consider alternative platforms. At the same time, they have collaborated on specifications for running distributed applications.

Source

How to Install Latest MySQL 8.0 on RHEL/CentOS and Fedora

MySQL is an open source free relational database management system (RDBMS) released under GNU (General Public License). It is used to run multiple databases on any single server by providing multi-user access to each created database.

This article will walk through you the process of installing and updating latest MySQL 8.0 version on RHEL/CentOS 7/6/ and Fedora 28-26 using MySQL Yum repository via YUM utility.

Step 1: Adding the MySQL Yum Repository

1. We will use official MySQL Yum software repository, which will provides RPM packages for installing the latest version of MySQL server, client, MySQL Utilities, MySQL Workbench, Connector/ODBC, and Connector/Python for the RHEL/CentOS 7/6/ and Fedora 28-26.

Important: These instructions only works on fresh installation of MySQL on the server, if there is already a MySQL installed using a third-party-distributed RPM package, then I recommend you to upgrade or replace the installed MySQL package using the MySQL Yum Repository”.

Before Upgrading or Replacing old MySQL package, don’t forget to take all important databases backup and configuration files.

2. Now download and add the following MySQL Yum repository to your respective Linux distribution system’s repository list to install the latest version of MySQL (i.e. 8.0 released on 27 July 2018).

--------------- On RHEL/CentOS 7 ---------------
# wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 28 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm
--------------- On Fedora 27 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm
--------------- On Fedora 26 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm

3. After downloading the package for your Linux platform, now install the downloaded package with the following command.

--------------- On RHEL/CentOS 7 ---------------
# yum localinstall mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# yum localinstall mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 28 ---------------
# dnf localinstall mysql80-community-release-fc28-1.noarch.rpm
--------------- On Fedora 27 ---------------
# dnf localinstall mysql80-community-release-fc27-1.noarch.rpm
--------------- On Fedora 26 ---------------
# yum localinstall mysql80-community-release-fc26-1.noarch.rpm

The above installation command adds the MySQL Yum repository to system’s repository list and downloads the GnuPG key to verify the integrity of the packages.

4. You can verify that the MySQL Yum repository has been added successfully by using following command.

# yum repolist enabled | grep "mysql.*-community.*"
# dnf repolist enabled | grep "mysql.*-community.*"      [On Fedora versions]

Verify MySQL Yum Repository

Verify MySQL Yum Repository

Step 2: Installing Latest MySQL Version

5. Install latest version of MySQL (currently 8.0) using the following command.

# yum install mysql-community-server
# dnf install mysql-community-server      [On Fedora versions]

The above command installs all the needed packages for MySQL server mysql-community-servermysql-community-clientmysql-community-common and mysql-community-libs.

Step 3: Installing MySQL Release Series

6. You can also install different MySQL version using different sub-repositories of MySQL Community Server. The sub-repository for the recent MySQL series (currently MySQL 8.0) is activated by default, and the sub-repositories for all other versions (for example, the MySQL 5.x series) are deactivated by default.

To install specific version from specific sub-repository, you can use --enable or --disable options using yum-config-manager or dnf config-manager as shown:

# yum-config-manager --disable mysql57-community
# yum-config-manager --enable mysql56-community
------------------ Fedora Versions ------------------
# dnf config-manager --disable mysql57-community
# dnf config-manager --enable mysql56-community

Step 4: Starting the MySQL Server

7. After successful installation of MySQL, it’s time to start the MySQL server with the following command:

# service mysqld start

You can verify the status of the MySQL server with the help of following command.

# service mysqld status

This is the sample output of running MySQL under my CentOS 7 box.

Redirecting to /bin/systemctl status  mysqld.service
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
   Active: active (running) since Thu 2015-10-29 05:15:19 EDT; 4min 5s ago
  Process: 5314 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 5298 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 5317 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─5317 /usr/sbin/mysqld --daemonize

Oct 29 05:15:19 localhost.localdomain systemd[1]: Started MySQL Server.

Check Mysql Status

Check Mysql Status

8. Now finally verify the installed MySQL version using following command.

# mysql --version

mysql  Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL)

Check MySQL Installed Version

Check MySQL Installed Version

Step 5: Securing the MySQL Installation

9. The command mysql_secure_installation allows you to secure your MySQL installation by performing important settings like setting the root password, removing anonymous users, removing root login, and so on.

Note: MySQL version 8.0 or higher generates a temporary random password in /var/log/mysqld.log after installation.

Use below command to see the password before running mysql secure command.

# grep 'temporary password' /var/log/mysqld.log

Once you know the password you can now run following command to secure your MySQL installation.

# mysql_secure_installation

Note: Enter new Root password means your temporary password from file /var/log/mysqld.log.

Now follow the onscreen instructions carefully, for reference see the output of the above command below.

Sample Output
Securing the MySQL server deployment.

Enter password for user root: Enter New Root Password

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Using existing password for root.

Estimated strength of the password: 50 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: Set New MySQL Password

Re-enter new password: Re-enter New MySQL Password

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

Step 6: Connecting to MySQL Server

10. Connecting to newly installed MySQL server by providing username and password.

# mysql -u root -p

Sample Output:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.1 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Step 7: Updating MySQL with Yum

11. Besides fresh installation, you can also do updates for MySQL products and components with the help of following command.

# yum update mysql-server
# dnf update mysql-server       [On Fedora versions]

Update MySQL Version

Update MySQL Version

When new updates are available for MySQL, it will auto install them, if not you will get a message saying NO packages marked for updates.

That’s it, you’ve successfully installed MySQL 8.0 on your system. If you’re having any trouble installing feel free to use our comment section for solutions.

Source

How to Check MySQL Database Size in Linux

In this article, I will show you how to check the size of MySQL/MariaDB databases and tables via the MySQL shell. You will learn how to determine the real size of a database file on the disk as well as size of data that it present in a database.

Read Also20 MySQL (Mysqladmin) Commands for Database Administration in Linux

By default MySQL/MariaDB stores all the data in the file system, and the size of data that exists on the databases may differ from the actual size of Mysql data on the disk that we will see later on.

In addition, MySQL uses the information_schema virtual database to store information about your databases and other settings. You can query it to gather information about size of databases and their tables as shown.

# mysql -u root -p
MariaDB [(none)]> SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES 
GROUP BY table_schema; 

Check MySQL Database Size

Check MySQL Database Size

To find out the size of a single MySQL database called rcubemail (which displays the size of all tables in it) use the following mysql query.

MariaDB [(none)]> SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "rcubemail"
ORDER BY (data_length + index_length) DESC;

Check Size of MySQL Database

Check Size of MySQL Database

Finally, to find out the actual size of all MySQL database files on the disk (filesystem), run the du commandbelow.

# du -h /var/lib/mysql

Check MySQL Size on Disk

Check MySQL Size on Disk

You might also like to read these following MySQL related articles.

  1. 4 Useful Commandline Tools to Monitor MySQL Performance in Linux
  2. 12 MySQL/MariaDB Security Best Practices for Linux

For any queries or additional ideas you want to share regarding this topic, use the feedback form below.

Source

WP2Social Auto Publish Powered By : XYZScripts.com