KDEで画面がロックされているときにスクリプトを実行する

KDEで画面がロックされているときにスクリプトを実行する

現在KDEセッションがロックされている間にbashスクリプトを実行する方法はありますか?

答え1

これは、実行しているKDEのバージョンによって異なる場合があります。通知するシステム設定に移動して使用できます。スクリーンセーバー画面がロックされているかロック解除されたときに実行中のスクリプトを制御します。

KDE通知システム設定モジュール

答え2

KDEとは異なるデスクトップ環境では、dbusインターフェースを介して聞くことができますorg.freedesktop.ScreenSaver

これを行うスクリプトは次のとおりです。

dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver'" |
  while read x; do
    case "$x" in 
      # You can call your desired script in the following line instead of the echo:
      *"boolean true"*) echo SCREEN_LOCKED;;
      *"boolean false"*) echo SCREEN_UNLOCKED;;  
    esac
  done

また見てくださいこの問題より多くの情報を知りたいです。

答え3

私が考えることができる1つの回避策は、(通常はロックにキーボードショートカットを使用している場合)、キーボードショートカットをロックから再バインドしてスクリプトを実行してからセッションをロックすることです。これは、スクリプトで次のコマンドを使用して達成できます。

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

しかし、私はkdeを使わないのでテストできません。

キーボードショートカットを使用しないと、これは難しいと思います。 1つの可能なアプローチは、ロックプログラムをフォークしてスクリプトを見つけて実行することです。

関連情報