Skip to Content

Fedora Linux (KDE) Set Up Notes

Motivation

Windows 11 has terrible UX and it’s only going to get worse because Microsoft as an organization has no incentive to make it better.

Objective is to find my new main personal OS. Looking at the alternatives, macOS is promising but I don’t want to be fully locked-in to Apple, or having to buy new hardware, or risk Liquid Glass shoved into my face. So that leaves Linux.

I started with selecting the desktop environment first. I picked KDE because it looks like Windows and does not do random nonsensical avant-garde stuff like GNOME.

Now the question of distro. I selected Fedora as it offers the following:

  • Gets the new packages quickly (vs. Ubuntu/Debian), can enjoy new KDE versiosn as soon as they come out
  • Fairly secure defaults with SELinux configurations
  • Supports secure boot out of the box, easy to dual-boot with Windows for the backup option
  • Pretty good stability (due to Red Hat support), and good documentation / community available

(Though maybe don’t use Fedora as a server, updating every six months would be too annoying – find some LTS distros instead)

If you are looking to switch to Linux, don’t let the length of this page scare you. Fedora KDE is quite usable out of the box. This is just my personal notes to make the OS behave as someone who used Windows growing up but now swaps between macOS (work) and Fedora KDE (personal).

KDE Plasma Settings

Trackpad

Change trackpad scroll direction to Natural in System Settings (match with macOS).

Task Manager (Taskbar)

Change Task Manager to Icons-and-Text mode to replicate Windows taskbar appearance.

In Icons-and-Text settings:

  • Appearance: Set Maximum Task Width to Narrow
  • Behavior: Uncheck Keep launchers separate — this replicates Windows taskbar behavior and is closer to macOS Dock where the app icon stays in place
  • Behavior: Set Clicking grouped task to Shows textual list

To access this setting, right click on the task bar where the apps are.

Digital Clock

  • Time Display: 24-Hour
  • Date format: ISO

Display

Change scaling to 140% for high-DPI displays (Framework 13).

Keyboard Shortcuts

Configure the following shortcuts in System Settings > Keyboard > Shortcuts:

ActionShortcutNotes
KRunnerCtrl + SpaceReplicates macOS Cmd + Space for Spotlight
Show Clipboard Items [1]Ctrl + Shift + XBuilt-in is Meta + V, but I want to replicate Maccy. On macOS, Maccy’s default is Cmd + Shift + C, but on Linux this is the shortcut for Copy/Paste in Konsole sadface so can’t use it. I have devised this alternative: Ctrl + Shift + X – it has NO common conflicts on all OSes, and X is also kind of Cut/Copy/Paste related. I now use Cmd + Shift + X for Maccy as well.
Firefox New Private WindowCtrl + Shift + NSet in KDE because Firefox does NOT support custom shortcuts for this
Window Management / Toggle OverviewMeta + TabReplicates macOS Cmd + Tab for Expose and Windows Win + Tab for Overview

[1]: Can we talk about just how delightful it is that KDE just has this nice thing included??? Now only if it can just Paste directly on item selection… please please pretty please

For VS Code, install https://marketplace.visualstudio.com/items?itemName=smcpeak.default-keys-windows

System Configuration

Full Disk Encryption Auto-Decrypt

Enroll TPM2 for automatic FDE decryption on boot: https://community.frame.work/t/guide-setup-tpm2-autodecrypt/39005

mDNS for Network Discovery

Enable mDNS to connect to NAS devices and other network services at home: https://www.reddit.com/r/Fedora/comments/1lg1c32/comment/mystf3f/

Add open Command

Add a macOS-style open command to the shell. In ~/.bashrc, add:

alias open='xdg-open'

(Optional) For a more extensive, cross-platform version: https://superuser.com/a/38989

Input Methods

Chinese Input (Fcitx5)

Install fcitx5 and the Chinese addons:

sudo dnf install fcitx5 fcitx5-chinese-addons

Configuration:

  1. In Fcitx settings, select Pinyin under the Chinese heading. Note: The “Chinese” entry with AltGr dead keys is a keyboard layout, not an input method.
  2. Disable Temporary Toggle Input Method with left Shift
  3. Add Meta + Space as Toggle Input Method (aligns with Windows and macOS). Also, Alt + Left Shift should work too.

Fcitx5 Pinyin seems to provide better prediction quality than Rime.

Application Notes

Firefox and Yubikey

Unfortunately, Linux does not yet support Platform-based Passkeys (meaning the passkey saved on the laptop itself). So you need a hardware-based key like a Yubikey.

Firefox prompts the Yubikey (causing it to blink) on every new website due to PIV module detection. If you don’t need PIV (enterprise feature), disable it for Firefox:

sudo nano /usr/share/p11-kit/modules/opensc.module

Add this line:

disable-in: firefox

Developer Tools

Terminal Emulator / Console

Install ghostty in order to take advantage of the “smart Ctrl+C and Ctrl+V (without needing to use Shift)” for copy/paste. This preserves muscle memory of copy/paste with coming from macOS.

Configure the following in ~/.config/ghostty/config.ghostty

keybind = performable:ctrl+c=copy_to_clipboard
keybind = performable:ctrl+v=paste_from_clipboard

More details: https://ghostty.org/docs/config/keybind#performable:

East Terminal Copy and Paste

Install sudo dnf install xclip

In ~/.bashrc, add:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

Now this is working like macOS.

Node

Use “Fast Node Manager fnm” to wrangle node versions: https://github.com/Schniz/fnm

fnm install --lts
fnm default lts-latest

Virtual Machine Guide

Install components following this https://docs.fedoraproject.org/en-US/quick-docs/virtualization-getting-started/#_enabling_hardware_virtualization_support

For using the Virtual Machine Manager GUI https://ubuntuhandbook.org/index.php/2024/12/kvm-qemu-virtual-machines-ubuntu/

Paper Cuts

Known issues with KDE Plasma on Wayland:

  • Chrome: Scrolling behavior is poor on Wayland. No forward/backward trackpad gestures. This caused me to switch to Firefox.
  • Firefox: Has proper scrolling and gestures, but lacks passkey support (QR Passkeys and Windows Hello equivalent). -> Solution, use Yubikey for passkeys / FIDO2.

Further Reading

https://github.com/devangshekhawat/Fedora-43-Post-Install-Guide