Ubuntu

Ubuntu22.04 起動時にNumlockオン

日頃サーバにはTera Termで接続しているので、Numlockがオン・オフのどちらでも問題はない。
でも、時々サーバーを直接操作することがあって、その時はちょっと不便。



広告


デスクトップなしの環境

ここで直球の答えを教えてくれていた。
ArchWiki / 起動時に Numlock を有効化

少し手順を改変して…

$ sudo systemctl edit getty@.service
### Editing /etc/systemd/system/getty@.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file

[Service]
ExecStartPost=/bin/sh -c 'setleds +num < /dev/%I'

### Lines below this comment will be discarded

### /lib/systemd/system/getty@.service
# #  SPDX-License-Identifier: LGPL-2.1-or-later
...

※赤文字部分を追加。

編集を終えて保存すると、以下のファイルができあがっている。

$ cat /etc/systemd/system/getty@.service.d/override.conf
[Service]
ExecStartPost=/bin/sh -c 'setleds +num < /dev/%I'

再起動したところHintが表示され、そこに書かれているようにNumlockがオンになっている。

Ubuntu 22.04.03 LTS hogehoge tty1

Hint: Num Lock on

hogehoge login: _

デスクトップありの環境

Ubuntu 22.04.3 LTSのデスクトップ、GNOMEは42.9だった。
デフォルトは、Numlockの状態を覚えておく設定になっていた。

$ gsettings get org.gnome.desktop.peripherals.keyboard remember-numlock-state
true

これがfalseだったら、trueに書き換えればOKかな。
ask ubuntu / how can I set num lock on as the boot default in Ubuntu 20.04

$ gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true

この設定はユーザー単位で覚えている模様。
以下の2つは別々にNumlockの状態を覚える。

  • ログイン画面(gdm)
  • ログイン後のデスクトップ(ログインしたユーザー)

今回、gdmの設定は変更できなかったが、デフォルトがtrueなので割り切り。

あまり使うことはないと思うけれど、tty3とかtty4とかに切り替えてコンソールで操作する場合には、デスクトップなしの節に書いたgetty@.serviceの設定が有効。
ログイン画面とデスクトップは、getty@.serviceの設定は効いているかもしれないけれど、最終的にはGnomeによって制御される。

その他

Gnomeのデフォルト設定変更(断念)

デフォルトの設定ってこれでできたよなーと、過去のメモを頼りに作ってみた。
デフォルトがNumlockの状態を覚えておいて再現する、なので別に問題はないけれど、変更の仕方を確かめようという話。

ディレクトリを作成。

$ sudo mkdir /etc/dconf/db/local.d

設定ファイルを作成。

/etc/dconf/db/local.d/01-numlock

[org/gnome/desktop/peripherals/keyboard]
remember-numlock-state=false

更新。

$ sudo dconf update

再起動したけれども、効果がなかった。

gdmの設定変更(断念)

ログイン画面はgdmというユーザーで表示されているらしい。
じゃあ、gdmの設定ができないだろうか…と。

$ sudo -u gdm gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state false
$ sudo -u gdm gsettings get org.gnome.desktop.peripherals.keyboard remember-numlock-state
true

エラーも何も出ないが、変更ができていない。

状況がよく分からないので、一回このユーザーになってみようと思った。
ask ubuntu / Settings not changing through gsettings command

$ sudo su --shell /bin/bash --login gdm
$ pwd
/var/lib/gdm3

最初はやっぱり何も表示されないままだったけれど、色々とガチャガチャやっているウチに、以下のエラーが出るようになった。

$ gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state false
(process:3603): dconf-WARNING **: 15:24:01.702: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

分からない世界に入って行ってしまった。

numlockx

numlockxというパッケージがあるようだった。
Ubuntu Community Wiki / NumLock

$ sudo apt install numlockx

最初、デスクトップなしの環境にインストールしてみたけれど、最後のxが示すとおり、X11で動くようだ。

デスクトップ版に入っているかというと、そうでもない。

$ numlockx
Command 'numlockx' not found, but can be installed with:
sudo apt install numlockx

Gnomeがちゃんと管理してくれているので、スクリプトとかでNumlockをオン・オフしたい場合にインストールすると良いのかなと。

さいごに

VMwareの場合、BIOS設定にNumlockを有効にする設定があるようだ。ただし、UEFIの場合にはその設定がない。
事情によりUEFIで起動するように設定しがちなので、何か方法はないものかと調べはじめたが、思ったよりも難航してしまった。

まだまだ分かっていないことがいっぱい。

広告

コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他