Linux
We all know that Linux is awesome, but here's a list of especially awesome things related to the Linux ecosystem.
You might also want to check awesome-c, awesome-shell, awesome-sysadmin, and awesome-security.
Table of Content
- Distributions
- Learning Resources
- X Desktop Environments
- X Windows Managers
- Applications
- Useful Websites
- License
Distributions
Distributions are organized into three different categories: for beginners, for intermediate users and for advanced users. In those categories, the distributions are organized in the alphabetical order.
Beginners
elementary OS
elementary OS is an Ubuntu-based desktop distribution. Some of its more interesting features include a custom desktop environment called Pantheon and many custom apps including Photos, Music, Videos, Calendar, Terminal, Files, and more. It also comes with some familiar apps like the Epiphany web browser and a fork of Geary mail.
Latest version: elementary OS Juno (5.0)
Default Desktop Environment: Pantheon
Fedora
Fedora (formerly Fedora Core) is a Linux distribution developed by the community-supported Fedora Project and owned by Red Hat. Fedora contains software distributed under a free and open-source license and aims to be on the leading edge of such technologies. Fedora has a reputation for focusing on innovation, integrating new technologies early on and working closely with upstream Linux communities. The default desktop in Fedora is the GNOME desktop environment and the default interface is the GNOME Shell. Other desktop environments, including KDE, Xfce, LXDE, MATE and Cinnamon, are available. Fedora Project also distributes custom variations of Fedora called Fedora spins. These are built with specific sets of software packages, offering alternative desktop environments or targeting specific interests such as gaming, security, design, scientific computing and robotics.
Latest version: Fedora Twenty Nine (29)
Default Desktop Environment: GNOME
Linux Mint
Linux Mint is an Ubuntu-based distribution whose goal is to provide a more complete out-of-the-box experience by including browser plugins, support for DVD playback, Java and other components. It also adds a custom desktop and menus, several unique configuration tools, and a web-based package installation interface. Linux Mint is compatible with Ubuntu software repositories.
Latest version: Linux Mint Tessa (19.1)
Default Desktop Environment: Cinnamon and MATE
Ubuntu
Ubuntu is a complete desktop Linux operating system, freely available with both community and professional support. The Ubuntu community is built on the ideas enshrined in the Ubuntu Manifesto: that software should be available free of charge, that software tools should be usable by people in their local language and despite any disabilities, and that people should have the freedom to customise and alter their software in whatever way they see fit. "Ubuntu" is an ancient African word, meaning "humanity to others". The Ubuntu distribution brings the spirit of Ubuntu to the software world.
Latest version: Ubuntu 18.10
Default Desktop Environment: GNOME
Intermediate
CentOS
CentOS as a group is a community of open source contributors and users. Typical CentOS users are organisations and individuals that do not need strong commercial support in order to achieve successful operation. CentOS is 100% compatible rebuild of the Red Hat Enterprise Linux, in full compliance with Red Hat's redistribution requirements. CentOS is for people who need an enterprise class operating system stability without the cost of certification and support.
Latest version: CentOS 7.1810
Default Desktop Environment: GNOME
Debian GNU/Linux
The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system is called Debian. Debian systems currently use the Linux kernel. Linux is a completely free piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. Of course, the thing that people want is application software: programs to help them get what they want to do done, from editing documents to running a business to playing games to writing more software. Debian comes with over 50,000 packages (precompiled software that is bundled up in a nice format for easy installation on your machine) - all of it free. It's a bit like a tower. At the base is the kernel. On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian -- carefully organizing and fitting everything so it all works together.
Latest version: Debian Stretch (9.6)
Default Desktop Environment: GNOME
Mageia
Mageia is a fork of Mandriva Linux formed in September 2010 by former employees and contributors to the popular French Linux distribution. Unlike Mandriva, which is a commercial entity, the Mageia project is a community project and a non-profit organisation whose goal is to develop a free Linux-based operating system.
Latest version: Mageia 6.1
Default Desktop Environment: KDE
Manjaro
Manjaro Linux is a fast, user-friendly, desktop-oriented operating system based on Arch Linux. Key features include intuitive installation process, automatic hardware detection, stable rolling-release model, ability to install multiple kernels, special Bash scripts for managing graphics drivers and extensive desktop configurability. Manjaro Linux offers Xfce as the core desktop options, as well as a minimalist Net edition for more advanced users. Community-supported GNOME 3/Cinnamon and KDE flavours are available. Users also benefit from the supportive and vibrant Manjaro community forum.
Latest version: Manjaro 18.0.2
Default Desktop Environment: XFCE, KDE
openSUSE
The openSUSE project is a community program sponsored by SUSE Linux and other companies. Promoting the use of Linux everywhere, this program provides free, easy access to openSUSE, a complete Linux distribution. The openSUSE project has three main goals: make openSUSE the easiest Linux for anyone to obtain and the most widely used Linux distribution; leverage open source collaboration to make openSUSE the world's most usable Linux distribution and desktop environment for new and experienced Linux users; dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux developers and software vendors.
Latest version: openSUSE Leap 15.0 and openSUSE Tumbleweed (Rolling Release system)
Default Desktop Environment: KDE, GNOME, XFCE, LXDE (Choose on installation)
Advanced
Arch Linux
Arch Linux is an independently developed, x86_64-optimised Linux distribution targeted at competent Linux users. It uses 'pacman', its home-grown package manager, to provide updates to the latest software applications with full dependency tracking. Operating on a rolling release system, Arch can be installed from a CD image or via an FTP server. The default install provides a solid base that enables users to create a custom installation. In addition, the Arch Build System (ABS) provides a way to easily build new packages, modify the configuration of stock packages, and share these packages with other users via the Arch Linux user repository.
Latest version: Not applicable (Rolling Release system)
Default Desktop Environment: Not applicable (there's no default Desktop environment)
Special Purpose
CoreOS
Specialty: Clusters
CoreOS is a Linux-based operating system for servers. Built from the ground up and designed primarily for the modern data centre, CoreOS provides specialist tools for making the system secure, reliable and up-to-date. Some of the more interesting features of the distribution include reliable updates and patches via FastPatch, a dashboard for managing rolling updates via CoreUpdate, a docker for packaging applications, as well as support for bare metal and many cloud providers.
Kali Linux
Specialty: Penetration testing
Kali Linux (formerly known as BackTrack) is a Debian-based distribution with a collection of security and forensics tools. It features timely security updates, support for the ARM architecture, a choice of four popular desktop environments, and seamless upgrades to newer versions.
Puppy Linux
Specialty: Low system requirements
Puppy Linux is yet another Linux distribution. What's different here is that Puppy is extraordinarily small, yet quite full-featured. Puppy boots into a ramdisk and, unlike live CD distributions that have to keep pulling stuff off the CD, it loads into RAM. This means that all applications start in the blink of an eye and respond to user input instantly. Puppy Linux has the ability to boot off a flash card or any USB memory device, CDROM, Zip disk or LS/120/240 Superdisk, floppy disks, internal hard drive. It can even use a multisession formatted CD-RW/DVD-RW to save everything back to the CD/DVD with no hard drive required at all.
Ubuntu Studio
Specialty: Multimedia creation
Ubuntu Studio is a variant of Ubuntu aimed at the GNU/Linux audio, video and graphic enthusiast as well as professional. The distribution provides a collection of open-source applications available for multimedia creation.
Tails
Specialty: Incognito live system
Tails is a live system that aims to preserve your privacy and anonymity. It helps you to use the Internet anonymously and circumvent censorship almost anywhere you go and on any computer but leaving no trace unless you ask it to explicitly. It is a complete operating system designed to be used from a USB stick or a DVD independently of the computer's original operating system. It is Free Software and based on Debian GNU/Linux. Tails comes with several built-in applications pre-configured with security in mind: web browser, instant messaging client, email client, office suite, image and sound editor, etc.
Learning Resources
Books
The Linux Command Line [4.36] [FREE]
This is a great introduction to the Linux command line. - @4iar
You've experienced the shiny, point-and-click surface of your Linux computer—now dive below and explore its depths with the power of the command line.
The Debian Administrator's Handbook, Debian Wheezy from Discovery to Mastery [4.83] [FREE]
Good book that teaches you the basics of Debian GNU/Linux administration. - @elninosi
It covers all the topics that a competent Linux administrator should master, from the installation, update of the system, up to the creation of packages and the compilation of the kernel, but also monitoring, backup and migration. Plus advanced topics to secure services, automated installations, or virtualization.
FREE]
Bash Shell Scripting [Currently this book provides an introduction level knowledge of Bash.
Courses
Introduction to Linux (LFS101x-1) [Free]
Organized by the Linux Foundation, it's a great free course to learn basics about Linux. - @aleksandar-todorovic
Linux Alternatives to Windows Applications [Free]
If you used Windows and decided to switch to Linux, this course should help you to find their alternatives. It's pretty short and you can finish it in a day. - @aleksandar-todorovic
Bash Learning Resources
- Beautiful Bash: Let's make reading and writing bash scripts fun again!
- Best Practices for Writing Bash Scripts
- Shell Style Guide
- Linux Fu: Better Bash Scripting
- Bash Guide for Beginners
- Advanced Bash-Scripting Guide
X Desktop Environments
You cannot talk about a unified Linux look because there is no such thing.
GNOME
GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation.
KDE
The KDE® Community is an international technology team dedicated to creating a free and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon. We have a strong focus on finding innovative solutions to old and new problems, creating a vibrant atmosphere open for experimentation.
Xfce
Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.
LXDE
The "Lightweight X11 Desktop Environment" is an extremely fast-performing and energy-saving desktop environment. Maintained by an international community of developers, it comes with a beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as netbooks, mobile devices (e.g. MIDs) or older computers. LXDE can be installed on many Linux distributions including Debian, Fedora, OpenSUSE and Ubuntu. It is the standard for Knoppix and lubuntu. LXDE also runs on OpenSolaris and BSD. LXDE provides a fast desktop experience; connecting easily with applications in the cloud. LXDE supports a wealth of programs that can be installed locally with Linux systems. The source code of LXDE is licensed partly under the terms of the GNU General Public License and partly under the LGPL.
Other Desktop Environments
- Cinnamon - Strives to provide a traditional user experience.
- EDE - Small desktop environment built to be responsive, light in resource usage and to have a familiar look and feel.
- LXQt - Qt port and the upcoming version of LXDE, the Lightweight Desktop Environment. It is the product of the merge between the LXDE-Qt and the Razor-qt projects: A lightweight, modular, blazing-fast and user-friendly desktop environment.
- MATE - Provides an intuitive and attractive desktop to Linux users using traditional metaphors. Fork of GNOME 2.
- Pantheon - Pantheon is the default desktop environment originally created for the elementary OS distribution. The desktop has some similarities with GNOME Shell and macOS.
X Windows Managers
- 9wm - Window manager that attempts to emulate the Plan 9 window manager 8-1/2 as far as possible within the constraints imposed by X.
- awesome - Highly configurable window manager for X. Fast and extensible.
- Blackbox - Lightweight window manager for the X window system, without library dependencies. Built using C++.
- bspwm - Tiling window manager that represents windows as the leaves of a full binary tree.
- Compiz - OpenGL compositing window manager. It has a plug-in system to be changed at runtime.
- dwm - Dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application and task performed.
- Enlightenment - Window manager bundled with a whole suite of libraries to help you create beautiful user interfaces.
- Fluxbox - Window manager for X, lightweight and easy to handle but full of features to make an easy and fast desktop experience. Built using C++.
- FVWM - ICCCM-compliant multiple virtual desktop window manager for X. Extremely powerful.
- i3 - Tiling window manager. BSD-licensed. Primarily targeted at advanced users and developers.
- IceWM - Window manager with the goal of being fast, simple, and not getting in the user's way.
- JWM - Lightweight window manager for X11. Good choice for older and/or less powerful systems, though perfectly capable of running on modern systems. Built using C.
- Matchbox - Environment for X running on non-desktop embedded platforms such as handhelds, set-top boxes, kiosks and anything else for which screen space, input mechanisms or system resources are limited.
- Mutter - Window manager for X. Default window manager in GNOME 3.
- Openbox - Highly configurable window manager with extensive standards support.
- ratpoison - A simple window manager with no library dependencies, no graphics, and no decorations. Modeled after GNU Screen.
- Sawfish - Extensible window manager. Its aim is to manage windows in the most flexible and attractive manner possible. Built using Lisp-based scripting language.
- wmii - Small, scriptable window manager, with a 9P filesystem interface and an acme-like layout.
- xmonad - Dynamically tiling X11 window manager. Makes work easier by automating aligning and searching for windows. Built using Haskell.
Applications
The list of awesome Linux applications that you should be using.
If you're looking for some pro-tips for your favorite text editor, you might be interested in awesome-atom, sublime-bookmarks, vim-galore, awesome-emacs, or awesome-vscode.
GUI-based Applications
GNOME-based
- Builder - IDE for GNOME that is focused on bringing the power of the GNOME platform to more developers.
- Evince - The most popular document viewer on the GNOME platform.
- Gedit - Powerful general purpose text editor.
- Polari - IRC client built to be easy to use.
- To Do - Minimalistic personal task manager designed to fit right into your GNOME desktop.
For more GNOME-based apps, visit: https://wiki.gnome.org/Apps
Pantheon-based
- FeedReader - RSS desktop client able to integrate with multiple online services.
- Go For It! - To-do list with built-in productivity timer.
- NaSC - Intelligent calculator app.
- Spice-Up - Desktop presentation app.
- Vocal - Podcast client for the modern desktop.
For more Pantheon-based apps, visit elementary-apps.
KDE-based
For more KDE-based apps, visit: https://www.kde.org/applications/
Not based on any desktop environment
- Atom - Hackable text editor for the 21st century.
- ghostwriter - Distraction-free Markdown editor.
- GParted - The most popular disk partitioning software out there.
- Kodi - Most popular entertainment center.
- Zathura - Highly customizable document viewer. It provides a minimalistic and space saving interface as well as an easy usage that mainly focuses on keyboard interaction.
- Etcher - Flash OS images to SD cards and USB drives, safely and easily.
Third-party clients for online services
Q: Why third-party apps? Why not the official clients?
A: Because, in 99% of the cases, official clients are proprietary.
- Corebird - Twitter client.
- GNOME Twitch - Twitch player.
- Caprine - Facebook's Messenger client with some added privacy features.
- PB for Desktop - Pushbullet client.
- ramme - Instagram client.
- ScudCloud - Slack client with additional features (compared to the original Slack client).
- Whatever - Evernote client based on the web version.
Package management and creation tools
Distro-oriented:
- Y PPA Manager (Ubuntu) - Manage PPAs and search for packages.
- pirut (Fedora) - Provides a set of graphical tools for managing software.
- Synaptics (Debian and
.deb
users) - Graphical package management program forapt
. - YaST (openSUSE) - Main package management tool on openSUSE.
- dnfdragora (Fedora) - A GUI for the
dnf
package manager. - Yay (Arch) - Yay is one of the many wrappers to
pacman
which automatically downloads and installs packages from AUR, a full list can be found here. - Aura (Arch) - Secure, multilingual package manager.
Distro-independent:
- AppImageKit - Using AppImageKit you can package applications in the AppImage format that runs on common Linux-based operating systems, such as RHEL, CentOS, Ubuntu, Fedora, debian and derivatives; one app = one file.
Console-based Applications and Tools
You might also be interested in checking out awesome-shell, awesome-bash, awesome-zsh-plugins or awesome-fish.
- cmus - Small, fast and powerful console music player.
- fuck - Command line tool which corrects your previously mistyped command.
- git - Distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
- glances - Cross-platform system monitoring tool.
- htop - Nice looking, customizable task manager.
- nano - Simple to use text editor.
- photorec - Useful tool for restoring deleted files.
- ranger - Vim-inspired file manager for the console.
- screenFetch - Fetches system/theme information in terminal.
- shellcheck - Static analysis tool for shell scripts.
- speed-test - Test your Internet connection speed and ping using speedtest.net.
- testdisk - A tool for disk partition recovery.
- tig - Text-mode interface for git. It functions mainly as a Git repository browser.
- vim - Advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.
- vtop - Easily-extendable activity monitor.
- wavemon - Monitoring application for wireless network devices.
- youtube-dl - A tool to download videos from YouTube and other video sites.
Useful Websites
Compute Freely
A friendly place to start for the Free & Open Source Software and Linux curious.
AlternativeTo
Find better alternatives to the software you already use or a replacement for software you cannot or do not want to use.
Linux Foundation
The Linux Foundation is a non-profit consortium dedicated to fostering the growth of Linux. Founded in 2000, The Linux Foundation sponsors the work of Linux creator Linus Torvalds and is supported by leading Linux and open source companies and developers from around the world.
Linux.com
For the community, by the community, Linux.com strives to be the central source for informed, reasonable, and intelligent Linux information, software, documentation and answers across the server, desktop/netbook, mobile, and embedded areas.
Linux.org
Although its design is outdated, Linux.org is (probably) the most popular forum and it's full of awesome Linux tutorials categorized by their difficulty. - @aleksandar-todorovic
Kernel.org
The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge.
Opensource.com
Opensource.com is an online publication focused on how open source is applied to different areas including business, education, government, health, law and other disciplines of life.
Our goal is to further the open source way by sharing the open source movement. Our community of readers is made up of those who believe that open participation and sharing can tackle the business, social, environmental, and technological challenges facing us today.
Linux.die
Linux.die is a resource with documentation, tutorials, books, etc in Linux.
License
This repository is licensed under the Do What the Fuck You Want to Public License. Its full content is located in the LICENSE
file.