mplayer と SDL がどのようにそれを行うかを簡単に見てみると、スクリーンセーバーが起動しないようにするためにできることが 2 つあります。
- プログラムの期間中は無効にします:
XScreenSaverSuspend
の使用- DBus を使用して
org.freedesktop.ScreenSaver.Inhibit
を呼び出す
- 定期的に ping を実行します:
XResetScreenSaver
の使用- DBus を使用して
org.freedesktop.ScreenSaver.SimulateUserActivity
を呼び出す
私が知る限り、名前に xdg が含まれているものは、クロスデスクトップ環境機能を実現するための方法です。 xdg-screensaver というコマンドライン ユーティリティがあるようです。たくさんのスクリーンセーバーが組み込まれていて、xset s off
にフォールバックしているようです /xset s default
であるため、インストール時に呼び出すか、インストールされていないときにロジックの一部をコピーすることをお勧めします...