Can't change the desktop background image

After updating a vulkan dependency I forgot (lib32-nvidia-utils) I can no longer change my desktop background. I tried right clicking the image to set as a background, and changing the image in desktop folder settings, but the wallpaper type image menu shows no options and the image is not applied. Does anyone know how to fix this? I can still change the background color, “Picture of the Day” still works too, I just can’t choose the image anymore.

As a Workaround: Use plasma-apply-wallpaperimage
See plasma-apply-wallpaperimage -h for more info

Example usage:
plasma-apply-wallpaperimage /usr/share/wallpapers/Canopee/contents/images/3840x2160.png

Update your Computer and reboot.

If the issue still persists you can try to change the Layout to Folder View and see if that works.
Might wanna check your logs if something else broke.

1 Like

You could try a python script as a workaround. You can make a desktop application for it in ~/.local/share/applications ( I use this because I can use it in Gwenview) or a servicemenu for Dolphin. Provided it works for you of course.

#!/usr/bin/env python3
import dbus
import argparse

def setwallpaper(filepath, plugin = ‘org.kde.image’):
jscript = “”"
var allDesktops = desktops();
print (allDesktops);
for (i=0;i<allDesktops.length;i++) {
d = allDesktops[i];
d.wallpaperPlugin = “%s”;
d.currentConfigGroup = Array(“Wallpaper”, “%s”, “General”);
d.writeConfig(“Image”, “file://%s”)
}
“”"
bus = dbus.SessionBus()
plasma = dbus.Interface(bus.get_object(‘org.kde.plasmashell’, ‘/PlasmaShell’), dbus_interface=‘org.kde.PlasmaShell’)
plasma.evaluateScript(jscript % (plugin, plugin, filepath))

if name == ‘main’:
parser = argparse.ArgumentParser(description=‘KDE Wallpaper setter’)
parser.add_argument(‘file’, help=‘Wallpaper file name’)
parser.add_argument(‘–plugin’, ‘-p’, help=‘Wallpaper plugin (default is org.kde.image)’, default=‘org.kde.image’)
args = parser.parse_args()
setwallpaper(args.file, args.plugin)

1 Like

Another one that might work…

[Desktop Entry]
Comment[nl_BE]=
Comment=
Exec=/usr/lib/qt5/bin/qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript ‘const allDesktops = desktopsForActivity(currentActivity()); for (i=0; i<allDesktops.length; i++) {d = allDesktops[i]; d.wallpaperPlugin = “org.kde.image”; d.currentConfigGroup = Array(“Wallpaper”, “org.kde.image”, “General”); d.writeConfig(“Image”, “%u”)}’
Icon=codeblocks
MimeType=image/jpeg;image/png;image/svg+xml;image/svg+xml-compressed;image/bmp;image/webp;image/tiff;
Name[nl_BE]=GebruikWall
Name=GebruikWall
NoDisplay=true
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

1 Like

Open Konsole and run plasmashell --replace. Then trigger the bug and paste the text in the terminal window into a comment here.

1 Like

Apologies for the late response, this actually fixed the problem! I ran the command and checked desktop folder settings, it was fixed. I have a feeling the problem initially had something to do with Exiv2 which has been a bit buggy lately relating to empty image metadata, (a lot of my images have empty fields) but a fix has come out, I updated the package today. It could have been something else though. Here’s the log:

Checking screens: available: (QScreen(0x556beb19f6e0, name="DP-4")) redundant: QHash() fake: QSet() all: (QScreen(0x556beb19f6e0, name="DP-4"))
Checking screens: available: (QScreen(0x556beb19f6e0, name="DP-4")) redundant: QHash() fake: QSet() all: (QScreen(0x556beb19f6e0, name="DP-4"))
kf.plasma.quick: Applet preload policy set to 1
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
Cyclic dependency detected between "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml" and "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/ThumbnailStrip.qml"
Cyclic dependency detected between "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml" and "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationHeader.qml"
file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/main.qml:95: TypeError: Cannot read property 'airplaneModeAvailable' of null
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_08_00.4.analog-stereo.monitor"
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
libKExiv2: Cannot load metadata from file   (Error # %1: The file contains data of an unknown image type )
Not a JPEG file: starts with 0x3c 0x21
libKExiv2: Cannot load metadata from file   (Error # %1: The file contains data of an unknown image type )
Not a JPEG file: starts with 0x3c 0x21
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/share/plasma/plasmoids/org.kde.plasma.devicenotifier/contents/ui/DeviceItem.qml:36:5: Unable to assign [undefined] to bool
file:///usr/share/plasma/plasmoids/org.kde.plasma.devicenotifier/contents/ui/DeviceItem.qml:35:5: Unable to assign [undefined] to bool
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/CompactRepresentation.qml:61:17: Unable to assign [undefined] to int
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
QQmlEngine::setContextForObject(): Object already has a QQmlContext
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/AppletConfiguration.qml:126:5: QML ScrollView: Binding loop detected for property "implicitWidth"
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:265:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
kf.coreaddons: "Could not find plugin org.kde.plasma.folder"
Error loading KCM: "Could not find plugin org.kde.plasma.folder"
kf.coreaddons: "Could not find plugin org.kde.plasma.folder"
Error loading KCM: "Could not find plugin org.kde.plasma.folder"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationContainmentAppearance.qml:210: TypeError: Cannot read property 'objectName' of null
kf.coreaddons: "Could not find plugin org.kde.image"
Error loading KCM: "Could not find plugin org.kde.image"
kf.coreaddons: "Could not find plugin org.kde.color"
Error loading KCM: "Could not find plugin org.kde.color"
kf.coreaddons: "Could not find plugin org.kde.potd"
Error loading KCM: "Could not find plugin org.kde.potd"
kf.coreaddons: "Could not find plugin org.kde.potd"
Error loading KCM: "Could not find plugin org.kde.potd"
file:///usr/share/plasma/wallpapers/org.kde.potd/contents/ui/WallpaperPreview.qml:46:13: QML Action: Accessible must be attached to an Item
file:///usr/share/plasma/wallpapers/org.kde.potd/contents/ui/WallpaperPreview.qml:55:13: QML Action: Accessible must be attached to an Item
file:///usr/share/plasma/wallpapers/org.kde.potd/contents/ui/config.qml:324:13: QML Action: Accessible must be attached to an Item
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationAppletPage.qml:38:5: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationAppletPage.qml:38:5: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationContainmentAppearance.qml:51:5: QML ColumnLayout: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationAppletPage.qml:38:5: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationContainmentAppearance.qml:51:5: QML ColumnLayout: Binding loop detected for property "height"
file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/CompactRepresentation.qml:61:17: Unable to assign [undefined] to int
org.kde.plasma.containmentlayoutmanager: Error: cannot change the containment to AppletsLayout
file:///usr/share/plasma/plasmoids/org.kde.plasma.devicenotifier/contents/ui/DeviceItem.qml:36:5: Unable to assign [undefined] to bool
file:///usr/share/plasma/plasmoids/org.kde.plasma.devicenotifier/contents/ui/DeviceItem.qml:35:5: Unable to assign [undefined] to bool
Both point size and pixel size set. Using pixel size.
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/Tooltip.qml:78:9: QML GridLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
file:///usr/lib/qt/qml/org/kde/kcm/ContextualHelpButton.qml:41:5: QML ToolTip: Binding loop detected for property "implicitHeight"
QObject::connect: No such slot DesktopProtocol::_k_slotRedirection(KIO::Job *, QUrl)
kf.coreaddons: "Could not find plugin org.kde.image"
Error loading KCM: "Could not find plugin org.kde.image"
file:///usr/lib/qt/qml/org/kde/kcm/SettingHighlighter.qml:0: ReferenceError: kcm is not defined
file:///usr/lib/qt/qml/org/kde/kcm/SettingHighlighter.qml:0: ReferenceError: kcm is not defined
file:///usr/lib/qt/qml/org/kde/kcm/SettingHighlighter.qml:0: ReferenceError: kcm is not defined
file:///usr/lib/qt/qml/org/kde/kcm/SettingHighlighter.qml:0: ReferenceError: kcm is not defined
QQmlEngine::setContextForObject(): Object already has a QQmlContext
file:///usr/lib/qt/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
kf.sonnet.core: No language dictionaries for the language: "en_US"
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)