Fedora
Redhat's desktop environment for part-time nerds.
Fedora Workstation Download
Fedora Silverblue Download
Fedora workstation is the official distribution, while Fedora Silverblue is a version of Fedora that makes the operating system immutable. That is, you can't go in and mess with the OS files, generally better for new users or people that just want an operating system that works and don't want to deal with customizing the internals. However, the dnf package manager doesn't work the same, instead you have to use OSTree, which is not a package system, summarized as "git for operating system binaries".
Basically dnf installs packages that are usually composed of partial filesystem trees with metadata and scripts will then assemble the programs on the client machine. OSTree only deploys complete filesystem trees and thus does not need to know what dependencies are available. This makes it ideal for an isolated OS environment like silverblue.
Here's more info if you're curious
Back to Fedora Workstation
Dandified Yum -- dnf -- Why Dandified? I haven't a clue and its tough to find on the internet.
I guess it's because it's like -- yum -- but fancier?
Installing Stuff
Official Red Hat package manager file .rpm is best usually, then flatpak, then snap. .rpm files are usually formatted as following:
<package_name>-<version-release>-<operating_system>-<CPU_architecture>.rpm
In general flatpak is better than snap for desktop fedora, try to find flatpak packages if possible.
sudo dnf install -y flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
What is flatpak/snap? A distribution independent package format designed to run apps in a virtual sandbox that contains all the dependencies needed to run the software. Flatpak is built on top of OSTree.
- flatpak is a packaging format for desktop GUI apps, snap has larger scope
- snaps can be used for terminal programs and are best(tm) suited for server applications
- snap generally spawn daemons and auto update and have a larger footprint
Check software store in the top right to see what type of file you're downloading.
For information on the filesystem hierachy standard, aka where Fedora puts files by convention
opt/
usr/lib
usr/local/lib
usr/bin
usr/local/bin
are the most common, run man hier for more info.
Finally, you can rpm -ql package-name To find out where you installed something.
Keyboard commands
Has all the basic commands that are mega handy on Mac and Windows: (Gnome kinda bussin ong)
- 3 finger swipe L - R to change screen.
- 3 finger swipe UP for explode windows, again for applications.
- Windows key also explodes windows start typing to search.
- Windows key + 1 2 3 etc to start your taskbar applications and switch to them.
- Windows key + arrow keys to fill window, move window Left - Right, shrink window.
- Windows key + Shift + arrow keys to move applications between screens.
Custom Keyboard Commands
download input-remapper https://github.com/sezanzeb/input-remapper must be compiled from python 3
use GUI or:
systemctl start input-remapper (this looks for a fedora.json file with already mapped keys)
input-remapper-control --command autoload
Misc
MSteams:: slap this into chrome to make screen sharing work:
chrome://flags/#enable-webrtc-pipewire-capturer
grep wifi passwords: sudo grep psk= /etc/NetworkManager/system-connections/*
Turn off water droplet sound in applications:
dconf write /org/gnome/desktop/sound/event-sounds "false"
Signing Pdfs in Fedora
Here's the normal Adobe Reader download instructions for Fedora, but if the signature field is not available it won't let you sign.
It's pretty annoying, the best solution i've found is:
dnf install xournalpp
opening it in there then you can draw a custom signature and export the whole file. Gimp works but only for 1 page files.
Setting up VMs with Qemu/KVM
KVM already built into the kernal so use this instead of Virtual Box (unless you like virtual box then w/e)
here's the video TL:DW
dnf groupinfo virtualization
sudo dnf group install --with-optional virtualization
start the daemon
sudo systemctl enable --now libvirtd
make sure virt-manager is installed
sudo dnf install virt-manager
If everything installed correctly you should be able to open the GUI tool: sudo virt-manager
Grab an iso and follow the install steps, put the iso in: /var/lib/libvirt/images
If your root partition isn't very large (like mine) I would recommend putting your images and storage
into your home directory... I put mine in
/home/jack/lib/libvirt/images
/home/jack/lib/libvirt/storage
To configure storage go to:
Edit > Connection Details > Storage
And add new storage with the amount of space you want to reserve for the OS. When installing a VM use one of these storage partitions you made by browsing for it in the "custom" option.
After you install, if you want to change your config (for things like storage or RAM size), you can:
sudo virsh edit <what you named your OS install>
Getting Connected to a VPN
Fedora comes with built in NetworkManager-openconnect.
This means you can connect to a Cisco Network using the built in vpn settings manager under
Settings > Network > (Press the + to add a network)
Ruby
sudo dnf install ruby
To install solargraph --the ruby language server provider--, install the developer environment. The developer environment is needed to compile ruby extensions (which are mostly written in C).
sudo dnf install ruby-devel