I just fixed a couple of very annoying problems related to Linux desktop, and I thought I’d write a couple of blog posts on the subject.
The first topic is oversized KDE/QT programs running in MATE. This was extraordinarily frustrating to figure out. There aren’t a lot of resources on running KDE software in non-KDE environments that I can find, and to make matters worse, KDE seems to be a trainwreck. The systemsettings program just crashes when I try to change settings, the debugger crashes when I try to generate the report, their website just says “File not found”, and to make matters worse, this happens during the Reddit blackout, which is where most search results lead me.
(Sidenote: Are people only just now realizing that the people running Reddit are evil? We need a different site, for heaven’s sake, preferably one with Reddit’s older interface without the js bloat and one that doesn’t censor political dissidents.)
TL;DR– Jump to bottom where it says “Here’s the solution”.
It took me awhile to figure out that it’s determined by a variable called `QT_SCALE_FACTOR`. It *should* be 1, but somehow it’s getting set to 2. Where this variable is being set has been a mystery because I’ve found it being set nowhere, *and* the value that I explicitly set in `~/.profile` is being overridden when X starts. I grepped my entire drive and found no place that that value was being set. I just knew it was being set *only* when X is running, because when I log in to CLI, it’s set to 1. After I run `startx`, it changes to 2.
(Sidenote: Please, please do not set environment variables like this! Always make sure any script or binary file setting environment variables is viewable via grep, because otherwise it’s a nightmare to find where a variable is being set when trying to solve problems.)
Here’s the solution:
I never did find out where that was being set, but I did find out what setting to change in MATE to fix it. To my surprise, it’s not a KDE or QT setting– It’s in Monitor Preferences (System -> Preferences -> Hardware -> Displays), and it’s the “Scaling” section here.
Those radio buttons only seem to affect QT programs. Mine was set to “auto detect”, but it needs to be set to 100%. That’s it. It was really that simple in the end, but it was made unnecessarily difficult.