启动时运行命令

启动时运行命令

我最近遇到了“提醒“在 Linux 中。我几乎立刻就喜欢上了它,但是为了弹出我的提醒,我需要在守护程序模式下运行“remind”。使用以下命令即可轻松完成:

remind -z -k'gmessage %s &' /home/googie/.reminders &

每次启动计算机时手动启动“提醒”守护进程对我来说是很蹩脚的(必须有人提醒我这样做!),所以我想我会让它在启动时自动运行。我的印象是这很容易做到,但我感到惊讶。

我执行了以下操作(按此顺序):

  1. 制作了一个脚本(包含启动、停止、重新启动情况),将其放在 /etc/init.d 中,运行“update-rc.d”为某些运行级别创建一些链接,重新启动 --- 不走运
  2. 制作了一个“remind.conf”文件,将其放置在 /etc/init 中(引用“http://upstart.ubuntu.com/getting-started.html'),重新启动——仍然没有运气
  3. 打开“/etc/rc.local”,在“exit 0”之前放置启动“remind”守护进程的命令,重新启动——仍然没有运气
  4. 打开 crontab (sudo crontab -e),写入“@reboot”,然后在最后一行输入启动“提醒”守护进程的命令,重新启动 --- 仍然没有运气
  5. 打开“系统->首选项->启动应用程序”,添加一个新的启动程序,其中包含启动“提醒”守护进程的命令,重新启动——仍然没有运气
  6. 在我的主目录中创建了一个脚本,将启动“提醒”守护进程的命令放入脚本中,从“/etc/rc.local”调用此脚本,重新启动——仍然没有运气
  7. 在 crontab 中的“@reboot”之后调用我的主目录中的脚本,重新启动---仍然没有运气
  8. 使用“系统->首选项->启动应用程序”调用我的主目录中的脚本——终于成功了,“提醒”守护进程现在运行了!

现在我的 3 个问题:

  1. 在Linux中启动时运行某些东西真的那么复杂,还是只是我缺乏知识?
  2. 尝试步骤 1 和 2 是否值得推荐?我认为这些是用来使某些东西成为服务的。 “提醒”守护进程不也是一个服务吗?
  3. 为什么“/etc/rc.local”或“c​​rontab”方法不起作用?有没有我可以检查的日志来看看出了什么问题?

(任何供我阅读的相关参考文献也将不胜感激)

答案1

1)恐怕是后者。但不要难过,大多数人都会被它绊倒。

2+3) 唯一有机会工作的是 5 和 8。启动脚本和 cron 不知道您的登录会话,因此它们无法指向remindgmessage指向正确的方向。 5 不起作用,因为末尾的 & 符号是 shell 的一个功能,而不是命令。如果该命令作为启动应用程序运行,您可能甚至不需要它。

答案2

~/.xinitrc您可以将此行放入任何 X Window 桌面的启动脚本中。

相关内容