ワイヴァンアイエス研究所ブログ

ストレージシステムやITの技術動向やテクノロジーなどを紹介。その他、趣味的な話題もあります
ワイヴァンアイエス研究所ブログ TOP  >  linux >  Ubuntu Server 20.04(CUI環境)のコンソール画面を一定時間後に消灯するメモ

Ubuntu Server 20.04(CUI環境)のコンソール画面を一定時間後に消灯するメモ

前に書いた記事「CentOS 8 (CUI環境)の画面を一定時間後に消灯するメモ」と同じ考え方で処理したメモになります。


旧型ラップトップコンピューター(いわゆるノートPC)Panasonic Let's Note CF-N8に、

Ubuntu Server 20.04.1 LTS をインストールしました。PCの液晶画面が、いつまでも点灯したままになるため、液晶スクリーンに焼き付きが懸念されます。そこで、コンソールを一定時間操作しないときに、スクリーンを消灯させるときに行った方法です。


画面が消灯するまでの時間(秒単位)を記述しているのは、以下のファイルです。


/sys/module/kernel/parameters/consoleblank


この内容は、「0」となっています(単純に cat コマンドで読めます)。「0」は disable blanking を意味し、消灯しない設定になっています。この箇所を書き換えれば、目的の時間経過後にコンソールを消灯できます。


consoleblank 内の値を書き換えるのは、「setterm」コマンドになります。(以下、コマンドの説明の行頭「#」は、rootのプロンプトでの操作を意味します。「sudo」などでの操作です)。setterm コマンドに –blank オプションを使って消灯までの時間を分単位で指定します。例えば、以下の


# setterm –blank 2


を実行すると、/sys/module/kernel/parameters/consoleblank の値は「120」(2分=120秒)になります。そうすると、コンソール操作を行わないと2分後に画面が消灯します。ただし、この値はシステムを再起動すると「0」にリセットされてしまいます。


毎回起動した後、コンソール操作が何もないときに1分後に画面を消灯させるためのサービスを定義して実行させる方法は以下になります。


1. ノートPCの画面(CUI環境)で端末名を調べる

コンソール上で端末名を調べる(以下のコマンド)

# tty


ここでの例では、「/dev/tty1」。


2. 起動スクリプトを作成

myconsoleblank.sh という名前で /usr/local/bin/ に作成。その内容は以下。(1分に設定する例。適宜、ご希望の「分」数を使う)


#!/bin/bash

#Called from /etc/systemd/system/my-console-blank-enable.service

#Turn the console terminal Off 1 minutes later

/bin/setterm -blank 1 > /dev/tty1


3. スクリプトに実行権限を付与

# chmod 755 /usr/local/bin/myconsoleblank.sh


4. サービス定義を登録

/etc/systemd/system/ に、my-console-blank-enable.service の名前で作成(Descriptionの行の内容は適当に書いています。改行なしの一行です)。


[Unit]

Description = Turn the console terminal Off after a time defined by /usr/local/bin/myconsoleblank.sh


[Service]

Type = simple

User = root

RemainAfterExit = yes

EnvironmentFile = -/etc/myrootenv

ExecStart = /usr/local/bin/myconsoleblank.sh

Restart = always


[Install]

WantedBy = multi-user.target


5. EnvironmentFile を作成

スクリプト実行時の環境変数を myrootenv の中で設定、場所は /etc ディレクトリ。


HOME = /root

TERM = linux

PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"


PATHなどの値は、コンソールターミナル(この例ではノートPC)から printenv コマンドで調べておく。


6. 作成したサービスの起動

サービスを起動するコマンド

# systemctl start my-console-blank-enable


状態を確認するのは、以下のコマンド

# systemctl status my-console-blank-enable


エラーがなかったら、以下のコマンドでサービスを自動起動にする

# systemctl enable my-console-blank-enable


エラーが出たら、例えば以下のようにして調べてください。

# journalctl -b | grep myconsoleblank


補足:

上記、「4. サービス定義を登録」における EnviromentFile の記述と作成場所は、/etc/systemd/system/ にある snap.lxd.active.service を参考にしました。また、「5. EnvironmentFile を作成」における PATH の定義記述は、/etc/environment を参考にしました。

以上です。


なお、すべての記事をまとめた★カテゴリーごとの全記事一覧★がありますのでご覧ください。

[ 2020年09月05日 07:30 ] カテゴリ:linux | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL