启动时执行脚本

启动时执行脚本

在 debian 的引导或桌面启动过程中启动脚本的最简单方法是什么?

该脚本由一个用于连接 wifi 的命令 (ifup wlan0) 组成,并且需要 root 权限。我的系统是 debian 测试,slim 登录管理器,jwm 作为窗口管理器。

我已经尝试过以下方法:

  1. 使用 systemd 创建 .service 方式。它启动脚本,但在桌面登​​录时将其关闭,无法弄清楚原因。
  2. 在 Jwm 中使用启动命令,但我认为它失败了,因为启动 ifup 需要 root 权限。
  3. 将命令放入 .bashrc 文件中。与上面相同
  4. 将脚本放置在 /etc/rc5.d 目录中。

到目前为止没有任何效果。建议?

答案1

如果其他人需要知道,这就是最终有效的方法。

  1. 创建 /etc/rc.local 文件
  2. 修改它 755
  3. 在 rc.local 文件中我放入:

代码:

#!/bin/sh -e
# This script is executed at the end of each multiuser runlevel

/path/to/my/script  

exit 0

答案2

这对我有用:

cat > /etc/init.d/my-start-script <<EOL
#! /bin/bash
### BEGIN INIT INFO
# Provides:       my-start-script
# Required-Start:    \$local_fs \$syslog
# Required-Stop:     \$local_fs \$syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts my-start-script
# Description:       starts my-start-script using start-stop-daemon
### END INIT INFO

# put your script here

exit 0
EOL
chmod 755 /etc/init.d/my-start-script
update-rc.d my-start-script defaults

您的脚本应该在每次重新启动后运行。后面的评论/bin/bash为必填项update-rc.d

相关内容