= Finding and installing Linux applications
Hanku Lee, Peter Boy; Fedora Documentation Team
:revnumber: F36 and newer
:revdate: 2024-05-14
:category: Managing Software
:tags: Tutorial, Workstation

[abstract]
If you are looking for software to run on Fedora Linux, you will discover Fedora-packaged software, EPEL (Extra Packages for Enterprise Linux) and Flatpak apps. Here is an overview of software repositories and installation.

== Sources of software packages

=== Fedora Repository

The Fedora repository is available for all Fedora releases and backed by the following characteristics.

- Free and Open Source software packaged in Fedora Linux meets license approval criteria. (Link to: https://docs.fedoraproject.org/en-US/legal/license-approval/)

- Fedora Quality Assurance continually improves the quality of Fedora releases and updates. (Link to: https://docs.fedoraproject.org/en-US/qa-docs/)

=== What comes with default?

- Fedora-packaged software: registry.fedoraproject.org

- Updates repo

=== Optional repos

- Fedora Flatpaks

- EPEL

- Test repo

- Flathub

== Installation Procedures

The Fedora Linux ships with a graphical software manager to browse, test, install apps and update the installation. This article caters for users who prefer the use of graphical interface to command line interface. The process diverges depending on desktop environment.

=== GNOME

In GNOME desktop environment, GNOME Software helps you explore, install and update applications and system extensions.

==== How to use Software

To launch Software, press the Super key (next to left Alt key), type software, and press Enter key.

Step through the numbered list and the number annotated on the image of GNOME Software.

==== 1. Explore applications by categories

All the featured apps will be shown on banner in the middle.

.GNOME Software
image::finding-installing-linux-apps/gnome1-featured.png[GNOME Software]

Browse apps as categorized below and click a category that is of your interest.

- Use case: Create, Work, Play, Socialize, Learn, Develop
- Editor's choice

==== 2. Search applications by name

If you know the name of apps to install, click the magnifying glass on the top left corner and type in the name of apps and press Enter key. GNOME Software will suggest a set of applications that match your search.

==== 3. Check the software metadata

Once you click an app icon, Software presents screenshot of apps and overview.

Scroll down to examine version history, reviews and license details.

.App overview
image::finding-installing-linux-apps/GNOME_SW3_metadata.png[App overview]

If an app has optional add-ons to install together with the app, they will be displayed as *Add-ons* before the software metadata section.

==== 4. Installation

If you have checked the software metadata, scroll up to find and click the blue *Install* button on top right corner of software you selected.

Source (repository) is labelled as Fedora Linux (RPM) or Fedora Flatpak under the blue 'Install' or 'Open' button.

.App Installation
image::finding-installing-linux-apps/GNOME_SW2_Install.png[App Installation]

==== 5. Updates

To check system and app updates, go to updates tab and load updates.
If there are updates available, the blue download button will appear.

Click download and wait for the blue Restart & Update button. System updates require restart.

If you prefer automatic notification when there are updates available, enable automatic Updates in the hamburger menu on the top right corner.

==== 6. Manage repositories

To enable or disable repositories, go to the hamburger menu on the top right corner and select Software Repositories. From there, you can toggle Fedora Flatpaks to explore more apps.

.Optional Repos
image::finding-installing-linux-apps/GNOME_SW6_repo.png[Optional Repos]

=== KDE

In KDE Plasma desktop, Discover helps you explore, install and update applications and system extensions.

==== How to use Discover

Before launching Discover, Kickoff Application Launcher (Kickoff in short) assists you to use the integrated search function.

Step through the numbered list and the number annotated on the image of KDE Plasma desktop and Discover.

==== 1. Explore applications with Kickoff

To launch Kickoff, in the default configuration, press the Super key (next to left Alt key). Hover your mouse over installed apps as caterogized on the left pane. All the available apps will be shown on the right pane.

.Kickoff application launcher
image::finding-installing-linux-apps/KDE1_KickoffCategory.png[KDE Plasma Kickoff]

If you look for an application that has not been installed yet, Kickoff will suggest a set of applications that match your search.

Get <application name>. Click the app to navigate to Discover, enabling you to installation.

.Get application with Kickoff
image::finding-installing-linux-apps/KDE1_KickoffGetApp.png[Get application with Kickoff]

==== 2. Explore applications by categories

To launch Discover directly, press the Super key (next to left Alt key), type discover, and press Enter key.

Hover your mouse over available apps as caterogized on the left pane. Click a category that is of your interest. All the featured apps will be shown on the right pane.

.Application by categories
image::finding-installing-linux-apps/KDE2_Discover_category.png[Application by categories]

==== 3. Search applications by name

If you know the name of apps to install, type in the name of apps in the search window on the top left corner and press Enter key. Discover will suggest a set of applications that match your search.

==== 4. Check the software metadata

Once you click an app icon, Discover presents screenshot of apps and overview, software metadata such as software version, reviews and license details.

.Check metadata
image::finding-installing-linux-apps/KDE2_Discover_metadata.png[Check metadata]

==== 5. Installation

If you have checked the software metadata, click the *Install* button on top right corner of software you selected.

==== 6. Updates

Update notification will appear on status bar when updates become available. Click the notification to open Discover. Press “Update All” button on the top right corner. System updates require restart.

.Application updates
image::finding-installing-linux-apps/KDE6_Updates.png[Application updates]

==== 7. Manage repositories

To enable repositories, go to Settings in Discover. In case Flathub is required to explore more apps, click the Add Flathub button.

== More information

For latest improvements on functionality and look of graphical software manager, please check the upstream documentation on the link below.

GNOME Software: https://wiki.gnome.org/Apps/Software

KDE Discover: https://userbase.kde.org/Discover

To explore and install command-line apps, refer to the DNF Command Reference: https://dnf.readthedocs.io/en/latest/command_ref.html

To explore and install language libraries, packages, and development toolchain, refer to the Fedora Developer Portal: https://developer.fedoraproject.org/tech.html
