xmodmap我在i3中设置的开机自动启动一直不生效,因为一直忙也没有时间研究。就每次手动启动一下。手动启动总之还是麻烦,忙里偷闲,研究一下。
现象
xmodmap命令设置开启自动启动,无效。
xmodmap ~/.xmodmap
原因分析
xmodmap的启动可能依赖一些程序。比如:图形界面。
具体依赖哪个程序我没有深入研究。
猜测xmodmap
启动的时候会检查xxxxx
程序是否成功启动,如果成功启动了则正常启动,否则启动失败。
解决思考
我写程序的过程中也会遇到类似的问题,网页开发中经常遇到。很多时候延迟加载包致百病。
不管你是在等什么程序加载完成,我直接延迟启动即可。
解决办法
我是在i3中使用的,以下是i3的配置文件,目的就是启动我的自定义脚本xmodkeymap
,其他桌面环境,只要执行启动脚本即可。
#键盘映射开机自启
exec --no-startup-id /home/itkey/.soft/bin/xmodkeymap &
xmodkeymap
脚本内容如下:
#!/bin/sh
/bin/bash -c "sleep 10; /usr/bin/xmodmap /home/itkey/.xmodmap"
/bin/bash -c "sleep 25; /usr/bin/xmodmap /home/itkey/.xmodmap"
第2行是休眠10秒加载,大部分时间已经可以了。后一行休眠25秒,只是一个保险,可以不要。是为了防止某些情况,系统启动过慢导致命令不生效。
这个方法实测对我有效。
参考
https://askubuntu.com/questions/54157/how-do-i-set-xmodmap-on-login