Did you know you can use multiple Linux desktops at the same time?
Well, that's not exactly true. You will still only have one actual environment to work in. One taskbar, program launcher, window manager, session manager and all the rest. But you can totally pick and chose which package will fit each of these roles. More importantly, you can bring in individual apps designed for different desktops, and run them together in whatever abomination desktop-like environment you put together. And with some sweat and tears, things should mostly happily coexist together.
For example, on my Debian-based XFCE desktop, I have replaced XFCE's native terminal with Gnome's similar but slightly more to my liking variant. I also prefer KDE's venerable twin-panel file manager Krusader to XFCE's native Thunar or whatever it's called.
While there's an occasional visual glitch and annoyance with this kind of mishmash (it's linux, after all), things are overall pretty stable.
And then I did a
dist-upgrade to Debian 9.0 (stretch).
Here's what I found when Krusader reappeared after the restart. All my settings gone. Icons broken. Padding all smushed together. None of the operations working. You can't see it on the screenshot, but it even had that awful tobaco-yellow KDE sheen all over it.
It turns out Krusader had finally made transition from 2.4.0-beta3 to 2.5.0. Along with a few bug fixes came transition to KDE5 Plasma desktop and QT5. Unlike QT4, the settings are no longer stored in its own special little sub-file system, but inside the standardized
~/.config directory. So krusader's config file was left in the old place.
cp ~/.kde/share/config/krusaderrc ~/.config/
Hopefully the maintainers will add some provision to migrate these settings automatically.
OMG, this is somehow even worse. Time to handle the KDE5 situation.
KDE4 had a built in fallback mode which allowed its apps to look decent on other desktops. With
qtconfig-qt4 tools, I was able to tell KDE apps to fall back to the "GTK" look, which made them look native on non-KDE desktops. These tools have no effect on KDE5 apps, and there doesn't seem to be a replacement available.
I faffed around with some manual environmental vars a bit, until I stumbled upon qt5ct. This is a nice little configuration app that lets you do basically the same thing as
qtconfig, only for KDE Plasma environment.
Unfortunately, qt5ct has yet to enter Debian's APT repositories, so off I fell into the manual build land. Luckily, this blog article had a nice step-by-step guide. TLDR:
sudo apt-get install build-essential qt5-qmake qtchooser qtbase5-dev libqt5svg5-dev libpng-dev qtbase5-dev-tools qttools5-dev-tools qtbase5-private-dev libmtdev1 libmtdev-dev git clone https://github.com/mati75/qt5ct.git cd qt5ct QT_SELECT=5 qmake PREFIX=/usr/local make -j 4 sudo make install
You will also need to load enviramental variables that tell KDE5 to load its theme through qt5ct.
At least I think that's what they do. Whatever, just add the following lines in one of startup env files for your session (I personally used
export KDE_SESSION_VERSION=5 export KDE_FULL_SESSION=true export QT_QPA_PLATFORMTHEME=qt5ct
If after this you have problems opening default file handlers (eg. double click on a ZIP file, nothing happens), it could be your
xdg-open is confused which desktop environment you're running.
You can test by running
xdg-open /path/to/file.zip in terminal. I got this:
/usr/bin/xdg-open: 566: /usr/bin/xdg-open: kde-open5: not found`
To fix it, add the following line to your
~/.xsessionrc (or other startup shell script):
Restart your session (log out and in), and you should be able to execute
qt5ct from the terminal.
gtk2 for style and
Breeze as your icon theme. You can try your usual icon theme too, but my preferred theme (Oxygen) didn't have some of the glyphs Krusader needs. If you don't see "Breeze" here, you can install it like this:
sudo apt-get install breeze-icon-theme
There, doesn't that look better?
Unfortunately, it still didn't work quite right. Any time I tried to perform a file operation, I was hit with this error:
could not start process cannot talk to klauncher the name org.kde.klauncher5 was not provided by any .service files
Luckily, thanks to a kind soul over at askubuntu.com, it was a pretty quick fix.
sudo apt-get install kinit kio kio-extras kded5
Finally, my precious krusader settled down into its usual state of flakey mediocrity, and I was able to move on to fixing other upgrade regressions on my system.