「起動時に Numlock を有効化」の版間の差分
(→GNOME: 情報を更新) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを削除) |
||
| (同じ利用者による、間の4版が非表示) | |||
| 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}} の拡張 === |
||
| 139行目: | 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
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