在启动时禁用设备

在启动时禁用设备

我正在尝试在启动时禁用一个设备。

我已将命令放入/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

这个答案适用于使用 Ubuntu 后续版本的用户。

暂时对于当前会话,您可以

xinput disable "DEVICE NAME"

如果您将其放在启动脚本文件中的任何位置(例如目录中)/etc/init.d,则需要找出正确的点,否则您的命令将在 xinput 启动之前执行,当然 xinput 启动什么也不做。

因此,实现永久效果的最简单方法是

在此处输入图片描述

答案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)$

相关内容