我正在尝试在启动时禁用一个设备。
我已将命令放入/etc/rc.local
文件中(之前exit 0
),但它似乎不起作用。
我的文件如下所示:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo "OK 1" >> /tmp/rclocal_test
xinput disable "N-trig DuoSense"
xinput disable "N-trig DuoSense Pen"
echo "OK 2" >> /tmp/rclocal_test
exit 0
在我的rclocal_test
文件中,我只得到OK 1
。
当我rc.local
在系统启动后从 shell 执行时,它运行正常。
我也尝试将命令放入其中gnome-session-properties
,但是什么也没有发生。
我怀疑这是时间问题(也许我xinput disable
当时无法执行?)。你有什么想法吗?
答案1
答案2
从中man xinput
,我们看到:
NAME
xinput - utility to configure and test X input devices
xinput
只起作用后这用户已经启动 X Window 系统。
所见的环境/etc/rc.local
不包括 X Window 系统。脚本未完成的原因可以通过xinput --list
在 CTRL-ALT-F1 登录中运行来查看:
walt@spong:~(0)$ xinput --list
Unable to connect to X server
walt@spong:~(1)$