Review of freshly installed Fedora 36 KDE Plasma Desktop (KDE GUI)

After the tutorial of how to install Fedora 36 KDE Plasma Desktop this tutorial is mainly to see what to expect from a freshly installed Fedora 36 KDE Plasma Desktop – the look and feel of the new KDE GUI (version 5.24.3 of KDE Plasma). The Fedora 36 KDE Plasma Desktop is part of Fedora spins – https://spins.fedoraproject.org/kde/
Here you can find how to Install Fedora 36 KDE Plasma Desktop (KDE GUI). Here it worth mentioning the included versions of KDE software for Fedora 36:

  • KDE Plasma version: 5.24.3
  • KDE Frameworks version: 5.91.0
  • QT version: 5.15.3

The idea of this article is just to see what to expect from Fedora 36 KDE Plasma – the look and feel of the GUI, the default installed programs and their look and how to do some basic steps with them, it is included also screenshots of the KDE settings program. Here you’ll find more than 200 screenshots and not so many texts we do not want to turn this review of many texts and version information and 3 meaningless screenshots, which you could not see anything for the user interface because these days it is the primary goal of a Desktop system. You can expect more of this kind of review in the future.
This article is the first part of reviewing the Fedora 36 KDE Plasma. The second article contains KDE System Settings screenshots and it is coming soon.

Summary of the screenshots

  • Logging
  • KDE Plasma Overview with Panel Toolbox
  • Fedora KDE main menu
  • Plasma Widgets
  • Activities
  • Install/Update applications with Discover
  • Install applications with dnfdragora
  • review of multiple installed GUI applications and games.
  • Dolphin – the KDE File Manager

Fedora 36 KDE Plasma screenshots

SCREENSHOT 1) Fedora (5.17.5-300.fc36.x86_64) 36 (KDE Plasma)

main menu
grub entry boot

Keep on reading!

Building python 3.10.4 and possibly undefined macro: AC_MSG_ERROR

Emerging the new python 3.10 in Gentoo may lead to the following error, despite all the dependencies installed. This error might also occur in any other Linux distro! During the configure stage the autoconf tool outputs error:

root@srv ~ # cat /var/tmp/portage/dev-lang/python-3.10.5/temp/autoconf.out 
***** autoconf *****
***** PWD: /var/tmp/portage/dev-lang/python-3.10.5/work/Python-3.10.5
***** autoconf --force

configure.ac:59: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:59: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:59: the top level
configure.ac:911: warning: AC_LINK_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
./lib/autoconf/specific.m4:364: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:911: the top level
configure.ac:2214: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:2214: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:2214: the top level
configure.ac:4250: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:4250: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:4250: the top level
configure.ac:18: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation

It appears a dependency is missing! First, build the package sys-devel/autoconf-archive and then the building of python-3.10.5 will finish successfully.

root@srv ~ # emerge -va autoconf-archive

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] sys-devel/autoconf-archive-2022.02.11::gentoo  660 KiB

Total: 1 package (1 new), Size of downloads: 660 KiB

Would you like to merge these packages? [Yes/No] yes

Emerging the dev-lang/python-3.10.5::gentoo outputs the error and the building process stops. The error output in emerge command is so informative. The actual error is in the /var/tmp/portage/dev-lang/python-3.10.5/temp/autoconf.out.
Keep on reading!

Migrate emails from GMail to another IMAP server with imapsync

It appears pretty easy to migrate an existing GMail account to another IMAP server, i.e. not GMail/Google server. There is an excellent synchronization tool – imapsync, which checks and downloads all the mails of an user account from one IMAP server to another IMAP server per user. The tool supports Google’s GMail accounts and their specific naming including the labels folders peculiarity (some folders in GMail may not have any physical emails, but just to show emails from another folders with specific labels). It’s worth mentioning that the imapsync works only only with GMail accounts, but it can be used to migrate from one IMAP server to another IMAP. The key here is the source and the destination server should support IMAP protocol.

Imapsync is an IMAP transfer tool. The purpose of imapsync is to migrate IMAP accounts or to backup IMAP accounts.

GMail will expose the labels as folders and in some early versions of the imapsync tool the emails with multiple labels may be shown in multiple folders and be duplicated. The version used here did not duplicate any email, even some emails were shown in multiple GMail folders.

There are two GMail settings to enable before proceeding with the migration:

  1. Enable “Less secure app access” or if 2-Step-Verification is enabled use App Passwords
  2. Enable IMAP, which is disabled by default.

SCREENSHOT 1) Manage the current Google account options by clicking on the top right corner as shown in the screenshot.

main menu
manage google account

Keep on reading!

Recovery of MySQL 8 Cluster instance after server crash and corrupted data in log event

There is a MySQL 8 Cluster InnoDB of three servers and one of the server crashed with a bad RAM. The same setup is described here – Install and deploy MySQL 8 InnoDB Cluster with 3 nodes under CentOS 8 and MySQL Router for HA. The failed server got restarted without clean shutdown and after booting up the MySQL Cluster node tried to recover automatically, but the recover process failed and the node left the group of the three server:

2022-05-31T04:00:00.322469Z 24 [ERROR] [MY-011620] [Repl] Plugin group_replication reported: 'Fatal error during the incremental recovery process of Group Replication. The server will leave the group.'
2022-05-31T04:00:00.322489Z 24 [Warning] [MY-011645] [Repl] Plugin group_replication reported: 'Skipping leave operation: concurrent attempt to leave the group is on-going.'
2022-05-31T04:00:00.322500Z 24 [ERROR] [MY-011712] [Repl] Plugin group_replication reported: 'The server was automatically set into read only mode after an error was detected.'
2022-05-31T04:00:03.448475Z 0 [System] [MY-011504] [Repl] Plugin group_replication reported: 'Group membership changed: This member has left the group.'

The recovery process proposed here follows these steps

  1. Connect with mysqlsh (MySQL Shell) to a MySQL instance, which is currently a part of the cluster group. The member, which left the group is not part any more, though the MySQL Cluster status shows it is part of the cluster topology, but with error.
  2. Remove the bad instance from the MySQL Cluster with removeInstance
  3. Add the instance with addInstance and the recovery process will kick in. The type of the recovery process will be chosen by the setup if not specified. In this case, the setup chooses the Incremental state recovery over (full) clone mode.
  4. Initiate the cluster rescan operation to recovery the group replication and the MySQL Cluster.

mysql

Summery of the recovery process

  • The recovery process was successful.
  • The distributed recovery with Incremental state recovery has finished for 24 hours for 200Mbyte database, which is really strange and the speed was really bad. The instance uses ordinary disks, not SSDs and a 1Gbps network.
  • No need to change or manage the MySQL Router in any of the steps or the recovery stages. It handled the situation from the very beginning by removing the bad instance and then adding it again only after the recovery process had finished successfully.
  • MySQL Shell should be connected to an healthy instance currently a part of the Cluster.

In the console output logs all commands and important lines are highlighted.

STEP 1) Remove the bad instance from the cluster.

The status of the cluster with the bad instance.

[root@db-cluster-3 ~]# mysqlsh
MySQL Shell 8.0.28

Copyright (c) 2016, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
 MySQL  JS > \connect clusteradmin@db-cluster-1
Creating a session to 'clusteradmin@db-cluster-1'
Fetching schema names for autocompletion... Press ^C to stop.
Closing old connection...
Your MySQL connection id is 39806649 (X protocol)
Server version: 8.0.28 MySQL Community Server - GPL
No default schema selected; type \use <schema> to set one.
 MySQL  db-cluster-1:33060+ ssl  JS > var cluster = dba.getCluster()
 MySQL  db-cluster-1:33060+ ssl  JS > cluster.status()
{
    "clusterName": "mycluster1", 
    "defaultReplicaSet": {
        "name": "default", 
        "primary": "db-cluster-1:3306", 
        "ssl": "REQUIRED", 
        "status": "OK_NO_TOLERANCE", 
        "statusText": "Cluster is NOT tolerant to any failures. 1 member is not active.", 
        "topology": {
            "db-cluster-1:3306": {
                "address": "db-cluster-1:3306", 
                "memberRole": "PRIMARY", 
                "mode": "R/W", 
                "readReplicas": {}, 
                "replicationLag": null, 
                "role": "HA", 
                "status": "ONLINE", 
                "version": "8.0.28"
            }, 
            "db-cluster-2:3306": {
                "address": "db-cluster-2:3306", 
                "memberRole": "SECONDARY", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "replicationLag": null, 
                "role": "HA", 
                "status": "ONLINE", 
                "version": "8.0.28"
            }, 
            "db-cluster-3:3306": {
                "address": "db-cluster-3:3306", 
                "instanceErrors": [
                    "ERROR: group_replication has stopped with an error."
                ], 
                "memberRole": "SECONDARY", 
                "memberState": "ERROR", 
                "mode": "R/O", 
                "readReplicas": {}, 
                "role": "HA", 
                "status": "(MISSING)", 
                "version": "8.0.28"
            }
        }, 
        "topologyMode": "Single-Primary"
    }, 
    "groupInformationSourceMember": "db-cluster-1:3306"
}

Keep on reading!

Install Fedora 36 KDE Plasma Desktop (KDE GUI)

This article will show the simple steps of installing a modern Linux Distribution like Fedora 36 KDE Plasma with KDE for the user graphical interface. First, it is offered the basic steps for installing the Operating system and then there are some screenshots of the installed system and the look and feel of it. Here is another article available with more screenshots of the installed and working Fedora 36 KDE PlasmaReview of freshly installed Fedora 36 KDE Plasma Desktop (KDE GUI). If the user is interested in Gnome as graphical interface there are two article how to install Fedora 36 Workstation Edition, which comes with GNOME and the look and feel of the GNOME – Install Fedora Workstation 36 (Gnome GUI) and Review of freshly installed Fedora 36 Workstation (Gnome GUI)
This is the simplest set up. One hard disk device in the system is installed, which is detected as sda and the entire disk will be used for the installation of Fedora 36 KDE Plasma. All disk information in sda disk device will be permanently deleted by the installation wizard!

The Fedora 36 KDE Plasma Desktop comes with

  • Xorg X server – 1.20.14 XWayland is used by default
  • linux kernel – 5.17.5
  • KDE Plasma version: 5.24.3
  • KDE Frameworks version: 5.91.0
  • QT version: 5.15.3

For more packages versions information check out the Fedora 36 server articles – Software and technical details of Fedora Server 36 including cockpit screenshots and Software comparison Ubuntu server 22.04 LTS vs Fedora 36 server edition – head-to-head.

We used the following ISO for the installation process:

https://download.fedoraproject.org/pub/fedora/linux/releases/36/Spins/x86_64/iso/Fedora-KDE-Live-x86_64-36-1.5.iso

It is a LIVE image so you can try it before installing it. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:

SCREENSHOT 1) Boot from the UEFI DVD-ROM device.

It is the same with the USB bootable removable drive. Choose the UEFI USB drive and boot the installation live drive.

main menu
UEFI BIOS DVD-ROM boot

Keep on reading!

Review of freshly installed Fedora 36 Workstation (Gnome GUI)

After the tutorial of Install Fedora Workstation 36 (Gnome GUI) this tutorial is mainly to see what to expect from a freshly installed Fedora 36 Workstation – the look and feel of the GUI (Gnome – version 42.1).

  • Xorg X server – 1.20.14
  • GNOME (the GUI) – 42.1
  • linux kernel – 5.17.5

More technical details here – Software and technical details of Fedora Server 36 including cockpit screenshots and . The later article may be of interest to developers, too. The Fedora 36 Workstation may install all of the listed software for Fedora 36 Server Edition. The big difference is the disk layout and the file system used in server edition and in workstation edition. By default, in Fedora 36 Workstation btrfs is used for the root and home mounts.
The idea of this tutorial is just to see what to expect from Fedora 36 Workstation (Gnome)the look and feel of the GUI, the default installed programs and their look and how to do some basic steps with them. Here the reader finds more than 140 screenshots and not so many text the main idea is not to distract the user with much text and version information and 3 meaningless screenshot, which the reader cannot see anything for the user interface, but these days the user interface is the primary goal of a Desktop system. More reviews of the kind will follow in the future …

For all installation and review articles real workstations are used, not virtual environments!

SCREENSHOT 1) Fedora Linux (5.17.5-300.fc36.x86_64) 36 (Workstation Edition)

main menu
grub 2.06 entry boot

Keep on reading!

Change file association in KDE Plasma (5.24) – open PNG with different default application

Changing the default file association in modern KDE Plasma Desktop under any Linux Distribution is pretty easy. Here are couple of screenshots how easy is to change the default file association to open a PNG file with different application. Sometimes the default application to open a file may not be convenient for the user or just the Linux Distribution did not change it when installing a new application.
For example, in the sample workstation, the PNG file is meant to be open with the KDE KolourPaint, which is good for simple image manipulation, but not to view multiple images in a series.

SCREENSHOT 1) Launch KDE Plasma System Settings

main menu
Application Launcher Settings System Settings

Keep on reading!

Install Fedora Workstation 36 (Gnome GUI)

This article will show the simple steps of installing a modern Linux Distribution like Fedora 36 Workstation Edition with Gnome for the user graphical interface. First, it is offered the basic steps for installing the Operating system and then there are some screenshots of the installed system and the look and feel of it. It is coming soon another article showing more screenshots of the installed and working Fedora 36 (Gnome and KDE plasma) – so the user may decide which of them to try first.
This is the simplest set up. One hard disk device in the system is installed, which is detected as sda and the entire disk will be used for the installation of Fedora Workstation 36. All disk information in sda disk device will be permanently deleted by the installation wizard!

The Fedora 32 Workstation comes with

  • Xorg X server – 1.20.14 XWayland (22.1.2) is used by default
  • GNOME (the GUI) – 42.0
  • linux kernel – 5.17.5

Check out our article about what software is included in [coming soon].

There are previous installations howto articles for the older Fedora 31Install Fedora Workstation 31 (Gnome GUI) and Install Fedora Workstation 30 (Gnome GUI).

The following ISO is used for the installation process: https://download.fedoraproject.org/pub/fedora/linux/releases/36/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-36-1.5.iso
It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk (or make a bootable USB flash drive) and then follow the installation below:

SCREENSHOT 1) Boot from the UEFI DVD-ROM device.

It is the same with the USB bootable removable drive. Choose the UEFI USB drive and boot the installation live drive.

main menu
UEFI BIOS DVD-ROM boot

Keep on reading!

lxc and interface lo does not exist in virtualized server

Virtualizing a real server with an LXC container is pretty easy – do a rsync and run it. Sometimes there are some glitches when starting the LXC container for the first time. Such errors like the following – no networking available at the start, but when attached to the started container it seems to have the network interfaces with no IPs. Even, though it is possible to set the IPs manually the init scripts do not work.

[root@srv ~]# lxc-start -F -n n7763.node-int.info
lxc-start: live300.mytv.bg: start.c: proc_pidfd_open: 1607 Function not implemented - Failed to send signal through pidfd
INIT: version 2.88 booting

   OpenRC 0.12.4 is starting up Gentoo Linux (x86_64) [LXC]

 * /proc is already mounted
 * Mounting /run ... * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
 * Caching service dependencies ... [ ok ]
 * setting up tmpfiles.d entries for /dev ... [ ok ]
 * Creating user login records ... [ ok ]
 * Wiping /tmp directory ... [ ok ]
 * Bringing up network interface lo ...RTNETLINK answers: File exists
 [ ok ]
 * Updating /etc/mtab ... [ ok ]
 * Bringing up interface lo
 *   ERROR: interface lo does not exist
 *   Ensure that you have loaded the correct kernel module for your hardware
 * ERROR: net.lo failed to start
 * setting up tmpfiles.d entries ... [ ok ]
INIT: Entering runlevel: 3
 * Loading iptables state and starting firewall ... [ ok ]
 * Bringing up interface lo
 *   ERROR: interface lo does not exist
 *   Ensure that you have loaded the correct kernel module for your hardware
 * ERROR: net.lo failed to start
 * Bringing up interface eth0
 *   ERROR: interface eth0 does not exist
 *   Ensure that you have loaded the correct kernel module for your hardware
 * ERROR: net.eth0 failed to start

And it appeared that the old /dev was still in place, which messed up with virtualization and the init scripts.
The solution is simple just

  1. remove the existing /dev
  2. create a new empty one

And the LXC container of the real server will start with a network as usual.

So when virtualizing a real server into LXC container after doing RSYNC of the storage, it is mandatory to create an empty /dev, /proc, and /sys directories!

More on the LXC containers – Run LXC CentOS 8 container with bridged network under CentOS 8.

Software comparison Ubuntu server 22.04 LTS vs Fedora 36 server edition – head-to-head

The following article compares two different Linux distros with Ubuntu Server 22.04 LTS (Jammy) and Fedora 36 Server Edition. These are the latest versions released in the past month. Bear in mind, that they have a really different release cycle Ubuntu Server 22.04 LTS (Jammy) support will end after 10 years and Fedora 36 support is just 13 months! Still, the two systems offer server editions with mostly the latest stable Linux software and they offer easy distribution upgrades.

In the Desktop world upgrading to the new and latest version of a Linux distribution is almost mandatory, but in the server world, upgrading is more complicated. The first step in updating or choosing the right Linux distribution and version for a server is to check what software versions come with the (new) distribution and then check whether the running custom (application) software supports the software versions. For example, updating to a new distribution version, which comes with PHP 8.1, but the current application supports only 7.4 is not very wise and in addition, the current version may have years of support in the future.

Lately, with the virtualization software and the distribution upgrades made easy is more common to choose a more short-living or a rolling distribution for a server. Of course, when a Linux version distro has a 13-month life cycle, it is expected to include bleeding-edge software and minor differences between consecutive releases.

SoftwareUbuntu 22.04Fedora 36
Support10 years (April 2032)~ 13 months (July 2023)
Linux kernel5.15.05.17.9
libc2.352.35
OpenSSL.
3.0.2
1.1.1n
3.0.2
GNU GCC9.4.0
10.3.0
11.2.0
12-20220302
.
.
.
12.1.1
PHP8.18.1.6
Python2.7.18
3.10.4
2.7.18
3.10.4
Perl5.34.05.34.1
Ruby3.03.1.2
OpenJDK8u312-b07
11.0.15
17.0.3
18~36ea-1
8.0.332.b09
11.0.15.0.10
17.0.3.0.7
18.0.1.0.10
Go lang1.13.8
1.17.3
1.18.1
.
.
1.18.2
Rust1.58.11.60.0
llvm.
.
.
.
11.1.0
12.0.1
13.0.1
14.0.0
7.0.1
8.0.1
9.0.1
10.0.0
11.1.0
12.0.1
13.0.1
14.0.0
nodejs12.22.916.14.0
Subversion1.14.11.14.1
Git2.34.12.36.1
Apache2.4.522.4.53
Nginx1.18.01.20.2
MySQL server8.0.298.0.28
MariaDB10.6.710.5.15
PostgreSQL14.214.1
SQLite2.8.17
3.37.2
2.8.17
3.36.0
Xorg X server1.22.1.11.20.14
Gnome Shell42.042.1
qemu6.26.2
docker|podman20.10.124.1.0
lxc5.0.04.0.10

Similar series for comparing Ubuntu 20.04 LTS and Ubuntu 22.04 LTS could be found here – Upgrading Ubuntu 20 to Ubuntu 22 – software versions upgrade table – head-to-head and for the old, but still supported Ubuntu 18.04 LTS – Upgrading Ubuntu 18 to Ubuntu 20 – software versions upgrade table – head to head.