我有一个简单的目标:保持 NumLock 始终打开
操作系统和德:Linux Mint 17.3 / 18 肉桂
我找到了这个:
所以,我创建了这个小脚本
-rwxr--r-- 1 root root 47 Apr 15 07:50 keep-numlock-on.sh
有内容
#!/bin/bash
xmodmap -e 'keycode 77 = NoSymbol'
我把它添加到sudo crontab -e
像这样
@reboot /home/vlastimil/Development/bash/keep-numlock-on.sh
令我惊讶的是,它在重新启动后不起作用,我不知道为什么。
如果我手动调用脚本就可以了。
任何帮助表示赞赏。
进一步的尝试:
我创建了这个文件~/.config/autostart
-rw-r--r-- 1 vlastimil vlastimil 308 Apr 15 10:00 NumLock.desktop
有内容
[Desktop Entry]
Encoding=UTF-8
Name=Keep NumLock always on
GenericName=Keep NumLock always on
Comment=Keep NumLock always on
Exec=/home/vlastimil/Development/bash/keep-numlock-always-on.sh
Icon=
Terminal=true
Type=Application
Categories=
X-GNOME-Autostart-enabled=true
Hidden=false
X-GNOME-Autostart-Delay=0
同时重命名脚本并更改权限
-rwxrwxrwx 1 vlastimil vlastimil 47 Apr 15 09:56 keep-numlock-always-on.sh
以排除权限问题。
好吧,我不知道我做错了什么,但它仍然不起作用:(
编辑1:
至于评论,我将脚本内容更改为:
#!/bin/bash
/usr/bin/numlockx on
DISPLAY=":0" xmodmap -e 'keycode 77 = NoSymbol'
但没有运气。这真的让我很恼火。请帮忙解决,如果解决了,将奖励50积分。谢谢。
编辑2:
sudoedit /etc/X11/xinit/xinitrc
并将文件的路径放在那里,仍然没有运气。
. /etc/X11/Xsession
/home/vlastimil/Development/bash/keep-numlock-always-on.sh
编辑3:
xmodmap
弄乱了我的键盘映射,使其无法用于此目的。
答案1
我在使用 Xfce 时也遇到了类似的问题:我希望鼠标模拟不会过期。
什么有效:
- 通过自动启动启动脚本(就像你一样)
- 放在
sleep 5s
脚本的开头(如有必要,增加“5s”)
理由:
如果您的脚本在手动启动时有效,那么它是无罪的。因此,桌面环境必须覆盖您的设置,通常它会应用其配置的键盘映射。因此,从crontab
或启动脚本.xinitrc
将不起作用。使用自动启动功能更可靠,但有一个问题:桌面环境会在启动脚本之前还是之后应用其设置?这就是为什么sleep
需要。