Technical logbook

Tips, fixes and research notes from my day-to-day as a freelance IT consultant — diagnosed, solved and written up so the next person (often me) doesn't have to start from scratch. Newest first.

  1. Flatpak apps won't start on Fedora — a hung Keybase FUSE mount (/keybase)

    Extension Manager (and every other Flatpak app) hangs forever at launch with unkillable processes. The cause is not the app: it is the Keybase redirector's dead FUSE mount on /keybase, which Flatpak stats while building its sandbox. How to identify it, unblock it without rebooting, and remove Keybase for good.

  2. Drive both Framework Laptop 16 LED Matrix modules as a live system monitor on Fedora

    Turn the two Framework Laptop 16 LED Matrix input modules into stable left/right displays showing live CPU, memory, temperature and fan metrics — as bars, as figures or as pictograms — configured from a TOML file, re-read on the fly, with power-aware blanking and a systemd user service.

  3. Skip fingerprint auth when the laptop lid is closed (fprintd) on Fedora

    Docked with the lid shut, every sudo/su/polkit prompt still tries the unreachable fingerprint reader first and makes you wait. Put a tiny lid check in front of pam_fprintd via pam_exec so PAM skips fingerprint and goes straight to the password prompt when the lid is closed — instantly, no daemon, reusing your existing enrolled prints.

  4. An ML4W-style Kitty config on Fedora: native tabs, splits, and Tokyo Night

    Recreate the terminal experience from ML4W (My Linux for Work) — Kitty with native tabs and splits, a powerline tab bar, a JetBrainsMono Nerd Font, the Tokyo Night theme, and the Fastfetch system-info greeting on launch — on a plain Fedora GNOME desktop, no Hyprland or tmux required.

  5. Give Ptyxis a Starship powerline prompt with a Tux logo on Fedora

    Turn Fedora's default Ptyxis terminal into a polished setup: a JetBrainsMono Nerd Font, a Starship powerline prompt, and a leading OS glyph swapped from the Fedora mark to the Tux penguin.

  6. Chrome won't start after renaming your machine (hostname change) on Fedora

    Google Chrome silently fails to launch after a hostname change. The cause is a stale SingletonLock symlink in the user profile that still encodes the old machine name; deleting the Singleton* lock files restores normal startup. Applies to every Chromium-based browser and Electron app.

  7. Flutter development environment on Fedora 44 (mise + Android Studio)

    Set up a complete Flutter toolchain on Fedora 44 / GNOME using mise as the runtime version manager, with the Android SDK in the default ~/Android/Sdk so flutter doctor detects it without extra configuration — ending with 'No issues found' across Android, web and Linux desktop targets.

  8. macOS-style screenshot shortcuts on GNOME (Fedora)

    Replicate the macOS screenshot key bindings (Cmd+Shift+3/4/5) on GNOME so muscle memory carries over from a MacBook — including the non-obvious part: Dash to Dock silently steals Super+Shift+N, and the pre-GNOME 42 gsettings keys no longer exist.

  9. Install Claude Code on Fedora Linux with dnf (zsh)

    Install Claude Code on Fedora from Anthropic's signed dnf repository (the recommended method on Fedora/RHEL), configure it for zsh, migrate off a curl|bash native install, and demystify the "Update available!" banner that the stable channel triggers.

  10. Login screen keyboard layout stays QWERTY on Debian/Ubuntu

    The desktop session uses the right keyboard layout, but the display manager greeter is still QWERTY. On Debian and Ubuntu the system-wide layout lives in /etc/default/keyboard and is applied by console-setup — localectl set-x11-keymap is deliberately disabled on these distributions.

  11. Login screen keyboard layout stays QWERTY on systemd distributions (Fedora, RHEL, Arch, openSUSE)

    The greeter of GDM, SDDM or LightDM ignores the layout configured in the desktop session. On localectl-driven distributions the fix is a single command that writes /etc/X11/xorg.conf.d/00-keyboard.conf — which Wayland greeters read too, via xkbcommon.

  12. Boot into Btrfs snapshots from GRUB on Fedora (grub-btrfs + snapper)

    Add a 'Fedora Linux snapshots' submenu to the GRUB boot screen so you can boot directly into a snapper snapshot when the system won't start after a bad update — the recovery case plain snapper can't cover because it needs a working system to log into. grub-btrfs is not in Fedora's repos, so it comes from the kylegospo COPR; a grub-btrfs watcher unit regenerates the menu whenever snapper adds/removes a snapshot. Fedora gotcha covered: the packaged grub-btrfs.path unit binds to a .snapshots.mount that doesn't exist on Fedora's nested-/.snapshots layout, so it needs a local systemd override before it will start. Includes the important separate-/boot caveat (kernel/initramfs live on an ext4 partition and are NOT snapshotted), read-only snapshot boot, and how to make a rollback permanent. Optional follow-on to the snapper setup; verified working on this machine.

  13. Snapper restore points on Fedora (Btrfs) with auto snapshots before every dnf transaction

    Install and configure snapper on a Fedora Btrfs-on-LUKS system to create filesystem restore points: a root config with hourly timeline snapshots and auto-cleanup, plus automatic pre/post snapshots around every dnf transaction. Fedora 44 uses dnf5, which has no snapper plugin, so the dnf hook is wired up with the libdnf5 'actions' plugin calling a small wrapper script that labels snapshots by operation (dnf install / upgrade / remove). Includes browse, diff, file-restore and rollback commands.

  14. Stop Claude Code from hijacking mouse clicks (fullscreen mouse capture) on Linux & macOS

    Since fullscreen rendering, Claude Code captures the mouse — clicking in the prompt moves the cursor and a stray click can hit 'Ask something' or a menu option (very easy to do by accident in the JetBrains/IntelliJ terminal). Disable click/drag/hover while keeping wheel scroll with CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1, or kill mouse capture entirely with CLAUDE_CODE_DISABLE_MOUSE=1. There is no settings.json field and no CLI flag — only these environment variables — and a running session must be restarted to pick them up.

  15. Fix fwupd UEFI dbx update failing with "Not enough efivarfs space" on a Framework 16 (AMD)

    fwupdmgr refuses the UEFI dbx (Secure Boot revocation list) update with "does not currently allow updates: Not enough efivarfs space, requested 30,7 kB and got 20,0 kB". The NVRAM variable store is full of legitimate, fragmented Secure Boot key data — the new dbx is larger than the free slot. Diagnose it safely with efivar/efibootmgr, understand why deleting boot entries or efivars does not help, and apply the proven fix: erase and restore Secure Boot keys to defaults in the BIOS, which repacks (defragments) the variable store. Tested on a Framework 16 AMD 7040 / Fedora 44, fwupd 2.1.5.

  16. Check the BIOS version of a Framework Laptop on Linux (dmidecode)

    Read the running BIOS/UEFI firmware version of a Framework Laptop from Linux with dmidecode — install it on Ubuntu or Fedora, interpret every field (vendor, version, release date, ROM size, CPU family.model.stepping), cross-check with lshw and sysfs, and compare against the latest Framework release with fwupd before flashing.

  17. Build an auto-deploying static blog: Astro + a private content repo + OVH (GitHub Actions over SFTP)

    End-to-end recipe for a 100% static Astro blog whose content lives in a separate private GitHub repo, auto-cleaned at build time and deployed to OVH shared hosting over SFTP via GitHub Actions — covering OVH multisite, DNS/SSL, secrets, a push-to-publish loop, and the gotchas that actually bite.

  18. macOS-style Super+C / Super+V copy-paste everywhere on Fedora GNOME (incl. Ptyxis terminal)

    Remap the Super key so Super+C/V/X copy/paste/cut in every app and in the Ptyxis terminal on Fedora GNOME Wayland, just like Cmd+C/V on macOS.

  19. git clone / SSH to GitHub hangs on Fedora + GNOME (gcr-ssh-agent)

    git/ssh to GitHub hangs because GNOME's gcr-ssh-agent freezes when signing passphrase-protected keys and keeps re-hijacking SSH_AUTH_SOCK; fix by running an OpenSSH ssh-agent user service, exporting its socket via environment.d, and masking gcr-ssh-agent.

  20. Framework Laptop 16 keyboard backlight pulses on/off by itself on Fedora

    The FW16 white keyboard backlight self-toggles because of the QMK breathing effect; disable it with qmk_hid (built from source on Fedora).

  21. Framework Laptop 16 — keyboard backlight in GNOME (Fedora 44)

    Wire the FW16's separate QMK keyboard backlight into native GNOME control (Quick Settings slider + brightness keys) via a kernel uleds virtual LED and a qmk_hid bridge daemon.

  22. Ghostty crashes on Fedora 44 → switching to Ptyxis (with Starship)

    Ghostty 1.3.1 crashes at startup on Fedora 44 (a Linux-only bundled-fontconfig/glycin symbol clash); switch to Ptyxis — Starship is shell-side so it carries over, only login-shell and a Nerd Font need setting.

  23. Ghostty Crash on Claude / TUI Output — fontconfig Cache Fix (Fedora)

    Ghostty segfaults when a TUI app prints glyphs that need font fallback, caused by a corrupt user fontconfig cache holding mismatched cache-N versions; clear ~/.cache/fontconfig and rebuild to fix.

  24. GNOME keeps asking to unlock the Login keyring after fingerprint login (Fedora)

    After fingerprint login GNOME repeatedly prompts to unlock the password-encrypted Login keyring; the practical workaround (LUKS required) is to remove the keyring password so it auto-unlocks at session start.

  25. Changing the LUKS Disk Encryption Passphrase on Fedora

    Change a Fedora LUKS2 full-disk-encryption passphrase on a live, mounted system (header backup, luksChangeKey or add-then-kill keyslot) with no reboot or reinstall required.

  26. Diagnosing Bandwidth Saturation — Fedora

    Cascading method to pinpoint the process, device, or protocol family responsible for abnormally low Internet throughput on Fedora (speedtest, nethogs, iftop, iw).

  27. IPv6 Troubleshooting — Fedora behind Orbi + Proximus BBx

    Diagnose and fix broken IPv6 (slow browsing via Happy Eyeballs) on Fedora behind an Orbi in double NAT on a Proximus BBx, from the NetworkManager workaround to the Orbi pass-through fix and PMTUD.

  28. Dropbox online-only on Fedora 44 with rclone

    Get an 'online-only' Dropbox (equivalent to Smart Sync on Mac/Windows) on Fedora via an rclone FUSE mount driven by a systemd-user service, with on-demand VFS cache and automatic upload.