コンテンツにスキップ

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

提供: ArchWiki
削除された内容 追加された内容
1版 をインポートしました
カテゴリを削除
 
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
[[Category:ブートプロセス]]
[[Category:ブートプロセス]]
[[Category:デスクトップ環境]]
[[Category:キーボード]]
[[Category:キーボード]]
[[de:Numlock]]
[[de:Numlock]]
7行目: 6行目:
[[it:Activating Numlock on Bootup]]
[[it:Activating Numlock on Bootup]]
[[ru:Activating Numlock on Bootup]]
[[ru:Activating Numlock on Bootup]]
[[tr:Açılışta numlock etkinleştirme]]
[[tr:Açılışta_numlock_etkinleştirme]]
[[zh-CN:Activating Numlock on Bootup]]
[[zh-hans:Activating Numlock on Bootup]]
== コンソール ==
== コンソール ==


=== 新しくサービスを作る ===
=== 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}} デーモンを有効にする必要があります。詳しくは [[Daemons]] を読んで下さい。

{{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}} の拡張 ===


新しくサービスを作るのよりシンプルで(特に systemd-198 以降)、かつスクリプト内で VT の数をハードコード(決め打ち)しません。
新しくサービスを作るのよりシンプルで(特に systemd-198 以降)、かつスクリプト内で VT の数をハードコード(決め打ち)しません。ディレクトリを作成してください:
ディレクトリを作成してください:


{{bc|# mkdir /etc/systemd/system/getty@.service.d}}
# mkdir /etc/systemd/system/getty@.service.d


作成したディレクトリに以下のファイルを追加。
作成したディレクトリに以下のファイルを追加。
90行目: 129行目:
=== GNOME ===
=== GNOME ===


次のコマンドを実行します。
GDM ログインマネージャを使っていない場合は、numlockx を GNOME のスタートアップアプリケーションに加えることができます。


$ gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true
[[Official Repositories|公式リポジトリ]]から {{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 ===

{{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml}} ファイルの中の、以下の値を true に設定してください:

<property name="Numlock" type="bool" value="true"/>
<property name="RestoreNumlock" type="bool" value="true"/>

=== SDDM ===

{{ic|/etc/sddm.conf}} ファイルの中の、{{ic|[General]}} セクションの下に以下の行を追加してください:

[General]
Numlock=on


=== SLiM ===
=== SLiM ===
120行目: 166行目:


それからファイルを保存してください。
それからファイルを保存してください。

=== LightDM ===
[[LightDM#NumLock を ON にする]]を見て下さい。

=== LXDM ===

{{ic|/etc/lxdm/lxdm.conf}} ファイルの以下の行をアンコメントして:

#numlock=0

以下のように変更してください:

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 を参照。