This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[SOLVED] screensaver unlock screen lost colors: Where are th

Tags: None
(comma "," separated)
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Can you please enable the "kscreenlocker_greet" debug area (using KDebugDialog) and tail the output of ~/.xsession-errors?
It would seem that something is going wrong in the loading of the default wallpaper of the Plasma theme you are currently using.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
pagoda
Registered Member
Posts
108
Karma
1
OS
Ok enabled kscreenlocker_greet and below is a cut from xsession-errors;

Code: Select all
kscreenlocker_greet(581)/kwin ScreenLocker::Greeter::loadGreetPlugin: GreeterPlugin  "classic"  ( classic ,  Username + password (classic) ) loaded
kscreenlocker_greet(581) KeyboardConfig::load: configuring layouts false configuring options true
kscreenlocker_greet(581) X11Helper::getGroupNames: Fetched layout groups from X server:    layouts: ("us")    variants: ("")
QDeclarativeExpression: Expression "(function $model() { return sessions.model })" depends on non-NOTIFYable properties:
    ScreenLocker::SessionSwitching::model
kscreenlocker_greet(581)/libplasma Plasma::Theme::wallpaperPath: exhausted every effort to find a wallpaper.
file:///usr/lib/kde4/imports/org/kde/plasma/extras/ScrollArea.qml:96: TypeError: Result of expression 'verticalScrollBar' [null] is not an object.
file:///usr/lib/kde4/imports/org/kde/plasma/extras/ScrollArea.qml:120: TypeError: Result of expression 'horizontalScrollBar' [null] is not an object.
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971551
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971559
kscreenlocker_greet(581)/libplasma Plasma::Theme::wallpaperPath: exhausted every effort to find a wallpaper.
kscreenlocker_greet(581)/libplasma Plasma::Theme::wallpaperPath: exhausted every effort to find a wallpaper.
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: MapNotify: 20971567
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 146
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: Unknown toplevel for MapNotify
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: MapNotify: 23068689
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 146
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: Unknown toplevel for MapNotify
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 146
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: Unknown toplevel for MapNotify
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 146
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: Unknown toplevel for MapNotify
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 146
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: Unknown toplevel for MapNotify
file:///usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/SessionSwitching.qml:48:9: QML ListView: Possible anchor loop detected on fill.
file:///usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/SessionSwitching.qml:48:9: QML ListView: Possible anchor loop detected on fill.
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971551
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971559
file:///usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/SessionSwitching.qml:105: TypeError: Result of expression 'activateSession' [AccelButton_QMLTYPE_13(0x18c72c0)] is not a function.
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971551
ksmserver(402)/plasma ScreenLocker::LockWindow::x11Event: UnmapNotify: 20971559
file:///usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/SessionSwitching.qml:48:9: QML ListView: Possible anchor loop detected on fill.
file:///usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/SessionSwitching.qml:48:9: QML ListView: Possible anchor loop detected on fill.
kmix(542) Mixer_Backend::readSetFromHW: Announcing the readSetFromHW()
kmix(542) OSDWidget::setCurrentVolume: Meter is visible:  true
kmix(542) ControlManager::announce: Listener  "OSDWidget"  is interested in  "PulseAudio::Playback_Devices:1" ,  "Volume"
kmix(542) ControlManager::announce: Listener  "DBusMixerWrapper.PulseAudio::Playback_Devices:1"  is interested in  "PulseAudio::Playback_Devices:1" ,  "Volume"
kmix(542) ViewSliders::controlsChange: NOW I WILL REFRESH VOLUME LEVELS. I AM  "PulseAudio.Playback_Devices.1.default"
kmix(542) ControlManager::announce: Listener  "ViewSliders.PulseAudio::Playback_Devices:1"  is interested in  "PulseAudio::Playback_Devices:1" ,  "Volume"
kmix(542) ControlManager::announce: Listener  "ViewDockAreaPopup"  is interested in  "PulseAudio::Playback_Devices:1" ,  "Volume"
kmix(542) ControlManager::announce: Listener  "KMixDockWidget"  is interested in  "PulseAudio::Playback_Devices:1" ,  "Volume"
kmix(542) ControlManager::announce: Announcing  "Volume"  for  "PulseAudio::Playback_Devices:1"  by  "Mixer.fromHW"
kded(361)/kmix Mixer_Backend::readSetFromHW: Announcing the readSetFromHW()
User avatar
šumski
Registered Member
Posts
106
Karma
1
OS
Code: Select all
kscreenlocker_greet(581)/libplasma Plasma::Theme::wallpaperPath: exhausted every effort to find a wallpaper.

Do you have Elarun wallpaper installed (you can also add a wallpaper to your current plasma theme)? If plasma/locker can't find any wallpaper, then by default there's just a blackish background - https://git.reviewboard.kde.org/r/108377/
pagoda
Registered Member
Posts
108
Karma
1
OS
Thanks sumski,
No Elarun wallpaper installed. I have a wallpaper folder within my plasma theme (/usr/share/apps/desktoptheme) which has a wallpaper called background.png (1920x1200).
I have a copy of the same wallpaper in /usr/share/wallpapers.

Looking at the code in kmserver main.qml only calls for a background. Elarun, the default wall, is not called in main.qml as far as I can see.

I agree that if no wallpaper can be found a #111 background is used.

Code: Select all
   // if there's no image, have a near black background
    Rectangle {
        width: parent.width
        height: parent.height
        color: "#111"
    }

    Image {
        id: background
        anchors.fill: parent
        source: theme.wallpaperPathForSize(parent.width, parent.height)
    }
User avatar
šumski
Registered Member
Posts
106
Karma
1
OS
Yes. technically it's not Elarun, but default wallpaper for default or current plasma theme:
Code: Select all
source: theme.wallpaperPathForSize(parent.width, parent.height)

if one uses Air, then Elarun is shown, otherwise, if no, or wrong wallpaper is selected, then one has your effect.
As for custom wallpaper, this is what should do the trick: add e.g.
Code: Select all
[Wallpaper]
defaultWallpaperTheme=openSUSEdefault
defaultFileSuffix=.jpg

to theme's metadata desktop
and creating a wallpaper theme, e.g.
Code: Select all
ls /usr/share/wallpapers/openSUSEdefault               
contents  metadata.desktop  screenshot.jpg

Code: Select all
/usr/share/wallpapers/openSUSEdefault/metadata.desktop
[Desktop Entry]
Name=openSUSE default

X-KDE-PluginInfo-Name=Azul-openSUSE
X-KDE-PluginInfo-Author=openSUSE Artwork Team
X-KDE-PluginInfo-Email=opensuse-artwork@opensuse.org
X-KDE-PluginInfo-License=GPLv2

Code: Select all
ls /usr/share/wallpapers/openSUSEdefault/contents/images
1280x1024.jpg  1280x1024.png  1600x1200.jpg  1600x1200.png  1920x1080.jpg  1920x1080.png  1920x1200.jpg  1920x1200.png


or another way:
Code: Select all
kwriteconfig --file plasma-desktoprc --group Defaults --key wallpaper /path/to/wall
pagoda
Registered Member
Posts
108
Karma
1
OS
sumski,
I don't understand why the reference to openSUSE?
I'm on Manjaro.
But I will try as you have provided and report back.
Many thanks sumski
User avatar
šumski
Registered Member
Posts
106
Karma
1
OS
pagoda wrote:sumski,
I don't understand why the reference to openSUSE?
I'm on Manjaro.

i understand that, this was just an example, just swap openSUSEdefault with mylovelywallpapername :)
the last command should also do the trick (note that will also change default wallpaper for workspaces and new activities)
pagoda
Registered Member
Posts
108
Karma
1
OS
Ok thanks.
I'll have to look at this later today.
Again many thanks.

Edit:

With sumski's direction using the first option he's set out I've managed to solve this here.
Once again thank you sumski o)
Oliver Henshaw
Registered Member
Posts
7
Karma
0
Good that you've got something working. However I'd be happier if you could fix it without the workaround of specifying your wallpaper by hand. The appropriate Elarun wallpaper must have been on your system at one point, surely? After all, things used to work.

I'm not sure what the arch package management tools do, but is there a way to see what packages were changed (particularly removed) around the time of your libpng problems?

You could also see if there's a kde wallpapers package you can install. Then you hopefully can get the original screenlocker background back without your workaround, and not face weird problem in the future if/when you change your background again.

Just as another thing to check, what is the result of "echo $QT_PLUGIN_PATH" ?
poseidon
Registered Member
Posts
11
Karma
0
Oliver Henshaw wrote:You could also see if there's a kde wallpapers package you can install. Then you hopefully can get the original screenlocker background back without your workaround, and not face weird problem in the future if/when you change your background again.


Oh god, mea culpa: Now that you speak of kde-wallpapers I remember, that at some point I had to remove that very package during the last upgrade, because it blocked other packages from being upgraded. As all other packages like kdeartwork-wallpapers stayed in place I payed no attention to that action. I reinstalled kde-wallpapers and everything is as expected again. Embarrassing...

I'll mark the thread as SOLVED.
pagoda
Registered Member
Posts
108
Karma
1
OS
Oliver Henshaw wrote:Good that you've got something working. However I'd be happier if you could fix it without the workaround of specifying your wallpaper by hand. The appropriate Elarun wallpaper must have been on your system at one point, surely? After all, things used to work.

Not exactly...
I have a bare bones KDE system running here and did not install any wallpaper packages. From the very first boot I had no wallpaper, no screenlocker image, kdm nor ksplash backgrounds. I was initially caught out in this due to the changes? of screenlocker, and the fact that main.qml did not appear to call any specific image.

Oliver Henshaw wrote:Then you hopefully can get the original screenlocker background back without your workaround, and not face weird problem in the future if/when you change your background again.

It's not so much of a workaround but more a case of using custom backgrounds in the established folder heirarchy and metadata.theme files screenlocker expects to find.
With respect to future backgrounds I may use, I have a spare folder /sub-folder structure ready ,including the needed metadata.theme template. It's now a simple matter of dropping the new background in the correct folder, filling in the metadata info and dropping the whole thing into /usr/share/wallpapers.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]