Activating numlock on bootup (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Activating Numlock on Bootup. Дата последней синхронизации: 13 сентября 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Консоль

Отдельная служба

Совет: Данные шаги можно автоматизировать, установив пакет systemd-numlockonttyAUR и включив службу numLockOnTty.

Для начала создайте скрипт включения Num Lock в необходимых TTY:

/usr/local/bin/numlock
#!/bin/bash

for tty in /dev/tty{1..6}
do
    /usr/bin/setleds -D +num < "$tty";
done

Затем создайте и включите службу systemd:

/etc/systemd/system/numlock.service
[Unit]
Description=numlock

[Service]
ExecStart=/usr/local/bin/numlock
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Расширение [email protected]

Это более простой способ, так как в нём не используется отдельная служба и не привязываются номера определённых виртуальных терминалов. Создайте drop-in сниппет для [email protected], который будет применяться поверх оригинальной службы:

/etc/systemd/system/[email protected]/activate-numlock.conf
[Service]
ExecStartPre=/bin/sh -c 'setleds -D +num < /dev/%I'
Примечание: В случае каких-либо проблем, замените ExecStartPre на ExecStartPost и/или отключите подсказку, как описано ниже.

Чтобы отключить подсказку активации Num Lock на экране входа, отредактируйте [email protected] и добавьте --nohints к аргументам agetty:

[Service]
ExecStart=
ExecStart=-/sbin/agetty '-p -- \\u' --nohints --noclear %I $TERM

Bash

Добавьте setleds -D +num в ~/.bash_profile. Заметьте, что в отличие от других методов, изменения не вступят в силу до входа в аккаунт.

X.org

startx

Установите пакет numlockx и добавьте его в файл ~/.xinitrc перед exec:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#

numlockx &

exec оконный_менеджер

MATE

По умолчанию MATE сохраняет последнее состояние перед выходом и восстанавливает его при следующем входе. Чтобы включать Num Lock при каждом входе, измените следующие значения DCONF:

dconf write org.mate.peripherals-keyboard remember-numlock-state false
dconf write org.mate.peripherals-keyboard numlock-state 'on'

KDE Plasma

Перейдите в Параметры системы > Устройства ввода > Клавиатура и выберите необходимое поведение Num Lock в секции Режим NumLock при запуске Plasma.

GDM

Примечание: GDM больше не выполняет скрипты из /etc/gdm/Init.

Убедитесь, что пакет numlockx установлен, а затем добавьте следующий код в файл ~/.xprofile:

if [ -x /usr/bin/numlockx ]; then
      /usr/bin/numlockx on
fi

GNOME

Если вы не используете экранный менеджер GDM, numlockx можно запускать при загрузке GNOME.

Установите пакет numlockx, а затем добавьте команду запуска numlockx.

$ gnome-session-properties

Данная команда откроет приложение Startup Applications Preferences. Нажмите на Add и введите следующее:

Name: Numlockx
Command: /usr/bin/numlockx on
Comment: Turns on numlock.
Примечание: Это не общесистемная настройка, соответственно данную процедуру необходимо повторить для каждого пользователя, которому необходимо включать Num Lock после входа.

Xfce

Убедитесь, что следующим параметрам задано значение true в файле ~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml:

<property name="Numlock" type="bool" value="true"/>
<property name="RestoreNumlock" type="bool" value="true"/>
Примечание: Если файл не существует, откройте Настройки > Клавиатура, а затем проверьте и снимите галочку с опции Restore num lock state on startup, что создаст файл keyboards.xml.

SDDM

Задайте параметру Numlock значение on в секции [General] файла /etc/sddm.conf:

[General]
...
Numlock=on

SLiM

Найдите следующую строку в файле /etc/slim.conf и раскомментируйте её (уберите символ #):

#numlock             on

OpenBox

Добавьте следующую строку в файл ~/.config/openbox/autostart:

numlockx &

А затем сохраните файл.

LightDM

См. раздел LightDM (Русский)#NumLock включен по умолчанию.

LXDM

Задайте следующий параметр в файле /etc/lxdm/lxdm.conf:

numlock=1

LXQt

Задайте следующий параметр в файле ~/.config/lxqt/session.conf:

[Keyboard]
numlock=true