「起動時に Numlock を有効化」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎新しくサービスを作る: 記事を差し替え)
(カテゴリを削除)
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
 
[[Category:ブートプロセス]]
 
[[Category:ブートプロセス]]
[[Category:デスクトップ環境]]
 
 
[[Category:キーボード]]
 
[[Category:キーボード]]
 
[[de:Numlock]]
 
[[de:Numlock]]
13行目: 12行目:
 
=== Early bootup (mkinitcpio) ===
 
=== Early bootup (mkinitcpio) ===
   
  +
[[initramfs]] でカーネルが起動した直後に numlock を有効にすることができます。これは、[[dm-crypt/システム全体の暗号化|フルディスク暗号化]] パスワード入力中でも numlock が確実にオンになる唯一の方法です。 {{AUR|mkinitcpio-numlock}} をインストールし、{{ic|/etc/mkinitcpio.conf}} HOOKS 配列の {{ic|encrypt}} の前に {{ic|numlock}} [[mkinitcpio]] フックを追加します:
You can enable numlock right after the kernel boots in the [[initramfs]]. This is the only way to ensure numlock is on even during [[dm-crypt/Encrypting an entire system|full-disk encryption]] password entry. Install {{AUR|mkinitcpio-numlock}} and add the {{ic|numlock}} [[mkinitcpio]] hook before {{ic|encrypt}} in the {{ic|/etc/mkinitcpio.conf}} HOOKS array:
 
   
 
{{hc|/etc/mkinitcpio.conf|2=
 
{{hc|/etc/mkinitcpio.conf|2=
21行目: 20行目:
 
}}
 
}}
   
  +
次に、変更を有効にするために [[Initramfs を再生成する|Initramfs を再生成]]します。
Then [[regenerate the initramfs]] for the change to take effect.
 
   
  +
この方法を使用する利点は、numlock 設定が後の起動プロセスでレプリケートされ、新しい仮想コンソールではデフォルトで numlock がオンになることです。
An advantage of using this method is that the numlock setting will be replicated in the later boot process, and new virtual consoles will default to having numlock on.
 
   
 
=== With systemd service ===
 
=== With systemd service ===
180行目: 179行目:
   
 
numlock=1
 
numlock=1
  +
  +
== Wayland ==
  +
  +
=== Sway ===
  +
  +
[[Sway#Initially enable CapsLock/NumLock]] を参照。

2023年9月2日 (土) 21:31時点における最新版

コンソール

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

ヒント: These steps can be automated by installing the systemd-numlockonttyAUR package and enabling the numLockOnTty 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'
ノート: このユニットファイルの拡張は systemd-198 からサポートされたものです。古いバージョンでは、デフォルトの getty@.service とスニペットから新しいユニットを作って下さい。詳しくはこのページの revision 250379 を見て下さい。

Bash を使う

~/.bash_profilesetleds -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

あるいは、起動スクリプトまたは ~/.profilenumlockx 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

Wayland

Sway

Sway#Initially enable CapsLock/NumLock を参照。