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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(カテゴリを削除)
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
 
[[Category:ブートプロセス]]
 
[[Category:ブートプロセス]]
[[Category:デスクトップ環境]]
 
 
[[Category:キーボード]]
 
[[Category:キーボード]]
 
[[de:Numlock]]
 
[[de:Numlock]]
11行目: 10行目:
 
== コンソール ==
 
== コンソール ==
   
=== 新しくサービスを作る ===
+
=== Early bootup (mkinitcpio) ===
[[Arch User Repository|AUR]] から {{AUR|systemd-numlockontty}} パッケージを[[Pacman|インストール]]してください。
 
   
  +
[[initramfs]] でカーネルが起動した直後に numlock を有効にすることができます。これは、[[dm-crypt/システム全体の暗号化|フルディスク暗号化]] パスワード入力中でも numlock が確実にオンになる唯一の方法です。 {{AUR|mkinitcpio-numlock}} をインストールし、{{ic|/etc/mkinitcpio.conf}} HOOKS 配列の {{ic|encrypt}} の前に {{ic|numlock}} [[mkinitcpio]] フックを追加します:
そして {{ic|numLockOnTty.service}} デーモンを有効にする必要があります。詳しくは[[デーモン]]を読んで下さい。
 
  +
  +
{{hc|/etc/mkinitcpio.conf|2=
  +
...
  +
HOOKS=(base udev autodetect keyboard keymap consolefont '''numlock''' modconf block encrypt lvm2 filesystems fsck)
  +
...
  +
}}
  +
  +
次に、変更を有効にするために [[Initramfs を再生成する|Initramfs を再生成]]します。
  +
  +
この方法を使用する利点は、numlock 設定が後の起動プロセスでレプリケートされ、新しい仮想コンソールではデフォルトで numlock がオンになることです。
  +
  +
=== With systemd service ===
  +
  +
{{Tip|These steps can be automated by [[install]]ing the {{AUR|systemd-numlockontty}} package and [[enabling]] the {{ic|numLockOnTty}} service.}}
  +
  +
First create a script to set the numlock on relevant TTYs:
  +
  +
{{hc|/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:
  +
  +
{{hc|/etc/systemd/system/numlock.service|2=
  +
[Unit]
  +
Description=numlock
  +
  +
[Service]
  +
ExecStart=/usr/local/bin/numlock
  +
StandardInput=tty
  +
RemainAfterExit=yes
  +
  +
[Install]
  +
WantedBy=multi-user.target
  +
}}
   
 
=== {{ic|getty@.service}} の拡張 ===
 
=== {{ic|getty@.service}} の拡張 ===
89行目: 129行目:
 
=== GNOME ===
 
=== GNOME ===
   
  +
次のコマンドを実行します。
GDM ログインマネージャを使っていない場合は、numlockx を GNOME のスタートアップアプリケーションに加えることができます。
 
   
  +
$ gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true
[[公式リポジトリ]]から {{Pkg|numlockx}} を[[Pacman|インストール]]してください。それから、{{ic|numlockx}} を起動するスタートアップコマンドを追加してください。
 
$ gnome-session-properties
 
   
  +
Numlock キーの最後の状態 (無効か有効か) を記憶するには、次のコマンドを使用します。
上のコマンドで"自動起動するアプリケーションの設定"が開きます。'''''追加'''''をクリックして以下を入力してください:
 
   
  +
$ gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true
{| border="0"
 
| 名前:  || ''Numlockx''
 
|-
 
| コマンド: || ''/usr/bin/numlockx on''
 
|-
 
| 説明:  || ''Turns on numlock.''
 
|}
 
   
  +
あるいは、起動スクリプトまたは {{ic|~/.profile}} に {{ic|numlockx on}} ({{pkg|numlockx}} から) を追加することもできます。
{{note|これはシステム全体の設定ではありません、NumLock を全てのユーザーに適用したいのならユーザーの数だけ繰り返して下さい。}}
 
   
 
=== Xfce ===
 
=== Xfce ===
146行目: 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 を参照。