启动脚本在 Debian Squeeze 中不起作用

启动脚本在 Debian Squeeze 中不起作用

在 Debian Sqeeze 中,我创建了一个名为的脚本/etc/init.d/capslock,其中包含以下内容:

#!/bin/sh
echo "Remapping Caps Lock key to Escape"
setkeycodes 0x3a 1
echo " ...done"

我将其设为可执行文件,并将其链接到 /etc/rc2.d/S95capslock。当我从命令行运行它时,它可以工作。但由于某种原因,它在重启时不会启动。我是否遗漏了某个步骤?

答案1

这看起来像一个有用的代码片段,但是当我尝试它时,我收到错误“KDSETKEYCODE:无效参数”。

无论如何,对于 Squeeze,您可能应该使用 insserv 来管理您的初始化脚本。向脚本添加一个标头,如下所示:

### BEGIN INIT INFO
# Provides:       capslock-remap
# Required-Start: $all
# Required-Stop:  
# Default-Start:  2 3 4 5
# Default-Stop:   
# Description:    Remap CapsLock to Escape
### END INIT INFO

然后运行insserv:

insserv capslock

答案2

我使用了命令insserv capslock并且一切开始正常工作。

另外,我需要添加一个 LSB 标头:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          capslock
# Required-Start:    
# Required-Stop:     
# Default-Start:     1 2 3 4 5 6
# Default-Stop:      
# Short-Description: 
# Description:       Remaps Caps Lock key to Escape
### END INIT INFO
setkeycodes 0x3a 1

相关内容