- 技術 💻
スクリーンセーバーとは|スリープ・画面オフ・ロックとの違いを実測
結論
スクリーンセーバーは、パソコンを操作しない時間が決めた分だけ続くと、画面を動く絵や黒い表示に切り替える機能です。画面の電源を切る「画面オフ」、パソコン全体を低電力で止める「スリープ」、本人確認を求める「ロック」とは別の機能で、組み合わせて使います。もとは画面の焼き付きを防ぐための機能でしたが、いまは離席中の画面を隠す役割が中心で、電気の節約にはなりません。
この記事でわかること
- スクリーンセーバー・画面オフ・スリープ・ロックの違いと、Windows・Mac・Linux での設定場所
- Linux の仮想画面で xset と xscreensaver を動かし、何秒で起動したか・CPU をどれだけ使ったかの実測
- Web ページから画面を消さない Screen Wake Lock API が、効く環境と効かない環境の実測と、勝手に始まる・始まらないときの症状表
この記事で実際に動かしたもの:作業用に起動した仮想の画面(Xvfb のディスプレイ :219)の中で、X サーバー内蔵のスクリーンセーバー(xset で5秒に設定)と xscreensaver 6.08(1分に設定)を動かして起動までの秒数・状態・CPU 使用率を測り、127.0.0.1 の 21900 番に置いた自作のページを Chromium 153 で開いて Screen Wake Lock API で画面を消さない要求を出し、スクリーンセーバーが止まるかどうかを確かめました。
「スクリーンセーバー」は、パソコンを使う人なら一度は目にする言葉ですが、スリープや画面オフ、ロック画面と混ざって覚えられがちです。混ざったままだと「節電のつもりで動く絵を表示していた」「スクリーンセーバーを設定したのに、離席中の画面をのぞかれた」といったことが起きます。最初に、操作をやめてから画面がどう変わっていくかを図で示します。
flowchart TD
A[最後の操作] --> B[スクリーンセーバー<br>絵や黒い表示]
B --> C[画面オフ<br>画面の電源を切る]
C --> D[スリープ<br>本体を低電力で止める]
B -.-> L[ロック<br>戻るときに本人確認]
C -.-> L
D -.-> L
よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| スクリーンセーバーとは | 操作しない時間が続くと、画面を絵や黒い表示に切り替える機能 | スクリーンセーバーとは(ふだんの意味とITの意味) |
| スクリーンセーバーとスリープの違い | スクリーンセーバーは本体が動いたまま絵を出す。スリープは本体ごと低電力で止まる | スクリーンセーバー・画面オフ・スリープ・ロックの違い |
| スクリーンセーバーは必要か | 焼き付き対策としての役目は小さい。離席時に画面を隠す目的なら、ロックと組み合わせて使う | スクリーンセーバーとロック |
| スクリーンセーバーで節電になるか | ならない。手元の実測で、動く絵の種類によっては CPU を約27%使った。節電は画面オフとスリープで行う | スクリーンセーバーは省電力になるか |
| スクリーンセーバーの設定(Windows) | 設定 → 個人用設定 → ロック画面 → 関連設定の「スクリーン セーバー」 | スクリーンセーバーの設定方法 |
| スクリーンセーバーの設定(Mac) | システム設定 → 壁紙で種類を選び、ロック画面で開始までの時間を選ぶ | スクリーンセーバーの設定方法 |
| スクリーンセーバーが勝手に始まる・始まらない | 待ち時間・管理者の設定・動画アプリの抑止・要求が届く仕組みの有無を順に見る | 勝手に始まる・始まらないときの症状表 |
| Web ページで画面を消さない方法 | navigator.wakeLock.request('screen')。ただし効くかどうかは OS 側の仕組みしだい |
Screen Wake Lock APIで画面を消さない |
確認環境:Ubuntu 24.04.5 LTS(カーネル 6.18)の上で、Ubuntu の xvfb パッケージ(X.Org 21.1.11)を Xvfb :219 -screen 0 1024x768x24 -nolisten tcp -noreset で起動し、その中だけで確かめました。xscreensaver 6.08・x11-xserver-utils(xset 1.2.5)・x11-utils・xdotool 3.20160805.1・libxft2・libxxf86dga1 は apt-get download で取得した .deb を作業用のフォルダーに展開して使い、ホストには入れていません。設定ファイルも作業用のフォルダーを HOME にして置き、ホストの画面・電源・X の設定は変えていません。スクリーンセーバーの状態は、X の MIT-SCREEN-SAVER 拡張を Python 3.13.18 の ctypes から読む小さなスクリプトで1秒ごとに記録し、画面の色は ImageMagick の import で撮った画像の平均色で確かめました。Screen Wake Lock API は、127.0.0.1 の 21900 番に Python の http.server で置いた自作のページを、Chromium 153.0.8010.12(Chrome for Testing)を playwright 1.63.0 から開いて確かめています。Windows と Mac の画面・項目名は、Microsoft サポート・Microsoft Learn・Apple サポートの公式の説明で確かめた範囲だけを書きました。外部のサービスには接続していません。図は mermaid-cli 11.16.0 で描画を確かめています(確認日 2026年10月29日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「スクリーンセーバーとは|スリープ・画面オフ・ロックとの違いを実測」
スクリーンセーバーとは(ふだんの意味とITの意味)
この節では、スクリーンセーバーという言葉の成り立ちと、パソコン以外の機器で使われるときとの違い、役割がどう変わってきたかが分かります。
スクリーンセーバー(screen saver)は、screen(画面)と saver(守るもの)を組み合わせた言葉で、直訳すると「画面を守るもの」です。パソコンでは、キーボードやマウスの操作がない時間が決めた分(待ち時間・タイムアウト)だけ続くと自動で始まり、画面全体を動く模様・写真・時計・黒い表示などに切り替えます。キーを押すかマウスを動かすと、元の画面に戻ります。Mac では「スクリーンセーバ」と表記します。
もとの目的は、ブラウン管(CRT)のモニターで同じ絵を長く表示し続けたときに起きる「焼き付き」を防ぐことでした。液晶が主流になると焼き付きの心配は小さくなり、役割は「離席中の画面を他人に見せない」ことへ移りました。Microsoft サポートの「Windows でスクリーン セーバーを構成する」でも、最新の LCD や LED のモニターは焼き付きの影響を受けにくい一方、OLED(有機EL)のディスプレイでは静止画を長く表示しないためにスクリーンセーバーが役に立つ、と説明されています。
| 場面 | スクリーンセーバーが指すもの | 例 | パソコンとの違い |
|---|---|---|---|
| ふだんの言葉(家電) | テレビ・ゲーム機・カーナビなどで、しばらく操作しないと出る待機画面 | ゲーム機の画面が暗くなる、店頭の見本機の映像 | ロックや本人確認と結びつかないことが多い |
| パソコン(Windows・Mac) | OS の機能。待ち時間のあとに絵や写真を表示する | 写真のスライドショー、3D テキスト | 戻るときにパスワードを求める設定と組み合わせる |
| Linux のデスクトップ | X サーバー内蔵の黒い画面、または xscreensaver などの常駐プログラム | xset s 600、xscreensaver の模様 |
どのプログラムが受け持つかが環境で違う |
| プログラミング・Web | スクリーンセーバーや画面オフを「止める」要求として出てくる | Screen Wake Lock API、動画再生中の抑止 | 作る側は止める方法を知っておく |
| 会社のパソコン管理 | 管理者が配る設定(グループ ポリシーなど)の項目 | 待ち時間とパスワード保護を一律に設定 | 利用者が変えられない場合がある |
昔のスクリーンセーバー
ブラウン管の焼き付きを防ぐのが主な目的
動く絵を出し続けること自体に意味があった
楽しむための壁紙ソフトとしても広まった
いまのスクリーンセーバー
離席中の画面を隠し、ロックへつなぐ役割が中心
黒い表示や画面オフで代わりになることも多い
OLED では静止画を避ける目的が残る
スクリーンセーバー・画面オフ・スリープ・ロックの違い
この節では、似た場面で出てくる4つの機能が、それぞれ何を止めて何を守るのかが分かります。
4つの違いは「何が動いたままか」と「戻るときに本人確認があるか」で見分けます。スクリーンセーバーは本体も画面も動いたまま、表示だけを切り替えます。画面オフは画面の電源(バックライト)だけを切り、本体は動いたままです。スリープは本体ごと低電力の状態にして、作業の状態を覚えたまま止めます。ロックは見た目の変化ではなく、元の画面に戻るときにパスワードや指紋を求める仕組みです。
| 機能 | 画面 | 本体(CPU・アプリ) | 電気の節約 | 戻り方 |
|---|---|---|---|---|
| スクリーンセーバー | 絵や黒い表示を出す(画面は点いている) | 動いたまま。絵を描くぶん CPU も使う | ほぼない | キーかマウスで即座に戻る |
| 画面オフ(ディスプレイの電源オフ) | 消える | 動いたまま。ダウンロードなどは続く | 画面のぶん減る | キーかマウスで数秒以内に戻る |
| スリープ | 消える | 止まる。作業の状態はメモリに残る | 大きく減る | 電源ボタンやキーで、作業の続きから戻る |
| 休止状態 | 消える | 止まる。作業の状態をストレージに書き出す | スリープよりさらに減る | スリープより時間がかかる |
| ロック | ロック画面に切り替わる | 動いたまま | それ自体はない | パスワード・PIN・指紋などで本人確認 |
スリープと休止状態の違いは、Microsoft サポートの「PC をシャットダウン、スリープ、休止状態にする」で、スリープは電力がほとんど使われず電源ボタンですぐ再開でき、休止はスリープより電力消費が少ない代わりに再開に時間がかかる、と説明されています。
1スクリーンセーバー
表示を切り替えるだけ。画面を隠せるが、ロックを組み合わせないと誰でも元の画面に戻せる。
2画面オフ
画面の電源だけを切る。Linux では DPMS という信号でモニターに指示する。
3スリープ
本体ごと低電力で止める。長いダウンロードや処理は止まるため、離席の長さで使い分ける。
4ロック
戻るときに本人確認を求める。スクリーンセーバー・画面オフ・スリープのどれとも組み合わせられる。
パスワードの決め方そのものは、関連記事「パスワードの新常識8選|定期変更不要・bcrypt・ソルト」で扱っています。
最初の5分:Linuxの仮想画面でスクリーンセーバーを動かす
この節では、手元のパソコンの設定を変えずに、スクリーンセーバーが「操作がない時間」を数えて始まる様子を確かめる最小の手順が分かります。
Linux では、Xvfb(画面を持たない仮想の X サーバー)を1つ起動すると、その中だけでスクリーンセーバーを試せます。ホストのデスクトップや電源設定には触れずに済むため、検証にも学習にも向いています。次の手順は、作業用のフォルダーに .deb を展開して使う形です。
道具を作業用のフォルダーに展開する
apt-get download で xscreensaver・x11-xserver-utils などの .deb を取り、dpkg-deb -x で展開する。システムには入れない。
仮想の画面を1つ起動する
Xvfb :219 -screen 0 1024x768x24 -nolisten tcp -noreset。-noreset を付けないと、設定が消えることがある(後述)。
待ち時間を5秒にする
xset s 5 0 で、X サーバー内蔵のスクリーンセーバーの待ち時間を5秒にする。
何もせずに状態を見る
1秒ごとに状態を記録し、5秒を過ぎたところで Off から On に変わるかを見る。
mkdir -p /dev/shm/t219/deb && cd /dev/shm/t219/deb
apt-get download xscreensaver xscreensaver-data x11-xserver-utils x11-utils xdotool libxdo3 libxft2 libxxf86dga1
mkdir -p ../root && for f in *.deb; do dpkg-deb -x "$f" ../root; done
Xvfb :219 -screen 0 1024x768x24 -nolisten tcp -noreset &
export DISPLAY=:219
export PATH=/dev/shm/t219/root/usr/bin:$PATH
export LD_LIBRARY_PATH=/dev/shm/t219/root/usr/lib/x86_64-linux-gnu
xset q | grep -A2 'Screen Saver'
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 600 cycle: 600
起動したばかりの X サーバーでは、スクリーンセーバーの待ち時間(timeout)が600秒、つまり10分になっていました。prefer blanking: yes は「絵を描くのではなく黒くする」という意味です。
X サーバー内蔵のスクリーンセーバーを xset で確かめる(実測)
この節では、Linux の X サーバーが持つ一番簡単なスクリーンセーバーが、何秒で始まり、何で止まるのかが実際の記録で分かります。
待ち時間を5秒にして何も触らずにいると、5.0秒の時点で状態が Off から On に変わりました。状態は、X の MIT-SCREEN-SAVER 拡張に問い合わせて読んでいます(XScreenSaverQueryInfo)。idle は最後の操作からの経過時間、til_or_since は「始まるまでの残り」または「始まってからの時間」です。
xset s 5 0
python3 xss.py 8 1 # 1秒ごとに8回、状態を記録する自作スクリプト
t= 0.0s state=Off kind=Blanked til_or_since=4449ms idle=551ms
t= 1.0s state=Off kind=Blanked til_or_since=3449ms idle=1551ms
t= 2.0s state=Off kind=Blanked til_or_since=2431ms idle=2569ms
t= 3.0s state=Off kind=Blanked til_or_since=1430ms idle=3570ms
t= 4.0s state=Off kind=Blanked til_or_since=429ms idle=4571ms
t= 5.0s state=On kind=Blanked til_or_since=578ms idle=5578ms
t= 6.0s state=On kind=Blanked til_or_since=1580ms idle=6580ms
t= 7.0s state=On kind=Blanked til_or_since=2580ms idle=7580ms
続けて、xset のほかの指定と、マウスを動かしたときの変化を確かめました。マウスの動きは xdotool で仮想の画面に送っています。
| 操作 | 直後の状態 | idle | 意味 |
|---|---|---|---|
| 何もせず6秒待つ | On(Blanked) | 6252ms | 待ち時間5秒を過ぎて始まった |
xdotool mousemove 20 20 |
Off | 18ms | マウスの動きで止まり、数え直しになった |
xset s activate |
On(Blanked) | 139ms | 待ち時間に関係なく今すぐ始める |
xset s reset |
Off | 19ms | 操作があったのと同じ扱いで止める |
xset s noblank の後に activate |
On(Internal) | 139ms | 黒ではなく模様で隠す方式に変わった |
xset s off の後に6秒待つ |
Disabled | 6050ms | 待ち時間0になり、始まらなくなった |
ここで1つ、つまずきがありました。最初は -noreset を付けずに Xvfb を起動していたため、xset s 5 を実行しても xset q の表示は timeout: 600 のままでした。エラーも出ず、終了コードも0です。X サーバーは、つないでいるプログラムが1つもなくなると設定を初期状態に戻す(リセットする)ためで、xset が終わった瞬間に設定が消えていました。同じ接続の中で設定と読み出しを続けて行うと [5, 0, 1, 1](5秒・周期0)と読めたこと、-noreset を付けて起動し直すと設定が残ったことで確かめています。ふつうのデスクトップでは常にウィンドウマネージャーなどがつながっているため起きにくいものの、xset の設定はその X サーバーが動いている間だけ有効で、再起動やログインし直しで元に戻る点は同じです。
$ xset s 5; echo rc=$?; xset q | grep -A2 'Screen Saver'
rc=0
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 600 cycle: 600
もう1つ、Xvfb には実物のモニターがないため、X 内蔵のスクリーンセーバーが On になっても、撮った画像は背景の青(RGB 51,102,204)のままでした。この記事で X 内蔵の動きを「状態」で示しているのはそのためです。黒い画面そのものは、次の xscreensaver で画像に写りました。
xscreensaver でスクリーンセーバーを確かめる(起動時間・黒い画面・root)
この節では、Linux で広く使われてきたスクリーンセーバーのプログラム xscreensaver が、どう設定され、何秒で始まり、どんな条件で模様を出さないのかが分かります。
xscreensaver は、ホームフォルダーの .xscreensaver に書いた待ち時間(timeout)で動く常駐プログラムです。待ち時間を1分にして起動し、最後にマウスを動かしてから何もせずにいると、ちょうど60秒後に画面が暗くなりました。xscreensaver-command -watch が、始まった時刻と止まった時刻を1行ずつ出してくれます。
timeout: 0:01:00
cycle: 0:10:00
lock: False
fade: False
unfade: False
dpmsEnabled: False
mode: one
selected: 0
programs: popsquares -root \n\
abstractile -root \n
$ date +%T; xdotool mousemove 300 300
10:08:21
$ xscreensaver-command -watch (日付の部分は省略)
BLANK ... 10:09:21
$ grep -E 'DEACTIVATE|blanking' xss.log
xscreensaver: 10:08:21: ClientMessage DEACTIVATE: deactivating (from pid 3769)
xscreensaver: 10:09:21: blanking
xscreensaver-gfx: 10:09:21: blanking
xscreensaver が動いている間、X サーバー内蔵のスクリーンセーバーの状態は Disabled になっていました。xscreensaver は内蔵の仕組みを止めて、自分で操作の有無を数えます。X 内蔵と xscreensaver は二重には動かず、どちらか一方が受け持つと覚えておくと、設定がどこに効いているかで迷いにくくなります。
最初は root(管理者)のまま xscreensaver を起動したところ、xscreensaver-command -activate で画面は黒くなったものの、模様は出ず、ロックもできませんでした。ログには理由がそのまま書かれています。
xscreensaver: 10:07:02: locking disabled: cannot lock when running as root
xscreensaver-gfx: 10:07:27: 0: running as root: not launching hacks.
xscreensaver-command: locking disabled
xscreensaver のマニュアル(man xscreensaver)にも「root でログインしている場合、画面をロックせず、模様(ディスプレイモード)も動かさない」と書かれています。このとき撮った画像の平均色は RGB でおよそ(3, 0, 0)の、ほぼ黒でした。一般ユーザー(この検証では nobody)で起動し直すと、xscreensaver-command -select 1 で popsquares の模様が画面いっぱいに出ました。
なお、ロックの確認には xscreensaver-auth という補助プログラムが使われます。この検証環境では、一般ユーザーで起動したときにも補助プログラムが libXft.so.2: cannot open shared object file で起動できず、パスワード画面までは確かめていません。ふつうに apt でインストールした環境では依存ライブラリが一緒に入るため、この形では起きません。
スクリーンセーバーは省電力になるか(CPU使用率の実測)
この節では、スクリーンセーバーを動かしている間にパソコンがどれだけ働いているかと、電気を節約したいときに何を設定すべきかが分かります。
スクリーンセーバーは電気の節約にはなりません。動く絵を描くために CPU が働き続けるからです。xscreensaver に入っている模様を1つずつ仮想の画面に表示し、8秒間の CPU 使用率(1コアを100%とした値)と使ったメモリを測りました。
| 表示したもの | CPU 使用率(8秒平均) | メモリ(RSS) | 見た目 |
|---|---|---|---|
| 黒い画面(X 内蔵・模様なし) | 絵を描くプログラムなし | — | 黒一色 |
| popsquares | 0.5% | 4MB | 色の四角が少しずつ変わる |
| abstractile | 0.6% | 6MB | タイル模様が組み上がる |
| swirl | 1.4% | 8MB | 渦巻き |
| galaxy | 2.6% | 5MB | 回転する星の群れ |
| ripples | 3.4% | 16MB | 水の波紋 |
| metaballs | 26.9% | 8MB | 溶け合う球 |
同じ「スクリーンセーバー」でも、模様によって CPU 使用率に50倍以上の差がありました。この検証環境は GPU のない仮想の画面なので、実物のパソコンでは GPU が描画を受け持ち、数字は変わります。それでも、絵を描き続ける限り、画面もパソコンも点いたままという点は同じです。
Microsoft もこの点をはっきり書いています。Microsoft サポートの「エネルギーに関する推奨事項の詳細」では「スクリーン セーバーをオフにする」が推奨事項の1つに挙がり、画面は3分(システムによっては10分)でオフ、デバイスも3分(同10分)でスリープにすることが勧められています。「Windows でスクリーン セーバーを構成する」でも、アイドル時はスリープの方がスクリーン セーバーより消費電力が大幅に少ない、と説明されています。
節電したいとき
動く絵は CPU と画面の電気を使い続ける
離席中の画面を守りたいとき
ロックがなければ、キー1つで誰でも元の画面に戻せる
画面オフ(DPMS)とスリープの仕組み
この節では、スクリーンセーバーのあとに来る「画面オフ」と「スリープ」が、内部でどう指示されているかと、仮想の画面で確かめられなかったことが分かります。
Linux の X では、画面オフは DPMS(Display Power Management Signaling)という仕組みでモニターに指示します。DPMS には、待機(standby)・一時停止(suspend)・電源オフ(off)の3段階があり、xset では xset dpms 600 900 1200 のように秒数で指定し、xset dpms force off で今すぐ画面を消せます。xscreensaver にも dpmsStandby・dpmsSuspend・dpmsOff の設定があり、マニュアルには「X サーバーと画面のハードウェアの両方が対応していなければ効かない」とあります。
この検証の Xvfb は DPMS に対応しておらず、起動時に +extension DPMS を付けても有効になりませんでした。そのため、DPMS の動作そのものは xset と xscreensaver のマニュアルで確かめた範囲で書いています。実際に出たメッセージは次のとおりです。
$ xset q | tail -2
DPMS (Display Power Management Signaling):
Server does not have the DPMS Extension
$ xset dpms 60 120 180
server does not have extension for dpms option
xset: unknown option 60
$ xset +dpms
server does not have extension for +dpms option
xscreensaver-gfx: 10:07:27: XDPMS extension not supported
リモートデスクトップや仮想マシン、検証用の仮想の画面では、このように画面オフの指示先がないことがあります。「画面オフの時間を設定したのに消えない」ときは、まず xset q の DPMS の行で、そもそも対応しているかを見ます。また xscreensaver のマニュアルには、xscreensaver を使っている間は xset で電源管理の設定を手で変えても効かない、とも書かれています。設定は xscreensaver 側で行います。
スリープは、画面だけでなく本体を止める指示で、OS の電源管理(Windows の電源設定、Mac のエネルギー設定、Linux の systemd など)が受け持ちます。Windows 11 の既定値は、Microsoft サポートの「Windows 11 の電源設定」で、アイドル時の消費電力を減らすために次のように下げられたと説明されています。
| 項目(モダン スタンバイ対応機) | 元の値 | 調整後 |
|---|---|---|
| バッテリー駆動時の画面オフ | 4分 | 3分 |
| 電源接続時の画面オフ | 10分 | 5分 |
| バッテリー駆動時のスリープ | 4分 | 3分 |
| 電源接続時のスリープ | 10分 | 5分 |
同じページでは、S3 対応機(従来型のスリープの機種)の電源接続時のスリープが30分から15分に下げられたことなども示されています。
スクリーンセーバーとロック:離席中の画面を守るには
この節では、スクリーンセーバーをセキュリティのために使うときに、何を組み合わせればよいかが分かります。
スクリーンセーバーは「隠す」機能で、「守る」のはロックです。戻るときにパスワードを求める設定がなければ、離席中に誰かがマウスを動かすだけで元の画面に戻ります。Windows では「再開時にログオン画面を表示する」、Mac では「スクリーンセーバの開始後またはディスプレイがオフになったあとにパスワードを要求」をオンにして、スクリーンセーバーとロックをつなげます。
一方で、スクリーンセーバーの待ち時間は「離席に気づかなかったとき」の保険です。席を立つと分かっているときは、待たずに自分でロックします。公式のショートカットは次のとおりです。
| OS | すぐにロックする操作 | 出典での説明 |
|---|---|---|
| Windows | Windows ロゴ キー+L | 「コンピューターをロックします。」(Microsoft サポート「Windows のキーボード ショートカット」) |
| Mac | control+command+Q | 「画面をロックします。」(Apple サポート「Macのキーボードショートカット」) |
| Mac(Touch ID のない内蔵キーボード) | control+shift+電源ボタン | ディスプレイをスリープ状態にする(同上) |
| Mac | アップルメニュー →「画面をロック」 | スクリーンセーバをすぐ開始する方法の1つ(Apple サポート「Macでスクリーンセーバを使用する」) |
| Linux(xscreensaver) | xscreensaver-command -lock |
root では locking disabled になった(この記事の実測) |
会社のパソコンでは、管理者がグループ ポリシーで設定を配っていることがあります。Microsoft Learn の「ADMX_ControlPanelDisplay ポリシー CSP」には、「スクリーン セーバーを有効にする」「スクリーン セーバーをパスワードで保護する」「スクリーン セーバーのタイムアウト」の3つのポリシーがあり、タイムアウトは1秒から86,400秒(24時間)まで、0にするとスクリーンセーバーは始まらない、と書かれています。ポリシーで配られた項目は、利用者の画面では変えられません。
もう1つの注意は、Windows のスクリーンセーバーのファイル(拡張子 .scr)です。Microsoft Learn の「Handling Screen Savers」には、スクリーンセーバーは標準の Windows 実行ファイルで、拡張子を .scr にするとコントロール パネルから選べるようになる、と書かれています。.scr はプログラムそのものなので、出どころの分からない .scr ファイルをメールやダウンロードで受け取っても開かないようにします。
スクリーンセーバーの設定方法(Windows・Mac・Linux)
この節では、スクリーンセーバーの種類・開始までの時間・ロックの設定を、OS ごとにどこで変えるかが分かります。Windows と Mac は公式の説明で確かめた範囲です。
Windows 11・Windows 10(Microsoft サポート「Windows でスクリーン セーバーを構成する」)
- 設定アプリを開き、「個人用設定」→「ロック画面」を選ぶ。
- 「関連設定」の「スクリーン セーバー」を選ぶ。「スクリーン セーバーの設定」の画面が開く。
- 一覧からスクリーン セーバーを選ぶ。「設定...」で、3D テキストの文字や写真のフォルダーなど、種類ごとの細かい設定を変えられる。
- 「待機」で、何分操作がなければ始めるかを決める。
- 戻るときにサインインを求めるなら「再開時にログオン画面を表示する」をオンにする。
画面オフとスリープの時間は別の場所です。「スタート」→「設定」→「システム」→「電源とバッテリー」(表示が「バッテリー & 電源」の場合もある)→「画面、スリープ、& 休止状態のタイムアウト」で、「次の後で画面をオフにする」と「次の後にデバイスをスリープ状態にする」を、電源接続時とバッテリー駆動時に分けて選びます(Microsoft サポート「Windows 11 の電源設定」)。
Mac(Apple サポート「Macでスクリーンセーバを使用する」「Macの「ロック画面」設定を変更する」)
- 「システム設定」を開き、サイドバーの「壁紙」を選ぶ。
- 「スクリーンセーバ」から、使うスクリーンセーバを選ぶ。選んだものによって設定できる項目が変わる。
- 開始までの時間と、ディスプレイをオフにするまでの時間は、アップルメニュー →「システム設定」→ サイドバーの「ロック画面」で選ぶ。バッテリー駆動時と電源アダプタ接続時で別に設定する。
- 同じ「ロック画面」で「スクリーンセーバの開始後またはディスプレイがオフになったあとにパスワードを要求」を設定する。
Apple のページは macOS の版ごとに用意されていて、項目名が版によって違うことがあります。手元の macOS の版を選んで読みます。
Linux(X11 のデスクトップ)
X サーバー内蔵のものは xset s 秒数、止めるときは xset s off です。この設定は X サーバーを再起動すると消えるため、残したいときはデスクトップの設定画面か、ログイン時に実行されるファイルに書きます。xscreensaver を使う場合は xscreensaver-settings(以前の版では xscreensaver-demo)の画面か ~/.xscreensaver で設定します。GNOME や KDE などのデスクトップ環境は、それぞれの設定画面に画面オフやロックの項目を持っていて、受け持つプログラムが環境ごとに違います。
種類と見た目
Windows はスクリーン セーバーの設定、Mac は壁紙、Linux は xscreensaver の設定画面。
隠せれば黒い表示でもよい
始まるまでの時間
Windows は「待機」、Mac はロック画面、Linux は timeout。
会社の決まりがあれば従う
戻るときの本人確認
Windows は「再開時にログオン画面を表示する」、Mac は「パスワードを要求」。
これがないと守れない
画面オフとスリープ
Windows は電源とバッテリー、Mac はロック画面、Linux は DPMS と OS の電源管理。
節電はこちらで行う
Windows の便利ツール集 PowerToys には、電源の設定を変えずにスリープさせない「Awake」があります。関連記事「PowerToysとは|使い方・全ツール一覧とショートカット早見表」で扱っています。
Screen Wake Lock APIで画面を消さない(Chromiumで実測)
この節では、Web ページの側から「画面を消さないで」と頼む方法と、その頼みがスクリーンセーバーに届く環境・届かない環境が、実際の記録で分かります。
Screen Wake Lock API は、レシピの表示や発表資料など、操作しなくても画面を見続けるページのために、画面が暗くなったりロックされたりするのを防ぐ Web の仕組みです。MDN では「Baseline 2025」とされ、2025年3月以降は主要なブラウザーの最新版で使えます。HTTPS か localhost などの安全なコンテキストでだけ使えます。最小のコードは次のとおりです。
let lock = null;
async function keepScreenOn() {
try {
lock = await navigator.wakeLock.request('screen');
lock.addEventListener('release', () => console.log('解放された'));
} catch (e) {
console.log(e.name + ': ' + e.message); // 断られたときの理由
}
}
// タブを切り替えると自動で解放されるため、戻ってきたら取り直す
document.addEventListener('visibilitychange', () => {
if (lock !== null && document.visibilityState === 'visible') keepScreenOn();
});
このコードを置いたページを 127.0.0.1 で開き、まず画面を持たないヘッドレスの Chromium で要求を出すと、断られました。
browser 153.0.8010.12
console: isSecureContext=true
console: NotAllowedError: Wake Lock permission request denied
次に、Xvfb の画面に表示する通常の Chromium で同じ要求を出すと、今度は取得できました(取得: released=false type=screen)。そこで、X 内蔵のスクリーンセーバーを5秒に設定した状態で、マウスを動かした直後から12秒間、要求を出したときと出さないときで状態を比べました。
=== 要求なし
0.0s state=Off kind=Blanked til_or_since=4069ms idle=931ms
4.1s state=Off kind=Blanked til_or_since=19ms idle=4981ms
6.1s state=On kind=Blanked til_or_since=2018ms idle=7018ms
10.2s state=On kind=Blanked til_or_since=6073ms idle=11073ms
=== 要求あり(navigator.wakeLock.request('screen') が ok)
0.0s state=Off kind=Blanked til_or_since=3855ms idle=1145ms
4.1s state=Off kind=Blanked til_or_since=0ms idle=5198ms
6.1s state=Off kind=Blanked til_or_since=0ms idle=7225ms
10.2s state=Off kind=Blanked til_or_since=0ms idle=11282ms
console: 解放イベント: released=true
要求ありでは、操作のない時間(idle)が11秒を超えても Off のままで、残り時間が0のまま止まっていました。Chromium が X サーバーにスクリーンセーバーの一時停止を頼んでいたためです。release() を呼ぶと解放イベントが届きました。
ところが、xscreensaver(待ち時間1分)を動かした状態で同じ要求を72秒間出し続けると、要求は ok と返ったのに、xscreensaver は約60秒で画面を暗くしました。
request -> ok
0.0s state=Disabled kind=Internal til_or_since=0ms idle=1002ms
48.2s state=Disabled kind=Internal til_or_since=0ms idle=49146ms
60.2s state=Disabled kind=Internal til_or_since=0ms idle=61181ms
rel -> released=true
xscreensaver-systemd: 10:12:01: system bus connection failed: No such file or directory
xscreensaver: 10:13:01: blanking
xscreensaver は X 内蔵の仕組みを止めて自分で数えているため(状態が Disabled)、X への一時停止の頼みは届きません。xscreensaver は、動画アプリなどからの「止めて」を D-Bus の org.freedesktop.ScreenSaver で受け取る xscreensaver-systemd という補助プログラムで対応していますが(man xscreensaver-systemd)、この検証環境には D-Bus のシステムバスがなく、補助プログラムが起動できませんでした。W3C の仕様(Screen Wake Lock API)にも、ロックの取得は「助言」にとどまり、OS 側で失敗してもページからは成功に見えることがある、と書かれています。
ヘッドレスでは断られる
NotAllowedError: Wake Lock permission request denied が返った。
自動テストでは画面ありで試す
X 内蔵には効いた
5秒の待ち時間を過ぎても Off のまま。残り時間が0で止まった。
要求を出さないと6.1秒で On
xscreensaver には届かず
要求は ok なのに約60秒で暗くなった。D-Bus のシステムバスがなかった。
ok は「効いた」の保証ではない
なお、タブを切り替えたときに自動で解放される動きは、Playwright が開いたページを常に「表示中」として扱うため、この環境では再現できませんでした。仕様と MDN では、文書が非表示(hidden)になるとロックは解放され、非表示のまま要求すると NotAllowedError になると定められています。上のコードで visibilitychange のたびに取り直しているのはそのためです。自動操作の Chromium の扱い方は、関連記事「Playwright入門|E2Eテストの書き方とCI実行まで実行結果つきで解説」で扱っています。
スクリーンセーバーが勝手に始まる・始まらないときの症状表
この節では、スクリーンセーバーが思った通りに動かないときに、どこから見ればよいかが症状ごとに分かります。
スクリーンセーバーの困りごとは、ほとんどが「待ち時間」「誰が受け持っているか」「止める要求が出ているか」のどれかです。手元で再現できたものは実測の結果を、Windows・Mac に固有のものは公式の説明を根拠にしています。
| 症状 | 考えられる原因 | 確かめ方・直し方 |
|---|---|---|
| すぐに始まってしまう | 待ち時間が短い(xset では1秒単位で設定できる) | Windows は「待機」、Mac はロック画面、Linux は xset q の timeout を見る |
| 設定を変えても会社のパソコンで戻る | グループ ポリシーなど管理者の設定 | ポリシーの項目は利用者側で変えられない。情報システムの担当者に確かめる |
| Linux で xset の設定が消える | X サーバーのリセット・再起動で初期値に戻った | 手元では -noreset なしの Xvfb で timeout が600に戻った。ログイン時に実行する設定に書く |
| 動画を見ていないのに始まらない | ほかのアプリが画面を消さない要求を出している | Windows は powercfg /requests で、画面やスリープを止めている要求を一覧できる |
| 動画やプレゼン中なのに始まる | 止める要求が届く仕組みがない、またはアプリが要求を出していない | 手元では xscreensaver が D-Bus なしで要求を受け取れず、約60秒で暗くなった |
| Linux で模様が出ず、ロックもできない | root で xscreensaver を動かしている | ログに running as root: not launching hacks.。一般ユーザーで動かす |
| 画面オフの時間を設定したのに消えない | X サーバーやモニターが DPMS に対応していない | xset q に Server does not have the DPMS Extension と出たら、画面オフは働かない |
| スクリーンセーバーから戻るときにパスワードを聞かれない | ロックの設定がオフ | Windows は「再開時にログオン画面を表示する」、Mac は「パスワードを要求」をオンにする |
powercfg /requests は、Microsoft Learn の「Powercfg のコマンドライン オプション」で「アプリケーションとドライバーの電源要求を列挙します」と説明されているコマンドで、要求がディスプレイの電源オフやスリープを妨げていることを調べられます。どのアプリが原因かが分かったら、そのアプリを終了してから様子を見ます。アプリが固まって閉じられないときの操作は、関連記事「タスクマネージャーの開き方|ショートカット7つと使い方・開かない時の対処」で扱っています。
- 1待ち時間を確かめる0 や「なし」になっていないか、短すぎないか
- 2誰が受け持っているかを確かめるOS の設定・会社のポリシー・xscreensaver・X 内蔵のどれか
- 3止める要求が出ていないかを確かめる動画アプリ・ブラウザーのタブ・会議アプリ・PowerToys Awake
- 4要求が届く仕組みがあるかを確かめるLinux では D-Bus と xscreensaver-systemd の有無
よくあるエラーとつまずき(原文つき)
この節では、この記事の検証で実際に出たメッセージと、その意味・直し方が分かります。
| 出たメッセージ・様子 | 場面 | 意味と直し方 |
|---|---|---|
locking disabled: cannot lock when running as root |
root で xscreensaver を起動 | root ではロックしない仕様。一般ユーザーで起動する |
running as root: not launching hacks. |
root で activate | 模様を出さず黒いだけになる。同上 |
Server does not have the DPMS Extension |
xset q(Xvfb) |
画面オフの仕組みがない。実機の X サーバーで確かめる |
server does not have extension for dpms option |
xset dpms 60 120 180 |
同上。続く unknown option 60 は、dpms が使えず数字が別の指定と読まれたため |
XDPMS extension not supported |
xscreensaver のログ | xscreensaver の画面オフ設定が効かない。DPMS 対応の環境で使う |
system bus connection failed: No such file or directory |
xscreensaver-systemd | D-Bus がなく、動画アプリなどの「止めて」を受け取れない |
NotAllowedError: Wake Lock permission request denied |
ヘッドレスの Chromium | 画面のない環境では断られた。画面ありで試す |
libXft.so.2: cannot open shared object file |
.deb を展開しただけの xscreensaver | 依存ライブラリ不足。libxft2 も展開するか、apt で入れる |
| エラーなしで timeout が600に戻る | -noreset なしの Xvfb で xset s 5 |
最後の接続が切れて X がリセットされた。-noreset で起動する |
- 1設定を変えたら、その場で読み直して確かめるxset は変えた後に xset q。終了コード0でも効いていないことがある
- 2root ではなく一般ユーザーで動かすxscreensaver は root ではロックも模様も動かない
- 3画面オフは対応の有無から見るDPMS の行に「対応していない」と出たら設定しても消えない
- 4Wake Lock の ok を過信しない実際に画面が消えないかを待って確かめる
判断表:スクリーンセーバー・画面オフ・スリープ・ロックをどう組み合わせるか
この節では、場面ごとにどの機能を何分くらいに設定するかの目安が分かります。
基本は「離席時はすぐロック、保険にスクリーンセーバーか画面オフ、節電はスリープ」です。待ち時間に全員共通の正解はなく、会社の決まりがあればそれに従います。次の表は、公式の推奨値と手元の実測をもとにした目安です。
| 場面 | スクリーンセーバー | 画面オフ・スリープ | ロック |
|---|---|---|---|
| 会社の自席 | 会社の決まりの時間で開始(黒い表示でよい) | Windows の推奨は画面オフ3〜10分・スリープ3〜10分 | 離席時は Windows+L、戻るときのパスワード必須 |
| カフェや移動中のノートパソコン | 短め。画面オフで代わりにしてもよい | バッテリー駆動時は短く(Windows の既定は3分) | 必ずオン。席を立つ前に自分でロック |
| 自宅で1人 | 好みで。節電を優先するならオフ | スリープを短めに | 家族やペットの誤操作が気になるならオン |
| 長いダウンロード・ビルド中 | 使ってよい(本体は動き続ける) | スリープは止める(処理が止まるため)。画面オフはよい | オン(処理はロック中も続く) |
| OLED(有機EL)の画面 | 静止画を長く出さない目的で使う | 画面オフを短めに | ほかの場面と同じ |
| 受付やサイネージなど常に表示する画面 | オフ | 画面オフ・スリープともオフ。Web なら Wake Lock | 操作させない設定(キオスクなど)を別に考える |
| レシピ・譜面・発表資料の Web ページ | — | ページから Wake Lock を要求し、使い終わったら release | OS の設定に従う |
よくある質問
Q. スクリーンセーバーとスリープの違いを一言で言うと? A. スクリーンセーバーは本体が動いたまま表示だけを切り替えるもので、スリープは本体ごと低電力で止めるものです。スクリーンセーバー中もダウンロードや処理は進みますが、電気はほとんど節約されません。
Q. スクリーンセーバーは今も必要ですか? A. 液晶の焼き付き対策としては、ほとんど要りません。離席中の画面を隠す保険としては役に立ちますが、その場合は戻るときのパスワードと組み合わせます。OLED の画面では、静止画を長く表示しない目的で使う意味があります。
Q. スクリーンセーバーは何分に設定すればよいですか? A. 全員共通の決まりはありません。会社の規程があればそれに従います。決まりがなければ、席を立つときは自分でロックすることを前提に、スクリーンセーバーや画面オフは数分〜十数分の範囲で、仕事の妨げにならない長さを選びます。Windows の省エネの推奨は、画面オフ3分(システムによっては10分)です。
Q. スクリーンセーバーとロック画面は同じですか? A. 別のものです。スクリーンセーバーは表示を切り替えるだけで、ロック画面は戻るときに本人確認を求める画面です。Windows では「再開時にログオン画面を表示する」をオンにすると、スクリーンセーバーから戻るときにロック画面を通るようになります。
Q. スクリーンセーバーを止めたい(出ないようにしたい)ときは?
A. Windows は「スクリーン セーバーの設定」の画面で変えます。Linux の X 内蔵は xset s off で、手元では状態が Disabled になり、6秒待っても始まりませんでした。会社のパソコンでポリシーが配られている場合は、利用者側では変えられません。
Q. 動画を見ているとスクリーンセーバーが出ないのはなぜですか? A. 動画アプリやブラウザーが、OS に「画面を消さないで」という要求を出しているためです。Linux の xscreensaver では、この要求を D-Bus で受け取る xscreensaver-systemd が受け持ち、マニュアルには Chrome が音声だけの再生でも同じ要求を出すことなども書かれています。
Q. Web ページから画面を消さないようにできますか?
A. Screen Wake Lock API の navigator.wakeLock.request('screen') で頼めます。HTTPS か localhost で動くページに限られ、タブを切り替えると解放されます。手元では X 内蔵のスクリーンセーバーには効き、D-Bus のない環境の xscreensaver には効きませんでした。
Q. スクリーンセーバーの .scr ファイルを開いても安全ですか? A. .scr は Windows の実行ファイルと同じ形式のプログラムです。出どころの確かなもの以外は開かないようにします。とくにメールの添付やよく知らないサイトからのダウンロードで届いた .scr は開かずに削除します。
Q. Linux で xset s を設定したのに効きません。
A. 3つの可能性があります。xscreensaver などが X 内蔵の仕組みを止めている(状態が Disabled)、X サーバーがリセットや再起動で初期値に戻った、デスクトップ環境の設定が上書きしている、のどれかです。まず xset q で timeout が変わっているかを確かめます。
Q. Mac でスクリーンセーバをすぐ始めるには? A. Apple サポートによると、ホットコーナーを設定している場合は、そのコーナーにポインタを動かすとすぐに始まります。アップルメニューの「画面をロック」でも始められます。ロックだけなら control+command+Q です。
まとめ
- スクリーンセーバーは、操作しない時間が続くと画面を絵や黒い表示に切り替える機能。画面オフ(画面の電源を切る)・スリープ(本体を低電力で止める)・ロック(戻るときに本人確認)とは別で、組み合わせて使う。
- Xvfb の中で X 内蔵のスクリーンセーバーは設定どおり5.0秒、xscreensaver は60秒で始まった。X 内蔵の設定は X のリセットで600秒に戻り、xscreensaver を root で動かすとロックも模様も無効になった。
- スクリーンセーバーは節電にならない。模様によって CPU 使用率は0.5%〜26.9%と差があり、Microsoft もスクリーン セーバーをオフにし、画面オフとスリープを短くすることを勧めている。
- 離席中の画面を守るのはロック。Windows は「再開時にログオン画面を表示する」と Windows+L、Mac は「パスワードを要求」と control+command+Q を使う。
- Web の Screen Wake Lock API は、Chromium で X 内蔵のスクリーンセーバーを止めたが、D-Bus のない環境の xscreensaver は止められず、要求は ok と返った。効くかどうかは実際に待って確かめる。
参考・出典
確認日はいずれも 2026年10月29日です。
- Microsoft サポート「Windows でスクリーン セーバーを構成する」:https://support.microsoft.com/ja-jp/windows/windows-でスクリーン-セーバーを構成する-a9dc2a0c-dc8e-9161-d270-aaccc252082a
- Microsoft サポート「Windows 11 の電源設定」:https://support.microsoft.com/ja-jp/windows/windows-11の電源設定-0d6a2b6b-2e87-4611-9980-ac9ea2175734
- Microsoft サポート「エネルギーに関する推奨事項の詳細」:https://support.microsoft.com/ja-jp/windows/experience/power-battery/learn-more-about-energy-recommendations
- Microsoft サポート「PC をシャットダウン、スリープ、休止状態にする」:https://support.microsoft.com/ja-jp/windows/experience/power-battery/shut-down-sleep-or-hibernate-your-pc
- Microsoft サポート「Windows のキーボード ショートカット」:https://support.microsoft.com/ja-jp/windows/windows-のキーボード-ショートカット-dcc61a57-8ff0-cffe-9796-cb9706c75eec
- Microsoft Learn「ADMX_ControlPanelDisplay ポリシー CSP」:https://learn.microsoft.com/ja-jp/windows/client-management/mdm/policy-csp-admx-controlpaneldisplay
- Microsoft Learn「Powercfg のコマンドライン オプション」:https://learn.microsoft.com/ja-jp/windows-hardware/design/device-experiences/powercfg-command-line-options
- Microsoft Learn「Handling Screen Savers」:https://learn.microsoft.com/en-us/windows/win32/lwef/screen-saver-library
- Apple サポート「Macでスクリーンセーバを使用する」:https://support.apple.com/ja-jp/guide/mac-help/mchl4b68853d/mac
- Apple サポート「Macの「ロック画面」設定を変更する」:https://support.apple.com/ja-jp/guide/mac-help/change-security-privacy-general-preferences-mh11784/mac
- Apple サポート「Macのキーボードショートカット」:https://support.apple.com/ja-jp/102650
- MDN「画面起動ロック API」(Screen Wake Lock API):https://developer.mozilla.org/ja/docs/Web/API/Screen_Wake_Lock_API
- W3C「Screen Wake Lock API」:https://w3c.github.io/screen-wake-lock/
- xscreensaver 6.08 のマニュアル(xscreensaver(1)・xscreensaver-systemd(1)。Ubuntu 24.04 の xscreensaver パッケージに同梱)
- xset 1.2.5 のマニュアル(xset(1)。Ubuntu 24.04 の x11-xserver-utils パッケージに同梱)
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「スクリーンセーバーとは|スリープ・画面オフ・ロックとの違いを実測」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。