簡體   English   中英

如何從命令行確定我的 KDE 桌面是否處於鎖定屏幕狀態?

[英]How can I determine if my KDE Desktop is in lock screen state from command line?

我有一個在后台運行的程序,它每 N 秒簡單地截取一次屏幕截圖。

例如:

#!/bin/sh

while true; do
  take-screenshot
  sleep 10
done

我想要實現的只是在屏幕未鎖定時截取屏幕截圖。 例如:

#!/bin/sh

while true; do
  if ! screen-is-locking; then
    take-screenshot
    sleep 10
  fi
done

如何確定我的桌面是否在命令行中鎖定?

根據此問題下的其他評論提供的鏈接,我為我的問題找到了解決方案或解決方法,它在 5.4.58-1-MANJARO KDE Plasma 下運行良好(根據該答案的聲明,其他 DE 可能有不同的方法)。

dbus 服務中有一種方法非常適合我的需要:

#/bin/sh

is_screen_locking()
{
  if dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call --print-reply /org/freedesktop/ScreenSaver org.freedesktop.ScreenSaver.GetActive | grep 'boolean true' > /dev/null; then
    return 0
  else
    return 1
  fi
}



if is_screen_locking; then
   echo 'screen is locking'
else
   echo 'screen is not locking'
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM