xserver启动后运行脚本

我有一个脚本,我很乐意在xserver启动后运行。 该文件位于/home/karl/.scripts/startup/sensei-raw-startup.sh

如何在xserver启动后调用此文件?

最干净的解决方案可能是编写一个新手工作 。 在/etc/init/myjob.conf创建一个文件。 这可能是这样的例子:

 description "My custom upstart job" start on login-session-start task exec /path/to/script.sh 

  • description定义了简短的解释
  • start on语句描述了作业执行的位置。 我想,我们不需要stop on发表声明。
  • task作业是一个运行短时间运行的程序,即一个可能仍需要很长时间才能运行的程序,但它具有明确的生命周期和结束状态。
  • exec是这项工作的主要部分。 注意脚本需要成功的环境变量。 我假设,因为你的脚本必须在X服务器启动后运行,你需要适当的环境变量,如$DISPLAY$XAUTHORITY ,也可能是$DBUS_SESSION_BUS_ADDRESS
  • 如果您遇到问题,请查看/var/log/upstart/myjob.log ,其中您的所有作业输出都会出现。