起動時に Numlock を有効化
目次
コンソール
Early bootup (mkinitcpio)
initramfs でカーネルが起動した直後に numlock を有効にすることができます。これは、フルディスク暗号化 パスワード入力中でも numlock が確実にオンになる唯一の方法です。 mkinitcpio-numlockAUR をインストールし、/etc/mkinitcpio.conf
HOOKS 配列の encrypt
の前に numlock
mkinitcpio フックを追加します:
/etc/mkinitcpio.conf
... HOOKS=(base udev autodetect keyboard keymap consolefont numlock modconf block encrypt lvm2 filesystems fsck) ...
次に、変更を有効にするために Initramfs を再生成します。
この方法を使用する利点は、numlock 設定が後の起動プロセスでレプリケートされ、新しい仮想コンソールではデフォルトで numlock がオンになることです。
With systemd service
First create a script to set the numlock on relevant TTYs:
/usr/local/bin/numlock
#!/bin/bash for tty in /dev/tty{1..6} do /usr/bin/setleds -D +num < "$tty"; done
Once the script is created, you will need to make it executable. Otherwise the script cannot run.
Then create and enable a systemd service:
/etc/systemd/system/numlock.service
[Unit] Description=numlock [Service] ExecStart=/usr/local/bin/numlock StandardInput=tty RemainAfterExit=yes [Install] WantedBy=multi-user.target
getty@.service
の拡張
新しくサービスを作るのよりシンプルで(特に systemd-198 以降)、かつスクリプト内で VT の数をハードコード(決め打ち)しません。ディレクトリを作成してください:
# mkdir /etc/systemd/system/getty@.service.d
作成したディレクトリに以下のファイルを追加。
activate-numlock.conf
[Service] ExecStartPost=/bin/sh -c 'setleds +num < /dev/%I'
Bash を使う
~/.bash_profile
に setleds -D +num
を追加してください。この方法は、他の方法と違って、ログインするまでは Numlock が有効になりません。
X.org
様々な方法があります。
startx
numlockx パッケージをインストールして numlockx を ~/.xinitrc
ファイルの exec
の前に追加してください:
#!/bin/sh # # ~/.xinitrc # # Executed by startx (run your window manager from here) # numlockx & exec window_manager
KDM
KDM をログインマネージャとして使っているのなら以下を /usr/share/config/kdm/Xsetup
(KDM3 の場合は /opt/kde/share/config/kdm/Xsetup
) に追加してください:
numlockx on
このファイルはアップデート時に上書きされるので注意してください。その際 .pacnew
ファイルは作られません。上書きを防ぐには、次の行を /etc/pacman.conf
ファイルに追加してください (パスの最初のスラッシュは省略します):
NoUpgrade = usr/share/config/kdm/Xsetup
KDE4 ユーザー
システム設定を開いてください。NumLock の挙動を変えるオプションがハードウェア/入力デバイス/キーボードにあります。
他の方法
あるいは、以下の内容で ~/.kde4/Autostart/numlockx
スクリプトを追加してください:
#!/bin/sh numlockx on
そしてスクリプトを実行可能にしてください:
$ chmod +x ~/.kde4/Autostart/numlockx
GDM
まず (extra から) numlockx をインストールしてください。それから以下のコードを /etc/gdm/Init/Default
に追加してください:
if [ -x /usr/bin/numlockx ]; then /usr/bin/numlockx on fi
GNOME
次のコマンドを実行します。
$ gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true
Numlock キーの最後の状態 (無効か有効か) を記憶するには、次のコマンドを使用します。
$ gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true
あるいは、起動スクリプトまたは ~/.profile
に numlockx on
(numlockx から) を追加することもできます。
Xfce
~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml
ファイルの中の、以下の値を true に設定してください:
<property name="Numlock" type="bool" value="true"/> <property name="RestoreNumlock" type="bool" value="true"/>
SDDM
/etc/sddm.conf
ファイルの中の、[General]
セクションの下に以下の行を追加してください:
[General] Numlock=on
SLiM
/etc/slim.conf
ファイルの中の以下の行をアンコメント (#
を削除) してください:
#numlock on
OpenBox
~/.config/openbox/autostart
ファイルに以下の行を加えて下さい:
numlockx &
それからファイルを保存してください。
LightDM
LightDM#NumLock を ON にするを見て下さい。
LXDM
/etc/lxdm/lxdm.conf
ファイルの以下の行をアンコメントして:
#numlock=0
以下のように変更してください:
numlock=1