[KDE]-Using "Thermal Monitor" Panel Widget Crashes KDE Desktop?

Hi,

I have a problem with KDE “Thermal Monitor” widget below:
https://store.kde.org/p/998915/

i can add the above widget to the panel, but when I right-click on the widget
and click on “Configure Thermal Monitor” it crashes my desktop?

I did try “sensors-detect” in terminal already.
Any ideas?

Note: the hard drive with openSUSE was cloned from another desktop hard drive.
(perhaps I need to clear KDE “Thermal Monitor” widget settings for it to work?)

Jesse

Hi,

Found panel widget config file below:

/home/jlp/.local/share/plasma/plasmoids/

Also tried uninstalling and reinstalling the widget.
Still crashes my KDE desktop.
Any ideas?

Jesse

I have been running this for ages now and yes it crashes the desktop if I try to access the config screen, thhis has only just started to happen since my last TW KDE update a few days ago.

Stuart

FWIW works fine here in LEAP 15.1 KDE, including configuration.

Well I just tested my Leap 15.2 Beta install on the laptop and it too crashes the Plasma Desktop when trying to configure the Thermal Monitor.

Stuart

Hi,

Any other options to display CPU temperature in KDE panel?
I am overclocking my Intel Celeron CPU(2GHz to 2.42GHz) and am worried about overheating.
Let me know, thanks!

Jesse

Been looking into this again and found a fix created by someone on Reddit which actually works. You have to edit ~/.local/share/plasma/plasmoids/org.kde.thermalMonitor/contents/ui/config/ConfigTemperatures.qml and change lines 522 to 604 overwriting with:-


PlasmaCore.DataSource {
    id: udisksDS
    engine: 'executable'

    connectedSources:  ModelUtils.UDISKS_DEVICES_CMD ]
    property bool prepared: false

    onNewData: {
        if (!prepared)
        {
            //connectedSources.length = 0

            if (data'exit code'] > 0) {
                print('New data incomming. Source: ' + sourceName + ', ERROR: ' + data.stderr);
                return
            }

            print('New data incomming. Source: ' + sourceName + ', data: ' + data.stdout);

            var pathsToCheck = ModelUtils.parseUdisksPaths(data.stdout)
            pathsToCheck.forEach(function (pathObj) {
                var cmd = ModelUtils.UDISKS_VIRTUAL_PATH_PREFIX + pathObj.name
                comboboxModel.append({
                    text: cmd,
                    val: cmd
                })
            })
            prepared = true
        }
    }
    //interval: 500
}

PlasmaCore.DataSource {
    id: nvidiaDS
    engine: 'executable'

    connectedSources:  'nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader' ]
    property bool prepared: false

    onNewData: {
        if (!prepared)
        {
            //nvidiaDS.connectedSources.length = 0
            if (data'exit code'] > 0) {
                prepared = true
                return
            }

            comboboxModel.append({
                text: 'nvidia-smi',
                val: 'nvidia-smi'
            })
            prepared = true
        }
    }
    //interval: 500
}

PlasmaCore.DataSource {
    id: atiDS
    engine: 'executable'

    connectedSources:  'aticonfig --od-gettemperature' ]
    property bool prepared: false

    onNewData: {
        if (!prepared)
        {
            //atiDS.connectedSources.length = 0
            if (data'exit code'] > 0) {
                prepared = true
                return
            }

            comboboxModel.append({
                text: 'aticonfig',
                val: 'aticonfig'
            })
            prepared = true
        }
    }


Obviously back it up before doing this!

Stuart