web-dev-qa-db-ja.com

xsetのパラメーター 'noexpose'および 'cycle'を説明してください

私は、画面が20分ごとに消えないように長い間努力してきました。これを行うことができるアプリケーションのインターロック層が多数あり、この動作を実現することはまったく簡単ではないことを理解しています。背景を読むのに役立つリソースは次のとおりです。

buntu 12.10「非アクティブの場合に画面をオフにする:しない」はまだオフになります

Xsetによって制御されるパラメーターの一部が理解できません。 1つは、「expose」または「noexpose」設定です。もう1つは「サイクル」時間です。

Screen Saver:
  prefer blanking:  no    allow exposures:  no
  timeout:  0    cycle:  0

「xset s Exposure」または「xset s noexpose」と入力すると、「allow Exposures」の値を変更できます。独立して、「xset s 0 0」で「timeout」と「cycle」の値を制御できます。ただし、これらのパラメーターが何をするのかについての適切な説明はどこにもありません。グーグルで検索すると、何をしているのか理解せずに画面がブランクにならないようにこれらのパラメーターを変更している人が大勢います。 「xset」マンページを読むと、次のようになります:

The 'expose' flag sets the preference to  allow  window
exposures  (the  server  can  freely  discard window contents),
while 'noexpose' sets the preference to  disable  screen  saver
unless  the  server  can regenerate the screens without causing
exposure events.  

これは理解できません。ブランキングを無効にする方が適切な値はどれですか?

それは言い続けます:

The length  and  period  parameters  for  the
screen  saver  function  determines how long the server must be
inactive for screen saving  to  activate,  and  the  period  to
change  the background pattern to avoid burn in.

私は「期間パラメータ」によって「xset s N Nによってcycleとして記述されるxset qへの2番目の数値引数」を意味すると思いますか?そして、これはxscreensaverのある種の交互パターンモードにのみ関係しますか?繰り返しになりますが、私は主に、画面のブランキングを無効にするのに最適な値を知りたいです。

4
cxrodgers

OK公開された引数は、ウィンドウやそこにあるコンテンツがスクリーンセーバーの背後に表示されるかどうかに関係していると思います(これは、画面などに描画する特定のスクリーンセーバーに関連します)。つまり、デスクトップが公開されているかどうかは簡単です。これは経験に基づいた推測であり、使用される用語は奇妙だと思います。

このxset s N Nをあなたが参照したように理解する方法は次のとおりです。

xset s 60 10

変数60で表されるように、60秒のアクティビティ後にスクリーンセーバーがオンになるようにスクリーンセーバーを設定します。10は、背景画像(xset s exposeを使用する場合はデスクトップ)を10(分または秒)ごとに強制的に変更します。これは、マニュアルのs [Length [Period]]として参照されます(非アクティブの長さとリフレッシュ間の期間)

他の興味深いコマンドはs blank / s noblankでした。これらは、スクリーンセーバーの代わりに画面を黒にフェードさせたい場合に責任があります。

xset s blank

これを有効にするには、または

xset s default

工場出荷時のデフォルトを設定するには

あなたがこれを行うことができるように、あなたがそれをオフにしたい場合、あなたのために、1つずつ

Sudo -i

xset default

xset s noexpose

xset s noblank

xset s off
3
Mark Kirby

Pls。 X11 Protokollを詳しく調べると、公開イベントが考慮されます。

X11サーバーはウィンドウのコンテンツを保存できますが、アプリケーションウィンドウの一部(inkl。全体)が表示されると、ほとんどのアプリケーションは公開イベントを受け取ります。

通常、干渉がない場合(スクリーンセーバー、スクリーンブランキングなど)、そのようなウィンドウのコンテンツを再描画する必要はありません。ウィンドウが隠されて見えるようになった場合-つまり、再び「公開」されると、X11サーバーは公開イベントをアプリケーションに再度送信します。

詳細: https://tronche.com/gui/x/xlib/events/exposure/expose.html

したがって、xsetのnoexposeパラメーターはスクリーンセーバーを無効にすることができますが、詳細なグラフィックスドライバーの実装(または電源設定)が空白の状態で画面の内容を復元できない場合のみです(ほとんどの場合)。

あなたのもの、

イェンス

1