「起動時に Numlock を有効化」の版間の差分
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを削除) |
||
(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
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