Skip to main content

Switching desktop Linux from Debian to Fedora

Last week I switched the operating system on my daily driver (Lenovo ThinkPad T14s) from Debian 12 to Fedora 40.

About 2 years ago I tried Fedora 36 and I was really impressed by it, but ultimately I went back to using Debian pretty quickly. I have been seriously thinking about making the switch to Fedora ever since. If you were to ask my wife about the speed at which I operate, she would probably say that 2 years is a very short amount of time for me to make a decision and action it. Seriously though, I would not class myself as a distro hopper and I have been using Debian as my desktop OS for a long time, so making a decision like this is not something to be taken lightly.

Why switch?

My reasons for the switch are pretty simple, I am a GNOME user and I want the best out-of-the-box GNOME experience with the latest goodies that the GNOME developers are providing. The Debian developers do a great job at packaging GNOME, but having kept an eye on the Fedora developer's efforts over the last couple of years, I think they do an equally good job but have the ability of being able to move faster with 2 releases per year.

As a real-world example of how it benefits me to be using the latest GNOME desktop; I have been keeping a Windows machine on my home network that I can access via headless RDP. I only really need access to the web browser on that machine and I would much prefer it not to be running Windows. The latest GNOME desktop allows for easy set-up of headless RDP, so I have now replaced Windows on that machine with Fedora and headless RDP connections to that machine work great. To be fair, I could have waited for the next version of Debian for the same feature to become available, but with all the Microsoft AI nonsense that is currently happening, I really wanted to get that Windows installation off of my network sooner rather than later.

Another real-world example; several of the machines I use have NVIDIA hardware, the latest GNOME releases feature improved NVIDIA/Wayland support that fixes graphical glitches when using the latest NVIDIA driver. It is trivial to install the latest NVIDIA drivers under Fedora. Again, I could wait for the next version of Debian to be released, but I have found NVIDIA/Wayland support under Debian to be less than stellar in the past and it is not guaranteed this will improve with the next release.

How the switch went

For anyone who has been using desktop Linux for a long time, switching from one distro to another is not actually too difficult. I have a list of software titles/tools that I use and all them are available on both Fedora and Debian. Also, I opt to use Flatpak to install most of the applications that I need, so I created a list of installed applications on my Debian system and just reinstalled them once I had performed the Fedora installation. I then performed a restore of my project files and dot files and the job was done. All-in-all, the switch takes an hour or two at most and apart from different default desktop wallpapers, it is almost impossible to know whether I am using Debian or Fedora.

Caveats

Where it is possible to know the difference is with my local web development environment. As a web developer, I like to use the same environments for both development and production and whilst I am happy to use Fedora on the desktop, I am not switching away from using Debian on servers anytime soon. With this in mind, I use Virtual Machine Manager to create and manage a Debian virtual machine, which I use as a local development environment. I set-up Apache under Fedora as a reverse proxy pointing to Apache on the Debian VM, this allows me to access *.localhost domains on the VM as if they were located on the host. I also mount my Projects directory on the VM under my home directory on the Fedora host using SSHFS. The VM is set to automatically start with the host. It's a bit convoluted, but it works for me.

Conclusion

I am really happy with Fedora Workstation and it is working really well for me. The installation was easy and the switch was straightforward. I am enjoying using the latest GNOME desktop and I like the thought that it will get updated with a regular cadence. I like the progressive nature of the Fedora Project and I'm looking forward to seeing future improvements.

View as: JSON Markdown

If you enjoyed this post or found it useful, you can subscribe to my RSS feed.

Similar posts

  1. My Z shell setup

    A quick walkthrough of my Z shell setup for Debian servers and macOS, including Pure prompt, autosuggestions, history search, npm completion, SSH host completion, aliases, and a few cross-platform helper commands.

    zsh linux macos fish
  2. Debian 13 (Trixie) server set-up

    A practical, production-ready guide to setting up a Debian 13 web server using Apache, PHP-FPM, and MariaDB. Covers installation, performance tuning, security basics, and modern best practices.

    debian apache mariadb php fail2ban ufw
  3. Upgrading from Fedora 41 to Fedora 42

    If someone were to ask me which Linux distro has provided the best desktop experience, I wouldn't hesitate to answer: Fedora Workstation 41. So of course I upgraded to Fedora 42.

    fedora linux
  4. How to install PHP extension for Microsoft SQL Server under Fedora

    I found myself needing to connect to a Microsoft SQL Server via a PHP application running under Fedora. Finding concise details about installing the necessary drivers and extensions was not easy, so here is a blog post detailing how I did it.

    php microsoft fedora mssql sql linux
  5. GNOME menu entries for Visual Studio Code projects

    I work on a large number of code projects and I wanted a quick way to open any of my projects in Visual Studio Code, my preferred code editor. I figured the quickest way to do this under GNOME would be to create a .desktop file for each project directory.

    gnome vscode linux
  6. How to set-up WatchGuard VPN with IKEv2 under Debian and Fedora

    A blog post detailing how to set-up WatchGuard VPN with IKEv2 under both Debian and Fedora Linux. This guide works for me under Debian 12 (bookworm) and Fedora 40/41, but your mileage may vary depending on how your VPN service is configured.

    debian vpn watchguard ikev2 fedora ipsec
  7. My Debian 12 (bookworm) server set-up

    I've been running Debian on my servers for years. It's dependable. I guess my server set-up is pretty common, consisting of Apache, PHP and MariaDB, but I figure it is still worth sharing details of how I provision my servers.

    php composer mariadb apache debian linux node fish
  8. My Debian 12 (bookworm) desktop set-up

    Creating a good Debian desktop experience is not too difficult, thanks to the excellent work of the Debian developers, but I thought it might be interesting to share how I set-up my Debian systems.

    debian linux
  9. Upgrading from Fedora 40 to Fedora 41

    A post describing my first experience of upgrading a Fedora installation. TLDR: The upgrade went smoothly and Fedora continues to impress me.

    fedora linux
  10. Calling Puppeteer via PHP

    A blog post detailing an issue where a Puppeteer screenshot script, triggered through a PHP application using CodeIgniter, stopped working due to Chromium not starting under the Apache www-data user on Debian.

    php javascript node debian apache
  11. Desktop Linux and compiling from source

    If anyone is in any doubt as to whether you need to compile any software from source in order to use desktop Linux, you really don't.

    linux
  12. Firefox Nightly as a daily driver

    I believe that it's really important to support and use Firefox. Not only do I think that Mozilla understand/support user's privacy more than Google, but I also think it's important for the health of the web that more than one option exists when it comes to rendering engines. Also, it's a really good web browser.

    debian chrome firefox mozilla
  13. Single computing device lifestyle

    I've recently decided to simplify my life by moving away from using multiple computers to using a single laptop. What are the main advantages and disadvantages of using a single computer?

    debian thinkpad
  14. Redux

    As a web developer, I like to build and rebuild websites. My own website is no different.

    markdown fediverse mastodon codeigniter php bootstrap jquery debian
  15. How to create Bash aliases in Fedora

    Creating your own Bash aliases is a relatively easy process. That said, I recently switched my desktop linux distribution from Debian to Fedora and there are subtle differences.

    linux fedora debian bash
  16. How to set-up a crontab file

    In Linux, Cron is a daemon/service that executes shell commands periodically on a given schedule. Cron is driven by a crontab, a configuration file that holds details of what commands are to be run along with a timetable of when to run them. Knowing how to use Cron is key to mastering automation with Linux.

    cron automation linux