Fedora 40 After Install Guide

This getting started guide will help quickly set up Fedora 40 Workstation after a fresh install. This is my personal guide that has been revised through numerous Fedora releases and thoroughly vetted by the Linux community.

The instructions here may seem familiar for those that referenced the Fedora 39 Guide. Most instructions remain identical to past versions. I personally test these commands on my laptop and desktop. This guide is intended for the Fedora Workstation edition. The commands will work on the different desktop spins such as KDE and Budgie. Other Fedora editions such as Silverblue are not compatible.

Fedora is a very popular Linux distro for good reason. It is a favorite amongst developers and end users alike. Its also my current and preferred distro.

Current Stable Release

Fedora 40 Workstation and other Spins were released as stable on April 23, 2024.

How To Use This Guide

Open a command line, a la Terminal, by pressing the Super key and typing Terminal. Copy the commands and paste into the Terminal. Pasting in the Terminal requires Ctrl + Shift + V or right click and select paste.

Tweak the Update Process

Before installing updates, consider adding the following DNF flag (DNF is the package management system that handles installing and updating software). These will enable a maximum of 10 parallel downloads. This can speed up the download process.

Some guides will recommend adding fastest mirror, but this can actually cause slower downloads as the server selected may have inadequate bandwidth. Similarly, Delta RPMs are enabled by default.

sudo nano /etc/dnf/dnf.conf

Copy and paste the following line into dnf.conf.

max_parallel_downloads=10

Update the System

Linux distros have frequent updates, patches, and feature upgrades. Its always important to keep software up to date for security reasons but its even more important with a fresh install. If its been a while since the distro was released, some of the packages may be feeling a little exposed. Get them up to date before doing anything else.

sudo dnf -y upgrade --refresh

Reboot after updating.

Update Firmware

Some manufacturers support device firmware and UEFI updates on Linux. The following commands will find devices with firmware, search for possible firmware updates, and install the updates. These updates can patch security bugs and improve performance.

sudo fwupdmgr get-devices 
sudo fwupdmgr refresh --force 
sudo fwupdmgr get-updates 
sudo fwupdmgr update

Enable RPM Fusion

RPM Fusion offers packages that cannot be offered in the official Fedora repos due to various reasons, such as non free or proprietary licensing. These instructions are kindly borrowed from RPM Fusion. An RPM is also available that will enable these repos. This command enables free and non free repos.

sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Update the system before installing the tainted free and tainted non free repos. The tainted free repo provides DVD playback support. Tainted non free contains non FOSS software and hardware drivers.

sudo dnf upgrade --refresh
sudo dnf -y groupupdate core
sudo dnf install -y rpmfusion-free-release-tainted
sudo dnf install -y rpmfusion-nonfree-release-tainted 
sudo dnf install -y dnf-plugins-core

Flatpak and Snap

With Fedora 38 and newer releases, the full Flathub repo is available for Flatpaks when you choose the option to Enable Third Party Repositories. This can be done when initially opening the Software Center. Otherwise, Fedora includes a curated Flathub repo with far fewer options.

Snap support is easily enabled as well. Many Snap packages also have Flatpak counterparts. Consider evaluating Snapcraft to see if the redundancy is necessary. Snap does come with FOSS controversy. While the frontend Snap packages are open source, the backend server side of Snaps is closed source and managed by Canonical, the company behind Ubuntu Linux. Snap is generally unpopular with the larger Linux community but there are many applications available through it.

sudo dnf install -y snapd
sudo ln -s /var/lib/snapd/snap /snap # for classic snap support
sudo reboot now

Multimedia

VLC handles most multimedia, but I still prefer to add additional codec support whenever possible.

For DVD playback, install the libdvdcss package. Requires the previously mentioned tainted free repo.

 sudo dnf install -y libdvdcss 

The following command will adds packages for gstreamer enabled applications. This enables playback of multimedia files. Names like bad and ugly refer to patent and licensing status.

sudo dnf groupupdate multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin

OpenH264 is used for H.264/MPEG-4 media playback. Adding this can enhance your web browsing experience. Enable OpenH264 support in Firefox by adding the repo and installing the plugin.

sudo dnf config-manager --set-enabled fedora-cisco-openh264
sudo dnf install -y gstreamer1-plugin-openh264 mozilla-openh264

After installing OpenH264, open Firefox and navigate to Menu > Add-ons and themes > Plugins. Enable the OpenH264 plugin . Verify the plugin is working correctly.

Run a system update again with support for additional multimedia codecs this time.

sudo dnf groupupdate sound-and-video

Enable Power Percentage

If you’re a mobile user relying on a battery, its helpful to know exactly how much is left. This command displays the battery percentage next to the battery.

gsettings set org.gnome.desktop.interface show-battery-percentage true

You can also enable this by opening Settings then Power and scrolling to the bottom. Click to enable Show Battery Percentage.

Improved Fonts

If you’re happy with the default fonts on Fedora, then carry on. These are the default fonts on Pop!_OS.

sudo dnf install -y fira-code-fonts 'mozilla-fira*' 'google-roboto*'

After installing, open Gnome Tweaks to tweak the fonts. If you haven’t installed Gnome Tweaks, its necessary to do so before proceeding.

sudo dnf install -y gnome-tweaks gnome-extensions-app

Open Gnome Tweaks and adjust each font individually. Most modern screens are LCD and will benefit from enabling Subpixel Antialiasing.

Installing Microsoft TrueType fonts can improve compatibility and stability of Microsoft Office generated files, including those in Microsoft 365. Follow these commands to install the fonts.

sudo dnf install curl cabextract xorg-x11-font-utils fontconfig

sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Install Apps via Command Line

Many of these applications are found in the Software Center. If you’re move comfortable installing software in a graphical point and click environment, skip down to Install via Software Center.

Software installations can be stacked together to save time and effort. For example, if you wish to install VLC and GIMP, the command can be executed as sudo dnf install -y install vlc gimp .

Instructions to install the Flatpak versions have been added. It is only necessary to install via dnf or Flatpak but not both.

Archive tools open compressed files.

 sudo dnf install -y unzip p7zip p7zip-plugins unrar 

Audacity is an excellent audio editor.

sudo dnf install -y audacity 
flatpak install flathub org.audacityteam.Audacity

Bitwarden is an open source password manager akin to LastPass or 1Pass. It integrates with autofill on Android. It syncs passwords across Android, Linux, ,iOS, OS X, and Windows. Bitwarden can be installed through AppImage, DEB, Flatpak, RPM, and Snap. DEB and RPM packages do not auto update. CLI Tools are available along with browser extensions. The Flatpak version is an unofficial release.

flatpak install flathub com.bitwarden.desktop

sudo snap install bitwarden

Dropbox is a cloud storage service that works across multiple platforms.

sudo dnf install -y dropbox nautilus-dropbox 
flatpak install flathub com.dropbox.Client

Geary is a simple to use email client

sudo dnf install -y geary
flatpak install flathub org.gnome.Geary

GIMP or GNU Image Manipulation Program is an open source photo editor often touted as the alternative to its proprietary counterpart.

sudo dnf install -y gimp 
flatpak install flathub org.gimp.GIMP

Gnome Tweak Tool makes it easy to modify the system and accompanying Gnome Extensions helps to manage installed extensions.

sudo dnf install -y gnome-tweaks gnome-extensions-app

qBittorrent is designed to be similar to µTorrent, a popular Windows Bittorrent client.

sudo dnf install -y qbittorrent 
flatpak install flathub org.qbittorrent.qBittorrent

Simplenote is a free note taking app developed by Automattic (the WordPress people). Simplenote syncs across virtually everything and supports AppImage, DEB, and RPM. Part of the appeal of Simplenote is markdown support but the other cool thing is WordPress support. Simplenote can be tied to a WordPress account for easy posting. Available Flatpak or Snap.

flatpak install flathub com.simplenote.Simplenote

Spotify is a music streaming service with mobile apps available as well.

flatpak install flathub com.spotify.Client

Standard Notes is a lot like Simplenote. Its free. Its open source. Its crazy cross platform. If the Automattic/Wordpress relationship makes you uncomfortable or maybe you just don’t need it, try Standard Notes instead. Standard Notes has one big advantage over Simplenote: extensions. Yes, the extensions do cost but they effectively turn Standard Notes into a mini office suite with support for markdown, rich text, LaTeX, and HTML to backup support for Dropbox, Google Drive, and OneDrive.

flatpak install flathub org.standardnotes.standardnotes

Steam is a gaming platform. I’m not a gamer but for this is the place to download games.

sudo dnf install -y steam
flatpak install flathub com.valvesoftware.Steam

Tutanota is a privacy focused email service.

flatpak install flathub com.tutanota.Tutanota

VLC is a popular media player capable of playing just about anything.

sudo dnf install -y vlc 
flatpak install flathub org.videolan.VLC

OBS Studio captures, records, and streams live video.

sudo dnf install -y obs-studio 
flatpak install flathub com.obsproject.Studio

GParted is a partition management utility. Gnome Disks is preinstalled on Fedora with similar functionality. GParted is a personal preference.

sudo dnf install -y gparted 

Open Gnome Tweaks to tweak the fonts.

Install via Software Center

Fedora ships with the Gnome Software Center as the primary home for installing applications. Gnome Software is relatively easy to use with software categories.

Upon first use, a prompt appears at the top to enable Third Party Software Repositories. This option was also available in the initial Welcome screen. The option is additionally available in the hamburger menu (the three stacked lines) in the upper right corner. Select that menu and choose Software Repositories.

Fedora 39 Repos
Enable Third Party Repositories in Fedora 39

Scroll down to find Fedora Third Party Repositories. This option enables useful repos like Google Chrome, Nvidia Drivers, Steam, and more.

Explore the categories at the bottom to discover different software. The magnifying glass in the top left opens the search function. The Software Center showcases “Editor’s Choice” titles. Many of them appear to be popular Linux titles.

Fedora 39 Software
Software package page

Clicking a software title will open a page with screenshots, a summary of the software, version information, and the option to install. The source menu located under the Install button displays different places or ways to install the software.

Fedora 39 Sources

For Geary, I selected Fedora Linux. Installing from Fedora Linux uses the RPM package. Using a distro’s own package format like RPM is often the best way to install the software with the smallest footprint and fastest load times. Software can also be installed from Flatpak in Gnome Software Center. When in doubt, install from the default source.

Browsers

I recommend using Firefox. End of story. Its a free and open source browser from a company that respects standards. For a Chromium based browser, consider Brave, Opera, or Vivaldi. Chrome is also easily available after enabling Third Party Repositories. Microsoft has released its Chromium based Edge browser for Linux as well though it may not be quite feature complete compared to the Windows version.

Brave is a privacy focused browser known for its advertising crypto called BAT.

sudo dnf install dnf-plugins-core

sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo

sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc

sudo dnf install brave-browser

Chromium is the open source browser project that Google Chrome builds on.

sudo dnf install -y chromium

OR if you want to install full blown Google-ized Chrome. If you want to install a different version, change the package from -stable to -beta or -unstable. Note: if you previously enabled Third Party Repositories, you can safely skip installing fedora-workstation-repositories below.

sudo dnf install fedora-workstation-repositories
sudo dnf config-manager --set-enabled google-chrome
sudo dnf install -y google-chrome-stable

Non Repo Software 

AppImageLauncher is an AppImage management utility. It makes it easier to track which AppImages have been installed on your system, helps to integrate them, and allows the user to easily remove them. It is available for download as an AppImage, DEB, RPM, and Tarball.

Try a secure email service like Protonmail or Tutanota. Gmail, Outlook, and other free email services offer tons of storage. In exchange, they mine your data to show you ads. Secure email services encrypt your data so they are unable to read it. Tutanota offers a free AppImage and Flatpak desktop client while Protonmail enables IMAP with a paid plan.

Flatpak

Many Gnome applications are available as Flatpaks now. Fedora even defaults to Flatpak in Gnome Software. Check out the list of Best Flatpaks for more options.

Snap

Snap has become a popular option for packaging Linux applications as well. I’m not a huge gamer but Urban Terror is a great online FPS.

Snaps do not display in Gnome Software. Consult Snapcraft to find more.

Extensions

I don’t recommend installing more than one Gnome Extension at a time to ensure compatibility and reliability. While they can enhance the Gnome experience and improve desktop customization, installing too many extensions can also adversely effect system performance.

Dash to Dock

Dash to Dock converts the bottom dock style bar into a proper application dock. It can be tweaked to autohide, extend to the edges, and move sides.

GSConnect

GSConnect allows notification syncing so that phone calls, messages, and app notifications will all appear on your desktop. Phone battery life is also displayed. It goes beyond just notifications though.

Text messages can be responded to or even started from the desktop. It also opens up file transfers between devices. While I like Google Messages for RCS and web access, it doesn’t compare to the features GSConnect offers.

GSConnect works with KDE Connect Android app. Before I go any further: Do not install KDE Connect on the Gnome Desktop Environment. It will interfere with GSConnect. GSConnect is the Gnome implementation of KDE Connect. The KDE Connect Android app works with both desktop programs.

Change the Desktop Environment

Fedora uses Gnome by default with several other desktop environment (DE) spins available. These DEs are still available after installing Fedora. Installing multiple DEs can cause conflicts with key managers and themes.

Available desktop environments can be found with this command:

dnf grouplist -v

The command will yield a list similar to this:

  • Fedora Custom Operating System (custom-environment)
  • Minimal Install (minimal-environment)
  • Fedora Server Edition (server-product-environment)
  • Fedora Workstation (workstation-product-environment)
  • Fedora Cloud Server (cloud-server-environment)
  • KDE Plasma Workspaces (kde-desktop)
  • Xfce Desktop (xfce-desktop)
  • LXDE Desktop (lxde-desktop)
  • LXQt Desktop (lxqt-desktop)
  • Cinnamon Desktop (cinnamon-desktop)
  • MATE Desktop (mate-desktop)
  • Sugar Desktop Environment (sugar-desktop)
  • Deepin Desktop (deepin-desktop)
  • Development and Creative Workstation (developer-workstation)
  • Web Server (web-server-environment)
  • Infrastructure Server (infrastructure-server-environment)
  • Basic Desktop (basic-desktop-environment)

Using the package name from the list above, install the desktop enviroment with a simple dnf install substituting kde-desktop-environment with the preferred DE.

sudo dnf install @kde-desktop

DEs can be switched at the login screen or alternatively, with the Desktop Switcher tool.

sudo dnf -y install switchdesk switchdesk-gui

Open the Desktop Switcher and select the preferred DE.


Discover more from Hacking The Hike

Subscribe to get the latest posts sent to your email.

2 thoughts on “Fedora 40 After Install Guide”

  1. Hi there, thank you for the fedora tips, much appreciated. How about a review on the fedora 40 kde version? Best regards

    Reply

Leave a Reply