Where are KCMs locally installed to?

The undermentioned doesn’t explain:

I want to know so that I can use dnf5 provides on its literal path. Usually, I’d use command -v to resolve it, but I don’t think they’re in $PATH (kcmshell6 is, instead).

Searching /usr for “kcm” leads to: /usr/lib64/qt6/plugins/plasma/kcms/systemsettings/

I don’t know if that’s something that differs per distribution, but you’re also on Fedora so it should be the same on your device.

1 Like

@johnandmegh, thank you!

  1. I’m unfamiliar with the FHS, so is there a reason you expected them to be in /usr?

  2. Additionally, how’d you find them, inside /usr? Perhaps I’m incompetent at RegEx, but I find Dolphin’s Baloo-reliant search fairly inconsistent, and KFind’s rather poor at fuzzy searches.

Irrespective, although useful, I expected that directory to contain whatever supplies kcm_about_distro, but don’t see a relevant .so file (I grep’d to ensure):

/usr/lib64/qt6/plugins/plasma/kcms/systemsettings/
├── kcm_access.so
├── kcm_activities.so
├── kcm_autostart.so
├── kcm_baloofile.so
├── kcm_bluetooth.so
├── kcm_bolt.so
├── kcm_colord.so
├── kcm_colors.so
├── kcm_componentchooser.so
├── kcm_cursortheme.so
├── kcm_desktoppaths.so
├── kcm_desktoptheme.so
├── kcm_feedback.so
├── kcm_flatpak.so
├── kcm_fonts.so
├── kcm_gamecontroller.so
├── kcm_icons.so
├── kcm_kaccounts.so
├── kcm_kded.so
├── kcm_keyboard.so
├── kcm_keys.so
├── kcm_krdpserver.so
├── kcm_kscreen.so
├── kcm_kwindecoration.so
├── kcm_kwin_effects.so
├── kcm_kwinrules.so
├── kcm_kwin_scripts.so
├── kcm_kwin_virtualdesktops.so
├── kcm_kwinxwayland.so
├── kcm_landingpage.so
├── kcm_lookandfeel.so
├── kcm_mouse.so
├── kcm_nightlight.so
├── kcm_notifications.so
├── kcm_plasmasearch.so
├── kcm_powerdevilprofilesconfig.so
├── kcm_printer_manager.so
├── kcm_pulseaudio.so
├── kcm_regionandlang.so
├── kcm_screenlocker.so
├── kcm_sddm.so
├── kcm_smserver.so
├── kcm_soundtheme.so
├── kcm_splashscreen.so
├── kcm_style.so
├── kcm_tablet.so
├── kcm_touchpad.so
├── kcm_touchscreen.so
├── kcm_updates.so
├── kcm_users.so
├── kcm_virtualkeyboard.so
├── kcm_wallpaper.so
└── kcm_workspace.so

1 directory, 53 files

Have you one? Perhaps KInfoCenter is special.

I usually search using find

# find /usr -type f -name 'kcm*'

The * is a wildcard character. -type f tells find to search only for files, not directories.

KInfoCenter is a separate program, not a KCM. It is a viewer to display KCMs specific to system information. Each entry on its left sidebar is a separate KCM.

Once you find the relevant KCMs you want, you can start them using kcmshell6:

$ kcmshell6 kcm_about-distro
$ kcmshell6 kcm_kwinsupportinfo

And even KCMs which are hidden in System Settings, such as the background services one:

$ kcmshell6 kcm_kded

Notes:

  • The shell starting with # means you should run that command as root, or prepend sudo to it.

  • I use openSUSE Tumbleweed, if you are on a different distro the KCM names might be different.

    Anyway, once you find the ones you are after, you can call as kcmshell6 ..., without the .so extension.

  • On a different distro, the kcmshell6 viewer program, might be named differently. You can try just kcmshell in case kcmshell6 is not found.

Regarding why searching the /usr directory. I am also not an expert on FHS, but what I know is that /usr is where binaries and libraries live, /etc is where configuration lives, and /var where data lives. Take this as an oversimplified outline.

1 Like

kcmshell6 --list to list them.

You can also have windows embedding any kcm selection, for instance:
kcmshell6 kcm_about-distro kcm_kwinsupportinfo kscreen