41

First of all, I'm aware a similar question for GNOME is asked here: "Switch off laptop backlight when locking screen".

Objective

I would like to turn off my screen on locking the session for power saving reasons.

Actual problem

Locking the screen on Kubuntu (KDE) inevitably triggers the screensaver as far as I can see. There's no screensaver option other than 'Blank screen' together with its background colour set to black that comes just close to my goal. It blanks the screen, but doesn't turn off the screen. Screen's backlight will still be on and not saving any power.

Current workaround

A workaround via a script + shortcut key is possible, however, it's just a workaround since it doesn't trigger on all ways to lock the session. Therefore, I think it should be possible to have it done more elegantly, for example by providing this option in KDE's configuration dialog of the screensaver.

The workaround I am now using is the following. A script that locks the screen and turns off the screen:

#!/bin/bash

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
xset dpms force standby

and let it run with a shortcut key via a custom menu entry. It works.

Here's why I consider it to be a workaround rather than a solution. It doesn't work for other ways to trigger the locking of the session.

My actual question(s)

Do I need to touching/patching KDE's source?

  • If not what are my options?
  • If so,
    • could someone point me to where I can get started?
    • what do you think is the recommended place in the GUI for configuration?

I'm using Kubuntu 12.04 and willing to upgrade to KDE 4.9 or waiting for the 12.10 release.

10 Answers 10

27

Found a way for KDE 4 (up to Ubuntu 14.10). For modern KDE 5 see other answer.

  1. Go to System SettingsApplication and System NotificationsManage Notifications.

  2. Select Screen Saver as the Event Source

  3. Locate and select the Screen Locked

  4. add this command to the event:

     xset dpms force off
    

enter image description here

It will turn off all displays every time it gets locked.

5
  • This is simply SWEET and clever. The trick is to think of "Screen Saver" in the context of locking the screen.
    – gertvdijk
    Sep 30, 2013 at 12:25
  • For Kubuntu 15.04 users - this approach appears hit a bug in which KDE daemon crashes completely, taking the whole session with it... :-(
    – gertvdijk
    Jul 26, 2015 at 17:00
  • @gertvdijk Hmm. Might have to check that - I'm still on 14.04, and it's working for me. Though I've slowly expanded this to about half a dozen different things that happens when I lock/unlock. Jul 28, 2015 at 6:22
  • xset dpms force standby seems to be very reliable and doesn't need the sleep 1 ; xset dpms force off trick. Sep 17, 2015 at 4:00
  • @AlanThompson, the sleep 1 is just so that if you're using a mouse to click a button, you have time to let go of the mouse and it to stop moving before the display turns off. Otherwise, it can wake up the display instantly, which might mean you need to enter your password before you can lock the display again. Not sure where I recommended using sleep 1, though. Sep 18, 2015 at 5:54
25

Confirmed: running the command: /bin/sleep 1 ; /usr/bin/xset dpms force off within the screen locked notification works for Plasmashell 5.10.

Go to: System Settings > Notifications > Event source "Screen Saver":

Notifications -- System Settings

2
  • Without the sleep it doesn't work for me, so thanks for this hint!
    – Tom Pohl
    Dec 16, 2020 at 10:04
  • In kubuntu 22.04 after a period of black screen. The display would automatically turn on again for me.
    – xgdgsc
    Apr 26, 2022 at 2:46
18

With KDE Plasma 5.18, it is a little bit different from this comment.

Search for Notification via Super and follow the screenshots below:

Notifications

Notifications - Application Settings

Configure Notifications - System Settings Module

I used /bin/sleep 5; /usr/bin/xset dpms force off instead of 1, but that's up to you.

4

As of KDE 5, most of the solutions here no longer work.

Here's what I found that works though (as of 2016-09-28), create a text document and in it copy and paste the following code:

#!/bin/sh
sleep 0.5
loginctl lock-session
xset dpms force off

and then save it as "KDE5lockscreenanddpms.sh" The name doesn't matter, just make sure you have the .sh at the end of it. Then navigate to where you saved with your file manager, right click on it and open up properties>permissions> and make it executable.

Now you can click on it and it will run the script which will lock your screen and then after .5 seconds will turn your monitor(s) off.

Here are some posts with the info about these commands.

KDE.org- loginctl lock-session

Linux-apps.com - sleep 0.5 xset dpms force off

3
+100

One possible solution is switch to xscreensaver. The man page actually come with instruction.

Following is outline

  1. Disable KDE screen saver

    1. K menu -> Computer -> System Settings -> Display and Monitor -> Screen Saver
    2. Uncheck Start automatically after
  2. Install xscreensaver

    sudo apt-get install xscreensaver

  3. Create ~/.kde/Autostart/xscreensaver.desktop

    Add following lines into it

    [Desktop Entry]
    Exec=xscreensaver
    Name=XScreenSaver
    Type=Application
    X-KDE-StartupNotify=false
    
  4. Replace KDE lock screen

    cd /usr/lib/kde4/libexec
    sudo mv kscreenlocker kscreenlocker.original
    sudo vim kscreenlocker
    

    Add following lines into kscreenlocker

    #!/bin/sh
    xscreensaver-command -lock
    
  5. Use xscreensaver-demo to configure dpms (no sudo)

    Configure DPMS in Advance tab. The minimum standby is 1min.

    However, you can try make it less by editing ~/.xscreensaver after first time configuration. Look for dpmsStandby: in the file.

    Not sure if it work if dpmsStandby: is changed to 0:00:00. I am testing with a VM and the black screen look the same.

3
  • Are you sure replacing kscreenlocker is a good idea? It does more than locking the screen, reading from kscreenlocker --help. Other than that, it's a good suggestion to move to Xscreensaver!
    – gertvdijk
    Dec 29, 2012 at 21:52
  • My bad, I should have added that moving to Xscreensave will actually replace your kde screen saver also. Other than that there is no side effect. The kscreenlocker --help is showing how it can be used/call, it works with kde screen saver. Moving to xscreensaver is a work around for now.
    – John Siu
    Dec 29, 2012 at 22:01
  • Regarding new vesion of KDE you can check out this post and this post. People with KDC 4.9 or 4.10 seems to encounter some very annoying issue with dpms and actually want to turn off the feature. So I would say don't upgrade kde for now.
    – John Siu
    Dec 29, 2012 at 22:06
2

You need a different solution, if you use a Wayland KDE session (running kwin_wayland).
As we - in the aformentioned scenario - are no longer using X.Org, X11 API and so xset - surprise - no longer works nowdays (as users are using less and less kwin_x11 based sessions).
But there should be some dbus method to turn off the screen(s), right? Right!

This solution is based on the accepted anwser and its KDE5 actualized copy.
So skim them - if you haven't done already - first. But the command needed is different now, and I have been inpired by a good topic on KDE screen turn-off shortcut.

Combining multiple info sources, bit dbus viewer trying and instrospect calls and tada - you should paste this command to the screen lock noticification:
/bin/sleep 1 && /bin/dbus-send --session --dest=org.kde.kglobalaccel /component/org_kde_powerdevil org.kde.kglobalaccel.Component.invokeShortcut string:'Turn Off Screen'

Some reasonin behind the command:

  • The command starts with a 1 sec sleep delay because: the key unpress event of screen lock shortcut can immediately turn the screen back on
  • The qdbus command is deprecated, and not installed on many distros now, but dbus-send is pretty basic and ubiquitous

Also, this should be moved to Super User, or Unix & Linux. Ubuntu is not the most relevant distro for KDE. but this applies to all KDE distros.

1
  • add --type=method_call to command: dbus-send --session --type=method_call --dest=org.kde.kglobalaccel /component/org_kde_powerdevil org.kde.kglobalaccel.Component.invokeShortcut string:'Turn Off Screen' Jul 6 at 13:41
0

More than 10 years after I posted my question... 😅

KDE 5.27 gained the feature to turn off the screen on the lock screen by pressing Esc. 🎉

Plasma 5.27 announcement

Save power with one keystroke: While on the lock screen, hit the Esc key to turn off the screen and save some power.

-1

Kde5 and XScreenSaver(5.34) : click on tab complex Advance , then activate energy management by ticking it and set the minutes in power-off to your like (or use even quick power-off).

4
  • Hmm, I'm missing something perhaps... How to get to a window that has the "complex" tab?
    – gertvdijk
    Nov 22, 2016 at 12:47
  • Did you mean to comment this to the other XScreensaver answer perhaps? askubuntu.com/a/232844/88802
    – gertvdijk
    Nov 22, 2016 at 12:50
  • 1
    The OP is 4 years old and KDE version is < 4.9. Your answer should address the differences. Nov 22, 2016 at 12:51
  • My kde is in German and "Komplex" seems to be "Advance" in English version. Also, it's debian, not ubuntu. Should I delete my answer?
    – dr0i
    Nov 28, 2016 at 15:37
-2

System Settings / Personal / Light Locker (in the new Whisker menu)

1
  • 5
    Can you explain how this works and what it does?
    – Kaz Wolfe
    Aug 31, 2014 at 3:16
-3

On Kubuntu 14.04, simply go System Setting - Power Mgmt. - turn off Dim Screen and Screen Energy Saving under Energy Saving tab.

Cheers!

1
  • And then what? It does not turn off my screen (DPMS) when locking. So it does not answer my question.
    – gertvdijk
    Nov 25, 2015 at 16:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .