/etc/init.d 中的脚本不会在启动时运行 (Ubuntu 8.10)

ehs*_*nul 3 ubuntu daemon init.d

我在 Ubuntu 8.10

该脚本在从命令行调用时运行sudo /etc/init.d/xbindkeys start。这是它的外观:

#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
case "$1" in
  start)
    xbindkeys
  ;;
  stop)
    ps aux | grep xbindkeys | head -n1 | awk '{print $2}' | xargs kill
  ;;
  restart)
    $0 stop
    $0 start
  ;;
esac
Run Code Online (Sandbox Code Playgroud)

我之前运行sudo update-rc.d xbindkeys defaults过创建符号链接。为了确保它被正确链接,我尝试了chkconfig | grep xbindkeys,它返回:

xbindkeys                        2345
Run Code Online (Sandbox Code Playgroud)

但是,重新启动后,我没有看到ps aux | grep xbindkeys.

想法?

jos*_*chi 7

xbindkeys需要一个正在运行的 X 服务器才能工作,而这在启动系统的那个阶段是不可用的。您应该添加xbindkeys到您的.xinitrc(请参阅手册页xinit(1))或.Xsession(请参阅手册页Xsession(5))中。