Installing KDE on Rocky Linux 9 is easy, as long as you enable the right repositories. One of these have changed since Rocky Linux 8, so if you’ve found a RL8 guide online, you may have been stymied.
Install Rocky Linux and choose either Server with GUI or Workstation under software selection.
Make sure the account you created for yourself is an administrator.
After installation has completed, log in and open up a terminal app.
Add the EPEL Repository
sudo dnf -y install epel-release
PowerTools is now called CRB. This repository has many of the prerequisites that KDE needs.
sudo dnf config-manager --set-enabled crb
Update packages with the new repositories
sudo dnf -y update
Install KDE Plasma
sudo dnf group -y install "KDE Plasma Workspaces"
Disable the GNOME login screen an enable the KDE login screen
sudo systemctl disable gdm
sudo systemctl enable sddm
Reboot
sudo reboot
Once you reboot, you should be at the KDE login screen.
Make sure to choose Desktop Session: Plasma (X11) or Plasma (Wayland) from the login screen.
I’m going to show you how to fix a problem that’s driven me crazy literally for years. If you’re using KRDC to remotely access a computer with VNC, the Scale button, by default, does nothing. It’s actually a super easy and kind of silly fix. If you prefer video, see my YouTube video on this embedded at the bottom.
If you look at the KRDC config file you can see that scaling defaults to 100.
For some reason, this causes the scaling button to do nothing. To fix this, you could hand edit the krdc config file every time you have a new connection, or, you can just add the Scaling Factor action to the toolbar.
Go Settings then Configure Toolbars
Scroll down and select Scaling Factor Click the right arrow to add it to the toolbar Click the up arrow to put it next to Scale Click OK
If you click Scale, still nothing happens. Turn Scale on and then drag the slider and scaling will start working!
At this point you won’t have to drag the slider anymore. Once scale is off of its default value, the scale button works as expected. Simply do this for every new VNC client you connect to.
One of my favorite things about running KDE’s own distro, KDE Neon, is how it defaults to using the KDE file UI in Firefox. I’m not sure why Kubuntu and Fedora KDE don’t know this, but it’s easy enough to configure.
Installation
The magic behind this is Firefox’s ability to use an XDG desktop portal. You probably already have the KDE XDG desktop portal installed, but if not, simply run:
Fedora
sudo dnf -y install xdg-desktop-portal-kde
Kubuntu
sudo apt install xdg-desktop-portal-kde
Configuring Your Shell
Next, we tell GTK apps, like Firefox, to use the KDE file dialogs if they’re able. We do that by setting in a variable in either our ZSH or BASH configuration (whichever your default shell is).
ZSH
echo export GTK_USE_PORTAL=1 >> .zprofile
BASH
echo export GTK_USE_PORTAL=1 >> .profile
Now just log out and back in and you get should native KDE file dialogs when saving or opening files with Firefox!
One of the reasons I switched to Fedora recently was it’s support for Flatpaks. Sure they’ll work anywhere, but having them be such a big part of Fedora (check out Fedora Kinoite) really intrigued me. I love the idea of having the same version of apps across distros that’s also the latest (or nearly) version of the app.
I also like when every app looks like it’s part of the same ecosystem. The KDE and Gnome devs have done an awesome job of that by making themes that work in both GTK and Qt (KDE) apps. Unfortunately, Flatpak apps using GTK on KDE don’t automatically use the theme you’ve set in System Settings.
To fix that, I’ll show you how you can use the Flatseal app to set the GTK them for Flatpak apps. You can do this through the shell for individual apps and universally, but I prefer this way to give myself flexibility.
I’m assuming you’re using Breeze or Breeze-Dark here. Otherwise, substitute with the theme you are using. If the theme you are using is not in flathub, you might need to choose one that is.
Or, can a man fall in love with KDE, 20 years later
KDE has never been able to capture my heart. I remember trying KDE 1.1 or so on Madrake Linux 6 in the late 90s. It just never clicked for me. I opted instead for Enlightenment. Ever since then, I’ve tried it every year or so to see if I could understand peoples’ love for it. I didn’t fall for KDE 3.5 that so many people remember fondly, or KDE 4, which people recall much less fondly. I’ve peeked in on KDE Plamsa 5 during it’s development, but it never was able to bring me in. But here I am, in 2019, about 20 years since I started using Linux, and I’ve giving KDE Plasma 5.16.4 a go!
Background
So, why now? Well, as I said, I try KDE every now and then. Something about it always draws me in, before turning me off again. I recently ended up down an internet rabbit hole following articles on Plasma mobile, Qt Python bindings and even Qt C# bindings for .Net Core (and I love me some C#). I wondered: “Could Plasma, Plasma Mobile, Qt, and C# be the epic combo of my dreams?” Let’s find out!
Setup
I’m running KDE Plasma 5.16.4 on KDE Neon Linux. Neon is based on Ubuntu 18.04 LTS using KDE’s own, and constantly updated, repos for Plasma itself. I figured as long as I’m giving a fair shake, I ought to go right to the source. (As I’ve written this article, I’ve upgraded across a few versions of 5.x Plasma)
I’m running it on my trusty desktop with a Core i7 920, AMD Radeon RX 560, 12 GB RAM, a 512 GB SSD, and a HiDPI monitor at 3840×2160. It’s my daily driver at home for general computing, gaming, and game development.
I’m also running the X11 version of Plasma, rather than Wayland. I did some testing and Wayland seems to be particularly fluky with AMD graphics, though remarkably stable on the Intel-graphics based laptop I tested on. Your mileage may vary.
Window Dressing
At work I use a Mac, so having the close, minimize and maximize icons on the left just keeps my flow going. I really thought this was going to be one of those “sorry, can’t do with Plasma” things. Oh, how wrong I was! In face, Plasma lets you customize all the icons on title bar.
Bluetooth
I was able to connect a Bluetooth Microsoft Arc Mouse and my Apple AirPods without any difficulty whatsoever. Major bonus in my book!
Scaling
One of things I love about Plasma is the decimal-based resolution scaling. Wheres the GTK-based desktops I’ve used require scaling at 1x, 2x, 3x, etc., Plasma allows you too choose, for example, 1.5x. This is a huge improvement for HiDPI displays.
The caveat is, you’re probably not going to be running all Qt apps. Invariably, you’ll also run some GTK apps as well. These will ignore your scaling. This was the case for me with Unity Editor.
Luckily, there’s an easy fix!
Open kmenueditor
Find the app you need to scale
Prefix the command with: GDK_SCALE=2 GDK_DPI_SCALE=0.5
Multiple Displays
While this isn’t an issue for me on my main computer, I did want to see how Plasma handled multiple monitors in case I’m able to get a 2nd display at home someday. Using a test laptop with Intel-based graphics I had no problem at all running Plasma with two 4K monitors daisy chained with DisplayPort.
Extra Surprises
PSD Previews
One of the things that drives me crazy about Nautilus is that it doesn’t support the preview of PSD files out of the box. Perhaps there’s a plugin or setting somewhere, but not that I could find. I was thrilled to open a folder with a whole slew of PSD files and see previews of them working by default.
Latte Dock
If you’re a lover of docks like I am, I can’t recommend Latte Dock highly enough! Latte Dock is integrated beautifully into the Plasma ecosystem, with all the fun stuff like pinning and app actions. For example, the Spotify app will give you playback options right from the dock icon.
Issues
Media over SMB
Dolphin (KDE’s file manager) does fantastic job of browsing SMB shares. It’s handy to be able to view shares without actually mounting them, but there’s quite a few drawbacks. Most frustrating was getting media to play when double clicking the file. I was eventually able to get it to work with VLC by using the snap version and dragging/dropping the file into the VLC window, but this still required me putting in my username and password for each video. My recommendation: mount the share, and everything works fine. I found smb4k recommended in a forum for this, and it does a fantastic job. Just make sure to exclude it’s default mount point, ~/smb4k, from your backup jobs.
Discover
Discover is Plasma’s app installation and system update tool. It’s gotten much better over the years (and even since I began writing this article), but can still be finicky.
[Update: the awesome Nate Graham fixed what was apparently an issue with how kmenuedit comes up in search results. Thanks so much! https://invent.kde.org/plasma/kmenuedit/-/merge_requests/5] For example: if I search for ‘kmenu,’ I get nothing. It’s not until I search for ‘kmenuedit’ that I get a search result. I just seems by now that I should be able to do a partial search and good results.
I will say this about Discovery: it’s ability to handle both apt and snap versions of packages is very convenient!
KRDC
KRDC is a Qt-based remote desktop app for Plasma. It works great on a regular-resolution displays, but has some strange scaling issues for me on a HiDPI display and AMD graphics. I like to have a bunch of remote desktop sessions open at once, so I’ll typically have the remote desktop display be the current size of the client window. This works great in Remmina (the GTK equivalent of KRDC), but with KRDC I can never get it working quite right. (See below)
Verdict
I’m sold! I started this article about four months ago wondering when I’d switch from Plasma back to Budgie. Now, I can say without a doubt that Plasma will remain my desktop of choice for the foreseeable future. Great job Plasma team!