如何阻止 Ubuntu 在启动时改变数字锁定状态?

如何阻止 Ubuntu 在启动时改变数字锁定状态?

在其他操作系统上没有问题。标准 PC 的默认预期行为是:

  • NumLock在 bios 中设置初始状态
  • 在引导加载程序中保持不变
  • 登录屏幕保持不变
  • 它在桌面会话中保持不变,直到你故意地更改。

因此,这似乎是一个问题,在某些“恶意”代码中,它会在启动过程中强制禁用它。问题是:是什么原因造成它的失效?什么二进制文件?或者什么源文件?我是否可以至少在本地从我的机器上删除它,以阻止 UbuntuNumLock在启动时更改状态?

或者也许这是一个调整,如Troubleshooting features> [V] Force disable num lock at boot,偶尔默认启用?

我进行了一些搜索,发现:

  • 官方信息已过时。Ubuntu 18.04 LTS 中的“设置”中没有这样的菜单。
  • 几条线索,这里那里,也没有回答病情所在。
  • 安装和使用numlockx只是个存根。为什么我们需要禁用(最初启用)它NumLock,然后使用其他软件来重新启用它?这样的建议听起来确实像是“概念上错误”的东西。

您能帮忙找出病源在哪里以及如何对抗它吗?

答案1

Ubuntu 20:

所有相同的推理都适用,但具体的键/值已经改变

org.gnome.desktop.peripherals.keyboard remember-numlock-state true
org.gnome.desktop.peripherals.keyboard numlock-state false

答案2

对于 Ubuntu Gnome 18.04+

当您在登录屏幕时,活动用户 ID 为gdm(Gnome Desktop Manager)。要更改该配置文件,请使用您自己的用户 ID 登录并使用:

sudo -i
xhost +SI:localuser:gdm
su gdm -s /bin/bash
gsettings set org.gnome.settings-daemon.peripherals.keyboard numlock-state 'on'
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

更多选择:


对于 Ubuntu Unity 16.04+

安装该程序numlockx

$ sudo apt update && sudo apt install numlockx

$ numlockx -h
NumLockX 1.2
(C) 2000-2001 Lubos Lunak <[email protected]>
(C) 2001      Oswald Buddenhagen <[email protected]>

Usage: numlockx [on|off|toggle|status]
on     - turns NumLock on in X ( default )
off    - turns NumLock off in X
toggle - toggles the NumLock on and off in X
status - gets the NumLock status

下一步是在登录屏幕期间运行它:

$ locate 50-unity-greeter.conf
/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

$ sudo -H gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

在文件底部添加:

greeter-setup-script=/usr/bin/numlockx on

保存文件并再次登录。


当一切都失败时

numlockx按照上面所示安装。然后

$ sudo -H gedit /etc/rc.local

在文件底部添加:

/usr/bin/numlockx on

保存文件并重新启动。

答案3

我实际上是想禁用数字锁定,但这也可能强制启用情况。

numlockx通过运行安装:

sudo apt install numlockx

并设置默认状态/etc/default/numlockx

# Configuration file for numlockx

# State of numlog on start of X session
# Accepts following options:
#  auto - turns numlock on unless ran on laptop
#  on - turns numlock on
#  off - turns numlock off
#  keep - does not change numlock state
#  toggle - toggles numlock state
NUMLOCK=off

虽然这是一种强力手段,但却有效。

相关内容