Migrating to KDE neon

About every fifth year the daily worker on Linux will need a major system upgrade. That is not a minor thing. After many happy years on LinuxMint with a KDE desktop environment I had to make a decision. Starting with LinuxMint 19 ‘Tara’ support for KDE has been dropped by the LinuxMintees. What to do?

After trying several distros from a Live CD – more specific: a very nifty LiveUSB MultiBoot stick with several distros on it – and reading through lots of reviews, I decided for KDE neon, a fairly fresh project by the KDE community itself. It has been a rather clean and bare start, but I am quite happy with it now.

I will explain how I made my choice, which hick-ups I encountered on installation and what my final choice of software has become. It is going to be a (very) long read, but hopefully it can be of use to others.


Choosing desktop and distro

I think the first thing a user wants to choose is a desktop environment. The second choice will be the distro that provides this desktop environment and also has ample choice of applications in its repositories. A third choice touching both previous ones is that things should just work (or with little extra effort, eg. in case of hardware issues).

So, first choose a desktop environment.

The desktop is where you are looking at and working with all day and it needs to do what you want it to. It should be stable and pleasing to your eyes, it has to work smooth and fast, and therefore it will require a certain level of configurability. For me KDE has been the first choice, virtually since I started with Linux back in 2003. I have used other desktop managers, especially GNOME and Xfce, but always returned to KDE. I did like GNOME for its clarity and simplicity, but I could not configure it as well as KDE. Xfce is really lean and clean, and I still use it on a laptop, but again, I cannot always configure it the way I want it.

The actual desktop manager for KDE is the Plasma 5 framework, which uses OpenGL for the graphical interface and Qt as the widget toolkit. Integration with GTK-based applications is fine though. For window management Plasma 5 still builds on the good old UNIX X Window System (aka ‘X11’), but support for the newer Wayland display server system is building up. Window compositing for 2D and 3D effects is embedded. Over the years Plasma has overcome its initial flaws, has become much faster and smoother, and has grown into a reliable, future-proof platform. But for me the good and the great particularly sits in KDE Plasma’s highly developed configurability. Of course, it takes quite some time to work your way through all the options and features, but then you will be rewarded with a desktop computer that works and looks exactly the way you want it to.

Next choice to make is for a distro.

The ones that put KDE at the centre are not that many, but there is enough choice. Of old openSUSE has included KDE as preferred desktop manager. During my first few Linux years SUSE has been my favourite distro, not in the least for its wonderful configuration tool YaST. But Fedora, Red Hat’s open-source project, also has a KDE ‘offspin’. Both openSUSE’s and Fedora’s software repositories are using Red Hat’s RPM packaging format. In the end that was actually why I changed to Ubuntu-based distro’s.

Ubuntu repositories use Debian’s DEB software packaging format. This is not necessarily a better system than RPM, but if software is packaged for Linux, the chances are higher that it comes as a DEB-package. So my change was just a practical one. Also, the communities offering online help are larger and more accessible in the Ubuntu world. That too is useful. Googling for an answer to some problem you will often end up with AskUbuntu or the Official Ubuntu Documentation. The one distro that will offer more extensive and in-depth information is probably Arch Linux, a beautifully clean and highly customizable distro, that, however, may require too much technical skill & will for average users.

Choosing Ubuntu repositories as the default took me to using LinuxMint. It is an easy distro, easy to install, easy to use, and it kept me happy for years. But, as said in the opening paragraph, LinuxMint has stopped supporting KDE. The next obvious candidate would be Kubuntu, the Ubuntu version running KDE. Yet, several reviews mention persistent hick-ups and flaws, and, indeed, that has been my own experience on the occasions I tried Kubuntu.

Thus my final choice was to migrate our home computers to a new kid in town: KDE neon. Strictly speaking it is not a real distro, but it uses the Ubuntu LTS repositories – right now 16.04 Xenial, but upgrade to 18.04 Bionic is underway – and puts the latest of stable KDE software on top of that. There is a choice between a user edition and a developer edition. Be wise and choose the first, unless you really are developing. Be wise twice and read through the FAQ as well.


Migrating to KDE neon

Well, the obvious as a starter: FIRST BACKUP EVERYTHING!! Obvious, but oh! how often do we forget something. So think about ALL your files (documents, videos, pictures, drawings, videos, music, projects, scripts, icons, wallpapers, … …), custom configurations, keyboard shortcuts, bookmarks (in webbrowser, file manager, ftp client, … …), your addressbook(s), calendar, news feeds – et-ce-te-ra. Also make sure you know the partitioning of your harddisk(s) and whether you want it all wiped clean for a new installation, or partly added to the new partition lay-out.

Then INSTALL KDE neon from USB stick or DVD. It is all pretty self-explaining and straight-forward. Installation takes less than 15 minutes.

One of the comments about KDE neon is that is leaves you with a very sparse and bare configuration. No office applications, no multimedia, hardly any tools. I can appreciate the comment, but perhaps it is not a bad thing if the choice of applications is mainly left to the user. It is the best way to build your own system, provided, of course, you know what you need. After installing KDE neon at least you will have a terminal, a text editor, a file manager, a package manager and a webbrowser, so you can start off.

Finally RESTORE the data you had backed up. To do so I first needed to set up my home network using NFS, and therefore first some packages had to be installed. See below. Migrating the data from KMail turned out to be rather complicated. I will explain that in a separate posting.


Necessary packages

There are some issues you need to address directly after installation. These touch on package management, networking and necessary commandline tools.

Package management

KDE neon expects you to use its own package manager, Plasma Discover. I do not like its GUI and it feels slow. The program names are used for the the software and not the package names, which disables me from having a decent overview of available or installed applications or libraries. So I used good old apt to install Synaptic as my package manager.

From the KDE neon FAQ I learned that updating can be done either through the Discover Updater, or from the commandline using these (PackageKit) commands:

pkcon refresh
pkcon update

If there is something to be updated, you will be prompted for your password. But all is not yet perfect. The terminal output of pkcon update is jumbled and difficult to view. There are no ‘autoremove’ or ‘autoclean’ options either, as in APT. To find more options for this tool try:

pkcon --filter --help

What is behind this? Synaptic uses the Debian classic APT as its backend to deal with software repositories, packages, versions and dependencies, as do all Ubuntu derivatives. But Plasma Discover’s default backend is PackageKit, which is designed to include APT functionality and also has integration for Snap(craft) and Flatpak. The two do not bite or eat each other, but the overlap may potentially lead to both conflicts or omissions. You can still add repositories or PPA’s the usual APT-way, but maybe that can become a source of trouble too. I am not sure. There is this warning in the KDE neon FAQ:

Some uses of apt do not install new packages which makes it less suitable for KDE neon.

The compromise that seems to work for me is de-installing Plasma Discover and its updater, use Synaptic for package management and the pkcon commands for updating. For ease of use I have put these commands in a wee shell script, added an entry to my launcher (aka ‘Start Menu’), making sure ‘Run in terminal’ was checked, and finally assigned that a keyboard shortcut (eg. Meta+U). Here is a wee script:

# A wee script to update software for KDE neon
pkcon refresh
pkcon update
echo -n "Done! Press ENTER to close terminal."
read key

Of course you can make that more informational or functional, eg. by using sudo pkcon update to avoid the pop-up window asking for a password.

‘Missing’ packages

It seems a bit weird, but after installing KDE neon rather basic network functionality like NFS or Samba are not yet provided for. Therefore manually add packages like:

nfs-common, nfs-kernel-server, samba, ssh

I installed these using the common apt commands and did not encounter any problems. Alternatively use:

pkcon install [package name(s)]

If you need to configure wireless network cards, check if ethtool is installed.

For sysadmin purposes check for packages like:

mc, mutt, nano, mtools, md5deep, cmake, atop, snapd, flatpak, kio-mtp, mtp-tools, xkb-data, xkb-data-i18n

Further, in Synaptic, search for items like ‘kde’, ‘plasma’, ‘font’, ’theme’, ‘libreoffice’, and select whatever you need of it.

To get your multimedia stuff properly running read this posting.


Some tricks

Just some tricks & tips to make your migration easier.

(1) Keep your virtual machines on a separate partition. When you upgrade your system, you can simply add this partition to your new partition setup. No need to restore 40-50 GB files then.

(2) You might consider having a separate partition for your personal folders anyway, eg. /Documents, /Graphics, /Pictures, /Music, /Videos. When performing a new installation you can simply insert this into the partition lay-out.

(3) Make your own launcher entries and assign these keyboard shortcuts. I always start with making a launcher entry for ‘kmenuedit’. That makes it easier to edit the launcher menu. Also, the different parts of System Settings can be started independently. For some it can be handy to have their own launcher entry. Eg. the command ‘kcmshell5 kscreen’ directly opens the display settings window, ‘kcmshell5 kcmdf’ starts the disk usage tool, and ‘kcmshell5 khotkeys’ takes you straight to you keyboard shortcut settings. To see a full list of the options type: kcmshell5 --list.

(4) If you already have made (a lot of) custom entries for the application launcher, just copy the corresponding *.desktop file in your system backup to the new ~/.local/share/applications folder. Saves (a lot of) time.


My choice of applications

Once you have got your system in good working order, you can add the applications you like, need or want to try. Be careful what you install, because KDE neon is specifically geared towards KDE (Qt) applications. If some application wants to drag along loads of GNOME-libraries, better do not install. As said before, extra repositories can be added, including PPA repositories. Follow instructions when & as you find them. Be prepared for error messages though.

Here is my choice of applications. Commandline tools are in between [square brackets].

[mc, kdiff3, locate, kget]
File managers, Krusader as default, Dolphin as backup, PCManFM for the odd occasion, and Midnight Commander for terminal use
[p7zip-full, p7zip-rar, arj, lzma, lhasa, rar, unrar, unace, zoo]
Archiver, to handle compressed archives, plus the commandline tools
luckyBackupgrsync-based sync tool, for managing backups
KRenameMulti file renaming tool
QPhotoRecDocument and image recovery tool (to save your holiday...)
Cleaning tools, for removing cache and unnecessary files or tracks
KeePassXCPassword manager (with Android app for secure sharing)
KWallet Manager
Encryption keys & certificate management
Firewall & virus scanner
[pkcon, apt]
Software management
Hardware and system monitoring
MultiSystem LiveUSB
Partition and bootable USB management
Virtual machine management for the few applications that really need Windows (eg. BibleWorks), Wine emulation for the rest
Desktop sharing server and client
XScreensaverScreensaver (yes, I still like the old-fashioned ways)
Text editors
UtilitiesKchmViewerViewer for Windows Help files
KCharSelectTool for managing special characters
Calculator and converters
SpectacleScreenshot manager
AkonadiConsoleAkonadi service and database manager
DevelopmentCMake GUI
[autofs, autoconf]
Tools for working with source files
HTML editors & tools for webpage editing
Qt5 Linguist
Translation tools for software
Tor Browser
Webbrowsers: Vivaldi as default, Firefox as backup, Arora for simply viewing HTML pages, Tor Browser for anonymous websurfing
4k Video Downloader
Download managers
gFTPFTP client
Cloud storage clients
Telegram DesktopTelegram client
Image viewers
LibreOffice Draw
Image editing and drawing tools
ConverseenImage converter
KColorChooserTool to find HEX, RGB, Qt.RGB or LaTeX values for colours
Sweet Home 3D
CAD drawing programs
Photo management and editing
Tools for editing and managing icons
Tools for scanning documents and images
Music and media management and playing
Audio editing, audio file vonversion and audio tagging tools
Video editing, slideshow creating and video file conversion tools
Tools to create, rip or burn CD's or DVD's, including labels and covers
Tools to record desktop activities or use the webcam
OpenLPProjection tool for use during worship
(including KMail, KAddressBook, KOrganizer, Akregator)
Managing email, contacts, calendar and news feeds
(including Writer, Impress, Calc, Math)
Office suite for documents, spreadsheets, presentations and formulas
LibreOffice Base
Managing database and collections
ScribusDesktop publishing application (rarely needed, since LibreOffice is usually good enough)
OkularGeneral document viewer (can view almost anything)
CalibreE-book manager, with readers included
MuseScoreMusic score editor
OCR applications (using Tesseract and Cuneiform)
KMyMoneyAccounting application (if you think a spreadsheet is not good enough...)
EducationZoteroBibliographical research assistant
OmegaTTranslation tool for texts
Google Earth
Geographical and astronomical applications
GrampsGenealogical research tool
KRecipesRecipes manager